drizzle-cube 0.10.1 → 0.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/dist/adapters/ActivityGridChart.config-XMtoteb6.js +2 -0
  2. package/dist/adapters/ActivityGridChart.config-h1AXPvn0.cjs +1 -0
  3. package/dist/adapters/AreaChart.config-DYf9wufo.cjs +1 -0
  4. package/dist/adapters/AreaChart.config-We6b53aT.js +2 -0
  5. package/dist/adapters/BarChart.config-4SX44IYv.cjs +1 -0
  6. package/dist/adapters/BarChart.config-CwBnyptL.js +2 -0
  7. package/dist/adapters/BoxPlotChart.config-BzNe-FlW.cjs +1 -0
  8. package/dist/adapters/BoxPlotChart.config-mfAHqmcp.js +2 -0
  9. package/dist/adapters/BubbleChart.config-CBT5jMdc.cjs +1 -0
  10. package/dist/adapters/BubbleChart.config-DxG_Umal.js +2 -0
  11. package/dist/adapters/CandlestickChart.config-Cqw3XP1h.js +2 -0
  12. package/dist/adapters/CandlestickChart.config-DPSSlzUD.cjs +1 -0
  13. package/dist/adapters/DataTable.config-DS1bvaDu.js +2 -0
  14. package/dist/adapters/DataTable.config-D_NsMeyz.cjs +1 -0
  15. package/dist/adapters/DotStripChart.config-BApWn6QV.cjs +1 -0
  16. package/dist/adapters/DotStripChart.config-Bdk5-YfB.js +2 -0
  17. package/dist/adapters/FunnelChart.config-BT5up_Bg.cjs +1 -0
  18. package/dist/adapters/FunnelChart.config-ISZiz9fn.js +2 -0
  19. package/dist/adapters/GaugeChart.config-Biaq1cKc.cjs +1 -0
  20. package/dist/adapters/GaugeChart.config-BjGfB84t.js +2 -0
  21. package/dist/adapters/HeatMapChart.config-Bmca8KiH.cjs +1 -0
  22. package/dist/adapters/HeatMapChart.config-uWvR0B-N.js +2 -0
  23. package/dist/adapters/KpiDelta.config-CJeDdj_1.js +2 -0
  24. package/dist/adapters/KpiDelta.config-CKr9pAxL.cjs +1 -0
  25. package/dist/adapters/KpiNumber.config-6YLEF2fy.cjs +1 -0
  26. package/dist/adapters/KpiNumber.config-C00M46GA.js +2 -0
  27. package/dist/adapters/KpiText.config-C8Av_D2W.cjs +1 -0
  28. package/dist/adapters/KpiText.config-bKTHob0C.js +2 -0
  29. package/dist/adapters/LineChart.config-DH68HT_B.js +2 -0
  30. package/dist/adapters/LineChart.config-DPq7GvL9.cjs +1 -0
  31. package/dist/adapters/MarkdownChart.config-CaaJPO3c.js +2 -0
  32. package/dist/adapters/MarkdownChart.config-ca_UyhWJ.cjs +1 -0
  33. package/dist/adapters/MeasureProfileChart.config-C1Il0IqL.cjs +1 -0
  34. package/dist/adapters/MeasureProfileChart.config-DMOnkmb6.js +2 -0
  35. package/dist/adapters/PieChart.config-Bg-8cxWK.js +2 -0
  36. package/dist/adapters/PieChart.config-joJcF--K.cjs +1 -0
  37. package/dist/adapters/ProportionBarChart.config-B2sltKsI.cjs +1 -0
  38. package/dist/adapters/ProportionBarChart.config-BlCedy1v.js +2 -0
  39. package/dist/adapters/RadarChart.config-DD1pX6FZ.js +2 -0
  40. package/dist/adapters/RadarChart.config-DVCCLSVw.cjs +1 -0
  41. package/dist/adapters/RadialBarChart.config--VIE2jMM.js +2 -0
  42. package/dist/adapters/RadialBarChart.config-BZwyWhTg.cjs +1 -0
  43. package/dist/adapters/RecordsTable.config-CTBQc-2r.js +2 -0
  44. package/dist/adapters/RecordsTable.config-DPdO0DL5.cjs +1 -0
  45. package/dist/adapters/RetentionCombinedChart.config-PGVxnkRL.js +2 -0
  46. package/dist/adapters/RetentionCombinedChart.config-mX5PMh82.cjs +1 -0
  47. package/dist/adapters/RetentionHeatmap.config-Co-JMzBm.js +2 -0
  48. package/dist/adapters/RetentionHeatmap.config-Cub3-ksy.cjs +1 -0
  49. package/dist/adapters/SankeyChart.config-BkIyUcAE.cjs +1 -0
  50. package/dist/adapters/SankeyChart.config-DGTnRmYg.js +2 -0
  51. package/dist/adapters/ScatterChart.config-CdZrBorg.js +2 -0
  52. package/dist/adapters/ScatterChart.config-CwN9niUL.cjs +1 -0
  53. package/dist/adapters/SunburstChart.config-D0ZkRSJv.cjs +1 -0
  54. package/dist/adapters/SunburstChart.config-RF3uu5Sa.js +2 -0
  55. package/dist/adapters/TreeMapChart.config-B2Yn_V7p.cjs +1 -0
  56. package/dist/adapters/TreeMapChart.config-diJtcs4D.js +2 -0
  57. package/dist/adapters/WaterfallChart.config-B10PxftT.cjs +1 -0
  58. package/dist/adapters/WaterfallChart.config-BImlkLmR.js +2 -0
  59. package/dist/adapters/chartConfigHelpers-BhME7ow_.cjs +1 -0
  60. package/dist/adapters/{chartConfigHelpers-BsnbxA2c.js → chartConfigHelpers-BsviVhEw.js} +27 -7
  61. package/dist/adapters/{compiler-Dw5tYox7.cjs → compiler-B-yljK02.cjs} +6 -6
  62. package/dist/adapters/{compiler-C8fOs43d.js → compiler-BhityGUO.js} +197 -186
  63. package/dist/adapters/core/index.cjs +1 -1
  64. package/dist/adapters/core/index.js +1 -1
  65. package/dist/adapters/{core-BP6GiYzO.cjs → core-CQOrzBNh.cjs} +1 -1
  66. package/dist/adapters/{core-z6vXJ8nF.js → core-xZE0miIu.js} +2 -2
  67. package/dist/adapters/express/index.cjs +1 -1
  68. package/dist/adapters/express/index.js +5 -5
  69. package/dist/adapters/fastify/index.cjs +1 -1
  70. package/dist/adapters/fastify/index.js +5 -5
  71. package/dist/adapters/{handler-CI3Rt-Zt.js → handler-ByeQ0-1r.js} +237 -234
  72. package/dist/adapters/handler-DSNmfv1R.cjs +16 -0
  73. package/dist/adapters/hono/index.cjs +1 -1
  74. package/dist/adapters/hono/index.js +4 -4
  75. package/dist/adapters/mcp-app-html-CNp0VqS_.cjs +1 -0
  76. package/dist/adapters/mcp-app-html-CvWoYMO3.js +5 -0
  77. package/dist/adapters/mcp-app-html.cjs +1 -1
  78. package/dist/adapters/mcp-app-html.js +1 -1
  79. package/dist/adapters/mcp-tools.cjs +1 -1
  80. package/dist/adapters/mcp-tools.js +3 -3
  81. package/dist/adapters/{mcp-transport-DpS_e0gL.js → mcp-transport-Cy6n4uj1.js} +1 -1
  82. package/dist/adapters/{mcp-transport-Bc7-KSG_.cjs → mcp-transport-DnLP5FPL.cjs} +1 -1
  83. package/dist/adapters/nextjs/index.cjs +1 -1
  84. package/dist/adapters/nextjs/index.js +5 -5
  85. package/dist/adapters/{openai-7064EJ1j.cjs → openai-BQl0yJCS.cjs} +1 -1
  86. package/dist/adapters/{openai-CnUBYFyY.js → openai-C4HrjyJj.js} +1 -1
  87. package/dist/adapters/{openai-DpGdZL3m.js → openai-D3Nt6Bj7.js} +1 -1
  88. package/dist/adapters/{openai-B0mByiYQ.cjs → openai-z1ai-G4Q.cjs} +1 -1
  89. package/dist/adapters/{utils-CN_bxSiq.js → utils-BaxFceDq.js} +6 -1
  90. package/dist/adapters/{utils-CvC1czqb.cjs → utils-a2p2B6x8.cjs} +2 -2
  91. package/dist/adapters/utils.cjs +1 -1
  92. package/dist/adapters/utils.js +1 -1
  93. package/dist/cjs/client/charts/chartConfigHelpers.d.ts +5 -0
  94. package/dist/cjs/client/components/AnalysisBuilder/types.d.ts +4 -0
  95. package/dist/cjs/client/components/AnalysisBuilder/utils/queryUtils.d.ts +6 -1
  96. package/dist/cjs/client/components/analyticsPortlet/usePortletQueryResults.d.ts +3 -1
  97. package/dist/cjs/client/hooks/queries/useCubeLoadQuery.d.ts +7 -0
  98. package/dist/cjs/client/hooks/queries/useMultiCubeLoadQuery.d.ts +7 -0
  99. package/dist/cjs/client/hooks/useAnalysisQuery.d.ts +6 -1
  100. package/dist/cjs/client/index.d.ts +2 -0
  101. package/dist/cjs/client/types.d.ts +5 -0
  102. package/dist/cjs/client/utils/gapFilling.d.ts +52 -0
  103. package/dist/cjs/client/utils/index.d.ts +1 -0
  104. package/dist/cjs/server/ai/query-schema.d.ts +1 -1
  105. package/dist/cjs/server/execution/result-post-processor.d.ts +4 -2
  106. package/dist/cjs/server/executor.d.ts +2 -0
  107. package/dist/cjs/server/gap-filler.d.ts +8 -43
  108. package/dist/cjs/server/types/core.d.ts +2 -0
  109. package/dist/cjs/server/types/cube.d.ts +12 -0
  110. package/dist/cjs/server/types/metadata.d.ts +5 -0
  111. package/dist/cjs/server/types/query.d.ts +2 -1
  112. package/dist/client/charts/chartConfigHelpers.d.ts +5 -0
  113. package/dist/client/charts.js +12 -12
  114. package/dist/client/chunks/{DashboardEditModal-5ZSP--FQ.js → DashboardEditModal-DifODH4h.js} +2360 -2548
  115. package/dist/client/chunks/DashboardEditModal-DifODH4h.js.map +1 -0
  116. package/dist/client/chunks/{DotStripChart-DTukhwG-.js → DotStripChart-B9IVCFPO.js} +3 -3
  117. package/dist/client/chunks/{DotStripChart-DTukhwG-.js.map → DotStripChart-B9IVCFPO.js.map} +1 -1
  118. package/dist/client/chunks/{ProportionBarChart-CPZ2cHxH.js → ProportionBarChart-DieF9AzP.js} +3 -3
  119. package/dist/client/chunks/{ProportionBarChart-CPZ2cHxH.js.map → ProportionBarChart-DieF9AzP.js.map} +1 -1
  120. package/dist/client/chunks/{RecordsTable-BC5l67Dc.js → RecordsTable-Mo3ai5_M.js} +4 -4
  121. package/dist/client/chunks/{RecordsTable-BC5l67Dc.js.map → RecordsTable-Mo3ai5_M.js.map} +1 -1
  122. package/dist/client/chunks/{RetentionCombinedChart-aj5xblfu.js → RetentionCombinedChart-Bie4ADyA.js} +3 -3
  123. package/dist/client/chunks/{RetentionCombinedChart-aj5xblfu.js.map → RetentionCombinedChart-Bie4ADyA.js.map} +1 -1
  124. package/dist/client/chunks/{RetentionHeatmap-CKckuEMF.js → RetentionHeatmap-qstIAx5B.js} +2 -2
  125. package/dist/client/chunks/{RetentionHeatmap-CKckuEMF.js.map → RetentionHeatmap-qstIAx5B.js.map} +1 -1
  126. package/dist/client/chunks/{analysis-builder-Db4umQtd.js → analysis-builder-D78aDJoL.js} +41 -41
  127. package/dist/client/chunks/analysis-builder-D78aDJoL.js.map +1 -0
  128. package/dist/client/chunks/{analysis-builder-shared-BEvvX6ln.js → analysis-builder-shared-CsIs4-Xf.js} +538 -523
  129. package/dist/client/chunks/analysis-builder-shared-CsIs4-Xf.js.map +1 -0
  130. package/dist/client/chunks/{chart-activity-grid-Bbc58UJD.js → chart-activity-grid-Ly_-2B-f.js} +7 -2
  131. package/dist/client/chunks/chart-activity-grid-Ly_-2B-f.js.map +1 -0
  132. package/dist/client/chunks/{chart-area-9uCXIvMN.js → chart-area-D3l-71Wy.js} +2 -2
  133. package/dist/client/chunks/{chart-area-9uCXIvMN.js.map → chart-area-D3l-71Wy.js.map} +1 -1
  134. package/dist/client/chunks/{chart-bar-C5a1T9Ce.js → chart-bar-BaTyQOqs.js} +3 -3
  135. package/dist/client/chunks/{chart-bar-C5a1T9Ce.js.map → chart-bar-BaTyQOqs.js.map} +1 -1
  136. package/dist/client/chunks/{chart-box-plot-BbBrZsaJ.js → chart-box-plot-Cem6PHjz.js} +2 -2
  137. package/dist/client/chunks/{chart-box-plot-BbBrZsaJ.js.map → chart-box-plot-Cem6PHjz.js.map} +1 -1
  138. package/dist/client/chunks/{chart-bubble-dt5ESb7m.js → chart-bubble-DFlfqCDG.js} +2 -2
  139. package/dist/client/chunks/{chart-bubble-dt5ESb7m.js.map → chart-bubble-DFlfqCDG.js.map} +1 -1
  140. package/dist/client/chunks/{chart-candlestick-2A2J_NsK.js → chart-candlestick-BkAFBXtZ.js} +2 -2
  141. package/dist/client/chunks/{chart-candlestick-2A2J_NsK.js.map → chart-candlestick-BkAFBXtZ.js.map} +1 -1
  142. package/dist/client/chunks/{chart-config-area-DsrZCIwF.js → chart-config-area-BnsRQ-MY.js} +35 -14
  143. package/dist/client/chunks/chart-config-area-BnsRQ-MY.js.map +1 -0
  144. package/dist/client/chunks/{chart-config-bar-BixSs43E.js → chart-config-bar-G2HJJBVV.js} +8 -7
  145. package/dist/client/chunks/chart-config-bar-G2HJJBVV.js.map +1 -0
  146. package/dist/client/chunks/{chart-config-kpi-delta-Cl7k6jTj.js → chart-config-kpi-delta-BIAq1Ftg.js} +2 -2
  147. package/dist/client/chunks/{chart-config-kpi-delta-Cl7k6jTj.js.map → chart-config-kpi-delta-BIAq1Ftg.js.map} +1 -1
  148. package/dist/client/chunks/{chart-config-kpi-number-DCcnANWC.js → chart-config-kpi-number-Dgc4gIYu.js} +2 -2
  149. package/dist/client/chunks/{chart-config-kpi-number-DCcnANWC.js.map → chart-config-kpi-number-Dgc4gIYu.js.map} +1 -1
  150. package/dist/client/chunks/{chart-config-line-CBF9Px9b.js → chart-config-line-DLkRs1Zr.js} +9 -8
  151. package/dist/client/chunks/chart-config-line-DLkRs1Zr.js.map +1 -0
  152. package/dist/client/chunks/{chart-config-pie-DZLa6Eqm.js → chart-config-pie-XrHim0C8.js} +2 -2
  153. package/dist/client/chunks/{chart-config-pie-DZLa6Eqm.js.map → chart-config-pie-XrHim0C8.js.map} +1 -1
  154. package/dist/client/chunks/{chart-config-radar-DR6vHHyd.js → chart-config-radar-xNS6Juqc.js} +2 -2
  155. package/dist/client/chunks/{chart-config-radar-DR6vHHyd.js.map → chart-config-radar-xNS6Juqc.js.map} +1 -1
  156. package/dist/client/chunks/{chart-config-radial-bar-DVFou4fB.js → chart-config-radial-bar-ChUChsEe.js} +2 -2
  157. package/dist/client/chunks/{chart-config-radial-bar-DVFou4fB.js.map → chart-config-radial-bar-ChUChsEe.js.map} +1 -1
  158. package/dist/client/chunks/{chart-config-tree-map-Uhise6Bx.js → chart-config-tree-map-CnrJ7OC1.js} +2 -2
  159. package/dist/client/chunks/{chart-config-tree-map-Uhise6Bx.js.map → chart-config-tree-map-CnrJ7OC1.js.map} +1 -1
  160. package/dist/client/chunks/{chart-data-table-zSjYEy0r.js → chart-data-table-Cxd0cdAl.js} +36 -36
  161. package/dist/client/chunks/{chart-data-table-zSjYEy0r.js.map → chart-data-table-Cxd0cdAl.js.map} +1 -1
  162. package/dist/client/chunks/{chart-funnel-CuOSCsbt.js → chart-funnel-71Kn4eeF.js} +2 -2
  163. package/dist/client/chunks/{chart-funnel-CuOSCsbt.js.map → chart-funnel-71Kn4eeF.js.map} +1 -1
  164. package/dist/client/chunks/{chart-gauge-DxKeqCCD.js → chart-gauge-BddS_9oS.js} +3 -3
  165. package/dist/client/chunks/{chart-gauge-DxKeqCCD.js.map → chart-gauge-BddS_9oS.js.map} +1 -1
  166. package/dist/client/chunks/{chart-heat-map-C1dvW-ov.js → chart-heat-map-BQIsrn8m.js} +3 -3
  167. package/dist/client/chunks/{chart-heat-map-C1dvW-ov.js.map → chart-heat-map-BQIsrn8m.js.map} +1 -1
  168. package/dist/client/chunks/{chart-kpi-delta-CgehGc9d.js → chart-kpi-delta-DndbqdZT.js} +3 -3
  169. package/dist/client/chunks/{chart-kpi-delta-CgehGc9d.js.map → chart-kpi-delta-DndbqdZT.js.map} +1 -1
  170. package/dist/client/chunks/{chart-kpi-number-C31-6A6m.js → chart-kpi-number-DAbfoHMt.js} +5 -5
  171. package/dist/client/chunks/{chart-kpi-number-C31-6A6m.js.map → chart-kpi-number-DAbfoHMt.js.map} +1 -1
  172. package/dist/client/chunks/{chart-kpi-text-D2ydQIEn.js → chart-kpi-text-D8oQgpxL.js} +3 -3
  173. package/dist/client/chunks/{chart-kpi-text-D2ydQIEn.js.map → chart-kpi-text-D8oQgpxL.js.map} +1 -1
  174. package/dist/client/chunks/{chart-line-CjW9Yo03.js → chart-line-BNqjUowg.js} +3 -3
  175. package/dist/client/chunks/{chart-line-CjW9Yo03.js.map → chart-line-BNqjUowg.js.map} +1 -1
  176. package/dist/client/chunks/{chart-markdown-Cgs62had.js → chart-markdown-DtgpU3xd.js} +2 -2
  177. package/dist/client/chunks/{chart-markdown-Cgs62had.js.map → chart-markdown-DtgpU3xd.js.map} +1 -1
  178. package/dist/client/chunks/{chart-measure-profile-Cg39gYjR.js → chart-measure-profile-D5nZMWlI.js} +3 -3
  179. package/dist/client/chunks/{chart-measure-profile-Cg39gYjR.js.map → chart-measure-profile-D5nZMWlI.js.map} +1 -1
  180. package/dist/client/chunks/{chart-pie-BTb5nKd7.js → chart-pie-D8r9HCZ4.js} +3 -3
  181. package/dist/client/chunks/{chart-pie-BTb5nKd7.js.map → chart-pie-D8r9HCZ4.js.map} +1 -1
  182. package/dist/client/chunks/{chart-radar-8384sPlX.js → chart-radar-R4PuCIWp.js} +3 -3
  183. package/dist/client/chunks/{chart-radar-8384sPlX.js.map → chart-radar-R4PuCIWp.js.map} +1 -1
  184. package/dist/client/chunks/{chart-radial-bar-CuBmmOTU.js → chart-radial-bar-hmrSFa6O.js} +3 -3
  185. package/dist/client/chunks/{chart-radial-bar-CuBmmOTU.js.map → chart-radial-bar-hmrSFa6O.js.map} +1 -1
  186. package/dist/client/chunks/{chart-sankey-CoIuG7Nu.js → chart-sankey-CFXPybny.js} +2 -2
  187. package/dist/client/chunks/{chart-sankey-CoIuG7Nu.js.map → chart-sankey-CFXPybny.js.map} +1 -1
  188. package/dist/client/chunks/{chart-scatter-Bdj95OeV.js → chart-scatter-CH82md0L.js} +3 -3
  189. package/dist/client/chunks/{chart-scatter-Bdj95OeV.js.map → chart-scatter-CH82md0L.js.map} +1 -1
  190. package/dist/client/chunks/{chart-sunburst-CuG8520_.js → chart-sunburst-CTj95eEC.js} +3 -3
  191. package/dist/client/chunks/{chart-sunburst-CuG8520_.js.map → chart-sunburst-CTj95eEC.js.map} +1 -1
  192. package/dist/client/chunks/{chart-tree-map-CtJADX87.js → chart-tree-map-CmysE4bF.js} +3 -3
  193. package/dist/client/chunks/{chart-tree-map-CtJADX87.js.map → chart-tree-map-CmysE4bF.js.map} +1 -1
  194. package/dist/client/chunks/{chart-waterfall-D430fO48.js → chart-waterfall-Bv1mPvlB.js} +3 -3
  195. package/dist/client/chunks/{chart-waterfall-D430fO48.js.map → chart-waterfall-Bv1mPvlB.js.map} +1 -1
  196. package/dist/client/chunks/{charts-core-BSmlKmf0.js → charts-core-BdEQgbqN.js} +2 -2
  197. package/dist/client/chunks/{charts-core-BSmlKmf0.js.map → charts-core-BdEQgbqN.js.map} +1 -1
  198. package/dist/client/chunks/charts-loader-DoLQqFXg.js +87 -0
  199. package/dist/client/chunks/{charts-loader-Bz9yHkW1.js.map → charts-loader-DoLQqFXg.js.map} +1 -1
  200. package/dist/client/chunks/gapFilling-DKBRHcQL.js +391 -0
  201. package/dist/client/chunks/gapFilling-DKBRHcQL.js.map +1 -0
  202. package/dist/client/chunks/{nl-NL-BrqrWoAj.js → nl-NL-DVZXf8U7.js} +6 -1
  203. package/dist/client/chunks/nl-NL-DVZXf8U7.js.map +1 -0
  204. package/dist/client/chunks/{schema-visualization-D2NvjQny.js → schema-visualization-MlRrcJQH.js} +3 -3
  205. package/dist/client/chunks/{schema-visualization-D2NvjQny.js.map → schema-visualization-MlRrcJQH.js.map} +1 -1
  206. package/dist/client/chunks/{useDirtyStateTracking-DL_AnCWZ.js → useDirtyStateTracking-DUyYwuN_.js} +318 -293
  207. package/dist/client/chunks/useDirtyStateTracking-DUyYwuN_.js.map +1 -0
  208. package/dist/client/chunks/{useExplainAI-CdPWtj7E.js → useExplainAI-BtoS3tb5.js} +4 -4
  209. package/dist/client/chunks/{useExplainAI-CdPWtj7E.js.map → useExplainAI-BtoS3tb5.js.map} +1 -1
  210. package/dist/client/chunks/utils-CToHkuhU.js.map +1 -1
  211. package/dist/client/chunks/{vendor-Bpaolt6h.js → vendor-BfBpNmMa.js} +2 -2
  212. package/dist/client/chunks/{vendor-Bpaolt6h.js.map → vendor-BfBpNmMa.js.map} +1 -1
  213. package/dist/client/components/AnalysisBuilder/types.d.ts +4 -0
  214. package/dist/client/components/AnalysisBuilder/utils/queryUtils.d.ts +6 -1
  215. package/dist/client/components/analyticsPortlet/usePortletQueryResults.d.ts +3 -1
  216. package/dist/client/components.js +2 -2
  217. package/dist/client/hooks/queries/useCubeLoadQuery.d.ts +7 -0
  218. package/dist/client/hooks/queries/useMultiCubeLoadQuery.d.ts +7 -0
  219. package/dist/client/hooks/useAnalysisQuery.d.ts +6 -1
  220. package/dist/client/hooks.js +3 -3
  221. package/dist/client/icons.js +1 -1
  222. package/dist/client/index.d.ts +2 -0
  223. package/dist/client/index.js +193 -192
  224. package/dist/client/index.js.map +1 -1
  225. package/dist/client/providers.js +1 -1
  226. package/dist/client/schema.js +1 -1
  227. package/dist/client/types.d.ts +5 -0
  228. package/dist/client/utils/gapFilling.d.ts +52 -0
  229. package/dist/client/utils/index.d.ts +1 -0
  230. package/dist/client/utils.js +9 -8
  231. package/dist/client/utils.js.map +1 -1
  232. package/dist/client-bundle-stats.html +1 -1
  233. package/dist/mcp-app/mcp-app.html +101 -101
  234. package/dist/server/ai/query-schema.d.ts +1 -1
  235. package/dist/server/chartConfigHelpers-BhME7ow_.cjs +1 -0
  236. package/dist/server/{chartConfigHelpers-BsnbxA2c.js → chartConfigHelpers-BsviVhEw.js} +27 -7
  237. package/dist/server/execution/result-post-processor.d.ts +4 -2
  238. package/dist/server/executor.d.ts +2 -0
  239. package/dist/server/gap-filler.d.ts +8 -43
  240. package/dist/server/index.cjs +34 -34
  241. package/dist/server/index.js +2049 -2030
  242. package/dist/server/types/core.d.ts +2 -0
  243. package/dist/server/types/cube.d.ts +12 -0
  244. package/dist/server/types/metadata.d.ts +5 -0
  245. package/dist/server/types/query.d.ts +2 -1
  246. package/package.json +1 -1
  247. package/dist/adapters/ActivityGridChart.config-BpGv0FYq.js +0 -2
  248. package/dist/adapters/ActivityGridChart.config-DWs9dRl7.cjs +0 -1
  249. package/dist/adapters/AreaChart.config-Cn8nAQqj.cjs +0 -1
  250. package/dist/adapters/AreaChart.config-NDMkAi9w.js +0 -2
  251. package/dist/adapters/BarChart.config-CuGCupRX.cjs +0 -1
  252. package/dist/adapters/BarChart.config-D4Ct_ZuS.js +0 -2
  253. package/dist/adapters/BoxPlotChart.config-BEHZDgrz.js +0 -2
  254. package/dist/adapters/BoxPlotChart.config-DnC3xk7q.cjs +0 -1
  255. package/dist/adapters/BubbleChart.config-D0ouKOKS.cjs +0 -1
  256. package/dist/adapters/BubbleChart.config-Du8aEfdQ.js +0 -2
  257. package/dist/adapters/CandlestickChart.config-B0B6dKYG.cjs +0 -1
  258. package/dist/adapters/CandlestickChart.config-DBilZaFc.js +0 -2
  259. package/dist/adapters/DataTable.config-BXalzUPO.cjs +0 -1
  260. package/dist/adapters/DataTable.config-CF8BzQHu.js +0 -2
  261. package/dist/adapters/DotStripChart.config-0ggseDij.cjs +0 -1
  262. package/dist/adapters/DotStripChart.config-CfHh0XSW.js +0 -2
  263. package/dist/adapters/FunnelChart.config-AcSpen_Q.js +0 -2
  264. package/dist/adapters/FunnelChart.config-D6k89qDc.cjs +0 -1
  265. package/dist/adapters/GaugeChart.config-B5BcrEvW.cjs +0 -1
  266. package/dist/adapters/GaugeChart.config-BChbha74.js +0 -2
  267. package/dist/adapters/HeatMapChart.config-BgkP8kiW.js +0 -2
  268. package/dist/adapters/HeatMapChart.config-Crq7vBwj.cjs +0 -1
  269. package/dist/adapters/KpiDelta.config-Cqu1WOkV.js +0 -2
  270. package/dist/adapters/KpiDelta.config-edWLG1bM.cjs +0 -1
  271. package/dist/adapters/KpiNumber.config-BLkE67us.cjs +0 -1
  272. package/dist/adapters/KpiNumber.config-DNsH72Rs.js +0 -2
  273. package/dist/adapters/KpiText.config-CAnLZYht.cjs +0 -1
  274. package/dist/adapters/KpiText.config-CQGd10Hj.js +0 -2
  275. package/dist/adapters/LineChart.config-C7l_xff-.js +0 -2
  276. package/dist/adapters/LineChart.config-DOxwtnfG.cjs +0 -1
  277. package/dist/adapters/MarkdownChart.config-BV5j1oJl.cjs +0 -1
  278. package/dist/adapters/MarkdownChart.config-CBkJAEpW.js +0 -2
  279. package/dist/adapters/MeasureProfileChart.config-CyyFz-x_.cjs +0 -1
  280. package/dist/adapters/MeasureProfileChart.config-VIvr7lq6.js +0 -2
  281. package/dist/adapters/PieChart.config-BP8OlSJ4.js +0 -2
  282. package/dist/adapters/PieChart.config-BaMxIlBa.cjs +0 -1
  283. package/dist/adapters/ProportionBarChart.config-CtZaP8Xn.js +0 -2
  284. package/dist/adapters/ProportionBarChart.config-DAyEQ8Pn.cjs +0 -1
  285. package/dist/adapters/RadarChart.config-CG07QZUT.cjs +0 -1
  286. package/dist/adapters/RadarChart.config-DJJuD-Tb.js +0 -2
  287. package/dist/adapters/RadialBarChart.config-BNgzWkot.cjs +0 -1
  288. package/dist/adapters/RadialBarChart.config-DVM_jg9B.js +0 -2
  289. package/dist/adapters/RecordsTable.config-BEQmKQ-S.cjs +0 -1
  290. package/dist/adapters/RecordsTable.config-d4s8HV9m.js +0 -2
  291. package/dist/adapters/RetentionCombinedChart.config-DJ4N-ffd.cjs +0 -1
  292. package/dist/adapters/RetentionCombinedChart.config-DV1h3rW2.js +0 -2
  293. package/dist/adapters/RetentionHeatmap.config-CIJDenRg.cjs +0 -1
  294. package/dist/adapters/RetentionHeatmap.config-P3VVn3QJ.js +0 -2
  295. package/dist/adapters/SankeyChart.config-CQ89DYf7.cjs +0 -1
  296. package/dist/adapters/SankeyChart.config-CfMmdmXJ.js +0 -2
  297. package/dist/adapters/ScatterChart.config-C4zrFpF-.cjs +0 -1
  298. package/dist/adapters/ScatterChart.config-DaJ3LVWH.js +0 -2
  299. package/dist/adapters/SunburstChart.config-1ZRhfGr0.cjs +0 -1
  300. package/dist/adapters/SunburstChart.config-DHgrSIkQ.js +0 -2
  301. package/dist/adapters/TreeMapChart.config-Cy3sAsJP.js +0 -2
  302. package/dist/adapters/TreeMapChart.config-D365WWEK.cjs +0 -1
  303. package/dist/adapters/WaterfallChart.config-DYEf1vQT.js +0 -2
  304. package/dist/adapters/WaterfallChart.config-s8pICbm8.cjs +0 -1
  305. package/dist/adapters/chartConfigHelpers-BZMu_1EP.cjs +0 -1
  306. package/dist/adapters/handler-B78akmC_.cjs +0 -16
  307. package/dist/adapters/mcp-app-html-C1fEW5oE.js +0 -5
  308. package/dist/adapters/mcp-app-html-CGk4ubE0.cjs +0 -1
  309. package/dist/client/chunks/DashboardEditModal-5ZSP--FQ.js.map +0 -1
  310. package/dist/client/chunks/analysis-builder-Db4umQtd.js.map +0 -1
  311. package/dist/client/chunks/analysis-builder-shared-BEvvX6ln.js.map +0 -1
  312. package/dist/client/chunks/chart-activity-grid-Bbc58UJD.js.map +0 -1
  313. package/dist/client/chunks/chart-config-area-DsrZCIwF.js.map +0 -1
  314. package/dist/client/chunks/chart-config-bar-BixSs43E.js.map +0 -1
  315. package/dist/client/chunks/chart-config-line-CBF9Px9b.js.map +0 -1
  316. package/dist/client/chunks/charts-loader-Bz9yHkW1.js +0 -87
  317. package/dist/client/chunks/nl-NL-BrqrWoAj.js.map +0 -1
  318. package/dist/client/chunks/useDirtyStateTracking-DL_AnCWZ.js.map +0 -1
  319. package/dist/server/chartConfigHelpers-BZMu_1EP.cjs +0 -1
@@ -1,4 +1,4 @@
1
- import { $ as e, A as t, B as n, C as r, D as i, E as a, F as o, G as s, H as c, I as l, K as u, L as d, M as f, N as p, O as m, P as h, Q as g, R as _, S as v, T as y, U as ee, V as te, W as ne, X as b, Y as x, Z as S, at as C, ct as w, dt as re, et as ie, ft as ae, gt as oe, ht as se, it as T, j as ce, k as le, lt as ue, mt as E, nt as de, ot as fe, pt as pe, q as me, rt as he, st as D, tt as ge, ut as _e, w as O, x as ve, z as k } from "./utils-CN_bxSiq.js";
1
+ import { $ as e, A as t, B as n, C as r, D as i, E as a, F as o, G as s, H as c, I as l, K as u, L as d, M as f, N as p, O as m, P as h, Q as g, R as _, S as v, T as y, U as ee, V as te, W as ne, X as b, Y as x, Z as S, at as C, ct as w, dt as re, et as ie, ft as ae, gt as oe, ht as se, it as T, j as ce, k as le, lt as ue, mt as E, nt as de, ot as fe, pt as pe, q as me, rt as he, st as D, tt as ge, ut as _e, w as O, x as ve, z as k } from "./utils-BaxFceDq.js";
2
2
  //#region node_modules/drizzle-orm/sql/expressions/select.js
3
3
  function ye(e) {
4
4
  return E`${e} asc`;
@@ -2981,13 +2981,14 @@ function Kt(e, t) {
2981
2981
  title: a.title || i,
2982
2982
  shortTitle: a.title || i,
2983
2983
  type: a.type,
2984
- granularity: r.granularity
2984
+ granularity: r.granularity,
2985
+ ...a.fillMissingDates !== void 0 && { fillMissingDates: a.fillMissingDates }
2985
2986
  });
2986
2987
  }
2987
2988
  return n;
2988
2989
  }
2989
2990
  //#endregion
2990
- //#region src/server/gap-filler.ts
2991
+ //#region src/shared/gap-filler.ts
2991
2992
  var qt = 1e4;
2992
2993
  function Jt(e, t, n) {
2993
2994
  let r = [], i = Yt(new Date(e), n), a = Yt(new Date(t), n);
@@ -3096,9 +3097,9 @@ function tn(e, t, n) {
3096
3097
  }
3097
3098
  function K(e) {
3098
3099
  if (!e) return null;
3099
- if (Array.isArray(e)) {
3100
+ if (typeof e != "string") {
3100
3101
  if (e.length < 2) return null;
3101
- let t = new Date(e[0]), n = new Date(e[1]);
3102
+ let t = new Date(String(e[0])), n = new Date(String(e[1]));
3102
3103
  return isNaN(t.getTime()) || isNaN(n.getTime()) ? null : [t, n];
3103
3104
  }
3104
3105
  let t = me(e);
@@ -3106,28 +3107,28 @@ function K(e) {
3106
3107
  let n = new Date(e);
3107
3108
  return isNaN(n.getTime()) ? null : [n, n];
3108
3109
  }
3109
- function nn(e, t, n) {
3110
+ function nn(e, t, n, r) {
3110
3111
  if (!t.timeDimensions || t.timeDimensions.length === 0) return e;
3111
- let r = t.timeDimensions.filter((e) => {
3112
- let n = e.fillMissingDates !== !1, r = !!e.granularity, i = e.dateRange || q(e.dimension, t.filters);
3113
- return n && r && i;
3112
+ let i = t.timeDimensions.filter((e) => {
3113
+ let n = !!e.granularity, i = e.dateRange || q(e.dimension, t.filters);
3114
+ return n && !!i && r(e);
3114
3115
  });
3115
- if (r.length === 0) return e;
3116
- let i = t.fillMissingDatesValue === void 0 ? 0 : t.fillMissingDatesValue, a = new Set(t.timeDimensions.map((e) => e.dimension)), o = (t.dimensions || []).filter((e) => !a.has(e)), s = e;
3117
- for (let e of r) {
3116
+ if (i.length === 0) return e;
3117
+ let a = t.fillMissingDatesValue === void 0 ? 0 : t.fillMissingDatesValue, o = new Set(t.timeDimensions.map((e) => e.dimension)), s = (t.dimensions || []).filter((e) => !o.has(e)), c = e;
3118
+ for (let e of i) {
3118
3119
  let r = K(e.dateRange) || rn(e.dimension, t.filters);
3119
3120
  if (!r) continue;
3120
- let a = {
3121
+ let i = {
3121
3122
  timeDimensionKey: e.dimension,
3122
3123
  granularity: e.granularity,
3123
3124
  dateRange: r,
3124
- fillValue: i,
3125
+ fillValue: a,
3125
3126
  measures: n,
3126
- dimensions: o
3127
+ dimensions: s
3127
3128
  };
3128
- s = $t(s, a);
3129
+ c = $t(c, i);
3129
3130
  }
3130
- return s;
3131
+ return c;
3131
3132
  }
3132
3133
  function q(e, t) {
3133
3134
  if (!t) return null;
@@ -3160,9 +3161,18 @@ function rn(e, t) {
3160
3161
  return r.length >= 2 ? K(r) : null;
3161
3162
  }
3162
3163
  //#endregion
3164
+ //#region src/server/gap-filler.ts
3165
+ function an(e, t) {
3166
+ let [n, r] = t.split(".");
3167
+ return e?.get(n)?.dimensions?.[r]?.fillMissingDates;
3168
+ }
3169
+ function on(e, t, n, r = !1) {
3170
+ return t.ungrouped ? e : nn(e, t, t.measures || [], (e) => e.fillMissingDates ?? an(n, e.dimension) ?? r);
3171
+ }
3172
+ //#endregion
3163
3173
  //#region src/server/execution/result-post-processor.ts
3164
- function an(e, t, n) {
3165
- return nn(Array.isArray(e) ? e.map((e) => {
3174
+ function sn(e, t, n, r, i = !1) {
3175
+ return on(Array.isArray(e) ? e.map((e) => {
3166
3176
  let r = { ...e };
3167
3177
  if (t.timeDimensions) {
3168
3178
  for (let e of t.timeDimensions) if (e.dimension in r) {
@@ -3175,11 +3185,11 @@ function an(e, t, n) {
3175
3185
  }
3176
3186
  }
3177
3187
  return r;
3178
- }) : [e], t, t.measures || []);
3188
+ }) : [e], t, r, i);
3179
3189
  }
3180
3190
  //#endregion
3181
3191
  //#region src/server/execution/filter-cache-preloader.ts
3182
- var on = class {
3192
+ var cn = class {
3183
3193
  queryBuilder;
3184
3194
  constructor(e) {
3185
3195
  this.queryBuilder = e;
@@ -3213,7 +3223,7 @@ var on = class {
3213
3223
  let o = C(a.sql, r), s = this.queryBuilder.buildDateRangeCondition(o, e.dateRange);
3214
3224
  s && t.set(i, s);
3215
3225
  }
3216
- }, sn = class {
3226
+ }, ln = class {
3217
3227
  builders;
3218
3228
  constructor(e) {
3219
3229
  this.builders = e;
@@ -3249,32 +3259,32 @@ var on = class {
3249
3259
  };
3250
3260
  //#endregion
3251
3261
  //#region src/server/cache-utils.ts
3252
- function cn(e, t, n = {}, r) {
3253
- let i = n.keyPrefix ?? "drizzle-cube:", a = ln(e), o = `${i}query:${mn(JSON.stringify(a))}`;
3262
+ function un(e, t, n = {}, r) {
3263
+ let i = n.keyPrefix ?? "drizzle-cube:", a = dn(e), o = `${i}query:${gn(JSON.stringify(a))}`;
3254
3264
  if (n.includeSecurityContext !== !1) {
3255
- let e = mn(n.securityContextSerializer ? n.securityContextSerializer(t) : JSON.stringify(Y(t)));
3265
+ let e = gn(n.securityContextSerializer ? n.securityContextSerializer(t) : JSON.stringify(Y(t)));
3256
3266
  o += `:ctx:${e}`;
3257
3267
  }
3258
3268
  return r && (o += `:cubes:${r}`), o;
3259
3269
  }
3260
- function ln(e) {
3270
+ function dn(e) {
3261
3271
  return {
3262
3272
  measures: e.measures ? [...e.measures].sort() : void 0,
3263
3273
  dimensions: e.dimensions ? [...e.dimensions].sort() : void 0,
3264
3274
  filters: e.filters ? J(e.filters) : void 0,
3265
- timeDimensions: e.timeDimensions ? pn(e.timeDimensions) : void 0,
3275
+ timeDimensions: e.timeDimensions ? hn(e.timeDimensions) : void 0,
3266
3276
  limit: e.limit,
3267
3277
  offset: e.offset,
3268
3278
  order: e.order ? Y(e.order) : void 0,
3269
3279
  fillMissingDatesValue: e.fillMissingDatesValue,
3270
3280
  ungrouped: e.ungrouped,
3271
3281
  total: e.total,
3272
- funnel: e.funnel ? un(e.funnel) : void 0,
3273
- flow: e.flow ? dn(e.flow) : void 0,
3274
- retention: e.retention ? fn(e.retention) : void 0
3282
+ funnel: e.funnel ? fn(e.funnel) : void 0,
3283
+ flow: e.flow ? pn(e.flow) : void 0,
3284
+ retention: e.retention ? mn(e.retention) : void 0
3275
3285
  };
3276
3286
  }
3277
- function un(e) {
3287
+ function fn(e) {
3278
3288
  return {
3279
3289
  bindingKey: e.bindingKey,
3280
3290
  timeDimension: e.timeDimension,
@@ -3290,7 +3300,7 @@ function un(e) {
3290
3300
  globalTimeWindow: e.globalTimeWindow
3291
3301
  };
3292
3302
  }
3293
- function dn(e) {
3303
+ function pn(e) {
3294
3304
  return {
3295
3305
  bindingKey: e.bindingKey,
3296
3306
  timeDimension: e.timeDimension,
@@ -3306,7 +3316,7 @@ function dn(e) {
3306
3316
  joinStrategy: e.joinStrategy
3307
3317
  };
3308
3318
  }
3309
- function fn(e) {
3319
+ function mn(e) {
3310
3320
  return {
3311
3321
  timeDimension: e.timeDimension,
3312
3322
  bindingKey: e.bindingKey,
@@ -3330,7 +3340,7 @@ function J(e) {
3330
3340
  };
3331
3341
  }).sort((e, t) => JSON.stringify(e).localeCompare(JSON.stringify(t)));
3332
3342
  }
3333
- function pn(e) {
3343
+ function hn(e) {
3334
3344
  return [...e].map((e) => ({
3335
3345
  dimension: e.dimension,
3336
3346
  granularity: e.granularity,
@@ -3345,7 +3355,7 @@ function pn(e) {
3345
3355
  function Y(e) {
3346
3356
  return typeof e != "object" || !e ? e : Array.isArray(e) ? e.map(Y) : Object.keys(e).sort().reduce((t, n) => (t[n] = Y(e[n]), t), {});
3347
3357
  }
3348
- function mn(e) {
3358
+ function gn(e) {
3349
3359
  let t = 2166136261, n = 2246822519, r = 3266489917, i = 668265263, a = 16777619;
3350
3360
  for (let o = 0; o < e.length; o++) {
3351
3361
  let s = e.charCodeAt(o);
@@ -3355,13 +3365,13 @@ function mn(e) {
3355
3365
  }
3356
3366
  //#endregion
3357
3367
  //#region src/server/execution/query-result-cache.ts
3358
- var hn = class {
3368
+ var _n = class {
3359
3369
  cacheConfig;
3360
3370
  constructor(e) {
3361
3371
  this.cacheConfig = e;
3362
3372
  }
3363
3373
  generateKey(e, t, n) {
3364
- if (this.cacheConfig?.enabled !== !1 && this.cacheConfig?.provider) return cn(e, t, this.cacheConfig, n);
3374
+ if (this.cacheConfig?.enabled !== !1 && this.cacheConfig?.provider) return un(e, t, this.cacheConfig, n);
3365
3375
  }
3366
3376
  async lookup(e, t) {
3367
3377
  if (e && this.cacheConfig?.provider) {
@@ -3415,7 +3425,7 @@ var hn = class {
3415
3425
  this.cacheConfig.onError?.(e, "set");
3416
3426
  }
3417
3427
  }
3418
- }, gn = class {
3428
+ }, vn = class {
3419
3429
  dateTimeBuilder;
3420
3430
  constructor(e) {
3421
3431
  this.dateTimeBuilder = new z(e);
@@ -3546,7 +3556,7 @@ var hn = class {
3546
3556
  return typeof i == "string" && typeof a == "string" ? new Date(i).getTime() - new Date(a).getTime() : 0;
3547
3557
  });
3548
3558
  }
3549
- }, _n = class {
3559
+ }, yn = class {
3550
3560
  databaseAdapter;
3551
3561
  filterBuilder;
3552
3562
  dateTimeBuilder;
@@ -3844,7 +3854,7 @@ var hn = class {
3844
3854
  let o = i.db.select(a).from(e);
3845
3855
  return i.db.$with("funnel_metrics").as(o);
3846
3856
  }
3847
- }, vn = class {
3857
+ }, bn = class {
3848
3858
  filterBuilder;
3849
3859
  dateTimeBuilder;
3850
3860
  databaseAdapter;
@@ -4242,27 +4252,27 @@ var hn = class {
4242
4252
  };
4243
4253
  //#endregion
4244
4254
  //#region src/server/types/retention.ts
4245
- function yn(e) {
4255
+ function xn(e) {
4246
4256
  return Array.isArray(e);
4247
4257
  }
4248
- function bn(e) {
4258
+ function Sn(e) {
4249
4259
  return typeof e == "object" && !!e && "cube" in e;
4250
4260
  }
4251
- function xn(e) {
4252
- if (bn(e)) return e.cube;
4261
+ function Cn(e) {
4262
+ if (Sn(e)) return e.cube;
4253
4263
  let t = e.indexOf(".");
4254
4264
  if (t === -1) throw Error(`Invalid time dimension format: ${e}. Expected 'CubeName.dimensionName'`);
4255
4265
  return e.substring(0, t);
4256
4266
  }
4257
- function Sn(e) {
4258
- if (bn(e)) return e.dimension;
4267
+ function wn(e) {
4268
+ if (Sn(e)) return e.dimension;
4259
4269
  let t = e.indexOf(".");
4260
4270
  if (t === -1) throw Error(`Invalid time dimension format: ${e}. Expected 'CubeName.dimensionName'`);
4261
4271
  return e.substring(t + 1);
4262
4272
  }
4263
4273
  //#endregion
4264
4274
  //#region src/server/builders/retention-query-builder.ts
4265
- var Cn = {
4275
+ var Tn = {
4266
4276
  noMapping: ({ cubeName: e }) => x("server.validation.retention.noBindingKeyMapping", { cubeName: e }),
4267
4277
  cubeNotFound: ({ cubeName: e }) => x("server.validation.retention.bindingKeyCubeNotFound", { cubeName: e }),
4268
4278
  keyDimNotFound: ({ bindingKey: e, cubeName: t }) => x("server.validation.retention.bindingKeyDimNotFound", {
@@ -4273,7 +4283,7 @@ var Cn = {
4273
4283
  dimName: e,
4274
4284
  cubeName: t
4275
4285
  })
4276
- }, wn = class {
4286
+ }, En = class {
4277
4287
  databaseAdapter;
4278
4288
  filterBuilder;
4279
4289
  dateTimeBuilder;
@@ -4292,14 +4302,14 @@ var Cn = {
4292
4302
  }
4293
4303
  validateTimeDimension(e, t, n) {
4294
4304
  try {
4295
- let r = xn(e.timeDimension), i = Sn(e.timeDimension), a = t.get(r);
4305
+ let r = Cn(e.timeDimension), i = wn(e.timeDimension), a = t.get(r);
4296
4306
  a ? a.dimensions?.[i] || n.push(x("server.validation.retention.timeDimNotFound", { dimName: i })) : n.push(x("server.validation.retention.cubeNotFound", { cubeName: r }));
4297
4307
  } catch {
4298
4308
  n.push(x("server.validation.retention.invalidTimeDimFormat", { timeDimension: e.timeDimension }));
4299
4309
  }
4300
4310
  }
4301
4311
  validateBindingKey(e, t, n) {
4302
- if (yn(e.bindingKey)) {
4312
+ if (xn(e.bindingKey)) {
4303
4313
  for (let r of e.bindingKey) {
4304
4314
  let e = t.get(r.cube);
4305
4315
  if (!e) {
@@ -4394,11 +4404,11 @@ var Cn = {
4394
4404
  });
4395
4405
  }
4396
4406
  resolveConfig(e, t, n) {
4397
- let r = xn(e.timeDimension), i = Sn(e.timeDimension), a = t.get(r);
4407
+ let r = Cn(e.timeDimension), i = wn(e.timeDimension), a = t.get(r);
4398
4408
  if (!a) throw Error(x("server.validation.retention.cubeNotFound", { cubeName: r }));
4399
4409
  let o = a.dimensions?.[i];
4400
4410
  if (!o) throw Error(x("server.validation.retention.timeDimNotFound", { dimName: i }));
4401
- let s = C(o.sql, n), c = At(e.bindingKey, a, n, Cn, t), l = this.buildFilterConditions(e.cohortFilters, a, t, n), u = this.buildFilterConditions(e.activityFilters, a, t, n), d = [];
4411
+ let s = C(o.sql, n), c = At(e.bindingKey, a, n, Tn, t), l = this.buildFilterConditions(e.cohortFilters, a, t, n), u = this.buildFilterConditions(e.activityFilters, a, t, n), d = [];
4402
4412
  if (e.breakdownDimensions && e.breakdownDimensions.length > 0) for (let r of e.breakdownDimensions) {
4403
4413
  let [e, i] = r.split("."), a = t.get(e);
4404
4414
  if (a && a.dimensions?.[i]) {
@@ -4557,7 +4567,7 @@ function Z(e, t) {
4557
4567
  };
4558
4568
  }) : [];
4559
4569
  }
4560
- function Tn(e, t) {
4570
+ function Dn(e, t) {
4561
4571
  return e.dimensions ? e.dimensions.map((e) => {
4562
4572
  let [n, r] = e.split("."), i = t.get(n);
4563
4573
  if (!i) throw Error(x("server.errors.cubeNotFoundForDimension", {
@@ -4571,7 +4581,7 @@ function Tn(e, t) {
4571
4581
  };
4572
4582
  }) : [];
4573
4583
  }
4574
- function En(e, t) {
4584
+ function On(e, t) {
4575
4585
  return e.timeDimensions ? e.timeDimensions.map((e) => {
4576
4586
  let [n, r] = e.dimension.split("."), i = t.get(n);
4577
4587
  if (!i) throw Error(x("server.errors.cubeNotFoundForTimeDimension", {
@@ -4589,14 +4599,14 @@ function En(e, t) {
4589
4599
  };
4590
4600
  }) : [];
4591
4601
  }
4592
- function Dn(e, t) {
4602
+ function kn(e, t) {
4593
4603
  return {
4594
4604
  measures: Z(e, t),
4595
- dimensions: Tn(e, t),
4596
- timeDimensions: En(e, t)
4605
+ dimensions: Dn(e, t),
4606
+ timeDimensions: On(e, t)
4597
4607
  };
4598
4608
  }
4599
- function On(e, t) {
4609
+ function An(e, t) {
4600
4610
  return {
4601
4611
  measures: e.measures.map((e) => {
4602
4612
  let [n, r] = e.split(".");
@@ -4615,7 +4625,7 @@ function On(e, t) {
4615
4625
  }
4616
4626
  //#endregion
4617
4627
  //#region src/server/logical-plan/logical-plan-builder.ts
4618
- var kn = class {
4628
+ var jn = class {
4619
4629
  queryPlanner;
4620
4630
  constructor(e) {
4621
4631
  this.queryPlanner = e;
@@ -4736,7 +4746,7 @@ var kn = class {
4736
4746
  let t = X(e.cube);
4737
4747
  return {
4738
4748
  type: "ctePreAggregate",
4739
- schema: On(e, r),
4749
+ schema: An(e, r),
4740
4750
  cube: t,
4741
4751
  alias: e.alias,
4742
4752
  cteAlias: e.cteAlias,
@@ -4751,7 +4761,7 @@ var kn = class {
4751
4761
  });
4752
4762
  return {
4753
4763
  type: "simpleSource",
4754
- schema: Dn(i, r),
4764
+ schema: kn(i, r),
4755
4765
  primaryCube: a,
4756
4766
  joins: o,
4757
4767
  ctes: s
@@ -4779,7 +4789,7 @@ var kn = class {
4779
4789
  if (r.has(a) || !t.get(a)) return null;
4780
4790
  let o = Array.from(r);
4781
4791
  if (!o.every((e) => this.hasDirectJoinToSharedDimension(t.get(e), a, t))) return null;
4782
- let s = Tn(e, t), c = En(e, t), l = {
4792
+ let s = Dn(e, t), c = On(e, t), l = {
4783
4793
  measures: Z(e, t),
4784
4794
  dimensions: s,
4785
4795
  timeDimensions: c
@@ -4941,7 +4951,7 @@ var kn = class {
4941
4951
  return Array.from(t.values());
4942
4952
  }
4943
4953
  buildQueryNode(e, t, n, r) {
4944
- let i = Dn(t, n), { measures: a, dimensions: o, timeDimensions: s } = i, c = this.buildOrderByRefs(t);
4954
+ let i = kn(t, n), { measures: a, dimensions: o, timeDimensions: s } = i, c = this.buildOrderByRefs(t);
4945
4955
  return {
4946
4956
  type: "query",
4947
4957
  schema: i,
@@ -4977,7 +4987,7 @@ var kn = class {
4977
4987
  direction: t
4978
4988
  })) : [];
4979
4989
  }
4980
- }, An = class {
4990
+ }, Mn = class {
4981
4991
  name = "identity";
4982
4992
  optimise(e) {
4983
4993
  return e;
@@ -4985,11 +4995,11 @@ var kn = class {
4985
4995
  };
4986
4996
  //#endregion
4987
4997
  //#region src/server/physical-plan/processors/cte-processor.ts
4988
- function jn(e, t, n, r) {
4989
- let i = Mn(e, n, r), a = [], o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map();
4998
+ function Nn(e, t, n, r) {
4999
+ let i = Pn(e, n, r), a = [], o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map();
4990
5000
  if (e.preAggregationCTEs && e.preAggregationCTEs.length > 0) for (let c of e.preAggregationCTEs) {
4991
5001
  let l = r.cteBuilder.buildPreAggregationCTE(c, t, n, e, i);
4992
- l && (a.push(l), o.set(c.cube.name, c.cteAlias), Nn(c, s));
5002
+ l && (a.push(l), o.set(c.cube.name, c.cteAlias), Fn(c, s));
4993
5003
  }
4994
5004
  return {
4995
5005
  preBuiltFilterMap: i,
@@ -4998,7 +5008,7 @@ function jn(e, t, n, r) {
4998
5008
  downstreamCubeMap: s
4999
5009
  };
5000
5010
  }
5001
- function Mn(e, t, n) {
5011
+ function Pn(e, t, n) {
5002
5012
  let r = /* @__PURE__ */ new Map();
5003
5013
  if (!e.preAggregationCTEs || e.preAggregationCTEs.length === 0) return r;
5004
5014
  for (let i of e.preAggregationCTEs) if (i.propagatingFilters && i.propagatingFilters.length !== 0) for (let e of i.propagatingFilters) {
@@ -5012,7 +5022,7 @@ function Mn(e, t, n) {
5012
5022
  }
5013
5023
  return r;
5014
5024
  }
5015
- function Nn(e, t) {
5025
+ function Fn(e, t) {
5016
5026
  if (e.downstreamJoinKeys) for (let n of e.downstreamJoinKeys) t.set(n.targetCubeName, {
5017
5027
  cteAlias: e.cteAlias,
5018
5028
  joinKeys: n.joinKeys
@@ -5020,7 +5030,7 @@ function Nn(e, t) {
5020
5030
  }
5021
5031
  //#endregion
5022
5032
  //#region src/server/physical-plan/processors/window-processor.ts
5023
- function Pn(e, t, n, r, i, a) {
5033
+ function In(e, t, n, r, i, a) {
5024
5034
  if (n.measures) for (let o of n.measures) {
5025
5035
  let [s, c] = o.split("."), l = i.get(s);
5026
5036
  if (!l?.measures?.[c]) continue;
@@ -5036,11 +5046,11 @@ function Pn(e, t, n, r, i, a) {
5036
5046
  _ = E`sum(${e})`;
5037
5047
  } else _ = a.queryBuilder.buildMeasureExpression(h, r, m);
5038
5048
  e[d] || (e[d] = E`${_}`.as(d));
5039
- let v = Fn(u, _, n, r, l, t, a);
5049
+ let v = Ln(u, _, n, r, l, t, a);
5040
5050
  v && (e[o] = E`${v}`.as(o));
5041
5051
  }
5042
5052
  }
5043
- function Fn(e, t, n, r, i, a, o) {
5053
+ function Ln(e, t, n, r, i, a, o) {
5044
5054
  let s = e.windowConfig || {}, c = (e, t) => {
5045
5055
  if (!a.preAggregationCTEs) return null;
5046
5056
  let n = a.preAggregationCTEs.find((t) => t.cube?.name === e);
@@ -5110,23 +5120,23 @@ function Fn(e, t, n, r, i, a, o) {
5110
5120
  }
5111
5121
  //#endregion
5112
5122
  //#region src/server/physical-plan/processors/selection-processor.ts
5113
- function In(e, t, n, r, i) {
5123
+ function Rn(e, t, n, r, i) {
5114
5124
  let a = { ...i.queryBuilder.buildSelections(e.joinCubes.length > 0 ? r : e.primaryCube, t, n) };
5115
- if (e.preAggregationCTEs) for (let o of e.preAggregationCTEs) Ln(a, o, t, n, r, i), zn(a, o, r);
5116
- return Pn(a, e, t, n, r, i), a;
5125
+ if (e.preAggregationCTEs) for (let o of e.preAggregationCTEs) zn(a, o, t, n, r, i), Vn(a, o, r);
5126
+ return In(a, e, t, n, r, i), a;
5117
5127
  }
5118
- function Ln(e, t, n, r, i, a) {
5128
+ function zn(e, t, n, r, i, a) {
5119
5129
  let o = t.cube.name;
5120
5130
  for (let s of t.measures) {
5121
5131
  if (!e[s]) continue;
5122
5132
  let [, c] = s.split("."), l = i.get(o);
5123
5133
  if (!l?.measures?.[c]) continue;
5124
5134
  let u = l.measures[c], d = E`${E.identifier(t.cteAlias)}.${E.identifier(c)}`, f;
5125
- f = u.type === "calculated" && u.calculatedSql ? a.queryBuilder.buildCTECalculatedMeasure(u, l, t, i, r) : Rn(u, d, t, n, i, a), e[s] = E`${f}`.as(s);
5135
+ f = u.type === "calculated" && u.calculatedSql ? a.queryBuilder.buildCTECalculatedMeasure(u, l, t, i, r) : Bn(u, d, t, n, i, a), e[s] = E`${f}`.as(s);
5126
5136
  }
5127
5137
  }
5128
- function Rn(e, t, n, r, i, a) {
5129
- let o = n.cteReason === "fanOutPrevention", s = Bn(n, r, i), c = o || s;
5138
+ function Bn(e, t, n, r, i, a) {
5139
+ let o = n.cteReason === "fanOutPrevention", s = Hn(n, r, i), c = o || s;
5130
5140
  switch (e.type) {
5131
5141
  case "count":
5132
5142
  case "countDistinct":
@@ -5138,7 +5148,7 @@ function Rn(e, t, n, r, i, a) {
5138
5148
  default: return c ? j(t) : A(t);
5139
5149
  }
5140
5150
  }
5141
- function zn(e, t, n) {
5151
+ function Vn(e, t, n) {
5142
5152
  let r = t.cube.name;
5143
5153
  for (let i in e) {
5144
5154
  let [a, o] = i.split(".");
@@ -5153,10 +5163,10 @@ function zn(e, t, n) {
5153
5163
  (u || l && s?.dimensions?.[o]) && (e[i] = E`${E.identifier(t.cteAlias)}.${E.identifier(o)}`.as(i));
5154
5164
  }
5155
5165
  }
5156
- function Bn(e, t, n) {
5157
- 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 && Vn(e.sourceColumnObj, t, n));
5166
+ function Hn(e, t, n) {
5167
+ 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 && Un(e.sourceColumnObj, t, n));
5158
5168
  }
5159
- function Vn(e, t, n) {
5169
+ function Un(e, t, n) {
5160
5170
  if (t.dimensions) for (let r of t.dimensions) {
5161
5171
  let [t, i] = r.split(".");
5162
5172
  if (n.get(t)?.dimensions?.[i]?.sql === e) return !0;
@@ -5178,20 +5188,20 @@ function Q(e, t, n, r) {
5178
5188
  default: return e.leftJoin(n, r);
5179
5189
  }
5180
5190
  }
5181
- function Hn(e) {
5191
+ function Wn(e) {
5182
5192
  let t = /* @__PURE__ */ new Map();
5183
5193
  if (t.set(e.primaryCube.name, e.primaryCube), e.joinCubes) for (let n of e.joinCubes) t.set(n.cube.name, n.cube);
5184
5194
  return t;
5185
5195
  }
5186
5196
  //#endregion
5187
5197
  //#region src/server/physical-plan/processors/joins-processor.ts
5188
- function Un(e, t, n, r, i, a) {
5189
- let o = [], s = Wn(t, n, r, i);
5190
- s = Gn(s, n.joins);
5191
- let c = /* @__PURE__ */ new Set(), l = Kn(e);
5198
+ function Gn(e, t, n, r, i, a) {
5199
+ let o = [], s = Kn(t, n, r, i);
5200
+ s = qn(s, n.joins);
5201
+ let c = /* @__PURE__ */ new Set(), l = Jn(e);
5192
5202
  if (e.joinCubes && e.joinCubes.length > 0) for (let n of e.joinCubes) {
5193
5203
  let r = n.cube.name;
5194
- (!l.has(r) || i.cteAliasMap.has(r)) && (s = qn(s, n, e, i, t, o), s = Xn(s, n, e, i, t, a, c));
5204
+ (!l.has(r) || i.cteAliasMap.has(r)) && (s = Yn(s, n, e, i, t, o), s = Qn(s, n, e, i, t, a, c));
5195
5205
  }
5196
5206
  return {
5197
5207
  drizzleQuery: s,
@@ -5200,26 +5210,26 @@ function Un(e, t, n, r, i, a) {
5200
5210
  absorbedIntermediateCubes: l
5201
5211
  };
5202
5212
  }
5203
- function Wn(e, t, n, r) {
5213
+ function Kn(e, t, n, r) {
5204
5214
  return r.ctes.length > 0 ? e.db.with(...r.ctes).select(n).from(t.from) : e.db.select(n).from(t.from);
5205
5215
  }
5206
- function Gn(e, t) {
5216
+ function qn(e, t) {
5207
5217
  if (!t) return e;
5208
5218
  let n = e;
5209
5219
  for (let e of t) n = Q(n, e.type ?? "left", e.table, e.on);
5210
5220
  return n;
5211
5221
  }
5212
- function Kn(e) {
5222
+ function Jn(e) {
5213
5223
  let t = /* @__PURE__ */ new Set();
5214
5224
  if (e.preAggregationCTEs) {
5215
5225
  for (let n of e.preAggregationCTEs) if (n.intermediateJoins && n.intermediateJoins.length > 0) for (let e of n.intermediateJoins) t.add(e.cube.name);
5216
5226
  }
5217
5227
  return t;
5218
5228
  }
5219
- function qn(e, t, n, r, i, a) {
5229
+ function Yn(e, t, n, r, i, a) {
5220
5230
  let o = t.junctionTable;
5221
5231
  if (!o) return e;
5222
- let s = Jn(o, t, n, r), c = [];
5232
+ let s = Xn(o, t, n, r), c = [];
5223
5233
  if (o.securitySql) {
5224
5234
  let e = o.securitySql(i.securityContext);
5225
5235
  Array.isArray(e) ? c.push(...e) : c.push(e);
@@ -5231,7 +5241,7 @@ function qn(e, t, n, r, i, a) {
5231
5241
  return e;
5232
5242
  }
5233
5243
  }
5234
- function Jn(e, t, n, r) {
5244
+ function Xn(e, t, n, r) {
5235
5245
  let i = e.joinCondition, a = e.sourceCubeName ? r.cteAliasMap.get(e.sourceCubeName) : void 0;
5236
5246
  if (!a) return i;
5237
5247
  let o = (n.preAggregationCTEs?.find((t) => t.cube.name === e.sourceCubeName))?.downstreamJoinKeys?.find((e) => e.targetCubeName === t.cube.name);
@@ -5245,7 +5255,7 @@ function Jn(e, t, n, r) {
5245
5255
  }
5246
5256
  return i;
5247
5257
  }
5248
- function Yn(e, t, n, r, i, a) {
5258
+ function Zn(e, t, n, r, i, a) {
5249
5259
  if (t) return {
5250
5260
  joinTarget: E`${E.identifier(t)}`,
5251
5261
  joinCondition: a.cteBuilder.buildCTEJoinCondition(e, t, r),
@@ -5268,26 +5278,26 @@ function Yn(e, t, n, r, i, a) {
5268
5278
  joinCubeBase: s
5269
5279
  };
5270
5280
  }
5271
- function Xn(e, t, n, r, i, a, o) {
5272
- let { joinTarget: s, joinCondition: c, securityCondition: l, joinCubeBase: u } = Yn(t, r.cteAliasMap.get(t.cube.name), r, n, i, a), d = t.joinType || "left", f = d !== "inner" && l ? D(c, l) : c;
5281
+ function Qn(e, t, n, r, i, a, o) {
5282
+ let { joinTarget: s, joinCondition: c, securityCondition: l, joinCubeBase: u } = Zn(t, r.cteAliasMap.get(t.cube.name), r, n, i, a), d = t.joinType || "left", f = d !== "inner" && l ? D(c, l) : c;
5273
5283
  try {
5274
5284
  let n;
5275
- return d === "inner" ? n = e.innerJoin(s, c) : (n = Q(e, d, s, f), l && o.add(t.cube.name)), Gn(n, u?.joins);
5285
+ return d === "inner" ? n = e.innerJoin(s, c) : (n = Q(e, d, s, f), l && o.add(t.cube.name)), qn(n, u?.joins);
5276
5286
  } catch {
5277
5287
  return e;
5278
5288
  }
5279
5289
  }
5280
5290
  //#endregion
5281
5291
  //#region src/server/physical-plan/processors/predicates-processor.ts
5282
- function Zn(e, t, n, r, i, a, o, s) {
5283
- let c = Qn(e, t, n, r, i, a, o, s), l = o.drizzleQuery;
5292
+ function $n(e, t, n, r, i, a, o, s) {
5293
+ let c = er(e, t, n, r, i, a, o, s), l = o.drizzleQuery;
5284
5294
  if (c.length > 0) {
5285
5295
  let e = c.length === 1 ? c[0] : D(...c);
5286
5296
  l = l.where(e);
5287
5297
  }
5288
- return $n(l, e, t, n, r, s);
5298
+ return tr(l, e, t, n, r, s);
5289
5299
  }
5290
- function Qn(e, t, n, r, i, a, o, s) {
5300
+ function er(e, t, n, r, i, a, o, s) {
5291
5301
  let c = [...o.allWhereConditions];
5292
5302
  if (i.where && c.push(i.where), e.joinCubes && e.joinCubes.length > 0) for (let t of e.joinCubes) {
5293
5303
  let e = t.cube.name;
@@ -5298,7 +5308,7 @@ function Qn(e, t, n, r, i, a, o, s) {
5298
5308
  let l = s.queryBuilder.buildWhereConditions(e.joinCubes.length > 0 ? r : e.primaryCube, t, n, e, a.preBuiltFilterMap);
5299
5309
  return l.length > 0 && c.push(...l), c;
5300
5310
  }
5301
- function $n(e, t, n, r, i, a) {
5311
+ function tr(e, t, n, r, i, a) {
5302
5312
  let o = t.joinCubes.length > 0 ? i : t.primaryCube, s = e, c = a.queryBuilder.buildGroupByFields(o, n, r, t);
5303
5313
  if (c.length > 0 && (s = s.groupBy(...c)), !n.ungrouped) {
5304
5314
  let e = a.queryBuilder.buildHavingConditions(o, n, r, t);
@@ -5312,17 +5322,17 @@ function $n(e, t, n, r, i, a) {
5312
5322
  }
5313
5323
  //#endregion
5314
5324
  //#region src/server/physical-plan/processors/keys-dedup-processor.ts
5315
- function er(e, t, n, r) {
5325
+ function nr(e, t, n, r) {
5316
5326
  let i = e.keysDeduplication;
5317
5327
  if (!i?.multipliedCubeName || !t.measures?.length) return null;
5318
- let a = e.joinCubes.length > 0 ? Hn(e) : /* @__PURE__ */ new Map([[e.primaryCube.name, e.primaryCube]]), o = a.get(i.multipliedCubeName);
5319
- if (!o || !lr(t, o, i.multipliedCubeName)) return null;
5320
- let s = i.primaryKeyDimensions.length > 0 ? i.primaryKeyDimensions : dr(o);
5328
+ let a = e.joinCubes.length > 0 ? Wn(e) : /* @__PURE__ */ new Map([[e.primaryCube.name, e.primaryCube]]), o = a.get(i.multipliedCubeName);
5329
+ if (!o || !dr(t, o, i.multipliedCubeName)) return null;
5330
+ let s = i.primaryKeyDimensions.length > 0 ? i.primaryKeyDimensions : pr(o);
5321
5331
  if (s.length === 0) return null;
5322
- let c = `${i.multipliedCubeName.toLowerCase()}_keys`, l = `${i.multipliedCubeName.toLowerCase()}_pk_agg`, u = i.regularMeasures ?? [], d = tr(t, n, r, a, o, s, u);
5332
+ let c = `${i.multipliedCubeName.toLowerCase()}_keys`, l = `${i.multipliedCubeName.toLowerCase()}_pk_agg`, u = i.regularMeasures ?? [], d = rr(t, n, r, a, o, s, u);
5323
5333
  if (!d) return null;
5324
- let f = nr(e, t, n, r, a, c, d.keysSelections, d.keyGroupBy), p = ar(t, n, r, o, s, d.multipliedMeasures, l);
5325
- return p ? cr(t, n, r, a, o, {
5334
+ let f = ir(e, t, n, r, a, c, d.keysSelections, d.keyGroupBy), p = sr(t, n, r, o, s, d.multipliedMeasures, l);
5335
+ return p ? ur(t, n, r, a, o, {
5326
5336
  keysAlias: c,
5327
5337
  aggAlias: l,
5328
5338
  keysCte: f,
@@ -5333,7 +5343,7 @@ function er(e, t, n, r) {
5333
5343
  regularMeasureNames: u
5334
5344
  }) : null;
5335
5345
  }
5336
- function tr(e, t, n, r, i, a, o) {
5346
+ function rr(e, t, n, r, i, a, o) {
5337
5347
  let s = {}, c = [];
5338
5348
  if (e.dimensions) for (let n of e.dimensions) {
5339
5349
  let [e, i] = n.split("."), a = r.get(e), o = a?.dimensions?.[i];
@@ -5371,35 +5381,35 @@ function tr(e, t, n, r, i, a, o) {
5371
5381
  multipliedMeasures: d
5372
5382
  };
5373
5383
  }
5374
- function nr(e, t, n, r, i, a, o, s) {
5384
+ function ir(e, t, n, r, i, a, o, s) {
5375
5385
  let c = e.primaryCube.sql(n), l = [];
5376
5386
  c.where && l.push(c.where);
5377
5387
  let u = n.db.select(o).from(c.from);
5378
5388
  if (c.joins) for (let e of c.joins) u = Q(u, e.type ?? "left", e.table, e.on);
5379
- for (let t of e.joinCubes) u = rr(u, t, n, l);
5380
- return l.push(...r.queryBuilder.buildWhereConditions(i, t, n)), u = sr(u, l), s.length > 0 && (u = u.groupBy(...s)), n.db.$with(a).as(u);
5389
+ for (let t of e.joinCubes) u = ar(u, t, n, l);
5390
+ return l.push(...r.queryBuilder.buildWhereConditions(i, t, n)), u = lr(u, l), s.length > 0 && (u = u.groupBy(...s)), n.db.$with(a).as(u);
5381
5391
  }
5382
- function rr(e, t, n, r) {
5392
+ function ar(e, t, n, r) {
5383
5393
  let i = e;
5384
- t.junctionTable && (i = Q(i, t.junctionTable.joinType ?? "left", t.junctionTable.table, t.junctionTable.joinCondition), ir(t.junctionTable.securitySql, n, r));
5394
+ t.junctionTable && (i = Q(i, t.junctionTable.joinType ?? "left", t.junctionTable.table, t.junctionTable.joinCondition), or(t.junctionTable.securitySql, n, r));
5385
5395
  let a = t.cube.sql(n);
5386
5396
  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);
5387
5397
  return a.where && r.push(a.where), i;
5388
5398
  }
5389
- function ir(e, t, n) {
5399
+ function or(e, t, n) {
5390
5400
  if (!e) return;
5391
5401
  let r = e(t.securityContext);
5392
5402
  Array.isArray(r) ? n.push(...r) : n.push(r);
5393
5403
  }
5394
- function ar(e, t, n, r, i, a, o) {
5395
- let s = r.sql(t), c = or(t, n, r, i, a);
5404
+ function sr(e, t, n, r, i, a, o) {
5405
+ let s = r.sql(t), c = cr(t, n, r, i, a);
5396
5406
  if (!c) return null;
5397
5407
  let l = t.db.select(c.aggSelections).from(s.from);
5398
5408
  if (s.joins) for (let e of s.joins) l = Q(l, e.type ?? "left", e.table, e.on);
5399
5409
  let u = [];
5400
- return s.where && u.push(s.where), u.push(...n.queryBuilder.buildWhereConditions(r, e, t)), l = sr(l, u), c.aggGroupBy.length > 0 && (l = l.groupBy(...c.aggGroupBy)), t.db.$with(o).as(l);
5410
+ return s.where && u.push(s.where), u.push(...n.queryBuilder.buildWhereConditions(r, e, t)), l = lr(l, u), c.aggGroupBy.length > 0 && (l = l.groupBy(...c.aggGroupBy)), t.db.$with(o).as(l);
5401
5411
  }
5402
- function or(e, t, n, r, i) {
5412
+ function cr(e, t, n, r, i) {
5403
5413
  let a = {}, o = [];
5404
5414
  for (let t of r) {
5405
5415
  let r = n.dimensions?.[t];
@@ -5437,20 +5447,20 @@ function or(e, t, n, r, i) {
5437
5447
  aggGroupBy: o
5438
5448
  };
5439
5449
  }
5440
- function sr(e, t) {
5450
+ function lr(e, t) {
5441
5451
  return t.length === 0 ? e : e.where(t.length === 1 ? t[0] : D(...t));
5442
5452
  }
5443
- function cr(e, t, n, r, i, a) {
5453
+ function ur(e, t, n, r, i, a) {
5444
5454
  let { keysAlias: o, aggAlias: s, keysCte: c, aggCte: l, pkDimensions: u, pkAliases: d, multipliedMeasures: f, regularMeasureNames: p } = a, m = {};
5445
5455
  for (let t of e.dimensions ?? []) m[t] = E`${E.identifier(o)}.${E.identifier(t)}`.as(t);
5446
5456
  for (let t of e.timeDimensions ?? []) m[t.dimension] = E`${E.identifier(o)}.${E.identifier(t.dimension)}`.as(t.dimension);
5447
5457
  for (let e of f) {
5448
5458
  let [, t] = e.split("."), n = i.measures?.[t];
5449
- m[e] = fr(n?.type ?? "sum", s, t, e);
5459
+ m[e] = mr(n?.type ?? "sum", s, t, e);
5450
5460
  }
5451
5461
  for (let e of p) {
5452
5462
  let [t, n] = e.split("."), i = r.get(t)?.measures?.[n], a = `__reg__${e.replace(".", "__")}`;
5453
- m[e] = fr(i?.type ?? "sum", o, a, e);
5463
+ m[e] = mr(i?.type ?? "sum", o, a, e);
5454
5464
  }
5455
5465
  let h = t.db.with(c, l).select(m).from(E`${E.identifier(o)}`), g = d.map((e, t) => w(E`${E.identifier(o)}.${E.identifier(e)}`, E`${E.identifier(s)}.${E.identifier(u[t])}`)), _ = g.length === 1 ? g[0] : D(...g);
5456
5466
  h = h.leftJoin(E`${E.identifier(s)}`, _);
@@ -5459,7 +5469,7 @@ function cr(e, t, n, r, i, a) {
5459
5469
  let y = n.queryBuilder.buildOrderBy(e, Object.keys(m));
5460
5470
  return y.length > 0 && (h = h.orderBy(...y)), n.queryBuilder.applyLimitAndOffset(h, e);
5461
5471
  }
5462
- function lr(e, t, n) {
5472
+ function dr(e, t, n) {
5463
5473
  if (!e.measures?.length) return !1;
5464
5474
  for (let r of e.measures) {
5465
5475
  let [e, i] = r.split(".");
@@ -5474,9 +5484,9 @@ function lr(e, t, n) {
5474
5484
  "avg"
5475
5485
  ].includes(a.type)) return !1;
5476
5486
  }
5477
- return !ur(e, t, n);
5487
+ return !fr(e, t, n);
5478
5488
  }
5479
- function ur(e, t, n) {
5489
+ function fr(e, t, n) {
5480
5490
  let r = (e) => {
5481
5491
  if (!e) return !1;
5482
5492
  for (let i of e) {
@@ -5497,10 +5507,10 @@ function ur(e, t, n) {
5497
5507
  };
5498
5508
  return r(e.filters);
5499
5509
  }
5500
- function dr(e) {
5510
+ function pr(e) {
5501
5511
  return Object.entries(e.dimensions ?? {}).filter(([, e]) => !!e.primaryKey).map(([e]) => e);
5502
5512
  }
5503
- function fr(e, t, n, r) {
5513
+ function mr(e, t, n, r) {
5504
5514
  switch (e) {
5505
5515
  case "min": {
5506
5516
  let e = E`${E.identifier(t)}.${E.identifier(n)}`;
@@ -5522,19 +5532,19 @@ function fr(e, t, n, r) {
5522
5532
  }
5523
5533
  //#endregion
5524
5534
  //#region src/server/physical-plan/processors/multi-fact-processor.ts
5525
- function pr(e, t, n, r, i) {
5535
+ function hr(e, t, n, r, i) {
5526
5536
  let a = e.multiFactMerge;
5527
5537
  if (!a || a.groups.length < 2) return null;
5528
- let o = [...t.dimensions ?? [], ...(t.timeDimensions ?? []).map((e) => e.dimension)], s = Array.from(new Set(o)), c = s.length > 0, l = br(r), u = c && a.mergeStrategy === "fullJoin" && !l, d = a.groups.map((e) => {
5538
+ let o = [...t.dimensions ?? [], ...(t.timeDimensions ?? []).map((e) => e.dimension)], s = Array.from(new Set(o)), c = s.length > 0, l = Sr(r), u = c && a.mergeStrategy === "fullJoin" && !l, d = a.groups.map((e) => {
5529
5539
  let t = i(e.queryPlan, e.query, n);
5530
5540
  return n.db.$with(e.alias).as(t);
5531
5541
  });
5532
- return u ? _r(t, n, r, a, d, s) : gr(t, n, r, a, d, s, yr(a.mergeStrategy, c, l));
5542
+ return u ? yr(t, n, r, a, d, s) : vr(t, n, r, a, d, s, xr(a.mergeStrategy, c, l));
5533
5543
  }
5534
- function mr(e, t, n) {
5544
+ function gr(e, t, n) {
5535
5545
  let r = {};
5536
5546
  for (let e of t) {
5537
- let t = xr(n, e);
5547
+ let t = Cr(n, e);
5538
5548
  r[e] = E`${t}`.as(e);
5539
5549
  }
5540
5550
  for (let t of e.groups) for (let e of t.measures) {
@@ -5543,23 +5553,23 @@ function mr(e, t, n) {
5543
5553
  }
5544
5554
  return r;
5545
5555
  }
5546
- function hr(e, t, n) {
5556
+ function _r(e, t, n) {
5547
5557
  if (t.length === 0) return E`1 = 1`;
5548
5558
  let r = t.map((t) => w(n.get(t), E`${E.identifier(e)}.${E.identifier(t)}`));
5549
5559
  return r.length === 1 ? r[0] : D(...r);
5550
5560
  }
5551
- function gr(e, t, n, r, i, a, o) {
5552
- let s = r.groups[0].alias, c = mr(r, a, r.groups.map((e) => e.alias)), l = t.db.with(...i).select(c).from(E`${E.identifier(s)}`), u = /* @__PURE__ */ new Map();
5561
+ function vr(e, t, n, r, i, a, o) {
5562
+ let s = r.groups[0].alias, c = gr(r, a, r.groups.map((e) => e.alias)), l = t.db.with(...i).select(c).from(E`${E.identifier(s)}`), u = /* @__PURE__ */ new Map();
5553
5563
  for (let e of a) u.set(e, E`${E.identifier(s)}.${E.identifier(e)}`);
5554
5564
  for (let e = 1; e < r.groups.length; e++) {
5555
- let t = r.groups[e].alias, n = hr(t, a, u);
5565
+ let t = r.groups[e].alias, n = _r(t, a, u);
5556
5566
  if (l = Q(l, o, E`${E.identifier(t)}`, n), a.length > 0 && o === "full") for (let e of a) u.set(e, E`coalesce(${u.get(e)}, ${E`${E.identifier(t)}.${E.identifier(e)}`})`);
5557
5567
  }
5558
5568
  let d = n.queryBuilder.buildOrderBy(e, Object.keys(c));
5559
5569
  return d.length > 0 && (l = l.orderBy(...d)), n.queryBuilder.applyLimitAndOffset(l, e);
5560
5570
  }
5561
- function _r(e, t, n, r, i, a) {
5562
- let o = "mf_all_keys", s = r.groups.map((e) => E`select ${vr(e.alias, a)} from ${E.identifier(e.alias)}`), c = E`${E.join(s, E` union `)}`, l = t.db.$with(o).as(c), u = {};
5571
+ function yr(e, t, n, r, i, a) {
5572
+ let o = "mf_all_keys", s = r.groups.map((e) => E`select ${br(e.alias, a)} from ${E.identifier(e.alias)}`), c = E`${E.join(s, E` union `)}`, l = t.db.$with(o).as(c), u = {};
5563
5573
  for (let e of a) u[e] = E`${E.identifier(o)}.${E.identifier(e)}`.as(e);
5564
5574
  for (let e of r.groups) for (let t of e.measures) {
5565
5575
  let n = E`${E.identifier(e.alias)}.${E.identifier(t)}`;
@@ -5573,18 +5583,18 @@ function _r(e, t, n, r, i, a) {
5573
5583
  let f = n.queryBuilder.buildOrderBy(e, Object.keys(u));
5574
5584
  return f.length > 0 && (d = d.orderBy(...f)), n.queryBuilder.applyLimitAndOffset(d, e);
5575
5585
  }
5576
- function vr(e, t) {
5586
+ function br(e, t) {
5577
5587
  let n = t.map((t) => E`${E.identifier(e)}.${E.identifier(t)} as ${E.identifier(t)}`);
5578
5588
  return E.join(n, E`, `);
5579
5589
  }
5580
- function yr(e, t, n) {
5590
+ function xr(e, t, n) {
5581
5591
  return !t || e === "innerJoin" ? "inner" : e === "leftJoin" ? "left" : n ? "full" : "left";
5582
5592
  }
5583
- function br(e) {
5593
+ function Sr(e) {
5584
5594
  let t = e.databaseAdapter.getEngineType();
5585
5595
  return t === "postgres" || t === "duckdb";
5586
5596
  }
5587
- function xr(e, t) {
5597
+ function Cr(e, t) {
5588
5598
  if (e.length === 1) return E`${E.identifier(e[0])}.${E.identifier(t)}`;
5589
5599
  let n = e.map((e) => E`${E.identifier(e)}.${E.identifier(t)}`), r = n[0];
5590
5600
  for (let e = 1; e < n.length; e++) r = E`coalesce(${r}, ${n[e]})`;
@@ -5592,7 +5602,7 @@ function xr(e, t) {
5592
5602
  }
5593
5603
  //#endregion
5594
5604
  //#region src/server/physical-plan/drizzle-plan-builder.ts
5595
- var Sr = class {
5605
+ var wr = class {
5596
5606
  queryBuilder;
5597
5607
  cteBuilder;
5598
5608
  databaseAdapter;
@@ -5753,12 +5763,12 @@ var Sr = class {
5753
5763
  queryBuilder: this.queryBuilder,
5754
5764
  cteBuilder: this.cteBuilder,
5755
5765
  databaseAdapter: this.databaseAdapter
5756
- }, i = pr(e, t, n, r, (e, t, n) => this.build(e, t, n));
5766
+ }, i = hr(e, t, n, r, (e, t, n) => this.build(e, t, n));
5757
5767
  if (i) return i;
5758
- let a = er(e, t, n, r);
5768
+ let a = nr(e, t, n, r);
5759
5769
  if (a) return a;
5760
- let o = jn(e, t, n, r), s = e.primaryCube.sql(n), c = e.joinCubes.length > 0 ? Hn(e) : /* @__PURE__ */ new Map([[e.primaryCube.name, e.primaryCube]]);
5761
- return Zn(e, t, n, c, s, o, Un(e, n, s, In(e, t, n, c, r), o, r), r);
5770
+ let o = Nn(e, t, n, r), s = e.primaryCube.sql(n), c = e.joinCubes.length > 0 ? Wn(e) : /* @__PURE__ */ new Map([[e.primaryCube.name, e.primaryCube]]);
5771
+ return $n(e, t, n, c, s, o, Gn(e, n, s, Rn(e, t, n, c, r), o, r), r);
5762
5772
  }
5763
5773
  };
5764
5774
  //#endregion
@@ -5769,7 +5779,7 @@ function $(e, t) {
5769
5779
  console.log(`\n[DC_DEBUG] ${e}`), console.log(n), r.length > 0 && console.log("params:", r), console.log();
5770
5780
  } catch {}
5771
5781
  }
5772
- var Cr = class {
5782
+ var Tr = class {
5773
5783
  dbExecutor;
5774
5784
  queryBuilder;
5775
5785
  drizzlePlanBuilder;
@@ -5788,12 +5798,12 @@ var Cr = class {
5788
5798
  if (this.dbExecutor = e, this.databaseAdapter = e.databaseAdapter, !this.databaseAdapter) throw Error(x("server.errors.dbAdapterRequired"));
5789
5799
  this.queryBuilder = new Rt(this.databaseAdapter);
5790
5800
  let i = new le(), a = new Bt(this.queryBuilder);
5791
- this.drizzlePlanBuilder = new Sr(this.queryBuilder, a, this.databaseAdapter), this.comparisonQueryBuilder = new gn(this.databaseAdapter), this.funnelQueryBuilder = new _n(this.databaseAdapter), this.flowQueryBuilder = new vn(this.databaseAdapter), this.retentionQueryBuilder = new wn(this.databaseAdapter), this.logicalPlanBuilder = new kn(i), this.planOptimiser = r ?? new An(), this.rlsSetup = n, this.modeRouter = new sn({
5801
+ this.drizzlePlanBuilder = new wr(this.queryBuilder, a, this.databaseAdapter), this.comparisonQueryBuilder = new vn(this.databaseAdapter), this.funnelQueryBuilder = new yn(this.databaseAdapter), this.flowQueryBuilder = new bn(this.databaseAdapter), this.retentionQueryBuilder = new En(this.databaseAdapter), this.logicalPlanBuilder = new jn(i), this.planOptimiser = r ?? new Mn(), this.rlsSetup = n, this.modeRouter = new ln({
5792
5802
  comparison: this.comparisonQueryBuilder,
5793
5803
  funnel: this.funnelQueryBuilder,
5794
5804
  flow: this.flowQueryBuilder,
5795
5805
  retention: this.retentionQueryBuilder
5796
- }), this.resultCache = new hn(t), this.filterCachePreloader = new on(this.queryBuilder);
5806
+ }), this.resultCache = new _n(t), this.filterCachePreloader = new cn(this.queryBuilder);
5797
5807
  }
5798
5808
  async withRLSContext(e, t) {
5799
5809
  if (!this.rlsSetup) return t();
@@ -5842,7 +5852,7 @@ var Cr = class {
5842
5852
  }
5843
5853
  async executeComparisonQuery(e, t, n) {
5844
5854
  let { timeDimension: r, periods: i, granularity: a, periodQueries: o } = this.buildComparisonExecutionPlan(t), s = o.map(async (t, r) => ({
5845
- result: await this.executeStandardQuery(e, t, n),
5855
+ result: await this.executeStandardQuery(e, t, n, void 0, !0),
5846
5856
  period: i[r]
5847
5857
  })), c = await Promise.all(s), l = this.comparisonQueryBuilder.mergeComparisonResults(c, r, a);
5848
5858
  return l.data = this.comparisonQueryBuilder.sortComparisonResults(l.data, r.dimension), l;
@@ -5924,21 +5934,21 @@ var Cr = class {
5924
5934
  annotation: c
5925
5935
  };
5926
5936
  }
5927
- async executeStandardQuery(e, t, n, r) {
5937
+ async executeStandardQuery(e, t, n, r, i = !1) {
5928
5938
  t = O(t);
5929
- let i = new S(), a = this.createQueryContext(n, i, t);
5930
- this.filterCachePreloader.preload(t, i, e, a);
5931
- let { optimisedPlan: o } = this.buildRegularQueryArtifacts(e, t, a), s = this.drizzlePlanBuilder.derivePhysicalPlanContext(o), c = this.drizzlePlanBuilder.toSemanticQuery(o);
5932
- this.validateSecurityContext(s, a);
5933
- let l = this.drizzlePlanBuilder.build(s, c, a);
5934
- $("query", l);
5935
- let u = this.queryBuilder.collectNumericFields(e, t), d = {
5936
- data: an(await this.dbExecutor.execute(l, u), t, this.databaseAdapter),
5937
- annotation: Vt(s, t),
5938
- warnings: o.warnings?.length ? o.warnings : void 0,
5939
- total: t.total ? await this.executeTotalCount(s, c, a) : void 0
5939
+ let a = new S(), o = this.createQueryContext(n, a, t);
5940
+ this.filterCachePreloader.preload(t, a, e, o);
5941
+ let { optimisedPlan: s } = this.buildRegularQueryArtifacts(e, t, o), c = this.drizzlePlanBuilder.derivePhysicalPlanContext(s), l = this.drizzlePlanBuilder.toSemanticQuery(s);
5942
+ this.validateSecurityContext(c, o);
5943
+ let u = this.drizzlePlanBuilder.build(c, l, o);
5944
+ $("query", u);
5945
+ let d = this.queryBuilder.collectNumericFields(e, t), f = {
5946
+ data: sn(await this.dbExecutor.execute(u, d), t, this.databaseAdapter, e, i),
5947
+ annotation: Vt(c, t),
5948
+ warnings: s.warnings?.length ? s.warnings : void 0,
5949
+ total: t.total ? await this.executeTotalCount(c, l, o) : void 0
5940
5950
  };
5941
- return await this.resultCache.store(r, d), d;
5951
+ return await this.resultCache.store(r, f), f;
5942
5952
  }
5943
5953
  async executeTotalCount(e, t, n) {
5944
5954
  let r = this.drizzlePlanBuilder.build(e, {
@@ -6075,7 +6085,7 @@ var Cr = class {
6075
6085
  let r = this.buildComparisonExecutionPlan(t).periodQueries[0];
6076
6086
  return this.generateUnifiedSQL(e, r, n);
6077
6087
  }
6078
- }, wr = [
6088
+ }, Er = [
6079
6089
  "year",
6080
6090
  "quarter",
6081
6091
  "month",
@@ -6083,21 +6093,21 @@ var Cr = class {
6083
6093
  "day",
6084
6094
  "hour"
6085
6095
  ];
6086
- function Tr(e, t) {
6096
+ function Dr(e, t) {
6087
6097
  return t.includes(".") ? t : `${e}.${t}`;
6088
6098
  }
6089
- function Er(e, t) {
6099
+ function Or(e, t) {
6090
6100
  if (!t.includes(".")) return t;
6091
6101
  let n = `${e}.`;
6092
6102
  return t.startsWith(n) ? t.slice(n.length) : null;
6093
6103
  }
6094
- function Dr(e) {
6104
+ function kr(e) {
6095
6105
  let t = Object.keys(e.measures), n = [];
6096
6106
  for (let r = 0; r < t.length; r++) {
6097
6107
  let i = t[r], a = e.measures[i];
6098
6108
  if (a.shown === !1) continue;
6099
6109
  let o;
6100
- a.drillMembers && a.drillMembers.length > 0 && (o = a.drillMembers.map((t) => Tr(e.name, t))), n.push({
6110
+ a.drillMembers && a.drillMembers.length > 0 && (o = a.drillMembers.map((t) => Dr(e.name, t))), n.push({
6101
6111
  name: `${e.name}.${i}`,
6102
6112
  title: a.title || i,
6103
6113
  shortTitle: a.title || i,
@@ -6110,12 +6120,12 @@ function Dr(e) {
6110
6120
  }
6111
6121
  return n;
6112
6122
  }
6113
- function Or(e) {
6123
+ function Ar(e) {
6114
6124
  let t = Object.keys(e.dimensions), n = [];
6115
6125
  for (let r = 0; r < t.length; r++) {
6116
6126
  let i = t[r], a = e.dimensions[i];
6117
6127
  if (a.shown === !1) continue;
6118
- let o = a.type === "time" ? a.granularities || wr : void 0;
6128
+ let o = a.type === "time" ? a.granularities || Er : void 0;
6119
6129
  n.push({
6120
6130
  name: `${e.name}.${i}`,
6121
6131
  title: a.title || i,
@@ -6124,12 +6134,13 @@ function Or(e) {
6124
6134
  format: void 0,
6125
6135
  description: a.description,
6126
6136
  synonyms: a.synonyms,
6127
- granularities: o
6137
+ granularities: o,
6138
+ ...a.type === "time" && a.fillMissingDates !== void 0 && { fillMissingDates: a.fillMissingDates }
6128
6139
  });
6129
6140
  }
6130
6141
  return n;
6131
6142
  }
6132
- function kr(e, t, n) {
6143
+ function jr(e, t, n) {
6133
6144
  let r = [];
6134
6145
  if (!e.joins) return r;
6135
6146
  for (let [, i] of Object.entries(e.joins)) {
@@ -6145,14 +6156,14 @@ function kr(e, t, n) {
6145
6156
  }
6146
6157
  return r;
6147
6158
  }
6148
- function Ar(e) {
6159
+ function Mr(e) {
6149
6160
  let t = [];
6150
6161
  if (!e.hierarchies) return t;
6151
6162
  for (let [, n] of Object.entries(e.hierarchies)) {
6152
6163
  let r = n.levels.filter((t) => {
6153
- let n = Er(e.name, t);
6164
+ let n = Or(e.name, t);
6154
6165
  return n === null || e.dimensions[n]?.shown !== !1;
6155
- }).map((t) => Tr(e.name, t));
6166
+ }).map((t) => Dr(e.name, t));
6156
6167
  r.length !== 0 && t.push({
6157
6168
  name: n.name,
6158
6169
  title: n.title || n.name,
@@ -6163,12 +6174,12 @@ function Ar(e) {
6163
6174
  return t;
6164
6175
  }
6165
6176
  Object.freeze({});
6166
- function jr(e) {
6177
+ function Nr(e) {
6167
6178
  if (typeof process > "u") return;
6168
6179
  let t = process.env?.DC_DEBUG;
6169
6180
  (t === "true" || t === "cubesets") && console.log(`[DC_DEBUG] ${e}`);
6170
6181
  }
6171
- var Mr = class {
6182
+ var Pr = class {
6172
6183
  baseCubes = /* @__PURE__ */ new Map();
6173
6184
  cubeSets = /* @__PURE__ */ new Map();
6174
6185
  metadataCache = /* @__PURE__ */ new Map();
@@ -6203,7 +6214,7 @@ var Mr = class {
6203
6214
  return Tt(this.db, this.schema, this.engineType);
6204
6215
  }
6205
6216
  createQueryExecutor(e = !1) {
6206
- return new Cr(this.createDbExecutor(), e ? this.cacheConfig : void 0, this.rlsSetup, this.planOptimiser);
6217
+ return new Tr(this.createDbExecutor(), e ? this.cacheConfig : void 0, this.rlsSetup, this.planOptimiser);
6207
6218
  }
6208
6219
  formatSqlResult(e) {
6209
6220
  let t = this.getEngineType() ?? "postgres";
@@ -6239,7 +6250,7 @@ var Mr = class {
6239
6250
  generation: i,
6240
6251
  durationMs: o
6241
6252
  };
6242
- jr(`registered cube set '${e}': ${r.size} cube(s), ${s} dimension(s), generation ${i}, ${o}ms`), this.onCubeSetRegistered?.(c);
6253
+ Nr(`registered cube set '${e}': ${r.size} cube(s), ${s} dimension(s), generation ${i}, ${o}ms`), this.onCubeSetRegistered?.(c);
6243
6254
  }
6244
6255
  unregisterCubeSet(e) {
6245
6256
  let t = this.cubeSets.delete(e);
@@ -6394,7 +6405,7 @@ var Mr = class {
6394
6405
  return "unknown_column";
6395
6406
  }
6396
6407
  generateCubeMetadata(e, t) {
6397
- let n = Dr(e), r = Or(e), i = kr(e, t, (e) => this.getColumnName(e)), a = Ar(e);
6408
+ let n = kr(e), r = Ar(e), i = jr(e, t, (e) => this.getColumnName(e)), a = Mr(e);
6398
6409
  return {
6399
6410
  name: e.name,
6400
6411
  title: e.title || e.name,
@@ -6464,4 +6475,4 @@ var Mr = class {
6464
6475
  }
6465
6476
  };
6466
6477
  //#endregion
6467
- export { Mr as t };
6478
+ export { Pr as t };