drizzle-cube 0.2.13 → 0.2.15

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 (158) hide show
  1. package/dist/adapters/compiler-A-Mz5Rzh.cjs +22 -0
  2. package/dist/adapters/{compiler-DrkCCzf0.js → compiler-CQq2_dSQ.js} +1677 -1540
  3. package/dist/adapters/express/index.cjs +1 -1
  4. package/dist/adapters/express/index.js +1 -1
  5. package/dist/adapters/fastify/index.cjs +1 -1
  6. package/dist/adapters/fastify/index.js +1 -1
  7. package/dist/adapters/hono/index.cjs +1 -1
  8. package/dist/adapters/hono/index.js +1 -1
  9. package/dist/adapters/nextjs/index.cjs +1 -1
  10. package/dist/adapters/nextjs/index.js +1 -1
  11. package/dist/client/charts.js +27 -36
  12. package/dist/client/charts.js.map +1 -1
  13. package/dist/client/chunks/charts-B8YMw1mi.js +7227 -0
  14. package/dist/client/chunks/charts-B8YMw1mi.js.map +1 -0
  15. package/dist/client/chunks/charts-amt7VOyw.js +277 -0
  16. package/dist/client/chunks/{charts-CHzWeaY1.js.map → charts-amt7VOyw.js.map} +1 -1
  17. package/dist/client/chunks/components-K3xrnHN-.js +13698 -0
  18. package/dist/client/chunks/components-K3xrnHN-.js.map +1 -0
  19. package/dist/client/chunks/core-Dkym7d1O.js +6 -0
  20. package/dist/client/chunks/core-Dkym7d1O.js.map +1 -0
  21. package/dist/client/chunks/{index-DlsvcKXf.js → index-B7NSVb33.js} +2 -2
  22. package/dist/client/chunks/{index-DlsvcKXf.js.map → index-B7NSVb33.js.map} +1 -1
  23. package/dist/client/chunks/javascript-DII1YQGr.js +659 -0
  24. package/dist/client/chunks/javascript-DII1YQGr.js.map +1 -0
  25. package/dist/client/components/AnalysisBuilder/AnalysisFilterItem.d.ts +1 -3
  26. package/dist/client/components/AnalysisBuilder/FilterConfigModal.d.ts +16 -0
  27. package/dist/client/components/AnalyticsPortlet.d.ts +2 -1
  28. package/dist/client/components/DashboardFilters/FilterEditModal.d.ts +1 -1
  29. package/dist/client/components/DashboardFilters/ReadOnlyFilterList.d.ts +1 -1
  30. package/dist/client/components/DashboardPortletCard.d.ts +3 -3
  31. package/dist/client/components/QueryBuilderShim.d.ts +3 -0
  32. package/dist/client/components/charts/ActivityGridChart.d.ts +3 -1
  33. package/dist/client/components/charts/AreaChart.d.ts +3 -1
  34. package/dist/client/components/charts/BarChart.d.ts +3 -1
  35. package/dist/client/components/charts/BubbleChart.d.ts +3 -1
  36. package/dist/client/components/charts/DataTable.d.ts +3 -1
  37. package/dist/client/components/charts/KpiDelta.d.ts +3 -1
  38. package/dist/client/components/charts/KpiNumber.d.ts +3 -1
  39. package/dist/client/components/charts/KpiText.d.ts +3 -1
  40. package/dist/client/components/charts/LineChart.d.ts +3 -1
  41. package/dist/client/components/charts/MarkdownChart.d.ts +3 -1
  42. package/dist/client/components/charts/PieChart.d.ts +3 -1
  43. package/dist/client/components/charts/RadarChart.d.ts +3 -1
  44. package/dist/client/components/charts/RadialBarChart.d.ts +3 -1
  45. package/dist/client/components/charts/ScatterChart.d.ts +3 -1
  46. package/dist/client/components/charts/TreeMapChart.d.ts +3 -1
  47. package/dist/client/components/{QueryBuilder → shared}/CubeMetaExplorer.d.ts +1 -1
  48. package/dist/client/components/{QueryBuilder → shared}/DateRangeFilter.d.ts +1 -1
  49. package/dist/client/components/{QueryBuilder → shared}/FilterBuilder.d.ts +1 -1
  50. package/dist/client/components/{QueryBuilder → shared}/FilterGroup.d.ts +1 -1
  51. package/dist/client/components/{QueryBuilder → shared}/FilterItem.d.ts +1 -1
  52. package/dist/client/components/{QueryBuilder → shared}/FilterValueSelector.d.ts +1 -1
  53. package/dist/client/components/{QueryBuilder → shared}/utils.d.ts +1 -1
  54. package/dist/client/components.d.ts +1 -1
  55. package/dist/client/components.js +2 -2
  56. package/dist/client/hooks/useCubeFieldLabel.d.ts +16 -0
  57. package/dist/client/hooks/useScrollDetection.d.ts +27 -0
  58. package/dist/client/hooks/useTheme.d.ts +11 -0
  59. package/dist/client/hooks.js +8 -8
  60. package/dist/client/icons.js +5 -5
  61. package/dist/client/index.d.ts +8 -3
  62. package/dist/client/index.js +50 -45
  63. package/dist/client/index.js.map +1 -1
  64. package/dist/client/providers/CubeApiProvider.d.ts +22 -0
  65. package/dist/client/providers/CubeFeaturesProvider.d.ts +15 -0
  66. package/dist/client/providers/CubeMetaProvider.d.ts +17 -0
  67. package/dist/client/providers/CubeProvider.d.ts +28 -8
  68. package/dist/client/providers.js +3 -3
  69. package/dist/client/shared/components/CodeBlock.d.ts +10 -0
  70. package/dist/client/shared/index.d.ts +1 -0
  71. package/dist/client/styles.css +1 -1
  72. package/dist/client/utils/chartUtils.d.ts +2 -2
  73. package/dist/client/utils/filterUtils.d.ts +15 -0
  74. package/dist/client/utils/index.d.ts +1 -0
  75. package/dist/client/{components/QueryBuilder → utils}/shareUtils.d.ts +1 -1
  76. package/dist/client/utils/syntaxHighlighting.d.ts +31 -0
  77. package/dist/client-bundle-stats.html +1 -1
  78. package/dist/server/index.cjs +16 -16
  79. package/dist/server/index.d.ts +50 -0
  80. package/dist/server/index.js +857 -729
  81. package/package.json +5 -1
  82. package/dist/adapters/compiler-CMwSRhTS.cjs +0 -22
  83. package/dist/client/chunks/chart-activitygridchart-CUGN9Xq9.js +0 -2622
  84. package/dist/client/chunks/chart-activitygridchart-CUGN9Xq9.js.map +0 -1
  85. package/dist/client/chunks/chart-activitygridchart-config-AVBoHdRn.js +0 -244
  86. package/dist/client/chunks/chart-activitygridchart-config-AVBoHdRn.js.map +0 -1
  87. package/dist/client/chunks/chart-areachart-B4tknnsY.js +0 -239
  88. package/dist/client/chunks/chart-areachart-B4tknnsY.js.map +0 -1
  89. package/dist/client/chunks/chart-areachart-config-D9pPUKHZ.js +0 -78
  90. package/dist/client/chunks/chart-areachart-config-D9pPUKHZ.js.map +0 -1
  91. package/dist/client/chunks/chart-axisformatcontrols-Ch_IYF94.js +0 -196
  92. package/dist/client/chunks/chart-axisformatcontrols-Ch_IYF94.js.map +0 -1
  93. package/dist/client/chunks/chart-barchart-D_op06r-.js +0 -216
  94. package/dist/client/chunks/chart-barchart-D_op06r-.js.map +0 -1
  95. package/dist/client/chunks/chart-barchart-config-iniz62ni.js +0 -71
  96. package/dist/client/chunks/chart-barchart-config-iniz62ni.js.map +0 -1
  97. package/dist/client/chunks/chart-bubblechart-BsaIXUbS.js +0 -214
  98. package/dist/client/chunks/chart-bubblechart-BsaIXUbS.js.map +0 -1
  99. package/dist/client/chunks/chart-bubblechart-config-yLq2oyR3.js +0 -72
  100. package/dist/client/chunks/chart-bubblechart-config-yLq2oyR3.js.map +0 -1
  101. package/dist/client/chunks/chart-chartcontainer-CdwzIKP1.js +0 -103
  102. package/dist/client/chunks/chart-chartcontainer-CdwzIKP1.js.map +0 -1
  103. package/dist/client/chunks/chart-charttooltip-Bx3I8jQv.js +0 -26
  104. package/dist/client/chunks/chart-charttooltip-Bx3I8jQv.js.map +0 -1
  105. package/dist/client/chunks/chart-datatable-C7MS9q4Y.js +0 -283
  106. package/dist/client/chunks/chart-datatable-C7MS9q4Y.js.map +0 -1
  107. package/dist/client/chunks/chart-datatable-config-DmEA3A-7.js +0 -29
  108. package/dist/client/chunks/chart-datatable-config-DmEA3A-7.js.map +0 -1
  109. package/dist/client/chunks/chart-kpidelta-7-KOmb3w.js +0 -436
  110. package/dist/client/chunks/chart-kpidelta-7-KOmb3w.js.map +0 -1
  111. package/dist/client/chunks/chart-kpidelta-config-DtSDG4Kl.js +0 -98
  112. package/dist/client/chunks/chart-kpidelta-config-DtSDG4Kl.js.map +0 -1
  113. package/dist/client/chunks/chart-kpinumber-HOPfcK2N.js +0 -398
  114. package/dist/client/chunks/chart-kpinumber-HOPfcK2N.js.map +0 -1
  115. package/dist/client/chunks/chart-kpinumber-config-Da2LFeKM.js +0 -76
  116. package/dist/client/chunks/chart-kpinumber-config-Da2LFeKM.js.map +0 -1
  117. package/dist/client/chunks/chart-kpitext-BZkC9u3A.js +0 -165
  118. package/dist/client/chunks/chart-kpitext-BZkC9u3A.js.map +0 -1
  119. package/dist/client/chunks/chart-kpitext-config-DjvigyfE.js +0 -48
  120. package/dist/client/chunks/chart-kpitext-config-DjvigyfE.js.map +0 -1
  121. package/dist/client/chunks/chart-linechart-DqFmLbRe.js +0 -198
  122. package/dist/client/chunks/chart-linechart-DqFmLbRe.js.map +0 -1
  123. package/dist/client/chunks/chart-linechart-config-DLVS2Zxc.js +0 -66
  124. package/dist/client/chunks/chart-linechart-config-DLVS2Zxc.js.map +0 -1
  125. package/dist/client/chunks/chart-markdownchart-9n_TemoB.js +0 -256
  126. package/dist/client/chunks/chart-markdownchart-9n_TemoB.js.map +0 -1
  127. package/dist/client/chunks/chart-markdownchart-config-CgOA3YSw.js +0 -61
  128. package/dist/client/chunks/chart-markdownchart-config-CgOA3YSw.js.map +0 -1
  129. package/dist/client/chunks/chart-piechart-CrXFd9pE.js +0 -127
  130. package/dist/client/chunks/chart-piechart-CrXFd9pE.js.map +0 -1
  131. package/dist/client/chunks/chart-piechart-config-DgwOeKHr.js +0 -39
  132. package/dist/client/chunks/chart-piechart-config-DgwOeKHr.js.map +0 -1
  133. package/dist/client/chunks/chart-radarchart-config-BAV8D5PR.js +0 -45
  134. package/dist/client/chunks/chart-radarchart-config-BAV8D5PR.js.map +0 -1
  135. package/dist/client/chunks/chart-radarchart-tar2GBkO.js +0 -131
  136. package/dist/client/chunks/chart-radarchart-tar2GBkO.js.map +0 -1
  137. package/dist/client/chunks/chart-radialbarchart-ab8Swtal.js +0 -120
  138. package/dist/client/chunks/chart-radialbarchart-ab8Swtal.js.map +0 -1
  139. package/dist/client/chunks/chart-radialbarchart-config-CKozBBEC.js +0 -38
  140. package/dist/client/chunks/chart-radialbarchart-config-CKozBBEC.js.map +0 -1
  141. package/dist/client/chunks/chart-scatterchart-BP06BeU5.js +0 -203
  142. package/dist/client/chunks/chart-scatterchart-BP06BeU5.js.map +0 -1
  143. package/dist/client/chunks/chart-scatterchart-config-UdHmbZ3s.js +0 -54
  144. package/dist/client/chunks/chart-scatterchart-config-UdHmbZ3s.js.map +0 -1
  145. package/dist/client/chunks/chart-treemapchart-DAiixITm.js +0 -265
  146. package/dist/client/chunks/chart-treemapchart-DAiixITm.js.map +0 -1
  147. package/dist/client/chunks/chart-treemapchart-config-D17VOwTM.js +0 -47
  148. package/dist/client/chunks/chart-treemapchart-config-D17VOwTM.js.map +0 -1
  149. package/dist/client/chunks/charts-CHzWeaY1.js +0 -286
  150. package/dist/client/chunks/components-DnM9CCUS.js +0 -13931
  151. package/dist/client/chunks/components-DnM9CCUS.js.map +0 -1
  152. package/dist/client/components/QueryBuilder/QueryAnalysisPanel.d.ts +0 -7
  153. package/dist/client/components/QueryBuilder/QueryPanel.d.ts +0 -4
  154. package/dist/client/components/QueryBuilder/ResultsPanel.d.ts +0 -4
  155. package/dist/client/components/QueryBuilder/SetupPanel.d.ts +0 -11
  156. package/dist/client/components/QueryBuilder/ShareWarningModal.d.ts +0 -9
  157. package/dist/client/components/QueryBuilder/index.d.ts +0 -3
  158. /package/dist/client/components/{QueryBuilder → shared}/DateRangeSelector.d.ts +0 -0
@@ -619,6 +619,8 @@ export declare interface PreAggregationCTEInfo {
619
619
  joinKeys: JoinKeyInfo[];
620
620
  /** List of measure names included in this CTE */
621
621
  measures: string[];
622
+ /** Propagating filters from related cubes (for cross-cube filter propagation) */
623
+ propagatingFilters?: PropagatingFilter[];
622
624
  }
623
625
 
624
626
  /**
@@ -658,6 +660,25 @@ export declare interface PrimaryCubeCandidate {
658
660
  */
659
661
  export declare type PrimaryCubeSelectionReason = 'most_dimensions' | 'most_connected' | 'alphabetical_fallback' | 'single_cube';
660
662
 
663
+ /**
664
+ * Propagating filter information for cross-cube filter propagation
665
+ * When cube A has filters and cube B (with hasMany from A) needs a CTE,
666
+ * A's filters should propagate into B's CTE via a subquery
667
+ */
668
+ export declare interface PropagatingFilter {
669
+ /** The source cube whose filters need to propagate */
670
+ sourceCube: Cube;
671
+ /** Filters from the source cube to apply */
672
+ filters: Filter[];
673
+ /** Join condition linking source cube PK to target cube FK */
674
+ joinCondition: {
675
+ /** Primary key column on source cube */
676
+ source: AnyColumn;
677
+ /** Foreign key column on target cube (CTE cube) */
678
+ target: AnyColumn;
679
+ };
680
+ }
681
+
661
682
  /**
662
683
  * Any queryable relation that can be used in FROM/JOIN clauses
663
684
  * Supports tables, views, subqueries, and raw SQL expressions
@@ -840,6 +861,14 @@ export declare class QueryExecutor {
840
861
  * Build join condition for CTE
841
862
  */
842
863
  private buildCTEJoinCondition;
864
+ /**
865
+ * Build a subquery filter for propagating filters from related cubes.
866
+ * This generates: cteCube.FK IN (SELECT sourceCube.PK FROM sourceCube WHERE filters...)
867
+ *
868
+ * Example: For Productivity CTE with Employees.createdAt filter:
869
+ * employee_id IN (SELECT id FROM employees WHERE organisation_id = $1 AND created_at >= $date)
870
+ */
871
+ private buildPropagatingFilterSubquery;
843
872
  /**
844
873
  * Build unified query that works for both single and multi-cube queries
845
874
  */
@@ -972,6 +1001,27 @@ export declare class QueryPlanner {
972
1001
  * Find hasMany join definition from primary cube to target cube
973
1002
  */
974
1003
  private findHasManyJoinDef;
1004
+ /**
1005
+ * Find filters that need to propagate from related cubes to a CTE cube.
1006
+ * When cube A has filters and a hasMany relationship to cube B (the CTE cube),
1007
+ * A's filters should propagate into B's CTE via a subquery.
1008
+ *
1009
+ * Example: Employees.createdAt filter should propagate to Productivity CTE
1010
+ * via: employee_id IN (SELECT id FROM employees WHERE created_at >= $date)
1011
+ */
1012
+ private findPropagatingFilters;
1013
+ /**
1014
+ * Extract cube names from filters into a Set (helper for findPropagatingFilters)
1015
+ */
1016
+ private extractFilterCubeNamesToSet;
1017
+ /**
1018
+ * Extract filters for a specific cube from the filter array
1019
+ */
1020
+ private extractFiltersForCube;
1021
+ /**
1022
+ * Extract time dimension date range filters as regular filters for a specific cube
1023
+ */
1024
+ private extractTimeDimensionFiltersForCube;
975
1025
  /**
976
1026
  * Analyze query planning decisions without building the full query
977
1027
  * Returns detailed metadata about how the query plan would be constructed