drizzle-cube 0.10.0 → 0.11.0

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 (334) 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-B-yljK02.cjs +166 -0
  62. package/dist/adapters/{compiler-BKg3j2mm.js → compiler-BhityGUO.js} +1146 -1108
  63. package/dist/adapters/core/index.cjs +1 -1
  64. package/dist/adapters/core/index.js +1 -1
  65. package/dist/adapters/{core-JgUTMhxl.cjs → core-CQOrzBNh.cjs} +1 -1
  66. package/dist/adapters/{core-Bmb7XMBz.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 +23 -23
  71. package/dist/adapters/{handler-B1_zd-qo.js → handler-ByeQ0-1r.js} +238 -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-BTmAXLo8.js → mcp-transport-Cy6n4uj1.js} +1 -1
  82. package/dist/adapters/{mcp-transport-DzxluRyH.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-Br__Bn2t.cjs → openai-BQl0yJCS.cjs} +2 -2
  86. package/dist/adapters/{openai-BpcMIv4e.js → openai-C4HrjyJj.js} +1 -1
  87. package/dist/adapters/{openai-yfJF-3Rv.js → openai-D3Nt6Bj7.js} +3 -3
  88. package/dist/adapters/{openai-C32tey5N.cjs → openai-z1ai-G4Q.cjs} +1 -1
  89. package/dist/adapters/{utils-i2h5cwI3.js → utils-BaxFceDq.js} +1070 -937
  90. package/dist/adapters/utils-a2p2B6x8.cjs +141 -0
  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/DashboardFilters/useCompactFilterBar.d.ts +5 -0
  95. package/dist/cjs/client/components/analyticsPortlet/usePortletQueryResults.d.ts +3 -1
  96. package/dist/cjs/client/components/dashboardPortletCard/PortletCardHeader.d.ts +2 -0
  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 +3 -0
  102. package/dist/cjs/client/utils/filterUtils.d.ts +30 -0
  103. package/dist/cjs/client/utils/gapFilling.d.ts +52 -0
  104. package/dist/cjs/client/utils/index.d.ts +1 -0
  105. package/dist/cjs/client/utils/joinReachability.d.ts +1 -0
  106. package/dist/cjs/server/ai/query-schema.d.ts +8 -3
  107. package/dist/cjs/server/builders/date-time-builder.d.ts +1 -1
  108. package/dist/cjs/server/builders/date-time-helpers.d.ts +2 -0
  109. package/dist/cjs/server/builders/filter-builder.d.ts +1 -1
  110. package/dist/cjs/server/builders/in-date-range-validation.d.ts +25 -0
  111. package/dist/cjs/server/execution/result-post-processor.d.ts +4 -2
  112. package/dist/cjs/server/executor.d.ts +2 -0
  113. package/dist/cjs/server/gap-filler.d.ts +8 -43
  114. package/dist/cjs/server/types/core.d.ts +2 -0
  115. package/dist/cjs/server/types/cube.d.ts +12 -0
  116. package/dist/cjs/server/types/metadata.d.ts +5 -0
  117. package/dist/cjs/server/types/query.d.ts +2 -1
  118. package/dist/client/charts/chartConfigHelpers.d.ts +5 -0
  119. package/dist/client/charts.js +12 -12
  120. package/dist/client/chunks/{DashboardEditModal-P-HUNrcp.js → DashboardEditModal-CIR4aqr7.js} +2424 -2559
  121. package/dist/client/chunks/DashboardEditModal-CIR4aqr7.js.map +1 -0
  122. package/dist/client/chunks/{DotStripChart-in6QHc0b.js → DotStripChart-B9IVCFPO.js} +3 -3
  123. package/dist/client/chunks/{DotStripChart-in6QHc0b.js.map → DotStripChart-B9IVCFPO.js.map} +1 -1
  124. package/dist/client/chunks/{ProportionBarChart-CjuOm7NT.js → ProportionBarChart-DieF9AzP.js} +3 -3
  125. package/dist/client/chunks/{ProportionBarChart-CjuOm7NT.js.map → ProportionBarChart-DieF9AzP.js.map} +1 -1
  126. package/dist/client/chunks/{RecordsTable-CXXsiaV1.js → RecordsTable-Mo3ai5_M.js} +4 -4
  127. package/dist/client/chunks/{RecordsTable-CXXsiaV1.js.map → RecordsTable-Mo3ai5_M.js.map} +1 -1
  128. package/dist/client/chunks/{RetentionCombinedChart-DFCeEFkx.js → RetentionCombinedChart-Bie4ADyA.js} +3 -3
  129. package/dist/client/chunks/{RetentionCombinedChart-DFCeEFkx.js.map → RetentionCombinedChart-Bie4ADyA.js.map} +1 -1
  130. package/dist/client/chunks/{RetentionHeatmap-jpshJ2Af.js → RetentionHeatmap-qstIAx5B.js} +2 -2
  131. package/dist/client/chunks/{RetentionHeatmap-jpshJ2Af.js.map → RetentionHeatmap-qstIAx5B.js.map} +1 -1
  132. package/dist/client/chunks/{af-ZA-C0dGb_53.js → af-ZA-BglLInx4.js} +13 -1
  133. package/dist/client/chunks/{af-ZA-C0dGb_53.js.map → af-ZA-BglLInx4.js.map} +1 -1
  134. package/dist/client/chunks/{analysis-builder-CRghdHVl.js → analysis-builder-DJNYt7CF.js} +41 -41
  135. package/dist/client/chunks/{analysis-builder-CRghdHVl.js.map → analysis-builder-DJNYt7CF.js.map} +1 -1
  136. package/dist/client/chunks/{analysis-builder-shared-DBSxWIj8.js → analysis-builder-shared-DPLR8upd.js} +487 -483
  137. package/dist/client/chunks/analysis-builder-shared-DPLR8upd.js.map +1 -0
  138. package/dist/client/chunks/{chart-activity-grid-DGazwi4C.js → chart-activity-grid-Ly_-2B-f.js} +22 -4
  139. package/dist/client/chunks/chart-activity-grid-Ly_-2B-f.js.map +1 -0
  140. package/dist/client/chunks/{chart-area-zyLGD-ym.js → chart-area-D3l-71Wy.js} +2 -2
  141. package/dist/client/chunks/{chart-area-zyLGD-ym.js.map → chart-area-D3l-71Wy.js.map} +1 -1
  142. package/dist/client/chunks/{chart-bar-DMCBq8qJ.js → chart-bar-BaTyQOqs.js} +3 -3
  143. package/dist/client/chunks/{chart-bar-DMCBq8qJ.js.map → chart-bar-BaTyQOqs.js.map} +1 -1
  144. package/dist/client/chunks/{chart-box-plot-5Z55A-it.js → chart-box-plot-Cem6PHjz.js} +2 -2
  145. package/dist/client/chunks/{chart-box-plot-5Z55A-it.js.map → chart-box-plot-Cem6PHjz.js.map} +1 -1
  146. package/dist/client/chunks/{chart-bubble-YD28dX8w.js → chart-bubble-DFlfqCDG.js} +2 -2
  147. package/dist/client/chunks/{chart-bubble-YD28dX8w.js.map → chart-bubble-DFlfqCDG.js.map} +1 -1
  148. package/dist/client/chunks/{chart-candlestick-BUMpBI08.js → chart-candlestick-BkAFBXtZ.js} +2 -2
  149. package/dist/client/chunks/{chart-candlestick-BUMpBI08.js.map → chart-candlestick-BkAFBXtZ.js.map} +1 -1
  150. package/dist/client/chunks/{chart-config-area-DsrZCIwF.js → chart-config-area-BnsRQ-MY.js} +35 -14
  151. package/dist/client/chunks/chart-config-area-BnsRQ-MY.js.map +1 -0
  152. package/dist/client/chunks/{chart-config-bar-BixSs43E.js → chart-config-bar-G2HJJBVV.js} +8 -7
  153. package/dist/client/chunks/chart-config-bar-G2HJJBVV.js.map +1 -0
  154. package/dist/client/chunks/{chart-config-kpi-delta-Cl7k6jTj.js → chart-config-kpi-delta-BIAq1Ftg.js} +2 -2
  155. package/dist/client/chunks/{chart-config-kpi-delta-Cl7k6jTj.js.map → chart-config-kpi-delta-BIAq1Ftg.js.map} +1 -1
  156. package/dist/client/chunks/{chart-config-kpi-number-DCcnANWC.js → chart-config-kpi-number-Dgc4gIYu.js} +2 -2
  157. package/dist/client/chunks/{chart-config-kpi-number-DCcnANWC.js.map → chart-config-kpi-number-Dgc4gIYu.js.map} +1 -1
  158. package/dist/client/chunks/{chart-config-line-CBF9Px9b.js → chart-config-line-DLkRs1Zr.js} +9 -8
  159. package/dist/client/chunks/chart-config-line-DLkRs1Zr.js.map +1 -0
  160. package/dist/client/chunks/{chart-config-pie-DZLa6Eqm.js → chart-config-pie-XrHim0C8.js} +2 -2
  161. package/dist/client/chunks/{chart-config-pie-DZLa6Eqm.js.map → chart-config-pie-XrHim0C8.js.map} +1 -1
  162. package/dist/client/chunks/{chart-config-radar-DR6vHHyd.js → chart-config-radar-xNS6Juqc.js} +2 -2
  163. package/dist/client/chunks/{chart-config-radar-DR6vHHyd.js.map → chart-config-radar-xNS6Juqc.js.map} +1 -1
  164. package/dist/client/chunks/{chart-config-radial-bar-DVFou4fB.js → chart-config-radial-bar-ChUChsEe.js} +2 -2
  165. package/dist/client/chunks/{chart-config-radial-bar-DVFou4fB.js.map → chart-config-radial-bar-ChUChsEe.js.map} +1 -1
  166. package/dist/client/chunks/{chart-config-tree-map-Uhise6Bx.js → chart-config-tree-map-CnrJ7OC1.js} +2 -2
  167. package/dist/client/chunks/{chart-config-tree-map-Uhise6Bx.js.map → chart-config-tree-map-CnrJ7OC1.js.map} +1 -1
  168. package/dist/client/chunks/{chart-data-table-BdMo3zVh.js → chart-data-table-Cxd0cdAl.js} +36 -36
  169. package/dist/client/chunks/{chart-data-table-BdMo3zVh.js.map → chart-data-table-Cxd0cdAl.js.map} +1 -1
  170. package/dist/client/chunks/{chart-funnel-BRyZS6ie.js → chart-funnel-71Kn4eeF.js} +2 -2
  171. package/dist/client/chunks/{chart-funnel-BRyZS6ie.js.map → chart-funnel-71Kn4eeF.js.map} +1 -1
  172. package/dist/client/chunks/{chart-gauge-DxgHlZKp.js → chart-gauge-BddS_9oS.js} +3 -3
  173. package/dist/client/chunks/{chart-gauge-DxgHlZKp.js.map → chart-gauge-BddS_9oS.js.map} +1 -1
  174. package/dist/client/chunks/{chart-heat-map-5jHm3f-V.js → chart-heat-map-BQIsrn8m.js} +3 -3
  175. package/dist/client/chunks/{chart-heat-map-5jHm3f-V.js.map → chart-heat-map-BQIsrn8m.js.map} +1 -1
  176. package/dist/client/chunks/{chart-kpi-delta-C84P-mwu.js → chart-kpi-delta-DndbqdZT.js} +3 -3
  177. package/dist/client/chunks/{chart-kpi-delta-C84P-mwu.js.map → chart-kpi-delta-DndbqdZT.js.map} +1 -1
  178. package/dist/client/chunks/{chart-kpi-number-D9GqtBWw.js → chart-kpi-number-DAbfoHMt.js} +5 -5
  179. package/dist/client/chunks/{chart-kpi-number-D9GqtBWw.js.map → chart-kpi-number-DAbfoHMt.js.map} +1 -1
  180. package/dist/client/chunks/{chart-kpi-text-D3HqxXzU.js → chart-kpi-text-D8oQgpxL.js} +3 -3
  181. package/dist/client/chunks/{chart-kpi-text-D3HqxXzU.js.map → chart-kpi-text-D8oQgpxL.js.map} +1 -1
  182. package/dist/client/chunks/{chart-line-IEgiF8Nv.js → chart-line-BNqjUowg.js} +3 -3
  183. package/dist/client/chunks/{chart-line-IEgiF8Nv.js.map → chart-line-BNqjUowg.js.map} +1 -1
  184. package/dist/client/chunks/{chart-markdown-B_2Ed7FJ.js → chart-markdown-DtgpU3xd.js} +2 -2
  185. package/dist/client/chunks/{chart-markdown-B_2Ed7FJ.js.map → chart-markdown-DtgpU3xd.js.map} +1 -1
  186. package/dist/client/chunks/{chart-measure-profile-CWsPrQhH.js → chart-measure-profile-D5nZMWlI.js} +3 -3
  187. package/dist/client/chunks/{chart-measure-profile-CWsPrQhH.js.map → chart-measure-profile-D5nZMWlI.js.map} +1 -1
  188. package/dist/client/chunks/{chart-pie-BEB2sCXF.js → chart-pie-D8r9HCZ4.js} +3 -3
  189. package/dist/client/chunks/{chart-pie-BEB2sCXF.js.map → chart-pie-D8r9HCZ4.js.map} +1 -1
  190. package/dist/client/chunks/{chart-radar-BbSbXKbP.js → chart-radar-R4PuCIWp.js} +3 -3
  191. package/dist/client/chunks/{chart-radar-BbSbXKbP.js.map → chart-radar-R4PuCIWp.js.map} +1 -1
  192. package/dist/client/chunks/{chart-radial-bar-CNYD7tkM.js → chart-radial-bar-hmrSFa6O.js} +3 -3
  193. package/dist/client/chunks/{chart-radial-bar-CNYD7tkM.js.map → chart-radial-bar-hmrSFa6O.js.map} +1 -1
  194. package/dist/client/chunks/{chart-sankey-DKnTIvSr.js → chart-sankey-CFXPybny.js} +2 -2
  195. package/dist/client/chunks/{chart-sankey-DKnTIvSr.js.map → chart-sankey-CFXPybny.js.map} +1 -1
  196. package/dist/client/chunks/{chart-scatter-CSWF6-lx.js → chart-scatter-CH82md0L.js} +3 -3
  197. package/dist/client/chunks/{chart-scatter-CSWF6-lx.js.map → chart-scatter-CH82md0L.js.map} +1 -1
  198. package/dist/client/chunks/{chart-sunburst-CdGzCq7q.js → chart-sunburst-CTj95eEC.js} +3 -3
  199. package/dist/client/chunks/{chart-sunburst-CdGzCq7q.js.map → chart-sunburst-CTj95eEC.js.map} +1 -1
  200. package/dist/client/chunks/{chart-tree-map-BiXB7EiM.js → chart-tree-map-CmysE4bF.js} +3 -3
  201. package/dist/client/chunks/{chart-tree-map-BiXB7EiM.js.map → chart-tree-map-CmysE4bF.js.map} +1 -1
  202. package/dist/client/chunks/{chart-waterfall-5rSDeLEZ.js → chart-waterfall-Bv1mPvlB.js} +3 -3
  203. package/dist/client/chunks/{chart-waterfall-5rSDeLEZ.js.map → chart-waterfall-Bv1mPvlB.js.map} +1 -1
  204. package/dist/client/chunks/{charts-core-CKpkoMCa.js → charts-core-BdEQgbqN.js} +2 -2
  205. package/dist/client/chunks/{charts-core-CKpkoMCa.js.map → charts-core-BdEQgbqN.js.map} +1 -1
  206. package/dist/client/chunks/charts-loader-DoLQqFXg.js +87 -0
  207. package/dist/client/chunks/{charts-loader-BTI0UPK4.js.map → charts-loader-DoLQqFXg.js.map} +1 -1
  208. package/dist/client/chunks/gapFilling-DKBRHcQL.js +391 -0
  209. package/dist/client/chunks/gapFilling-DKBRHcQL.js.map +1 -0
  210. package/dist/client/chunks/{nl-NL-kRjxedTf.js → nl-NL-DVZXf8U7.js} +20 -2
  211. package/dist/client/chunks/nl-NL-DVZXf8U7.js.map +1 -0
  212. package/dist/client/chunks/{schema-visualization-BbvL74Sf.js → schema-visualization-MlRrcJQH.js} +3 -3
  213. package/dist/client/chunks/{schema-visualization-BbvL74Sf.js.map → schema-visualization-MlRrcJQH.js.map} +1 -1
  214. package/dist/client/chunks/{useDirtyStateTracking-BfG1lX_3.js → useDirtyStateTracking-DSkxAJ29.js} +317 -292
  215. package/dist/client/chunks/useDirtyStateTracking-DSkxAJ29.js.map +1 -0
  216. package/dist/client/chunks/{useExplainAI-CDFhgmpE.js → useExplainAI-DRCIVcbu.js} +4 -4
  217. package/dist/client/chunks/{useExplainAI-CDFhgmpE.js.map → useExplainAI-DRCIVcbu.js.map} +1 -1
  218. package/dist/client/chunks/utils-CToHkuhU.js.map +1 -1
  219. package/dist/client/chunks/{vendor-DeckzF1j.js → vendor-BfBpNmMa.js} +2 -2
  220. package/dist/client/chunks/{vendor-DeckzF1j.js.map → vendor-BfBpNmMa.js.map} +1 -1
  221. package/dist/client/components/DashboardFilters/useCompactFilterBar.d.ts +5 -0
  222. package/dist/client/components/analyticsPortlet/usePortletQueryResults.d.ts +3 -1
  223. package/dist/client/components/dashboardPortletCard/PortletCardHeader.d.ts +2 -0
  224. package/dist/client/components.js +2 -2
  225. package/dist/client/hooks/queries/useCubeLoadQuery.d.ts +7 -0
  226. package/dist/client/hooks/queries/useMultiCubeLoadQuery.d.ts +7 -0
  227. package/dist/client/hooks/useAnalysisQuery.d.ts +6 -1
  228. package/dist/client/hooks.js +3 -3
  229. package/dist/client/icons.js +1 -1
  230. package/dist/client/index.d.ts +2 -0
  231. package/dist/client/index.js +193 -192
  232. package/dist/client/index.js.map +1 -1
  233. package/dist/client/providers.js +1 -1
  234. package/dist/client/schema.js +1 -1
  235. package/dist/client/types.d.ts +3 -0
  236. package/dist/client/utils/filterUtils.d.ts +30 -0
  237. package/dist/client/utils/gapFilling.d.ts +52 -0
  238. package/dist/client/utils/index.d.ts +1 -0
  239. package/dist/client/utils/joinReachability.d.ts +1 -0
  240. package/dist/client/utils.js +9 -8
  241. package/dist/client/utils.js.map +1 -1
  242. package/dist/client-bundle-stats.html +1 -1
  243. package/dist/mcp-app/mcp-app.html +103 -103
  244. package/dist/server/ai/query-schema.d.ts +8 -3
  245. package/dist/server/builders/date-time-builder.d.ts +1 -1
  246. package/dist/server/builders/date-time-helpers.d.ts +2 -0
  247. package/dist/server/builders/filter-builder.d.ts +1 -1
  248. package/dist/server/builders/in-date-range-validation.d.ts +25 -0
  249. package/dist/server/chartConfigHelpers-BhME7ow_.cjs +1 -0
  250. package/dist/server/{chartConfigHelpers-BsnbxA2c.js → chartConfigHelpers-BsviVhEw.js} +27 -7
  251. package/dist/server/execution/result-post-processor.d.ts +4 -2
  252. package/dist/server/executor.d.ts +2 -0
  253. package/dist/server/gap-filler.d.ts +8 -43
  254. package/dist/server/index.cjs +49 -47
  255. package/dist/server/index.js +2114 -1955
  256. package/dist/server/types/core.d.ts +2 -0
  257. package/dist/server/types/cube.d.ts +12 -0
  258. package/dist/server/types/metadata.d.ts +5 -0
  259. package/dist/server/types/query.d.ts +2 -1
  260. package/package.json +2 -1
  261. package/dist/adapters/ActivityGridChart.config-BW77mjsu.cjs +0 -1
  262. package/dist/adapters/ActivityGridChart.config-DQRnTU6e.js +0 -2
  263. package/dist/adapters/AreaChart.config-DbvLVr-Y.cjs +0 -1
  264. package/dist/adapters/AreaChart.config-JbVNmary.js +0 -2
  265. package/dist/adapters/BarChart.config-Bkpwgqbk.js +0 -2
  266. package/dist/adapters/BarChart.config-jgDE3NUv.cjs +0 -1
  267. package/dist/adapters/BoxPlotChart.config-9wKKOZfN.cjs +0 -1
  268. package/dist/adapters/BoxPlotChart.config-Di99sPNJ.js +0 -2
  269. package/dist/adapters/BubbleChart.config-Cdg9nPFz.js +0 -2
  270. package/dist/adapters/BubbleChart.config-CwDXzdxC.cjs +0 -1
  271. package/dist/adapters/CandlestickChart.config-B45GmJYV.js +0 -2
  272. package/dist/adapters/CandlestickChart.config-C8BXzmbD.cjs +0 -1
  273. package/dist/adapters/DataTable.config-c-24M_qU.cjs +0 -1
  274. package/dist/adapters/DataTable.config-fic2OroS.js +0 -2
  275. package/dist/adapters/DotStripChart.config-BcNT3Les.cjs +0 -1
  276. package/dist/adapters/DotStripChart.config-Cqmgw5_z.js +0 -2
  277. package/dist/adapters/FunnelChart.config-D1E5zSay.cjs +0 -1
  278. package/dist/adapters/FunnelChart.config-DPjSoYex.js +0 -2
  279. package/dist/adapters/GaugeChart.config-BDcvnYln.js +0 -2
  280. package/dist/adapters/GaugeChart.config-DQnx37Jf.cjs +0 -1
  281. package/dist/adapters/HeatMapChart.config-BWd863ik.js +0 -2
  282. package/dist/adapters/HeatMapChart.config-HEbSm_Zt.cjs +0 -1
  283. package/dist/adapters/KpiDelta.config-Bj3kfmWv.js +0 -2
  284. package/dist/adapters/KpiDelta.config-CaLnl2w_.cjs +0 -1
  285. package/dist/adapters/KpiNumber.config-Da9HxGT8.cjs +0 -1
  286. package/dist/adapters/KpiNumber.config-n4SwHHlD.js +0 -2
  287. package/dist/adapters/KpiText.config-8VzcnlPF.cjs +0 -1
  288. package/dist/adapters/KpiText.config-CItv_gG6.js +0 -2
  289. package/dist/adapters/LineChart.config-DQ7nHYrr.js +0 -2
  290. package/dist/adapters/LineChart.config-_98RmRA_.cjs +0 -1
  291. package/dist/adapters/MarkdownChart.config-BpbqJDoz.cjs +0 -1
  292. package/dist/adapters/MarkdownChart.config-Dz7KZ621.js +0 -2
  293. package/dist/adapters/MeasureProfileChart.config-BTCTP7L0.js +0 -2
  294. package/dist/adapters/MeasureProfileChart.config-DzPxIxB5.cjs +0 -1
  295. package/dist/adapters/PieChart.config-BhjlnVFv.js +0 -2
  296. package/dist/adapters/PieChart.config-DJlGNsBY.cjs +0 -1
  297. package/dist/adapters/ProportionBarChart.config-Byp_8diR.cjs +0 -1
  298. package/dist/adapters/ProportionBarChart.config-RyjNhw3T.js +0 -2
  299. package/dist/adapters/RadarChart.config-BWdv4uyp.js +0 -2
  300. package/dist/adapters/RadarChart.config-kW4oIVi4.cjs +0 -1
  301. package/dist/adapters/RadialBarChart.config-CFYPoRQY.cjs +0 -1
  302. package/dist/adapters/RadialBarChart.config-D2-_-Z64.js +0 -2
  303. package/dist/adapters/RecordsTable.config-B7KFt3kd.cjs +0 -1
  304. package/dist/adapters/RecordsTable.config-S_aiXGKe.js +0 -2
  305. package/dist/adapters/RetentionCombinedChart.config-CVGWozL3.js +0 -2
  306. package/dist/adapters/RetentionCombinedChart.config-Cd0pTdHY.cjs +0 -1
  307. package/dist/adapters/RetentionHeatmap.config-BNqtWFjQ.js +0 -2
  308. package/dist/adapters/RetentionHeatmap.config-CMi1h_5M.cjs +0 -1
  309. package/dist/adapters/SankeyChart.config-COIfx3Ua.cjs +0 -1
  310. package/dist/adapters/SankeyChart.config-DIh4nEk2.js +0 -2
  311. package/dist/adapters/ScatterChart.config-CrSQhlT4.js +0 -2
  312. package/dist/adapters/ScatterChart.config-DRgg-HAm.cjs +0 -1
  313. package/dist/adapters/SunburstChart.config-08-ufQaK.cjs +0 -1
  314. package/dist/adapters/SunburstChart.config-DmNgAJrO.js +0 -2
  315. package/dist/adapters/TreeMapChart.config-7k2repRB.cjs +0 -1
  316. package/dist/adapters/TreeMapChart.config-C3vzB2dD.js +0 -2
  317. package/dist/adapters/WaterfallChart.config-AV2pHgrb.js +0 -2
  318. package/dist/adapters/WaterfallChart.config-USpcvapo.cjs +0 -1
  319. package/dist/adapters/chartConfigHelpers-BZMu_1EP.cjs +0 -1
  320. package/dist/adapters/compiler-BX6Ug_Uq.cjs +0 -166
  321. package/dist/adapters/handler-CfZt5W8b.cjs +0 -16
  322. package/dist/adapters/mcp-app-html-BNg78ecJ.js +0 -5
  323. package/dist/adapters/mcp-app-html-N18EJEvv.cjs +0 -1
  324. package/dist/adapters/utils-Du_UZbn5.cjs +0 -139
  325. package/dist/client/chunks/DashboardEditModal-P-HUNrcp.js.map +0 -1
  326. package/dist/client/chunks/analysis-builder-shared-DBSxWIj8.js.map +0 -1
  327. package/dist/client/chunks/chart-activity-grid-DGazwi4C.js.map +0 -1
  328. package/dist/client/chunks/chart-config-area-DsrZCIwF.js.map +0 -1
  329. package/dist/client/chunks/chart-config-bar-BixSs43E.js.map +0 -1
  330. package/dist/client/chunks/chart-config-line-CBF9Px9b.js.map +0 -1
  331. package/dist/client/chunks/charts-loader-BTI0UPK4.js +0 -87
  332. package/dist/client/chunks/nl-NL-kRjxedTf.js.map +0 -1
  333. package/dist/client/chunks/useDirtyStateTracking-BfG1lX_3.js.map +0 -1
  334. package/dist/server/chartConfigHelpers-BZMu_1EP.cjs +0 -1
@@ -44,8 +44,13 @@ export declare const QUERY_PARAMS_SCHEMA: {
44
44
  };
45
45
  readonly values: {
46
46
  readonly type: "array";
47
- readonly items: {};
48
- readonly description: "Filter values. Omit for set/notSet/isEmpty/isNotEmpty. inDateRange: [\"last 3 months\"] (one relative string) or [\"YYYY-MM-DD\", \"YYYY-MM-DD\"].";
47
+ readonly items: {
48
+ readonly type: readonly ["string", "number", "boolean"];
49
+ };
50
+ readonly description: "Filter values. Omit for set/notSet/isEmpty/isNotEmpty. inDateRange accepts ONLY a flat two-date array (strings or finite numeric timestamps): [\"2024-01-01\", \"2024-03-31\"], or a one-item array holding one relative expression or one date (that whole day): [\"last 3 months\"], [\"2024-01-15\"]. Never nest the two-date array.";
51
+ };
52
+ readonly dateRange: {
53
+ readonly description: "inDateRange only: alternative to values. A supported relative string, one absolute date string, or flat two-date array. Prefer values: [] when using dateRange; if values are also given they must hold the same range.";
49
54
  };
50
55
  };
51
56
  readonly required: readonly ["member", "operator"];
@@ -71,7 +76,7 @@ export declare const QUERY_PARAMS_SCHEMA: {
71
76
  };
72
77
  readonly fillMissingDates: {
73
78
  readonly type: "boolean";
74
- readonly description: "Fill gaps in time series with fillMissingDatesValue (default: true). Requires granularity + dateRange.";
79
+ readonly description: "Fill gaps in time series with fillMissingDatesValue. Default: off (observed rows only) unless the cube time dimension enables it. Requires granularity + dateRange.";
75
80
  };
76
81
  readonly compareDateRange: {
77
82
  readonly type: "array";
@@ -11,7 +11,7 @@ export declare class DateTimeBuilder {
11
11
  /**
12
12
  * Build date range condition for time dimensions
13
13
  */
14
- buildDateRangeCondition(fieldExpr: AnyColumn | SQL, dateRange: string | string[]): SQL | null;
14
+ buildDateRangeCondition(fieldExpr: AnyColumn | SQL, dateRange: unknown): SQL | null;
15
15
  private rangeBetween;
16
16
  /** Shift a normalized end value to end-of-day when its source was a date-only string. */
17
17
  private endOfDayValue;
@@ -17,6 +17,8 @@ export declare function dateToEngineValue(databaseAdapter: DatabaseAdapter, date
17
17
  export declare function engineValueToDate(databaseAdapter: DatabaseAdapter, value: string | number): Date;
18
18
  /** Detect a date-only string (YYYY-MM-DD). */
19
19
  export declare function isDateOnlyString(value: unknown): value is string;
20
+ /** Parse a string/number/Date into a validated Date, or null if invalid. */
21
+ export declare function toValidDate(value: unknown): Date | null;
20
22
  /**
21
23
  * Normalize a date value to the engine's wire format, or null when falsy or
22
24
  * unparseable.
@@ -9,7 +9,7 @@ export declare class FilterBuilder {
9
9
  /**
10
10
  * Build filter condition using Drizzle operators
11
11
  */
12
- buildFilterCondition(fieldExpr: AnyColumn | SQL, operator: FilterOperator, values: any[], field?: any, dateRange?: string | string[]): SQL | null;
12
+ buildFilterCondition(fieldExpr: AnyColumn | SQL, operator: FilterOperator, values: any[], field?: any, dateRangeInput?: string | string[] | null): SQL | null;
13
13
  /**
14
14
  * Build a logical filter (AND/OR) - used by executor for cache preloading
15
15
  * This handles nested filter structures and builds combined SQL
@@ -0,0 +1,25 @@
1
+ export type DateRangeReason = 'missing' | 'shape' | 'invalidDate' | 'invalidRelative' | 'reverseOrder' | 'conflict';
2
+ export type DateRangeValidation = {
3
+ valid: true;
4
+ } | {
5
+ valid: false;
6
+ reason: DateRangeReason;
7
+ input: 'values' | 'dateRange';
8
+ value?: string;
9
+ };
10
+ /** Validate an exact absolute tuple without accepting JS Date rollover or nested arrays. */
11
+ export declare function validateDateTuple(value: unknown): DateRangeReason | null;
12
+ /**
13
+ * Validate a standalone date range (`filter.dateRange` or `timeDimensions[].dateRange`):
14
+ * a relative expression, one absolute day, or a flat `[start, end]` pair.
15
+ */
16
+ export declare function validateDateRangeInput(dateRange: unknown): DateRangeValidation;
17
+ export declare function validateInDateRange(values: unknown, dateRange?: unknown): DateRangeValidation;
18
+ /**
19
+ * Diagnostic for SQL builders, which only see a field expression. Queries are
20
+ * validated before they reach the builders, so this only surfaces for callers
21
+ * that bypass validation.
22
+ */
23
+ export declare function dateRangeInputDiagnostic(result: DateRangeValidation): string;
24
+ export declare function timeDimensionDateRangeDiagnostic(member: string, result: DateRangeValidation): string;
25
+ export declare function inDateRangeDiagnostic(member: string, result: DateRangeValidation): string;
@@ -0,0 +1 @@
1
+ function e({measureCount:e,dimensionCount:t}){return e<1?{available:!1,reason:`chart.availability.requiresMeasure`}:t<1?{available:!1,reason:`chart.availability.requiresDimension`}:{available:!0}}function t({measureCount:e}){return e<1?{available:!1,reason:`chart.availability.requiresMeasure`}:{available:!0}}var n={key:`target`,label:`chart.option.target.label`,type:`string`,placeholder:`e.g., 100 or 50,75 for spread`,description:`chart.option.target.description`},r={key:`connectNulls`,label:`chart.option.connectNulls.label`,type:`boolean`,defaultValue:!1,description:`chart.option.connectNulls.description`},i={key:`fillMissingDates`,label:`chart.option.fillMissingDates.label`,type:`buttonGroup`,defaultValue:`auto`,options:[{value:`auto`,label:`chart.option.fillMissingDates.auto`},{value:!0,label:`chart.option.fillMissingDates.on`},{value:!1,label:`chart.option.fillMissingDates.off`}],description:`chart.option.fillMissingDates.description`},a={key:`leftYAxisFormat`,label:`chart.option.leftYAxisFormat.label`,type:`axisFormat`,description:`chart.option.leftYAxisFormat.description`},o={key:`rightYAxisFormat`,label:`chart.option.rightYAxisFormat.label`,type:`axisFormat`,description:`chart.option.rightYAxisFormat.description`};function s(e=`chart.option.valueFormat.description`){return{key:`leftYAxisFormat`,label:`chart.option.valueFormat.label`,type:`axisFormat`,description:e}}function c(e){return{key:`stackType`,label:`chart.option.stacking.label`,type:`select`,defaultValue:`none`,options:[{value:`none`,label:`chart.option.accentBorder.none`},{value:`normal`,label:`chart.option.stacking.stacked`},{value:`percent`,label:`chart.option.stacking.percent`}],description:e}}var l={key:`layout`,label:`chart.option.kpiLayout.label`,type:`buttonGroup`,defaultValue:`auto`,options:[{value:`auto`,label:`chart.option.kpiLayout.auto`},{value:`compact`,label:`chart.option.kpiLayout.compact`}],description:`chart.option.kpiLayout.description`},u={key:`showSummary`,label:`chart.option.showSummary.label`,type:`boolean`,defaultValue:!1,description:`chart.option.showSummary.description`};function d(e=!0){return{key:`showPoints`,label:`chart.option.showPoints.label`,type:`boolean`,defaultValue:e,description:`chart.option.showPoints.description`}}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return c}});
@@ -27,17 +27,37 @@ var n = {
27
27
  defaultValue: !1,
28
28
  description: "chart.option.connectNulls.description"
29
29
  }, i = {
30
+ key: "fillMissingDates",
31
+ label: "chart.option.fillMissingDates.label",
32
+ type: "buttonGroup",
33
+ defaultValue: "auto",
34
+ options: [
35
+ {
36
+ value: "auto",
37
+ label: "chart.option.fillMissingDates.auto"
38
+ },
39
+ {
40
+ value: !0,
41
+ label: "chart.option.fillMissingDates.on"
42
+ },
43
+ {
44
+ value: !1,
45
+ label: "chart.option.fillMissingDates.off"
46
+ }
47
+ ],
48
+ description: "chart.option.fillMissingDates.description"
49
+ }, a = {
30
50
  key: "leftYAxisFormat",
31
51
  label: "chart.option.leftYAxisFormat.label",
32
52
  type: "axisFormat",
33
53
  description: "chart.option.leftYAxisFormat.description"
34
- }, a = {
54
+ }, o = {
35
55
  key: "rightYAxisFormat",
36
56
  label: "chart.option.rightYAxisFormat.label",
37
57
  type: "axisFormat",
38
58
  description: "chart.option.rightYAxisFormat.description"
39
59
  };
40
- function o(e = "chart.option.valueFormat.description") {
60
+ function s(e = "chart.option.valueFormat.description") {
41
61
  return {
42
62
  key: "leftYAxisFormat",
43
63
  label: "chart.option.valueFormat.label",
@@ -45,7 +65,7 @@ function o(e = "chart.option.valueFormat.description") {
45
65
  description: e
46
66
  };
47
67
  }
48
- function s(e) {
68
+ function c(e) {
49
69
  return {
50
70
  key: "stackType",
51
71
  label: "chart.option.stacking.label",
@@ -68,7 +88,7 @@ function s(e) {
68
88
  description: e
69
89
  };
70
90
  }
71
- var c = {
91
+ var l = {
72
92
  key: "layout",
73
93
  label: "chart.option.kpiLayout.label",
74
94
  type: "buttonGroup",
@@ -81,14 +101,14 @@ var c = {
81
101
  label: "chart.option.kpiLayout.compact"
82
102
  }],
83
103
  description: "chart.option.kpiLayout.description"
84
- }, l = {
104
+ }, u = {
85
105
  key: "showSummary",
86
106
  label: "chart.option.showSummary.label",
87
107
  type: "boolean",
88
108
  defaultValue: !1,
89
109
  description: "chart.option.showSummary.description"
90
110
  };
91
- function u(e = !0) {
111
+ function d(e = !0) {
92
112
  return {
93
113
  key: "showPoints",
94
114
  label: "chart.option.showPoints.label",
@@ -98,4 +118,4 @@ function u(e = !0) {
98
118
  };
99
119
  }
100
120
  //#endregion
101
- export { e as a, l as c, o as d, t as i, s as l, c as n, a as o, i as r, u as s, r as t, n as u };
121
+ export { t as a, d as c, n as d, s as f, a as i, u as l, i as n, e as o, l as r, o as s, r as t, c as u };
@@ -1,4 +1,4 @@
1
- import { SemanticQuery } from '../types/index.js';
1
+ import { Cube, SemanticQuery } from '../types/index.js';
2
2
  import { DatabaseAdapter } from '../adapters/base-adapter.js';
3
3
  /**
4
4
  * Normalise time-dimension values in result rows and apply gap filling.
@@ -6,5 +6,7 @@ import { DatabaseAdapter } from '../adapters/base-adapter.js';
6
6
  * @param data Raw rows from the database executor
7
7
  * @param query The semantic query (for timeDimensions + measures)
8
8
  * @param databaseAdapter Adapter used to convert engine-specific date results
9
+ * @param cubes Cube definitions, for each time dimension's `fillMissingDates`
10
+ * @param fillByDefault Gap-fill time dimensions neither the query nor the cube configures
9
11
  */
10
- export declare function postProcessResultRows(data: unknown, query: SemanticQuery, databaseAdapter: DatabaseAdapter): Record<string, unknown>[];
12
+ export declare function postProcessResultRows(data: unknown, query: SemanticQuery, databaseAdapter: DatabaseAdapter, cubes?: Map<string, Cube>, fillByDefault?: boolean): Record<string, unknown>[];
@@ -93,6 +93,8 @@ export declare class QueryExecutor {
93
93
  * @param cacheKey - When provided (and a cache provider is configured), the
94
94
  * fresh result is written to the cache. Pass `undefined` to skip caching
95
95
  * (e.g. comparison period sub-queries cache at the comparison level).
96
+ * @param fillByDefault - Gap-fill time dimensions that neither the query nor
97
+ * the cube configures. Only comparison period sub-queries pass `true`.
96
98
  */
97
99
  private executeStandardQuery;
98
100
  /**
@@ -1,48 +1,13 @@
1
+ import { Cube } from './types/cube.js';
1
2
  import { SemanticQuery } from './types/query.js';
2
- import { TimeGranularity } from './types/core.js';
3
+ export { generateTimeBuckets, fillTimeSeriesGaps, parseDateRange, MAX_GAP_FILL_BUCKETS, type GapFillerConfig } from '../shared/gap-filler.js';
3
4
  /**
4
- * Maximum number of time buckets gap filling will generate. Beyond this, gap
5
- * filling is skipped entirely (data is returned unmodified) to avoid both
6
- * runaway memory use and silent truncation of real rows.
7
- */
8
- export declare const MAX_GAP_FILL_BUCKETS = 10000;
9
- export interface GapFillerConfig {
10
- /** The time dimension key (e.g., 'Sales.date') */
11
- timeDimensionKey: string;
12
- /** Time granularity for bucket generation */
13
- granularity: TimeGranularity;
14
- /** Date range [start, end] */
15
- dateRange: [Date, Date];
16
- /** Value to fill for missing measures (default: 0) */
17
- fillValue: number | null;
18
- /** List of measure keys in the data */
19
- measures: string[];
20
- /** List of dimension keys in the data (excluding time dimensions) */
21
- dimensions: string[];
22
- }
23
- /**
24
- * Generate all time buckets for a given date range and granularity
25
- */
26
- export declare function generateTimeBuckets(startDate: Date, endDate: Date, granularity: TimeGranularity): Date[];
27
- /**
28
- * Fill time series gaps in query result data
5
+ * Apply server-side gap filling to query result rows.
29
6
  *
30
- * @param data - Original query result data
31
- * @param config - Gap filling configuration
32
- * @returns Data with gaps filled
33
- */
34
- export declare function fillTimeSeriesGaps(data: Record<string, unknown>[], config: GapFillerConfig): Record<string, unknown>[];
35
- /**
36
- * Parse date range from query time dimension
37
- * Handles both array format ['2024-01-01', '2024-01-31'] and string format
38
- */
39
- export declare function parseDateRange(dateRange: string | string[] | undefined): [Date, Date] | null;
40
- /**
41
- * Apply gap filling to query result data based on query configuration
7
+ * Precedence per time dimension: the query's `fillMissingDates`, then the cube
8
+ * dimension's, then `fillByDefault`. Ungrouped queries are never filled.
42
9
  *
43
- * @param data - Original query result data
44
- * @param query - The semantic query
45
- * @param measures - List of measure names in the result
46
- * @returns Data with gaps filled (if applicable)
10
+ * @param fillByDefault - Fill when neither the query nor the cube says. Only
11
+ * comparison-period sub-queries pass `true`, to keep periods aligned.
47
12
  */
48
- export declare function applyGapFilling(data: Record<string, unknown>[], query: SemanticQuery, measures: string[]): Record<string, unknown>[];
13
+ export declare function applyServerGapFilling(data: Record<string, unknown>[], query: SemanticQuery, cubes?: Map<string, Cube>, fillByDefault?: boolean): Record<string, unknown>[];