drizzle-cube 0.3.21 → 0.3.23
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.
- package/dist/adapters/express/index.cjs +1 -1
- package/dist/adapters/express/index.js +1 -1
- package/dist/adapters/fastify/index.cjs +1 -1
- package/dist/adapters/fastify/index.js +1 -1
- package/dist/adapters/hono/index.cjs +1 -1
- package/dist/adapters/hono/index.js +1 -1
- package/dist/adapters/{mcp-transport-DHBUNdYg.js → mcp-transport-lkEjNwDH.js} +3242 -3201
- package/dist/adapters/mcp-transport-oPf8JYHv.cjs +275 -0
- package/dist/adapters/nextjs/index.cjs +1 -1
- package/dist/adapters/nextjs/index.js +1 -1
- package/dist/client/charts/chartConfigs.d.ts +21 -0
- package/dist/client/charts.js +14 -14
- package/dist/client/chunks/{RetentionCombinedChart-DsWhPI0q.js → RetentionCombinedChart-DpEKFYsd.js} +3 -3
- package/dist/client/chunks/RetentionCombinedChart-DpEKFYsd.js.map +1 -0
- package/dist/client/chunks/{analysis-builder-DcZgXtPK.js → analysis-builder-DiaxkEY-.js} +9 -9
- package/dist/client/chunks/{analysis-builder-DcZgXtPK.js.map → analysis-builder-DiaxkEY-.js.map} +1 -1
- package/dist/client/chunks/{analysis-builder-shared-ZnrPzt_d.js → analysis-builder-shared-BzM5Vwpr.js} +5 -5
- package/dist/client/chunks/{analysis-builder-shared-ZnrPzt_d.js.map → analysis-builder-shared-BzM5Vwpr.js.map} +1 -1
- package/dist/client/chunks/{chart-activity-grid-BUc21L0U.js → chart-activity-grid-CCGyWo1c.js} +116 -106
- package/dist/client/chunks/chart-activity-grid-CCGyWo1c.js.map +1 -0
- package/dist/client/chunks/chart-area-ZZp1libT.js +234 -0
- package/dist/client/chunks/chart-area-ZZp1libT.js.map +1 -0
- package/dist/client/chunks/chart-bar-B4grbo6Q.js +254 -0
- package/dist/client/chunks/chart-bar-B4grbo6Q.js.map +1 -0
- package/dist/client/chunks/{chart-bubble-CO7qvWR9.js → chart-bubble-BGGAQQUQ.js} +2 -2
- package/dist/client/chunks/{chart-bubble-CO7qvWR9.js.map → chart-bubble-BGGAQQUQ.js.map} +1 -1
- package/dist/client/chunks/{chart-config-activity-grid-BBSNCbkb.js → chart-config-activity-grid-CAlo1cHA.js} +3 -2
- package/dist/client/chunks/{chart-config-activity-grid-BBSNCbkb.js.map → chart-config-activity-grid-CAlo1cHA.js.map} +1 -1
- package/dist/client/chunks/{chart-config-bar-BJKGnfLt.js → chart-config-bar-soxw6m2o.js} +2 -1
- package/dist/client/chunks/chart-config-bar-soxw6m2o.js.map +1 -0
- package/dist/client/chunks/{chart-config-line-DR0ThxZy.js → chart-config-line-D5ME6w0v.js} +2 -1
- package/dist/client/chunks/chart-config-line-D5ME6w0v.js.map +1 -0
- package/dist/client/chunks/{chart-config-pie-BM5lgH-w.js → chart-config-pie-DlHa2jTy.js} +2 -1
- package/dist/client/chunks/chart-config-pie-DlHa2jTy.js.map +1 -0
- package/dist/client/chunks/{chart-config-tree-map-CLmRvvMR.js → chart-config-tree-map-IRAYf9YM.js} +3 -2
- package/dist/client/chunks/{chart-config-tree-map-CLmRvvMR.js.map → chart-config-tree-map-IRAYf9YM.js.map} +1 -1
- package/dist/client/chunks/{chart-data-table-bclSKgkZ.js → chart-data-table-BcH_h6kZ.js} +3 -3
- package/dist/client/chunks/{chart-data-table-bclSKgkZ.js.map → chart-data-table-BcH_h6kZ.js.map} +1 -1
- package/dist/client/chunks/{chart-funnel-FvDvq015.js → chart-funnel-DI8RMacf.js} +3 -3
- package/dist/client/chunks/chart-funnel-DI8RMacf.js.map +1 -0
- package/dist/client/chunks/{chart-heat-map-GpFE-PFB.js → chart-heat-map-D3xNV9ep.js} +2 -2
- package/dist/client/chunks/{chart-heat-map-GpFE-PFB.js.map → chart-heat-map-D3xNV9ep.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-delta-jmz-CK8X.js → chart-kpi-delta-BJMQKPor.js} +3 -3
- package/dist/client/chunks/{chart-kpi-delta-jmz-CK8X.js.map → chart-kpi-delta-BJMQKPor.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-number-DbSmomE8.js → chart-kpi-number-B8u4tWmu.js} +2 -2
- package/dist/client/chunks/{chart-kpi-number-DbSmomE8.js.map → chart-kpi-number-B8u4tWmu.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-text-erI9U7PZ.js → chart-kpi-text--r1d4zAz.js} +3 -3
- package/dist/client/chunks/{chart-kpi-text-erI9U7PZ.js.map → chart-kpi-text--r1d4zAz.js.map} +1 -1
- package/dist/client/chunks/chart-line-K0ACw4cV.js +413 -0
- package/dist/client/chunks/chart-line-K0ACw4cV.js.map +1 -0
- package/dist/client/chunks/chart-pie-DC7axSwd.js +137 -0
- package/dist/client/chunks/chart-pie-DC7axSwd.js.map +1 -0
- package/dist/client/chunks/{chart-radar-BE6xsFiF.js → chart-radar-BDKgpLw5.js} +33 -33
- package/dist/client/chunks/chart-radar-BDKgpLw5.js.map +1 -0
- package/dist/client/chunks/{chart-radial-bar-BEEwtFDc.js → chart-radial-bar-BYNng7Nz.js} +7 -6
- package/dist/client/chunks/chart-radial-bar-BYNng7Nz.js.map +1 -0
- package/dist/client/chunks/{chart-sankey-Dt3KaYrH.js → chart-sankey-CpsKerey.js} +2 -2
- package/dist/client/chunks/{chart-sankey-Dt3KaYrH.js.map → chart-sankey-CpsKerey.js.map} +1 -1
- package/dist/client/chunks/{chart-scatter-gAlYkQcW.js → chart-scatter-CXqFltJg.js} +11 -11
- package/dist/client/chunks/chart-scatter-CXqFltJg.js.map +1 -0
- package/dist/client/chunks/{chart-sunburst-D0Lvdjwu.js → chart-sunburst-DSsO2CzY.js} +2 -2
- package/dist/client/chunks/{chart-sunburst-D0Lvdjwu.js.map → chart-sunburst-DSsO2CzY.js.map} +1 -1
- package/dist/client/chunks/{chart-tree-map-Bv_PYe0c.js → chart-tree-map-D_SeBBD-.js} +77 -57
- package/dist/client/chunks/chart-tree-map-D_SeBBD-.js.map +1 -0
- package/dist/client/chunks/{chartConfigRegistry-BumUIPw4.js → chartConfigRegistry-DNEbwgTc.js} +6 -6
- package/dist/client/chunks/{chartConfigRegistry-BumUIPw4.js.map → chartConfigRegistry-DNEbwgTc.js.map} +1 -1
- package/dist/client/chunks/{charts-DqWRT0TE.js → charts-T6qNi6FO.js} +17 -17
- package/dist/client/chunks/charts-T6qNi6FO.js.map +1 -0
- package/dist/client/chunks/{charts-core-BfxnhMfd.js → charts-core-8jDh3mKC.js} +64 -63
- package/dist/client/chunks/charts-core-8jDh3mKC.js.map +1 -0
- package/dist/client/chunks/{charts-loader-DCGbL50r.js → charts-loader-DpJr9z2e.js} +20 -20
- package/dist/client/chunks/{charts-loader-DCGbL50r.js.map → charts-loader-DpJr9z2e.js.map} +1 -1
- package/dist/client/chunks/{components-NmBmOEqV.js → components-vl_fdWud.js} +3579 -2880
- package/dist/client/chunks/components-vl_fdWud.js.map +1 -0
- package/dist/client/chunks/{hooks-D7APQ8uS.js → hooks-CKYzVf_7.js} +3 -3
- package/dist/client/chunks/{hooks-D7APQ8uS.js.map → hooks-CKYzVf_7.js.map} +1 -1
- package/dist/client/chunks/{index-CBvXpG92.js → index-_2PSgbkC.js} +270 -261
- package/dist/client/chunks/index-_2PSgbkC.js.map +1 -0
- package/dist/client/chunks/{providers-Cj7PQfXn.js → providers-BBrUJB2U.js} +2 -2
- package/dist/client/chunks/{providers-Cj7PQfXn.js.map → providers-BBrUJB2U.js.map} +1 -1
- package/dist/client/chunks/{useDirtyStateTracking-ZSi3voVl.js → useDirtyStateTracking-DDQ_Lbki.js} +2 -2
- package/dist/client/chunks/{useDirtyStateTracking-ZSi3voVl.js.map → useDirtyStateTracking-DDQ_Lbki.js.map} +1 -1
- package/dist/client/components/DrillBreadcrumb.d.ts +6 -0
- package/dist/client/components/DrillMenu.d.ts +8 -0
- package/dist/client/components/charts/AngledXAxisTick.d.ts +19 -0
- package/dist/client/components.js +2 -2
- package/dist/client/hooks/useDrillInteraction.d.ts +9 -0
- package/dist/client/hooks.js +3 -3
- package/dist/client/index.js +9 -9
- package/dist/client/providers.js +1 -1
- package/dist/client/styles.css +1 -1
- package/dist/client/types/drill.d.ts +240 -0
- package/dist/client/types.d.ts +53 -2
- package/dist/client/utils/drillQueryBuilder.d.ts +41 -0
- package/dist/client-bundle-stats.html +1 -1
- package/dist/server/index.cjs +31 -31
- package/dist/server/index.d.ts +78 -0
- package/dist/server/index.js +2730 -2689
- package/package.json +6 -3
- package/dist/adapters/mcp-transport-B37JTeww.cjs +0 -275
- package/dist/client/chunks/RetentionCombinedChart-DsWhPI0q.js.map +0 -1
- package/dist/client/chunks/chart-activity-grid-BUc21L0U.js.map +0 -1
- package/dist/client/chunks/chart-area-B_64FScj.js +0 -190
- package/dist/client/chunks/chart-area-B_64FScj.js.map +0 -1
- package/dist/client/chunks/chart-bar-Ctiy2tpQ.js +0 -216
- package/dist/client/chunks/chart-bar-Ctiy2tpQ.js.map +0 -1
- package/dist/client/chunks/chart-config-bar-BJKGnfLt.js.map +0 -1
- package/dist/client/chunks/chart-config-line-DR0ThxZy.js.map +0 -1
- package/dist/client/chunks/chart-config-pie-BM5lgH-w.js.map +0 -1
- package/dist/client/chunks/chart-funnel-FvDvq015.js.map +0 -1
- package/dist/client/chunks/chart-line-B0YOZ88n.js +0 -364
- package/dist/client/chunks/chart-line-B0YOZ88n.js.map +0 -1
- package/dist/client/chunks/chart-pie-CImB6r4F.js +0 -125
- package/dist/client/chunks/chart-pie-CImB6r4F.js.map +0 -1
- package/dist/client/chunks/chart-radar-BE6xsFiF.js.map +0 -1
- package/dist/client/chunks/chart-radial-bar-BEEwtFDc.js.map +0 -1
- package/dist/client/chunks/chart-scatter-gAlYkQcW.js.map +0 -1
- package/dist/client/chunks/chart-tree-map-Bv_PYe0c.js.map +0 -1
- package/dist/client/chunks/charts-DqWRT0TE.js.map +0 -1
- package/dist/client/chunks/charts-core-BfxnhMfd.js.map +0 -1
- package/dist/client/chunks/components-NmBmOEqV.js.map +0 -1
- package/dist/client/chunks/index-CBvXpG92.js.map +0 -1
package/dist/server/index.d.ts
CHANGED
|
@@ -352,6 +352,12 @@ declare interface Cube {
|
|
|
352
352
|
measures: Record<string, Measure>;
|
|
353
353
|
/** Optional joins to other cubes for multi-cube queries */
|
|
354
354
|
joins?: Record<string, CubeJoin>;
|
|
355
|
+
/**
|
|
356
|
+
* Hierarchies for structured drill-down paths
|
|
357
|
+
* Groups dimensions into levels for navigation (e.g., country -> region -> city)
|
|
358
|
+
* A dimension can appear in multiple hierarchies
|
|
359
|
+
*/
|
|
360
|
+
hierarchies?: Record<string, Hierarchy>;
|
|
355
361
|
/** Whether cube is publicly accessible */
|
|
356
362
|
public?: boolean;
|
|
357
363
|
/** SQL alias for the cube */
|
|
@@ -484,6 +490,11 @@ export declare interface CubeMetadata {
|
|
|
484
490
|
dimensions: DimensionMetadata[];
|
|
485
491
|
segments: any[];
|
|
486
492
|
relationships?: CubeRelationshipMetadata[];
|
|
493
|
+
/**
|
|
494
|
+
* Hierarchies for structured drill-down paths
|
|
495
|
+
* Enables navigation through dimension levels (e.g., country -> region -> city)
|
|
496
|
+
*/
|
|
497
|
+
hierarchies?: HierarchyMetadata[];
|
|
487
498
|
/** Additional cube metadata (e.g., eventStream configuration for funnel queries) */
|
|
488
499
|
meta?: Record<string, any>;
|
|
489
500
|
}
|
|
@@ -751,6 +762,13 @@ declare interface Dimension {
|
|
|
751
762
|
format?: string;
|
|
752
763
|
/** Additional metadata */
|
|
753
764
|
meta?: Record<string, any>;
|
|
765
|
+
/**
|
|
766
|
+
* Supported granularities for time dimensions
|
|
767
|
+
* If not specified for time dimensions, defaults to ['year', 'quarter', 'month', 'week', 'day']
|
|
768
|
+
* Only applies when type is 'time'
|
|
769
|
+
* @example ['year', 'quarter', 'month', 'day'] for a custom subset
|
|
770
|
+
*/
|
|
771
|
+
granularities?: TimeGranularity[];
|
|
754
772
|
}
|
|
755
773
|
export { Dimension }
|
|
756
774
|
export { Dimension as SemanticDimension }
|
|
@@ -779,6 +797,12 @@ export declare interface DimensionMetadata {
|
|
|
779
797
|
* Used by AI agents for natural language matching
|
|
780
798
|
*/
|
|
781
799
|
synonyms?: string[];
|
|
800
|
+
/**
|
|
801
|
+
* Supported granularities for time dimensions
|
|
802
|
+
* Only present when type is 'time'
|
|
803
|
+
* Used for time-based drill-down (year -> quarter -> month -> week -> day)
|
|
804
|
+
*/
|
|
805
|
+
granularities?: TimeGranularity[];
|
|
782
806
|
}
|
|
783
807
|
|
|
784
808
|
export declare type DimensionType = 'string' | 'number' | 'time' | 'boolean';
|
|
@@ -1348,6 +1372,40 @@ export declare function getCubeInvalidationPattern(cubeName: string, keyPrefix?:
|
|
|
1348
1372
|
*/
|
|
1349
1373
|
export declare function getJoinType(relationship: string, override?: string): string;
|
|
1350
1374
|
|
|
1375
|
+
/**
|
|
1376
|
+
* Hierarchy definition for grouped drill-down paths
|
|
1377
|
+
* Groups dimensions into ordered levels for structured navigation
|
|
1378
|
+
*/
|
|
1379
|
+
export declare interface Hierarchy {
|
|
1380
|
+
/** Unique identifier for the hierarchy */
|
|
1381
|
+
name: string;
|
|
1382
|
+
/** Display title for the hierarchy */
|
|
1383
|
+
title?: string;
|
|
1384
|
+
/**
|
|
1385
|
+
* Dimension names in order from least to most granular
|
|
1386
|
+
* @example ['country', 'region', 'city'] for geographic hierarchy
|
|
1387
|
+
* @example ['category', 'subcategory', 'product'] for product hierarchy
|
|
1388
|
+
*/
|
|
1389
|
+
levels: string[];
|
|
1390
|
+
}
|
|
1391
|
+
|
|
1392
|
+
/**
|
|
1393
|
+
* Hierarchy metadata for structured drill-down paths
|
|
1394
|
+
*/
|
|
1395
|
+
export declare interface HierarchyMetadata {
|
|
1396
|
+
/** Unique identifier for the hierarchy */
|
|
1397
|
+
name: string;
|
|
1398
|
+
/** Display title for the hierarchy */
|
|
1399
|
+
title: string;
|
|
1400
|
+
/** Cube name this hierarchy belongs to */
|
|
1401
|
+
cubeName: string;
|
|
1402
|
+
/**
|
|
1403
|
+
* Full dimension names in order from least to most granular
|
|
1404
|
+
* Format: "CubeName.dimensionName"
|
|
1405
|
+
*/
|
|
1406
|
+
levels: string[];
|
|
1407
|
+
}
|
|
1408
|
+
|
|
1351
1409
|
/**
|
|
1352
1410
|
* Information about a database index
|
|
1353
1411
|
*/
|
|
@@ -1516,6 +1574,14 @@ declare interface Measure {
|
|
|
1516
1574
|
dependencies?: string[];
|
|
1517
1575
|
/** Additional metadata */
|
|
1518
1576
|
meta?: Record<string, any>;
|
|
1577
|
+
/**
|
|
1578
|
+
* Dimension names shown when drilling into this measure
|
|
1579
|
+
* Can include cross-cube dimensions via joins (e.g., 'Products.name', 'Users.email')
|
|
1580
|
+
* If not specified, drilling is disabled for this measure
|
|
1581
|
+
* @example ['id', 'status', 'createdAt'] for same-cube dimensions
|
|
1582
|
+
* @example ['Orders.id', 'Products.name', 'Users.city'] for cross-cube dimensions
|
|
1583
|
+
*/
|
|
1584
|
+
drillMembers?: string[];
|
|
1519
1585
|
/**
|
|
1520
1586
|
* Statistical function configuration
|
|
1521
1587
|
* Used for percentile, stddev, variance measure types
|
|
@@ -1615,6 +1681,12 @@ export declare interface MeasureMetadata {
|
|
|
1615
1681
|
* Used by AI agents for natural language matching
|
|
1616
1682
|
*/
|
|
1617
1683
|
synonyms?: string[];
|
|
1684
|
+
/**
|
|
1685
|
+
* Dimension names shown when drilling into this measure
|
|
1686
|
+
* Full names like "CubeName.dimensionName" for cross-cube support
|
|
1687
|
+
* If not specified, drilling is disabled for this measure
|
|
1688
|
+
*/
|
|
1689
|
+
drillMembers?: string[];
|
|
1618
1690
|
}
|
|
1619
1691
|
|
|
1620
1692
|
/**
|
|
@@ -2788,9 +2860,15 @@ export declare class SemanticLayerCompiler {
|
|
|
2788
2860
|
* Handles different column types and extracts the actual column name
|
|
2789
2861
|
*/
|
|
2790
2862
|
private getColumnName;
|
|
2863
|
+
/**
|
|
2864
|
+
* Default time granularities for time dimensions (ordered from least to most granular)
|
|
2865
|
+
* Used when dimension.granularities is not specified
|
|
2866
|
+
*/
|
|
2867
|
+
private static readonly DEFAULT_TIME_GRANULARITIES;
|
|
2791
2868
|
/**
|
|
2792
2869
|
* Generate cube metadata for API responses from cubes
|
|
2793
2870
|
* Optimized version that minimizes object iterations
|
|
2871
|
+
* Includes drill-down support: drillMembers on measures, granularities on time dimensions, hierarchies
|
|
2794
2872
|
*/
|
|
2795
2873
|
private generateCubeMetadata;
|
|
2796
2874
|
/**
|