drizzle-cube 0.6.3 → 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 (281) 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-D0v5KJhv.cjs +166 -0
  54. package/dist/adapters/{compiler-LKTN9PTt.js → compiler-ZruQ85ff.js} +247 -238
  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.d.ts +10 -0
  74. package/dist/adapters/nextjs/index.js +114 -105
  75. package/dist/{server/openai-CmMzrs1Y.js → adapters/openai-BCSKRcbD.js} +10 -10
  76. package/dist/{server/openai-DhzGY9R4.js → adapters/openai-BjR3ohaS.js} +1 -1
  77. package/dist/{server/openai-B4kAJTSD.cjs → adapters/openai-ClVVLjNl.cjs} +2 -2
  78. package/dist/adapters/{openai-Cdf2wWZA.cjs → openai-CsVXOcJZ.cjs} +1 -1
  79. package/dist/adapters/utils-CBR-9AMD.cjs +128 -0
  80. package/dist/adapters/{utils-BPWZsX7k.js → utils-U7gV5wQL.js} +789 -788
  81. package/dist/adapters/utils.cjs +1 -1
  82. package/dist/adapters/utils.d.ts +16 -4
  83. package/dist/adapters/utils.js +1 -1
  84. package/dist/cjs/adapters/mcp-transport.d.ts +21 -3
  85. package/dist/cjs/adapters/nextjs/index.d.ts +10 -0
  86. package/dist/cjs/adapters/utils.d.ts +16 -4
  87. package/dist/cjs/client/components/AnalysisBuilder/utils/filterUtils.d.ts +4 -10
  88. package/dist/cjs/client/components/shared/utils.d.ts +2 -1
  89. package/dist/cjs/client/shared/filters/filterOperations.d.ts +95 -0
  90. package/dist/cjs/client/shared/filters/index.d.ts +10 -0
  91. package/dist/cjs/client/shared/filters/operators.d.ts +23 -0
  92. package/dist/cjs/client/shared/index.d.ts +3 -2
  93. package/dist/cjs/client/shared/types.d.ts +3 -10
  94. package/dist/cjs/client/shared/utils.d.ts +1 -59
  95. package/dist/cjs/client/utils/filterUtils.d.ts +2 -9
  96. package/dist/cjs/server/executors/sqlite-executor.d.ts +8 -2
  97. package/dist/cjs/server/logical-plan/logical-plan-builder.d.ts +0 -5
  98. package/dist/cjs/server/logical-plan/schema-builder.d.ts +19 -0
  99. package/dist/client/charts.js +13 -13
  100. package/dist/client/chunks/ConfirmModal-D6eLc9NO.js +3283 -0
  101. package/dist/client/chunks/ConfirmModal-D6eLc9NO.js.map +1 -0
  102. package/dist/client/chunks/{DashboardEditModal-CWurUU2B.js → DashboardEditModal-DFQSxR_C.js} +1157 -4011
  103. package/dist/client/chunks/DashboardEditModal-DFQSxR_C.js.map +1 -0
  104. package/dist/client/chunks/{RetentionCombinedChart-BgbDhsPz.js → RetentionCombinedChart-DY7wKLs5.js} +3 -3
  105. package/dist/client/chunks/{RetentionCombinedChart-BgbDhsPz.js.map → RetentionCombinedChart-DY7wKLs5.js.map} +1 -1
  106. package/dist/client/chunks/{RetentionHeatmap-DjXZaTPq.js → RetentionHeatmap-iNCG-dLd.js} +2 -2
  107. package/dist/client/chunks/{RetentionHeatmap-DjXZaTPq.js.map → RetentionHeatmap-iNCG-dLd.js.map} +1 -1
  108. package/dist/client/chunks/{analysis-builder-Uj_Fxv0-.js → analysis-builder-CBZ7lOC-.js} +323 -323
  109. package/dist/client/chunks/{analysis-builder-Uj_Fxv0-.js.map → analysis-builder-CBZ7lOC-.js.map} +1 -1
  110. package/dist/client/chunks/{analysis-builder-shared-AdAYIfj_.js → analysis-builder-shared-8alCn-zw.js} +989 -1064
  111. package/dist/client/chunks/analysis-builder-shared-8alCn-zw.js.map +1 -0
  112. package/dist/client/chunks/{chart-activity-grid-DX0SJbxs.js → chart-activity-grid-DDqFVWoa.js} +5 -2
  113. package/dist/client/chunks/{chart-activity-grid-DX0SJbxs.js.map → chart-activity-grid-DDqFVWoa.js.map} +1 -1
  114. package/dist/client/chunks/{chart-area-of01_62R.js → chart-area-BHxPNsmc.js} +2 -2
  115. package/dist/client/chunks/{chart-area-of01_62R.js.map → chart-area-BHxPNsmc.js.map} +1 -1
  116. package/dist/client/chunks/{chart-bar-BqelQE_I.js → chart-bar-DAO3PPcE.js} +3 -3
  117. package/dist/client/chunks/{chart-bar-BqelQE_I.js.map → chart-bar-DAO3PPcE.js.map} +1 -1
  118. package/dist/client/chunks/{chart-box-plot-kkBixZ27.js → chart-box-plot-CUpFyQQk.js} +2 -2
  119. package/dist/client/chunks/{chart-box-plot-kkBixZ27.js.map → chart-box-plot-CUpFyQQk.js.map} +1 -1
  120. package/dist/client/chunks/{chart-bubble-B2he1--4.js → chart-bubble-DvP_6_n9.js} +2 -2
  121. package/dist/client/chunks/{chart-bubble-B2he1--4.js.map → chart-bubble-DvP_6_n9.js.map} +1 -1
  122. package/dist/client/chunks/{chart-candlestick-DZp19Tzh.js → chart-candlestick-Dx8ZCMzl.js} +2 -2
  123. package/dist/client/chunks/{chart-candlestick-DZp19Tzh.js.map → chart-candlestick-Dx8ZCMzl.js.map} +1 -1
  124. package/dist/client/chunks/{chart-data-table-D4g5_jfF.js → chart-data-table-BP6DMdom.js} +32 -16
  125. package/dist/client/chunks/chart-data-table-BP6DMdom.js.map +1 -0
  126. package/dist/client/chunks/{chart-funnel-CToKSBaL.js → chart-funnel-xeVGBy-p.js} +2 -2
  127. package/dist/client/chunks/{chart-funnel-CToKSBaL.js.map → chart-funnel-xeVGBy-p.js.map} +1 -1
  128. package/dist/client/chunks/{chart-gauge-DTVezSk7.js → chart-gauge-DXQ4r3cb.js} +3 -3
  129. package/dist/client/chunks/{chart-gauge-DTVezSk7.js.map → chart-gauge-DXQ4r3cb.js.map} +1 -1
  130. package/dist/client/chunks/{chart-heat-map-DTuUl0BR.js → chart-heat-map-Pnk6rhqQ.js} +3 -3
  131. package/dist/client/chunks/{chart-heat-map-DTuUl0BR.js.map → chart-heat-map-Pnk6rhqQ.js.map} +1 -1
  132. package/dist/client/chunks/{chart-kpi-delta-BvWOt8-D.js → chart-kpi-delta-nXQnRRBr.js} +3 -3
  133. package/dist/client/chunks/{chart-kpi-delta-BvWOt8-D.js.map → chart-kpi-delta-nXQnRRBr.js.map} +1 -1
  134. package/dist/client/chunks/{chart-kpi-number-xgZmMiQY.js → chart-kpi-number-m8UGJfBr.js} +5 -5
  135. package/dist/client/chunks/{chart-kpi-number-xgZmMiQY.js.map → chart-kpi-number-m8UGJfBr.js.map} +1 -1
  136. package/dist/client/chunks/{chart-kpi-text-ZO3eFi7t.js → chart-kpi-text-CurpqmaD.js} +7 -4
  137. package/dist/client/chunks/{chart-kpi-text-ZO3eFi7t.js.map → chart-kpi-text-CurpqmaD.js.map} +1 -1
  138. package/dist/client/chunks/{chart-line-DKgrQA6c.js → chart-line-sJK-cJc0.js} +3 -3
  139. package/dist/client/chunks/{chart-line-DKgrQA6c.js.map → chart-line-sJK-cJc0.js.map} +1 -1
  140. package/dist/client/chunks/{chart-markdown-CV75S_zL.js → chart-markdown-BVrqqygz.js} +1263 -1192
  141. package/dist/client/chunks/chart-markdown-BVrqqygz.js.map +1 -0
  142. package/dist/client/chunks/{chart-measure-profile-Ket8fJyf.js → chart-measure-profile-k9_QDQbB.js} +3 -3
  143. package/dist/client/chunks/{chart-measure-profile-Ket8fJyf.js.map → chart-measure-profile-k9_QDQbB.js.map} +1 -1
  144. package/dist/client/chunks/{chart-pie-ByieAX5H.js → chart-pie-BDaaYt7a.js} +3 -3
  145. package/dist/client/chunks/{chart-pie-ByieAX5H.js.map → chart-pie-BDaaYt7a.js.map} +1 -1
  146. package/dist/client/chunks/{chart-radar-CiSwHWp4.js → chart-radar-Bz07PIVe.js} +3 -3
  147. package/dist/client/chunks/{chart-radar-CiSwHWp4.js.map → chart-radar-Bz07PIVe.js.map} +1 -1
  148. package/dist/client/chunks/{chart-radial-bar-BF6Mhl6f.js → chart-radial-bar-DpyxKQMj.js} +3 -3
  149. package/dist/client/chunks/{chart-radial-bar-BF6Mhl6f.js.map → chart-radial-bar-DpyxKQMj.js.map} +1 -1
  150. package/dist/client/chunks/{chart-sankey-DjrvKw6K.js → chart-sankey-BAeNbI-p.js} +2 -2
  151. package/dist/client/chunks/{chart-sankey-DjrvKw6K.js.map → chart-sankey-BAeNbI-p.js.map} +1 -1
  152. package/dist/client/chunks/{chart-scatter-Dd9WFqnS.js → chart-scatter-CRhGLCcy.js} +3 -3
  153. package/dist/client/chunks/{chart-scatter-Dd9WFqnS.js.map → chart-scatter-CRhGLCcy.js.map} +1 -1
  154. package/dist/client/chunks/{chart-sunburst-leGpuDj7.js → chart-sunburst-D3wV5OrK.js} +3 -3
  155. package/dist/client/chunks/{chart-sunburst-leGpuDj7.js.map → chart-sunburst-D3wV5OrK.js.map} +1 -1
  156. package/dist/client/chunks/{chart-tree-map-Ceq5sLZA.js → chart-tree-map-iI3ewOKY.js} +3 -3
  157. package/dist/client/chunks/{chart-tree-map-Ceq5sLZA.js.map → chart-tree-map-iI3ewOKY.js.map} +1 -1
  158. package/dist/client/chunks/{chart-waterfall-DyvQReN5.js → chart-waterfall-BrrYTZfs.js} +3 -3
  159. package/dist/client/chunks/{chart-waterfall-DyvQReN5.js.map → chart-waterfall-BrrYTZfs.js.map} +1 -1
  160. package/dist/client/chunks/{charts-core-DaXSt1Dd.js → charts-core-Cs-UIsQa.js} +2 -2
  161. package/dist/client/chunks/{charts-core-DaXSt1Dd.js.map → charts-core-Cs-UIsQa.js.map} +1 -1
  162. package/dist/client/chunks/charts-loader-DAJbAD7a.js +84 -0
  163. package/dist/client/chunks/{charts-loader-B0DOQMFH.js.map → charts-loader-DAJbAD7a.js.map} +1 -1
  164. package/dist/client/chunks/core-D7vPfUIe.js.map +1 -1
  165. package/dist/client/chunks/{dist-zPWyTBdU.js → dist-BwQr11Fz.js} +251 -252
  166. package/dist/client/chunks/{dist-zPWyTBdU.js.map → dist-BwQr11Fz.js.map} +1 -1
  167. package/dist/client/chunks/{exceljs.min-CIqBqwTW.js → exceljs.min-Dey-qIFL.js} +16 -16
  168. package/dist/client/chunks/{exceljs.min-CIqBqwTW.js.map → exceljs.min-Dey-qIFL.js.map} +1 -1
  169. package/dist/client/chunks/javascript-DFnKaHmQ.js.map +1 -1
  170. package/dist/client/chunks/retention-ChW9jYdy.js.map +1 -1
  171. package/dist/client/chunks/{schema-visualization-DJPTktM6.js → schema-visualization-BGT_cNon.js} +12 -12
  172. package/dist/client/chunks/{schema-visualization-DJPTktM6.js.map → schema-visualization-BGT_cNon.js.map} +1 -1
  173. package/dist/client/chunks/sql-CmVzGP4w.js.map +1 -1
  174. package/dist/client/chunks/syntaxHighlighting-Bq2Bj9Xt.js +30 -0
  175. package/dist/client/chunks/syntaxHighlighting-Bq2Bj9Xt.js.map +1 -0
  176. package/dist/client/chunks/{useDirtyStateTracking-BY_IIG1n.js → useDebounce-7suCFq9v.js} +250 -653
  177. package/dist/client/chunks/useDebounce-7suCFq9v.js.map +1 -0
  178. package/dist/client/chunks/useDirtyStateTracking-D2OiqKoQ.js +66 -0
  179. package/dist/client/chunks/useDirtyStateTracking-D2OiqKoQ.js.map +1 -0
  180. package/dist/client/chunks/{useExplainAI-PjMBmj2p.js → useExplainAI-CEf04DPE.js} +14 -14
  181. package/dist/client/chunks/{useExplainAI-PjMBmj2p.js.map → useExplainAI-CEf04DPE.js.map} +1 -1
  182. package/dist/client/chunks/useNotebookLayout-Ck3Z3uzg.js.map +1 -1
  183. package/dist/client/chunks/utils-DjLiJKS_.js +104 -0
  184. package/dist/client/chunks/utils-DjLiJKS_.js.map +1 -0
  185. package/dist/client/chunks/{vendor-D4jADu8t.js → vendor-DFAQ4Ucl.js} +5 -3
  186. package/dist/client/chunks/{vendor-D4jADu8t.js.map → vendor-DFAQ4Ucl.js.map} +1 -1
  187. package/dist/client/components/AnalysisBuilder/utils/filterUtils.d.ts +4 -10
  188. package/dist/client/components/shared/utils.d.ts +2 -1
  189. package/dist/client/components.js +4 -3
  190. package/dist/client/hooks.js +5 -4
  191. package/dist/client/icons.js +1 -1
  192. package/dist/client/index.js +34 -30
  193. package/dist/client/index.js.map +1 -1
  194. package/dist/client/providers.js +1 -1
  195. package/dist/client/schema.js +1 -1
  196. package/dist/client/shared/filters/filterOperations.d.ts +95 -0
  197. package/dist/client/shared/filters/index.d.ts +10 -0
  198. package/dist/client/shared/filters/operators.d.ts +23 -0
  199. package/dist/client/shared/index.d.ts +3 -2
  200. package/dist/client/shared/types.d.ts +3 -10
  201. package/dist/client/shared/utils.d.ts +1 -59
  202. package/dist/client/styles.css +1 -1
  203. package/dist/client/utils/filterUtils.d.ts +2 -9
  204. package/dist/client/utils.js +32 -6
  205. package/dist/client/utils.js.map +1 -0
  206. package/dist/client-bundle-stats.html +1 -1
  207. package/dist/mcp-app/mcp-app.html +145 -50
  208. package/dist/server/executors/sqlite-executor.d.ts +8 -2
  209. package/dist/server/index.cjs +34 -34
  210. package/dist/server/index.js +1557 -1547
  211. package/dist/server/logical-plan/logical-plan-builder.d.ts +0 -5
  212. package/dist/server/logical-plan/schema-builder.d.ts +19 -0
  213. package/dist/{adapters/openai-CmMzrs1Y.js → server/openai-BCSKRcbD.js} +10 -10
  214. package/dist/{adapters/openai-DhzGY9R4.js → server/openai-BjR3ohaS.js} +1 -1
  215. package/dist/{adapters/openai-B4kAJTSD.cjs → server/openai-ClVVLjNl.cjs} +2 -2
  216. package/dist/server/{openai-Cdf2wWZA.cjs → openai-CsVXOcJZ.cjs} +1 -1
  217. package/package.json +11 -7
  218. package/dist/adapters/ActivityGridChart.config-BtECymia.cjs +0 -1
  219. package/dist/adapters/ActivityGridChart.config-CTd5HYjI.js +0 -2
  220. package/dist/adapters/AreaChart.config-1B8iQnfn.js +0 -2
  221. package/dist/adapters/AreaChart.config-hnncyQL4.cjs +0 -1
  222. package/dist/adapters/BarChart.config-C-QCf1rL.cjs +0 -1
  223. package/dist/adapters/BarChart.config-CFelK1qP.js +0 -2
  224. package/dist/adapters/BoxPlotChart.config-CD9WEPyF.js +0 -2
  225. package/dist/adapters/BoxPlotChart.config-DEbLA0BX.cjs +0 -1
  226. package/dist/adapters/BubbleChart.config-B_M4hzzV.js +0 -2
  227. package/dist/adapters/BubbleChart.config-dRZZlAke.cjs +0 -1
  228. package/dist/adapters/CandlestickChart.config-Dsil2Fop.cjs +0 -1
  229. package/dist/adapters/CandlestickChart.config-fuhyFvob.js +0 -2
  230. package/dist/adapters/DataTable.config-q2gqBi6t.cjs +0 -1
  231. package/dist/adapters/DataTable.config-wIQnHX5R.js +0 -2
  232. package/dist/adapters/FunnelChart.config-Dz710ssx.js +0 -2
  233. package/dist/adapters/FunnelChart.config-YNP9CeS-.cjs +0 -1
  234. package/dist/adapters/GaugeChart.config-BG9FcMCn.cjs +0 -1
  235. package/dist/adapters/GaugeChart.config-CgwniXkd.js +0 -2
  236. package/dist/adapters/HeatMapChart.config-1zSMXXoN.cjs +0 -1
  237. package/dist/adapters/HeatMapChart.config-YVEWx6s5.js +0 -2
  238. package/dist/adapters/KpiDelta.config-BWvYXuFp.cjs +0 -1
  239. package/dist/adapters/KpiDelta.config-C_dYM64q.js +0 -2
  240. package/dist/adapters/KpiNumber.config-CXg6toZG.js +0 -2
  241. package/dist/adapters/KpiNumber.config-CZmV-yU1.cjs +0 -1
  242. package/dist/adapters/KpiText.config-BY-SJvAF.js +0 -2
  243. package/dist/adapters/KpiText.config-GSIxy0CE.cjs +0 -1
  244. package/dist/adapters/LineChart.config-CJtF8SOu.js +0 -2
  245. package/dist/adapters/LineChart.config-d0y60gw9.cjs +0 -1
  246. package/dist/adapters/MarkdownChart.config-B6w0spya.cjs +0 -1
  247. package/dist/adapters/MarkdownChart.config-BuIQcWOn.js +0 -2
  248. package/dist/adapters/MeasureProfileChart.config-Bo2n5Ae5.cjs +0 -1
  249. package/dist/adapters/MeasureProfileChart.config-C5d34lsc.js +0 -2
  250. package/dist/adapters/PieChart.config-CDxfXCIt.cjs +0 -1
  251. package/dist/adapters/PieChart.config-CuZxQc5m.js +0 -2
  252. package/dist/adapters/RadarChart.config-DpdVWyh5.cjs +0 -1
  253. package/dist/adapters/RadarChart.config-KrxwaaGu.js +0 -2
  254. package/dist/adapters/RadialBarChart.config-DpRZd0FW.js +0 -2
  255. package/dist/adapters/RadialBarChart.config-faIY4jpE.cjs +0 -1
  256. package/dist/adapters/RetentionCombinedChart.config-CUnScqnS.cjs +0 -1
  257. package/dist/adapters/RetentionCombinedChart.config-Dd8FuawP.js +0 -2
  258. package/dist/adapters/RetentionHeatmap.config-CPd6GeoQ.js +0 -2
  259. package/dist/adapters/RetentionHeatmap.config-CPlHbLom.cjs +0 -1
  260. package/dist/adapters/SankeyChart.config-DbIUqi-H.cjs +0 -1
  261. package/dist/adapters/SankeyChart.config-kzAnW0C7.js +0 -2
  262. package/dist/adapters/ScatterChart.config-4Okvn27v.js +0 -2
  263. package/dist/adapters/ScatterChart.config-4f9nNw3e.cjs +0 -1
  264. package/dist/adapters/SunburstChart.config-BsUQkIM_.js +0 -2
  265. package/dist/adapters/SunburstChart.config-lvnYkWs7.cjs +0 -1
  266. package/dist/adapters/TreeMapChart.config-S0qsgAFW.js +0 -2
  267. package/dist/adapters/TreeMapChart.config-jbwKsTYt.cjs +0 -1
  268. package/dist/adapters/WaterfallChart.config-CDQ74-pS.cjs +0 -1
  269. package/dist/adapters/WaterfallChart.config-XdtH-O5g.js +0 -2
  270. package/dist/adapters/compiler-ChGO4ZLU.cjs +0 -166
  271. package/dist/adapters/mcp-transport-Bw_zqky2.js +0 -591
  272. package/dist/adapters/mcp-transport-CNIPoe1i.cjs +0 -40
  273. package/dist/adapters/utils-_whV4fXL.cjs +0 -128
  274. package/dist/client/chunks/DashboardEditModal-CWurUU2B.js.map +0 -1
  275. package/dist/client/chunks/analysis-builder-shared-AdAYIfj_.js.map +0 -1
  276. package/dist/client/chunks/chart-data-table-D4g5_jfF.js.map +0 -1
  277. package/dist/client/chunks/chart-markdown-CV75S_zL.js.map +0 -1
  278. package/dist/client/chunks/charts-loader-B0DOQMFH.js +0 -84
  279. package/dist/client/chunks/useDirtyStateTracking-BY_IIG1n.js.map +0 -1
  280. package/dist/client/chunks/utils-Cq-j5E5I.js +0 -155
  281. package/dist/client/chunks/utils-Cq-j5E5I.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { C as e, D as t, E as n, O as r, S as i, T as a, w as o } from "./utils-BPWZsX7k.js";
1
+ import { C as e, D as t, E as n, O as r, S as i, T as a, w as o } from "./utils-U7gV5wQL.js";
2
2
  //#region node_modules/drizzle-orm/entity.js
3
3
  var s = Symbol.for("drizzle:entityKind");
4
4
  function c(e, t) {
@@ -1484,23 +1484,28 @@ var ft = class extends P {
1484
1484
  async execute(e, t) {
1485
1485
  if (e && typeof e == "object" && typeof e.execute == "function") {
1486
1486
  let n = await e.execute();
1487
- return Array.isArray(n) ? n.map((e) => this.convertNumericFields(e, t)) : n;
1487
+ return Array.isArray(n) ? this.convertNumericFieldsInPlace(n, t) : n;
1488
1488
  }
1489
1489
  try {
1490
1490
  if (this.db.all) {
1491
1491
  let n = this.db.all(e);
1492
- return Array.isArray(n) ? n.map((e) => this.convertNumericFields(e, t)) : n;
1492
+ return Array.isArray(n) ? this.convertNumericFieldsInPlace(n, t) : n;
1493
1493
  } else if (this.db.run) return this.db.run(e);
1494
1494
  else throw Error("SQLite database instance must have an all() or run() method");
1495
1495
  } catch (e) {
1496
1496
  throw Error(`SQLite execution failed: ${e instanceof Error ? e.message : "Unknown error"}`, { cause: e });
1497
1497
  }
1498
1498
  }
1499
- convertNumericFields(e, t) {
1500
- if (!e || typeof e != "object") return e;
1501
- let n = {};
1502
- for (let [r, i] of Object.entries(e)) t && t.includes(r) ? n[r] = this.coerceToNumber(i) : n[r] = i;
1503
- return n;
1499
+ convertNumericFieldsInPlace(e, t) {
1500
+ if (!t || t.length === 0) return e;
1501
+ for (let n = 0; n < e.length; n++) {
1502
+ let r = e[n];
1503
+ if (!(!r || typeof r != "object")) for (let e of t) {
1504
+ let t = r[e];
1505
+ t != null && typeof t != "number" && (r[e] = this.coerceToNumber(t));
1506
+ }
1507
+ }
1508
+ return e;
1504
1509
  }
1505
1510
  coerceToNumber(e) {
1506
1511
  if (e == null || typeof e == "number") return e;
@@ -2631,7 +2636,7 @@ var Y = class {
2631
2636
  dependencyGraph;
2632
2637
  cubes;
2633
2638
  constructor(e) {
2634
- this.cubes = e instanceof Map ? e : new Map([[e.name, e]]), this.dependencyGraph = /* @__PURE__ */ new Map();
2639
+ this.cubes = e instanceof Map ? e : /* @__PURE__ */ new Map([[e.name, e]]), this.dependencyGraph = /* @__PURE__ */ new Map();
2635
2640
  }
2636
2641
  extractDependencies(e) {
2637
2642
  if (e.length > 1e3) return [];
@@ -2923,7 +2928,7 @@ var X = class e {
2923
2928
  if (n.type === "calculated" && n.calculatedSql) {
2924
2929
  let t = i.primaryCube.name === e ? i.primaryCube : i.joinCubes?.find((t) => t.cube.name === e)?.cube;
2925
2930
  if (!t) throw Error(`Cube ${e} not found in query plan`);
2926
- let o = new Map([[i.primaryCube.name, i.primaryCube]]);
2931
+ let o = /* @__PURE__ */ new Map([[i.primaryCube.name, i.primaryCube]]);
2927
2932
  if (i.joinCubes) for (let e of i.joinCubes) o.set(e.cube.name, e.cube);
2928
2933
  return this.buildCTECalculatedMeasure(n, t, a, o, r);
2929
2934
  }
@@ -3108,7 +3113,7 @@ var X = class e {
3108
3113
  }
3109
3114
  buildGroupByFields(e, t, n, r) {
3110
3115
  if (t.ungrouped) return [];
3111
- let i = [], a = e instanceof Map ? e : new Map([[e.name, e]]), o = t.dimensions && t.dimensions.length > 0 || t.timeDimensions && t.timeDimensions.length > 0, s = t.measures && t.measures.length > 0, c = o && !s;
3116
+ let i = [], a = e instanceof Map ? e : /* @__PURE__ */ new Map([[e.name, e]]), o = t.dimensions && t.dimensions.length > 0 || t.timeDimensions && t.timeDimensions.length > 0, s = t.measures && t.measures.length > 0, c = o && !s;
3112
3117
  if (!this.hasAggregateMeasures(t, a) && !c) return [];
3113
3118
  for (let e of t.dimensions || []) {
3114
3119
  let t = this.resolveDimensionGroupField(e, a, n, r);
@@ -3166,7 +3171,7 @@ var X = class e {
3166
3171
  return this.measureBuilder.buildResolvedMeasures(e, t, n, r);
3167
3172
  }
3168
3173
  buildSelections(e, t, n) {
3169
- let r = {}, i = e instanceof Map ? e : new Map([[e.name, e]]);
3174
+ let r = {}, i = e instanceof Map ? e : /* @__PURE__ */ new Map([[e.name, e]]);
3170
3175
  if (t.dimensions) for (let e of t.dimensions) {
3171
3176
  let [t, a] = e.split("."), o = i.get(t);
3172
3177
  if (o && o.dimensions && o.dimensions[a]) {
@@ -3206,7 +3211,7 @@ var X = class e {
3206
3211
  return this.dateTimeBuilder.buildTimeDimensionExpression(e, t, n);
3207
3212
  }
3208
3213
  buildWhereConditions(e, t, n, r, i) {
3209
- let a = [], o = e instanceof Map ? e : new Map([[e.name, e]]), s = /* @__PURE__ */ new Set();
3214
+ let a = [], o = e instanceof Map ? e : /* @__PURE__ */ new Map([[e.name, e]]), s = /* @__PURE__ */ new Set();
3210
3215
  if (t.filters && t.filters.length > 0) for (let e of t.filters) this.appendWhereFilter(e, o, n, r, i, s, a);
3211
3216
  if (t.timeDimensions) for (let e of t.timeDimensions) this.appendTimeDimensionWhere(e, o, n, r, a);
3212
3217
  return a;
@@ -3240,7 +3245,7 @@ var X = class e {
3240
3245
  return !!t?.preAggregationCTEs?.some((t) => t.cube.name === e);
3241
3246
  }
3242
3247
  buildHavingConditions(e, t, n, r) {
3243
- let i = [], a = e instanceof Map ? e : new Map([[e.name, e]]);
3248
+ let i = [], a = e instanceof Map ? e : /* @__PURE__ */ new Map([[e.name, e]]);
3244
3249
  if (t.filters && t.filters.length > 0) for (let e of t.filters) {
3245
3250
  let t = this.processFilter(e, a, n, "having", r);
3246
3251
  t && i.push(t);
@@ -3308,7 +3313,7 @@ var X = class e {
3308
3313
  return n;
3309
3314
  }
3310
3315
  collectNumericFields(e, t) {
3311
- let n = [], r = e instanceof Map ? e : new Map([[e.name, e]]);
3316
+ let n = [], r = e instanceof Map ? e : /* @__PURE__ */ new Map([[e.name, e]]);
3312
3317
  if (t.measures && n.push(...t.measures), t.dimensions) for (let e of t.dimensions) {
3313
3318
  let [t, i] = e.split("."), a = r.get(t);
3314
3319
  if (a) {
@@ -3366,7 +3371,7 @@ var X = class e {
3366
3371
  let a = [{
3367
3372
  cube: e,
3368
3373
  path: []
3369
- }], o = new Set([e, ...n]);
3374
+ }], o = /* @__PURE__ */ new Set([e, ...n]);
3370
3375
  for (; a.length > 0;) {
3371
3376
  let { cube: e, path: n } = a.shift();
3372
3377
  for (let { nextCube: i, step: s } of this.neighbourSteps(e, !1)) {
@@ -3465,7 +3470,7 @@ var X = class e {
3465
3470
  let i = [], a = [{
3466
3471
  cube: e,
3467
3472
  path: [],
3468
- visited: new Set([e, ...n])
3473
+ visited: /* @__PURE__ */ new Set([e, ...n])
3469
3474
  }];
3470
3475
  for (; a.length > 0;) {
3471
3476
  let { cube: e, path: n, visited: o } = a.shift();
@@ -3498,7 +3503,7 @@ var X = class e {
3498
3503
  let r = [{
3499
3504
  cube: e,
3500
3505
  path: []
3501
- }], i = new Set([e, ...n]);
3506
+ }], i = /* @__PURE__ */ new Set([e, ...n]);
3502
3507
  for (; r.length > 0;) {
3503
3508
  let { cube: e, path: n } = r.shift();
3504
3509
  for (let { nextCube: a, step: o } of this.neighbourSteps(e, !0)) {
@@ -3522,7 +3527,7 @@ var X = class e {
3522
3527
  return k(...r);
3523
3528
  }
3524
3529
  getReachableCubes(e) {
3525
- let t = new Set([e]), n = [e];
3530
+ let t = /* @__PURE__ */ new Set([e]), n = [e];
3526
3531
  for (; n.length > 0;) {
3527
3532
  let e = n.shift();
3528
3533
  for (let { nextCube: r } of this.neighbourSteps(e, !1)) t.has(r) || (t.add(r), n.push(r));
@@ -3586,7 +3591,7 @@ var Bn = class {
3586
3591
  this.resolverCache = e;
3587
3592
  }
3588
3593
  buildJoinPlan(e, t, n, i, a) {
3589
- let o = this.resolverCache.get(e), s = [], c = new Set([t.name]), l = /* @__PURE__ */ new Set();
3594
+ let o = this.resolverCache.get(e), s = [], c = /* @__PURE__ */ new Set([t.name]), l = /* @__PURE__ */ new Set();
3590
3595
  if (a.measures) for (let e of a.measures) {
3591
3596
  let [t] = e.split(".");
3592
3597
  l.add(t);
@@ -3765,11 +3770,11 @@ var qn = class {
3765
3770
  return a;
3766
3771
  }
3767
3772
  buildCTEForJoinCube(e, t, n, r, i) {
3768
- let a = e.target.cube, o = e.alias, s = (i.measures ?? []).filter((e) => e.startsWith(a.name + ".")), c = this.extractMeasuresFromFilters(i, a), l = [...new Set([...s, ...c])];
3773
+ let a = e.target.cube, o = e.alias, s = (i.measures ?? []).filter((e) => e.startsWith(a.name + ".")), c = this.extractMeasuresFromFilters(i, a), l = [.../* @__PURE__ */ new Set([...s, ...c])];
3769
3774
  if (l.length === 0) return null;
3770
3775
  let u = this.resolveCTEJoinKeys(n, r, a, i);
3771
3776
  if (!u) return null;
3772
- let { joinKeys: d, intermediateJoins: f } = u, p = this.filterPropagation.findPropagatingFilters(i, a, n), { aggregateMeasures: m, requiredBaseMeasures: h } = Dn(l, new Map([[a.name, a]])), g = [...new Set([...m, ...Array.from(h).filter((e) => e.startsWith(a.name + "."))])];
3777
+ let { joinKeys: d, intermediateJoins: f } = u, p = this.filterPropagation.findPropagatingFilters(i, a, n), { aggregateMeasures: m, requiredBaseMeasures: h } = Dn(l, /* @__PURE__ */ new Map([[a.name, a]])), g = [.../* @__PURE__ */ new Set([...m, ...Array.from(h).filter((e) => e.startsWith(a.name + "."))])];
3773
3778
  if (g.length === 0) return null;
3774
3779
  let _ = this.expandCalculatedMeasureDependencies(a, g), v = this.findDownstreamJoinKeys(a, i, n);
3775
3780
  return {
@@ -4246,7 +4251,7 @@ var Qn = class {
4246
4251
  if (t.downstreamJoinKeys) for (let n of t.downstreamJoinKeys) for (let t of n.joinKeys) t.sourceColumnObj && (e[t.sourceColumn] = t.sourceColumnObj);
4247
4252
  }
4248
4253
  addMeasureSelections(e, t, n, r) {
4249
- let i = new Map([[n.name, n]]), a = this.queryBuilder.buildResolvedMeasures(t.measures, i, r);
4254
+ let i = /* @__PURE__ */ new Map([[n.name, n]]), a = this.queryBuilder.buildResolvedMeasures(t.measures, i, r);
4250
4255
  for (let n of t.measures) {
4251
4256
  let [, t] = n.split("."), r = a.get(n);
4252
4257
  r && (e[t] = T`${r()}`.as(t));
@@ -4360,7 +4365,7 @@ var Qn = class {
4360
4365
  let n = e.sourceCube, r = n.sql(t), i = [];
4361
4366
  if (r.where && i.push(r.where), e.preBuiltFilterSQL) i.push(e.preBuiltFilterSQL);
4362
4367
  else {
4363
- let r = { filters: e.filters }, a = new Map([[n.name, n]]), o = this.queryBuilder.buildWhereConditions(a, r, t);
4368
+ let r = { filters: e.filters }, a = /* @__PURE__ */ new Map([[n.name, n]]), o = this.queryBuilder.buildWhereConditions(a, r, t);
4364
4369
  i.push(...o);
4365
4370
  }
4366
4371
  if (i.length === 0) return null;
@@ -4909,7 +4914,7 @@ function Ar(e, t, n, i) {
4909
4914
  }));
4910
4915
  }
4911
4916
  }
4912
- var jr = new Set([
4917
+ var jr = /* @__PURE__ */ new Set([
4913
4918
  "count",
4914
4919
  "countDistinct",
4915
4920
  "countDistinctApprox",
@@ -6317,7 +6322,88 @@ var ti = {
6317
6322
  buildPeriodNumberExpression(e, t, n) {
6318
6323
  return this.databaseAdapter.buildDateDiffPeriods(e, t, n);
6319
6324
  }
6320
- }, ri = class {
6325
+ };
6326
+ //#endregion
6327
+ //#region src/server/logical-plan/schema-builder.ts
6328
+ function Q(e) {
6329
+ return {
6330
+ name: e.name,
6331
+ cube: e
6332
+ };
6333
+ }
6334
+ function ri(e, t) {
6335
+ return e.measures ? e.measures.map((e) => {
6336
+ let [n, i] = e.split("."), a = t.get(n);
6337
+ if (!a) throw Error(r("server.errors.cubeNotFoundForMeasure", {
6338
+ cubeName: n,
6339
+ measure: e
6340
+ }));
6341
+ return {
6342
+ name: e,
6343
+ cube: Q(a),
6344
+ localName: i
6345
+ };
6346
+ }) : [];
6347
+ }
6348
+ function ii(e, t) {
6349
+ return e.dimensions ? e.dimensions.map((e) => {
6350
+ let [n, i] = e.split("."), a = t.get(n);
6351
+ if (!a) throw Error(r("server.errors.cubeNotFoundForDimension", {
6352
+ cubeName: n,
6353
+ dimension: e
6354
+ }));
6355
+ return {
6356
+ name: e,
6357
+ cube: Q(a),
6358
+ localName: i
6359
+ };
6360
+ }) : [];
6361
+ }
6362
+ function ai(e, t) {
6363
+ return e.timeDimensions ? e.timeDimensions.map((e) => {
6364
+ let [n, i] = e.dimension.split("."), a = t.get(n);
6365
+ if (!a) throw Error(r("server.errors.cubeNotFoundForTimeDimension", {
6366
+ cubeName: n,
6367
+ timeDimension: e.dimension
6368
+ }));
6369
+ return {
6370
+ name: e.dimension,
6371
+ cube: Q(a),
6372
+ localName: i,
6373
+ granularity: e.granularity,
6374
+ dateRange: e.dateRange,
6375
+ fillMissingDates: e.fillMissingDates,
6376
+ compareDateRange: e.compareDateRange
6377
+ };
6378
+ }) : [];
6379
+ }
6380
+ function oi(e, t) {
6381
+ return {
6382
+ measures: ri(e, t),
6383
+ dimensions: ii(e, t),
6384
+ timeDimensions: ai(e, t)
6385
+ };
6386
+ }
6387
+ function si(e, t) {
6388
+ return {
6389
+ measures: e.measures.map((e) => {
6390
+ let [n, r] = e.split(".");
6391
+ return {
6392
+ name: e,
6393
+ cube: {
6394
+ name: n,
6395
+ cube: t.get(n)
6396
+ },
6397
+ localName: r
6398
+ };
6399
+ }),
6400
+ dimensions: [],
6401
+ timeDimensions: []
6402
+ };
6403
+ }
6404
+ //#endregion
6405
+ //#region src/server/logical-plan/logical-plan-builder.ts
6406
+ var ci = class {
6321
6407
  queryPlanner;
6322
6408
  constructor(e) {
6323
6409
  this.queryPlanner = e;
@@ -6417,7 +6503,7 @@ var ti = {
6417
6503
  source: o,
6418
6504
  strategy: "multiFactMerge",
6419
6505
  classification: {
6420
- regular: this.buildMeasureRefs(i, r),
6506
+ regular: ri(i, r),
6421
6507
  multiplied: [],
6422
6508
  deduplicationSafe: []
6423
6509
  }
@@ -6434,11 +6520,11 @@ var ti = {
6434
6520
  };
6435
6521
  }
6436
6522
  buildSimpleSourceFromPhases(e, t, n, r, i) {
6437
- let a = this.buildMeasureRefs(i, r), o = this.buildDimensionRefs(i, r), s = this.buildTimeDimensionRefs(i, r), c = this.toCubeRef(e), l = t, u = n.map((e) => {
6438
- let t = this.toCubeRef(e.cube);
6523
+ let a = Q(e), o = t, s = n.map((e) => {
6524
+ let t = Q(e.cube);
6439
6525
  return {
6440
6526
  type: "ctePreAggregate",
6441
- schema: this.buildCTESchema(e, r),
6527
+ schema: si(e, r),
6442
6528
  cube: t,
6443
6529
  alias: e.alias,
6444
6530
  cteAlias: e.cteAlias,
@@ -6453,14 +6539,10 @@ var ti = {
6453
6539
  });
6454
6540
  return {
6455
6541
  type: "simpleSource",
6456
- schema: {
6457
- measures: a,
6458
- dimensions: o,
6459
- timeDimensions: s
6460
- },
6461
- primaryCube: c,
6462
- joins: l,
6463
- ctes: u
6542
+ schema: oi(i, r),
6543
+ primaryCube: a,
6544
+ joins: o,
6545
+ ctes: s
6464
6546
  };
6465
6547
  }
6466
6548
  tryBuildMultiFactMergeSource(e, t, n) {
@@ -6485,13 +6567,13 @@ var ti = {
6485
6567
  if (r.has(a) || !t.get(a)) return null;
6486
6568
  let o = Array.from(r);
6487
6569
  if (!o.every((e) => this.hasDirectJoinToSharedDimension(t.get(e), a, t))) return null;
6488
- let s = this.buildDimensionRefs(e, t), c = this.buildTimeDimensionRefs(e, t), l = {
6489
- measures: this.buildMeasureRefs(e, t),
6570
+ let s = ii(e, t), c = ai(e, t), l = {
6571
+ measures: ri(e, t),
6490
6572
  dimensions: s,
6491
6573
  timeDimensions: c
6492
6574
  }, u = [];
6493
6575
  for (let r of o) {
6494
- let i = (e.measures ?? []).filter((e) => e.startsWith(`${r}.`)), o = new Set([r, a]), s = {
6576
+ let i = (e.measures ?? []).filter((e) => e.startsWith(`${r}.`)), o = /* @__PURE__ */ new Set([r, a]), s = {
6495
6577
  measures: i,
6496
6578
  dimensions: e.dimensions,
6497
6579
  timeDimensions: e.timeDimensions,
@@ -6647,20 +6729,16 @@ var ti = {
6647
6729
  return Array.from(t.values());
6648
6730
  }
6649
6731
  buildQueryNode(e, t, n, r) {
6650
- let i = this.buildMeasureRefs(t, n), a = this.buildDimensionRefs(t, n), o = this.buildTimeDimensionRefs(t, n), s = this.buildOrderByRefs(t), c = t.filters ?? [];
6732
+ let i = oi(t, n), { measures: a, dimensions: o, timeDimensions: s } = i, c = this.buildOrderByRefs(t);
6651
6733
  return {
6652
6734
  type: "query",
6653
- schema: {
6654
- measures: i,
6655
- dimensions: a,
6656
- timeDimensions: o
6657
- },
6735
+ schema: i,
6658
6736
  source: e,
6659
- dimensions: a,
6660
- measures: i,
6661
- filters: c,
6662
- timeDimensions: o,
6663
- orderBy: s,
6737
+ dimensions: o,
6738
+ measures: a,
6739
+ filters: t.filters ?? [],
6740
+ timeDimensions: s,
6741
+ orderBy: c,
6664
6742
  limit: t.limit,
6665
6743
  offset: t.offset,
6666
6744
  ungrouped: t.ungrouped,
@@ -6681,82 +6759,13 @@ var ti = {
6681
6759
  cteType: e.cteType
6682
6760
  }));
6683
6761
  }
6684
- buildMeasureRefs(e, t) {
6685
- return e.measures ? e.measures.map((e) => {
6686
- let [n, i] = e.split("."), a = t.get(n);
6687
- if (!a) throw Error(r("server.errors.cubeNotFoundForMeasure", {
6688
- cubeName: n,
6689
- measure: e
6690
- }));
6691
- return {
6692
- name: e,
6693
- cube: this.toCubeRef(a),
6694
- localName: i
6695
- };
6696
- }) : [];
6697
- }
6698
- buildDimensionRefs(e, t) {
6699
- return e.dimensions ? e.dimensions.map((e) => {
6700
- let [n, i] = e.split("."), a = t.get(n);
6701
- if (!a) throw Error(r("server.errors.cubeNotFoundForDimension", {
6702
- cubeName: n,
6703
- dimension: e
6704
- }));
6705
- return {
6706
- name: e,
6707
- cube: this.toCubeRef(a),
6708
- localName: i
6709
- };
6710
- }) : [];
6711
- }
6712
- buildTimeDimensionRefs(e, t) {
6713
- return e.timeDimensions ? e.timeDimensions.map((e) => {
6714
- let [n, i] = e.dimension.split("."), a = t.get(n);
6715
- if (!a) throw Error(r("server.errors.cubeNotFoundForTimeDimension", {
6716
- cubeName: n,
6717
- timeDimension: e.dimension
6718
- }));
6719
- return {
6720
- name: e.dimension,
6721
- cube: this.toCubeRef(a),
6722
- localName: i,
6723
- granularity: e.granularity,
6724
- dateRange: e.dateRange,
6725
- fillMissingDates: e.fillMissingDates,
6726
- compareDateRange: e.compareDateRange
6727
- };
6728
- }) : [];
6729
- }
6730
6762
  buildOrderByRefs(e) {
6731
6763
  return e.order ? Object.entries(e.order).map(([e, t]) => ({
6732
6764
  name: e,
6733
6765
  direction: t
6734
6766
  })) : [];
6735
6767
  }
6736
- toCubeRef(e) {
6737
- return {
6738
- name: e.name,
6739
- cube: e
6740
- };
6741
- }
6742
- buildCTESchema(e, t) {
6743
- return {
6744
- measures: e.measures.map((e) => {
6745
- let [n, r] = e.split(".");
6746
- return {
6747
- name: e,
6748
- cube: {
6749
- name: n,
6750
- cube: t.get(n)
6751
- },
6752
- localName: r
6753
- };
6754
- }),
6755
- dimensions: [],
6756
- timeDimensions: []
6757
- };
6758
- }
6759
- }, ii = class {
6768
+ }, li = class {
6760
6769
  name = "identity";
6761
6770
  optimise(e) {
6762
6771
  return e;
@@ -6764,11 +6773,11 @@ var ti = {
6764
6773
  };
6765
6774
  //#endregion
6766
6775
  //#region src/server/physical-plan/processors/cte-processor.ts
6767
- function ai(e, t, n, r) {
6768
- let i = oi(e, n, r), a = [], o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map();
6776
+ function ui(e, t, n, r) {
6777
+ let i = di(e, n, r), a = [], o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map();
6769
6778
  if (e.preAggregationCTEs && e.preAggregationCTEs.length > 0) for (let c of e.preAggregationCTEs) {
6770
6779
  let l = r.cteBuilder.buildPreAggregationCTE(c, t, n, e, i);
6771
- l && (a.push(l), o.set(c.cube.name, c.cteAlias), si(c, s));
6780
+ l && (a.push(l), o.set(c.cube.name, c.cteAlias), fi(c, s));
6772
6781
  }
6773
6782
  return {
6774
6783
  preBuiltFilterMap: i,
@@ -6777,13 +6786,13 @@ function ai(e, t, n, r) {
6777
6786
  downstreamCubeMap: s
6778
6787
  };
6779
6788
  }
6780
- function oi(e, t, n) {
6789
+ function di(e, t, n) {
6781
6790
  let r = /* @__PURE__ */ new Map();
6782
6791
  if (!e.preAggregationCTEs || e.preAggregationCTEs.length === 0) return r;
6783
6792
  for (let i of e.preAggregationCTEs) if (!(!i.propagatingFilters || i.propagatingFilters.length === 0)) for (let e of i.propagatingFilters) {
6784
6793
  let i = e.sourceCube.name;
6785
6794
  if (!r.has(i)) {
6786
- let a = { filters: e.filters }, o = new Map([[i, e.sourceCube]]), s = n.queryBuilder.buildWhereConditions(o, a, t);
6795
+ let a = { filters: e.filters }, o = /* @__PURE__ */ new Map([[i, e.sourceCube]]), s = n.queryBuilder.buildWhereConditions(o, a, t);
6787
6796
  r.set(i, s);
6788
6797
  }
6789
6798
  let a = r.get(i);
@@ -6791,7 +6800,7 @@ function oi(e, t, n) {
6791
6800
  }
6792
6801
  return r;
6793
6802
  }
6794
- function si(e, t) {
6803
+ function fi(e, t) {
6795
6804
  if (e.downstreamJoinKeys) for (let n of e.downstreamJoinKeys) t.set(n.targetCubeName, {
6796
6805
  cteAlias: e.cteAlias,
6797
6806
  joinKeys: n.joinKeys
@@ -6799,7 +6808,7 @@ function si(e, t) {
6799
6808
  }
6800
6809
  //#endregion
6801
6810
  //#region src/server/physical-plan/processors/window-processor.ts
6802
- function ci(e, t, n, r, i, a) {
6811
+ function pi(e, t, n, r, i, a) {
6803
6812
  if (n.measures) for (let o of n.measures) {
6804
6813
  let [s, c] = o.split("."), l = i.get(s);
6805
6814
  if (!l?.measures?.[c]) continue;
@@ -6811,11 +6820,11 @@ function ci(e, t, n, r, i, a) {
6811
6820
  if (!m?.measures?.[p]) continue;
6812
6821
  let h = m.measures[p], g = t.preAggregationCTEs?.find((e) => e.cube?.name === f && e.measures?.includes(d)), _;
6813
6822
  _ = g ? T`sum(${T`${T.identifier(g.cteAlias)}.${T.identifier(p)}`})` : a.queryBuilder.buildMeasureExpression(h, r, m), e[d] || (e[d] = T`${_}`.as(d));
6814
- let v = li(u, _, n, r, l, t, a);
6823
+ let v = mi(u, _, n, r, l, t, a);
6815
6824
  v && (e[o] = T`${v}`.as(o));
6816
6825
  }
6817
6826
  }
6818
- function li(e, t, n, r, i, a, o) {
6827
+ function mi(e, t, n, r, i, a, o) {
6819
6828
  let s = e.windowConfig || {}, c = (e, t) => {
6820
6829
  if (!a.preAggregationCTEs) return null;
6821
6830
  let n = a.preAggregationCTEs.find((t) => t.cube?.name === e);
@@ -6885,23 +6894,23 @@ function li(e, t, n, r, i, a, o) {
6885
6894
  }
6886
6895
  //#endregion
6887
6896
  //#region src/server/physical-plan/processors/selection-processor.ts
6888
- function ui(e, t, n, r, i) {
6897
+ function hi(e, t, n, r, i) {
6889
6898
  let a = { ...i.queryBuilder.buildSelections(e.joinCubes.length > 0 ? r : e.primaryCube, t, n) };
6890
- if (e.preAggregationCTEs) for (let o of e.preAggregationCTEs) di(a, o, t, n, r, i), pi(a, o, r);
6891
- return ci(a, e, t, n, r, i), a;
6899
+ if (e.preAggregationCTEs) for (let o of e.preAggregationCTEs) gi(a, o, t, n, r, i), vi(a, o, r);
6900
+ return pi(a, e, t, n, r, i), a;
6892
6901
  }
6893
- function di(e, t, n, r, i, a) {
6902
+ function gi(e, t, n, r, i, a) {
6894
6903
  let o = t.cube.name;
6895
6904
  for (let s of t.measures) {
6896
6905
  if (!e[s]) continue;
6897
6906
  let [, c] = s.split("."), l = i.get(o);
6898
6907
  if (!l?.measures?.[c]) continue;
6899
6908
  let u = l.measures[c], d = T`${T.identifier(t.cteAlias)}.${T.identifier(c)}`, f;
6900
- f = u.type === "calculated" && u.calculatedSql ? a.queryBuilder.buildCTECalculatedMeasure(u, l, t, i, r) : fi(u, d, t, n, i, a), e[s] = T`${f}`.as(s);
6909
+ f = u.type === "calculated" && u.calculatedSql ? a.queryBuilder.buildCTECalculatedMeasure(u, l, t, i, r) : _i(u, d, t, n, i, a), e[s] = T`${f}`.as(s);
6901
6910
  }
6902
6911
  }
6903
- function fi(e, t, n, r, i, a) {
6904
- let o = n.cteReason === "fanOutPrevention", s = mi(n, r, i), c = o || s;
6912
+ function _i(e, t, n, r, i, a) {
6913
+ let o = n.cteReason === "fanOutPrevention", s = yi(n, r, i), c = o || s;
6905
6914
  switch (e.type) {
6906
6915
  case "count":
6907
6916
  case "countDistinct":
@@ -6913,7 +6922,7 @@ function fi(e, t, n, r, i, a) {
6913
6922
  default: return c ? M(t) : j(t);
6914
6923
  }
6915
6924
  }
6916
- function pi(e, t, n) {
6925
+ function vi(e, t, n) {
6917
6926
  let r = t.cube.name;
6918
6927
  for (let i in e) {
6919
6928
  let [a, o] = i.split(".");
@@ -6928,10 +6937,10 @@ function pi(e, t, n) {
6928
6937
  (u || l && s?.dimensions?.[o]) && (e[i] = T`${T.identifier(t.cteAlias)}.${T.identifier(o)}`.as(i));
6929
6938
  }
6930
6939
  }
6931
- function mi(e, t, n) {
6932
- return e.cteReason !== "hasMany" || e.downstreamJoinKeys && e.downstreamJoinKeys.length > 0 || e.intermediateJoins && e.intermediateJoins.length > 0 || !(t.dimensions && t.dimensions.length > 0 || t.timeDimensions && t.timeDimensions.length > 0) || t.dimensions?.some((t) => t.startsWith(`${e.cube.name}.`)) || t.timeDimensions?.some((t) => t.dimension.startsWith(`${e.cube.name}.`)) ? !1 : e.joinKeys.length > 0 && e.joinKeys.every((e) => !!e.sourceColumnObj && hi(e.sourceColumnObj, t, n));
6940
+ function yi(e, t, n) {
6941
+ return e.cteReason !== "hasMany" || e.downstreamJoinKeys && e.downstreamJoinKeys.length > 0 || e.intermediateJoins && e.intermediateJoins.length > 0 || !(t.dimensions && t.dimensions.length > 0 || t.timeDimensions && t.timeDimensions.length > 0) || t.dimensions?.some((t) => t.startsWith(`${e.cube.name}.`)) || t.timeDimensions?.some((t) => t.dimension.startsWith(`${e.cube.name}.`)) ? !1 : e.joinKeys.length > 0 && e.joinKeys.every((e) => !!e.sourceColumnObj && bi(e.sourceColumnObj, t, n));
6933
6942
  }
6934
- function hi(e, t, n) {
6943
+ function bi(e, t, n) {
6935
6944
  if (t.dimensions) for (let r of t.dimensions) {
6936
6945
  let [t, i] = r.split(".");
6937
6946
  if (n.get(t)?.dimensions?.[i]?.sql === e) return !0;
@@ -6945,7 +6954,7 @@ function hi(e, t, n) {
6945
6954
  }
6946
6955
  //#endregion
6947
6956
  //#region src/server/physical-plan/processors/shared.ts
6948
- function Q(e, t, n, r) {
6957
+ function $(e, t, n, r) {
6949
6958
  switch (t) {
6950
6959
  case "inner": return e.innerJoin(n, r);
6951
6960
  case "right": return e.rightJoin(n, r);
@@ -6953,20 +6962,20 @@ function Q(e, t, n, r) {
6953
6962
  default: return e.leftJoin(n, r);
6954
6963
  }
6955
6964
  }
6956
- function gi(e) {
6965
+ function xi(e) {
6957
6966
  let t = /* @__PURE__ */ new Map();
6958
6967
  if (t.set(e.primaryCube.name, e.primaryCube), e.joinCubes) for (let n of e.joinCubes) t.set(n.cube.name, n.cube);
6959
6968
  return t;
6960
6969
  }
6961
6970
  //#endregion
6962
6971
  //#region src/server/physical-plan/processors/joins-processor.ts
6963
- function _i(e, t, n, r, i, a) {
6964
- let o = [], s = vi(t, n, r, i);
6965
- s = yi(s, n.joins);
6966
- let c = /* @__PURE__ */ new Set(), l = bi(e);
6972
+ function Si(e, t, n, r, i, a) {
6973
+ let o = [], s = Ci(t, n, r, i);
6974
+ s = wi(s, n.joins);
6975
+ let c = /* @__PURE__ */ new Set(), l = Ti(e);
6967
6976
  if (e.joinCubes && e.joinCubes.length > 0) for (let n of e.joinCubes) {
6968
6977
  let r = n.cube.name;
6969
- l.has(r) && !i.cteAliasMap.has(r) || (s = xi(s, n, e, i, t, o), s = wi(s, n, e, i, t, a, c));
6978
+ l.has(r) && !i.cteAliasMap.has(r) || (s = Ei(s, n, e, i, t, o), s = ki(s, n, e, i, t, a, c));
6970
6979
  }
6971
6980
  return {
6972
6981
  drizzleQuery: s,
@@ -6975,38 +6984,38 @@ function _i(e, t, n, r, i, a) {
6975
6984
  absorbedIntermediateCubes: l
6976
6985
  };
6977
6986
  }
6978
- function vi(e, t, n, r) {
6987
+ function Ci(e, t, n, r) {
6979
6988
  return r.ctes.length > 0 ? e.db.with(...r.ctes).select(n).from(t.from) : e.db.select(n).from(t.from);
6980
6989
  }
6981
- function yi(e, t) {
6990
+ function wi(e, t) {
6982
6991
  if (!t) return e;
6983
6992
  let n = e;
6984
- for (let e of t) n = Q(n, e.type ?? "left", e.table, e.on);
6993
+ for (let e of t) n = $(n, e.type ?? "left", e.table, e.on);
6985
6994
  return n;
6986
6995
  }
6987
- function bi(e) {
6996
+ function Ti(e) {
6988
6997
  let t = /* @__PURE__ */ new Set();
6989
6998
  if (e.preAggregationCTEs) {
6990
6999
  for (let n of e.preAggregationCTEs) if (n.intermediateJoins && n.intermediateJoins.length > 0) for (let e of n.intermediateJoins) t.add(e.cube.name);
6991
7000
  }
6992
7001
  return t;
6993
7002
  }
6994
- function xi(e, t, n, r, i, a) {
7003
+ function Ei(e, t, n, r, i, a) {
6995
7004
  let o = t.junctionTable;
6996
7005
  if (!o) return e;
6997
- let s = Si(o, t, n, r), c = [];
7006
+ let s = Di(o, t, n, r), c = [];
6998
7007
  if (o.securitySql) {
6999
7008
  let e = o.securitySql(i.securityContext);
7000
7009
  Array.isArray(e) ? c.push(...e) : c.push(e);
7001
7010
  }
7002
7011
  try {
7003
- let t = Q(e, o.joinType ?? "left", o.table, s);
7012
+ let t = $(e, o.joinType ?? "left", o.table, s);
7004
7013
  return c.length > 0 && a.push(...c), t;
7005
7014
  } catch {
7006
7015
  return e;
7007
7016
  }
7008
7017
  }
7009
- function Si(e, t, n, r) {
7018
+ function Di(e, t, n, r) {
7010
7019
  let i = e.joinCondition, a = e.sourceCubeName ? r.cteAliasMap.get(e.sourceCubeName) : void 0;
7011
7020
  if (!a) return i;
7012
7021
  let o = (n.preAggregationCTEs?.find((t) => t.cube.name === e.sourceCubeName))?.downstreamJoinKeys?.find((e) => e.targetCubeName === t.cube.name);
@@ -7020,7 +7029,7 @@ function Si(e, t, n, r) {
7020
7029
  }
7021
7030
  return i;
7022
7031
  }
7023
- function Ci(e, t, n, r, i, a) {
7032
+ function Oi(e, t, n, r, i, a) {
7024
7033
  if (t) return {
7025
7034
  joinTarget: T`${T.identifier(t)}`,
7026
7035
  joinCondition: a.cteBuilder.buildCTEJoinCondition(e, t, r),
@@ -7043,26 +7052,26 @@ function Ci(e, t, n, r, i, a) {
7043
7052
  joinCubeBase: s
7044
7053
  };
7045
7054
  }
7046
- function wi(e, t, n, r, i, a, o) {
7047
- let { joinTarget: s, joinCondition: c, securityCondition: l, joinCubeBase: u } = Ci(t, r.cteAliasMap.get(t.cube.name), r, n, i, a), d = t.joinType || "left", f = d !== "inner" && l ? k(c, l) : c;
7055
+ function ki(e, t, n, r, i, a, o) {
7056
+ let { joinTarget: s, joinCondition: c, securityCondition: l, joinCubeBase: u } = Oi(t, r.cteAliasMap.get(t.cube.name), r, n, i, a), d = t.joinType || "left", f = d !== "inner" && l ? k(c, l) : c;
7048
7057
  try {
7049
7058
  let n;
7050
- return d === "inner" ? n = e.innerJoin(s, c) : (n = Q(e, d, s, f), l && o.add(t.cube.name)), yi(n, u?.joins);
7059
+ return d === "inner" ? n = e.innerJoin(s, c) : (n = $(e, d, s, f), l && o.add(t.cube.name)), wi(n, u?.joins);
7051
7060
  } catch {
7052
7061
  return e;
7053
7062
  }
7054
7063
  }
7055
7064
  //#endregion
7056
7065
  //#region src/server/physical-plan/processors/predicates-processor.ts
7057
- function Ti(e, t, n, r, i, a, o, s) {
7058
- let c = Ei(e, t, n, r, i, a, o, s), l = o.drizzleQuery;
7066
+ function Ai(e, t, n, r, i, a, o, s) {
7067
+ let c = ji(e, t, n, r, i, a, o, s), l = o.drizzleQuery;
7059
7068
  if (c.length > 0) {
7060
7069
  let e = c.length === 1 ? c[0] : k(...c);
7061
7070
  l = l.where(e);
7062
7071
  }
7063
- return Di(l, e, t, n, r, s);
7072
+ return Mi(l, e, t, n, r, s);
7064
7073
  }
7065
- function Ei(e, t, n, r, i, a, o, s) {
7074
+ function ji(e, t, n, r, i, a, o, s) {
7066
7075
  let c = [...o.allWhereConditions];
7067
7076
  if (i.where && c.push(i.where), e.joinCubes && e.joinCubes.length > 0) for (let t of e.joinCubes) {
7068
7077
  let e = t.cube.name;
@@ -7073,7 +7082,7 @@ function Ei(e, t, n, r, i, a, o, s) {
7073
7082
  let l = s.queryBuilder.buildWhereConditions(e.joinCubes.length > 0 ? r : e.primaryCube, t, n, e, a.preBuiltFilterMap);
7074
7083
  return l.length > 0 && c.push(...l), c;
7075
7084
  }
7076
- function Di(e, t, n, r, i, a) {
7085
+ function Mi(e, t, n, r, i, a) {
7077
7086
  let o = t.joinCubes.length > 0 ? i : t.primaryCube, s = e, c = a.queryBuilder.buildGroupByFields(o, n, r, t);
7078
7087
  if (c.length > 0 && (s = s.groupBy(...c)), !n.ungrouped) {
7079
7088
  let e = a.queryBuilder.buildHavingConditions(o, n, r, t);
@@ -7087,17 +7096,17 @@ function Di(e, t, n, r, i, a) {
7087
7096
  }
7088
7097
  //#endregion
7089
7098
  //#region src/server/physical-plan/processors/keys-dedup-processor.ts
7090
- function Oi(e, t, n, r) {
7099
+ function Ni(e, t, n, r) {
7091
7100
  let i = e.keysDeduplication;
7092
7101
  if (!i?.multipliedCubeName || !t.measures?.length) return null;
7093
- let a = e.joinCubes.length > 0 ? gi(e) : new Map([[e.primaryCube.name, e.primaryCube]]), o = a.get(i.multipliedCubeName);
7094
- if (!o || !Li(t, o, i.multipliedCubeName)) return null;
7095
- let s = i.primaryKeyDimensions.length > 0 ? i.primaryKeyDimensions : zi(o);
7102
+ let a = e.joinCubes.length > 0 ? xi(e) : /* @__PURE__ */ new Map([[e.primaryCube.name, e.primaryCube]]), o = a.get(i.multipliedCubeName);
7103
+ if (!o || !Hi(t, o, i.multipliedCubeName)) return null;
7104
+ let s = i.primaryKeyDimensions.length > 0 ? i.primaryKeyDimensions : Wi(o);
7096
7105
  if (s.length === 0) return null;
7097
- let c = `${i.multipliedCubeName.toLowerCase()}_keys`, l = `${i.multipliedCubeName.toLowerCase()}_pk_agg`, u = i.regularMeasures ?? [], d = ki(t, n, r, a, o, s, u);
7106
+ let c = `${i.multipliedCubeName.toLowerCase()}_keys`, l = `${i.multipliedCubeName.toLowerCase()}_pk_agg`, u = i.regularMeasures ?? [], d = Pi(t, n, r, a, o, s, u);
7098
7107
  if (!d) return null;
7099
- let f = Ai(e, t, n, r, a, c, d.keysSelections, d.keyGroupBy), p = Ni(t, n, r, o, s, d.multipliedMeasures, l);
7100
- return p ? Ii(t, n, r, a, o, {
7108
+ let f = Fi(e, t, n, r, a, c, d.keysSelections, d.keyGroupBy), p = Ri(t, n, r, o, s, d.multipliedMeasures, l);
7109
+ return p ? Vi(t, n, r, a, o, {
7101
7110
  keysAlias: c,
7102
7111
  aggAlias: l,
7103
7112
  keysCte: f,
@@ -7108,7 +7117,7 @@ function Oi(e, t, n, r) {
7108
7117
  regularMeasureNames: u
7109
7118
  }) : null;
7110
7119
  }
7111
- function ki(e, t, n, r, i, a, o) {
7120
+ function Pi(e, t, n, r, i, a, o) {
7112
7121
  let s = {}, c = [];
7113
7122
  if (e.dimensions) for (let n of e.dimensions) {
7114
7123
  let [e, i] = n.split("."), a = r.get(e), o = a?.dimensions?.[i];
@@ -7146,35 +7155,35 @@ function ki(e, t, n, r, i, a, o) {
7146
7155
  multipliedMeasures: d
7147
7156
  };
7148
7157
  }
7149
- function Ai(e, t, n, r, i, a, o, s) {
7158
+ function Fi(e, t, n, r, i, a, o, s) {
7150
7159
  let c = e.primaryCube.sql(n), l = [];
7151
7160
  c.where && l.push(c.where);
7152
7161
  let u = n.db.select(o).from(c.from);
7153
- if (c.joins) for (let e of c.joins) u = Q(u, e.type ?? "left", e.table, e.on);
7154
- for (let t of e.joinCubes) u = ji(u, t, n, l);
7155
- return l.push(...r.queryBuilder.buildWhereConditions(i, t, n)), u = Fi(u, l), s.length > 0 && (u = u.groupBy(...s)), n.db.$with(a).as(u);
7162
+ if (c.joins) for (let e of c.joins) u = $(u, e.type ?? "left", e.table, e.on);
7163
+ for (let t of e.joinCubes) u = Ii(u, t, n, l);
7164
+ return l.push(...r.queryBuilder.buildWhereConditions(i, t, n)), u = Bi(u, l), s.length > 0 && (u = u.groupBy(...s)), n.db.$with(a).as(u);
7156
7165
  }
7157
- function ji(e, t, n, r) {
7166
+ function Ii(e, t, n, r) {
7158
7167
  let i = e;
7159
- t.junctionTable && (i = Q(i, t.junctionTable.joinType ?? "left", t.junctionTable.table, t.junctionTable.joinCondition), Mi(t.junctionTable.securitySql, n, r));
7168
+ t.junctionTable && (i = $(i, t.junctionTable.joinType ?? "left", t.junctionTable.table, t.junctionTable.joinCondition), Li(t.junctionTable.securitySql, n, r));
7160
7169
  let a = t.cube.sql(n);
7161
- if (i = Q(i, t.joinType ?? "left", a.from, t.joinCondition), a.joins) for (let e of a.joins) i = Q(i, e.type ?? "left", e.table, e.on);
7170
+ if (i = $(i, t.joinType ?? "left", a.from, t.joinCondition), a.joins) for (let e of a.joins) i = $(i, e.type ?? "left", e.table, e.on);
7162
7171
  return a.where && r.push(a.where), i;
7163
7172
  }
7164
- function Mi(e, t, n) {
7173
+ function Li(e, t, n) {
7165
7174
  if (!e) return;
7166
7175
  let r = e(t.securityContext);
7167
7176
  Array.isArray(r) ? n.push(...r) : n.push(r);
7168
7177
  }
7169
- function Ni(e, t, n, r, i, a, o) {
7170
- let s = r.sql(t), c = Pi(t, n, r, i, a);
7178
+ function Ri(e, t, n, r, i, a, o) {
7179
+ let s = r.sql(t), c = zi(t, n, r, i, a);
7171
7180
  if (!c) return null;
7172
7181
  let l = t.db.select(c.aggSelections).from(s.from);
7173
- if (s.joins) for (let e of s.joins) l = Q(l, e.type ?? "left", e.table, e.on);
7182
+ if (s.joins) for (let e of s.joins) l = $(l, e.type ?? "left", e.table, e.on);
7174
7183
  let u = [];
7175
- return s.where && u.push(s.where), u.push(...n.queryBuilder.buildWhereConditions(r, e, t)), l = Fi(l, u), c.aggGroupBy.length > 0 && (l = l.groupBy(...c.aggGroupBy)), t.db.$with(o).as(l);
7184
+ return s.where && u.push(s.where), u.push(...n.queryBuilder.buildWhereConditions(r, e, t)), l = Bi(l, u), c.aggGroupBy.length > 0 && (l = l.groupBy(...c.aggGroupBy)), t.db.$with(o).as(l);
7176
7185
  }
7177
- function Pi(e, t, n, r, i) {
7186
+ function zi(e, t, n, r, i) {
7178
7187
  let a = {}, o = [];
7179
7188
  for (let t of r) {
7180
7189
  let r = n.dimensions?.[t];
@@ -7192,7 +7201,7 @@ function Pi(e, t, n, r, i) {
7192
7201
  return !s.has(t);
7193
7202
  });
7194
7203
  if (c.length > 0) {
7195
- let r = t.queryBuilder.buildResolvedMeasures(c, new Map([[n.name, n]]), e);
7204
+ let r = t.queryBuilder.buildResolvedMeasures(c, /* @__PURE__ */ new Map([[n.name, n]]), e);
7196
7205
  for (let e of c) {
7197
7206
  let [, t] = e.split("."), n = r.get(e);
7198
7207
  if (!n || typeof n != "function") return null;
@@ -7212,20 +7221,20 @@ function Pi(e, t, n, r, i) {
7212
7221
  aggGroupBy: o
7213
7222
  };
7214
7223
  }
7215
- function Fi(e, t) {
7224
+ function Bi(e, t) {
7216
7225
  return t.length === 0 ? e : e.where(t.length === 1 ? t[0] : k(...t));
7217
7226
  }
7218
- function Ii(e, t, n, r, i, a) {
7227
+ function Vi(e, t, n, r, i, a) {
7219
7228
  let { keysAlias: o, aggAlias: s, keysCte: c, aggCte: l, pkDimensions: u, pkAliases: d, multipliedMeasures: f, regularMeasureNames: p } = a, m = {};
7220
7229
  for (let t of e.dimensions ?? []) m[t] = T`${T.identifier(o)}.${T.identifier(t)}`.as(t);
7221
7230
  for (let t of e.timeDimensions ?? []) m[t.dimension] = T`${T.identifier(o)}.${T.identifier(t.dimension)}`.as(t.dimension);
7222
7231
  for (let e of f) {
7223
7232
  let [, t] = e.split("."), n = i.measures?.[t];
7224
- m[e] = Bi(n?.type ?? "sum", s, t, e);
7233
+ m[e] = Gi(n?.type ?? "sum", s, t, e);
7225
7234
  }
7226
7235
  for (let e of p) {
7227
7236
  let [t, n] = e.split("."), i = r.get(t)?.measures?.[n], a = `__reg__${e.replace(".", "__")}`;
7228
- m[e] = Bi(i?.type ?? "sum", o, a, e);
7237
+ m[e] = Gi(i?.type ?? "sum", o, a, e);
7229
7238
  }
7230
7239
  let h = t.db.with(c, l).select(m).from(T`${T.identifier(o)}`), g = d.map((e, t) => O(T`${T.identifier(o)}.${T.identifier(e)}`, T`${T.identifier(s)}.${T.identifier(u[t])}`)), _ = g.length === 1 ? g[0] : k(...g);
7231
7240
  h = h.leftJoin(T`${T.identifier(s)}`, _);
@@ -7234,7 +7243,7 @@ function Ii(e, t, n, r, i, a) {
7234
7243
  let y = n.queryBuilder.buildOrderBy(e, Object.keys(m));
7235
7244
  return y.length > 0 && (h = h.orderBy(...y)), n.queryBuilder.applyLimitAndOffset(h, e);
7236
7245
  }
7237
- function Li(e, t, n) {
7246
+ function Hi(e, t, n) {
7238
7247
  if (!e.measures?.length) return !1;
7239
7248
  for (let r of e.measures) {
7240
7249
  let [e, i] = r.split(".");
@@ -7249,9 +7258,9 @@ function Li(e, t, n) {
7249
7258
  "avg"
7250
7259
  ].includes(a.type)) return !1;
7251
7260
  }
7252
- return !Ri(e, t, n);
7261
+ return !Ui(e, t, n);
7253
7262
  }
7254
- function Ri(e, t, n) {
7263
+ function Ui(e, t, n) {
7255
7264
  let r = (e) => {
7256
7265
  if (!e) return !1;
7257
7266
  for (let i of e) {
@@ -7272,10 +7281,10 @@ function Ri(e, t, n) {
7272
7281
  };
7273
7282
  return r(e.filters);
7274
7283
  }
7275
- function zi(e) {
7284
+ function Wi(e) {
7276
7285
  return Object.entries(e.dimensions ?? {}).filter(([, e]) => !!e.primaryKey).map(([e]) => e);
7277
7286
  }
7278
- function Bi(e, t, n, r) {
7287
+ function Gi(e, t, n, r) {
7279
7288
  switch (e) {
7280
7289
  case "min": return T`min(${T`${T.identifier(t)}.${T.identifier(n)}`})`.as(r);
7281
7290
  case "max": return T`max(${T`${T.identifier(t)}.${T.identifier(n)}`})`.as(r);
@@ -7285,38 +7294,38 @@ function Bi(e, t, n, r) {
7285
7294
  }
7286
7295
  //#endregion
7287
7296
  //#region src/server/physical-plan/processors/multi-fact-processor.ts
7288
- function Vi(e, t, n, r, i) {
7297
+ function Ki(e, t, n, r, i) {
7289
7298
  let a = e.multiFactMerge;
7290
7299
  if (!a || a.groups.length < 2) return null;
7291
- let o = [...t.dimensions ?? [], ...(t.timeDimensions ?? []).map((e) => e.dimension)], s = Array.from(new Set(o)), c = s.length > 0, l = Ji(r), u = c && a.mergeStrategy === "fullJoin" && !l, d = a.groups.map((e) => {
7300
+ let o = [...t.dimensions ?? [], ...(t.timeDimensions ?? []).map((e) => e.dimension)], s = Array.from(new Set(o)), c = s.length > 0, l = $i(r), u = c && a.mergeStrategy === "fullJoin" && !l, d = a.groups.map((e) => {
7292
7301
  let t = i(e.queryPlan, e.query, n);
7293
7302
  return n.db.$with(e.alias).as(t);
7294
7303
  });
7295
- return u ? Gi(t, n, r, a, d, s) : Wi(t, n, r, a, d, s, qi(a.mergeStrategy, c, l));
7304
+ return u ? Xi(t, n, r, a, d, s) : Yi(t, n, r, a, d, s, Qi(a.mergeStrategy, c, l));
7296
7305
  }
7297
- function Hi(e, t, n) {
7306
+ function qi(e, t, n) {
7298
7307
  let r = {};
7299
- for (let e of t) r[e] = T`${Yi(n, e)}`.as(e);
7308
+ for (let e of t) r[e] = T`${ea(n, e)}`.as(e);
7300
7309
  for (let t of e.groups) for (let e of t.measures) r[e] = T`coalesce(${T`${T.identifier(t.alias)}.${T.identifier(e)}`}, 0)`.as(e);
7301
7310
  return r;
7302
7311
  }
7303
- function Ui(e, t, n) {
7312
+ function Ji(e, t, n) {
7304
7313
  if (t.length === 0) return T`1 = 1`;
7305
7314
  let r = t.map((t) => O(n.get(t), T`${T.identifier(e)}.${T.identifier(t)}`));
7306
7315
  return r.length === 1 ? r[0] : k(...r);
7307
7316
  }
7308
- function Wi(e, t, n, r, i, a, o) {
7309
- let s = r.groups[0].alias, c = Hi(r, a, r.groups.map((e) => e.alias)), l = t.db.with(...i).select(c).from(T`${T.identifier(s)}`), u = /* @__PURE__ */ new Map();
7317
+ function Yi(e, t, n, r, i, a, o) {
7318
+ let s = r.groups[0].alias, c = qi(r, a, r.groups.map((e) => e.alias)), l = t.db.with(...i).select(c).from(T`${T.identifier(s)}`), u = /* @__PURE__ */ new Map();
7310
7319
  for (let e of a) u.set(e, T`${T.identifier(s)}.${T.identifier(e)}`);
7311
7320
  for (let e = 1; e < r.groups.length; e++) {
7312
- let t = r.groups[e].alias, n = Ui(t, a, u);
7313
- if (l = Q(l, o, T`${T.identifier(t)}`, n), a.length > 0 && o === "full") for (let e of a) u.set(e, T`coalesce(${u.get(e)}, ${T`${T.identifier(t)}.${T.identifier(e)}`})`);
7321
+ let t = r.groups[e].alias, n = Ji(t, a, u);
7322
+ if (l = $(l, o, T`${T.identifier(t)}`, n), a.length > 0 && o === "full") for (let e of a) u.set(e, T`coalesce(${u.get(e)}, ${T`${T.identifier(t)}.${T.identifier(e)}`})`);
7314
7323
  }
7315
7324
  let d = n.queryBuilder.buildOrderBy(e, Object.keys(c));
7316
7325
  return d.length > 0 && (l = l.orderBy(...d)), n.queryBuilder.applyLimitAndOffset(l, e);
7317
7326
  }
7318
- function Gi(e, t, n, r, i, a) {
7319
- let o = "mf_all_keys", s = r.groups.map((e) => T`select ${Ki(e.alias, a)} from ${T.identifier(e.alias)}`), c = T`${T.join(s, T` union `)}`, l = t.db.$with(o).as(c), u = {};
7327
+ function Xi(e, t, n, r, i, a) {
7328
+ let o = "mf_all_keys", s = r.groups.map((e) => T`select ${Zi(e.alias, a)} from ${T.identifier(e.alias)}`), c = T`${T.join(s, T` union `)}`, l = t.db.$with(o).as(c), u = {};
7320
7329
  for (let e of a) u[e] = T`${T.identifier(o)}.${T.identifier(e)}`.as(e);
7321
7330
  for (let e of r.groups) for (let t of e.measures) u[t] = T`coalesce(${T`${T.identifier(e.alias)}.${T.identifier(t)}`}, 0)`.as(t);
7322
7331
  let d = t.db.with(...i, l).select(u).from(T`${T.identifier(o)}`);
@@ -7327,18 +7336,18 @@ function Gi(e, t, n, r, i, a) {
7327
7336
  let f = n.queryBuilder.buildOrderBy(e, Object.keys(u));
7328
7337
  return f.length > 0 && (d = d.orderBy(...f)), n.queryBuilder.applyLimitAndOffset(d, e);
7329
7338
  }
7330
- function Ki(e, t) {
7339
+ function Zi(e, t) {
7331
7340
  let n = t.map((t) => T`${T.identifier(e)}.${T.identifier(t)} as ${T.identifier(t)}`);
7332
7341
  return T.join(n, T`, `);
7333
7342
  }
7334
- function qi(e, t, n) {
7343
+ function Qi(e, t, n) {
7335
7344
  return !t || e === "innerJoin" ? "inner" : e === "leftJoin" ? "left" : n ? "full" : "left";
7336
7345
  }
7337
- function Ji(e) {
7346
+ function $i(e) {
7338
7347
  let t = e.databaseAdapter.getEngineType();
7339
7348
  return t === "postgres" || t === "duckdb";
7340
7349
  }
7341
- function Yi(e, t) {
7350
+ function ea(e, t) {
7342
7351
  if (e.length === 1) return T`${T.identifier(e[0])}.${T.identifier(t)}`;
7343
7352
  let n = e.map((e) => T`${T.identifier(e)}.${T.identifier(t)}`), r = n[0];
7344
7353
  for (let e = 1; e < n.length; e++) r = T`coalesce(${r}, ${n[e]})`;
@@ -7346,7 +7355,7 @@ function Yi(e, t) {
7346
7355
  }
7347
7356
  //#endregion
7348
7357
  //#region src/server/physical-plan/drizzle-plan-builder.ts
7349
- var Xi = class {
7358
+ var ta = class {
7350
7359
  queryBuilder;
7351
7360
  cteBuilder;
7352
7361
  databaseAdapter;
@@ -7507,23 +7516,23 @@ var Xi = class {
7507
7516
  queryBuilder: this.queryBuilder,
7508
7517
  cteBuilder: this.cteBuilder,
7509
7518
  databaseAdapter: this.databaseAdapter
7510
- }, i = Vi(e, t, n, r, (e, t, n) => this.build(e, t, n));
7519
+ }, i = Ki(e, t, n, r, (e, t, n) => this.build(e, t, n));
7511
7520
  if (i) return i;
7512
- let a = Oi(e, t, n, r);
7521
+ let a = Ni(e, t, n, r);
7513
7522
  if (a) return a;
7514
- let o = ai(e, t, n, r), s = e.primaryCube.sql(n), c = e.joinCubes.length > 0 ? gi(e) : new Map([[e.primaryCube.name, e.primaryCube]]);
7515
- return Ti(e, t, n, c, s, o, _i(e, n, s, ui(e, t, n, c, r), o, r), r);
7523
+ let o = ui(e, t, n, r), s = e.primaryCube.sql(n), c = e.joinCubes.length > 0 ? xi(e) : /* @__PURE__ */ new Map([[e.primaryCube.name, e.primaryCube]]);
7524
+ return Ai(e, t, n, c, s, o, Si(e, n, s, hi(e, t, n, c, r), o, r), r);
7516
7525
  }
7517
7526
  };
7518
7527
  //#endregion
7519
7528
  //#region src/server/executor.ts
7520
- function $(e, t) {
7529
+ function na(e, t) {
7521
7530
  if (!(typeof process > "u" || !process.env?.DC_DEBUG)) try {
7522
7531
  let { sql: n, params: r } = t.toSQL();
7523
7532
  console.log(`\n[DC_DEBUG] ${e}`), console.log(n), r.length > 0 && console.log("params:", r), console.log();
7524
7533
  } catch {}
7525
7534
  }
7526
- var Zi = class {
7535
+ var ra = class {
7527
7536
  dbExecutor;
7528
7537
  queryBuilder;
7529
7538
  drizzlePlanBuilder;
@@ -7542,7 +7551,7 @@ var Zi = class {
7542
7551
  if (this.dbExecutor = e, this.databaseAdapter = e.databaseAdapter, !this.databaseAdapter) throw Error(r("server.errors.dbAdapterRequired"));
7543
7552
  this.queryBuilder = new Fn(this.databaseAdapter);
7544
7553
  let a = new Xn(), o = new Qn(this.queryBuilder);
7545
- this.drizzlePlanBuilder = new Xi(this.queryBuilder, o, this.databaseAdapter), this.comparisonQueryBuilder = new Jr(this.databaseAdapter), this.funnelQueryBuilder = new Yr(this.databaseAdapter), this.flowQueryBuilder = new Xr(this.databaseAdapter), this.retentionQueryBuilder = new ni(this.databaseAdapter), this.logicalPlanBuilder = new ri(a), this.planOptimiser = i ?? new ii(), this.rlsSetup = n, this.modeRouter = new Rr({
7554
+ this.drizzlePlanBuilder = new ta(this.queryBuilder, o, this.databaseAdapter), this.comparisonQueryBuilder = new Jr(this.databaseAdapter), this.funnelQueryBuilder = new Yr(this.databaseAdapter), this.flowQueryBuilder = new Xr(this.databaseAdapter), this.retentionQueryBuilder = new ni(this.databaseAdapter), this.logicalPlanBuilder = new ci(a), this.planOptimiser = i ?? new li(), this.rlsSetup = n, this.modeRouter = new Rr({
7546
7555
  comparison: this.comparisonQueryBuilder,
7547
7556
  funnel: this.funnelQueryBuilder,
7548
7557
  flow: this.flowQueryBuilder,
@@ -7622,7 +7631,7 @@ var Zi = class {
7622
7631
  schema: this.dbExecutor.schema,
7623
7632
  securityContext: n
7624
7633
  }, a = this.funnelQueryBuilder.buildFunnelQuery(r, e, i);
7625
- $("funnel query", a);
7634
+ na("funnel query", a);
7626
7635
  let o = await a, s = this.funnelQueryBuilder.transformResult(o, r), c = {
7627
7636
  measures: {},
7628
7637
  dimensions: {},
@@ -7647,7 +7656,7 @@ var Zi = class {
7647
7656
  schema: this.dbExecutor.schema,
7648
7657
  securityContext: n
7649
7658
  }, a = this.flowQueryBuilder.buildFlowQuery(r, e, i);
7650
- $("flow query", a);
7659
+ na("flow query", a);
7651
7660
  let o = await a, s = this.flowQueryBuilder.transformResult(o), c = {
7652
7661
  measures: {},
7653
7662
  dimensions: {},
@@ -7670,7 +7679,7 @@ var Zi = class {
7670
7679
  schema: this.dbExecutor.schema,
7671
7680
  securityContext: n
7672
7681
  }, a = this.retentionQueryBuilder.buildRetentionQuery(r, e, i);
7673
- $("retention query", a);
7682
+ na("retention query", a);
7674
7683
  let o = await a, s = this.retentionQueryBuilder.transformResult(o, r), c = {
7675
7684
  measures: {},
7676
7685
  dimensions: {},
@@ -7694,7 +7703,7 @@ var Zi = class {
7694
7703
  let { optimisedPlan: o } = this.buildRegularQueryArtifacts(e, t, a), s = this.drizzlePlanBuilder.derivePhysicalPlanContext(o), c = this.drizzlePlanBuilder.toSemanticQuery(o);
7695
7704
  this.validateSecurityContext(s, a);
7696
7705
  let l = this.drizzlePlanBuilder.build(s, c, a);
7697
- $("query", l);
7706
+ na("query", l);
7698
7707
  let u = this.queryBuilder.collectNumericFields(e, t), d = {
7699
7708
  data: yr(await this.dbExecutor.execute(l, u), t, this.databaseAdapter),
7700
7709
  annotation: $n(s, t),
@@ -7827,7 +7836,7 @@ var Zi = class {
7827
7836
  let r = this.buildComparisonExecutionPlan(t).periodQueries[0];
7828
7837
  return this.generateUnifiedSQL(e, r, n);
7829
7838
  }
7830
- }, Qi = [
7839
+ }, ia = [
7831
7840
  "year",
7832
7841
  "quarter",
7833
7842
  "month",
@@ -7835,14 +7844,14 @@ var Zi = class {
7835
7844
  "day",
7836
7845
  "hour"
7837
7846
  ];
7838
- function $i(e, t) {
7847
+ function aa(e, t) {
7839
7848
  return t.includes(".") ? t : `${e}.${t}`;
7840
7849
  }
7841
- function ea(e) {
7850
+ function oa(e) {
7842
7851
  let t = Object.keys(e.measures), n = Array(t.length);
7843
7852
  for (let r = 0; r < t.length; r++) {
7844
7853
  let i = t[r], a = e.measures[i], o;
7845
- a.drillMembers && a.drillMembers.length > 0 && (o = a.drillMembers.map((t) => $i(e.name, t))), n[r] = {
7854
+ a.drillMembers && a.drillMembers.length > 0 && (o = a.drillMembers.map((t) => aa(e.name, t))), n[r] = {
7846
7855
  name: `${e.name}.${i}`,
7847
7856
  title: a.title || i,
7848
7857
  shortTitle: a.title || i,
@@ -7855,10 +7864,10 @@ function ea(e) {
7855
7864
  }
7856
7865
  return n;
7857
7866
  }
7858
- function ta(e) {
7867
+ function sa(e) {
7859
7868
  let t = Object.keys(e.dimensions), n = Array(t.length);
7860
7869
  for (let r = 0; r < t.length; r++) {
7861
- let i = t[r], a = e.dimensions[i], o = a.type === "time" ? a.granularities || Qi : void 0;
7870
+ let i = t[r], a = e.dimensions[i], o = a.type === "time" ? a.granularities || ia : void 0;
7862
7871
  n[r] = {
7863
7872
  name: `${e.name}.${i}`,
7864
7873
  title: a.title || i,
@@ -7872,7 +7881,7 @@ function ta(e) {
7872
7881
  }
7873
7882
  return n;
7874
7883
  }
7875
- function na(e, t, n) {
7884
+ function ca(e, t, n) {
7876
7885
  let r = [];
7877
7886
  if (!e.joins) return r;
7878
7887
  for (let [, i] of Object.entries(e.joins)) {
@@ -7888,20 +7897,20 @@ function na(e, t, n) {
7888
7897
  }
7889
7898
  return r;
7890
7899
  }
7891
- function ra(e) {
7900
+ function la(e) {
7892
7901
  let t = [];
7893
7902
  if (!e.hierarchies) return t;
7894
7903
  for (let [, n] of Object.entries(e.hierarchies)) t.push({
7895
7904
  name: n.name,
7896
7905
  title: n.title || n.name,
7897
7906
  cubeName: e.name,
7898
- levels: n.levels.map((t) => $i(e.name, t))
7907
+ levels: n.levels.map((t) => aa(e.name, t))
7899
7908
  });
7900
7909
  return t;
7901
7910
  }
7902
7911
  //#endregion
7903
7912
  //#region src/server/compiler.ts
7904
- var ia = class {
7913
+ var ua = class {
7905
7914
  cubes = /* @__PURE__ */ new Map();
7906
7915
  metadataCache;
7907
7916
  cacheConfig;
@@ -7930,7 +7939,7 @@ var ia = class {
7930
7939
  return Mt(this.db, this.schema, this.engineType);
7931
7940
  }
7932
7941
  createQueryExecutor(e = !1) {
7933
- return new Zi(this.createDbExecutor(), e ? this.cacheConfig : void 0, this.rlsSetup, this.planOptimiser);
7942
+ return new ra(this.createDbExecutor(), e ? this.cacheConfig : void 0, this.rlsSetup, this.planOptimiser);
7934
7943
  }
7935
7944
  formatSqlResult(e) {
7936
7945
  let t = this.getEngineType() ?? "postgres";
@@ -8025,7 +8034,7 @@ var ia = class {
8025
8034
  return "unknown_column";
8026
8035
  }
8027
8036
  generateCubeMetadata(e) {
8028
- let t = ea(e), n = ta(e), r = na(e, this.cubes, (e) => this.getColumnName(e)), i = ra(e);
8037
+ let t = oa(e), n = sa(e), r = ca(e, this.cubes, (e) => this.getColumnName(e)), i = la(e);
8029
8038
  return {
8030
8039
  name: e.name,
8031
8040
  title: e.title || e.name,
@@ -8092,4 +8101,4 @@ var ia = class {
8092
8101
  }
8093
8102
  };
8094
8103
  //#endregion
8095
- export { ia as t };
8104
+ export { ua as t };