drizzle-cube 0.9.0 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (287) hide show
  1. package/dist/adapters/ActivityGridChart.config-BIHNNXe8.cjs +1 -0
  2. package/dist/adapters/ActivityGridChart.config-D8brFtkU.js +2 -0
  3. package/dist/adapters/AreaChart.config-BjBnqhrD.js +2 -0
  4. package/dist/adapters/AreaChart.config-hCYHwAaC.cjs +1 -0
  5. package/dist/adapters/BarChart.config-JWskLg7a.js +2 -0
  6. package/dist/adapters/BarChart.config-ldUoUV-V.cjs +1 -0
  7. package/dist/adapters/BoxPlotChart.config-DXgi-pWk.js +2 -0
  8. package/dist/adapters/BoxPlotChart.config-t7CU_SEB.cjs +1 -0
  9. package/dist/adapters/BubbleChart.config-BqNbgcs4.js +2 -0
  10. package/dist/adapters/BubbleChart.config-SRbrJWj2.cjs +1 -0
  11. package/dist/adapters/CandlestickChart.config-CTqj07at.cjs +1 -0
  12. package/dist/adapters/CandlestickChart.config-D-KaQpN1.js +2 -0
  13. package/dist/adapters/DataTable.config-4QtzEm2K.js +2 -0
  14. package/dist/adapters/DataTable.config-C4OZyZKL.cjs +1 -0
  15. package/dist/adapters/DotStripChart.config-CrwF5K67.cjs +1 -0
  16. package/dist/adapters/DotStripChart.config-tmdykLsT.js +2 -0
  17. package/dist/adapters/FunnelChart.config-Dk7bb3KU.cjs +1 -0
  18. package/dist/adapters/FunnelChart.config-Uah6h6t6.js +2 -0
  19. package/dist/adapters/GaugeChart.config-BGi82n3v.cjs +1 -0
  20. package/dist/adapters/GaugeChart.config-DIWl6xVG.js +2 -0
  21. package/dist/adapters/HeatMapChart.config-C1Wl6SHf.js +2 -0
  22. package/dist/adapters/HeatMapChart.config-CsA67rfc.cjs +1 -0
  23. package/dist/adapters/KpiDelta.config-CBo61Kp9.cjs +1 -0
  24. package/dist/adapters/KpiDelta.config-CgYK9zIF.js +2 -0
  25. package/dist/adapters/KpiNumber.config-BqQjoY4A.cjs +1 -0
  26. package/dist/adapters/KpiNumber.config-Dt8kOvIA.js +2 -0
  27. package/dist/adapters/KpiText.config-BE8HbXQ0.js +2 -0
  28. package/dist/adapters/KpiText.config-DaSbcfKE.cjs +1 -0
  29. package/dist/adapters/LineChart.config-CUPtbHNz.cjs +1 -0
  30. package/dist/adapters/LineChart.config-DHlctcYT.js +2 -0
  31. package/dist/adapters/MarkdownChart.config-B0T5A7dw.js +2 -0
  32. package/dist/adapters/MarkdownChart.config-iV60Icd3.cjs +1 -0
  33. package/dist/adapters/MeasureProfileChart.config-CBCezRPr.cjs +1 -0
  34. package/dist/adapters/MeasureProfileChart.config-CO9Cc3Ha.js +2 -0
  35. package/dist/adapters/PieChart.config-D6Ofc2h-.js +2 -0
  36. package/dist/adapters/PieChart.config-TOCX24yj.cjs +1 -0
  37. package/dist/adapters/ProportionBarChart.config-BfiCmXI7.js +2 -0
  38. package/dist/adapters/ProportionBarChart.config-Bh8_aieC.cjs +1 -0
  39. package/dist/adapters/RadarChart.config-BfWKUYv4.cjs +1 -0
  40. package/dist/adapters/RadarChart.config-x87UPfQH.js +2 -0
  41. package/dist/adapters/RadialBarChart.config-BGA-fVmo.js +2 -0
  42. package/dist/adapters/RadialBarChart.config-Bo3E1IWc.cjs +1 -0
  43. package/dist/adapters/RecordsTable.config-CKb4xY0c.cjs +1 -0
  44. package/dist/adapters/RecordsTable.config-KsPOo8YB.js +2 -0
  45. package/dist/adapters/RetentionCombinedChart.config-DVDQBMW8.js +2 -0
  46. package/dist/adapters/RetentionCombinedChart.config-DqfOBn6k.cjs +1 -0
  47. package/dist/adapters/RetentionHeatmap.config-B7NVTM5_.cjs +1 -0
  48. package/dist/adapters/RetentionHeatmap.config-tnd7N7g-.js +2 -0
  49. package/dist/adapters/SankeyChart.config-B1K4e0RA.js +2 -0
  50. package/dist/adapters/SankeyChart.config-I26Q_e5f.cjs +1 -0
  51. package/dist/adapters/ScatterChart.config-CMta6GGl.cjs +1 -0
  52. package/dist/adapters/ScatterChart.config-WwER0vgC.js +2 -0
  53. package/dist/adapters/SunburstChart.config-CBYye6Ez.js +2 -0
  54. package/dist/adapters/SunburstChart.config-DbC1AZCI.cjs +1 -0
  55. package/dist/adapters/TreeMapChart.config-EcJf0Dzm.cjs +1 -0
  56. package/dist/adapters/TreeMapChart.config-wNJWipDf.js +2 -0
  57. package/dist/adapters/WaterfallChart.config--d2EuVF-.cjs +1 -0
  58. package/dist/adapters/WaterfallChart.config-CPJLjH4K.js +2 -0
  59. package/dist/adapters/{compiler-SBDjxyQ3.js → compiler-B4tLaYye.js} +10 -10
  60. package/dist/adapters/{compiler-BdVMQ3Xj.cjs → compiler-BYm93X_G.cjs} +5 -5
  61. package/dist/adapters/core/index.cjs +1 -1
  62. package/dist/adapters/core/index.js +1 -1
  63. package/dist/adapters/{core-CSt8MGbw.cjs → core-BQEJzwTJ.cjs} +1 -1
  64. package/dist/adapters/{core-CXrxqh7l.js → core-CVDf8WNs.js} +2 -2
  65. package/dist/adapters/express/index.cjs +1 -1
  66. package/dist/adapters/express/index.js +5 -5
  67. package/dist/adapters/fastify/index.cjs +1 -1
  68. package/dist/adapters/fastify/index.js +5 -5
  69. package/dist/adapters/{handler-Cppe-aqH.js → handler-Ck2X85KS.js} +170 -151
  70. package/dist/adapters/handler-MFn_eVcJ.cjs +16 -0
  71. package/dist/adapters/hono/index.cjs +1 -1
  72. package/dist/adapters/hono/index.js +4 -4
  73. package/dist/adapters/mcp-app-html-V1nZOil3.cjs +1 -0
  74. package/dist/adapters/mcp-app-html-sD7j035f.js +5 -0
  75. package/dist/adapters/mcp-app-html.cjs +1 -0
  76. package/dist/adapters/mcp-app-html.d.ts +25 -0
  77. package/dist/adapters/mcp-app-html.js +2 -0
  78. package/dist/adapters/mcp-tools.cjs +1 -1
  79. package/dist/adapters/mcp-tools.js +21 -20
  80. package/dist/adapters/mcp-transport-BQxL1h2h.cjs +42 -0
  81. package/dist/adapters/mcp-transport-yJDy3T6W.js +758 -0
  82. package/dist/adapters/mcp-transport.d.ts +19 -2
  83. package/dist/adapters/nextjs/index.cjs +1 -1
  84. package/dist/adapters/nextjs/index.js +5 -5
  85. package/dist/adapters/{openai-BIoIunc7.js → openai-B7EVH3cl.js} +2578 -1797
  86. package/dist/adapters/openai-BkD4iuG8.cjs +19 -0
  87. package/dist/adapters/{openai-62sEF0Ev.js → openai-DRFOtBUU.js} +1 -1
  88. package/dist/adapters/{openai-CaxNY6TC.cjs → openai-FjvP4Mek.cjs} +1 -1
  89. package/dist/adapters/{utils-C_RKaP0n.js → utils-BY3FDOmN.js} +8 -1
  90. package/dist/adapters/utils-BkdzL4m9.cjs +132 -0
  91. package/dist/adapters/utils.cjs +1 -1
  92. package/dist/adapters/utils.js +1 -1
  93. package/dist/cjs/adapters/mcp-app-html.d.ts +25 -0
  94. package/dist/cjs/adapters/mcp-transport.d.ts +19 -2
  95. package/dist/cjs/client/charts/chartConfigs.d.ts +34 -0
  96. package/dist/cjs/client/components/AnalysisBuilder/AnalysisChartConfigPanel.d.ts +10 -2
  97. package/dist/cjs/client/components/AnalysisBuilder/TemplateEditor.d.ts +17 -0
  98. package/dist/cjs/client/components/AnalysisBuilder/templateSyntax.d.ts +26 -0
  99. package/dist/cjs/client/components/analyticsPortlet/parsePortletQuery.d.ts +12 -0
  100. package/dist/cjs/client/components/analyticsPortlet/portletRenderState.d.ts +7 -0
  101. package/dist/cjs/client/components/charts/MarkdownChart.d.ts +1 -1
  102. package/dist/cjs/client/components/charts/MarkdownChart.helpers.d.ts +156 -0
  103. package/dist/cjs/client/components/charts/markdownTemplate.d.ts +92 -0
  104. package/dist/client/charts/chartConfigs.d.ts +34 -0
  105. package/dist/client/charts.js +12 -12
  106. package/dist/client/chunks/{DashboardEditModal-DjMGNTUa.js → DashboardEditModal-B8zIH0ja.js} +2529 -2368
  107. package/dist/client/chunks/DashboardEditModal-B8zIH0ja.js.map +1 -0
  108. package/dist/client/chunks/{DotStripChart-EEtJyV1v.js → DotStripChart-BCgHGY0s.js} +4 -4
  109. package/dist/client/chunks/{DotStripChart-EEtJyV1v.js.map → DotStripChart-BCgHGY0s.js.map} +1 -1
  110. package/dist/client/chunks/{ProportionBarChart-3r7ZPX-V.js → ProportionBarChart-DzdKxzr4.js} +3 -3
  111. package/dist/client/chunks/{ProportionBarChart-3r7ZPX-V.js.map → ProportionBarChart-DzdKxzr4.js.map} +1 -1
  112. package/dist/client/chunks/{RecordsTable-DvMXV6F6.js → RecordsTable-kQfZ25Pz.js} +4 -4
  113. package/dist/client/chunks/{RecordsTable-DvMXV6F6.js.map → RecordsTable-kQfZ25Pz.js.map} +1 -1
  114. package/dist/client/chunks/{RetentionCombinedChart-DbxB86fj.js → RetentionCombinedChart-CvddCEOk.js} +3 -3
  115. package/dist/client/chunks/{RetentionCombinedChart-DbxB86fj.js.map → RetentionCombinedChart-CvddCEOk.js.map} +1 -1
  116. package/dist/client/chunks/{RetentionHeatmap-CE3rxhAU.js → RetentionHeatmap-BURt-mfm.js} +2 -2
  117. package/dist/client/chunks/{RetentionHeatmap-CE3rxhAU.js.map → RetentionHeatmap-BURt-mfm.js.map} +1 -1
  118. package/dist/client/chunks/{analysis-builder-lQk_qJBQ.js → analysis-builder-C0hzThmQ.js} +1688 -1675
  119. package/dist/client/chunks/{analysis-builder-lQk_qJBQ.js.map → analysis-builder-C0hzThmQ.js.map} +1 -1
  120. package/dist/client/chunks/{analysis-builder-shared-C_pLSXJR.js → analysis-builder-shared-CQFcY6vA.js} +476 -476
  121. package/dist/client/chunks/{analysis-builder-shared-C_pLSXJR.js.map → analysis-builder-shared-CQFcY6vA.js.map} +1 -1
  122. package/dist/client/chunks/{chart-activity-grid-UZIp9_2E.js → chart-activity-grid-aIyjUpbJ.js} +9 -2
  123. package/dist/client/chunks/chart-activity-grid-aIyjUpbJ.js.map +1 -0
  124. package/dist/client/chunks/{chart-area-CEBcvCcn.js → chart-area-DCCvp06H.js} +3 -3
  125. package/dist/client/chunks/{chart-area-CEBcvCcn.js.map → chart-area-DCCvp06H.js.map} +1 -1
  126. package/dist/client/chunks/{chart-bar-DGh7cpU-.js → chart-bar-C8xQ15Aa.js} +3 -3
  127. package/dist/client/chunks/{chart-bar-DGh7cpU-.js.map → chart-bar-C8xQ15Aa.js.map} +1 -1
  128. package/dist/client/chunks/{chart-box-plot-CeqoKPFa.js → chart-box-plot-DFMjBoL1.js} +2 -2
  129. package/dist/client/chunks/{chart-box-plot-CeqoKPFa.js.map → chart-box-plot-DFMjBoL1.js.map} +1 -1
  130. package/dist/client/chunks/{chart-bubble-8uH_JKNt.js → chart-bubble-CavhSOT8.js} +2 -2
  131. package/dist/client/chunks/{chart-bubble-8uH_JKNt.js.map → chart-bubble-CavhSOT8.js.map} +1 -1
  132. package/dist/client/chunks/{chart-candlestick-DogklMg1.js → chart-candlestick-BlJ6l-0-.js} +2 -2
  133. package/dist/client/chunks/{chart-candlestick-DogklMg1.js.map → chart-candlestick-BlJ6l-0-.js.map} +1 -1
  134. package/dist/client/chunks/{chart-config-markdown-C5kBQOjP.js → chart-config-markdown-CK8PAWUg.js} +8 -3
  135. package/dist/client/chunks/chart-config-markdown-CK8PAWUg.js.map +1 -0
  136. package/dist/client/chunks/{chart-data-table-CCvvgeG_.js → chart-data-table-Dfup1JpL.js} +426 -423
  137. package/dist/client/chunks/chart-data-table-Dfup1JpL.js.map +1 -0
  138. package/dist/client/chunks/{chart-funnel-D2vGQhaz.js → chart-funnel-DqBD-oth.js} +2 -2
  139. package/dist/client/chunks/{chart-funnel-D2vGQhaz.js.map → chart-funnel-DqBD-oth.js.map} +1 -1
  140. package/dist/client/chunks/{chart-gauge-DbU0rxqv.js → chart-gauge-Tr9BRoTo.js} +3 -3
  141. package/dist/client/chunks/{chart-gauge-DbU0rxqv.js.map → chart-gauge-Tr9BRoTo.js.map} +1 -1
  142. package/dist/client/chunks/{chart-heat-map-x6aQq91x.js → chart-heat-map-V200X1EP.js} +3 -3
  143. package/dist/client/chunks/{chart-heat-map-x6aQq91x.js.map → chart-heat-map-V200X1EP.js.map} +1 -1
  144. package/dist/client/chunks/{chart-kpi-delta-B2-m16QC.js → chart-kpi-delta-DuXkAxKV.js} +3 -3
  145. package/dist/client/chunks/{chart-kpi-delta-B2-m16QC.js.map → chart-kpi-delta-DuXkAxKV.js.map} +1 -1
  146. package/dist/client/chunks/{chart-kpi-number-DggvlYT_.js → chart-kpi-number-CzRaT5KF.js} +5 -5
  147. package/dist/client/chunks/{chart-kpi-number-DggvlYT_.js.map → chart-kpi-number-CzRaT5KF.js.map} +1 -1
  148. package/dist/client/chunks/{chart-kpi-text-BFy-m1NP.js → chart-kpi-text-DxMl_C7M.js} +3 -3
  149. package/dist/client/chunks/{chart-kpi-text-BFy-m1NP.js.map → chart-kpi-text-DxMl_C7M.js.map} +1 -1
  150. package/dist/client/chunks/{chart-line-C4r44HWi.js → chart-line-rl9q-vom.js} +3 -3
  151. package/dist/client/chunks/{chart-line-C4r44HWi.js.map → chart-line-rl9q-vom.js.map} +1 -1
  152. package/dist/client/chunks/chart-markdown-DJq7fXKF.js +8622 -0
  153. package/dist/client/chunks/chart-markdown-DJq7fXKF.js.map +1 -0
  154. package/dist/client/chunks/{chart-measure-profile-Dc-d82kF.js → chart-measure-profile-BDpkr55p.js} +3 -3
  155. package/dist/client/chunks/{chart-measure-profile-Dc-d82kF.js.map → chart-measure-profile-BDpkr55p.js.map} +1 -1
  156. package/dist/client/chunks/{chart-pie-BHrPxga2.js → chart-pie-W4Mk0WFB.js} +3 -3
  157. package/dist/client/chunks/{chart-pie-BHrPxga2.js.map → chart-pie-W4Mk0WFB.js.map} +1 -1
  158. package/dist/client/chunks/{chart-radar-I9sOFbG5.js → chart-radar-BXkMOUVC.js} +3 -3
  159. package/dist/client/chunks/{chart-radar-I9sOFbG5.js.map → chart-radar-BXkMOUVC.js.map} +1 -1
  160. package/dist/client/chunks/{chart-radial-bar-DeDMMf9P.js → chart-radial-bar-CSw1hCK2.js} +3 -3
  161. package/dist/client/chunks/{chart-radial-bar-DeDMMf9P.js.map → chart-radial-bar-CSw1hCK2.js.map} +1 -1
  162. package/dist/client/chunks/{chart-sankey-1qB7yWHq.js → chart-sankey-CXG8SeW3.js} +2 -2
  163. package/dist/client/chunks/{chart-sankey-1qB7yWHq.js.map → chart-sankey-CXG8SeW3.js.map} +1 -1
  164. package/dist/client/chunks/{chart-scatter-BHttSxcc.js → chart-scatter-BHp1yLvR.js} +3 -3
  165. package/dist/client/chunks/{chart-scatter-BHttSxcc.js.map → chart-scatter-BHp1yLvR.js.map} +1 -1
  166. package/dist/client/chunks/{chart-sunburst-Cmzol8kR.js → chart-sunburst-CHgQCRCz.js} +3 -3
  167. package/dist/client/chunks/{chart-sunburst-Cmzol8kR.js.map → chart-sunburst-CHgQCRCz.js.map} +1 -1
  168. package/dist/client/chunks/{chart-tree-map-CdSwr_zI.js → chart-tree-map-YBAOj00L.js} +3 -3
  169. package/dist/client/chunks/{chart-tree-map-CdSwr_zI.js.map → chart-tree-map-YBAOj00L.js.map} +1 -1
  170. package/dist/client/chunks/{chart-waterfall-BN3B5luW.js → chart-waterfall-CSQ3xvUJ.js} +3 -3
  171. package/dist/client/chunks/{chart-waterfall-BN3B5luW.js.map → chart-waterfall-CSQ3xvUJ.js.map} +1 -1
  172. package/dist/client/chunks/{charts-core-DIneMirc.js → charts-core-ghjDtt0_.js} +2 -2
  173. package/dist/client/chunks/{charts-core-DIneMirc.js.map → charts-core-ghjDtt0_.js.map} +1 -1
  174. package/dist/client/chunks/charts-loader-B_ye_C5_.js +87 -0
  175. package/dist/client/chunks/{charts-loader-OHpTBq8c.js.map → charts-loader-B_ye_C5_.js.map} +1 -1
  176. package/dist/client/chunks/{dist-BPmPx7kz.js → dist-COqN0-Yj.js} +4 -4
  177. package/dist/client/chunks/{dist-BPmPx7kz.js.map → dist-COqN0-Yj.js.map} +1 -1
  178. package/dist/client/chunks/{exceljs.min-CiByP8VQ.js → exceljs.min-CdNVdwM3.js} +8 -11
  179. package/dist/client/chunks/{exceljs.min-CiByP8VQ.js.map → exceljs.min-CdNVdwM3.js.map} +1 -1
  180. package/dist/client/chunks/{nl-NL-dk-kC0sL.js → nl-NL-CKdVNqSp.js} +8 -1
  181. package/dist/client/chunks/nl-NL-CKdVNqSp.js.map +1 -0
  182. package/dist/client/chunks/{schema-visualization-PYa578pV.js → schema-visualization-txYCG4v5.js} +4 -4
  183. package/dist/client/chunks/{schema-visualization-PYa578pV.js.map → schema-visualization-txYCG4v5.js.map} +1 -1
  184. package/dist/client/chunks/{useDirtyStateTracking-BQupC3wJ.js → useDirtyStateTracking-BUk23Wbh.js} +6 -6
  185. package/dist/client/chunks/{useDirtyStateTracking-BQupC3wJ.js.map → useDirtyStateTracking-BUk23Wbh.js.map} +1 -1
  186. package/dist/client/chunks/{useExplainAI-DORnTynt.js → useExplainAI-CGLroDBD.js} +5 -5
  187. package/dist/client/chunks/{useExplainAI-DORnTynt.js.map → useExplainAI-CGLroDBD.js.map} +1 -1
  188. package/dist/client/chunks/{vendor-DDo8nSGP.js → vendor-CApRxi77.js} +5 -6
  189. package/dist/client/chunks/{vendor-DDo8nSGP.js.map → vendor-CApRxi77.js.map} +1 -1
  190. package/dist/client/components/AnalysisBuilder/AnalysisChartConfigPanel.d.ts +10 -2
  191. package/dist/client/components/AnalysisBuilder/TemplateEditor.d.ts +17 -0
  192. package/dist/client/components/AnalysisBuilder/templateSyntax.d.ts +26 -0
  193. package/dist/client/components/analyticsPortlet/parsePortletQuery.d.ts +12 -0
  194. package/dist/client/components/analyticsPortlet/portletRenderState.d.ts +7 -0
  195. package/dist/client/components/charts/MarkdownChart.d.ts +1 -1
  196. package/dist/client/components/charts/MarkdownChart.helpers.d.ts +156 -0
  197. package/dist/client/components/charts/markdownTemplate.d.ts +92 -0
  198. package/dist/client/components.js +2 -2
  199. package/dist/client/hooks.js +3 -3
  200. package/dist/client/icons.js +1 -1
  201. package/dist/client/index.js +409 -409
  202. package/dist/client/index.js.map +1 -1
  203. package/dist/client/providers.js +1 -1
  204. package/dist/client/schema.js +1 -1
  205. package/dist/client/styles.css +1 -1
  206. package/dist/client/utils.js +4 -4
  207. package/dist/client-bundle-stats.html +1 -1
  208. package/dist/mcp-app/mcp-app.html +190 -132
  209. package/dist/server/index.cjs +17 -23
  210. package/dist/server/index.js +176 -147
  211. package/dist/server/openai-BWGYfr6Z.cjs +19 -0
  212. package/dist/server/{openai-nBhuSFd3.js → openai-Cap1nBuK.js} +1 -1
  213. package/dist/server/{openai-C1gLuR-0.js → openai-DW5TRMXE.js} +2577 -1796
  214. package/dist/server/{openai-rF50ZEiR.cjs → openai-G2EivP-n.cjs} +1 -1
  215. package/package.json +14 -3
  216. package/dist/adapters/ActivityGridChart.config-DfyZh3He.js +0 -2
  217. package/dist/adapters/ActivityGridChart.config-DgOwl51m.cjs +0 -1
  218. package/dist/adapters/AreaChart.config-BL_ZpMsg.js +0 -2
  219. package/dist/adapters/AreaChart.config-rc1phjmI.cjs +0 -1
  220. package/dist/adapters/BarChart.config-C6k4BxhM.cjs +0 -1
  221. package/dist/adapters/BarChart.config-CBACR7Z-.js +0 -2
  222. package/dist/adapters/BoxPlotChart.config-Bvg6yFn2.js +0 -2
  223. package/dist/adapters/BoxPlotChart.config-CAlLRM0v.cjs +0 -1
  224. package/dist/adapters/BubbleChart.config-22qXNskY.js +0 -2
  225. package/dist/adapters/BubbleChart.config-BkB3P6Bi.cjs +0 -1
  226. package/dist/adapters/CandlestickChart.config-DuZb-y6d.cjs +0 -1
  227. package/dist/adapters/CandlestickChart.config-G78UbuwS.js +0 -2
  228. package/dist/adapters/DataTable.config-BXkpzOC2.js +0 -2
  229. package/dist/adapters/DataTable.config-CwPlSht6.cjs +0 -1
  230. package/dist/adapters/DotStripChart.config-Bw9Ww5zY.cjs +0 -1
  231. package/dist/adapters/DotStripChart.config-D5sbLAqA.js +0 -2
  232. package/dist/adapters/FunnelChart.config-CUs1rqN2.cjs +0 -1
  233. package/dist/adapters/FunnelChart.config-Cw9qrC2C.js +0 -2
  234. package/dist/adapters/GaugeChart.config-CjGtJVoO.cjs +0 -1
  235. package/dist/adapters/GaugeChart.config-F5SA5Oi3.js +0 -2
  236. package/dist/adapters/HeatMapChart.config-CvgmSiuY.cjs +0 -1
  237. package/dist/adapters/HeatMapChart.config-DrvQrPHT.js +0 -2
  238. package/dist/adapters/KpiDelta.config-B-UJWdJ5.cjs +0 -1
  239. package/dist/adapters/KpiDelta.config-C00mTZYy.js +0 -2
  240. package/dist/adapters/KpiNumber.config-CB0kTeoV.cjs +0 -1
  241. package/dist/adapters/KpiNumber.config-D3CogH8j.js +0 -2
  242. package/dist/adapters/KpiText.config-B0LbKRCf.js +0 -2
  243. package/dist/adapters/KpiText.config-Dv4TNprC.cjs +0 -1
  244. package/dist/adapters/LineChart.config-CdONxSLL.js +0 -2
  245. package/dist/adapters/LineChart.config-DBHsfIYG.cjs +0 -1
  246. package/dist/adapters/MarkdownChart.config-AYKXdpuw.cjs +0 -1
  247. package/dist/adapters/MarkdownChart.config-CngxD_Lc.js +0 -2
  248. package/dist/adapters/MeasureProfileChart.config-B0a5sUk6.cjs +0 -1
  249. package/dist/adapters/MeasureProfileChart.config-ByW5F1Ey.js +0 -2
  250. package/dist/adapters/PieChart.config-Csx1ctk4.js +0 -2
  251. package/dist/adapters/PieChart.config-Dfw66Xab.cjs +0 -1
  252. package/dist/adapters/ProportionBarChart.config-BaeYznc1.cjs +0 -1
  253. package/dist/adapters/ProportionBarChart.config-DCOizSVs.js +0 -2
  254. package/dist/adapters/RadarChart.config-AxQh97rB.js +0 -2
  255. package/dist/adapters/RadarChart.config-BjP-zEGW.cjs +0 -1
  256. package/dist/adapters/RadialBarChart.config-D5EwyJ0G.cjs +0 -1
  257. package/dist/adapters/RadialBarChart.config-DMaEJYM_.js +0 -2
  258. package/dist/adapters/RecordsTable.config-BdN0kZ8b.js +0 -2
  259. package/dist/adapters/RecordsTable.config-CWRvGDbi.cjs +0 -1
  260. package/dist/adapters/RetentionCombinedChart.config-BpciOTeX.cjs +0 -1
  261. package/dist/adapters/RetentionCombinedChart.config-CY8TDzuy.js +0 -2
  262. package/dist/adapters/RetentionHeatmap.config-BZPRoVpF.cjs +0 -1
  263. package/dist/adapters/RetentionHeatmap.config-YMZt-u-T.js +0 -2
  264. package/dist/adapters/SankeyChart.config-BdSA-Jlp.cjs +0 -1
  265. package/dist/adapters/SankeyChart.config-Dlgi5_DA.js +0 -2
  266. package/dist/adapters/ScatterChart.config-VJ0xG0Ak.cjs +0 -1
  267. package/dist/adapters/ScatterChart.config-oOd1Jplx.js +0 -2
  268. package/dist/adapters/SunburstChart.config-Cllhyjy4.js +0 -2
  269. package/dist/adapters/SunburstChart.config-DU11BAei.cjs +0 -1
  270. package/dist/adapters/TreeMapChart.config--EB8bQTo.js +0 -2
  271. package/dist/adapters/TreeMapChart.config-BPmMLBH1.cjs +0 -1
  272. package/dist/adapters/WaterfallChart.config-E99Fl6uM.cjs +0 -1
  273. package/dist/adapters/WaterfallChart.config-xz3DaoMQ.js +0 -2
  274. package/dist/adapters/handler-_u5krbOj.cjs +0 -26
  275. package/dist/adapters/mcp-transport-CpF7usmR.js +0 -754
  276. package/dist/adapters/mcp-transport-DXIfb0p-.cjs +0 -42
  277. package/dist/adapters/openai-EBTQKJnV.cjs +0 -19
  278. package/dist/adapters/utils-DXWQUJbD.cjs +0 -128
  279. package/dist/client/chunks/DashboardEditModal-DjMGNTUa.js.map +0 -1
  280. package/dist/client/chunks/chart-activity-grid-UZIp9_2E.js.map +0 -1
  281. package/dist/client/chunks/chart-config-markdown-C5kBQOjP.js.map +0 -1
  282. package/dist/client/chunks/chart-data-table-CCvvgeG_.js.map +0 -1
  283. package/dist/client/chunks/chart-markdown-b0qPZ617.js +0 -3926
  284. package/dist/client/chunks/chart-markdown-b0qPZ617.js.map +0 -1
  285. package/dist/client/chunks/charts-loader-OHpTBq8c.js +0 -87
  286. package/dist/client/chunks/nl-NL-dk-kC0sL.js.map +0 -1
  287. package/dist/server/openai-BmADmD1e.cjs +0 -19
@@ -1,31 +1,31 @@
1
- import { a as e, n as t, o as n, r, s as i } from "./chunks/vendor-DDo8nSGP.js";
1
+ import { a as e, n as t, o as n, r, s as i } from "./chunks/vendor-CApRxi77.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-CCvvgeG_.js";
4
- import { n as N, r as P } from "./chunks/chart-sankey-1qB7yWHq.js";
5
- import { $ as F, A as ee, B as I, D as te, E as ne, F as L, G as re, H as ie, I as ae, J as oe, K as se, L as ce, M as le, N as ue, O as de, P as fe, Q as pe, R as me, St as he, U as ge, V as _e, W as ve, X as ye, Y as be, Z as xe, _t as Se, a as Ce, at as we, bt as Te, c as Ee, ct as De, dt as Oe, et as ke, f as Ae, ft as je, gt as Me, h as Ne, ht as Pe, i as Fe, it as Ie, k as Le, lt as Re, m as ze, mt as Be, n as Ve, o as He, ot as Ue, p as We, pt as Ge, q as Ke, r as qe, st as Je, t as Ye, ut as Xe, v as Ze, vt as Qe, w as $e, xt as et, yt as tt, z as nt } from "./chunks/DashboardEditModal-DjMGNTUa.js";
6
- import { S as rt, _ as it, b as at, c as ot, d as st, f as ct, g as lt, h as ut, l as dt, m as ft, o as pt, p as mt, s as ht, v as gt, y as _t } from "./chunks/useDirtyStateTracking-BQupC3wJ.js";
7
- import { B as vt, F as R, S as yt, _ as bt, b as xt, g as St, h as Ct, m as wt, p as Tt, v as Et, x as Dt, y as Ot } from "./chunks/chart-activity-grid-UZIp9_2E.js";
8
- import { a as kt, i as At, n as jt, o as Mt, r as Nt, t as Pt } from "./chunks/useExplainAI-DORnTynt.js";
9
- import { a as Ft, c as It, i as Lt, l as Rt, o as zt, r as Bt, s as Vt } from "./chunks/chart-funnel-D2vGQhaz.js";
10
- import { a as Ht, i as Ut, n as Wt, o as Gt, r as Kt, s as qt, t as Jt } from "./chunks/charts-loader-OHpTBq8c.js";
11
- import { H as z } from "./chunks/chart-area-CEBcvCcn.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-Dfup1JpL.js";
4
+ import { n as N, r as P } from "./chunks/chart-sankey-CXG8SeW3.js";
5
+ import { $ as F, A as I, B as L, Ct as ee, D as te, F as R, G as ne, H as re, I as ie, J as ae, K as oe, L as se, N as ce, O as le, P as ue, Q as de, R as fe, St as pe, T as me, U as he, V as ge, W as _e, X as ve, Y as ye, Z as be, _t as xe, a as Se, at as Ce, bt as we, ct as Te, dt as Ee, et as De, ft as Oe, g as ke, gt as Ae, h as je, ht as Me, i as Ne, j as Pe, k as Fe, l as Ie, lt as Le, m as Re, mt as ze, n as Be, o as Ve, ot as He, p as Ue, pt as We, q as Ge, r as Ke, st as qe, t as Je, tt as Ye, ut as Xe, vt as Ze, xt as Qe, y as $e, yt as et, z as tt } from "./chunks/DashboardEditModal-B8zIH0ja.js";
6
+ import { r as nt } from "./chunks/chart-markdown-DJq7fXKF.js";
7
+ import { S as rt, _ as it, b as at, c as ot, d as st, f as ct, g as lt, h as ut, l as dt, m as ft, o as pt, p as mt, s as ht, v as gt, y as _t } from "./chunks/useDirtyStateTracking-BUk23Wbh.js";
8
+ import { B as vt, F as z, S as yt, _ as bt, b as xt, g as St, h as Ct, m as wt, p as Tt, v as Et, x as Dt, y as Ot } from "./chunks/chart-activity-grid-aIyjUpbJ.js";
9
+ import { a as kt, i as At, n as jt, o as Mt, r as Nt, t as Pt } from "./chunks/useExplainAI-CGLroDBD.js";
10
+ import { a as Ft, c as It, i as Lt, l as Rt, o as zt, r as Bt, s as Vt } from "./chunks/chart-funnel-DqBD-oth.js";
11
+ import { a as Ht, i as Ut, n as Wt, o as Gt, r as Kt, s as qt, t as Jt } from "./chunks/charts-loader-B_ye_C5_.js";
12
+ import { H as B } from "./chunks/chart-area-DCCvp06H.js";
12
13
  import { r as Yt } from "./chunks/syntaxHighlighting-Cm43as8i.js";
13
- import { A as Xt, C as Zt, D as Qt, E as $t, F as en, N as tn, O as nn, P as rn, T as an, _ as on, a as sn, b as cn, c as ln, d as un, f as dn, g as fn, h as pn, i as mn, j as hn, k as gn, l as _n, m as vn, n as yn, o as bn, r as xn, s as Sn, t as Cn, u as wn, v as Tn, w as En, x as Dn, y as On } from "./chunks/analysis-builder-shared-C_pLSXJR.js";
14
- import { r as kn } from "./chunks/chart-markdown-b0qPZ617.js";
15
- import { t as An } from "./chunks/useNotebookLayout-Ck3Z3uzg.js";
16
- import { n as jn } from "./chunks/chart-bubble-8uH_JKNt.js";
17
- import { i as Mn, t as Nn } from "./chunks/utils-CToHkuhU.js";
18
- import B, { createContext as Pn, useCallback as V, useContext as Fn, useEffect as H, useMemo as U, useRef as W, useState as G } from "react";
19
- import { Fragment as K, jsx as q, jsxs as J } from "react/jsx-runtime";
14
+ import { A as Xt, C as Zt, D as Qt, E as $t, F as en, N as tn, O as nn, P as rn, T as an, _ as on, a as sn, b as cn, c as ln, d as un, f as dn, g as fn, h as pn, i as mn, j as hn, k as gn, l as _n, m as vn, n as yn, o as bn, r as xn, s as Sn, t as Cn, u as wn, v as Tn, w as En, x as Dn, y as On } from "./chunks/analysis-builder-shared-CQFcY6vA.js";
15
+ import { t as kn } from "./chunks/useNotebookLayout-Ck3Z3uzg.js";
16
+ import { n as An } from "./chunks/chart-bubble-CavhSOT8.js";
17
+ import { i as jn, t as Mn } from "./chunks/utils-CToHkuhU.js";
18
+ import V, { createContext as Nn, useCallback as H, useContext as Pn, useEffect as U, useMemo as W, useRef as G, useState as K } from "react";
19
+ import { Fragment as q, jsx as J, jsxs as Y } from "react/jsx-runtime";
20
20
  //#region src/client/stores/notebookStore.tsx
21
- var In = () => ({
21
+ var Fn = () => ({
22
22
  blocks: [],
23
23
  messages: [],
24
24
  isStreaming: !1,
25
25
  sessionId: null,
26
26
  inputValue: ""
27
27
  });
28
- function Ln(e, t) {
28
+ function In(e, t) {
29
29
  return {
30
30
  addBlock: (t) => e((e) => ({ blocks: [...e.blocks, t] })),
31
31
  removeBlock: (t) => e((e) => ({ blocks: e.blocks.filter((e) => e.id !== t) })),
@@ -89,38 +89,38 @@ function Ln(e, t) {
89
89
  blocks: t.blocks || [],
90
90
  messages: t.messages || []
91
91
  }),
92
- reset: () => e(In())
92
+ reset: () => e(Fn())
93
93
  };
94
94
  }
95
- function Rn() {
96
- let t = In();
95
+ function Ln() {
96
+ let t = Fn();
97
97
  return i()(r(e((e, n) => ({
98
98
  ...t,
99
- ...Ln(e, n)
99
+ ...In(e, n)
100
100
  })), { name: "NotebookStore" }));
101
101
  }
102
- var zn = Pn(null);
103
- function Bn({ children: e, initialConfig: t }) {
104
- let n = W(null);
102
+ var Rn = Nn(null);
103
+ function zn({ children: e, initialConfig: t }) {
104
+ let n = G(null);
105
105
  if (!n.current) {
106
- let e = Rn();
106
+ let e = Ln();
107
107
  t && e.getState().load(t), n.current = e;
108
108
  }
109
- return /* @__PURE__ */ q(zn.Provider, {
109
+ return /* @__PURE__ */ J(Rn.Provider, {
110
110
  value: n.current,
111
111
  children: e
112
112
  });
113
113
  }
114
- function Y(e) {
115
- let t = Fn(zn);
114
+ function X(e) {
115
+ let t = Pn(Rn);
116
116
  if (!t) throw Error("useNotebookStore must be used within NotebookStoreProvider");
117
117
  return n(t, e);
118
118
  }
119
- var Vn = (e) => e.blocks, Hn = (e) => e.messages, Un = (e) => e.isStreaming, Wn = (e) => e.sessionId, Gn = (e) => e.inputValue, Kn = (e) => ({
119
+ var Bn = (e) => e.blocks, Vn = (e) => e.messages, Hn = (e) => e.isStreaming, Un = (e) => e.sessionId, Wn = (e) => e.inputValue, Gn = (e) => ({
120
120
  messages: e.messages,
121
121
  isStreaming: e.isStreaming,
122
122
  inputValue: e.inputValue
123
- }), qn = (e) => ({
123
+ }), Kn = (e) => ({
124
124
  addMessage: e.addMessage,
125
125
  appendToLastAssistantMessage: e.appendToLastAssistantMessage,
126
126
  setLastAssistantError: e.setLastAssistantError,
@@ -129,29 +129,29 @@ var Vn = (e) => e.blocks, Hn = (e) => e.messages, Un = (e) => e.isStreaming, Wn
129
129
  setIsStreaming: e.setIsStreaming,
130
130
  setInputValue: e.setInputValue,
131
131
  setSessionId: e.setSessionId
132
- }), Jn = (e) => ({
132
+ }), qn = (e) => ({
133
133
  addBlock: e.addBlock,
134
134
  removeBlock: e.removeBlock,
135
135
  moveBlock: e.moveBlock,
136
136
  updateBlock: e.updateBlock
137
- }), X = {
137
+ }), Z = {
138
138
  width: "16px",
139
139
  height: "16px",
140
140
  color: "currentColor"
141
- }, Yn = j("chevronUp"), Xn = j("chevronDown"), Zn = j("edit"), Qn = j("delete"), $n = B.memo(function({ block: e, colorPalette: t, onRemove: n, onMoveUp: r, onMoveDown: i, onEdit: a, isFirst: o, isLast: s }) {
142
- let [c, l] = G(null), u = V((e) => {
141
+ }, Jn = j("chevronUp"), Yn = j("chevronDown"), Xn = j("edit"), Zn = j("delete"), Qn = V.memo(function({ block: e, colorPalette: t, onRemove: n, onMoveUp: r, onMoveDown: i, onEdit: a, isFirst: o, isLast: s }) {
142
+ let [c, l] = K(null), u = H((e) => {
143
143
  l(e);
144
144
  }, []);
145
- return /* @__PURE__ */ J("div", {
145
+ return /* @__PURE__ */ Y("div", {
146
146
  className: "dc:relative dc:mb-4 bg-dc-surface dc:border border-dc-border dc:rounded-lg dc:flex dc:flex-col",
147
- children: [/* @__PURE__ */ J("div", {
147
+ children: [/* @__PURE__ */ Y("div", {
148
148
  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",
149
- children: [/* @__PURE__ */ J("div", {
149
+ children: [/* @__PURE__ */ Y("div", {
150
150
  className: "dc:flex dc:items-center dc:gap-2 dc:flex-1 dc:min-w-0",
151
- children: [/* @__PURE__ */ q("h3", {
151
+ children: [/* @__PURE__ */ J("h3", {
152
152
  className: "dc:font-semibold dc:text-sm text-dc-text dc:truncate",
153
153
  children: e.title || "Untitled"
154
- }), c && /* @__PURE__ */ q(ee, {
154
+ }), c && /* @__PURE__ */ J(Pe, {
155
155
  chartConfig: c.chartConfig,
156
156
  displayConfig: c.displayConfig,
157
157
  queryObject: c.queryObject,
@@ -159,38 +159,38 @@ var Vn = (e) => e.blocks, Hn = (e) => e.messages, Un = (e) => e.isStreaming, Wn
159
159
  chartType: c.chartType,
160
160
  cacheInfo: c.cacheInfo ?? void 0
161
161
  })]
162
- }), /* @__PURE__ */ J("div", {
162
+ }), /* @__PURE__ */ Y("div", {
163
163
  className: "dc:flex dc:items-center dc:gap-1 dc:shrink-0 dc:ml-4 dc:-mr-2",
164
164
  children: [
165
- !o && /* @__PURE__ */ q("button", {
165
+ !o && /* @__PURE__ */ J("button", {
166
166
  onClick: () => r(e.id),
167
167
  className: "dc:p-1 dc:bg-transparent dc:border-none dc:rounded-sm text-dc-text-secondary dc:cursor-pointer dc:hover:bg-dc-surface-hover dc:transition-colors",
168
168
  title: "Move up",
169
- children: /* @__PURE__ */ q(Yn, { style: X })
169
+ children: /* @__PURE__ */ J(Jn, { style: Z })
170
170
  }),
171
- !s && /* @__PURE__ */ q("button", {
171
+ !s && /* @__PURE__ */ J("button", {
172
172
  onClick: () => i(e.id),
173
173
  className: "dc:p-1 dc:bg-transparent dc:border-none dc:rounded-sm text-dc-text-secondary dc:cursor-pointer dc:hover:bg-dc-surface-hover dc:transition-colors",
174
174
  title: "Move down",
175
- children: /* @__PURE__ */ q(Xn, { style: X })
175
+ children: /* @__PURE__ */ J(Yn, { style: Z })
176
176
  }),
177
- /* @__PURE__ */ q("button", {
177
+ /* @__PURE__ */ J("button", {
178
178
  onClick: () => a(e),
179
179
  className: "dc:p-1 dc:bg-transparent dc:border-none dc:rounded-sm text-dc-text-secondary dc:cursor-pointer dc:hover:bg-dc-surface-hover dc:transition-colors",
180
180
  title: "Edit visualization",
181
- children: /* @__PURE__ */ q(Zn, { style: X })
181
+ children: /* @__PURE__ */ J(Xn, { style: Z })
182
182
  }),
183
- /* @__PURE__ */ q("button", {
183
+ /* @__PURE__ */ J("button", {
184
184
  onClick: () => n(e.id),
185
185
  className: "dc:p-1 dc:mr-0.5 dc:bg-transparent dc:border-none dc:rounded-sm dc:cursor-pointer dc:hover:bg-dc-danger-bg text-dc-danger dc:transition-colors",
186
186
  title: "Remove",
187
- children: /* @__PURE__ */ q(Qn, { style: X })
187
+ children: /* @__PURE__ */ J(Zn, { style: Z })
188
188
  })
189
189
  ]
190
190
  })]
191
- }), /* @__PURE__ */ q("div", {
191
+ }), /* @__PURE__ */ J("div", {
192
192
  className: "dc:flex-1 dc:min-h-0",
193
- children: /* @__PURE__ */ q(ye, {
193
+ children: /* @__PURE__ */ J(be, {
194
194
  query: e.query,
195
195
  chartType: e.chartType,
196
196
  chartConfig: e.chartConfig,
@@ -205,16 +205,16 @@ var Vn = (e) => e.blocks, Hn = (e) => e.messages, Un = (e) => e.isStreaming, Wn
205
205
  });
206
206
  //#endregion
207
207
  //#region src/client/components/markdownOverrides.tsx
208
- function er({ children: e, ...t }) {
209
- return /* @__PURE__ */ q("div", {
208
+ function $n({ children: e, ...t }) {
209
+ return /* @__PURE__ */ J("div", {
210
210
  className: "dc:overflow-x-auto dc:my-2",
211
- children: /* @__PURE__ */ q("table", {
211
+ children: /* @__PURE__ */ J("table", {
212
212
  ...t,
213
213
  children: e
214
214
  })
215
215
  });
216
216
  }
217
- var tr = {
217
+ var er = {
218
218
  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
219
  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
220
  a: { props: {
@@ -223,14 +223,14 @@ var tr = {
223
223
  rel: "noopener noreferrer"
224
224
  } },
225
225
  table: {
226
- component: er,
226
+ component: $n,
227
227
  props: { className: "dc:w-full dc:border-collapse dc:text-sm" }
228
228
  },
229
229
  thead: { props: { className: "bg-dc-surface-secondary" } },
230
230
  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
231
  td: { props: { className: "dc:px-3 dc:py-2 dc:text-sm text-dc-text border-dc-border dc:border-b" } },
232
232
  tr: { props: { className: "dc:hover:opacity-80" } }
233
- }, nr = { overrides: {
233
+ }, tr = { overrides: {
234
234
  h1: { props: { className: "dc:text-lg dc:font-bold text-dc-text dc:mb-2 dc:mt-3" } },
235
235
  h2: { props: { className: "dc:text-base dc:font-semibold text-dc-text dc:mb-2 dc:mt-3" } },
236
236
  h3: { props: { className: "dc:text-sm dc:font-semibold text-dc-text dc:mb-2 dc:mt-3" } },
@@ -241,8 +241,8 @@ var tr = {
241
241
  li: { props: { className: "dc:text-sm text-dc-text" } },
242
242
  hr: { props: { className: "dc:my-3 border-dc-border" } },
243
243
  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
- ...tr
245
- } }, rr = { overrides: {
244
+ ...er
245
+ } }, nr = { overrides: {
246
246
  h1: { props: { className: "dc:font-semibold text-dc-text dc:mt-2 dc:mb-1 dc:first:mt-0" } },
247
247
  h2: { props: { className: "dc:font-semibold text-dc-text dc:mt-2 dc:mb-1 dc:first:mt-0" } },
248
248
  h3: { props: { className: "dc:font-semibold text-dc-text dc:mt-2 dc:mb-1 dc:first:mt-0" } },
@@ -253,49 +253,49 @@ var tr = {
253
253
  li: { props: { className: "dc:leading-snug" } },
254
254
  hr: { props: { className: "dc:my-2 border-dc-border" } },
255
255
  blockquote: { props: { className: "dc:border-l-2 border-dc-accent dc:pl-2 dc:my-1.5 dc:italic text-dc-text-secondary" } },
256
- ...tr
257
- } }, Z = {
256
+ ...er
257
+ } }, Q = {
258
258
  width: "16px",
259
259
  height: "16px",
260
260
  color: "currentColor"
261
- }, ir = j("documentText"), ar = j("chevronUp"), or = j("chevronDown"), sr = j("delete"), cr = B.memo(function({ block: e, onRemove: t, onMoveUp: n, onMoveDown: r, isFirst: i, isLast: a }) {
262
- return /* @__PURE__ */ J("div", {
261
+ }, rr = j("documentText"), ir = j("chevronUp"), ar = j("chevronDown"), or = j("delete"), sr = V.memo(function({ block: e, onRemove: t, onMoveUp: n, onMoveDown: r, isFirst: i, isLast: a }) {
262
+ return /* @__PURE__ */ Y("div", {
263
263
  className: "dc:relative dc:mb-4 bg-dc-surface dc:border border-dc-border dc:rounded-lg dc:flex dc:flex-col",
264
- children: [/* @__PURE__ */ J("div", {
264
+ children: [/* @__PURE__ */ Y("div", {
265
265
  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
- children: [/* @__PURE__ */ J("div", {
266
+ children: [/* @__PURE__ */ Y("div", {
267
267
  className: "dc:flex dc:items-center dc:gap-2 dc:flex-1 dc:min-w-0",
268
- children: [/* @__PURE__ */ q(ir, { style: Z }), /* @__PURE__ */ q("h3", {
268
+ children: [/* @__PURE__ */ J(rr, { style: Q }), /* @__PURE__ */ J("h3", {
269
269
  className: "dc:font-semibold dc:text-sm text-dc-text dc:truncate",
270
270
  children: e.title || "Markdown"
271
271
  })]
272
- }), /* @__PURE__ */ J("div", {
272
+ }), /* @__PURE__ */ Y("div", {
273
273
  className: "dc:flex dc:items-center dc:gap-1 dc:shrink-0 dc:ml-4 dc:-mr-2",
274
274
  children: [
275
- !i && /* @__PURE__ */ q("button", {
275
+ !i && /* @__PURE__ */ J("button", {
276
276
  onClick: () => n(e.id),
277
277
  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
278
  title: "Move up",
279
- children: /* @__PURE__ */ q(ar, { style: Z })
279
+ children: /* @__PURE__ */ J(ir, { style: Q })
280
280
  }),
281
- !a && /* @__PURE__ */ q("button", {
281
+ !a && /* @__PURE__ */ J("button", {
282
282
  onClick: () => r(e.id),
283
283
  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
284
  title: "Move down",
285
- children: /* @__PURE__ */ q(or, { style: Z })
285
+ children: /* @__PURE__ */ J(ar, { style: Q })
286
286
  }),
287
- /* @__PURE__ */ q("button", {
287
+ /* @__PURE__ */ J("button", {
288
288
  onClick: () => t(e.id),
289
289
  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
290
  title: "Remove",
291
- children: /* @__PURE__ */ q(sr, { style: Z })
291
+ children: /* @__PURE__ */ J(or, { style: Q })
292
292
  })
293
293
  ]
294
294
  })]
295
- }), /* @__PURE__ */ q("div", {
295
+ }), /* @__PURE__ */ J("div", {
296
296
  className: "dc:p-4 dc:min-w-0 dc:overflow-hidden",
297
- children: /* @__PURE__ */ q(kn, {
298
- options: nr,
297
+ children: /* @__PURE__ */ J(nt, {
298
+ options: tr,
299
299
  children: e.content
300
300
  })
301
301
  })]
@@ -303,8 +303,8 @@ var tr = {
303
303
  });
304
304
  //#endregion
305
305
  //#region src/client/components/AgenticNotebook/NotebookCanvas.tsx
306
- function lr(e) {
307
- let { analysisConfig: t } = Ie(e);
306
+ function cr(e) {
307
+ let { analysisConfig: t } = Ce(e);
308
308
  if (!t) return null;
309
309
  let n = t.charts[t.analysisType];
310
310
  return {
@@ -315,34 +315,34 @@ function lr(e) {
315
315
  displayConfig: n?.displayConfig
316
316
  };
317
317
  }
318
- var ur = B.memo(function({ colorPalette: e }) {
319
- let { t: n } = R(), r = e ?? ne(), i = Y(Vn), { removeBlock: a, moveBlock: o, updateBlock: s } = Y(t(Jn)), c = W(null), [l, u] = G(null), d = W(i.length);
320
- H(() => {
318
+ var lr = V.memo(function({ colorPalette: e }) {
319
+ let { t: n } = z(), r = e ?? te(), i = X(Bn), { removeBlock: a, moveBlock: o, updateBlock: s } = X(t(qn)), c = G(null), [l, u] = K(null), d = G(i.length);
320
+ U(() => {
321
321
  i.length > d.current && c.current?.scrollIntoView({ behavior: "smooth" }), d.current = i.length;
322
322
  }, [i.length]);
323
- let f = V((e) => a(e), [a]), p = V((e) => o(e, "up"), [o]), m = V((e) => o(e, "down"), [o]), h = V((e) => u(e), []), g = V((e) => {
323
+ 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
324
  if (!l) return;
325
- let t = lr(e);
325
+ let t = cr(e);
326
326
  t && s(l.id, t), u(null);
327
327
  }, [l, s]);
328
- return i.length === 0 ? /* @__PURE__ */ q("div", {
328
+ return i.length === 0 ? /* @__PURE__ */ J("div", {
329
329
  className: "dc:flex dc:items-center dc:justify-center dc:h-full",
330
- children: /* @__PURE__ */ J("div", {
330
+ children: /* @__PURE__ */ Y("div", {
331
331
  className: "dc:text-center dc:max-w-sm dc:px-6",
332
- children: [/* @__PURE__ */ q("h3", {
332
+ children: [/* @__PURE__ */ J("h3", {
333
333
  className: "dc:text-base dc:font-semibold text-dc-text dc:mb-2",
334
334
  children: n("notebook.canvas.emptyTitle")
335
- }), /* @__PURE__ */ q("p", {
335
+ }), /* @__PURE__ */ J("p", {
336
336
  className: "dc:text-sm text-dc-text-secondary",
337
337
  children: n("notebook.canvas.emptyDescription")
338
338
  })]
339
339
  })
340
- }) : /* @__PURE__ */ J("div", {
340
+ }) : /* @__PURE__ */ Y("div", {
341
341
  className: "dc:h-full dc:overflow-y-auto dc:p-4",
342
342
  children: [
343
343
  i.map((e, t) => {
344
344
  let n = t === 0, a = t === i.length - 1;
345
- return e.type === "portlet" ? /* @__PURE__ */ q($n, {
345
+ return e.type === "portlet" ? /* @__PURE__ */ J(Qn, {
346
346
  block: e,
347
347
  colorPalette: r,
348
348
  onRemove: f,
@@ -351,7 +351,7 @@ var ur = B.memo(function({ colorPalette: e }) {
351
351
  onEdit: h,
352
352
  isFirst: n,
353
353
  isLast: a
354
- }, e.id) : e.type === "markdown" ? /* @__PURE__ */ q(cr, {
354
+ }, e.id) : e.type === "markdown" ? /* @__PURE__ */ J(sr, {
355
355
  block: e,
356
356
  onRemove: f,
357
357
  onMoveUp: p,
@@ -360,8 +360,8 @@ var ur = B.memo(function({ colorPalette: e }) {
360
360
  isLast: a
361
361
  }, e.id) : null;
362
362
  }),
363
- /* @__PURE__ */ q("div", { ref: c }),
364
- /* @__PURE__ */ q(Ee, {
363
+ /* @__PURE__ */ J("div", { ref: c }),
364
+ /* @__PURE__ */ J(Ie, {
365
365
  isOpen: !!l,
366
366
  onClose: () => u(null),
367
367
  onSave: g,
@@ -383,68 +383,68 @@ var ur = B.memo(function({ colorPalette: e }) {
383
383
  })
384
384
  ]
385
385
  });
386
- }), dr = {
386
+ }), ur = {
387
387
  discover_cubes: "Discovering cubes",
388
388
  get_cube_metadata: "Reading metadata",
389
389
  execute_query: "Executing query",
390
390
  add_portlet: "Adding visualization",
391
391
  add_markdown: "Adding explanation"
392
392
  };
393
- function fr(e, t, n) {
393
+ function dr(e, t, n) {
394
394
  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
395
  }
396
- function pr({ toolCall: e, loadingComponent: t }) {
397
- return e.status === "running" ? t ? /* @__PURE__ */ q("span", {
396
+ function fr({ toolCall: e, loadingComponent: t }) {
397
+ return e.status === "running" ? t ? /* @__PURE__ */ J("span", {
398
398
  className: "dc:inline-flex dc:items-center dc:justify-center dc:h-3 dc:w-3",
399
399
  children: t
400
- }) : /* @__PURE__ */ q(z, { size: "xs" }) : /* @__PURE__ */ q("span", {
400
+ }) : /* @__PURE__ */ J(B, { size: "xs" }) : /* @__PURE__ */ J("span", {
401
401
  className: "dc:text-xs",
402
402
  children: e.status === "error" ? "✗" : "✓"
403
403
  });
404
404
  }
405
- function mr(e) {
405
+ function pr(e) {
406
406
  return typeof e == "string" ? e : JSON.stringify(e, null, 2);
407
407
  }
408
- function hr({ result: e }) {
409
- return e == null ? null : /* @__PURE__ */ q("pre", {
408
+ function mr({ result: e }) {
409
+ return e == null ? null : /* @__PURE__ */ J("pre", {
410
410
  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: mr(e)
411
+ children: pr(e)
412
412
  });
413
413
  }
414
- function gr({ toolCall: e, loadingComponent: t }) {
415
- let [n, r] = G(!1), i = dr[e.name] || e.name, a = e.status === "running";
416
- return /* @__PURE__ */ J("div", {
414
+ function hr({ toolCall: e, loadingComponent: t }) {
415
+ let [n, r] = K(!1), i = ur[e.name] || e.name, a = e.status === "running";
416
+ return /* @__PURE__ */ Y("div", {
417
417
  className: "dc:my-1 dc:text-xs",
418
- children: [/* @__PURE__ */ J("button", {
418
+ children: [/* @__PURE__ */ Y("button", {
419
419
  onClick: () => r(!n),
420
420
  className: "dc:flex dc:items-center dc:gap-1.5 text-dc-text-secondary dc:hover:opacity-80 dc:transition-opacity",
421
421
  children: [
422
- /* @__PURE__ */ q(pr, {
422
+ /* @__PURE__ */ J(fr, {
423
423
  toolCall: e,
424
424
  loadingComponent: t
425
425
  }),
426
- /* @__PURE__ */ J("span", { children: [i, a ? "..." : ""] }),
427
- !a && /* @__PURE__ */ q("span", {
426
+ /* @__PURE__ */ Y("span", { children: [i, a ? "..." : ""] }),
427
+ !a && /* @__PURE__ */ J("span", {
428
428
  className: "dc:text-[10px] dc:opacity-60",
429
429
  children: n ? "▲" : "▼"
430
430
  })
431
431
  ]
432
- }), n && /* @__PURE__ */ q(hr, { result: e.result })]
432
+ }), n && /* @__PURE__ */ J(mr, { result: e.result })]
433
433
  });
434
434
  }
435
- function _r({ error: e, hasContent: t }) {
436
- return /* @__PURE__ */ J("div", {
435
+ function gr({ error: e, hasContent: t }) {
436
+ return /* @__PURE__ */ Y("div", {
437
437
  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
- children: [/* @__PURE__ */ q("span", {
438
+ children: [/* @__PURE__ */ J("span", {
439
439
  className: "dc:text-base dc:leading-none dc:mt-0.5 text-dc-warning dc:flex-shrink-0",
440
440
  children: "⚠"
441
- }), /* @__PURE__ */ q("span", {
441
+ }), /* @__PURE__ */ J("span", {
442
442
  className: "text-dc-text-secondary",
443
443
  children: e
444
444
  })]
445
445
  });
446
446
  }
447
- function vr(e) {
447
+ function _r(e) {
448
448
  let t = e.role === "user", n = !!e.content?.trim(), r = !!e.error, i = e.toolCalls ?? [], a = i.length > 0;
449
449
  return {
450
450
  isUser: t,
@@ -455,34 +455,34 @@ function vr(e) {
455
455
  shouldRender: t || n || r || a
456
456
  };
457
457
  }
458
- function yr({ message: e, flags: t, loadingComponent: n }) {
458
+ function vr({ message: e, flags: t, loadingComponent: n }) {
459
459
  let { isUser: r, hasContent: i, hasError: a, hasToolCalls: o, toolCalls: s } = t;
460
- return /* @__PURE__ */ J(K, { children: [
461
- i && (r ? /* @__PURE__ */ q("div", {
460
+ return /* @__PURE__ */ Y(q, { children: [
461
+ i && (r ? /* @__PURE__ */ J("div", {
462
462
  className: "dc:whitespace-pre-wrap dc:break-words",
463
463
  children: e.content
464
- }) : /* @__PURE__ */ q("div", {
464
+ }) : /* @__PURE__ */ J("div", {
465
465
  className: "dc:break-words dc:min-w-0",
466
- children: /* @__PURE__ */ q(kn, {
467
- options: rr,
466
+ children: /* @__PURE__ */ J(nt, {
467
+ options: nr,
468
468
  children: e.content
469
469
  })
470
470
  })),
471
- a && /* @__PURE__ */ q(_r, {
471
+ a && /* @__PURE__ */ J(gr, {
472
472
  error: e.error,
473
473
  hasContent: i
474
474
  }),
475
- o && /* @__PURE__ */ q(br, {
475
+ o && /* @__PURE__ */ J(yr, {
476
476
  toolCalls: s,
477
477
  loadingComponent: n,
478
478
  separated: i || a
479
479
  })
480
480
  ] });
481
481
  }
482
- function br({ toolCalls: e, loadingComponent: t, separated: n }) {
483
- return /* @__PURE__ */ q("div", {
482
+ function yr({ toolCalls: e, loadingComponent: t, separated: n }) {
483
+ return /* @__PURE__ */ J("div", {
484
484
  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__ */ q(gr, {
485
+ children: e.map((e, n) => /* @__PURE__ */ J(hr, {
486
486
  toolCall: e,
487
487
  loadingComponent: t
488
488
  }, e.id || n))
@@ -490,38 +490,38 @@ function br({ toolCalls: e, loadingComponent: t, separated: n }) {
490
490
  }
491
491
  //#endregion
492
492
  //#region src/client/components/AgenticNotebook/ChatMessage.tsx
493
- var xr = { animation: "dc-msg-in 100ms ease-out" }, Sr = B.memo(function({ message: e, loadingComponent: t }) {
494
- let n = vr(e);
493
+ var br = { animation: "dc-msg-in 100ms ease-out" }, xr = V.memo(function({ message: e, loadingComponent: t }) {
494
+ let n = _r(e);
495
495
  if (!n.shouldRender) return null;
496
496
  let { isUser: r, hasContent: i, hasError: a } = n;
497
- return /* @__PURE__ */ q("div", {
497
+ return /* @__PURE__ */ J("div", {
498
498
  className: `dc:flex dc:mb-3 ${r ? "dc:justify-end" : "dc:justify-start"}`,
499
- style: xr,
500
- children: /* @__PURE__ */ q("div", {
501
- className: `dc:max-w-[85%] dc:rounded-lg dc:px-3 dc:py-2 dc:text-sm ${fr(r, a, i)}`,
502
- children: /* @__PURE__ */ q(yr, {
499
+ style: br,
500
+ children: /* @__PURE__ */ J("div", {
501
+ className: `dc:max-w-[85%] dc:rounded-lg dc:px-3 dc:py-2 dc:text-sm ${dr(r, a, i)}`,
502
+ children: /* @__PURE__ */ J(vr, {
503
503
  message: e,
504
504
  flags: n,
505
505
  loadingComponent: t
506
506
  })
507
507
  })
508
508
  });
509
- }), Cr = B.memo(function({ value: e, onChange: t, onSend: n, onStop: r, onContinue: i, isStreaming: a = !1, showContinue: o = !1, disabled: s = !1, placeholder: c }) {
510
- let { t: l } = R(), u = c ?? l("notebook.chatInput.placeholder"), d = W(null);
511
- H(() => {
509
+ }), Sr = 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
+ let { t: l } = z(), u = c ?? l("notebook.chatInput.placeholder"), d = G(null);
511
+ U(() => {
512
512
  let e = d.current;
513
513
  e && (e.style.height = "auto", e.style.height = `${Math.min(e.scrollHeight, 150)}px`);
514
514
  }, [e]);
515
- let f = V((t) => {
515
+ let f = H((t) => {
516
516
  t.key === "Enter" && !t.shiftKey && (t.preventDefault(), !s && e.trim() && n());
517
517
  }, [
518
518
  s,
519
519
  e,
520
520
  n
521
521
  ]);
522
- return /* @__PURE__ */ J("div", {
522
+ return /* @__PURE__ */ Y("div", {
523
523
  className: "dc:flex dc:gap-2 dc:items-end dc:p-3 border-dc-border dc:border-t",
524
- children: [/* @__PURE__ */ q("textarea", {
524
+ children: [/* @__PURE__ */ J("textarea", {
525
525
  ref: d,
526
526
  value: e,
527
527
  onChange: (e) => t(e.target.value),
@@ -530,17 +530,17 @@ var xr = { animation: "dc-msg-in 100ms ease-out" }, Sr = B.memo(function({ messa
530
530
  disabled: s,
531
531
  rows: 1,
532
532
  className: "dc:flex-1 dc:resize-none dc:rounded-lg dc:px-3 dc:py-2 dc:text-sm bg-dc-surface-secondary text-dc-text border-dc-border dc:border dc:outline-none dc:focus:ring-1 focus:ring-dc-accent dc:disabled:opacity-50"
533
- }), a ? /* @__PURE__ */ q("button", {
533
+ }), a ? /* @__PURE__ */ J("button", {
534
534
  onClick: r,
535
535
  className: "dc:px-4 dc:py-2 dc:rounded-lg dc:text-sm dc:font-medium dc:transition-colors text-dc-error border-dc-border dc:border dc:hover:opacity-80 dc:shrink-0",
536
536
  children: l("notebook.chatInput.stop")
537
- }) : /* @__PURE__ */ J(K, { children: [o && !e.trim() && /* @__PURE__ */ q("button", {
537
+ }) : /* @__PURE__ */ Y(q, { children: [o && !e.trim() && /* @__PURE__ */ J("button", {
538
538
  onClick: () => {
539
539
  i?.(), d.current?.focus();
540
540
  },
541
541
  className: "dc:px-4 dc:py-2 dc:rounded-lg dc:text-sm dc:font-medium dc:transition-colors border-dc-border dc:border text-dc-text-secondary dc:hover:opacity-80 dc:shrink-0",
542
542
  children: l("notebook.chatInput.continue")
543
- }), /* @__PURE__ */ q("button", {
543
+ }), /* @__PURE__ */ J("button", {
544
544
  onClick: n,
545
545
  disabled: s || !e.trim(),
546
546
  className: "dc:px-4 dc:py-2 dc:rounded-lg dc:text-sm dc:font-medium dc:transition-colors bg-dc-accent text-dc-accent-text dc:hover:opacity-90 dc:disabled:opacity-40 dc:disabled:cursor-not-allowed dc:shrink-0",
@@ -550,7 +550,7 @@ var xr = { animation: "dc-msg-in 100ms ease-out" }, Sr = B.memo(function({ messa
550
550
  });
551
551
  //#endregion
552
552
  //#region src/client/hooks/agentChatStream.ts
553
- function wr(e) {
553
+ function Cr(e) {
554
554
  if (e.startsWith("{") || e.includes("\"type\":\"error\"")) try {
555
555
  let t = JSON.parse(e.replace(/^Error:\s*/, ""));
556
556
  return {
@@ -568,7 +568,7 @@ function wr(e) {
568
568
  }
569
569
  return e;
570
570
  }
571
- function Tr(e, t) {
571
+ function wr(e, t) {
572
572
  switch (e.type) {
573
573
  case "text_delta":
574
574
  t.onTextDelta(e.data);
@@ -609,13 +609,13 @@ function Tr(e, t) {
609
609
  case "error": t.onError(e.data.message);
610
610
  }
611
611
  }
612
- function Er(e, t) {
612
+ function Tr(e, t) {
613
613
  let n = e.trim().split("\n");
614
614
  for (let e of n) if (e.startsWith("data: ")) try {
615
615
  t(JSON.parse(e.slice(6)));
616
616
  } catch {}
617
617
  }
618
- function Dr(e) {
618
+ function Er(e) {
619
619
  let t = {
620
620
  "Content-Type": "application/json",
621
621
  ...e.baseHeaders
@@ -624,16 +624,16 @@ function Dr(e) {
624
624
  }
625
625
  //#endregion
626
626
  //#region src/client/hooks/useAgentChat.ts
627
- function Or(e) {
628
- let { agentEndpoint: t, agentApiKey: n, agentProvider: r, agentModel: i, agentProviderEndpoint: a } = e, { cubeApi: o } = c(), s = W(null), [l, u] = G(!1), d = W(e);
627
+ function Dr(e) {
628
+ 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
629
  return d.current = e, {
630
- sendMessage: V(async (e, c, l) => {
631
- let f = (e) => Tr(e, d.current);
630
+ sendMessage: H(async (e, c, l) => {
631
+ let f = (e) => wr(e, d.current);
632
632
  s.current && s.current.abort();
633
633
  let p = new AbortController();
634
634
  s.current = p, u(!0);
635
635
  try {
636
- let s = t || `${o.apiUrl || "/cubejs-api/v1"}/agent/chat`, u = Dr({
636
+ let s = t || `${o.apiUrl || "/cubejs-api/v1"}/agent/chat`, u = Er({
637
637
  baseHeaders: o.headers,
638
638
  agentApiKey: n,
639
639
  agentProvider: r,
@@ -662,13 +662,13 @@ function Or(e) {
662
662
  g += h.decode(t, { stream: !0 });
663
663
  let n = g.split("\n\n");
664
664
  g = n.pop() || "";
665
- for (let e of n) Er(e, f);
665
+ for (let e of n) Tr(e, f);
666
666
  }
667
- g.trim() && Er(g, f);
667
+ g.trim() && Tr(g, f);
668
668
  } catch (e) {
669
669
  if (e.name !== "AbortError") {
670
670
  let t = e instanceof Error ? e.message : "Stream failed";
671
- d.current.onError(wr(t));
671
+ d.current.onError(Cr(t));
672
672
  }
673
673
  } finally {
674
674
  u(!1), s.current = null;
@@ -682,21 +682,21 @@ function Or(e) {
682
682
  a
683
683
  ]),
684
684
  isStreaming: l,
685
- abort: V(() => {
685
+ abort: H(() => {
686
686
  s.current && (s.current.abort(), s.current = null, u(!1));
687
687
  }, [])
688
688
  };
689
689
  }
690
690
  //#endregion
691
691
  //#region src/client/components/AgenticNotebook/useAgentChatController.ts
692
- function kr({ agentEndpoint: e, agentApiKey: n, agentProvider: r, agentModel: i, agentProviderEndpoint: a, onDashboardSaved: o, messages: s, isStreaming: c }) {
693
- let [l, u] = G(!1), [d, f] = G(null), p = W(!1), { addMessage: m, appendToLastAssistantMessage: h, setLastAssistantError: g, addToolCallToLastAssistant: _, updateLastToolCall: v, setIsStreaming: y, setInputValue: b, setSessionId: x } = Y(t(qn)), S = Y((e) => e.sessionId), C = Y((e) => e.addBlock), w = Y((e) => e.updateBlock), T = W(s);
692
+ function Or({ 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(Kn)), S = X((e) => e.sessionId), C = X((e) => e.addBlock), w = X((e) => e.updateBlock), T = G(s);
694
694
  T.current = s;
695
- let E = W(c);
695
+ let E = G(c);
696
696
  E.current = c;
697
- let D = W(S);
697
+ let D = G(S);
698
698
  D.current = S;
699
- let O = V(() => {
699
+ let O = H(() => {
700
700
  p.current && (p.current = !1, m({
701
701
  id: `msg-${Date.now()}`,
702
702
  role: "assistant",
@@ -704,16 +704,16 @@ function kr({ agentEndpoint: e, agentApiKey: n, agentProvider: r, agentModel: i,
704
704
  toolCalls: [],
705
705
  timestamp: Date.now()
706
706
  }));
707
- }, [m]), { sendMessage: k, abort: A } = Or({
707
+ }, [m]), { sendMessage: k, abort: A } = Dr({
708
708
  agentEndpoint: e,
709
709
  agentApiKey: n,
710
710
  agentProvider: r,
711
711
  agentModel: i,
712
712
  agentProviderEndpoint: a,
713
- onTextDelta: V((e) => {
713
+ onTextDelta: H((e) => {
714
714
  u(!1), O(), h(e);
715
715
  }, [O, h]),
716
- onToolStart: V((e, t, n) => {
716
+ onToolStart: H((e, t, n) => {
717
717
  u(!1), O(), _({
718
718
  id: e,
719
719
  name: t,
@@ -721,7 +721,7 @@ function kr({ agentEndpoint: e, agentApiKey: n, agentProvider: r, agentModel: i,
721
721
  status: "running"
722
722
  });
723
723
  }, [O, _]),
724
- onToolResult: V((e, t, n, r, i) => {
724
+ onToolResult: H((e, t, n, r, i) => {
725
725
  v({
726
726
  id: e,
727
727
  status: r ? "error" : "complete",
@@ -729,23 +729,23 @@ function kr({ agentEndpoint: e, agentApiKey: n, agentProvider: r, agentModel: i,
729
729
  ...i === void 0 ? {} : { input: i }
730
730
  });
731
731
  }, [v]),
732
- onAddPortlet: V((e) => {
732
+ onAddPortlet: H((e) => {
733
733
  C(e);
734
734
  }, [C]),
735
- onUpdatePortlet: V(({ id: e, ...t }) => {
735
+ onUpdatePortlet: H(({ id: e, ...t }) => {
736
736
  w(e, t);
737
737
  }, [w]),
738
- onAddMarkdown: V((e) => {
738
+ onAddMarkdown: H((e) => {
739
739
  C(e);
740
740
  }, [C]),
741
741
  onDashboardSaved: o,
742
- onTurnComplete: V(() => {
742
+ onTurnComplete: H(() => {
743
743
  p.current = !0, u(!0);
744
744
  }, []),
745
- onDone: V((e, t) => {
745
+ onDone: H((e, t) => {
746
746
  p.current = !1, x(e), y(!1), u(!1), t && f(t);
747
747
  }, [x, y]),
748
- onError: V((e) => {
748
+ onError: H((e) => {
749
749
  u(!1), O(), g(e), y(!1);
750
750
  }, [
751
751
  O,
@@ -754,7 +754,7 @@ function kr({ agentEndpoint: e, agentApiKey: n, agentProvider: r, agentModel: i,
754
754
  ])
755
755
  });
756
756
  return {
757
- doSend: V((e) => {
757
+ doSend: H((e) => {
758
758
  if (!e || E.current) return;
759
759
  p.current = !1;
760
760
  let t = T.current.map((e) => ({
@@ -780,7 +780,7 @@ function kr({ agentEndpoint: e, agentApiKey: n, agentProvider: r, agentModel: i,
780
780
  y,
781
781
  k
782
782
  ]),
783
- handleStop: V(() => {
783
+ handleStop: H(() => {
784
784
  A(), y(!1);
785
785
  }, [A, y]),
786
786
  abort: A,
@@ -792,34 +792,34 @@ function kr({ agentEndpoint: e, agentApiKey: n, agentProvider: r, agentModel: i,
792
792
  }
793
793
  //#endregion
794
794
  //#region src/client/components/AgenticNotebook/agentChatParts.tsx
795
- var Ar = j("thumbUp"), jr = j("thumbDown");
796
- function Mr(...e) {
795
+ var kr = j("thumbUp"), Ar = j("thumbDown");
796
+ function jr(...e) {
797
797
  return e.every(Boolean);
798
798
  }
799
- function Nr(e) {
800
- let t = Mr(!e.isStreaming, e.messageCount > 0), n = e.lastTraceId ? e.scoredTraceIds.has(e.lastTraceId) : !1;
799
+ function Mr(e) {
800
+ let t = jr(!e.isStreaming, e.messageCount > 0), n = e.lastTraceId ? e.scoredTraceIds.has(e.lastTraceId) : !1;
801
801
  return {
802
- showSaveAsDashboard: Mr(t, e.onDashboardSaved, e.portletBlockCount > 0),
802
+ showSaveAsDashboard: jr(t, e.onDashboardSaved, e.portletBlockCount > 0),
803
803
  showClear: e.messageCount > 0,
804
- showFeedback: Mr(t, e.onScore, !!e.lastTraceId, !n),
804
+ showFeedback: jr(t, e.onScore, !!e.lastTraceId, !n),
805
805
  lastScored: n
806
806
  };
807
807
  }
808
- function Pr({ showSaveAsDashboard: e, showClear: t, isStreaming: n, onSaveAsDashboard: r, onClear: i }) {
809
- let { t: a } = R();
810
- return /* @__PURE__ */ J("div", {
808
+ function Nr({ showSaveAsDashboard: e, showClear: t, isStreaming: n, onSaveAsDashboard: r, onClear: i }) {
809
+ let { t: a } = z();
810
+ return /* @__PURE__ */ Y("div", {
811
811
  className: "dc:flex dc:items-center dc:justify-between dc:px-4 dc:py-3 border-dc-border dc:border-b",
812
- children: [/* @__PURE__ */ q("h3", {
812
+ children: [/* @__PURE__ */ J("h3", {
813
813
  className: "dc:text-sm dc:font-semibold text-dc-text",
814
814
  children: a("notebook.aiAssistant")
815
- }), /* @__PURE__ */ J("div", {
815
+ }), /* @__PURE__ */ Y("div", {
816
816
  className: "dc:flex dc:items-center dc:gap-1",
817
- children: [e && /* @__PURE__ */ q("button", {
817
+ children: [e && /* @__PURE__ */ J("button", {
818
818
  onClick: r,
819
819
  className: "dc:text-xs dc:px-2 dc:py-1 dc:rounded-sm text-dc-accent dc:hover:opacity-80",
820
820
  title: a("notebook.saveAsDashboardTitle"),
821
821
  children: a("notebook.saveAsDashboard")
822
- }), t && /* @__PURE__ */ q("button", {
822
+ }), t && /* @__PURE__ */ J("button", {
823
823
  onClick: i,
824
824
  disabled: n,
825
825
  className: "dc:text-xs dc:px-2 dc:py-1 dc:rounded-sm text-dc-text-secondary dc:hover:opacity-80 dc:disabled:opacity-40",
@@ -829,65 +829,65 @@ function Pr({ showSaveAsDashboard: e, showClear: t, isStreaming: n, onSaveAsDash
829
829
  })]
830
830
  });
831
831
  }
832
- function Fr({ scored: e, onScore: t }) {
833
- let { t: n } = R();
834
- return /* @__PURE__ */ q("div", {
832
+ function Pr({ scored: e, onScore: t }) {
833
+ let { t: n } = z();
834
+ return /* @__PURE__ */ J("div", {
835
835
  className: "dc:flex dc:items-center dc:justify-center dc:gap-3 dc:py-4 dc:mt-2",
836
- children: e ? /* @__PURE__ */ q("span", {
836
+ children: e ? /* @__PURE__ */ J("span", {
837
837
  className: "dc:text-sm text-dc-text-secondary",
838
838
  children: n("notebook.feedbackThanks")
839
- }) : /* @__PURE__ */ J(K, { children: [/* @__PURE__ */ q("span", {
839
+ }) : /* @__PURE__ */ Y(q, { children: [/* @__PURE__ */ J("span", {
840
840
  className: "dc:text-sm text-dc-text-secondary",
841
841
  children: n("notebook.feedbackQuestion")
842
- }), /* @__PURE__ */ J("div", {
842
+ }), /* @__PURE__ */ Y("div", {
843
843
  className: "dc:flex dc:items-center dc:gap-2",
844
- children: [/* @__PURE__ */ J("button", {
844
+ children: [/* @__PURE__ */ Y("button", {
845
845
  onClick: () => t(1),
846
846
  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__ */ q(Ar, { className: "dc:w-4 dc:h-4" }), n("notebook.feedbackYes")]
848
- }), /* @__PURE__ */ J("button", {
847
+ children: [/* @__PURE__ */ J(kr, { className: "dc:w-4 dc:h-4" }), n("notebook.feedbackYes")]
848
+ }), /* @__PURE__ */ Y("button", {
849
849
  onClick: () => t(0),
850
850
  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__ */ q(jr, { className: "dc:w-4 dc:h-4" }), n("notebook.feedbackNo")]
851
+ children: [/* @__PURE__ */ J(Ar, { className: "dc:w-4 dc:h-4" }), n("notebook.feedbackNo")]
852
852
  })]
853
853
  })] })
854
854
  });
855
855
  }
856
- function Ir({ loadingComponent: e }) {
857
- let { t } = R();
858
- return /* @__PURE__ */ q("div", {
856
+ function Fr({ loadingComponent: e }) {
857
+ let { t } = z();
858
+ return /* @__PURE__ */ J("div", {
859
859
  className: "dc:flex dc:mb-3 dc:justify-start",
860
860
  style: { animation: "dc-msg-in 100ms ease-out" },
861
- children: /* @__PURE__ */ J("div", {
861
+ children: /* @__PURE__ */ Y("div", {
862
862
  className: "dc:rounded-lg dc:px-3 dc:py-2 dc:text-sm bg-dc-surface-secondary text-dc-text-secondary dc:rounded-bl-sm dc:flex dc:items-center dc:gap-2",
863
- children: [e ? /* @__PURE__ */ q("span", {
863
+ children: [e ? /* @__PURE__ */ J("span", {
864
864
  className: "dc:inline-flex dc:items-center dc:justify-center dc:h-4 dc:w-4",
865
865
  children: e
866
- }) : /* @__PURE__ */ q(z, { size: "xs" }), /* @__PURE__ */ q("span", { children: t("notebook.thinking") })]
866
+ }) : /* @__PURE__ */ J(B, { size: "xs" }), /* @__PURE__ */ J("span", { children: t("notebook.thinking") })]
867
867
  })
868
868
  });
869
869
  }
870
- function Lr() {
871
- let { t: e } = R();
872
- return /* @__PURE__ */ q("div", {
870
+ function Ir() {
871
+ let { t: e } = z();
872
+ return /* @__PURE__ */ J("div", {
873
873
  className: "dc:flex dc:items-center dc:justify-center dc:h-full",
874
- children: /* @__PURE__ */ J("div", {
874
+ children: /* @__PURE__ */ Y("div", {
875
875
  className: "dc:text-center dc:max-w-xs",
876
876
  children: [
877
- /* @__PURE__ */ q("div", {
877
+ /* @__PURE__ */ J("div", {
878
878
  className: "dc:text-lg dc:font-semibold text-dc-text dc:mb-2",
879
879
  children: e("notebook.emptyState.title")
880
880
  }),
881
- /* @__PURE__ */ q("p", {
881
+ /* @__PURE__ */ J("p", {
882
882
  className: "dc:text-sm text-dc-text-secondary dc:mb-4",
883
883
  children: e("notebook.emptyState.description")
884
884
  }),
885
- /* @__PURE__ */ J("div", {
885
+ /* @__PURE__ */ Y("div", {
886
886
  className: "dc:space-y-2 dc:text-xs text-dc-text-muted",
887
887
  children: [
888
- /* @__PURE__ */ q("p", { children: e("notebook.emptyState.example1") }),
889
- /* @__PURE__ */ q("p", { children: e("notebook.emptyState.example2") }),
890
- /* @__PURE__ */ q("p", { children: e("notebook.emptyState.example3") })
888
+ /* @__PURE__ */ J("p", { children: e("notebook.emptyState.example1") }),
889
+ /* @__PURE__ */ J("p", { children: e("notebook.emptyState.example2") }),
890
+ /* @__PURE__ */ J("p", { children: e("notebook.emptyState.example3") })
891
891
  ]
892
892
  })
893
893
  ]
@@ -896,14 +896,14 @@ function Lr() {
896
896
  }
897
897
  //#endregion
898
898
  //#region src/client/components/AgenticNotebook/AgentChatPanel.tsx
899
- function Rr({ messages: e, loadingComponent: t }) {
900
- return e.length === 0 ? /* @__PURE__ */ q(Lr, {}) : /* @__PURE__ */ q(K, { children: e.map((e) => /* @__PURE__ */ q(Sr, {
899
+ function Lr({ messages: e, loadingComponent: t }) {
900
+ return e.length === 0 ? /* @__PURE__ */ J(Ir, {}) : /* @__PURE__ */ J(q, { children: e.map((e) => /* @__PURE__ */ J(xr, {
901
901
  message: e,
902
902
  loadingComponent: t
903
903
  }, e.id)) });
904
904
  }
905
- var zr = B.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 } = R(), f = W(null), p = W(!1), [m, h] = G(/* @__PURE__ */ new Set()), { messages: g, isStreaming: _, inputValue: v } = Y(t(Kn)), y = Y((e) => e.setInputValue), b = Y((e) => e.reset), x = Y((e) => e.setIsStreaming), S = Y((e) => e.blocks.filter((e) => e.type === "portlet").length), { doSend: C, handleStop: w, abort: T, isThinking: E, setIsThinking: D, lastTraceId: O, setLastTraceId: k } = kr({
905
+ var Rr = 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(Gn)), y = X((e) => e.setInputValue), b = X((e) => e.reset), x = X((e) => e.setIsStreaming), S = X((e) => e.blocks.filter((e) => e.type === "portlet").length), { doSend: C, handleStop: w, abort: T, isThinking: E, setIsThinking: D, lastTraceId: O, setLastTraceId: k } = Or({
907
907
  agentEndpoint: e,
908
908
  agentApiKey: n,
909
909
  agentProvider: r,
@@ -912,12 +912,12 @@ var zr = B.memo(function({ agentEndpoint: e, agentApiKey: n, agentProvider: r, a
912
912
  onDashboardSaved: s,
913
913
  messages: g,
914
914
  isStreaming: _
915
- }), A = W(g.length);
916
- H(() => {
915
+ }), A = G(g.length);
916
+ U(() => {
917
917
  g.length > A.current && f.current?.scrollIntoView({ behavior: "smooth" }), A.current = g.length;
918
- }, [g]), H(() => {
918
+ }, [g]), U(() => {
919
919
  E && f.current?.scrollIntoView({ behavior: "smooth" });
920
- }, [E]), H(() => {
920
+ }, [E]), U(() => {
921
921
  if (u && !p.current && g.length === 0) {
922
922
  p.current = !0;
923
923
  let e = setTimeout(() => C(u), 100);
@@ -930,13 +930,13 @@ var zr = B.memo(function({ agentEndpoint: e, agentApiKey: n, agentProvider: r, a
930
930
  g.length,
931
931
  C
932
932
  ]);
933
- let j = W(v);
933
+ let j = G(v);
934
934
  j.current = v;
935
- let M = V(() => {
935
+ let M = H(() => {
936
936
  C(j.current.trim());
937
- }, [C]), N = V(() => {
937
+ }, [C]), N = H(() => {
938
938
  y("");
939
- }, [y]), P = V(() => {
939
+ }, [y]), P = H(() => {
940
940
  T(), x(!1), D(!1), b(), k(null), h(/* @__PURE__ */ new Set()), o?.();
941
941
  }, [
942
942
  T,
@@ -945,14 +945,14 @@ var zr = B.memo(function({ agentEndpoint: e, agentApiKey: n, agentProvider: r, a
945
945
  b,
946
946
  k,
947
947
  o
948
- ]), F = V(() => {
948
+ ]), F = H(() => {
949
949
  C(d("notebook.saveAsDashboardPrompt"));
950
- }, [C, d]), ee = V((e) => {
951
- !O || !c || (c({
950
+ }, [C, d]), I = H((e) => {
951
+ O && c && (c({
952
952
  traceId: O,
953
953
  value: e
954
954
  }), h((e) => new Set(e).add(O)));
955
- }, [O, c]), { showSaveAsDashboard: I, showClear: te, showFeedback: ne, lastScored: L } = Nr({
955
+ }, [O, c]), { showSaveAsDashboard: L, showClear: ee, showFeedback: te, lastScored: R } = Mr({
956
956
  onDashboardSaved: !!s,
957
957
  onScore: !!c,
958
958
  isStreaming: _,
@@ -961,32 +961,32 @@ var zr = B.memo(function({ agentEndpoint: e, agentApiKey: n, agentProvider: r, a
961
961
  lastTraceId: O,
962
962
  scoredTraceIds: m
963
963
  });
964
- return /* @__PURE__ */ J("div", {
964
+ return /* @__PURE__ */ Y("div", {
965
965
  className: "dc:flex dc:flex-col dc:h-full bg-dc-surface",
966
966
  children: [
967
- /* @__PURE__ */ q(Pr, {
968
- showSaveAsDashboard: I,
969
- showClear: te,
967
+ /* @__PURE__ */ J(Nr, {
968
+ showSaveAsDashboard: L,
969
+ showClear: ee,
970
970
  isStreaming: _,
971
971
  onSaveAsDashboard: F,
972
972
  onClear: P
973
973
  }),
974
- /* @__PURE__ */ J("div", {
974
+ /* @__PURE__ */ Y("div", {
975
975
  className: "dc:flex-1 dc:overflow-y-auto dc:px-4 dc:py-3",
976
976
  children: [
977
- /* @__PURE__ */ q(Rr, {
977
+ /* @__PURE__ */ J(Lr, {
978
978
  messages: g,
979
979
  loadingComponent: l
980
980
  }),
981
- E && /* @__PURE__ */ q(Ir, { loadingComponent: l }),
982
- (ne || L) && /* @__PURE__ */ q(Fr, {
983
- scored: L,
984
- onScore: ee
981
+ E && /* @__PURE__ */ J(Fr, { loadingComponent: l }),
982
+ (te || R) && /* @__PURE__ */ J(Pr, {
983
+ scored: R,
984
+ onScore: I
985
985
  }),
986
- /* @__PURE__ */ q("div", { ref: f })
986
+ /* @__PURE__ */ J("div", { ref: f })
987
987
  ]
988
988
  }),
989
- /* @__PURE__ */ q(Cr, {
989
+ /* @__PURE__ */ J(Sr, {
990
990
  value: v,
991
991
  onChange: y,
992
992
  onSend: M,
@@ -1000,12 +1000,12 @@ var zr = B.memo(function({ agentEndpoint: e, agentApiKey: n, agentProvider: r, a
1000
1000
  });
1001
1001
  //#endregion
1002
1002
  //#region src/client/components/AgenticNotebook/useNotebookAutosave.ts
1003
- function Br({ blockCount: e, messageCount: t, isStreaming: n, save: r, onSave: i }) {
1004
- let a = W(), o = W(!1), s = W(i);
1003
+ function zr({ blockCount: e, messageCount: t, isStreaming: n, save: r, onSave: i }) {
1004
+ let a = G(), o = G(!1), s = G(i);
1005
1005
  s.current = i;
1006
- let c = W(e > 0 || t > 0), l = V(() => {
1006
+ let c = G(e > 0 || t > 0), l = H(() => {
1007
1007
  a.current && clearTimeout(a.current);
1008
- }, []), u = V(() => {
1008
+ }, []), u = H(() => {
1009
1009
  l(), a.current = setTimeout(() => {
1010
1010
  o.current = !1;
1011
1011
  let e = r();
@@ -1014,7 +1014,7 @@ function Br({ blockCount: e, messageCount: t, isStreaming: n, save: r, onSave: i
1014
1014
  }, [l, r]);
1015
1015
  (e > 0 || t > 0) && (c.current = !0);
1016
1016
  let d = !!s.current && c.current;
1017
- return H(() => {
1017
+ return U(() => {
1018
1018
  if (d) {
1019
1019
  if (n) {
1020
1020
  o.current = !0, l();
@@ -1029,9 +1029,9 @@ function Br({ blockCount: e, messageCount: t, isStreaming: n, save: r, onSave: i
1029
1029
  n,
1030
1030
  l,
1031
1031
  u
1032
- ]), H(() => {
1032
+ ]), U(() => {
1033
1033
  !n && o.current && s.current && c.current && u();
1034
- }, [n, u]), { clearSave: V(() => {
1034
+ }, [n, u]), { clearSave: H(() => {
1035
1035
  s.current && (l(), s.current({
1036
1036
  blocks: [],
1037
1037
  messages: []
@@ -1040,9 +1040,9 @@ function Br({ blockCount: e, messageCount: t, isStreaming: n, save: r, onSave: i
1040
1040
  }
1041
1041
  //#endregion
1042
1042
  //#region src/client/components/AgenticNotebook/index.tsx
1043
- function Vr({ blocks: e, pulsingBlockId: t, nudge: n, onExpand: r }) {
1044
- let { t: i } = R(), a = j("bookOpen"), o = j("documentText");
1045
- return /* @__PURE__ */ J("button", {
1043
+ function Br({ blocks: e, pulsingBlockId: t, nudge: n, onExpand: r }) {
1044
+ let { t: i } = z(), a = j("bookOpen"), o = j("documentText");
1045
+ return /* @__PURE__ */ Y("button", {
1046
1046
  type: "button",
1047
1047
  onClick: r,
1048
1048
  className: "dc:h-full dc:flex-shrink-0 dc:flex dc:flex-col dc:items-center dc:pt-3 dc:gap-2 bg-dc-surface border-dc-border dc:border-r dc:cursor-pointer dc:hover:bg-dc-surface-hover dc:transition-colors",
@@ -1051,46 +1051,46 @@ function Vr({ blocks: e, pulsingBlockId: t, nudge: n, onExpand: r }) {
1051
1051
  width: 48
1052
1052
  } : { width: 48 },
1053
1053
  title: i("notebook.collapsed.expandNotebook"),
1054
- children: [/* @__PURE__ */ q(a, { className: "dc:w-5 dc:h-5 text-dc-text-muted" }), /* @__PURE__ */ q("div", {
1054
+ children: [/* @__PURE__ */ J(a, { className: "dc:w-5 dc:h-5 text-dc-text-muted" }), /* @__PURE__ */ J("div", {
1055
1055
  className: "dc:flex dc:flex-col dc:items-center dc:gap-1.5 dc:flex-1 dc:overflow-y-auto dc:py-1",
1056
1056
  style: { scrollbarWidth: "none" },
1057
- children: e.length === 0 ? /* @__PURE__ */ q("span", {
1057
+ children: e.length === 0 ? /* @__PURE__ */ J("span", {
1058
1058
  className: "dc:text-[9px] text-dc-text-disabled dc:writing-vertical-lr dc:mt-2",
1059
1059
  style: { writingMode: "vertical-lr" },
1060
1060
  children: i("notebook.collapsed.noBlocks")
1061
1061
  }) : e.map((e) => {
1062
1062
  let n = e.id === t, r;
1063
- return r = e.type === "portlet" ? S(e.chartType) : o, /* @__PURE__ */ q("div", {
1063
+ return r = e.type === "portlet" ? S(e.chartType) : o, /* @__PURE__ */ J("div", {
1064
1064
  className: "dc:w-6 dc:h-6 dc:flex dc:items-center dc:justify-center dc:rounded-sm",
1065
1065
  style: n ? { animation: "dc-icon-pulse 0.6s ease-in-out 3" } : void 0,
1066
1066
  title: e.type === "portlet" ? e.title : e.title || i("notebook.collapsed.markdown"),
1067
- children: /* @__PURE__ */ q(r, { className: "dc:w-4 dc:h-4 text-dc-text-muted" })
1067
+ children: /* @__PURE__ */ J(r, { className: "dc:w-4 dc:h-4 text-dc-text-muted" })
1068
1068
  }, e.id);
1069
1069
  })
1070
1070
  })]
1071
1071
  });
1072
1072
  }
1073
- function Hr({ onExpand: e }) {
1074
- let { t } = R(), n = j("sparkles");
1075
- return /* @__PURE__ */ J("button", {
1073
+ function Vr({ onExpand: e }) {
1074
+ let { t } = z(), n = j("sparkles");
1075
+ return /* @__PURE__ */ Y("button", {
1076
1076
  type: "button",
1077
1077
  onClick: e,
1078
1078
  className: "dc:w-12 dc:h-full dc:flex-shrink-0 dc:flex dc:flex-col dc:items-center dc:pt-3 dc:gap-2 bg-dc-surface border-dc-border dc:border-l dc:cursor-pointer dc:hover:bg-dc-surface-hover dc:transition-colors",
1079
1079
  title: t("notebook.collapsed.expandChat"),
1080
- children: [/* @__PURE__ */ q(n, { className: "dc:w-5 dc:h-5 text-dc-accent" }), /* @__PURE__ */ q("span", {
1080
+ children: [/* @__PURE__ */ J(n, { className: "dc:w-5 dc:h-5 text-dc-accent" }), /* @__PURE__ */ J("span", {
1081
1081
  className: "dc:text-[10px] dc:font-medium text-dc-text-muted",
1082
1082
  style: { writingMode: "vertical-lr" },
1083
1083
  children: t("notebook.collapsed.aiChat")
1084
1084
  })]
1085
1085
  });
1086
1086
  }
1087
- function Ur({ 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] = G(60), h = W(null), g = W(!1), { containerRef: _, layoutMode: v } = An(), [y, b] = G("chat"), [x, S] = G(null), [C, w] = G(!1), T = W(v), E = Y((e) => e.blocks), D = E.length, O = Y((e) => e.messages.length), k = Y((e) => e.isStreaming), A = Y((e) => e.save);
1089
- H(() => {
1087
+ function Hr({ 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 } = kn(), [y, b] = K("chat"), [x, S] = K(null), [C, w] = K(!1), T = G(v), E = X((e) => e.blocks), D = E.length, O = X((e) => e.messages.length), k = X((e) => e.isStreaming), A = X((e) => e.save);
1089
+ U(() => {
1090
1090
  T.current === "narrow" && v === "wide" && b("chat"), T.current = v;
1091
1091
  }, [v]);
1092
- let j = W(D);
1093
- H(() => {
1092
+ let j = G(D);
1093
+ U(() => {
1094
1094
  if (v === "narrow" && y === "chat" && D > j.current) {
1095
1095
  let e = E[E.length - 1];
1096
1096
  if (e) {
@@ -1106,8 +1106,8 @@ function Ur({ agentEndpoint: e, agentApiKey: t, agentProvider: n, agentModel: r,
1106
1106
  v,
1107
1107
  y
1108
1108
  ]);
1109
- let M = W(!1);
1110
- H(() => {
1109
+ let M = G(!1);
1110
+ U(() => {
1111
1111
  if (k) M.current = !0;
1112
1112
  else if (M.current && v === "narrow" && y === "chat" && D > 0) {
1113
1113
  M.current = !1, w(!0);
@@ -1120,26 +1120,26 @@ function Ur({ agentEndpoint: e, agentApiKey: t, agentProvider: n, agentModel: r,
1120
1120
  y,
1121
1121
  D
1122
1122
  ]);
1123
- let N = V((e) => {
1123
+ let N = H((e) => {
1124
1124
  _(e), h.current = e;
1125
- }, [_]), P = W({
1125
+ }, [_]), P = G({
1126
1126
  blockCount: D,
1127
1127
  msgCount: O
1128
1128
  });
1129
- H(() => {
1129
+ U(() => {
1130
1130
  o?.(D !== P.current.blockCount || O !== P.current.msgCount);
1131
1131
  }, [
1132
1132
  D,
1133
1133
  O,
1134
1134
  o
1135
1135
  ]);
1136
- let { clearSave: F } = Br({
1136
+ let { clearSave: F } = zr({
1137
1137
  blockCount: D,
1138
1138
  messageCount: O,
1139
1139
  isStreaming: k,
1140
1140
  save: A,
1141
1141
  onSave: a
1142
- }), ee = V((e) => {
1142
+ }), I = H((e) => {
1143
1143
  e.preventDefault(), g.current = !0;
1144
1144
  let t = (e) => {
1145
1145
  if (!g.current || !h.current) return;
@@ -1149,7 +1149,7 @@ function Ur({ agentEndpoint: e, agentApiKey: t, agentProvider: n, agentModel: r,
1149
1149
  g.current = !1, document.removeEventListener("mousemove", t), document.removeEventListener("mouseup", n);
1150
1150
  };
1151
1151
  document.addEventListener("mousemove", t), document.addEventListener("mouseup", n);
1152
- }, []), I = /* @__PURE__ */ q(zr, {
1152
+ }, []), L = /* @__PURE__ */ J(Rr, {
1153
1153
  agentEndpoint: e,
1154
1154
  agentApiKey: t,
1155
1155
  agentProvider: n,
@@ -1161,46 +1161,46 @@ function Ur({ agentEndpoint: e, agentApiKey: t, agentProvider: n, agentModel: r,
1161
1161
  loadingComponent: u,
1162
1162
  initialPrompt: f
1163
1163
  });
1164
- return v === "narrow" ? /* @__PURE__ */ q("div", {
1164
+ return v === "narrow" ? /* @__PURE__ */ J("div", {
1165
1165
  ref: N,
1166
1166
  className: `dc:flex dc:h-full dc:w-full dc:overflow-hidden bg-dc-surface-secondary ${d || ""}`,
1167
- children: y === "chat" ? /* @__PURE__ */ J(K, { children: [/* @__PURE__ */ q(Vr, {
1167
+ children: y === "chat" ? /* @__PURE__ */ Y(q, { children: [/* @__PURE__ */ J(Br, {
1168
1168
  blocks: E,
1169
1169
  pulsingBlockId: x,
1170
1170
  nudge: C,
1171
1171
  onExpand: () => b("notebook")
1172
- }), /* @__PURE__ */ q("div", {
1172
+ }), /* @__PURE__ */ J("div", {
1173
1173
  className: "dc:h-full dc:overflow-hidden dc:flex-1",
1174
- children: I
1175
- })] }) : /* @__PURE__ */ J(K, { children: [/* @__PURE__ */ q("div", {
1174
+ children: L
1175
+ })] }) : /* @__PURE__ */ Y(q, { children: [/* @__PURE__ */ J("div", {
1176
1176
  className: "dc:h-full dc:overflow-hidden dc:flex-1",
1177
- children: /* @__PURE__ */ q(ur, { colorPalette: l })
1178
- }), /* @__PURE__ */ q(Hr, { onExpand: () => b("chat") })] })
1179
- }) : /* @__PURE__ */ J("div", {
1177
+ children: /* @__PURE__ */ J(lr, { colorPalette: l })
1178
+ }), /* @__PURE__ */ J(Vr, { onExpand: () => b("chat") })] })
1179
+ }) : /* @__PURE__ */ Y("div", {
1180
1180
  ref: N,
1181
1181
  className: `dc:flex dc:h-full dc:w-full dc:overflow-hidden bg-dc-surface-secondary ${d || ""}`,
1182
1182
  children: [
1183
- /* @__PURE__ */ q("div", {
1183
+ /* @__PURE__ */ J("div", {
1184
1184
  className: "dc:h-full dc:overflow-hidden",
1185
1185
  style: { width: `${p}%` },
1186
- children: /* @__PURE__ */ q(ur, { colorPalette: l })
1186
+ children: /* @__PURE__ */ J(lr, { colorPalette: l })
1187
1187
  }),
1188
- /* @__PURE__ */ q("div", {
1188
+ /* @__PURE__ */ J("div", {
1189
1189
  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",
1190
- onMouseDown: ee
1190
+ onMouseDown: I
1191
1191
  }),
1192
- /* @__PURE__ */ q("div", {
1192
+ /* @__PURE__ */ J("div", {
1193
1193
  className: "dc:h-full dc:overflow-hidden",
1194
1194
  style: { width: `${100 - p}%` },
1195
- children: I
1195
+ children: L
1196
1196
  })
1197
1197
  ]
1198
1198
  });
1199
1199
  }
1200
- var Wr = B.memo(function({ config: e, colorPalette: t, ...n }) {
1201
- return /* @__PURE__ */ q(Bn, {
1200
+ var Ur = V.memo(function({ config: e, colorPalette: t, ...n }) {
1201
+ return /* @__PURE__ */ J(zn, {
1202
1202
  initialConfig: e,
1203
- children: /* @__PURE__ */ q(Ur, {
1203
+ children: /* @__PURE__ */ J(Hr, {
1204
1204
  ...n,
1205
1205
  colorPalette: t
1206
1206
  })
@@ -1208,28 +1208,28 @@ var Wr = B.memo(function({ config: e, colorPalette: t, ...n }) {
1208
1208
  });
1209
1209
  //#endregion
1210
1210
  //#region src/client/components/AnalyticsPage.tsx
1211
- function Gr() {
1212
- let { t: e } = R();
1213
- return /* @__PURE__ */ q("div", { children: e("analyticsPage.title") });
1211
+ function Wr() {
1212
+ let { t: e } = z();
1213
+ return /* @__PURE__ */ J("div", { children: e("analyticsPage.title") });
1214
1214
  }
1215
1215
  //#endregion
1216
1216
  //#region src/client/stores/dataBrowserStore.tsx
1217
- var Kr = "dc-data-browser-column-widths";
1218
- function qr(e) {
1217
+ var Gr = "dc-data-browser-column-widths";
1218
+ function Kr(e) {
1219
1219
  try {
1220
- let t = localStorage.getItem(Kr);
1220
+ let t = localStorage.getItem(Gr);
1221
1221
  return t ? JSON.parse(t)[e] ?? {} : {};
1222
1222
  } catch {
1223
1223
  return {};
1224
1224
  }
1225
1225
  }
1226
- function Jr(e, t) {
1226
+ function qr(e, t) {
1227
1227
  try {
1228
- let n = localStorage.getItem(Kr), r = n ? JSON.parse(n) : {};
1229
- r[e] = t, localStorage.setItem(Kr, JSON.stringify(r));
1228
+ let n = localStorage.getItem(Gr), r = n ? JSON.parse(n) : {};
1229
+ r[e] = t, localStorage.setItem(Gr, JSON.stringify(r));
1230
1230
  } catch {}
1231
1231
  }
1232
- function Yr(e = {}) {
1232
+ function Jr(e = {}) {
1233
1233
  return i()((t, n) => ({
1234
1234
  selectedCube: e.defaultCube ?? null,
1235
1235
  visibleColumns: e.defaultColumns ?? [],
@@ -1240,7 +1240,7 @@ function Yr(e = {}) {
1240
1240
  filters: [],
1241
1241
  showFilterBar: !1,
1242
1242
  showColumnPicker: !1,
1243
- columnWidths: e.defaultCube ? qr(e.defaultCube) : {},
1243
+ columnWidths: e.defaultCube ? Kr(e.defaultCube) : {},
1244
1244
  selectCube: (e, n) => t({
1245
1245
  selectedCube: e,
1246
1246
  visibleColumns: n,
@@ -1249,7 +1249,7 @@ function Yr(e = {}) {
1249
1249
  page: 0,
1250
1250
  filters: [],
1251
1251
  showFilterBar: !1,
1252
- columnWidths: qr(e)
1252
+ columnWidths: Kr(e)
1253
1253
  }),
1254
1254
  setVisibleColumns: (e) => t({
1255
1255
  visibleColumns: e,
@@ -1296,39 +1296,39 @@ function Yr(e = {}) {
1296
1296
  ...t.columnWidths,
1297
1297
  [e]: n
1298
1298
  };
1299
- return t.selectedCube && Jr(t.selectedCube, r), { columnWidths: r };
1299
+ return t.selectedCube && qr(t.selectedCube, r), { columnWidths: r };
1300
1300
  }),
1301
1301
  setColumnWidths: (e) => {
1302
1302
  let r = n().selectedCube;
1303
- r && Jr(r, e), t({ columnWidths: e });
1303
+ r && qr(r, e), t({ columnWidths: e });
1304
1304
  }
1305
1305
  }));
1306
1306
  }
1307
- var Xr = Pn(null);
1308
- function Zr({ children: e, defaultPageSize: t, defaultCube: n, defaultColumns: r }) {
1309
- let i = W(null);
1310
- return i.current ||= Yr({
1307
+ var Yr = Nn(null);
1308
+ function Xr({ children: e, defaultPageSize: t, defaultCube: n, defaultColumns: r }) {
1309
+ let i = G(null);
1310
+ return i.current ||= Jr({
1311
1311
  defaultPageSize: t,
1312
1312
  defaultCube: n,
1313
1313
  defaultColumns: r
1314
- }), /* @__PURE__ */ q(Xr.Provider, {
1314
+ }), /* @__PURE__ */ J(Yr.Provider, {
1315
1315
  value: i.current,
1316
1316
  children: e
1317
1317
  });
1318
1318
  }
1319
- function Q(e) {
1320
- let t = Fn(Xr);
1319
+ function $(e) {
1320
+ let t = Pn(Yr);
1321
1321
  if (!t) throw Error("useDataBrowserStore must be used within DataBrowserStoreProvider");
1322
1322
  return n(t, e);
1323
1323
  }
1324
1324
  //#endregion
1325
1325
  //#region src/client/hooks/useDataBrowser.ts
1326
- function Qr(e, t) {
1326
+ function Zr(e, t) {
1327
1327
  if (!t) return !0;
1328
1328
  let [n, r] = e.split("."), i = t.cubes.find((e) => e.name === n);
1329
1329
  return !i || i.dimensions.some((e) => e.name === `${n}.${r}`);
1330
1330
  }
1331
- function $r(e, t) {
1331
+ function Qr(e, t) {
1332
1332
  if (!t) return "string";
1333
1333
  let [n] = e.split("."), r = t.cubes.find((e) => e.name === n);
1334
1334
  if (!r) return "string";
@@ -1337,7 +1337,7 @@ function $r(e, t) {
1337
1337
  let a = r.measures.find((t) => t.name === e);
1338
1338
  return a ? a.type : "string";
1339
1339
  }
1340
- function ei(e, t) {
1340
+ function $r(e, t) {
1341
1341
  if (!t) return {
1342
1342
  dimensions: [],
1343
1343
  measures: []
@@ -1359,8 +1359,8 @@ function ei(e, t) {
1359
1359
  measures: n.measures.filter((e) => r.has(e.type)).map((e) => e.name)
1360
1360
  };
1361
1361
  }
1362
- function ti() {
1363
- let e = Q((e) => e.selectedCube), n = Q((e) => e.visibleColumns), r = Q((e) => e.sortColumn), i = Q((e) => e.sortDirection), a = Q((e) => e.page), o = Q((e) => e.pageSize), s = Q((e) => e.filters), c = Q((e) => e.showFilterBar), l = Q((e) => e.showColumnPicker), u = Q(t((e) => ({
1362
+ function ei() {
1363
+ 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
1364
  selectCube: e.selectCube,
1365
1365
  setVisibleColumns: e.setVisibleColumns,
1366
1366
  toggleColumn: e.toggleColumn,
@@ -1371,15 +1371,15 @@ function ti() {
1371
1371
  setFilters: e.setFilters,
1372
1372
  toggleFilterBar: e.toggleFilterBar,
1373
1373
  setShowColumnPicker: e.setShowColumnPicker
1374
- }))), { meta: d, getFieldLabel: f } = vt(), p = U(() => {
1374
+ }))), { meta: d, getFieldLabel: f } = vt(), p = W(() => {
1375
1375
  if (!d || !e) return null;
1376
1376
  let t = d.cubes.find((t) => t.name === e);
1377
1377
  if (!t) return null;
1378
1378
  let n = t.dimensions.find((e) => e.primaryKey);
1379
1379
  return n ? n.name : t.dimensions.length > 0 ? t.dimensions[0].name : null;
1380
- }, [d, e]), m = r ?? p, h = r ? i : "asc", g = U(() => {
1380
+ }, [d, e]), m = r ?? p, h = r ? i : "asc", g = W(() => {
1381
1381
  if (!e || n.length === 0) return null;
1382
- let t = n.filter((e) => Qr(e, d)), r = n.filter((e) => !Qr(e, d));
1382
+ let t = n.filter((e) => Zr(e, d)), r = n.filter((e) => !Zr(e, d));
1383
1383
  if (t.length === 0) return null;
1384
1384
  let i = {
1385
1385
  dimensions: t,
@@ -1433,24 +1433,24 @@ function ti() {
1433
1433
  }
1434
1434
  //#endregion
1435
1435
  //#region src/client/components/DataBrowser/DataBrowserSidebar.tsx
1436
- var ni = j("search"), ri = j("cube");
1437
- function ii({ cubes: e, selectedCube: t, onSelectCube: n }) {
1438
- let { t: r } = R(), [i, a] = G(""), o = U(() => {
1436
+ var ti = j("search"), ni = j("cube");
1437
+ function ri({ cubes: e, selectedCube: t, onSelectCube: n }) {
1438
+ let { t: r } = z(), [i, a] = K(""), o = W(() => {
1439
1439
  let t = [...e].sort((e, t) => (e.title || e.name).localeCompare(t.title || t.name));
1440
1440
  if (!i) return t;
1441
1441
  let n = i.toLowerCase();
1442
1442
  return t.filter((e) => e.name.toLowerCase().includes(n) || e.title.toLowerCase().includes(n));
1443
1443
  }, [e, i]);
1444
- return /* @__PURE__ */ J("div", {
1444
+ return /* @__PURE__ */ Y("div", {
1445
1445
  className: "dc:flex dc:flex-col dc:h-full dc:border-r border-dc-border bg-dc-surface dc:w-60 dc:shrink-0",
1446
- children: [/* @__PURE__ */ J("div", {
1446
+ children: [/* @__PURE__ */ Y("div", {
1447
1447
  className: "dc:px-3 dc:py-3 dc:border-b border-dc-border",
1448
- children: [/* @__PURE__ */ q("h2", {
1448
+ children: [/* @__PURE__ */ J("h2", {
1449
1449
  className: "dc:text-sm dc:font-semibold text-dc-text dc:mb-2",
1450
1450
  children: r("dataBrowser.sidebar.cubes")
1451
- }), /* @__PURE__ */ J("div", {
1451
+ }), /* @__PURE__ */ Y("div", {
1452
1452
  className: "dc:relative",
1453
- children: [/* @__PURE__ */ q(ni, { 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__ */ q("input", {
1453
+ children: [/* @__PURE__ */ J(ti, { 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
1454
  type: "text",
1455
1455
  value: i,
1456
1456
  onChange: (e) => a(e.target.value),
@@ -1458,16 +1458,16 @@ function ii({ cubes: e, selectedCube: t, onSelectCube: n }) {
1458
1458
  className: "dc:w-full dc:pl-7 dc:pr-2 dc:py-1.5 dc:text-xs dc:rounded-sm border-dc-border dc:border bg-dc-surface text-dc-text dc:outline-none dc:focus:ring-1 focus:ring-dc-accent"
1459
1459
  })]
1460
1460
  })]
1461
- }), /* @__PURE__ */ J("div", {
1461
+ }), /* @__PURE__ */ Y("div", {
1462
1462
  className: "dc:flex-1 dc:overflow-y-auto dc:py-1",
1463
- children: [o.map((e) => /* @__PURE__ */ J("button", {
1463
+ children: [o.map((e) => /* @__PURE__ */ Y("button", {
1464
1464
  onClick: () => n(e.name),
1465
1465
  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__ */ q(ri, { className: "dc:w-4 dc:h-4 dc:shrink-0 text-dc-text-muted" }), /* @__PURE__ */ q("span", {
1466
+ children: [/* @__PURE__ */ J(ni, { className: "dc:w-4 dc:h-4 dc:shrink-0 text-dc-text-muted" }), /* @__PURE__ */ J("span", {
1467
1467
  className: "dc:truncate",
1468
1468
  children: e.title || e.name
1469
1469
  })]
1470
- }, e.name)), o.length === 0 && /* @__PURE__ */ q("div", {
1470
+ }, e.name)), o.length === 0 && /* @__PURE__ */ J("div", {
1471
1471
  className: "dc:px-3 dc:py-4 dc:text-xs text-dc-text-muted dc:text-center",
1472
1472
  children: r("dataBrowser.sidebar.noCubes")
1473
1473
  })]
@@ -1476,77 +1476,77 @@ function ii({ cubes: e, selectedCube: t, onSelectCube: n }) {
1476
1476
  }
1477
1477
  //#endregion
1478
1478
  //#region src/client/components/DataBrowser/DataBrowserToolbar.tsx
1479
- var ai = j("filter"), oi = j("settings"), si = j("chevronLeft"), ci = j("chevronRight"), li = j("refresh");
1480
- function ui({ 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
- let { t: p } = R();
1482
- return /* @__PURE__ */ J("div", {
1479
+ var ii = j("filter"), ai = j("settings"), oi = j("chevronLeft"), si = j("chevronRight"), ci = j("refresh");
1480
+ function li({ 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
+ let { t: p } = z();
1482
+ return /* @__PURE__ */ Y("div", {
1483
1483
  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",
1484
1484
  children: [
1485
- /* @__PURE__ */ J("button", {
1485
+ /* @__PURE__ */ Y("button", {
1486
1486
  onClick: n,
1487
1487
  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
1488
  children: [
1489
- /* @__PURE__ */ q(ai, { className: "dc:w-3.5 dc:h-3.5" }),
1489
+ /* @__PURE__ */ J(ii, { className: "dc:w-3.5 dc:h-3.5" }),
1490
1490
  p("dataBrowser.toolbar.filters"),
1491
- t > 0 && /* @__PURE__ */ q("span", {
1491
+ t > 0 && /* @__PURE__ */ J("span", {
1492
1492
  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",
1493
1493
  children: t
1494
1494
  })
1495
1495
  ]
1496
1496
  }),
1497
- /* @__PURE__ */ J("button", {
1497
+ /* @__PURE__ */ Y("button", {
1498
1498
  onClick: r,
1499
1499
  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__ */ q(oi, { className: "dc:w-3.5 dc:h-3.5" }), p("dataBrowser.toolbar.columns")]
1500
+ children: [/* @__PURE__ */ J(ai, { className: "dc:w-3.5 dc:h-3.5" }), p("dataBrowser.toolbar.columns")]
1501
1501
  }),
1502
- /* @__PURE__ */ q("div", { className: "dc:flex-1" }),
1503
- /* @__PURE__ */ q("span", {
1502
+ /* @__PURE__ */ J("div", { className: "dc:flex-1" }),
1503
+ /* @__PURE__ */ J("span", {
1504
1504
  className: "dc:text-xs text-dc-text-muted",
1505
1505
  children: p("dataBrowser.toolbar.rows", { count: o })
1506
1506
  }),
1507
- /* @__PURE__ */ q("button", {
1507
+ /* @__PURE__ */ J("button", {
1508
1508
  onClick: f,
1509
1509
  className: "dc:p-1 dc:rounded-sm dc:hover:bg-dc-surface-hover dc:transition-colors",
1510
1510
  title: "Refresh",
1511
- children: /* @__PURE__ */ q(li, { className: `dc:w-3.5 dc:h-3.5 text-dc-text-muted ${d ? "dc:animate-spin" : ""}` })
1511
+ children: /* @__PURE__ */ J(ci, { className: `dc:w-3.5 dc:h-3.5 text-dc-text-muted ${d ? "dc:animate-spin" : ""}` })
1512
1512
  }),
1513
- /* @__PURE__ */ J("select", {
1513
+ /* @__PURE__ */ Y("select", {
1514
1514
  value: a,
1515
1515
  onChange: (e) => u(Number(e.target.value)),
1516
1516
  className: "dc:text-xs dc:px-1.5 dc:py-1 dc:rounded-sm dc:border border-dc-border bg-dc-surface text-dc-text dc:outline-none",
1517
1517
  children: [
1518
- /* @__PURE__ */ q("option", {
1518
+ /* @__PURE__ */ J("option", {
1519
1519
  value: 20,
1520
1520
  children: "20"
1521
1521
  }),
1522
- /* @__PURE__ */ q("option", {
1522
+ /* @__PURE__ */ J("option", {
1523
1523
  value: 50,
1524
1524
  children: "50"
1525
1525
  }),
1526
- /* @__PURE__ */ q("option", {
1526
+ /* @__PURE__ */ J("option", {
1527
1527
  value: 100,
1528
1528
  children: "100"
1529
1529
  })
1530
1530
  ]
1531
1531
  }),
1532
- /* @__PURE__ */ J("div", {
1532
+ /* @__PURE__ */ Y("div", {
1533
1533
  className: "dc:flex dc:items-center dc:gap-1",
1534
1534
  children: [
1535
- /* @__PURE__ */ q("button", {
1535
+ /* @__PURE__ */ J("button", {
1536
1536
  onClick: () => l(i - 1),
1537
1537
  disabled: !c,
1538
1538
  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__ */ q(si, { className: "dc:w-4 dc:h-4 text-dc-text-muted" })
1539
+ children: /* @__PURE__ */ J(oi, { className: "dc:w-4 dc:h-4 text-dc-text-muted" })
1540
1540
  }),
1541
- /* @__PURE__ */ q("span", {
1541
+ /* @__PURE__ */ J("span", {
1542
1542
  className: "dc:text-xs dc:font-medium text-dc-text dc:min-w-[2rem] dc:text-center",
1543
1543
  children: i + 1
1544
1544
  }),
1545
- /* @__PURE__ */ q("button", {
1545
+ /* @__PURE__ */ J("button", {
1546
1546
  onClick: () => l(i + 1),
1547
1547
  disabled: !s,
1548
1548
  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__ */ q(ci, { className: "dc:w-4 dc:h-4 text-dc-text-muted" })
1549
+ children: /* @__PURE__ */ J(si, { className: "dc:w-4 dc:h-4 text-dc-text-muted" })
1550
1550
  })
1551
1551
  ]
1552
1552
  })
@@ -1555,9 +1555,9 @@ function ui({ showFilterBar: e, filterCount: t, onToggleFilterBar: n, onToggleCo
1555
1555
  }
1556
1556
  //#endregion
1557
1557
  //#region src/client/components/DataBrowser/DataBrowserTable.tsx
1558
- var di = j("chevronUp"), fi = j("chevronDown");
1559
- function pi(e, t) {
1560
- let n = $r(e, t);
1558
+ var ui = j("chevronUp"), di = j("chevronDown");
1559
+ function fi(e, t) {
1560
+ let n = Qr(e, t);
1561
1561
  return {
1562
1562
  string: "text",
1563
1563
  number: "num",
@@ -1569,14 +1569,14 @@ function pi(e, t) {
1569
1569
  max: "num"
1570
1570
  }[n] || n;
1571
1571
  }
1572
- function mi(e, t) {
1573
- return pi(e, t) === "num";
1572
+ function pi(e, t) {
1573
+ return fi(e, t) === "num";
1574
1574
  }
1575
- function hi(e) {
1575
+ function mi(e) {
1576
1576
  return e == null ? "" : typeof e == "number" ? e.toLocaleString() : typeof e == "boolean" ? e ? "true" : "false" : e instanceof Date ? e.toISOString() : String(e);
1577
1577
  }
1578
- var gi = 60, $ = 150, _i = B.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
- let { t: d } = R(), f = Q((e) => e.columnWidths), p = Q((e) => e.setColumnWidth), m = Q((e) => e.setColumnWidths), h = W(null), g = W(!1), _ = V((e, n) => {
1578
+ var hi = 60, gi = 150, _i = 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
+ 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
1580
  e.preventDefault(), e.stopPropagation();
1581
1581
  let r = e.clientX;
1582
1582
  g.current = !1;
@@ -1588,10 +1588,10 @@ var gi = 60, $ = 150, _i = B.memo(function({ data: e, columns: t, sortColumn: n,
1588
1588
  i && (n[i] = e.getBoundingClientRect().width);
1589
1589
  }), m(n);
1590
1590
  }
1591
- let a = e.target.closest("th"), o = a ? a.getBoundingClientRect().width : $, s = (e) => {
1591
+ let a = e.target.closest("th"), o = a ? a.getBoundingClientRect().width : gi, s = (e) => {
1592
1592
  let t = e.clientX - r;
1593
1593
  Math.abs(t) > 2 && (g.current = !0);
1594
- let i = Math.max(gi, o + t);
1594
+ let i = Math.max(hi, o + t);
1595
1595
  p(n, i);
1596
1596
  }, c = () => {
1597
1597
  document.removeEventListener("mousemove", s), document.removeEventListener("mouseup", c), document.body.style.cursor = "", document.body.style.userSelect = "", requestAnimationFrame(() => {
@@ -1603,24 +1603,24 @@ var gi = 60, $ = 150, _i = B.memo(function({ data: e, columns: t, sortColumn: n,
1603
1603
  t,
1604
1604
  p,
1605
1605
  m
1606
- ]), v = V((e) => {
1606
+ ]), v = H((e) => {
1607
1607
  g.current || i(e);
1608
- }, [i]), y = Object.keys(f).length > 0 ? t.reduce((e, t) => e + (f[t] ?? $), 0) : void 0;
1609
- return l ? e ? e.length === 0 && !s && !c ? /* @__PURE__ */ q("div", {
1608
+ }, [i]), y = Object.keys(f).length > 0 ? t.reduce((e, t) => e + (f[t] ?? gi), 0) : void 0;
1609
+ return l ? e ? e.length === 0 && !s && !c ? /* @__PURE__ */ J("div", {
1610
1610
  className: "dc:flex dc:items-center dc:justify-center dc:h-full",
1611
- children: /* @__PURE__ */ J("div", {
1611
+ children: /* @__PURE__ */ Y("div", {
1612
1612
  className: "dc:text-center text-dc-text-muted",
1613
- children: [/* @__PURE__ */ q("div", {
1613
+ children: [/* @__PURE__ */ J("div", {
1614
1614
  className: "dc:text-sm dc:font-semibold dc:mb-1",
1615
1615
  children: d("dataBrowser.noData")
1616
- }), /* @__PURE__ */ q("div", {
1616
+ }), /* @__PURE__ */ J("div", {
1617
1617
  className: "dc:text-xs text-dc-text-secondary",
1618
1618
  children: d("dataBrowser.noRows")
1619
1619
  })]
1620
1620
  })
1621
- }) : /* @__PURE__ */ J("div", {
1621
+ }) : /* @__PURE__ */ Y("div", {
1622
1622
  className: "dc:relative dc:flex-1 dc:overflow-auto",
1623
- children: [c && /* @__PURE__ */ q("div", { className: "dc:absolute dc:inset-0 bg-dc-surface dc:opacity-40 dc:z-10 dc:pointer-events-none" }), /* @__PURE__ */ J("table", {
1623
+ children: [c && /* @__PURE__ */ J("div", { className: "dc:absolute dc:inset-0 bg-dc-surface dc:opacity-40 dc:z-10 dc:pointer-events-none" }), /* @__PURE__ */ Y("table", {
1624
1624
  ref: h,
1625
1625
  className: "dc:border-collapse",
1626
1626
  style: {
@@ -1629,31 +1629,31 @@ var gi = 60, $ = 150, _i = B.memo(function({ data: e, columns: t, sortColumn: n,
1629
1629
  minWidth: "100%"
1630
1630
  },
1631
1631
  children: [
1632
- /* @__PURE__ */ q("colgroup", { children: t.map((e) => /* @__PURE__ */ q("col", { style: { width: f[e] ?? $ } }, e)) }),
1633
- /* @__PURE__ */ q("thead", {
1632
+ /* @__PURE__ */ J("colgroup", { children: t.map((e) => /* @__PURE__ */ J("col", { style: { width: f[e] ?? gi } }, e)) }),
1633
+ /* @__PURE__ */ J("thead", {
1634
1634
  className: "dc:sticky dc:top-0 dc:z-20",
1635
1635
  style: { backgroundColor: "var(--dc-surface-secondary)" },
1636
- children: /* @__PURE__ */ q("tr", { children: t.map((e, i) => {
1637
- let s = n === e, c = a(e), l = pi(e, o), u = i === t.length - 1, d = mi(e, o);
1638
- return /* @__PURE__ */ J("th", {
1636
+ children: /* @__PURE__ */ J("tr", { children: t.map((e, i) => {
1637
+ let s = n === e, c = a(e), l = fi(e, o), u = i === t.length - 1, d = pi(e, o);
1638
+ return /* @__PURE__ */ Y("th", {
1639
1639
  onClick: () => v(e),
1640
1640
  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"}`,
1641
1641
  style: { color: "var(--dc-text-muted)" },
1642
- children: [/* @__PURE__ */ J("div", {
1642
+ children: [/* @__PURE__ */ Y("div", {
1643
1643
  className: `dc:flex dc:items-center dc:gap-1.5 dc:overflow-hidden${d ? " dc:justify-end" : ""}`,
1644
1644
  children: [
1645
- /* @__PURE__ */ q("span", {
1645
+ /* @__PURE__ */ J("span", {
1646
1646
  className: "dc:font-medium dc:truncate",
1647
1647
  style: { color: "var(--dc-text)" },
1648
1648
  children: c
1649
1649
  }),
1650
- /* @__PURE__ */ q("span", {
1650
+ /* @__PURE__ */ J("span", {
1651
1651
  className: "dc:text-[10px] dc:opacity-50 dc:shrink-0",
1652
1652
  children: l
1653
1653
  }),
1654
- s && q(r === "asc" ? di : fi, { className: "dc:w-3 dc:h-3 text-dc-accent dc:shrink-0" })
1654
+ s && J(r === "asc" ? ui : di, { className: "dc:w-3 dc:h-3 text-dc-accent dc:shrink-0" })
1655
1655
  ]
1656
- }), /* @__PURE__ */ q("div", {
1656
+ }), /* @__PURE__ */ J("div", {
1657
1657
  onMouseDown: (t) => _(t, e),
1658
1658
  className: "dc:absolute dc:top-0 dc:right-0 dc:w-1.5 dc:h-full dc:cursor-col-resize dc:hover:bg-dc-accent dc:opacity-0 dc:hover:opacity-100 dc:transition-opacity",
1659
1659
  style: { zIndex: 30 }
@@ -1661,7 +1661,7 @@ var gi = 60, $ = 150, _i = B.memo(function({ data: e, columns: t, sortColumn: n,
1661
1661
  }, e);
1662
1662
  }) })
1663
1663
  }),
1664
- /* @__PURE__ */ q("tbody", { children: e.map((e, n) => /* @__PURE__ */ q("tr", {
1664
+ /* @__PURE__ */ J("tbody", { children: e.map((e, n) => /* @__PURE__ */ J("tr", {
1665
1665
  className: "dc:border-b border-dc-border",
1666
1666
  style: { transition: "background-color 0.1s" },
1667
1667
  onMouseEnter: (e) => {
@@ -1671,30 +1671,30 @@ var gi = 60, $ = 150, _i = B.memo(function({ data: e, columns: t, sortColumn: n,
1671
1671
  e.currentTarget.style.backgroundColor = "";
1672
1672
  },
1673
1673
  children: t.map((n, r) => {
1674
- let i = r === t.length - 1, a = mi(n, o);
1675
- return /* @__PURE__ */ q("td", {
1674
+ let i = r === t.length - 1, a = pi(n, o);
1675
+ return /* @__PURE__ */ J("td", {
1676
1676
  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
1677
  style: { color: "var(--dc-text)" },
1678
- children: hi(e[n])
1678
+ children: mi(e[n])
1679
1679
  }, n);
1680
1680
  })
1681
1681
  }, n)) })
1682
1682
  ]
1683
1683
  })]
1684
- }) : /* @__PURE__ */ q("div", {
1684
+ }) : /* @__PURE__ */ J("div", {
1685
1685
  className: "dc:flex dc:flex-col dc:items-center dc:justify-center dc:h-full dc:gap-3",
1686
- children: u ?? /* @__PURE__ */ J(K, { children: [/* @__PURE__ */ q(z, { size: "md" }), /* @__PURE__ */ q("div", {
1686
+ children: u ?? /* @__PURE__ */ Y(q, { children: [/* @__PURE__ */ J(B, { size: "md" }), /* @__PURE__ */ J("div", {
1687
1687
  className: "dc:text-sm text-dc-text-muted",
1688
1688
  children: d("dataBrowser.loadingData")
1689
1689
  })] })
1690
- }) : /* @__PURE__ */ q("div", {
1690
+ }) : /* @__PURE__ */ J("div", {
1691
1691
  className: "dc:flex dc:items-center dc:justify-center dc:h-full",
1692
- children: /* @__PURE__ */ J("div", {
1692
+ children: /* @__PURE__ */ Y("div", {
1693
1693
  className: "dc:text-center text-dc-text-muted",
1694
- children: [/* @__PURE__ */ q("div", {
1694
+ children: [/* @__PURE__ */ J("div", {
1695
1695
  className: "dc:text-base dc:font-semibold dc:mb-1",
1696
1696
  children: d("dataBrowser.selectCube")
1697
- }), /* @__PURE__ */ q("div", {
1697
+ }), /* @__PURE__ */ J("div", {
1698
1698
  className: "dc:text-sm text-dc-text-secondary",
1699
1699
  children: d("dataBrowser.selectCubeHint")
1700
1700
  })]
@@ -1704,40 +1704,40 @@ var gi = 60, $ = 150, _i = B.memo(function({ data: e, columns: t, sortColumn: n,
1704
1704
  //#endregion
1705
1705
  //#region src/client/components/DataBrowser/index.tsx
1706
1706
  function vi({ 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 } = ti(), k = U(() => v ? v.cubes.map((e) => ({
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 } = ei(), k = W(() => v ? v.cubes.map((e) => ({
1708
1708
  name: e.name,
1709
1709
  title: e.title || e.name
1710
- })) : [], [v]), A = V((e) => {
1711
- let { dimensions: t } = ei(e, v);
1710
+ })) : [], [v]), A = H((e) => {
1711
+ let { dimensions: t } = $r(e, v);
1712
1712
  b(e, t);
1713
- }, [v, b]), j = U(() => {
1713
+ }, [v, b]), j = W(() => {
1714
1714
  function e(t) {
1715
1715
  return t.reduce((t, n) => "member" in n ? t + 1 : "type" in n && "filters" in n ? t + e(n.filters) : t, 0);
1716
1716
  }
1717
1717
  return e(l);
1718
- }, [l]), M = U(() => {
1718
+ }, [l]), M = W(() => {
1719
1719
  if (!v) return null;
1720
1720
  if (r) {
1721
1721
  let e = v.cubes.find((e) => e.name === r);
1722
1722
  return e ? { cubes: [e] } : null;
1723
1723
  }
1724
1724
  return v;
1725
- }, [v, r]), N = V((e, t, n, r) => {
1725
+ }, [v, r]), N = H((e, t, n, r) => {
1726
1726
  D(e.name);
1727
1727
  }, [D]);
1728
- return /* @__PURE__ */ J("div", {
1728
+ return /* @__PURE__ */ Y("div", {
1729
1729
  className: `dc:flex dc:border border-dc-border dc:rounded-lg dc:overflow-hidden bg-dc-surface ${e}`,
1730
1730
  style: { height: t },
1731
1731
  children: [
1732
- /* @__PURE__ */ q(ii, {
1732
+ /* @__PURE__ */ J(ri, {
1733
1733
  cubes: k,
1734
1734
  selectedCube: r,
1735
1735
  onSelectCube: A
1736
1736
  }),
1737
- /* @__PURE__ */ J("div", {
1737
+ /* @__PURE__ */ Y("div", {
1738
1738
  className: "dc:flex dc:flex-col dc:flex-1 dc:min-w-0",
1739
1739
  children: [
1740
- r && /* @__PURE__ */ q(ui, {
1740
+ r && /* @__PURE__ */ J(li, {
1741
1741
  showFilterBar: u,
1742
1742
  filterCount: j,
1743
1743
  onToggleFilterBar: T,
@@ -1752,15 +1752,15 @@ function vi({ className: e = "", maxHeight: t = "100vh", loadingComponent: n })
1752
1752
  isFetching: m,
1753
1753
  onRefresh: () => O()
1754
1754
  }),
1755
- r && u && /* @__PURE__ */ q("div", {
1755
+ r && u && /* @__PURE__ */ J("div", {
1756
1756
  className: "dc:px-3 dc:py-2 dc:border-b border-dc-border bg-dc-surface",
1757
- children: /* @__PURE__ */ q(en, {
1757
+ children: /* @__PURE__ */ J(en, {
1758
1758
  filters: l,
1759
1759
  schema: M,
1760
1760
  onFiltersChange: w
1761
1761
  })
1762
1762
  }),
1763
- /* @__PURE__ */ q(_i, {
1763
+ /* @__PURE__ */ J(_i, {
1764
1764
  data: f,
1765
1765
  columns: i,
1766
1766
  sortColumn: a,
@@ -1775,7 +1775,7 @@ function vi({ className: e = "", maxHeight: t = "100vh", loadingComponent: n })
1775
1775
  })
1776
1776
  ]
1777
1777
  }),
1778
- d && M && /* @__PURE__ */ q(Ze, {
1778
+ d && M && /* @__PURE__ */ J($e, {
1779
1779
  isOpen: d,
1780
1780
  onClose: () => E(!1),
1781
1781
  onSelect: N,
@@ -1787,10 +1787,10 @@ function vi({ className: e = "", maxHeight: t = "100vh", loadingComponent: n })
1787
1787
  });
1788
1788
  }
1789
1789
  function yi({ className: e, defaultCube: t, defaultPageSize: n = 20, maxHeight: r, loadingComponent: i }) {
1790
- return /* @__PURE__ */ q(Zr, {
1790
+ return /* @__PURE__ */ J(Xr, {
1791
1791
  defaultPageSize: n,
1792
1792
  defaultCube: t,
1793
- children: /* @__PURE__ */ q(vi, {
1793
+ children: /* @__PURE__ */ J(vi, {
1794
1794
  className: e,
1795
1795
  maxHeight: r,
1796
1796
  loadingComponent: i
@@ -1801,11 +1801,11 @@ function yi({ className: e, defaultCube: t, defaultPageSize: n = 20, maxHeight:
1801
1801
  //#region src/client/components/DashboardThumbnailPlaceholder.tsx
1802
1802
  var bi = j("segment");
1803
1803
  function xi({ className: e = "" }) {
1804
- return /* @__PURE__ */ q("div", {
1804
+ return /* @__PURE__ */ J("div", {
1805
1805
  className: `dc:flex dc:items-center dc:justify-center bg-dc-bg-secondary ${e}`,
1806
- children: /* @__PURE__ */ J("div", {
1806
+ children: /* @__PURE__ */ Y("div", {
1807
1807
  className: "dc:text-center",
1808
- children: [/* @__PURE__ */ q(bi, { className: "dc:w-8 dc:h-8 dc:mx-auto dc:mb-2 text-dc-text-muted dc:opacity-50" }), /* @__PURE__ */ q("span", {
1808
+ children: [/* @__PURE__ */ J(bi, { className: "dc:w-8 dc:h-8 dc:mx-auto dc:mb-2 text-dc-text-muted dc:opacity-50" }), /* @__PURE__ */ J("span", {
1809
1809
  className: "dc:text-xs text-dc-text-muted",
1810
1810
  children: "No preview"
1811
1811
  })]
@@ -1813,6 +1813,6 @@ function xi({ className: e = "" }) {
1813
1813
  });
1814
1814
  }
1815
1815
  //#endregion
1816
- export { Wr as AgenticNotebook, Ae as AnalysisBuilder, qe as AnalyticsDashboard, Gr as AnalyticsPage, ye as AnalyticsPortlet, F as ChartErrorBoundary, He as ConfirmModal, x as CubeClient, D as CubeProvider, f as CubeQueryError, u as DEFAULT_ICONS, Ye as DashboardEditModal, Ne as DashboardFilterBar, Fe as DashboardGrid, ze as DashboardGridSurface, Ce as DashboardModals, te as DashboardProvider, fe as DashboardStoreProvider, xi as DashboardThumbnailPlaceholder, $e as DashboardToolbar, yi as DataBrowser, xe as DrillBreadcrumb, pe as DrillMenu, tn as ExecutionPlanPanel, rn as ExplainAIPanel, Jt as LazyChart, z as LoadingIndicator, We as Modal, Bn as NotebookStoreProvider, Ee as PortletAnalysisModal, Ve as PortletContainer, o as ScrollContainerProvider, Tt as THEME_PRESETS, wt as applyTheme, Bt as buildFunnelConfigFromQueries, Lt as buildServerFunnelQuery, g as captureThumbnail, E as chartPluginRegistry, _n as compressAndEncode, b as createCubeClient, Nn as createDashboardLayout, L as createDashboardStore, Je as createDefaultConfig, De as createDefaultFlowConfig, Re as createDefaultFunnelConfig, Xe as createDefaultQueryConfig, Oe as createDefaultRetentionConfig, je as createDefaultWorkspace, jt as createExplainQueryKey, pt as createFlowQueryKey, ot as createFunnelQueryKey, Rn as createNotebookStore, wn as decodeAndDecompress, pn as detectAsymmetricDateRanges, fn as detectMeasureCollisions, T as exportPortletToXlsx, Mn as formatChartData, Ft as formatDuration, ct as generateQueryLabel, un as generateShareUrl, Cn as getAvailableBindingKeyDimensions, Wt as getAvailableChartTypes, zt as getBindingKeyField, yn as getBindingKeyLabel, S as getChartTypeIcon, mt as getCombinedFields, Vt as getCubeNameFromQuery, O as getFieldTypeIcon, j as getIcon, C as getIconData, A as getIconRegistry, v as getIconsByCategory, l as getMeasureTypeIcon, ft as getQueryIndices, ut as getQueryLabels, Ct as getTheme, St as getThemeVariable, Kt as getUnavailableChartTypes, on as getValidationSummary, Yt as highlightCodeBlocks, Ut as isChartTypeAvailable, bt as isDarkMode, m as isExportAvailable, Ge as isFlowConfig, Be as isFunnelConfig, It as isFunnelData, xn as isMinimumFunnelConfigValid, Pe as isMultiQuery, et as isMultiQueryConfig, lt as isMultiQueryData, Tn as isMultiQueryValid, Me as isQueryConfig, Se as isRetentionConfig, N as isSankeyData, P as isServerFlowQuery, he as isServerFunnelQuery, dn as isShareableSize, Qe as isSingleQuery, p as isThumbnailCaptureAvailable, tt as isValidAnalysisConfig, Te as isValidAnalysisWorkspace, Ht as isValidChartType, it as mergeQueryResults, gt as mergeResultsByKey, _t as mergeResultsConcat, we as migrateConfig, Ue as migrateLegacyPortlet, vn as parseShareUrl, Gt as preloadChart, qt as preloadCharts, k as registerIcons, y as resetIcons, Et as resetTheme, ae as selectAllActions, Jn as selectBlockActions, Vn as selectBlocks, Zt as selectBreakdowns, En as selectChartConfig, qn as selectChatActions, Kn as selectChatState, an as selectCurrentState, ce as selectDebugData, me as selectDebugDataActions, nt as selectEditModeActions, I as selectEditModeState, $t as selectFilters, Qt as selectFunnelState, Gn as selectInputValue, Un as selectIsStreaming, _e as selectLayoutActions, ie as selectLayoutState, Hn as selectMessages, nn as selectMetrics, ge as selectModalActions, ve as selectModalState, gn as selectMultiQueryState, re as selectPortletDebugData, Wn as selectSessionId, se as selectThumbnailDirty, Xt as selectUIState, d as setIcon, Ot as setTheme, xt as setThemeVariable, Rt as transformServerFunnelResult, Or as useAgentChat, ln as useAnalysisBuilder, hn as useAnalysisBuilderStore, c as useCubeApi, w as useCubeContext, s as useCubeFeatures, yt as useCubeFieldLabel, rt as useCubeLoadQuery, rt as useCubeQuery, vt as useCubeMeta, M as useCubeMetaQuery, Le as useDashboard, de as useDashboardContext, Ke as useDashboardStore, oe as useDashboardStoreApi, be as useDashboardStoreOptional, ti as useDataBrowser, ke as useDrillInteraction, At as useDryRunQueries, kt as useDryRunQuery, le as useElementVisibility, Pt as useExplainAI, Nt as useExplainQuery, ht as useFlowQuery, dt as useFunnelQuery, st as useMultiCubeLoadQuery, Mt as useMultiDryRunQueries, Y as useNotebookStore, a as useScrollContainer, ue as useScrollDetection, jn as useTheme, mn as validateBindingKeyExists, sn as validateBindingKeyForSteps, bn as validateFunnelConfig, at as validateMergeKey, On as validateMergeKeys, cn as validateMultiQueryConfig, Sn as validateStepQueries, Dn as validateTimeDimensionAlignment, h as warnIfExcelJsMissing, _ as warnIfScreenshotLibMissing, Dt as watchThemeChanges };
1816
+ export { Ur as AgenticNotebook, Ue as AnalysisBuilder, Ke as AnalyticsDashboard, Wr as AnalyticsPage, be as AnalyticsPortlet, De as ChartErrorBoundary, Ve as ConfirmModal, x as CubeClient, D as CubeProvider, f as CubeQueryError, u as DEFAULT_ICONS, Je as DashboardEditModal, ke as DashboardFilterBar, Ne as DashboardGrid, je as DashboardGridSurface, Se as DashboardModals, le as DashboardProvider, R as DashboardStoreProvider, xi as DashboardThumbnailPlaceholder, me as DashboardToolbar, yi as DataBrowser, de as DrillBreadcrumb, F as DrillMenu, tn as ExecutionPlanPanel, rn as ExplainAIPanel, Jt as LazyChart, B as LoadingIndicator, Re as Modal, zn as NotebookStoreProvider, Ie as PortletAnalysisModal, Be as PortletContainer, o as ScrollContainerProvider, Tt as THEME_PRESETS, wt as applyTheme, Bt as buildFunnelConfigFromQueries, Lt as buildServerFunnelQuery, g as captureThumbnail, E as chartPluginRegistry, _n as compressAndEncode, b as createCubeClient, Mn as createDashboardLayout, ie as createDashboardStore, Te as createDefaultConfig, Le as createDefaultFlowConfig, Xe as createDefaultFunnelConfig, Ee as createDefaultQueryConfig, Oe as createDefaultRetentionConfig, We as createDefaultWorkspace, jt as createExplainQueryKey, pt as createFlowQueryKey, ot as createFunnelQueryKey, Ln as createNotebookStore, wn as decodeAndDecompress, pn as detectAsymmetricDateRanges, fn as detectMeasureCollisions, T as exportPortletToXlsx, jn as formatChartData, Ft as formatDuration, ct as generateQueryLabel, un as generateShareUrl, Cn as getAvailableBindingKeyDimensions, Wt as getAvailableChartTypes, zt as getBindingKeyField, yn as getBindingKeyLabel, S as getChartTypeIcon, mt as getCombinedFields, Vt as getCubeNameFromQuery, O as getFieldTypeIcon, j as getIcon, C as getIconData, A as getIconRegistry, v as getIconsByCategory, l as getMeasureTypeIcon, ft as getQueryIndices, ut as getQueryLabels, Ct as getTheme, St as getThemeVariable, Kt as getUnavailableChartTypes, on as getValidationSummary, Yt as highlightCodeBlocks, Ut as isChartTypeAvailable, bt as isDarkMode, m as isExportAvailable, ze as isFlowConfig, Me as isFunnelConfig, It as isFunnelData, xn as isMinimumFunnelConfigValid, Ae as isMultiQuery, pe as isMultiQueryConfig, lt as isMultiQueryData, Tn as isMultiQueryValid, xe as isQueryConfig, Ze as isRetentionConfig, N as isSankeyData, P as isServerFlowQuery, ee as isServerFunnelQuery, dn as isShareableSize, et as isSingleQuery, p as isThumbnailCaptureAvailable, we as isValidAnalysisConfig, Qe as isValidAnalysisWorkspace, Ht as isValidChartType, it as mergeQueryResults, gt as mergeResultsByKey, _t as mergeResultsConcat, He as migrateConfig, qe as migrateLegacyPortlet, vn as parseShareUrl, Gt as preloadChart, qt as preloadCharts, k as registerIcons, y as resetIcons, Et as resetTheme, se as selectAllActions, qn as selectBlockActions, Bn as selectBlocks, Zt as selectBreakdowns, En as selectChartConfig, Kn as selectChatActions, Gn as selectChatState, an as selectCurrentState, fe as selectDebugData, tt as selectDebugDataActions, L as selectEditModeActions, ge as selectEditModeState, $t as selectFilters, Qt as selectFunnelState, Wn as selectInputValue, Hn as selectIsStreaming, re as selectLayoutActions, he as selectLayoutState, Vn as selectMessages, nn as selectMetrics, _e as selectModalActions, ne as selectModalState, gn as selectMultiQueryState, oe as selectPortletDebugData, Un as selectSessionId, Ge as selectThumbnailDirty, Xt as selectUIState, d as setIcon, Ot as setTheme, xt as setThemeVariable, Rt as transformServerFunnelResult, Dr as useAgentChat, ln as useAnalysisBuilder, hn as useAnalysisBuilderStore, c as useCubeApi, w as useCubeContext, s as useCubeFeatures, yt as useCubeFieldLabel, rt as useCubeLoadQuery, rt as useCubeQuery, vt as useCubeMeta, M as useCubeMetaQuery, I as useDashboard, Fe as useDashboardContext, ae as useDashboardStore, ye as useDashboardStoreApi, ve as useDashboardStoreOptional, ei as useDataBrowser, Ye as useDrillInteraction, At as useDryRunQueries, kt as useDryRunQuery, ce as useElementVisibility, Pt as useExplainAI, Nt as useExplainQuery, ht as useFlowQuery, dt as useFunnelQuery, st as useMultiCubeLoadQuery, Mt as useMultiDryRunQueries, X as useNotebookStore, a as useScrollContainer, ue as useScrollDetection, An as useTheme, mn as validateBindingKeyExists, sn as validateBindingKeyForSteps, bn as validateFunnelConfig, at as validateMergeKey, On as validateMergeKeys, cn as validateMultiQueryConfig, Sn as validateStepQueries, Dn as validateTimeDimensionAlignment, h as warnIfExcelJsMissing, _ as warnIfScreenshotLibMissing, Dt as watchThemeChanges };
1817
1817
 
1818
1818
  //# sourceMappingURL=index.js.map