drizzle-cube 0.6.4 → 0.6.5

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 (255) hide show
  1. package/dist/adapters/ActivityGridChart.config-Bvi50jl_.cjs +1 -0
  2. package/dist/adapters/ActivityGridChart.config-BwswifOD.js +2 -0
  3. package/dist/adapters/AreaChart.config-Cehf1Kjo.cjs +1 -0
  4. package/dist/adapters/AreaChart.config-DC-gnmli.js +2 -0
  5. package/dist/adapters/BarChart.config-BY53r96T.cjs +1 -0
  6. package/dist/adapters/BarChart.config-DJN5Oqmw.js +2 -0
  7. package/dist/adapters/BoxPlotChart.config-9hLT3yMs.js +2 -0
  8. package/dist/adapters/BoxPlotChart.config-D9P4PMTf.cjs +1 -0
  9. package/dist/adapters/BubbleChart.config-CEVSsy7u.js +2 -0
  10. package/dist/adapters/BubbleChart.config-Cji0z0Tb.cjs +1 -0
  11. package/dist/adapters/CandlestickChart.config-DPv76FmM.cjs +1 -0
  12. package/dist/adapters/CandlestickChart.config-tcHTorLu.js +2 -0
  13. package/dist/adapters/DataTable.config-D4txBrlQ.cjs +1 -0
  14. package/dist/adapters/DataTable.config-DrObkanI.js +2 -0
  15. package/dist/adapters/FunnelChart.config-BFYSkibE.js +2 -0
  16. package/dist/adapters/FunnelChart.config-BTSFeha-.cjs +1 -0
  17. package/dist/adapters/GaugeChart.config-BFz6NZfT.js +2 -0
  18. package/dist/adapters/GaugeChart.config-DJKD6oh8.cjs +1 -0
  19. package/dist/adapters/HeatMapChart.config-C3EZl9Sy.cjs +1 -0
  20. package/dist/adapters/HeatMapChart.config-jUCb5NAE.js +2 -0
  21. package/dist/adapters/KpiDelta.config-DhuealNk.js +2 -0
  22. package/dist/adapters/KpiDelta.config-m6FEIeWo.cjs +1 -0
  23. package/dist/adapters/KpiNumber.config-Cmd7eHmg.cjs +1 -0
  24. package/dist/adapters/KpiNumber.config-KQdKrkK-.js +2 -0
  25. package/dist/adapters/KpiText.config-D_pU4jH3.cjs +1 -0
  26. package/dist/adapters/KpiText.config-V8SvhllA.js +2 -0
  27. package/dist/adapters/LineChart.config-BuWM0TJx.js +2 -0
  28. package/dist/adapters/LineChart.config-CsxJ3f5A.cjs +1 -0
  29. package/dist/adapters/MarkdownChart.config-CJdjenj7.cjs +1 -0
  30. package/dist/adapters/MarkdownChart.config-oCWrAuom.js +2 -0
  31. package/dist/adapters/MeasureProfileChart.config-DBLnhtOk.cjs +1 -0
  32. package/dist/adapters/MeasureProfileChart.config-DWg0jzxA.js +2 -0
  33. package/dist/adapters/PieChart.config-D3qI6nbM.cjs +1 -0
  34. package/dist/adapters/PieChart.config-R2rcul2D.js +2 -0
  35. package/dist/adapters/RadarChart.config-BlK8QuDi.js +2 -0
  36. package/dist/adapters/RadarChart.config-fH3ce10I.cjs +1 -0
  37. package/dist/adapters/RadialBarChart.config-CqCnb27I.js +2 -0
  38. package/dist/adapters/RadialBarChart.config-DQQHJOCs.cjs +1 -0
  39. package/dist/adapters/RetentionCombinedChart.config-BFJ8i-kp.js +2 -0
  40. package/dist/adapters/RetentionCombinedChart.config-B_Wd_YjX.cjs +1 -0
  41. package/dist/adapters/RetentionHeatmap.config-BLqu9-Ft.js +2 -0
  42. package/dist/adapters/RetentionHeatmap.config-MvOPw_Dd.cjs +1 -0
  43. package/dist/adapters/SankeyChart.config-C_4u9Xiq.js +2 -0
  44. package/dist/adapters/SankeyChart.config-EH6wsjPr.cjs +1 -0
  45. package/dist/adapters/ScatterChart.config-D-MlQ7mP.js +2 -0
  46. package/dist/adapters/ScatterChart.config-DmwiEBN-.cjs +1 -0
  47. package/dist/adapters/SunburstChart.config-BRr_as_L.js +2 -0
  48. package/dist/adapters/SunburstChart.config-CptDj8e4.cjs +1 -0
  49. package/dist/adapters/TreeMapChart.config-D5wX2xaT.cjs +1 -0
  50. package/dist/adapters/TreeMapChart.config-Dyhwpwq3.js +2 -0
  51. package/dist/adapters/WaterfallChart.config-B_LGJIov.js +2 -0
  52. package/dist/adapters/WaterfallChart.config-Q4Fv196W.cjs +1 -0
  53. package/dist/adapters/{compiler-DyyBaLry.cjs → compiler-D0v5KJhv.cjs} +2 -2
  54. package/dist/adapters/{compiler-lG6eNsoI.js → compiler-ZruQ85ff.js} +35 -30
  55. package/dist/adapters/core/index.cjs +1 -1
  56. package/dist/adapters/core/index.js +1 -1
  57. package/dist/adapters/{core-F1pCQPde.cjs → core-CVqTwOR3.cjs} +1 -1
  58. package/dist/adapters/{core-Bbchr0ui.js → core-DoSUiMmv.js} +60 -60
  59. package/dist/adapters/express/index.cjs +2 -2
  60. package/dist/adapters/express/index.js +80 -75
  61. package/dist/adapters/fastify/index.cjs +2 -2
  62. package/dist/adapters/fastify/index.js +63 -58
  63. package/dist/adapters/{handler-DRZb2ip6.cjs → handler-DyIyrFFp.cjs} +3 -3
  64. package/dist/adapters/{handler-u8FyzPBT.js → handler-j74EJDdo.js} +28 -28
  65. package/dist/adapters/hono/index.cjs +2 -2
  66. package/dist/adapters/hono/index.js +57 -52
  67. package/dist/adapters/mcp-tools.cjs +1 -1
  68. package/dist/adapters/mcp-tools.js +2 -2
  69. package/dist/adapters/mcp-transport-BuU5CrKL.cjs +40 -0
  70. package/dist/adapters/mcp-transport-l8DhKzR5.js +601 -0
  71. package/dist/adapters/mcp-transport.d.ts +21 -3
  72. package/dist/adapters/nextjs/index.cjs +1 -1
  73. package/dist/adapters/nextjs/index.js +110 -105
  74. package/dist/adapters/{openai-CmMzrs1Y.js → openai-BCSKRcbD.js} +10 -10
  75. package/dist/{server/openai-DhzGY9R4.js → adapters/openai-BjR3ohaS.js} +1 -1
  76. package/dist/{server/openai-B4kAJTSD.cjs → adapters/openai-ClVVLjNl.cjs} +2 -2
  77. package/dist/adapters/{openai-Cdf2wWZA.cjs → openai-CsVXOcJZ.cjs} +1 -1
  78. package/dist/adapters/utils-CBR-9AMD.cjs +128 -0
  79. package/dist/adapters/{utils-BPWZsX7k.js → utils-U7gV5wQL.js} +789 -788
  80. package/dist/adapters/utils.cjs +1 -1
  81. package/dist/adapters/utils.d.ts +16 -4
  82. package/dist/adapters/utils.js +1 -1
  83. package/dist/cjs/adapters/mcp-transport.d.ts +21 -3
  84. package/dist/cjs/adapters/utils.d.ts +16 -4
  85. package/dist/cjs/server/executors/sqlite-executor.d.ts +8 -2
  86. package/dist/client/charts.js +13 -13
  87. package/dist/client/chunks/ConfirmModal-D6eLc9NO.js +3283 -0
  88. package/dist/client/chunks/ConfirmModal-D6eLc9NO.js.map +1 -0
  89. package/dist/client/chunks/{DashboardEditModal-Cs1ig1_V.js → DashboardEditModal-DFQSxR_C.js} +1134 -4389
  90. package/dist/client/chunks/DashboardEditModal-DFQSxR_C.js.map +1 -0
  91. package/dist/client/chunks/{RetentionCombinedChart-BgbDhsPz.js → RetentionCombinedChart-DY7wKLs5.js} +3 -3
  92. package/dist/client/chunks/{RetentionCombinedChart-BgbDhsPz.js.map → RetentionCombinedChart-DY7wKLs5.js.map} +1 -1
  93. package/dist/client/chunks/{RetentionHeatmap-DjXZaTPq.js → RetentionHeatmap-iNCG-dLd.js} +2 -2
  94. package/dist/client/chunks/{RetentionHeatmap-DjXZaTPq.js.map → RetentionHeatmap-iNCG-dLd.js.map} +1 -1
  95. package/dist/client/chunks/{analysis-builder-B64yaeDe.js → analysis-builder-CBZ7lOC-.js} +311 -311
  96. package/dist/client/chunks/{analysis-builder-B64yaeDe.js.map → analysis-builder-CBZ7lOC-.js.map} +1 -1
  97. package/dist/client/chunks/{analysis-builder-shared-CD0n2Nb8.js → analysis-builder-shared-8alCn-zw.js} +411 -411
  98. package/dist/client/chunks/{analysis-builder-shared-CD0n2Nb8.js.map → analysis-builder-shared-8alCn-zw.js.map} +1 -1
  99. package/dist/client/chunks/{chart-activity-grid-DX0SJbxs.js → chart-activity-grid-DDqFVWoa.js} +5 -2
  100. package/dist/client/chunks/{chart-activity-grid-DX0SJbxs.js.map → chart-activity-grid-DDqFVWoa.js.map} +1 -1
  101. package/dist/client/chunks/{chart-area-of01_62R.js → chart-area-BHxPNsmc.js} +2 -2
  102. package/dist/client/chunks/{chart-area-of01_62R.js.map → chart-area-BHxPNsmc.js.map} +1 -1
  103. package/dist/client/chunks/{chart-bar-BqelQE_I.js → chart-bar-DAO3PPcE.js} +3 -3
  104. package/dist/client/chunks/{chart-bar-BqelQE_I.js.map → chart-bar-DAO3PPcE.js.map} +1 -1
  105. package/dist/client/chunks/{chart-box-plot-kkBixZ27.js → chart-box-plot-CUpFyQQk.js} +2 -2
  106. package/dist/client/chunks/{chart-box-plot-kkBixZ27.js.map → chart-box-plot-CUpFyQQk.js.map} +1 -1
  107. package/dist/client/chunks/{chart-bubble-B2he1--4.js → chart-bubble-DvP_6_n9.js} +2 -2
  108. package/dist/client/chunks/{chart-bubble-B2he1--4.js.map → chart-bubble-DvP_6_n9.js.map} +1 -1
  109. package/dist/client/chunks/{chart-candlestick-DZp19Tzh.js → chart-candlestick-Dx8ZCMzl.js} +2 -2
  110. package/dist/client/chunks/{chart-candlestick-DZp19Tzh.js.map → chart-candlestick-Dx8ZCMzl.js.map} +1 -1
  111. package/dist/client/chunks/{chart-data-table-D4g5_jfF.js → chart-data-table-BP6DMdom.js} +32 -16
  112. package/dist/client/chunks/chart-data-table-BP6DMdom.js.map +1 -0
  113. package/dist/client/chunks/{chart-funnel-CToKSBaL.js → chart-funnel-xeVGBy-p.js} +2 -2
  114. package/dist/client/chunks/{chart-funnel-CToKSBaL.js.map → chart-funnel-xeVGBy-p.js.map} +1 -1
  115. package/dist/client/chunks/{chart-gauge-DTVezSk7.js → chart-gauge-DXQ4r3cb.js} +3 -3
  116. package/dist/client/chunks/{chart-gauge-DTVezSk7.js.map → chart-gauge-DXQ4r3cb.js.map} +1 -1
  117. package/dist/client/chunks/{chart-heat-map-DTuUl0BR.js → chart-heat-map-Pnk6rhqQ.js} +3 -3
  118. package/dist/client/chunks/{chart-heat-map-DTuUl0BR.js.map → chart-heat-map-Pnk6rhqQ.js.map} +1 -1
  119. package/dist/client/chunks/{chart-kpi-delta-BvWOt8-D.js → chart-kpi-delta-nXQnRRBr.js} +3 -3
  120. package/dist/client/chunks/{chart-kpi-delta-BvWOt8-D.js.map → chart-kpi-delta-nXQnRRBr.js.map} +1 -1
  121. package/dist/client/chunks/{chart-kpi-number-xgZmMiQY.js → chart-kpi-number-m8UGJfBr.js} +5 -5
  122. package/dist/client/chunks/{chart-kpi-number-xgZmMiQY.js.map → chart-kpi-number-m8UGJfBr.js.map} +1 -1
  123. package/dist/client/chunks/{chart-kpi-text-ZO3eFi7t.js → chart-kpi-text-CurpqmaD.js} +7 -4
  124. package/dist/client/chunks/{chart-kpi-text-ZO3eFi7t.js.map → chart-kpi-text-CurpqmaD.js.map} +1 -1
  125. package/dist/client/chunks/{chart-line-DKgrQA6c.js → chart-line-sJK-cJc0.js} +3 -3
  126. package/dist/client/chunks/{chart-line-DKgrQA6c.js.map → chart-line-sJK-cJc0.js.map} +1 -1
  127. package/dist/client/chunks/{chart-markdown-CV75S_zL.js → chart-markdown-BVrqqygz.js} +1263 -1192
  128. package/dist/client/chunks/chart-markdown-BVrqqygz.js.map +1 -0
  129. package/dist/client/chunks/{chart-measure-profile-Ket8fJyf.js → chart-measure-profile-k9_QDQbB.js} +3 -3
  130. package/dist/client/chunks/{chart-measure-profile-Ket8fJyf.js.map → chart-measure-profile-k9_QDQbB.js.map} +1 -1
  131. package/dist/client/chunks/{chart-pie-ByieAX5H.js → chart-pie-BDaaYt7a.js} +3 -3
  132. package/dist/client/chunks/{chart-pie-ByieAX5H.js.map → chart-pie-BDaaYt7a.js.map} +1 -1
  133. package/dist/client/chunks/{chart-radar-CiSwHWp4.js → chart-radar-Bz07PIVe.js} +3 -3
  134. package/dist/client/chunks/{chart-radar-CiSwHWp4.js.map → chart-radar-Bz07PIVe.js.map} +1 -1
  135. package/dist/client/chunks/{chart-radial-bar-BF6Mhl6f.js → chart-radial-bar-DpyxKQMj.js} +3 -3
  136. package/dist/client/chunks/{chart-radial-bar-BF6Mhl6f.js.map → chart-radial-bar-DpyxKQMj.js.map} +1 -1
  137. package/dist/client/chunks/{chart-sankey-DjrvKw6K.js → chart-sankey-BAeNbI-p.js} +2 -2
  138. package/dist/client/chunks/{chart-sankey-DjrvKw6K.js.map → chart-sankey-BAeNbI-p.js.map} +1 -1
  139. package/dist/client/chunks/{chart-scatter-Dd9WFqnS.js → chart-scatter-CRhGLCcy.js} +3 -3
  140. package/dist/client/chunks/{chart-scatter-Dd9WFqnS.js.map → chart-scatter-CRhGLCcy.js.map} +1 -1
  141. package/dist/client/chunks/{chart-sunburst-leGpuDj7.js → chart-sunburst-D3wV5OrK.js} +3 -3
  142. package/dist/client/chunks/{chart-sunburst-leGpuDj7.js.map → chart-sunburst-D3wV5OrK.js.map} +1 -1
  143. package/dist/client/chunks/{chart-tree-map-Ceq5sLZA.js → chart-tree-map-iI3ewOKY.js} +3 -3
  144. package/dist/client/chunks/{chart-tree-map-Ceq5sLZA.js.map → chart-tree-map-iI3ewOKY.js.map} +1 -1
  145. package/dist/client/chunks/{chart-waterfall-DyvQReN5.js → chart-waterfall-BrrYTZfs.js} +3 -3
  146. package/dist/client/chunks/{chart-waterfall-DyvQReN5.js.map → chart-waterfall-BrrYTZfs.js.map} +1 -1
  147. package/dist/client/chunks/{charts-core-DaXSt1Dd.js → charts-core-Cs-UIsQa.js} +2 -2
  148. package/dist/client/chunks/{charts-core-DaXSt1Dd.js.map → charts-core-Cs-UIsQa.js.map} +1 -1
  149. package/dist/client/chunks/charts-loader-DAJbAD7a.js +84 -0
  150. package/dist/client/chunks/{charts-loader-B0DOQMFH.js.map → charts-loader-DAJbAD7a.js.map} +1 -1
  151. package/dist/client/chunks/core-D7vPfUIe.js.map +1 -1
  152. package/dist/client/chunks/{dist-zPWyTBdU.js → dist-BwQr11Fz.js} +251 -252
  153. package/dist/client/chunks/{dist-zPWyTBdU.js.map → dist-BwQr11Fz.js.map} +1 -1
  154. package/dist/client/chunks/{exceljs.min-CIqBqwTW.js → exceljs.min-Dey-qIFL.js} +16 -16
  155. package/dist/client/chunks/{exceljs.min-CIqBqwTW.js.map → exceljs.min-Dey-qIFL.js.map} +1 -1
  156. package/dist/client/chunks/javascript-DFnKaHmQ.js.map +1 -1
  157. package/dist/client/chunks/retention-ChW9jYdy.js.map +1 -1
  158. package/dist/client/chunks/{schema-visualization-DJPTktM6.js → schema-visualization-BGT_cNon.js} +12 -12
  159. package/dist/client/chunks/{schema-visualization-DJPTktM6.js.map → schema-visualization-BGT_cNon.js.map} +1 -1
  160. package/dist/client/chunks/sql-CmVzGP4w.js.map +1 -1
  161. package/dist/client/chunks/syntaxHighlighting-Bq2Bj9Xt.js +30 -0
  162. package/dist/client/chunks/syntaxHighlighting-Bq2Bj9Xt.js.map +1 -0
  163. package/dist/client/chunks/{useDirtyStateTracking-BT6zqCFl.js → useDebounce-7suCFq9v.js} +47 -109
  164. package/dist/client/chunks/useDebounce-7suCFq9v.js.map +1 -0
  165. package/dist/client/chunks/useDirtyStateTracking-D2OiqKoQ.js +66 -0
  166. package/dist/client/chunks/useDirtyStateTracking-D2OiqKoQ.js.map +1 -0
  167. package/dist/client/chunks/{useExplainAI-Dq_meKNN.js → useExplainAI-CEf04DPE.js} +14 -14
  168. package/dist/client/chunks/{useExplainAI-Dq_meKNN.js.map → useExplainAI-CEf04DPE.js.map} +1 -1
  169. package/dist/client/chunks/useNotebookLayout-Ck3Z3uzg.js.map +1 -1
  170. package/dist/client/chunks/utils-DjLiJKS_.js +104 -0
  171. package/dist/client/chunks/utils-DjLiJKS_.js.map +1 -0
  172. package/dist/client/chunks/{vendor-D4jADu8t.js → vendor-DFAQ4Ucl.js} +5 -3
  173. package/dist/client/chunks/{vendor-D4jADu8t.js.map → vendor-DFAQ4Ucl.js.map} +1 -1
  174. package/dist/client/components.js +4 -3
  175. package/dist/client/hooks.js +5 -4
  176. package/dist/client/icons.js +1 -1
  177. package/dist/client/index.js +33 -29
  178. package/dist/client/index.js.map +1 -1
  179. package/dist/client/providers.js +1 -1
  180. package/dist/client/schema.js +1 -1
  181. package/dist/client/styles.css +1 -1
  182. package/dist/client/utils.js +32 -6
  183. package/dist/client/utils.js.map +1 -0
  184. package/dist/client-bundle-stats.html +1 -1
  185. package/dist/mcp-app/mcp-app.html +145 -50
  186. package/dist/server/executors/sqlite-executor.d.ts +8 -2
  187. package/dist/server/index.cjs +33 -33
  188. package/dist/server/index.js +1268 -1262
  189. package/dist/server/{openai-CmMzrs1Y.js → openai-BCSKRcbD.js} +10 -10
  190. package/dist/{adapters/openai-DhzGY9R4.js → server/openai-BjR3ohaS.js} +1 -1
  191. package/dist/{adapters/openai-B4kAJTSD.cjs → server/openai-ClVVLjNl.cjs} +2 -2
  192. package/dist/server/{openai-Cdf2wWZA.cjs → openai-CsVXOcJZ.cjs} +1 -1
  193. package/package.json +11 -7
  194. package/dist/adapters/ActivityGridChart.config-BtECymia.cjs +0 -1
  195. package/dist/adapters/ActivityGridChart.config-CTd5HYjI.js +0 -2
  196. package/dist/adapters/AreaChart.config-1B8iQnfn.js +0 -2
  197. package/dist/adapters/AreaChart.config-hnncyQL4.cjs +0 -1
  198. package/dist/adapters/BarChart.config-C-QCf1rL.cjs +0 -1
  199. package/dist/adapters/BarChart.config-CFelK1qP.js +0 -2
  200. package/dist/adapters/BoxPlotChart.config-CD9WEPyF.js +0 -2
  201. package/dist/adapters/BoxPlotChart.config-DEbLA0BX.cjs +0 -1
  202. package/dist/adapters/BubbleChart.config-B_M4hzzV.js +0 -2
  203. package/dist/adapters/BubbleChart.config-dRZZlAke.cjs +0 -1
  204. package/dist/adapters/CandlestickChart.config-Dsil2Fop.cjs +0 -1
  205. package/dist/adapters/CandlestickChart.config-fuhyFvob.js +0 -2
  206. package/dist/adapters/DataTable.config-q2gqBi6t.cjs +0 -1
  207. package/dist/adapters/DataTable.config-wIQnHX5R.js +0 -2
  208. package/dist/adapters/FunnelChart.config-Dz710ssx.js +0 -2
  209. package/dist/adapters/FunnelChart.config-YNP9CeS-.cjs +0 -1
  210. package/dist/adapters/GaugeChart.config-BG9FcMCn.cjs +0 -1
  211. package/dist/adapters/GaugeChart.config-CgwniXkd.js +0 -2
  212. package/dist/adapters/HeatMapChart.config-1zSMXXoN.cjs +0 -1
  213. package/dist/adapters/HeatMapChart.config-YVEWx6s5.js +0 -2
  214. package/dist/adapters/KpiDelta.config-BWvYXuFp.cjs +0 -1
  215. package/dist/adapters/KpiDelta.config-C_dYM64q.js +0 -2
  216. package/dist/adapters/KpiNumber.config-CXg6toZG.js +0 -2
  217. package/dist/adapters/KpiNumber.config-CZmV-yU1.cjs +0 -1
  218. package/dist/adapters/KpiText.config-BY-SJvAF.js +0 -2
  219. package/dist/adapters/KpiText.config-GSIxy0CE.cjs +0 -1
  220. package/dist/adapters/LineChart.config-CJtF8SOu.js +0 -2
  221. package/dist/adapters/LineChart.config-d0y60gw9.cjs +0 -1
  222. package/dist/adapters/MarkdownChart.config-B6w0spya.cjs +0 -1
  223. package/dist/adapters/MarkdownChart.config-BuIQcWOn.js +0 -2
  224. package/dist/adapters/MeasureProfileChart.config-Bo2n5Ae5.cjs +0 -1
  225. package/dist/adapters/MeasureProfileChart.config-C5d34lsc.js +0 -2
  226. package/dist/adapters/PieChart.config-CDxfXCIt.cjs +0 -1
  227. package/dist/adapters/PieChart.config-CuZxQc5m.js +0 -2
  228. package/dist/adapters/RadarChart.config-DpdVWyh5.cjs +0 -1
  229. package/dist/adapters/RadarChart.config-KrxwaaGu.js +0 -2
  230. package/dist/adapters/RadialBarChart.config-DpRZd0FW.js +0 -2
  231. package/dist/adapters/RadialBarChart.config-faIY4jpE.cjs +0 -1
  232. package/dist/adapters/RetentionCombinedChart.config-CUnScqnS.cjs +0 -1
  233. package/dist/adapters/RetentionCombinedChart.config-Dd8FuawP.js +0 -2
  234. package/dist/adapters/RetentionHeatmap.config-CPd6GeoQ.js +0 -2
  235. package/dist/adapters/RetentionHeatmap.config-CPlHbLom.cjs +0 -1
  236. package/dist/adapters/SankeyChart.config-DbIUqi-H.cjs +0 -1
  237. package/dist/adapters/SankeyChart.config-kzAnW0C7.js +0 -2
  238. package/dist/adapters/ScatterChart.config-4Okvn27v.js +0 -2
  239. package/dist/adapters/ScatterChart.config-4f9nNw3e.cjs +0 -1
  240. package/dist/adapters/SunburstChart.config-BsUQkIM_.js +0 -2
  241. package/dist/adapters/SunburstChart.config-lvnYkWs7.cjs +0 -1
  242. package/dist/adapters/TreeMapChart.config-S0qsgAFW.js +0 -2
  243. package/dist/adapters/TreeMapChart.config-jbwKsTYt.cjs +0 -1
  244. package/dist/adapters/WaterfallChart.config-CDQ74-pS.cjs +0 -1
  245. package/dist/adapters/WaterfallChart.config-XdtH-O5g.js +0 -2
  246. package/dist/adapters/mcp-transport-Bw_zqky2.js +0 -591
  247. package/dist/adapters/mcp-transport-CNIPoe1i.cjs +0 -40
  248. package/dist/adapters/utils-_whV4fXL.cjs +0 -128
  249. package/dist/client/chunks/DashboardEditModal-Cs1ig1_V.js.map +0 -1
  250. package/dist/client/chunks/chart-data-table-D4g5_jfF.js.map +0 -1
  251. package/dist/client/chunks/chart-markdown-CV75S_zL.js.map +0 -1
  252. package/dist/client/chunks/charts-loader-B0DOQMFH.js +0 -84
  253. package/dist/client/chunks/useDirtyStateTracking-BT6zqCFl.js.map +0 -1
  254. package/dist/client/chunks/utils-Cq-j5E5I.js +0 -155
  255. package/dist/client/chunks/utils-Cq-j5E5I.js.map +0 -1
@@ -1,14 +1,14 @@
1
- import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "./vendor-D4jADu8t.js";
2
- import { k as s, u as c, v as l, z as u } from "./chart-data-table-D4g5_jfF.js";
3
- import { C as d, E as f, S as p, _ as m, b as h, bt as g, d as _, g as v, j as y, l as b, nt as x, rt as S, tt as C, u as w, v as T, y as E, yt as D } from "./DashboardEditModal-Cs1ig1_V.js";
4
- import { a as O, s as k, t as ee } from "./retention-ChW9jYdy.js";
5
- import { A, D as te, F as ne, I as j, M as re, N as M, O as ie, P as ae, S as oe, T as N, a as P, d as se, j as F, k as I, l as L, n as ce, r as le, s as ue } from "./useDirtyStateTracking-BT6zqCFl.js";
6
- import { P as R, z as de } from "./chart-activity-grid-DX0SJbxs.js";
7
- import { a as z, i as fe } from "./useExplainAI-Dq_meKNN.js";
8
- import { r as pe, s as me } from "./chart-funnel-CToKSBaL.js";
9
- import { n as he } from "./charts-core-DaXSt1Dd.js";
10
- import B, { createContext as ge, memo as _e, useCallback as V, useContext as ve, useEffect as H, useMemo as U, useRef as W, useState as G } from "react";
11
- import { Fragment as K, jsx as q, jsxs as J } from "react/jsx-runtime";
1
+ import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "./vendor-DFAQ4Ucl.js";
2
+ import { k as s, u as c, v as l, z as u } from "./chart-data-table-BP6DMdom.js";
3
+ import { a as d, s as f, t as p } from "./retention-ChW9jYdy.js";
4
+ import { C as m, M as h, N as g, P as _, S as v, X as y, Z as b, a as x, g as S, h as C, i as w, m as T, p as E, r as D, u as O, v as k, y as A } from "./ConfirmModal-D6eLc9NO.js";
5
+ import { A as j, C as M, D as ee, E as N, M as te, N as P, O as ne, P as re, T as ie, a as ae, b as F, j as I, k as L, l as R, n as oe, r as se, s as ce, t as le } from "./useDebounce-7suCFq9v.js";
6
+ import { P as z, z as ue } from "./chart-activity-grid-DDqFVWoa.js";
7
+ import { a as B, i as de } from "./useExplainAI-CEf04DPE.js";
8
+ import { r as fe, s as pe } from "./chart-funnel-xeVGBy-p.js";
9
+ import { n as me } from "./charts-core-Cs-UIsQa.js";
10
+ import V, { createContext as he, memo as ge, useCallback as H, useContext as _e, useEffect as U, useMemo as W, useRef as G, useState as K } from "react";
11
+ import { Fragment as ve, jsx as q, jsxs as J } from "react/jsx-runtime";
12
12
  //#region src/shared/date-utils.ts
13
13
  function ye(e) {
14
14
  let t = /* @__PURE__ */ new Date(), n = e.toLowerCase().trim(), r = t.getUTCFullYear(), i = t.getUTCMonth(), a = t.getUTCDate(), o = t.getUTCDay();
@@ -149,7 +149,7 @@ function Se(e, t) {
149
149
  //#endregion
150
150
  //#region src/client/components/AnalysisBuilder/utils/filterUtils.ts
151
151
  function Ce(e, t) {
152
- let n = F(t, e);
152
+ let n = L(t, e);
153
153
  if (!n?.dateRange) return;
154
154
  let r = be(n.dateRange);
155
155
  if (!r) return;
@@ -157,14 +157,14 @@ function Ce(e, t) {
157
157
  return [[xe(r.start), xe(r.end)], [xe(i.start), xe(i.end)]];
158
158
  }
159
159
  function we(e, t) {
160
- return ne(e, t, "inDateRange");
160
+ return P(e, t, "inDateRange");
161
161
  }
162
162
  //#endregion
163
163
  //#region src/client/components/AnalysisBuilder/utils/queryUtils.ts
164
164
  function Te(e, t, n, r, i = !1, a) {
165
165
  let o = t.filter((e) => e.isTimeDimension && e.enableComparison).map((e) => e.field), s = n;
166
166
  if (!i) for (let e of o) s = we(s, e);
167
- s = s.filter((e) => C(e));
167
+ s = s.filter((e) => h(e));
168
168
  let c = {
169
169
  measures: e.map((e) => e.field),
170
170
  dimensions: t.filter((e) => !e.isTimeDimension).map((e) => e.field),
@@ -221,7 +221,7 @@ function Ee(e, t, n, r) {
221
221
  //#region src/client/components/AnalysisBuilder/FilterValueInput.tsx
222
222
  var De = l("close"), Oe = l("chevronDown");
223
223
  function ke({ filter: e, dateRange: t }) {
224
- let { t: n } = R(), { rangeType: r, numberValue: i, label: a, isOpen: o, onToggle: s, onRangeTypeChange: c, onNumberValueChange: l, onCustomStartDate: u, onCustomEndDate: d, onOpen: f } = t;
224
+ let { t: n } = z(), { rangeType: r, numberValue: i, label: a, isOpen: o, onToggle: s, onRangeTypeChange: c, onNumberValueChange: l, onCustomStartDate: u, onCustomEndDate: d, onOpen: f } = t;
225
225
  return /* @__PURE__ */ J("div", {
226
226
  className: "dc:space-y-2",
227
227
  children: [
@@ -238,14 +238,14 @@ function ke({ filter: e, dateRange: t }) {
238
238
  }), /* @__PURE__ */ q(Oe, { className: `dc:w-4 dc:h-4 text-dc-text-muted dc:shrink-0 dc:ml-2 dc:transition-transform ${o ? "dc:rotate-180" : ""}` })]
239
239
  }), o && /* @__PURE__ */ q("div", {
240
240
  className: "dc:absolute dc:z-[60] dc:left-0 dc:right-0 dc:mt-1 bg-dc-surface dc:border border-dc-border dc:rounded dc:shadow-lg dc:max-h-48 dc:overflow-y-auto",
241
- children: m.map((e) => /* @__PURE__ */ q("button", {
241
+ children: E.map((e) => /* @__PURE__ */ q("button", {
242
242
  onClick: () => c(e.value),
243
243
  className: `dc:w-full dc:text-left dc:px-3 dc:py-2 dc:text-sm hover:bg-dc-surface-hover ${e.value === r ? "bg-dc-primary/10 text-dc-primary" : "text-dc-text"}`,
244
244
  children: n(e.label)
245
245
  }, e.value))
246
246
  })]
247
247
  }),
248
- te(r) && /* @__PURE__ */ J("div", {
248
+ ie(r) && /* @__PURE__ */ J("div", {
249
249
  className: "dc:flex dc:items-center dc:gap-2",
250
250
  children: [/* @__PURE__ */ q("input", {
251
251
  type: "number",
@@ -284,7 +284,7 @@ function ke({ filter: e, dateRange: t }) {
284
284
  });
285
285
  }
286
286
  function Ae({ filter: e, combo: t }) {
287
- let { t: n } = R(), { options: r, loading: i, error: a, highlightedIndex: o, listRef: s, onSelect: c } = t;
287
+ let { t: n } = z(), { options: r, loading: i, error: a, highlightedIndex: o, listRef: s, onSelect: c } = t;
288
288
  return i ? /* @__PURE__ */ q("div", {
289
289
  className: "dc:px-3 dc:py-2 dc:text-sm text-dc-text-muted",
290
290
  children: n("filter.modal.loading")
@@ -311,7 +311,7 @@ function Ae({ filter: e, combo: t }) {
311
311
  });
312
312
  }
313
313
  function je({ filter: e, operatorMeta: t, combo: n }) {
314
- let { t: r } = R(), { isOpen: i, loading: a, searchText: o, onSearchTextChange: s, onHighlightedIndexChange: c, onRemove: l, onKeyDown: u, onOpen: d } = n;
314
+ let { t: r } = z(), { isOpen: i, loading: a, searchText: o, onSearchTextChange: s, onHighlightedIndexChange: c, onRemove: l, onKeyDown: u, onOpen: d } = n;
315
315
  return /* @__PURE__ */ J("div", {
316
316
  className: "dc:space-y-2",
317
317
  children: [
@@ -369,7 +369,7 @@ function je({ filter: e, operatorMeta: t, combo: n }) {
369
369
  });
370
370
  }
371
371
  function Me({ field: e, dateRange: t, combo: n, inputs: r }) {
372
- let { t: i } = R(), { filter: a, operatorMeta: o, shouldShowDateRange: s, shouldShowComboBox: c } = e, { onBetweenStart: l, onBetweenEnd: u, onDate: d, onDirect: f } = r;
372
+ let { t: i } = z(), { filter: a, operatorMeta: o, shouldShowDateRange: s, shouldShowComboBox: c } = e, { onBetweenStart: l, onBetweenEnd: u, onDate: d, onDirect: f } = r;
373
373
  return o?.requiresValues ? s ? /* @__PURE__ */ q(ke, {
374
374
  filter: a,
375
375
  dateRange: t
@@ -425,66 +425,66 @@ function Me({ field: e, dateRange: t, combo: n, inputs: r }) {
425
425
  //#region src/client/components/AnalysisBuilder/FilterConfigModal.tsx
426
426
  var Ne = l("close"), Pe = l("chevronDown"), Fe = l("dimension"), Ie = l("timeDimension"), Le = l("measure");
427
427
  function Re({ filter: e, schema: t, onSave: n, onCancel: r, anchorElement: i }) {
428
- let { t: a } = R(), [o, s] = G(e), [c, l] = G(!1), [u, d] = G(!1), [f, p] = G(!1), [g, _] = G("this_month"), [y, b] = G(1), [C, w] = G(""), [T, D] = G(null), [O, k] = G(-1), ee = W(null), A = W(null), ne = ce(C, 300), j = E(o.member, t), re = j?.field.type || "string", M = re === "time", ie = j?.fieldType === "measure", ae = j?.fieldType === "dimension", oe = h(o.member, t), P = x[o.operator], se = S(re), F = M && o.operator === "inDateRange", I = V(() => [
428
+ let { t: a } = z(), [o, s] = K(e), [c, l] = K(!1), [u, d] = K(!1), [f, p] = K(!1), [m, h] = K("this_month"), [v, y] = K(1), [b, x] = K(""), [w, T] = K(null), [D, k] = K(-1), A = G(null), j = G(null), ee = le(b, 300), N = C(o.member, t), te = N?.field.type || "string", P = te === "time", ne = N?.fieldType === "measure", re = N?.fieldType === "dimension", ae = S(o.member, t), F = g[o.operator], I = _(te), L = P && o.operator === "inDateRange", R = H(() => [
429
429
  "equals",
430
430
  "notEquals",
431
431
  "in",
432
432
  "notIn"
433
- ].includes(o.operator) && ae && !M, [
433
+ ].includes(o.operator) && re && !P, [
434
434
  o.operator,
435
- ae,
436
- M
437
- ])(), { values: L, loading: ue, error: de, searchValues: z } = le(o.member, I);
438
- H(() => {
435
+ re,
436
+ P
437
+ ])(), { values: se, loading: ce, error: ue, searchValues: B } = oe(o.member, R);
438
+ U(() => {
439
439
  if (!i) {
440
- D(null);
440
+ T(null);
441
441
  return;
442
442
  }
443
443
  let e = i.getBoundingClientRect(), t = e.top, n = window.innerHeight - e.bottom, r = t > 500 || t > n, a = Math.max(16, Math.min(e.left, window.innerWidth - 400 - 16));
444
- D(r ? {
444
+ T(r ? {
445
445
  bottom: window.innerHeight - e.top + 8,
446
446
  left: a
447
447
  } : {
448
448
  top: e.bottom + 8,
449
449
  left: a
450
450
  });
451
- }, [i]), H(() => {
451
+ }, [i]), U(() => {
452
452
  let e = (e) => {
453
- ee.current && !ee.current.contains(e.target) && (l(!1), d(!1), p(!1));
453
+ A.current && !A.current.contains(e.target) && (l(!1), d(!1), p(!1));
454
454
  };
455
455
  return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
456
- }, []), H(() => {
457
- u && I && z && z("", !0), u || k(-1);
456
+ }, []), U(() => {
457
+ u && R && B && B("", !0), u || k(-1);
458
458
  }, [
459
459
  u,
460
- I,
461
- z
462
- ]), H(() => {
463
- if (O >= 0 && A.current) {
464
- let e = A.current.children[O];
460
+ R,
461
+ B
462
+ ]), U(() => {
463
+ if (D >= 0 && j.current) {
464
+ let e = j.current.children[D];
465
465
  e && e.scrollIntoView({ block: "nearest" });
466
466
  }
467
- }, [O]), H(() => {
468
- u && I && z && ne !== void 0 && z(ne);
467
+ }, [D]), U(() => {
468
+ u && R && B && ee !== void 0 && B(ee);
469
469
  }, [
470
- ne,
470
+ ee,
471
471
  u,
472
- I,
473
- z
474
- ]), H(() => {
475
- if (!F) return;
476
- let e = v(o.dateRange);
477
- e && (_(e.rangeType), e.numberValue !== void 0 && b(e.numberValue));
478
- }, [o.dateRange, F]);
479
- let fe = V((e) => {
472
+ R,
473
+ B
474
+ ]), U(() => {
475
+ if (!L) return;
476
+ let e = O(o.dateRange);
477
+ e && (h(e.rangeType), e.numberValue !== void 0 && y(e.numberValue));
478
+ }, [o.dateRange, L]);
479
+ let de = H((e) => {
480
480
  s({
481
481
  member: o.member,
482
482
  operator: e,
483
483
  values: []
484
484
  }), l(!1);
485
- }, [o.member]), pe = V((e, t) => {
485
+ }, [o.member]), fe = H((e, t) => {
486
486
  let n = t?.shiftKey ?? !1, r = o.values || [];
487
- P?.supportsMultipleValues ? (r.includes(e) ? s({
487
+ F?.supportsMultipleValues ? (r.includes(e) ? s({
488
488
  ...o,
489
489
  values: r.filter((t) => t !== e)
490
490
  }) : s({
@@ -493,28 +493,28 @@ function Re({ filter: e, schema: t, onSave: n, onCancel: r, anchorElement: i })
493
493
  }), n || d(!1)) : (s({
494
494
  ...o,
495
495
  values: [e]
496
- }), d(!1)), w(""), k(-1);
497
- }, [o, P?.supportsMultipleValues]), me = V((e) => {
496
+ }), d(!1)), x(""), k(-1);
497
+ }, [o, F?.supportsMultipleValues]), pe = H((e) => {
498
498
  let t = (o.values || []).filter((t) => t !== e);
499
499
  s({
500
500
  ...o,
501
501
  values: t
502
502
  });
503
- }, [o]), he = V((e) => {
504
- let t = Ee(e.key, u, L.length, O);
503
+ }, [o]), me = H((e) => {
504
+ let t = Ee(e.key, u, se.length, D);
505
505
  if (t.type !== "none") {
506
506
  if (e.preventDefault(), t.type === "highlight") return k(t.index);
507
- if (t.type === "select") return pe(L[t.index], { shiftKey: e.shiftKey });
507
+ if (t.type === "select") return fe(se[t.index], { shiftKey: e.shiftKey });
508
508
  d(!1), k(-1);
509
509
  }
510
510
  }, [
511
511
  u,
512
- L,
513
- O,
514
- pe
515
- ]), B = V((e) => {
512
+ se,
513
+ D,
514
+ fe
515
+ ]), V = H((e) => {
516
516
  let t = e.target.value;
517
- if (P?.valueType === "number") {
517
+ if (F?.valueType === "number") {
518
518
  let e = parseFloat(t);
519
519
  isNaN(e) ? (t === "" || t === "-") && s({
520
520
  ...o,
@@ -527,63 +527,63 @@ function Re({ filter: e, schema: t, onSave: n, onCancel: r, anchorElement: i })
527
527
  ...o,
528
528
  values: t ? [t] : []
529
529
  });
530
- }, [o, P?.valueType]), ge = V((e) => {
530
+ }, [o, F?.valueType]), he = H((e) => {
531
531
  let t = parseFloat(e.target.value), n = [isNaN(t) ? "" : t, (o.values?.length >= 2 ? o.values : ["", ""])[1]].filter((e) => e !== "");
532
532
  s({
533
533
  ...o,
534
534
  values: n
535
535
  });
536
- }, [o]), _e = V((e) => {
536
+ }, [o]), ge = H((e) => {
537
537
  let t = parseFloat(e.target.value), n = [(o.values?.length >= 2 ? o.values : ["", ""])[0], isNaN(t) ? "" : t].filter((e) => e !== "");
538
538
  s({
539
539
  ...o,
540
540
  values: n
541
541
  });
542
- }, [o]), ve = V((e) => {
542
+ }, [o]), _e = H((e) => {
543
543
  let t = e.target.value;
544
544
  s({
545
545
  ...o,
546
546
  values: t ? [t] : []
547
547
  });
548
- }, [o]), ye = V((e) => {
549
- _(e), p(!1);
548
+ }, [o]), ye = H((e) => {
549
+ h(e), p(!1);
550
550
  let t;
551
551
  if (e === "custom") {
552
552
  let e = (/* @__PURE__ */ new Date()).toISOString().split("T")[0];
553
553
  t = [e, e];
554
- } else t = te(e) ? N(e, y) : N(e);
554
+ } else t = ie(e) ? M(e, v) : M(e);
555
555
  s({
556
556
  ...o,
557
557
  dateRange: t
558
558
  });
559
- }, [o, y]), be = V((e) => {
560
- if (b(e), te(g)) {
561
- let t = N(g, e);
559
+ }, [o, v]), be = H((e) => {
560
+ if (y(e), ie(m)) {
561
+ let t = M(m, e);
562
562
  s({
563
563
  ...o,
564
564
  dateRange: t
565
565
  });
566
566
  }
567
- }, [o, g]), xe = V((e) => {
567
+ }, [o, m]), xe = H((e) => {
568
568
  let t = e.target.value, n = (Array.isArray(o.dateRange) ? o.dateRange : [o.dateRange || "", ""])[1] || t;
569
569
  s({
570
570
  ...o,
571
571
  dateRange: [t, n]
572
572
  });
573
- }, [o]), Se = V((e) => {
573
+ }, [o]), Se = H((e) => {
574
574
  let t = e.target.value, n = (Array.isArray(o.dateRange) ? o.dateRange : ["", o.dateRange || ""])[0] || t;
575
575
  s({
576
576
  ...o,
577
577
  dateRange: [n, t]
578
578
  });
579
- }, [o]), Ce = a(se.find((e) => e.operator === o.operator)?.label || o.operator), we = a(m.find((e) => e.value === g)?.label || "filter.modal.selectRange"), Te = {
579
+ }, [o]), Ce = a(I.find((e) => e.operator === o.operator)?.label || o.operator), we = a(E.find((e) => e.value === m)?.label || "filter.modal.selectRange"), Te = {
580
580
  filter: o,
581
- operatorMeta: P,
582
- shouldShowDateRange: F,
583
- shouldShowComboBox: I
581
+ operatorMeta: F,
582
+ shouldShowDateRange: L,
583
+ shouldShowComboBox: R
584
584
  }, Y = {
585
- rangeType: g,
586
- numberValue: y,
585
+ rangeType: m,
586
+ numberValue: v,
587
587
  label: we,
588
588
  isOpen: f,
589
589
  onToggle: p,
@@ -591,46 +591,46 @@ function Re({ filter: e, schema: t, onSave: n, onCancel: r, anchorElement: i })
591
591
  onNumberValueChange: be,
592
592
  onCustomStartDate: xe,
593
593
  onCustomEndDate: Se,
594
- onOpen: V(() => {
594
+ onOpen: H(() => {
595
595
  l(!1), d(!1);
596
596
  }, [])
597
597
  }, De = {
598
598
  isOpen: u,
599
- options: L,
600
- loading: ue,
601
- error: de,
602
- searchText: C,
603
- highlightedIndex: O,
604
- listRef: A,
605
- onSearchTextChange: w,
599
+ options: se,
600
+ loading: ce,
601
+ error: ue,
602
+ searchText: b,
603
+ highlightedIndex: D,
604
+ listRef: j,
605
+ onSearchTextChange: x,
606
606
  onHighlightedIndexChange: k,
607
- onSelect: pe,
608
- onRemove: me,
609
- onKeyDown: he,
610
- onOpen: V(() => {
607
+ onSelect: fe,
608
+ onRemove: pe,
609
+ onKeyDown: me,
610
+ onOpen: H(() => {
611
611
  l(!1), p(!1), d((e) => !e);
612
612
  }, [])
613
- }, Oe = U(() => ({
614
- onBetweenStart: ge,
615
- onBetweenEnd: _e,
616
- onDate: ve,
617
- onDirect: B
613
+ }, Oe = W(() => ({
614
+ onBetweenStart: he,
615
+ onBetweenEnd: ge,
616
+ onDate: _e,
617
+ onDirect: V
618
618
  }), [
619
+ he,
619
620
  ge,
620
621
  _e,
621
- ve,
622
- B
623
- ]), ke = M ? Ie : ie ? Le : Fe;
624
- return /* @__PURE__ */ q(K, { children: /* @__PURE__ */ q("div", {
625
- className: `dc:fixed dc:inset-0 bg-dc-overlay dc:z-50 ${T ? "" : "dc:flex dc:items-center dc:justify-center dc:p-4"}`,
622
+ V
623
+ ]), ke = P ? Ie : ne ? Le : Fe;
624
+ return /* @__PURE__ */ q(ve, { children: /* @__PURE__ */ q("div", {
625
+ className: `dc:fixed dc:inset-0 bg-dc-overlay dc:z-50 ${w ? "" : "dc:flex dc:items-center dc:justify-center dc:p-4"}`,
626
626
  onClick: r,
627
627
  children: /* @__PURE__ */ J("div", {
628
- ref: ee,
629
- className: T ? "bg-dc-surface rounded-lg border border-dc-border" : "bg-dc-surface rounded-lg border border-dc-border max-w-md w-full",
628
+ ref: A,
629
+ className: w ? "bg-dc-surface rounded-lg border border-dc-border" : "bg-dc-surface rounded-lg border border-dc-border max-w-md w-full",
630
630
  style: {
631
- ...T ? {
631
+ ...w ? {
632
632
  position: "fixed",
633
- ...T,
633
+ ...w,
634
634
  maxWidth: "400px",
635
635
  width: "100%"
636
636
  } : {},
@@ -659,7 +659,7 @@ function Re({ filter: e, schema: t, onSave: n, onCancel: r, anchorElement: i })
659
659
  className: "dc:flex dc:items-center dc:gap-2 dc:p-3 bg-dc-surface-secondary dc:rounded",
660
660
  children: [/* @__PURE__ */ q(ke, { className: "dc:w-5 dc:h-5 text-dc-filter-text" }), /* @__PURE__ */ q("span", {
661
661
  className: "dc:text-sm dc:font-medium text-dc-text",
662
- children: oe
662
+ children: ae
663
663
  })]
664
664
  })] }),
665
665
  /* @__PURE__ */ J("div", { children: [/* @__PURE__ */ q("label", {
@@ -678,8 +678,8 @@ function Re({ filter: e, schema: t, onSave: n, onCancel: r, anchorElement: i })
678
678
  }), /* @__PURE__ */ q(Pe, { className: `dc:w-4 dc:h-4 text-dc-text-muted dc:shrink-0 dc:ml-2 dc:transition-transform ${c ? "dc:rotate-180" : ""}` })]
679
679
  }), c && /* @__PURE__ */ q("div", {
680
680
  className: "dc:absolute dc:z-[60] dc:left-0 dc:right-0 dc:mt-1 bg-dc-surface dc:border border-dc-border dc:rounded dc:shadow-lg dc:max-h-48 dc:overflow-y-auto",
681
- children: se.map((e) => /* @__PURE__ */ q("button", {
682
- onClick: () => fe(e.operator),
681
+ children: I.map((e) => /* @__PURE__ */ q("button", {
682
+ onClick: () => de(e.operator),
683
683
  className: `dc:w-full dc:text-left dc:px-3 dc:py-2 dc:text-sm hover:bg-dc-surface-hover ${e.operator === o.operator ? "bg-dc-primary/10 text-dc-primary" : "text-dc-text"}`,
684
684
  children: a(e.label)
685
685
  }, e.operator))
@@ -716,13 +716,13 @@ function Re({ filter: e, schema: t, onSave: n, onCancel: r, anchorElement: i })
716
716
  //#region src/client/components/AnalysisBuilder/AnalysisFilterItem.tsx
717
717
  var ze = l("close"), Be = l("dimension"), Ve = l("timeDimension"), He = l("measure");
718
718
  function Ue({ filter: e, schema: t, onRemove: n, onUpdate: r }) {
719
- let { t: i } = R(), [a, o] = G(!1), s = W(null), c = E(e.member, t), l = (c?.field.type || "string") === "time", u = c?.fieldType === "measure", d = h(e.member, t), f = x[e.operator], p = f?.label ? i(f.label) : e.operator, m = We(e, f, i), g = l ? Ve : u ? He : Be;
720
- return /* @__PURE__ */ J(K, { children: [/* @__PURE__ */ J("div", {
719
+ let { t: i } = z(), [a, o] = K(!1), s = G(null), c = C(e.member, t), l = (c?.field.type || "string") === "time", u = c?.fieldType === "measure", d = S(e.member, t), f = g[e.operator], p = f?.label ? i(f.label) : e.operator, m = We(e, f, i), h = l ? Ve : u ? He : Be;
720
+ return /* @__PURE__ */ J(ve, { children: [/* @__PURE__ */ J("div", {
721
721
  className: "dc:flex dc:items-start dc:gap-2 dc:px-2 dc:py-1.5 bg-dc-surface-secondary dc:rounded-lg dc:group hover:bg-dc-surface-tertiary dc:transition-all dc:duration-150 dc:w-full",
722
722
  children: [
723
723
  /* @__PURE__ */ q("span", {
724
724
  className: `dc:w-6 dc:h-6 dc:flex dc:items-center dc:justify-center dc:rounded ${l ? "bg-dc-time-dimension" : u ? "bg-dc-measure" : "bg-dc-dimension"} ${l ? "text-dc-time-dimension-text" : u ? "text-dc-measure-text" : "text-dc-dimension-text"} dc:flex-shrink-0 dc:mt-0.5`,
725
- children: g && /* @__PURE__ */ q(g, { className: "dc:w-4 dc:h-4" })
725
+ children: h && /* @__PURE__ */ q(h, { className: "dc:w-4 dc:h-4" })
726
726
  }),
727
727
  /* @__PURE__ */ q("button", {
728
728
  ref: s,
@@ -774,22 +774,22 @@ function We(e, t, n) {
774
774
  //#region src/client/components/AnalysisBuilder/AnalysisFilterGroup.tsx
775
775
  var Ge = l("add"), Ke = l("close");
776
776
  function qe({ group: e, schema: t, onUpdate: n, onRemove: r, onAddFilter: i, depth: a = 0, hideRemoveButton: o = !1 }) {
777
- let { t: s } = R(), [c, l] = G(!1), u = W(null);
778
- H(() => {
777
+ let { t: s } = z(), [c, l] = K(!1), u = G(null);
778
+ U(() => {
779
779
  let e = (e) => {
780
780
  u.current && !u.current.contains(e.target) && l(!1);
781
781
  };
782
782
  return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
783
783
  }, []);
784
- let d = V(() => {
785
- n(j(e));
786
- }, [e, n]), f = V((t, r) => {
784
+ let d = H(() => {
785
+ n(re(e));
786
+ }, [e, n]), f = H((t, r) => {
787
787
  let i = [...e.filters];
788
788
  i[t] = r, n({
789
789
  ...e,
790
790
  filters: i
791
791
  });
792
- }, [e, n]), p = V((t) => {
792
+ }, [e, n]), p = H((t) => {
793
793
  let i = e.filters.filter((e, n) => n !== t);
794
794
  i.length === 0 ? r() : n({
795
795
  ...e,
@@ -800,7 +800,7 @@ function qe({ group: e, schema: t, onUpdate: n, onRemove: r, onAddFilter: i, dep
800
800
  n,
801
801
  r,
802
802
  a
803
- ]), m = V((t) => {
803
+ ]), m = H((t) => {
804
804
  let r = {
805
805
  type: t,
806
806
  filters: []
@@ -809,9 +809,9 @@ function qe({ group: e, schema: t, onUpdate: n, onRemove: r, onAddFilter: i, dep
809
809
  ...e,
810
810
  filters: [...e.filters, r]
811
811
  }), l(!1);
812
- }, [e, n]), h = V(() => {
812
+ }, [e, n]), h = H(() => {
813
813
  i([]), l(!1);
814
- }, [i]), g = V((e) => (t = []) => {
814
+ }, [i]), g = H((e) => (t = []) => {
815
815
  i([e, ...t]);
816
816
  }, [i]), _ = () => a % 2 == 0 ? "border-dc-border" : "border-dc-border dark:border-dc-border", v = () => e.type === "and" ? "bg-dc-info-bg/50" : "bg-dc-warning-bg/50", y = e.filters.length, b = s(y === 1 ? "filter.group.condition" : "filter.group.conditions");
817
817
  return /* @__PURE__ */ J("div", {
@@ -882,12 +882,12 @@ function qe({ group: e, schema: t, onUpdate: n, onRemove: r, onAddFilter: i, dep
882
882
  className: "dc:text-xs text-dc-primary dc:hover:underline",
883
883
  children: s("filter.group.addFilterLink")
884
884
  })]
885
- }) : e.filters.map((e, n) => M(e) ? /* @__PURE__ */ q(Ue, {
885
+ }) : e.filters.map((e, n) => I(e) ? /* @__PURE__ */ q(Ue, {
886
886
  filter: e,
887
887
  schema: t,
888
888
  onUpdate: (e) => f(n, e),
889
889
  onRemove: () => p(n)
890
- }, `filter-${n}`) : re(e) ? /* @__PURE__ */ q(qe, {
890
+ }, `filter-${n}`) : j(e) ? /* @__PURE__ */ q(qe, {
891
891
  group: e,
892
892
  schema: t,
893
893
  onUpdate: (e) => f(n, e),
@@ -902,42 +902,42 @@ function qe({ group: e, schema: t, onUpdate: n, onRemove: r, onAddFilter: i, dep
902
902
  //#region src/client/components/AnalysisBuilder/AnalysisFilterSection.tsx
903
903
  var Je = l("add");
904
904
  function Ye({ filters: e, schema: t, onFiltersChange: n, onFieldDropped: r, dimensionsOnly: i = !1 }) {
905
- let { t: a } = R(), [o, s] = G(!1), [c, l] = G(!1), u = W([]), d = I(e), f = V((e) => {
905
+ let { t: a } = z(), [o, s] = K(!1), [c, l] = K(!1), u = G([]), d = ee(e), f = H((e) => {
906
906
  e.preventDefault(), e.stopPropagation(), l(!0);
907
- }, []), p = V((e) => {
907
+ }, []), p = H((e) => {
908
908
  e.preventDefault(), e.stopPropagation(), l(!1);
909
- }, []), m = V((e) => {
909
+ }, []), m = H((e) => {
910
910
  e.preventDefault(), e.stopPropagation(), l(!1);
911
911
  try {
912
912
  let t = JSON.parse(e.dataTransfer.getData("text/plain"));
913
913
  t.field && r && r(t.field);
914
914
  } catch {}
915
- }, [r]), h = A(e), g = V((t, r, i) => {
915
+ }, [r]), h = ne(e), g = H((t, r, i) => {
916
916
  let a = t.type === "time", o = a ? "inDateRange" : "equals", c = {
917
917
  member: t.name,
918
918
  operator: o,
919
919
  values: []
920
920
  };
921
- a && o === "inDateRange" && (c.dateRange = N("this_month")), n(ie(e, u.current, c)), s(!1), u.current = [];
922
- }, [e, n]), _ = V((t, r) => {
921
+ a && o === "inDateRange" && (c.dateRange = M("this_month")), n(N(e, u.current, c)), s(!1), u.current = [];
922
+ }, [e, n]), _ = H((t, r) => {
923
923
  let i = [...e];
924
924
  i[t] = r, n(i);
925
- }, [e, n]), v = V((t) => {
926
- n(ae(e, t));
927
- }, [e, n]), y = V(() => {
925
+ }, [e, n]), v = H((t) => {
926
+ n(te(e, t));
927
+ }, [e, n]), y = H(() => {
928
928
  n([]);
929
- }, [n]), b = V(() => {
929
+ }, [n]), b = H(() => {
930
930
  u.current = [], s(!0);
931
- }, []), x = V((e) => (t = []) => {
931
+ }, []), x = H((e) => (t = []) => {
932
932
  u.current = [...e, ...t], s(!0);
933
933
  }, []), S = (n, r, i = []) => {
934
934
  let a = [...i, r];
935
- return M(n) ? /* @__PURE__ */ q(Ue, {
935
+ return I(n) ? /* @__PURE__ */ q(Ue, {
936
936
  filter: n,
937
937
  schema: t,
938
938
  onUpdate: (e) => _(r, e),
939
939
  onRemove: () => v(r)
940
- }, `filter-${a.join("-")}`) : re(n) ? /* @__PURE__ */ q(qe, {
940
+ }, `filter-${a.join("-")}`) : j(n) ? /* @__PURE__ */ q(qe, {
941
941
  group: n,
942
942
  schema: t,
943
943
  onUpdate: (e) => _(r, e),
@@ -951,7 +951,7 @@ function Ye({ filters: e, schema: t, onFiltersChange: n, onFieldDropped: r, dime
951
951
  onClick: b,
952
952
  className: "dc:flex dc:items-center dc:justify-between dc:mb-3 dc:w-full dc:py-1 dc:px-2 dc:-ml-2 dc:rounded-lg hover:bg-dc-primary/10 dc:transition-colors dc:group",
953
953
  title: "Add filter",
954
- children: [/* @__PURE__ */ J(he, { children: [a("analysis.sections.filters"), d > 0 && /* @__PURE__ */ J("span", {
954
+ children: [/* @__PURE__ */ J(me, { children: [a("analysis.sections.filters"), d > 0 && /* @__PURE__ */ J("span", {
955
955
  className: "dc:ml-1.5 dc:text-xs dc:font-normal text-dc-text-muted dc:normal-case dc:tracking-normal",
956
956
  children: [
957
957
  "(",
@@ -1018,7 +1018,7 @@ var Ze = {
1018
1018
  low: "text-dc-text-muted"
1019
1019
  };
1020
1020
  function et({ assessment: e, reason: t }) {
1021
- let { t: n } = R(), r = {
1021
+ let { t: n } = z(), r = {
1022
1022
  good: n("explainAI.assessment.good"),
1023
1023
  warning: n("explainAI.assessment.warning"),
1024
1024
  critical: n("explainAI.assessment.critical")
@@ -1059,8 +1059,8 @@ function tt({ issue: e }) {
1059
1059
  });
1060
1060
  }
1061
1061
  function nt({ text: e }) {
1062
- let { t } = R(), [n, r] = B.useState(!1), i = B.useRef(null);
1063
- return B.useEffect(() => () => {
1062
+ let { t } = z(), [n, r] = V.useState(!1), i = V.useRef(null);
1063
+ return V.useEffect(() => () => {
1064
1064
  i.current && clearTimeout(i.current);
1065
1065
  }, []), /* @__PURE__ */ q("button", {
1066
1066
  onClick: async () => {
@@ -1076,7 +1076,7 @@ function nt({ text: e }) {
1076
1076
  });
1077
1077
  }
1078
1078
  function rt({ rec: e }) {
1079
- let { t } = R(), n = {
1079
+ let { t } = z(), n = {
1080
1080
  index: t("explainAI.type.index"),
1081
1081
  table: t("explainAI.type.table"),
1082
1082
  cube: t("explainAI.type.cube"),
@@ -1101,7 +1101,7 @@ function rt({ rec: e }) {
1101
1101
  }),
1102
1102
  e.sql && /* @__PURE__ */ q("div", {
1103
1103
  className: "dc:mt-2",
1104
- children: /* @__PURE__ */ q(y, {
1104
+ children: /* @__PURE__ */ q(m, {
1105
1105
  code: e.sql,
1106
1106
  language: "sql",
1107
1107
  headerRight: /* @__PURE__ */ q(nt, { text: e.sql })
@@ -1135,13 +1135,13 @@ function rt({ rec: e }) {
1135
1135
  });
1136
1136
  }
1137
1137
  function it({ analysis: e, onClose: t, onClear: n }) {
1138
- let { t: r } = R(), i = t || n;
1139
- return B.useEffect(() => {
1138
+ let { t: r } = z(), i = t || n;
1139
+ return V.useEffect(() => {
1140
1140
  let e = (e) => {
1141
1141
  e.key === "Escape" && i && i();
1142
1142
  };
1143
1143
  return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
1144
- }, [i]), B.useEffect(() => (document.body.style.overflow = "hidden", () => {
1144
+ }, [i]), V.useEffect(() => (document.body.style.overflow = "hidden", () => {
1145
1145
  document.body.style.overflow = "";
1146
1146
  }), []), /* @__PURE__ */ J("div", {
1147
1147
  className: "dc:fixed dc:inset-0 dc:z-50 dc:flex dc:items-center dc:justify-center dc:p-4 bg-black/50",
@@ -1402,7 +1402,7 @@ function jt(e, t, n, r) {
1402
1402
  //#endregion
1403
1403
  //#region src/client/components/AnalysisBuilder/ExecutionPlanPanelParts.tsx
1404
1404
  function Mt({ title: e, height: t, className: n, children: r }) {
1405
- return /* @__PURE__ */ J(K, { children: [/* @__PURE__ */ q("h4", {
1405
+ return /* @__PURE__ */ J(ve, { children: [/* @__PURE__ */ q("h4", {
1406
1406
  className: "dc:text-sm dc:font-semibold text-dc-text dc:mb-2",
1407
1407
  children: e
1408
1408
  }), /* @__PURE__ */ q("div", {
@@ -1412,7 +1412,7 @@ function Mt({ title: e, height: t, className: n, children: r }) {
1412
1412
  })] });
1413
1413
  }
1414
1414
  function Nt({ sql: e, sqlLoading: t, sqlError: n, sqlPlaceholder: r, formattedSql: i, title: a, height: o, headerRight: s }) {
1415
- let { t: c } = R();
1415
+ let { t: c } = z();
1416
1416
  return t ? /* @__PURE__ */ q(Mt, {
1417
1417
  title: a,
1418
1418
  height: o,
@@ -1423,7 +1423,7 @@ function Nt({ sql: e, sqlLoading: t, sqlError: n, sqlPlaceholder: r, formattedSq
1423
1423
  height: o,
1424
1424
  className: "text-dc-error dc:text-sm bg-dc-danger-bg dc:p-3 dc:rounded dc:border border-dc-error",
1425
1425
  children: n.message
1426
- }) : e ? /* @__PURE__ */ q(y, {
1426
+ }) : e ? /* @__PURE__ */ q(m, {
1427
1427
  code: i,
1428
1428
  language: "sql",
1429
1429
  title: a,
@@ -1437,7 +1437,7 @@ function Nt({ sql: e, sqlLoading: t, sqlError: n, sqlPlaceholder: r, formattedSq
1437
1437
  });
1438
1438
  }
1439
1439
  function Pt({ summary: e }) {
1440
- let { t } = R();
1440
+ let { t } = z();
1441
1441
  return /* @__PURE__ */ J("div", {
1442
1442
  className: "dc:flex dc:flex-wrap dc:items-center dc:gap-2",
1443
1443
  children: [
@@ -1469,7 +1469,7 @@ function Pt({ summary: e }) {
1469
1469
  });
1470
1470
  }
1471
1471
  function Ft({ explainLoading: e, explainError: t, explainResult: n, useAnalyze: r, aiButton: i }) {
1472
- let { t: a } = R();
1472
+ let { t: a } = z();
1473
1473
  return e ? /* @__PURE__ */ q("div", {
1474
1474
  className: "bg-dc-surface-secondary dc:border border-dc-border dc:rounded dc:p-3 text-dc-text-muted dc:text-sm dc:animate-pulse",
1475
1475
  children: a(r ? "debug.explainRunningAnalyze" : "debug.explainRunningBasic")
@@ -1492,7 +1492,7 @@ function Ft({ explainLoading: e, explainError: t, explainResult: n, useAnalyze:
1492
1492
  n.summary.usedIndexes.join(", ")
1493
1493
  ]
1494
1494
  }),
1495
- /* @__PURE__ */ q(y, {
1495
+ /* @__PURE__ */ q(m, {
1496
1496
  code: n.raw,
1497
1497
  language: "sql",
1498
1498
  title: a("debug.executionPlanTitle", { database: n.summary.database }),
@@ -1504,8 +1504,8 @@ function Ft({ explainLoading: e, explainError: t, explainResult: n, useAnalyze:
1504
1504
  }
1505
1505
  //#endregion
1506
1506
  //#region src/client/components/AnalysisBuilder/ExecutionPlanPanel.tsx
1507
- var It = _e(function({ sql: e, sqlLoading: t = !1, sqlError: n, sqlPlaceholder: r = "Add metrics to generate SQL", explainResult: i, explainLoading: a = !1, explainHasRun: o = !1, explainError: s, runExplain: c, aiAnalysis: l, aiAnalysisLoading: u = !1, aiAnalysisError: d, runAIAnalysis: f, clearAIAnalysis: p, enableAI: m = !1, query: h, title: g = "Generated SQL", height: _ = "16rem" }) {
1508
- let { t: v } = R(), [y, b] = G(!1), [x, S] = G(!1), C = e ? e.sql + (e.params && e.params.length > 0 ? "\n\n-- Parameters:\n" + JSON.stringify(e.params, null, 2) : "") : "", w = () => {
1507
+ var It = ge(function({ sql: e, sqlLoading: t = !1, sqlError: n, sqlPlaceholder: r = "Add metrics to generate SQL", explainResult: i, explainLoading: a = !1, explainHasRun: o = !1, explainError: s, runExplain: c, aiAnalysis: l, aiAnalysisLoading: u = !1, aiAnalysisError: d, runAIAnalysis: f, clearAIAnalysis: p, enableAI: m = !1, query: h, title: g = "Generated SQL", height: _ = "16rem" }) {
1508
+ let { t: v } = z(), [y, b] = K(!1), [x, S] = K(!1), C = e ? e.sql + (e.params && e.params.length > 0 ? "\n\n-- Parameters:\n" + JSON.stringify(e.params, null, 2) : "") : "", w = () => {
1509
1509
  f && i && h && (f(i, h), S(!0));
1510
1510
  }, T = () => {
1511
1511
  S(!1);
@@ -1513,10 +1513,10 @@ var It = _e(function({ sql: e, sqlLoading: t = !1, sqlError: n, sqlPlaceholder:
1513
1513
  onClick: w,
1514
1514
  disabled: u,
1515
1515
  className: "dc:px-2 dc:py-1 dc:text-xs dc:font-medium dc:rounded bg-dc-accent text-white hover:bg-dc-accent-hover dc:disabled:opacity-50 dc:disabled:cursor-not-allowed dc:flex dc:items-center dc:gap-1",
1516
- children: u ? /* @__PURE__ */ J(K, { children: [/* @__PURE__ */ q("span", {
1516
+ children: u ? /* @__PURE__ */ J(ve, { children: [/* @__PURE__ */ q("span", {
1517
1517
  className: "dc:animate-spin",
1518
1518
  children: "⟳"
1519
- }), v("debug.aiAnalyzing")] }) : /* @__PURE__ */ q(K, { children: `✨ ${v("debug.aiAnalysis")}` })
1519
+ }), v("debug.aiAnalyzing")] }) : /* @__PURE__ */ q(ve, { children: `✨ ${v("debug.aiAnalysis")}` })
1520
1520
  }) : null;
1521
1521
  return /* @__PURE__ */ J("div", {
1522
1522
  className: "dc:space-y-3",
@@ -1529,7 +1529,7 @@ var It = _e(function({ sql: e, sqlLoading: t = !1, sqlError: n, sqlPlaceholder:
1529
1529
  formattedSql: C,
1530
1530
  title: g,
1531
1531
  height: _,
1532
- headerRight: /* @__PURE__ */ J(K, { children: [/* @__PURE__ */ J("label", {
1532
+ headerRight: /* @__PURE__ */ J(ve, { children: [/* @__PURE__ */ J("label", {
1533
1533
  className: "dc:flex dc:items-center dc:gap-1 dc:text-xs text-dc-text-secondary dc:cursor-pointer",
1534
1534
  children: [/* @__PURE__ */ q("input", {
1535
1535
  type: "checkbox",
@@ -1609,22 +1609,22 @@ function Bt(e) {
1609
1609
  }
1610
1610
  function Vt(e) {
1611
1611
  return e.map((e, t) => ({
1612
- id: p(),
1612
+ id: k(),
1613
1613
  field: e,
1614
- label: d(t)
1614
+ label: A(t)
1615
1615
  }));
1616
1616
  }
1617
1617
  function Ht(e) {
1618
1618
  let t = [];
1619
1619
  if (e.dimensions) for (let n of e.dimensions) t.push({
1620
- id: p(),
1620
+ id: k(),
1621
1621
  field: n,
1622
1622
  isTimeDimension: !1
1623
1623
  });
1624
1624
  if (e.timeDimensions) for (let n of e.timeDimensions) {
1625
1625
  let e = !!(n.compareDateRange && n.compareDateRange.length > 0);
1626
1626
  t.push({
1627
- id: p(),
1627
+ id: k(),
1628
1628
  field: n.dimension,
1629
1629
  granularity: n.granularity,
1630
1630
  isTimeDimension: !0,
@@ -1729,7 +1729,7 @@ var X = {
1729
1729
  }
1730
1730
  }, Z = /* @__PURE__ */ new Map(), Gt = !1;
1731
1731
  function Kt() {
1732
- Gt ||= (Z.has("query") || Z.set("query", X), Z.has("funnel") || Z.set("funnel", _), Z.has("flow") || Z.set("flow", w), Z.has("retention") || Z.set("retention", b), !0);
1732
+ Gt ||= (Z.has("query") || Z.set("query", X), Z.has("funnel") || Z.set("funnel", x), Z.has("flow") || Z.set("flow", w), Z.has("retention") || Z.set("retention", D), !0);
1733
1733
  }
1734
1734
  var Q = {
1735
1735
  register(e) {
@@ -1754,9 +1754,9 @@ var Q = {
1754
1754
  analysisType: "query",
1755
1755
  charts: {
1756
1756
  query: X.getDefaultChartConfig(),
1757
- funnel: _.getDefaultChartConfig(),
1757
+ funnel: x.getDefaultChartConfig(),
1758
1758
  flow: w.getDefaultChartConfig(),
1759
- retention: b.getDefaultChartConfig()
1759
+ retention: D.getDefaultChartConfig()
1760
1760
  },
1761
1761
  activeViews: {
1762
1762
  query: "chart",
@@ -2015,9 +2015,9 @@ var Q = {
2015
2015
  }),
2016
2016
  addMetric: (t, n) => e((e) => {
2017
2017
  let r = e.activeQueryIndex, i = [...e.queryStates], a = i[r] || Y(), o = {
2018
- id: p(),
2018
+ id: k(),
2019
2019
  field: t,
2020
- label: n || d(a.metrics.length)
2020
+ label: n || A(a.metrics.length)
2021
2021
  };
2022
2022
  return i[r] = {
2023
2023
  ...a,
@@ -2040,9 +2040,9 @@ var Q = {
2040
2040
  };
2041
2041
  else {
2042
2042
  let e = {
2043
- id: p(),
2043
+ id: k(),
2044
2044
  field: t,
2045
- label: d(i.metrics.length)
2045
+ label: A(i.metrics.length)
2046
2046
  };
2047
2047
  r[n] = {
2048
2048
  ...i,
@@ -2062,7 +2062,7 @@ var Q = {
2062
2062
  let i = e.activeQueryIndex, a = [...e.queryStates], o = a[i] || Y();
2063
2063
  if (n && o.breakdowns.some((e) => e.isTimeDimension)) return e;
2064
2064
  let s = {
2065
- id: p(),
2065
+ id: k(),
2066
2066
  field: t,
2067
2067
  isTimeDimension: n,
2068
2068
  granularity: n ? r || "month" : void 0
@@ -2089,7 +2089,7 @@ var Q = {
2089
2089
  else {
2090
2090
  if (n && o.breakdowns.some((e) => e.isTimeDimension)) return e;
2091
2091
  let s = {
2092
- id: p(),
2092
+ id: k(),
2093
2093
  field: t,
2094
2094
  isTimeDimension: n,
2095
2095
  granularity: n ? r || "month" : void 0
@@ -2137,7 +2137,7 @@ var Q = {
2137
2137
  member: l.field,
2138
2138
  operator: "inDateRange",
2139
2139
  values: [],
2140
- dateRange: N("last_n_months", 3)
2140
+ dateRange: M("last_n_months", 3)
2141
2141
  };
2142
2142
  s[c] = {
2143
2143
  ...s[c],
@@ -2254,7 +2254,7 @@ var Q = {
2254
2254
  ...Zt(),
2255
2255
  addFunnelStep: () => e((e) => {
2256
2256
  let t = e.funnelSteps[e.funnelSteps.length - 1], n = {
2257
- id: p(),
2257
+ id: k(),
2258
2258
  name: `Step ${e.funnelSteps.length + 1}`,
2259
2259
  cube: e.funnelCube || "",
2260
2260
  filters: t?.filters ? JSON.parse(JSON.stringify(t.filters)) : [],
@@ -2402,7 +2402,7 @@ var Q = {
2402
2402
  joinStrategy: e.joinStrategy
2403
2403
  } };
2404
2404
  }
2405
- }), tn = () => ({ ...O }), nn = (e, t, n) => ({
2405
+ }), tn = () => ({ ...d }), nn = (e, t, n) => ({
2406
2406
  ...tn(),
2407
2407
  setRetentionCube: (t) => e(() => ({
2408
2408
  retentionCube: t,
@@ -2585,11 +2585,11 @@ var Q = {
2585
2585
  //#region src/client/stores/optionsToAnalysisConfig.ts
2586
2586
  function sn(e) {
2587
2587
  let t = e.filters ? [...e.filters] : [], n = e.timeDimensions || [], r = [...(e.dimensions || []).map((e) => ({
2588
- id: p(),
2588
+ id: k(),
2589
2589
  field: e,
2590
2590
  isTimeDimension: !1
2591
2591
  })), ...n.map((e) => ({
2592
- id: p(),
2592
+ id: k(),
2593
2593
  field: e.dimension,
2594
2594
  granularity: e.granularity,
2595
2595
  isTimeDimension: !0,
@@ -2617,9 +2617,9 @@ function sn(e) {
2617
2617
  return {
2618
2618
  ...Y(),
2619
2619
  metrics: (e.measures || []).map((e, t) => ({
2620
- id: p(),
2620
+ id: k(),
2621
2621
  field: e,
2622
- label: d(t)
2622
+ label: A(t)
2623
2623
  })),
2624
2624
  breakdowns: r,
2625
2625
  filters: i,
@@ -2641,8 +2641,8 @@ function un(e) {
2641
2641
  return e.initialActiveView || "chart";
2642
2642
  }
2643
2643
  function dn(e) {
2644
- let t = ln(_, e.initialChartConfig), n = e.initialFunnelState ?? {};
2645
- return _.save({
2644
+ let t = ln(x, e.initialChartConfig), n = e.initialFunnelState ?? {};
2645
+ return x.save({
2646
2646
  funnelCube: n.funnelCube ?? null,
2647
2647
  funnelSteps: n.funnelSteps || [],
2648
2648
  activeFunnelStepIndex: 0,
@@ -2667,8 +2667,8 @@ function fn(e) {
2667
2667
  }, { flow: t }, un(e));
2668
2668
  }
2669
2669
  function pn(e) {
2670
- let t = ln(b, e.initialChartConfig), n = e.initialRetentionState ?? {}, r = k(ee);
2671
- return b.save({
2670
+ let t = ln(D, e.initialChartConfig), n = e.initialRetentionState ?? {}, r = f(p);
2671
+ return D.save({
2672
2672
  retentionCube: n.retentionCube ?? null,
2673
2673
  retentionBindingKey: n.retentionBindingKey ?? null,
2674
2674
  retentionTimeDimension: n.retentionTimeDimension ?? null,
@@ -2722,9 +2722,9 @@ function vn(e, t) {
2722
2722
  ...tn(),
2723
2723
  charts: {
2724
2724
  query: X.getDefaultChartConfig(),
2725
- funnel: _.getDefaultChartConfig(),
2725
+ funnel: x.getDefaultChartConfig(),
2726
2726
  flow: w.getDefaultChartConfig(),
2727
- retention: b.getDefaultChartConfig()
2727
+ retention: D.getDefaultChartConfig()
2728
2728
  },
2729
2729
  activeViews: {
2730
2730
  query: "chart",
@@ -2740,7 +2740,7 @@ function vn(e, t) {
2740
2740
  ...Zt(),
2741
2741
  charts: {
2742
2742
  ...e.charts,
2743
- funnel: _.getDefaultChartConfig()
2743
+ funnel: x.getDefaultChartConfig()
2744
2744
  }
2745
2745
  };
2746
2746
  case "flow": return {
@@ -2754,7 +2754,7 @@ function vn(e, t) {
2754
2754
  ...tn(),
2755
2755
  charts: {
2756
2756
  ...e.charts,
2757
- retention: b.getDefaultChartConfig()
2757
+ retention: D.getDefaultChartConfig()
2758
2758
  }
2759
2759
  };
2760
2760
  default: return {
@@ -2801,10 +2801,10 @@ function yn(n = {}) {
2801
2801
  return a()(i(e(t(o, {
2802
2802
  name: n.storageKey || "drizzle-cube-analysis-builder-v3",
2803
2803
  partialize: (e) => e.saveWorkspace(),
2804
- merge: (e, t) => e && g(e) ? {
2804
+ merge: (e, t) => e && b(e) ? {
2805
2805
  ...t,
2806
2806
  _persistedWorkspace: e
2807
- } : e && D(e) ? {
2807
+ } : e && y(e) ? {
2808
2808
  ...t,
2809
2809
  _persistedConfig: e
2810
2810
  } : r ? {
@@ -2827,9 +2827,9 @@ function yn(n = {}) {
2827
2827
  }
2828
2828
  })), { name: "AnalysisBuilderStore" }));
2829
2829
  }
2830
- var bn = ge(null);
2830
+ var bn = he(null);
2831
2831
  function xn({ children: e, initialQuery: t, initialChartConfig: n, disableLocalStorage: r, storageKey: i, initialAnalysisType: a, initialFunnelState: o, initialFlowState: s, initialRetentionState: c, initialActiveView: l }) {
2832
- let u = W(null);
2832
+ let u = G(null);
2833
2833
  return u.current ||= yn({
2834
2834
  initialQuery: t,
2835
2835
  initialChartConfig: n,
@@ -2846,12 +2846,12 @@ function xn({ children: e, initialQuery: t, initialChartConfig: n, disableLocalS
2846
2846
  });
2847
2847
  }
2848
2848
  function $(e) {
2849
- let t = ve(bn);
2849
+ let t = _e(bn);
2850
2850
  if (!t) throw Error("useAnalysisBuilderStore must be used within AnalysisBuilderStoreProvider");
2851
2851
  return r(t, e);
2852
2852
  }
2853
2853
  function Sn() {
2854
- let e = ve(bn);
2854
+ let e = _e(bn);
2855
2855
  if (!e) throw Error("useAnalysisBuilderStoreApi must be used within AnalysisBuilderStoreProvider");
2856
2856
  return e;
2857
2857
  }
@@ -2931,7 +2931,7 @@ function Nn(e, t) {
2931
2931
  let n = [];
2932
2932
  if (e.length < 2 || t.length === 0) return n;
2933
2933
  for (let r = 0; r < e.length; r++) {
2934
- let i = e[r], a = new Set([...i.dimensions || [], ...i.timeDimensions?.map((e) => e.dimension) || []]);
2934
+ let i = e[r], a = /* @__PURE__ */ new Set([...i.dimensions || [], ...i.timeDimensions?.map((e) => e.dimension) || []]);
2935
2935
  for (let e of t) a.has(e) || n.push({
2936
2936
  type: "missing_merge_key",
2937
2937
  queryIndex: r,
@@ -2999,37 +2999,37 @@ function Bn(e) {
2999
2999
  //#endregion
3000
3000
  //#region src/client/hooks/useAnalysisState.ts
3001
3001
  function Vn(e = {}) {
3002
- let { externalColorPalette: t } = e, r = Sn(), i = $((e) => e.queryStates), a = $((e) => e.activeQueryIndex), o = $((e) => e.mergeStrategy), s = $((e) => e.setActiveQueryIndex), c = $((e) => e.setMergeStrategy), l = $((e) => e.addQuery), u = $((e) => e.removeQuery), d = $((e) => e.getCurrentState), p = $((e) => e.getMergeKeys), m = $((e) => e.isMultiQueryMode), h = d(), g = m(), _ = p(), v = U(() => {
3003
- let e = i[a] || h;
3002
+ let { externalColorPalette: t } = e, r = Sn(), i = $((e) => e.queryStates), a = $((e) => e.activeQueryIndex), o = $((e) => e.mergeStrategy), s = $((e) => e.setActiveQueryIndex), c = $((e) => e.setMergeStrategy), l = $((e) => e.addQuery), u = $((e) => e.removeQuery), d = $((e) => e.getCurrentState), f = $((e) => e.getMergeKeys), p = $((e) => e.isMultiQueryMode), m = d(), h = p(), g = f(), _ = W(() => {
3003
+ let e = i[a] || m;
3004
3004
  return Te(e.metrics, e.breakdowns, e.filters, e.order, !1, e.limit);
3005
3005
  }, [
3006
3006
  i,
3007
3007
  a,
3008
- h
3009
- ]), y = U(() => {
3008
+ m
3009
+ ]), y = W(() => {
3010
3010
  let e = i[0]?.breakdowns || [];
3011
3011
  return i.map((t, n) => Te(t.metrics, o === "merge" && n > 0 ? e : t.breakdowns, t.filters, t.order, !1, t.limit));
3012
- }, [i, o]), b = U(() => {
3012
+ }, [i, o]), b = W(() => {
3013
3013
  if (i.length <= 1) return null;
3014
3014
  let e = y.filter((e) => e.measures && e.measures.length > 0 || e.dimensions && e.dimensions.length > 0 || e.timeDimensions && e.timeDimensions.length > 0);
3015
3015
  return e.length < 2 ? null : {
3016
3016
  queries: e,
3017
3017
  mergeStrategy: o,
3018
- mergeKeys: _,
3018
+ mergeKeys: g,
3019
3019
  queryLabels: e.map((e, t) => `Q${t + 1}`)
3020
3020
  };
3021
3021
  }, [
3022
3022
  y,
3023
3023
  i.length,
3024
3024
  o,
3025
- _
3026
- ]), x = U(() => g ? In(y, o, _ || []) : null, [
3027
- g,
3025
+ g
3026
+ ]), x = W(() => h ? In(y, o, g || []) : null, [
3027
+ h,
3028
3028
  y,
3029
3029
  o,
3030
- _
3031
- ]), S = U(() => v.measures && v.measures.length > 0 || v.dimensions && v.dimensions.length > 0 || v.timeDimensions && v.timeDimensions.length > 0, [v]), C = U(() => {
3032
- if (!g) return h.metrics;
3030
+ g
3031
+ ]), S = W(() => _.measures && _.measures.length > 0 || _.dimensions && _.dimensions.length > 0 || _.timeDimensions && _.timeDimensions.length > 0, [_]), C = W(() => {
3032
+ if (!h) return m.metrics;
3033
3033
  let e = /* @__PURE__ */ new Set(), t = [];
3034
3034
  for (let n = 0; n < i.length; n++) {
3035
3035
  let r = i[n];
@@ -3043,79 +3043,79 @@ function Vn(e = {}) {
3043
3043
  }
3044
3044
  return t;
3045
3045
  }, [
3046
- g,
3046
+ h,
3047
3047
  i,
3048
- h.metrics
3049
- ]), w = U(() => {
3050
- if (!g) return h.breakdowns;
3048
+ m.metrics
3049
+ ]), w = W(() => {
3050
+ if (!h) return m.breakdowns;
3051
3051
  let e = /* @__PURE__ */ new Set(), t = [];
3052
3052
  for (let n of i) for (let r of n.breakdowns) e.has(r.field) || (e.add(r.field), t.push(r));
3053
3053
  return t;
3054
3054
  }, [
3055
- g,
3055
+ h,
3056
3056
  i,
3057
- h.breakdowns
3058
- ]), T = U(() => o === "merge" && a > 0 ? i[0]?.breakdowns || [] : h.breakdowns, [
3057
+ m.breakdowns
3058
+ ]), T = W(() => o === "merge" && a > 0 ? i[0]?.breakdowns || [] : m.breakdowns, [
3059
3059
  o,
3060
3060
  a,
3061
3061
  i,
3062
- h.breakdowns
3063
- ]), E = $((e) => e.analysisType), D = $((e) => e.funnelBindingKey), O = $((e) => e.funnelCube), k = $((e) => e.funnelSteps), ee = $((e) => e.activeFunnelStepIndex), A = $((e) => e.funnelTimeDimension), te = U(() => E !== "funnel" || !D?.dimension || !A || !k || k.length < 2 ? !1 : k.every((e) => e.filters.length > 0), [
3062
+ m.breakdowns
3063
+ ]), E = $((e) => e.analysisType), D = $((e) => e.funnelBindingKey), O = $((e) => e.funnelCube), k = $((e) => e.funnelSteps), A = $((e) => e.activeFunnelStepIndex), j = $((e) => e.funnelTimeDimension), M = W(() => E !== "funnel" || !D?.dimension || !j || !k || k.length < 2 ? !1 : k.every((e) => e.filters.length > 0), [
3064
3064
  E,
3065
3065
  D,
3066
- A,
3066
+ j,
3067
3067
  k
3068
- ]), ne = $((e) => e.charts.funnel?.chartType) || "funnel", j = $((e) => e.charts.funnel?.chartConfig), re = U(() => j || {}, [j]), M = $((e) => e.charts.funnel?.displayConfig), ie = U(() => M || {
3068
+ ]), ee = $((e) => e.charts.funnel?.chartType) || "funnel", N = $((e) => e.charts.funnel?.chartConfig), te = W(() => N || {}, [N]), P = $((e) => e.charts.funnel?.displayConfig), ne = W(() => P || {
3069
3069
  showLegend: !0,
3070
3070
  showGrid: !0,
3071
3071
  showTooltip: !0
3072
- }, [M]), ae = $((e) => e.flowCube), oe = $((e) => e.flowBindingKey), N = $((e) => e.flowTimeDimension), P = $((e) => e.eventDimension), se = $((e) => e.startingStep), F = $((e) => e.stepsBefore), I = $((e) => e.stepsAfter), L = $((e) => e.joinStrategy), ce = $((e) => e.charts.flow?.displayConfig), le = U(() => ce || {
3072
+ }, [P]), re = $((e) => e.flowCube), ie = $((e) => e.flowBindingKey), ae = $((e) => e.flowTimeDimension), F = $((e) => e.eventDimension), I = $((e) => e.startingStep), L = $((e) => e.stepsBefore), R = $((e) => e.stepsAfter), oe = $((e) => e.joinStrategy), se = $((e) => e.charts.flow?.displayConfig), ce = W(() => se || {
3073
3073
  showLegend: !0,
3074
3074
  showGrid: !0,
3075
3075
  showTooltip: !0
3076
- }, [ce]), ue = $((e) => e.charts.flow?.chartType) || "sankey", R = $((e) => e.buildFunnelQueryFromSteps), de = U(() => E === "funnel" ? R() : null, [
3076
+ }, [se]), le = $((e) => e.charts.flow?.chartType) || "sankey", z = $((e) => e.buildFunnelQueryFromSteps), ue = W(() => E === "funnel" ? z() : null, [
3077
3077
  E,
3078
- R,
3078
+ z,
3079
3079
  k
3080
- ]), z = $((e) => e.buildFlowQuery), fe = U(() => E === "flow" ? z() : null, [
3080
+ ]), B = $((e) => e.buildFlowQuery), de = W(() => E === "flow" ? B() : null, [
3081
3081
  E,
3082
- z,
3082
+ B,
3083
+ re,
3084
+ ie,
3083
3085
  ae,
3084
- oe,
3085
- N,
3086
- P,
3087
- se,
3088
3086
  F,
3089
3087
  I,
3090
- ue,
3091
- L
3092
- ]), pe = $((e) => e.retentionCube), me = $((e) => e.retentionBindingKey), he = $((e) => e.retentionTimeDimension), B = $((e) => e.retentionDateRange), ge = $((e) => e.retentionCohortFilters), _e = $((e) => e.retentionActivityFilters), ve = $((e) => e.retentionBreakdowns), H = $((e) => e.retentionViewGranularity), W = $((e) => e.retentionPeriods), K = $((e) => e.retentionType), q = $((e) => e.buildRetentionQuery), J = $((e) => e.getRetentionValidation), ye = $((e) => e.charts.retention?.displayConfig), be = U(() => E === "retention" ? q() : null, [
3088
+ L,
3089
+ R,
3090
+ le,
3091
+ oe
3092
+ ]), fe = $((e) => e.retentionCube), pe = $((e) => e.retentionBindingKey), me = $((e) => e.retentionTimeDimension), V = $((e) => e.retentionDateRange), he = $((e) => e.retentionCohortFilters), ge = $((e) => e.retentionActivityFilters), _e = $((e) => e.retentionBreakdowns), U = $((e) => e.retentionViewGranularity), G = $((e) => e.retentionPeriods), ve = $((e) => e.retentionType), q = $((e) => e.buildRetentionQuery), J = $((e) => e.getRetentionValidation), ye = $((e) => e.charts.retention?.displayConfig), be = W(() => E === "retention" ? q() : null, [
3093
3093
  E,
3094
3094
  q,
3095
+ fe,
3095
3096
  pe,
3096
3097
  me,
3097
- he,
3098
- B,
3098
+ V,
3099
+ _e,
3100
+ U,
3101
+ G,
3099
3102
  ve,
3100
- H,
3101
- W,
3102
- K,
3103
- ge,
3104
- _e
3105
- ]), xe = U(() => E === "retention" ? J() : null, [
3103
+ he,
3104
+ ge
3105
+ ]), xe = W(() => E === "retention" ? J() : null, [
3106
3106
  E,
3107
3107
  J,
3108
+ fe,
3108
3109
  pe,
3109
3110
  me,
3110
- he,
3111
- B
3112
- ]), Se = U(() => E === "retention" ? be !== null : E === "flow" ? fe !== null : E === "funnel" ? de !== null : S ?? !1, [
3111
+ V
3112
+ ]), Se = W(() => E === "retention" ? be !== null : E === "flow" ? de !== null : E === "funnel" ? ue !== null : S ?? !1, [
3113
3113
  E,
3114
3114
  be,
3115
- fe,
3116
3115
  de,
3116
+ ue,
3117
3117
  S
3118
- ]), { chartType: Ce, chartConfig: we, displayConfig: Y } = $(n(Dn)), Ee = $((e) => e.userManuallySelectedChart), De = $((e) => e.localPaletteName), Oe = $((e) => e.setChartTypeManual), ke = $((e) => e.setChartConfig), Ae = $((e) => e.setDisplayConfig), je = $((e) => e.setFunnelChartType), Me = $((e) => e.setFunnelChartConfig), Ne = $((e) => e.setFunnelDisplayConfig), Pe = $((e) => e.setLocalPaletteName), Fe = $((e) => e.setUserManuallySelectedChart), Ie = V((e) => {
3118
+ ]), { chartType: Ce, chartConfig: we, displayConfig: Y } = $(n(Dn)), Ee = $((e) => e.userManuallySelectedChart), De = $((e) => e.localPaletteName), Oe = $((e) => e.setChartTypeManual), ke = $((e) => e.setChartConfig), Ae = $((e) => e.setDisplayConfig), je = $((e) => e.setFunnelChartType), Me = $((e) => e.setFunnelChartConfig), Ne = $((e) => e.setFunnelDisplayConfig), Pe = $((e) => e.setLocalPaletteName), Fe = $((e) => e.setUserManuallySelectedChart), Ie = H((e) => {
3119
3119
  if (E === "funnel") je(e);
3120
3120
  else {
3121
3121
  Oe(e);
@@ -3129,24 +3129,24 @@ function Vn(e = {}) {
3129
3129
  je,
3130
3130
  Oe,
3131
3131
  ke
3132
- ]), Le = V((e) => {
3132
+ ]), Le = H((e) => {
3133
3133
  E === "funnel" ? Me(e) : ke(e);
3134
3134
  }, [
3135
3135
  E,
3136
3136
  Me,
3137
3137
  ke
3138
- ]), Re = V((e) => {
3138
+ ]), Re = H((e) => {
3139
3139
  E === "funnel" ? Ne(e) : Ae(e);
3140
3140
  }, [
3141
3141
  E,
3142
3142
  Ne,
3143
3143
  Ae
3144
- ]), ze = U(() => Dt(C, w), [C, w]), Be = U(() => t ? Array.isArray(t) && typeof t[0] == "string" ? {
3144
+ ]), ze = W(() => Dt(C, w), [C, w]), Be = W(() => t ? Array.isArray(t) && typeof t[0] == "string" ? {
3145
3145
  name: "custom",
3146
3146
  label: "Custom",
3147
3147
  colors: t,
3148
3148
  gradient: t
3149
- } : t : f(De), [t, De]), Ve = V((e) => {
3149
+ } : t : v(De), [t, De]), Ve = H((e) => {
3150
3150
  r.setState((t) => ({ charts: {
3151
3151
  ...t.charts,
3152
3152
  flow: {
@@ -3158,7 +3158,7 @@ function Vn(e = {}) {
3158
3158
  displayConfig: e
3159
3159
  }
3160
3160
  } }));
3161
- }, [r]), He = V((e) => {
3161
+ }, [r]), He = H((e) => {
3162
3162
  r.setState((t) => ({ charts: {
3163
3163
  ...t.charts,
3164
3164
  retention: {
@@ -3170,28 +3170,28 @@ function Vn(e = {}) {
3170
3170
  displayConfig: e
3171
3171
  }
3172
3172
  } }));
3173
- }, [r]), Ue = $((e) => e.activeTab), We = $((e) => e.activeView), Ge = $((e) => e.displayLimit), Ke = $((e) => e.showFieldModal), qe = $((e) => e.fieldModalMode), Je = $((e) => e.setActiveTab), Ye = $((e) => e.setActiveView), Xe = $((e) => e.setDisplayLimit), Ze = $((e) => e.closeFieldModal), [Qe, $e] = G(0), et = $((e) => e.openMetricsModal), tt = $((e) => e.addMetric), nt = $((e) => e.removeMetric), rt = $((e) => e.toggleMetric), it = $((e) => e.reorderMetrics), at = $((e) => e.openBreakdownsModal), ot = $((e) => e.addBreakdown), st = $((e) => e.removeBreakdown), ct = $((e) => e.toggleBreakdown), lt = $((e) => e.setBreakdownGranularity), ut = $((e) => e.toggleBreakdownComparison), dt = $((e) => e.reorderBreakdowns), ft = $((e) => e.setFilters), pt = $((e) => e.dropFieldToFilter), mt = $((e) => e.setOrder), ht = $((e) => e.setLimit), gt = $((e) => e.clearQuery), _t = $((e) => e.clearCurrentMode), vt = $((e) => e.setFunnelBindingKey), yt = $((e) => e.setAnalysisType), bt = $((e) => e.setFunnelCube), xt = $((e) => e.addFunnelStep), St = $((e) => e.removeFunnelStep), Ct = $((e) => e.updateFunnelStep), wt = $((e) => e.setActiveFunnelStepIndex), Tt = $((e) => e.reorderFunnelSteps), Et = $((e) => e.setFunnelTimeDimension), Ot = $((e) => e.setFlowCube), At = $((e) => e.setFlowBindingKey), jt = $((e) => e.setFlowTimeDimension), Mt = $((e) => e.setEventDimension), Nt = $((e) => e.setStartingStepName), Pt = $((e) => e.setStartingStepFilters), Ft = $((e) => e.setStepsBefore), It = $((e) => e.setStepsAfter), Lt = $((e) => e.setJoinStrategy), Rt = $((e) => e.setRetentionCube), zt = $((e) => e.setRetentionBindingKey), Bt = $((e) => e.setRetentionTimeDimension), Vt = $((e) => e.setRetentionDateRange), Ht = $((e) => e.setRetentionCohortFilters), Ut = $((e) => e.setRetentionActivityFilters), Wt = $((e) => e.setRetentionBreakdowns), X = $((e) => e.addRetentionBreakdown), Z = $((e) => e.removeRetentionBreakdown), Gt = $((e) => e.setRetentionViewGranularity), Kt = $((e) => e.setRetentionPeriods), Q = $((e) => e.setRetentionType), qt = $((e) => e.getValidation), Jt = U(() => qt(), [
3173
+ }, [r]), Ue = $((e) => e.activeTab), We = $((e) => e.activeView), Ge = $((e) => e.displayLimit), Ke = $((e) => e.showFieldModal), qe = $((e) => e.fieldModalMode), Je = $((e) => e.setActiveTab), Ye = $((e) => e.setActiveView), Xe = $((e) => e.setDisplayLimit), Ze = $((e) => e.closeFieldModal), [Qe, $e] = K(0), et = $((e) => e.openMetricsModal), tt = $((e) => e.addMetric), nt = $((e) => e.removeMetric), rt = $((e) => e.toggleMetric), it = $((e) => e.reorderMetrics), at = $((e) => e.openBreakdownsModal), ot = $((e) => e.addBreakdown), st = $((e) => e.removeBreakdown), ct = $((e) => e.toggleBreakdown), lt = $((e) => e.setBreakdownGranularity), ut = $((e) => e.toggleBreakdownComparison), dt = $((e) => e.reorderBreakdowns), ft = $((e) => e.setFilters), pt = $((e) => e.dropFieldToFilter), mt = $((e) => e.setOrder), ht = $((e) => e.setLimit), gt = $((e) => e.clearQuery), _t = $((e) => e.clearCurrentMode), vt = $((e) => e.setFunnelBindingKey), yt = $((e) => e.setAnalysisType), bt = $((e) => e.setFunnelCube), xt = $((e) => e.addFunnelStep), St = $((e) => e.removeFunnelStep), Ct = $((e) => e.updateFunnelStep), wt = $((e) => e.setActiveFunnelStepIndex), Tt = $((e) => e.reorderFunnelSteps), Et = $((e) => e.setFunnelTimeDimension), Ot = $((e) => e.setFlowCube), At = $((e) => e.setFlowBindingKey), jt = $((e) => e.setFlowTimeDimension), Mt = $((e) => e.setEventDimension), Nt = $((e) => e.setStartingStepName), Pt = $((e) => e.setStartingStepFilters), Ft = $((e) => e.setStepsBefore), It = $((e) => e.setStepsAfter), Lt = $((e) => e.setJoinStrategy), Rt = $((e) => e.setRetentionCube), zt = $((e) => e.setRetentionBindingKey), Bt = $((e) => e.setRetentionTimeDimension), Vt = $((e) => e.setRetentionDateRange), Ht = $((e) => e.setRetentionCohortFilters), Ut = $((e) => e.setRetentionActivityFilters), Wt = $((e) => e.setRetentionBreakdowns), X = $((e) => e.addRetentionBreakdown), Z = $((e) => e.removeRetentionBreakdown), Gt = $((e) => e.setRetentionViewGranularity), Kt = $((e) => e.setRetentionPeriods), Q = $((e) => e.setRetentionType), qt = $((e) => e.getValidation), Jt = W(() => qt(), [
3174
3174
  qt,
3175
3175
  i,
3176
3176
  E,
3177
3177
  k,
3178
3178
  D,
3179
- A,
3179
+ j,
3180
+ re,
3181
+ ie,
3180
3182
  ae,
3181
- oe,
3182
- N,
3183
- P,
3184
- se,
3185
3183
  F,
3186
3184
  I,
3187
- L
3188
- ]), Yt = V((e, t) => {
3185
+ L,
3186
+ R,
3187
+ oe
3188
+ ]), Yt = H((e, t) => {
3189
3189
  E === "retention" && t === "dimension" ? X({ field: e.name }) : ct(e.name, t === "timeDimension");
3190
3190
  }, [
3191
3191
  E,
3192
3192
  X,
3193
3193
  ct
3194
- ]), Xt = V((e, t, n, r) => {
3194
+ ]), Xt = H((e, t, n, r) => {
3195
3195
  qe === "metrics" && t === "measure" ? rt(e.name) : qe === "breakdown" && Yt(e, t), r || Ze();
3196
3196
  }, [
3197
3197
  qe,
@@ -3201,13 +3201,13 @@ function Vn(e = {}) {
3201
3201
  ]);
3202
3202
  return {
3203
3203
  storeApi: r,
3204
- queryState: h,
3204
+ queryState: m,
3205
3205
  queryStates: i,
3206
3206
  activeQueryIndex: a,
3207
3207
  mergeStrategy: o,
3208
- isMultiQueryMode: g,
3209
- mergeKeys: _,
3210
- currentQuery: v,
3208
+ isMultiQueryMode: h,
3209
+ mergeKeys: g,
3210
+ currentQuery: _,
3211
3211
  allQueries: y,
3212
3212
  multiQueryConfig: b,
3213
3213
  multiQueryValidation: x,
@@ -3218,35 +3218,35 @@ function Vn(e = {}) {
3218
3218
  effectiveBreakdowns: T,
3219
3219
  analysisType: E,
3220
3220
  funnelBindingKey: D,
3221
- isFunnelModeEnabled: te,
3221
+ isFunnelModeEnabled: M,
3222
3222
  funnelCube: O,
3223
3223
  funnelSteps: k,
3224
- activeFunnelStepIndex: ee,
3225
- funnelTimeDimension: A,
3226
- funnelChartType: ne,
3227
- funnelChartConfig: re,
3228
- funnelDisplayConfig: ie,
3229
- serverFunnelQuery: de,
3230
- flowCube: ae,
3231
- flowBindingKey: oe,
3232
- flowTimeDimension: N,
3233
- eventDimension: P,
3234
- startingStep: se,
3235
- stepsBefore: F,
3236
- stepsAfter: I,
3237
- joinStrategy: L,
3238
- flowDisplayConfig: le,
3239
- serverFlowQuery: fe,
3240
- retentionCube: pe,
3241
- retentionBindingKey: me,
3242
- retentionTimeDimension: he,
3243
- retentionDateRange: B,
3244
- retentionCohortFilters: ge,
3245
- retentionActivityFilters: _e,
3246
- retentionBreakdowns: ve,
3247
- retentionViewGranularity: H,
3248
- retentionPeriods: W,
3249
- retentionType: K,
3224
+ activeFunnelStepIndex: A,
3225
+ funnelTimeDimension: j,
3226
+ funnelChartType: ee,
3227
+ funnelChartConfig: te,
3228
+ funnelDisplayConfig: ne,
3229
+ serverFunnelQuery: ue,
3230
+ flowCube: re,
3231
+ flowBindingKey: ie,
3232
+ flowTimeDimension: ae,
3233
+ eventDimension: F,
3234
+ startingStep: I,
3235
+ stepsBefore: L,
3236
+ stepsAfter: R,
3237
+ joinStrategy: oe,
3238
+ flowDisplayConfig: ce,
3239
+ serverFlowQuery: de,
3240
+ retentionCube: fe,
3241
+ retentionBindingKey: pe,
3242
+ retentionTimeDimension: me,
3243
+ retentionDateRange: V,
3244
+ retentionCohortFilters: he,
3245
+ retentionActivityFilters: ge,
3246
+ retentionBreakdowns: _e,
3247
+ retentionViewGranularity: U,
3248
+ retentionPeriods: G,
3249
+ retentionType: ve,
3250
3250
  retentionDisplayConfig: ye,
3251
3251
  serverRetentionQuery: be,
3252
3252
  retentionValidation: xe,
@@ -3264,7 +3264,7 @@ function Vn(e = {}) {
3264
3264
  fieldModalMode: qe,
3265
3265
  activeTableIndex: Qe,
3266
3266
  adapterValidation: Jt,
3267
- getQueryConfig: V(() => {
3267
+ getQueryConfig: H(() => {
3268
3268
  let e = r.getState();
3269
3269
  return e.analysisType === "funnel" ? e.buildFunnelQueryFromSteps() || e.buildCurrentQuery() : e.queryStates.length > 1 ? {
3270
3270
  queries: e.buildAllQueries(),
@@ -3275,7 +3275,7 @@ function Vn(e = {}) {
3275
3275
  stepTimeToConvert: e.stepTimeToConvert
3276
3276
  } : e.buildCurrentQuery();
3277
3277
  }, [r]),
3278
- getChartConfig: V(() => {
3278
+ getChartConfig: H(() => {
3279
3279
  let e = r.getState(), t = e.charts[e.analysisType];
3280
3280
  return t ? {
3281
3281
  chartType: t.chartType,
@@ -3292,7 +3292,7 @@ function Vn(e = {}) {
3292
3292
  we,
3293
3293
  Y
3294
3294
  ]),
3295
- getAnalysisType: V(() => r.getState().analysisType, [r]),
3295
+ getAnalysisType: H(() => r.getState().analysisType, [r]),
3296
3296
  actions: {
3297
3297
  setActiveQueryIndex: s,
3298
3298
  setMergeStrategy: c,
@@ -3410,12 +3410,12 @@ function qn(e) {
3410
3410
  //#endregion
3411
3411
  //#region src/client/hooks/useAnalysisQuery.ts
3412
3412
  function Jn(e) {
3413
- let { currentQuery: t, allQueries: n, multiQueryConfig: r, isMultiQueryMode: i, isValidQuery: a, initialData: o, mergeStrategy: s, funnelBindingKey: c, isFunnelModeEnabled: l, analysisType: u, serverFunnelQuery: d, serverFlowQuery: f, serverRetentionQuery: p, retentionValidation: m } = e, { getFieldLabel: h } = de(), g = u === "funnel" || l, _ = u === "flow", v = u === "retention", y = u === "query" && i, b = u === "query" && !i, x = u === "funnel" && !!d, S = Hn({
3413
+ let { currentQuery: t, allQueries: n, multiQueryConfig: r, isMultiQueryMode: i, isValidQuery: a, initialData: o, mergeStrategy: s, funnelBindingKey: c, isFunnelModeEnabled: l, analysisType: u, serverFunnelQuery: d, serverFlowQuery: f, serverRetentionQuery: p, retentionValidation: m } = e, { getFieldLabel: h } = ue(), g = u === "funnel" || l, _ = u === "flow", v = u === "retention", y = u === "query" && i, b = u === "query" && !i, x = u === "funnel" && !!d, S = Hn({
3414
3414
  isRetentionMode: v,
3415
3415
  isFlowMode: _,
3416
3416
  isFunnelMode: g,
3417
3417
  isMultiMode: y
3418
- }), C = U(() => x || !g || !c || n.length < 2 ? null : pe(n, c), [
3418
+ }), C = W(() => x || !g || !c || n.length < 2 ? null : fe(n, c), [
3419
3419
  x,
3420
3420
  g,
3421
3421
  c,
@@ -3432,46 +3432,46 @@ function Jn(e) {
3432
3432
  hasServerFunnelQuery: !!d,
3433
3433
  hasServerFlowQuery: !!f,
3434
3434
  hasServerRetentionQuery: !!p
3435
- }), T = oe(t, {
3435
+ }), T = F(t, {
3436
3436
  skip: w.single,
3437
3437
  debounceMs: 300
3438
- }), E = se(r, {
3438
+ }), E = R(r, {
3439
3439
  skip: w.multi,
3440
3440
  debounceMs: 300
3441
- }), D = L(C, {
3441
+ }), D = ce(C, {
3442
3442
  skip: w.funnel,
3443
3443
  debounceMs: 300,
3444
3444
  prebuiltServerQuery: x ? d : void 0
3445
- }), O = ue(f ?? null, {
3445
+ }), O = ae(f ?? null, {
3446
3446
  skip: w.flow,
3447
3447
  debounceMs: 300
3448
- }), k = P(p ?? null, {
3448
+ }), k = se(p ?? null, {
3449
3449
  skip: w.retention,
3450
3450
  debounceMs: 300,
3451
3451
  getFieldLabel: h
3452
- }), ee = fe({
3452
+ }), A = de({
3453
3453
  queries: i ? n : [t],
3454
3454
  isMultiQueryMode: i,
3455
3455
  skip: w.dryRun
3456
- }), A = z(D.serverQuery, { skip: !g || !D.serverQuery }), te = z(O.serverQuery, { skip: !_ || !O.serverQuery }), ne = z(p, { skip: !v || !p }), j = Un(S, {
3456
+ }), j = B(D.serverQuery, { skip: !g || !D.serverQuery }), M = B(O.serverQuery, { skip: !_ || !O.serverQuery }), ee = B(p, { skip: !v || !p }), N = Un(S, {
3457
3457
  retention: k.isLoading || k.isDebouncing,
3458
3458
  flow: O.isLoading || O.isDebouncing,
3459
3459
  funnel: D.isExecuting || D.isDebouncing,
3460
3460
  multi: E.isLoading,
3461
3461
  single: T.isLoading
3462
- }), re = Un(S, {
3462
+ }), te = Un(S, {
3463
3463
  retention: k.isFetching,
3464
3464
  flow: O.isFetching,
3465
3465
  funnel: D.isExecuting,
3466
3466
  multi: E.isFetching,
3467
3467
  single: T.isFetching
3468
- }), M = Un(S, {
3468
+ }), P = Un(S, {
3469
3469
  retention: k.error,
3470
3470
  flow: O.error,
3471
3471
  funnel: D.error,
3472
3472
  multi: E.error,
3473
3473
  single: T.error
3474
- }), ie = !!(T.debouncedQuery || E.debouncedConfig || !D.isDebouncing || !O.isDebouncing || !k.isDebouncing), ae = V((e) => {
3474
+ }), ne = !!(T.debouncedQuery || E.debouncedConfig || !D.isDebouncing || !O.isDebouncing || !k.isDebouncing), re = H((e) => {
3475
3475
  switch (S) {
3476
3476
  case "retention":
3477
3477
  k.execute(e);
@@ -3494,7 +3494,7 @@ function Jn(e) {
3494
3494
  D,
3495
3495
  E,
3496
3496
  T
3497
- ]), N = U(() => Kn({
3497
+ ]), ie = W(() => Kn({
3498
3498
  hasResults: Un(S, {
3499
3499
  retention: k.chartData,
3500
3500
  flow: O.data,
@@ -3504,14 +3504,14 @@ function Jn(e) {
3504
3504
  }),
3505
3505
  initialData: o,
3506
3506
  isValidQuery: a,
3507
- isLoading: j,
3508
- isFetching: re,
3509
- error: M
3507
+ isLoading: N,
3508
+ isFetching: te,
3509
+ error: P
3510
3510
  }), [
3511
3511
  a,
3512
- j,
3513
- re,
3514
- M,
3512
+ N,
3513
+ te,
3514
+ P,
3515
3515
  T.rawData,
3516
3516
  E.data,
3517
3517
  D.chartData,
@@ -3519,7 +3519,7 @@ function Jn(e) {
3519
3519
  k.chartData,
3520
3520
  o,
3521
3521
  S
3522
- ]), F = U(() => qn({
3522
+ ]), I = W(() => qn({
3523
3523
  isRetentionMode: v,
3524
3524
  isFlowMode: _,
3525
3525
  isFunnelMode: g,
@@ -3541,25 +3541,25 @@ function Jn(e) {
3541
3541
  g,
3542
3542
  _,
3543
3543
  v
3544
- ]), I = U(() => g && D.stepResults ? D.stepResults.map((e) => e.data) : !y || !E.perQueryData ? null : E.perQueryData, [
3544
+ ]), L = W(() => g && D.stepResults ? D.stepResults.map((e) => e.data) : !y || !E.perQueryData ? null : E.perQueryData, [
3545
3545
  y,
3546
3546
  g,
3547
3547
  E.perQueryData,
3548
3548
  D.stepResults
3549
- ]), { funnelExecutedQueries: ce, funnelServerQuery: le, funnelDebugData: R, flowServerQuery: me, flowChartData: he, flowDebugData: B, retentionServerQuery: ge, retentionChartData: _e, retentionDebugData: ve } = Wn({
3549
+ ]), { funnelExecutedQueries: oe, funnelServerQuery: le, funnelDebugData: z, flowServerQuery: pe, flowChartData: me, flowDebugData: V, retentionServerQuery: he, retentionChartData: ge, retentionDebugData: _e } = Wn({
3550
3550
  isFunnelMode: g,
3551
3551
  isFlowMode: _,
3552
3552
  isRetentionMode: v,
3553
3553
  funnelExecutedQueries: D.executedQueries,
3554
3554
  funnelServerQuery: D.serverQuery,
3555
- funnelDebugData: A.debugData,
3555
+ funnelDebugData: j.debugData,
3556
3556
  flowServerQuery: O.serverQuery,
3557
3557
  flowData: O.data,
3558
- flowDebugData: te.debugData,
3558
+ flowDebugData: M.debugData,
3559
3559
  retentionServerQuery: p ?? null,
3560
3560
  retentionChartData: k.chartData,
3561
- retentionDebugData: ne.debugData
3562
- }), H = U(() => Un(S, {
3561
+ retentionDebugData: ee.debugData
3562
+ }), U = W(() => Un(S, {
3563
3563
  retention: k.needsRefresh,
3564
3564
  flow: O.needsRefresh,
3565
3565
  funnel: D.needsRefresh,
@@ -3571,31 +3571,31 @@ function Jn(e) {
3571
3571
  O.needsRefresh,
3572
3572
  D.needsRefresh,
3573
3573
  T.needsRefresh
3574
- ]), W = U(() => {
3574
+ ]), G = W(() => {
3575
3575
  if (b && T.warnings) return T.warnings;
3576
3576
  }, [b, T.warnings]);
3577
3577
  return {
3578
- executionStatus: N,
3579
- executionResults: F,
3580
- perQueryResults: I,
3581
- isLoading: j,
3582
- isFetching: re,
3583
- error: M,
3584
- debugDataPerQuery: ee.debugDataPerQuery,
3585
- hasDebounced: ie,
3586
- refetch: ae,
3587
- funnelExecutedQueries: ce,
3578
+ executionStatus: ie,
3579
+ executionResults: I,
3580
+ perQueryResults: L,
3581
+ isLoading: N,
3582
+ isFetching: te,
3583
+ error: P,
3584
+ debugDataPerQuery: A.debugDataPerQuery,
3585
+ hasDebounced: ne,
3586
+ refetch: re,
3587
+ funnelExecutedQueries: oe,
3588
3588
  funnelServerQuery: le,
3589
- funnelDebugData: R,
3590
- flowServerQuery: me,
3591
- flowChartData: he,
3592
- flowDebugData: B,
3593
- retentionServerQuery: ge,
3594
- retentionChartData: _e,
3595
- retentionDebugData: ve,
3589
+ funnelDebugData: z,
3590
+ flowServerQuery: pe,
3591
+ flowChartData: me,
3592
+ flowDebugData: V,
3593
+ retentionServerQuery: he,
3594
+ retentionChartData: ge,
3595
+ retentionDebugData: _e,
3596
3596
  retentionValidation: m ?? null,
3597
- needsRefresh: H,
3598
- warnings: W
3597
+ needsRefresh: U,
3598
+ warnings: G
3599
3599
  };
3600
3600
  }
3601
3601
  //#endregion
@@ -3609,7 +3609,7 @@ function $n(e) {
3609
3609
  let t = (0, Yn.decompressFromEncodedURIComponent)(e);
3610
3610
  if (!t) return null;
3611
3611
  let n = JSON.parse(t);
3612
- return D(n) ? n : (console.warn("[shareUtils] Invalid AnalysisConfig in share URL"), null);
3612
+ return y(n) ? n : (console.warn("[shareUtils] Invalid AnalysisConfig in share URL"), null);
3613
3613
  } catch {
3614
3614
  return null;
3615
3615
  }
@@ -3702,19 +3702,19 @@ function cr(e) {
3702
3702
  return typeof e == "object" && !!e && "funnel" in e && typeof e.funnel == "object";
3703
3703
  }
3704
3704
  function lr(e) {
3705
- let { state: t, query: n, aiEndpoint: r = "/api/ai", onQueryChange: i, onChartConfigChange: a } = e, { storeApi: o, actions: s } = t, { apiOptions: c } = u(), l = W(!1);
3706
- H(() => {
3705
+ let { state: t, query: n, aiEndpoint: r = "/api/ai", onQueryChange: i, onChartConfigChange: a } = e, { storeApi: o, actions: s } = t, { apiOptions: c } = u(), l = G(!1);
3706
+ U(() => {
3707
3707
  if (l.current) return;
3708
3708
  l.current = !0;
3709
3709
  let e = ar();
3710
3710
  e && (o.getState().load(e), ir());
3711
- }, [o]), H(() => {
3711
+ }, [o]), U(() => {
3712
3712
  i && t.isValidQuery && i(t.currentQuery);
3713
3713
  }, [
3714
3714
  t.currentQuery,
3715
3715
  t.isValidQuery,
3716
3716
  i
3717
- ]), H(() => {
3717
+ ]), U(() => {
3718
3718
  a && a({
3719
3719
  chartType: t.chartType,
3720
3720
  chartConfig: t.chartConfig,
@@ -3726,46 +3726,46 @@ function lr(e) {
3726
3726
  t.displayConfig,
3727
3727
  a
3728
3728
  ]);
3729
- let { combinedMetrics: f, combinedBreakdowns: m, chartType: h, chartConfig: g, userManuallySelectedChart: _ } = t, { hasDebounced: v } = n, { setChartType: y, setChartConfig: b } = s, x = W("");
3730
- H(() => {
3731
- if (!v || f.length === 0 && m.length === 0) return;
3729
+ let { combinedMetrics: d, combinedBreakdowns: f, chartType: p, chartConfig: m, userManuallySelectedChart: h } = t, { hasDebounced: g } = n, { setChartType: _, setChartConfig: v } = s, y = G("");
3730
+ U(() => {
3731
+ if (!g || d.length === 0 && f.length === 0) return;
3732
3732
  let e = JSON.stringify({
3733
- metrics: f.map((e) => e.field),
3734
- breakdowns: m.map((e) => ({
3733
+ metrics: d.map((e) => e.field),
3734
+ breakdowns: f.map((e) => ({
3735
3735
  field: e.field,
3736
3736
  isTime: e.isTimeDimension
3737
3737
  }))
3738
3738
  });
3739
- if (e === x.current) return;
3740
- x.current = e;
3741
- let t = jt(f, m, h, _);
3739
+ if (e === y.current) return;
3740
+ y.current = e;
3741
+ let t = jt(d, f, p, h);
3742
3742
  if (t) {
3743
- let { chartConfig: e } = kt(f, m, t);
3744
- y(t), b(e), s.setUserManuallySelectedChart(!1);
3745
- } else if (f.length > 0 || m.length > 0) {
3746
- if (h === "table") {
3747
- let e = [...m.map((e) => e.field), ...f.map((e) => e.field)], t = Array.isArray(g.xAxis) ? g.xAxis : [], n = e.filter((e) => !t.includes(e));
3748
- n.length > 0 && b({
3749
- ...g,
3743
+ let { chartConfig: e } = kt(d, f, t);
3744
+ _(t), v(e), s.setUserManuallySelectedChart(!1);
3745
+ } else if (d.length > 0 || f.length > 0) {
3746
+ if (p === "table") {
3747
+ let e = [...f.map((e) => e.field), ...d.map((e) => e.field)], t = Array.isArray(m.xAxis) ? m.xAxis : [], n = e.filter((e) => !t.includes(e));
3748
+ n.length > 0 && v({
3749
+ ...m,
3750
3750
  xAxis: [...t, ...n]
3751
3751
  });
3752
- } else if (!g.xAxis?.length && !g.yAxis?.length && !g.series?.length) {
3753
- let { chartConfig: e } = kt(f, m, h);
3754
- b(e);
3752
+ } else if (!m.xAxis?.length && !m.yAxis?.length && !m.series?.length) {
3753
+ let { chartConfig: e } = kt(d, f, p);
3754
+ v(e);
3755
3755
  }
3756
3756
  }
3757
3757
  }, [
3758
- v,
3758
+ g,
3759
+ d,
3759
3760
  f,
3760
- m,
3761
+ p,
3761
3762
  h,
3763
+ m,
3762
3764
  _,
3763
- g,
3764
- y,
3765
- b,
3765
+ v,
3766
3766
  s
3767
3767
  ]);
3768
- let [S, C] = G({
3768
+ let [b, x] = K({
3769
3769
  isOpen: !1,
3770
3770
  userPrompt: "",
3771
3771
  isGenerating: !1,
@@ -3773,7 +3773,7 @@ function lr(e) {
3773
3773
  hasGeneratedQuery: !1,
3774
3774
  previousState: null,
3775
3775
  previousConfig: null
3776
- }), w = V((e) => {
3776
+ }), S = H((e) => {
3777
3777
  o.getState().updateQueryState(t.activeQueryIndex, (t) => {
3778
3778
  let n = e(t);
3779
3779
  return {
@@ -3785,7 +3785,7 @@ function lr(e) {
3785
3785
  limit: n.limit
3786
3786
  };
3787
3787
  });
3788
- }, [o, t.activeQueryIndex]), T = V((e) => {
3788
+ }, [o, t.activeQueryIndex]), C = H((e) => {
3789
3789
  let t = {
3790
3790
  version: 1,
3791
3791
  analysisType: "funnel",
@@ -3798,9 +3798,9 @@ function lr(e) {
3798
3798
  query: e
3799
3799
  };
3800
3800
  o.getState().load(t);
3801
- }, [o]), E = V(() => {
3801
+ }, [o]), w = H(() => {
3802
3802
  let e = o.getState().save();
3803
- C({
3803
+ x({
3804
3804
  isOpen: !0,
3805
3805
  userPrompt: "",
3806
3806
  isGenerating: !1,
@@ -3826,30 +3826,30 @@ function lr(e) {
3826
3826
  t.chartConfig,
3827
3827
  t.displayConfig,
3828
3828
  t.analysisType
3829
- ]), D = V(() => {
3830
- C((e) => ({
3829
+ ]), T = H(() => {
3830
+ x((e) => ({
3831
3831
  ...e,
3832
3832
  isOpen: !1,
3833
3833
  userPrompt: "",
3834
3834
  error: null,
3835
3835
  hasGeneratedQuery: !1
3836
3836
  }));
3837
- }, []), O = V((e) => {
3838
- C((t) => ({
3837
+ }, []), E = H((e) => {
3838
+ x((t) => ({
3839
3839
  ...t,
3840
3840
  userPrompt: e
3841
3841
  }));
3842
- }, []), k = V(async () => {
3843
- if (S.userPrompt.trim()) {
3844
- C((e) => ({
3842
+ }, []), D = H(async () => {
3843
+ if (b.userPrompt.trim()) {
3844
+ x((e) => ({
3845
3845
  ...e,
3846
3846
  isGenerating: !0,
3847
3847
  error: null
3848
3848
  }));
3849
3849
  try {
3850
- let e = sr(await or("", S.userPrompt, r, c?.headers)), n = JSON.parse(e), i = "query" in n && n.query ? n.query : n, a = "chartType" in n ? n.chartType : void 0, o = "chartConfig" in n ? n.chartConfig : void 0;
3850
+ let e = sr(await or("", b.userPrompt, r, c?.headers)), n = JSON.parse(e), i = "query" in n && n.query ? n.query : n, a = "chartType" in n ? n.chartType : void 0, o = "chartConfig" in n ? n.chartConfig : void 0;
3851
3851
  if (cr(i)) {
3852
- s.setAnalysisType("funnel"), T(i), s.setChartType("funnel"), o && s.setChartConfig(o), s.setActiveView("chart"), C((e) => ({
3852
+ s.setAnalysisType("funnel"), C(i), s.setChartType("funnel"), o && s.setChartConfig(o), s.setActiveView("chart"), x((e) => ({
3853
3853
  ...e,
3854
3854
  isGenerating: !1,
3855
3855
  hasGeneratedQuery: !0
@@ -3857,19 +3857,19 @@ function lr(e) {
3857
3857
  return;
3858
3858
  }
3859
3859
  let l = i;
3860
- w((e) => ({
3860
+ S((e) => ({
3861
3861
  ...e,
3862
3862
  metrics: (l.measures || []).map((e, t) => ({
3863
- id: p(),
3863
+ id: k(),
3864
3864
  field: e,
3865
- label: d(t)
3865
+ label: A(t)
3866
3866
  })),
3867
3867
  breakdowns: [...(l.dimensions || []).map((e) => ({
3868
- id: p(),
3868
+ id: k(),
3869
3869
  field: e,
3870
3870
  isTimeDimension: !1
3871
3871
  })), ...(l.timeDimensions || []).map((e) => ({
3872
- id: p(),
3872
+ id: k(),
3873
3873
  field: e.dimension,
3874
3874
  granularity: e.granularity,
3875
3875
  isTimeDimension: !0
@@ -3877,13 +3877,13 @@ function lr(e) {
3877
3877
  filters: l.filters || [],
3878
3878
  order: l.order || void 0,
3879
3879
  limit: l.limit ?? void 0
3880
- })), t.analysisType === "funnel" && s.setAnalysisType("query"), a && s.setChartType(a), o && s.setChartConfig(o), s.setActiveView("chart"), C((e) => ({
3880
+ })), t.analysisType === "funnel" && s.setAnalysisType("query"), a && s.setChartType(a), o && s.setChartConfig(o), s.setActiveView("chart"), x((e) => ({
3881
3881
  ...e,
3882
3882
  isGenerating: !1,
3883
3883
  hasGeneratedQuery: !0
3884
3884
  }));
3885
3885
  } catch (e) {
3886
- C((t) => ({
3886
+ x((t) => ({
3887
3887
  ...t,
3888
3888
  isGenerating: !1,
3889
3889
  error: e instanceof Error ? e.message : "Failed to generate query"
@@ -3891,15 +3891,15 @@ function lr(e) {
3891
3891
  }
3892
3892
  }
3893
3893
  }, [
3894
- S.userPrompt,
3894
+ b.userPrompt,
3895
3895
  r,
3896
3896
  c?.headers,
3897
- w,
3898
- T,
3897
+ S,
3898
+ C,
3899
3899
  t.analysisType,
3900
3900
  s
3901
- ]), ee = V(() => {
3902
- C({
3901
+ ]), O = H(() => {
3902
+ x({
3903
3903
  isOpen: !1,
3904
3904
  userPrompt: "",
3905
3905
  isGenerating: !1,
@@ -3908,13 +3908,13 @@ function lr(e) {
3908
3908
  previousState: null,
3909
3909
  previousConfig: null
3910
3910
  });
3911
- }, []), A = V(() => {
3912
- S.previousConfig ? o.getState().load(S.previousConfig) : S.previousState && (w((e) => ({
3911
+ }, []), j = H(() => {
3912
+ b.previousConfig ? o.getState().load(b.previousConfig) : b.previousState && (S((e) => ({
3913
3913
  ...e,
3914
- metrics: S.previousState.metrics,
3915
- breakdowns: S.previousState.breakdowns,
3916
- filters: S.previousState.filters
3917
- })), s.setChartType(S.previousState.chartType), s.setChartConfig(S.previousState.chartConfig), s.setDisplayConfig(S.previousState.displayConfig), S.previousState.analysisType && s.setAnalysisType(S.previousState.analysisType)), C({
3914
+ metrics: b.previousState.metrics,
3915
+ breakdowns: b.previousState.breakdowns,
3916
+ filters: b.previousState.filters
3917
+ })), s.setChartType(b.previousState.chartType), s.setChartConfig(b.previousState.chartConfig), s.setDisplayConfig(b.previousState.displayConfig), b.previousState.analysisType && s.setAnalysisType(b.previousState.analysisType)), x({
3918
3918
  isOpen: !1,
3919
3919
  userPrompt: "",
3920
3920
  isGenerating: !1,
@@ -3924,23 +3924,23 @@ function lr(e) {
3924
3924
  previousConfig: null
3925
3925
  });
3926
3926
  }, [
3927
- S.previousState,
3928
- S.previousConfig,
3927
+ b.previousState,
3928
+ b.previousConfig,
3929
3929
  o,
3930
- w,
3930
+ S,
3931
3931
  s
3932
- ]), [te, ne] = G("idle"), j = t.effectiveIsValidQuery;
3932
+ ]), [M, ee] = K("idle"), N = t.effectiveIsValidQuery;
3933
3933
  return {
3934
- aiState: S,
3935
- openAI: E,
3936
- closeAI: D,
3937
- setAIPrompt: O,
3938
- generateAI: k,
3939
- acceptAI: ee,
3940
- cancelAI: A,
3941
- shareButtonState: te,
3942
- share: V(async () => {
3943
- if (!j) return;
3934
+ aiState: b,
3935
+ openAI: w,
3936
+ closeAI: T,
3937
+ setAIPrompt: E,
3938
+ generateAI: D,
3939
+ acceptAI: O,
3940
+ cancelAI: j,
3941
+ shareButtonState: M,
3942
+ share: H(async () => {
3943
+ if (!N) return;
3944
3944
  let { encoded: e, queryOnly: t } = tr(o.getState().save());
3945
3945
  if (!e) return;
3946
3946
  let n = `${window.location.origin}${window.location.pathname}#share=${e}`;
@@ -3950,11 +3950,11 @@ function lr(e) {
3950
3950
  let e = document.createElement("textarea");
3951
3951
  e.value = n, document.body.appendChild(e), e.select(), document.execCommand("copy"), document.body.removeChild(e);
3952
3952
  }
3953
- ne(t ? "copied-no-chart" : "copied"), setTimeout(() => {
3954
- ne("idle");
3953
+ ee(t ? "copied-no-chart" : "copied"), setTimeout(() => {
3954
+ ee("idle");
3955
3955
  }, 2e3);
3956
- }, [j, o]),
3957
- canShare: j
3956
+ }, [N, o]),
3957
+ canShare: N
3958
3958
  };
3959
3959
  }
3960
3960
  //#endregion
@@ -4188,7 +4188,7 @@ function fr(e) {
4188
4188
  }
4189
4189
  function pr(e, t) {
4190
4190
  if (typeof e.dimension == "string") return !0;
4191
- let n = me(t);
4191
+ let n = pe(t);
4192
4192
  return n ? e.dimension.some((e) => e.cube === n) : !1;
4193
4193
  }
4194
4194
  function mr(e, t) {
@@ -4196,7 +4196,7 @@ function mr(e, t) {
4196
4196
  for (let r = 0; r < t.length; r++) {
4197
4197
  let i = t[r];
4198
4198
  if (!pr(e, i.query)) {
4199
- let e = me(i.query) || "unknown";
4199
+ let e = pe(i.query) || "unknown";
4200
4200
  n.push({
4201
4201
  type: "cross_cube",
4202
4202
  message: `Step ${r + 1} uses cube "${e}" but no binding key mapping exists for it`,
@@ -4266,4 +4266,4 @@ function yr(e) {
4266
4266
  //#endregion
4267
4267
  export { On as A, Tn as C, An as D, En as E, Ye as F, Sn as M, It as N, wn as O, it as P, xn as S, Cn as T, Bn as _, mr as a, In as b, ur as c, nr as d, er as f, Pn as g, Fn as h, dr as i, $ as j, kn as k, Qn as l, ar as m, yr as n, gr as o, rr as p, _r as r, fr as s, vr as t, $n as u, Rn as v, Dn as w, Mn as x, Nn as y };
4268
4268
 
4269
- //# sourceMappingURL=analysis-builder-shared-CD0n2Nb8.js.map
4269
+ //# sourceMappingURL=analysis-builder-shared-8alCn-zw.js.map