drizzle-cube 0.4.30 → 0.4.31

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 (119) hide show
  1. package/dist/adapters/express/index.cjs +1 -1
  2. package/dist/adapters/express/index.d.ts +1 -1
  3. package/dist/adapters/express/index.js +7 -7
  4. package/dist/adapters/fastify/index.cjs +1 -1
  5. package/dist/adapters/fastify/index.d.ts +1 -1
  6. package/dist/adapters/fastify/index.js +7 -7
  7. package/dist/adapters/{handler-D-2-6uLM.js → handler-BiVT5Sa4.js} +4 -4
  8. package/dist/adapters/{handler-B8vuFQYP.cjs → handler-GLMhjuwG.cjs} +2 -2
  9. package/dist/adapters/hono/index.cjs +1 -1
  10. package/dist/adapters/hono/index.d.ts +1 -1
  11. package/dist/adapters/hono/index.js +3 -3
  12. package/dist/adapters/{mcp-transport-CuugoG8t.js → mcp-transport-Cs6gEFCi.js} +1254 -948
  13. package/dist/adapters/mcp-transport-nyTtswLM.cjs +254 -0
  14. package/dist/adapters/nextjs/index.cjs +1 -1
  15. package/dist/adapters/nextjs/index.d.ts +1 -1
  16. package/dist/adapters/nextjs/index.js +3 -3
  17. package/dist/adapters/{openai-DhLE0A9Z.cjs → openai-C5Brybjm.cjs} +1 -1
  18. package/dist/adapters/openai-D1zCEi6A.cjs +16 -0
  19. package/dist/adapters/{openai-CjBvA6mK.js → openai-DPuFtYsB.js} +659 -637
  20. package/dist/adapters/{openai-Zjw4Zo4R.js → openai-wU05wYGL.js} +1 -1
  21. package/dist/adapters/{utils-ChhNGUOF.js → utils-Dj1adfDc.js} +6 -3
  22. package/dist/adapters/{utils-CwJplXR5.cjs → utils-cb6OWP7J.cjs} +1 -1
  23. package/dist/adapters/utils.cjs +1 -1
  24. package/dist/adapters/utils.d.ts +1 -1
  25. package/dist/adapters/utils.js +1 -1
  26. package/dist/client/charts.js +13 -13
  27. package/dist/client/chunks/{DashboardEditModal-C076pscL.js → DashboardEditModal-DenRJiYr.js} +11 -11
  28. package/dist/client/chunks/{DashboardEditModal-C076pscL.js.map → DashboardEditModal-DenRJiYr.js.map} +1 -1
  29. package/dist/client/chunks/{FieldSearchModal-C0DjSWk3.js → FieldSearchModal-BQS1v1up.js} +3 -3
  30. package/dist/client/chunks/{FieldSearchModal-C0DjSWk3.js.map → FieldSearchModal-BQS1v1up.js.map} +1 -1
  31. package/dist/client/chunks/{RetentionCombinedChart-DuGXc-AP.js → RetentionCombinedChart-D4Yf1TnQ.js} +3 -3
  32. package/dist/client/chunks/{RetentionCombinedChart-DuGXc-AP.js.map → RetentionCombinedChart-D4Yf1TnQ.js.map} +1 -1
  33. package/dist/client/chunks/{analysis-builder-DF0XntqC.js → analysis-builder-DG38V1gO.js} +14 -20
  34. package/dist/client/chunks/{analysis-builder-DF0XntqC.js.map → analysis-builder-DG38V1gO.js.map} +1 -1
  35. package/dist/client/chunks/{analysis-builder-shared-2QhKYbs6.js → analysis-builder-shared-DaFu78dk.js} +19 -17
  36. package/dist/client/chunks/analysis-builder-shared-DaFu78dk.js.map +1 -0
  37. package/dist/client/chunks/{chart-activity-grid-CNES9VBk.js → chart-activity-grid-wR2Twpo7.js} +9 -6
  38. package/dist/client/chunks/chart-activity-grid-wR2Twpo7.js.map +1 -0
  39. package/dist/client/chunks/{chart-area-CRJc3KOu.js → chart-area-e9ysnatQ.js} +2 -2
  40. package/dist/client/chunks/{chart-area-CRJc3KOu.js.map → chart-area-e9ysnatQ.js.map} +1 -1
  41. package/dist/client/chunks/{chart-bar-DD2PjJ5n.js → chart-bar-Bx4oKlqo.js} +3 -3
  42. package/dist/client/chunks/{chart-bar-DD2PjJ5n.js.map → chart-bar-Bx4oKlqo.js.map} +1 -1
  43. package/dist/client/chunks/{chart-box-plot-BcqleldJ.js → chart-box-plot-CVIi1aM5.js} +2 -2
  44. package/dist/client/chunks/{chart-box-plot-BcqleldJ.js.map → chart-box-plot-CVIi1aM5.js.map} +1 -1
  45. package/dist/client/chunks/{chart-bubble-BmQkVk4K.js → chart-bubble-DvyG15UB.js} +2 -2
  46. package/dist/client/chunks/{chart-bubble-BmQkVk4K.js.map → chart-bubble-DvyG15UB.js.map} +1 -1
  47. package/dist/client/chunks/{chart-candlestick-C3Rep469.js → chart-candlestick-caHyxB9O.js} +2 -2
  48. package/dist/client/chunks/{chart-candlestick-C3Rep469.js.map → chart-candlestick-caHyxB9O.js.map} +1 -1
  49. package/dist/client/chunks/{chart-data-table-DehW1C1G.js → chart-data-table-B2m_6EZe.js} +2 -2
  50. package/dist/client/chunks/{chart-data-table-DehW1C1G.js.map → chart-data-table-B2m_6EZe.js.map} +1 -1
  51. package/dist/client/chunks/{chart-funnel-BjkpnG5g.js → chart-funnel-C9JRW79j.js} +2 -2
  52. package/dist/client/chunks/{chart-funnel-BjkpnG5g.js.map → chart-funnel-C9JRW79j.js.map} +1 -1
  53. package/dist/client/chunks/{chart-gauge-BWW_HEfg.js → chart-gauge-BLLJqeXo.js} +2 -2
  54. package/dist/client/chunks/{chart-gauge-BWW_HEfg.js.map → chart-gauge-BLLJqeXo.js.map} +1 -1
  55. package/dist/client/chunks/{chart-heat-map-BWuOuDcm.js → chart-heat-map-f2fM2mDC.js} +2 -2
  56. package/dist/client/chunks/{chart-heat-map-BWuOuDcm.js.map → chart-heat-map-f2fM2mDC.js.map} +1 -1
  57. package/dist/client/chunks/{chart-kpi-delta-D5OHtDJx.js → chart-kpi-delta-S6qDEoJO.js} +3 -3
  58. package/dist/client/chunks/{chart-kpi-delta-D5OHtDJx.js.map → chart-kpi-delta-S6qDEoJO.js.map} +1 -1
  59. package/dist/client/chunks/{chart-kpi-number-C9zH-aKC.js → chart-kpi-number-CEUBsVW2.js} +5 -5
  60. package/dist/client/chunks/{chart-kpi-number-C9zH-aKC.js.map → chart-kpi-number-CEUBsVW2.js.map} +1 -1
  61. package/dist/client/chunks/{chart-kpi-text-ChVn3S7j.js → chart-kpi-text-DgRig_jQ.js} +3 -3
  62. package/dist/client/chunks/{chart-kpi-text-ChVn3S7j.js.map → chart-kpi-text-DgRig_jQ.js.map} +1 -1
  63. package/dist/client/chunks/{chart-line-DOIMkP0b.js → chart-line-CPhQRMZ7.js} +4 -3
  64. package/dist/client/chunks/chart-line-CPhQRMZ7.js.map +1 -0
  65. package/dist/client/chunks/{chart-measure-profile-C6wrr9il.js → chart-measure-profile-CVlqGslU.js} +3 -3
  66. package/dist/client/chunks/{chart-measure-profile-C6wrr9il.js.map → chart-measure-profile-CVlqGslU.js.map} +1 -1
  67. package/dist/client/chunks/{chart-pie-BU_FgwDc.js → chart-pie-DafSc9sE.js} +3 -3
  68. package/dist/client/chunks/{chart-pie-BU_FgwDc.js.map → chart-pie-DafSc9sE.js.map} +1 -1
  69. package/dist/client/chunks/{chart-radar-DlufwnAX.js → chart-radar-Dz9F5k-B.js} +3 -3
  70. package/dist/client/chunks/{chart-radar-DlufwnAX.js.map → chart-radar-Dz9F5k-B.js.map} +1 -1
  71. package/dist/client/chunks/{chart-radial-bar-B5vS_Aw5.js → chart-radial-bar-N3MNUL7o.js} +3 -3
  72. package/dist/client/chunks/{chart-radial-bar-B5vS_Aw5.js.map → chart-radial-bar-N3MNUL7o.js.map} +1 -1
  73. package/dist/client/chunks/{chart-sankey-FChb26UX.js → chart-sankey-8nRYnupt.js} +2 -2
  74. package/dist/client/chunks/{chart-sankey-FChb26UX.js.map → chart-sankey-8nRYnupt.js.map} +1 -1
  75. package/dist/client/chunks/{chart-scatter-DW0cAZ2H.js → chart-scatter-J2JNi88S.js} +3 -3
  76. package/dist/client/chunks/{chart-scatter-DW0cAZ2H.js.map → chart-scatter-J2JNi88S.js.map} +1 -1
  77. package/dist/client/chunks/{chart-sunburst-Clf-6WxW.js → chart-sunburst-D1NFQjqk.js} +3 -3
  78. package/dist/client/chunks/{chart-sunburst-Clf-6WxW.js.map → chart-sunburst-D1NFQjqk.js.map} +1 -1
  79. package/dist/client/chunks/{chart-tree-map-p_VwUJPF.js → chart-tree-map-CbYjko2s.js} +3 -3
  80. package/dist/client/chunks/{chart-tree-map-p_VwUJPF.js.map → chart-tree-map-CbYjko2s.js.map} +1 -1
  81. package/dist/client/chunks/{chart-waterfall-jt44IQ-w.js → chart-waterfall-Z65TGMUO.js} +3 -3
  82. package/dist/client/chunks/{chart-waterfall-jt44IQ-w.js.map → chart-waterfall-Z65TGMUO.js.map} +1 -1
  83. package/dist/client/chunks/{charts-core-CUVzf4cV.js → charts-core-CJlGzwsW.js} +2 -2
  84. package/dist/client/chunks/{charts-core-CUVzf4cV.js.map → charts-core-CJlGzwsW.js.map} +1 -1
  85. package/dist/client/chunks/{charts-loader-AGpph8_I.js → charts-loader-BI07yxaQ.js} +25 -25
  86. package/dist/client/chunks/{charts-loader-AGpph8_I.js.map → charts-loader-BI07yxaQ.js.map} +1 -1
  87. package/dist/client/chunks/{schema-visualization-ZugB4Io9.js → schema-visualization-DPL5_Tkh.js} +2 -2
  88. package/dist/client/chunks/{schema-visualization-ZugB4Io9.js.map → schema-visualization-DPL5_Tkh.js.map} +1 -1
  89. package/dist/client/chunks/{useDebounce-BQjNWndQ.js → useDebounce-DkuM7nQk.js} +4 -4
  90. package/dist/client/chunks/{useDebounce-BQjNWndQ.js.map → useDebounce-DkuM7nQk.js.map} +1 -1
  91. package/dist/client/chunks/{useExplainAI-c_bHxZe5.js → useExplainAI-RflLTDVL.js} +7 -7
  92. package/dist/client/chunks/useExplainAI-RflLTDVL.js.map +1 -0
  93. package/dist/client/chunks/{utils-A54Ny29G.js → utils--32ZtfbZ.js} +2 -2
  94. package/dist/client/chunks/{utils-A54Ny29G.js.map → utils--32ZtfbZ.js.map} +1 -1
  95. package/dist/client/chunks/{vendor-CoPBRumI.js → vendor-CZX7UVzM.js} +2 -2
  96. package/dist/client/chunks/{vendor-CoPBRumI.js.map → vendor-CZX7UVzM.js.map} +1 -1
  97. package/dist/client/components/AnalysisBuilder/AnalysisModeErrorBoundary.d.ts +0 -1
  98. package/dist/client/components.js +3 -3
  99. package/dist/client/hooks.js +3 -3
  100. package/dist/client/icons.js +1 -1
  101. package/dist/client/index.js +15 -15
  102. package/dist/client/providers.js +1 -1
  103. package/dist/client/utils.js +5 -5
  104. package/dist/client-bundle-stats.html +1 -1
  105. package/dist/server/index.cjs +41 -40
  106. package/dist/server/index.d.ts +43 -9
  107. package/dist/server/index.js +1421 -1112
  108. package/dist/server/openai-CucrxPHM.cjs +16 -0
  109. package/dist/server/{openai-CLsoLaue.cjs → openai-DiyuZ3ds.cjs} +1 -1
  110. package/dist/server/{openai-BPhmb8mi.js → openai-nZJcAzON.js} +659 -637
  111. package/dist/server/{openai-D1kZ5sdM.js → openai-owPdq1yN.js} +1 -1
  112. package/package.json +14 -4
  113. package/dist/adapters/mcp-transport-Dpp6hdZe.cjs +0 -253
  114. package/dist/adapters/openai-eJBw3LfQ.cjs +0 -16
  115. package/dist/client/chunks/analysis-builder-shared-2QhKYbs6.js.map +0 -1
  116. package/dist/client/chunks/chart-activity-grid-CNES9VBk.js.map +0 -1
  117. package/dist/client/chunks/chart-line-DOIMkP0b.js.map +0 -1
  118. package/dist/client/chunks/useExplainAI-c_bHxZe5.js.map +0 -1
  119. package/dist/server/openai-DkOKbVLC.cjs +0 -16
@@ -241,9 +241,9 @@ export declare abstract class BaseDatabaseExecutor implements DatabaseExecutor {
241
241
  db: DrizzleDatabase;
242
242
  schema?: any | undefined;
243
243
  databaseAdapter: DatabaseAdapter;
244
- constructor(db: DrizzleDatabase, schema?: any | undefined, engineType?: 'postgres' | 'mysql' | 'sqlite' | 'singlestore' | 'duckdb');
244
+ constructor(db: DrizzleDatabase, schema?: any | undefined, engineType?: 'postgres' | 'mysql' | 'sqlite' | 'singlestore' | 'duckdb' | 'databend');
245
245
  abstract execute<T = any[]>(query: SQL | any, numericFields?: string[]): Promise<T>;
246
- abstract getEngineType(): 'postgres' | 'mysql' | 'sqlite' | 'singlestore' | 'duckdb';
246
+ abstract getEngineType(): 'postgres' | 'mysql' | 'sqlite' | 'singlestore' | 'duckdb' | 'databend';
247
247
  abstract explainQuery(sqlString: string, params: unknown[], options?: ExplainOptions): Promise<ExplainResult>;
248
248
  abstract getTableIndexes(tableNames: string[]): Promise<IndexInfo[]>;
249
249
  }
@@ -615,7 +615,12 @@ export declare interface CompiledCube extends Cube {
615
615
  * @param engineType - Optional explicit engine type override
616
616
  * @returns Appropriate database executor
617
617
  */
618
- export declare function createDatabaseExecutor(db: DrizzleDatabase, schema?: any, engineType?: 'postgres' | 'mysql' | 'sqlite' | 'singlestore' | 'duckdb'): DatabaseExecutor;
618
+ export declare function createDatabaseExecutor(db: DrizzleDatabase, schema?: any, engineType?: 'postgres' | 'mysql' | 'sqlite' | 'singlestore' | 'duckdb' | 'databend'): DatabaseExecutor;
619
+
620
+ /**
621
+ * Factory function for creating Databend executors
622
+ */
623
+ export declare function createDatabendExecutor(db: DrizzleDatabase, schema?: any): DatabendExecutor;
619
624
 
620
625
  /**
621
626
  * Create a new semantic layer instance with Drizzle integration
@@ -968,7 +973,7 @@ declare interface DatabaseAdapter {
968
973
  /**
969
974
  * Get the database engine type this adapter supports
970
975
  */
971
- getEngineType(): 'postgres' | 'mysql' | 'sqlite' | 'singlestore' | 'duckdb';
976
+ getEngineType(): 'postgres' | 'mysql' | 'sqlite' | 'singlestore' | 'duckdb' | 'databend';
972
977
  /**
973
978
  * Check if the database supports LATERAL joins
974
979
  * Required for optimized flow queries with index-backed seeks
@@ -1158,6 +1163,8 @@ declare interface DatabaseCapabilities {
1158
1163
  supportsLateralJoins: boolean;
1159
1164
  /** Whether percentile functions work in subqueries against CTEs (false for DuckDB) */
1160
1165
  supportsPercentileSubqueries: boolean;
1166
+ /** Whether derived tables (subqueries) work in FROM clauses inside CTEs (false for Databend) */
1167
+ supportsDerivedTablesInCTE: boolean;
1161
1168
  }
1162
1169
 
1163
1170
  /**
@@ -1174,13 +1181,40 @@ export declare interface DatabaseExecutor {
1174
1181
  /** Execute a Drizzle SQL query or query object */
1175
1182
  execute<T = any[]>(query: SQL | any, numericFields?: string[]): Promise<T>;
1176
1183
  /** Get the database engine type */
1177
- getEngineType(): 'postgres' | 'mysql' | 'sqlite' | 'singlestore' | 'duckdb';
1184
+ getEngineType(): 'postgres' | 'mysql' | 'sqlite' | 'singlestore' | 'duckdb' | 'databend';
1178
1185
  /** Execute EXPLAIN on a SQL query to get the execution plan */
1179
1186
  explainQuery(sqlString: string, params: unknown[], options?: ExplainOptions): Promise<ExplainResult>;
1180
1187
  /** Get existing indexes for the specified tables */
1181
1188
  getTableIndexes(tableNames: string[]): Promise<IndexInfo[]>;
1182
1189
  }
1183
1190
 
1191
+ export declare class DatabendExecutor extends BaseDatabaseExecutor {
1192
+ execute<T = any[]>(query: SQL | any, numericFields?: string[]): Promise<T>;
1193
+ /**
1194
+ * Extract SQL string and params from a query object for error logging
1195
+ */
1196
+ private extractSqlFromQuery;
1197
+ /**
1198
+ * Convert numeric string fields to numbers (only for measure fields)
1199
+ */
1200
+ private convertNumericFields;
1201
+ /**
1202
+ * Coerce a value to a number if it represents a numeric type
1203
+ */
1204
+ private coerceToNumber;
1205
+ getEngineType(): 'databend';
1206
+ /**
1207
+ * Execute EXPLAIN on a SQL query to get the execution plan
1208
+ * Databend supports EXPLAIN and EXPLAIN ANALYZE
1209
+ */
1210
+ explainQuery(sqlString: string, params: unknown[], options?: ExplainOptions): Promise<ExplainResult>;
1211
+ /**
1212
+ * Get existing indexes for the specified tables
1213
+ * Databend uses system tables for index information
1214
+ */
1215
+ getTableIndexes(tableNames: string[]): Promise<IndexInfo[]>;
1216
+ }
1217
+
1184
1218
  /**
1185
1219
  * Helper function to create cubes
1186
1220
  */
@@ -1620,7 +1654,7 @@ export declare interface ExplainResult {
1620
1654
  */
1621
1655
  export declare interface ExplainSummary {
1622
1656
  /** Database engine type */
1623
- database: 'postgres' | 'mysql' | 'sqlite' | 'duckdb';
1657
+ database: 'postgres' | 'mysql' | 'sqlite' | 'duckdb' | 'databend';
1624
1658
  /** Planning time in milliseconds (if available) */
1625
1659
  planningTime?: number;
1626
1660
  /** Execution time in milliseconds (if ANALYZE was used) */
@@ -4380,7 +4414,7 @@ export declare class SemanticLayerCompiler {
4380
4414
  drizzle?: DatabaseExecutor['db'];
4381
4415
  schema?: any;
4382
4416
  databaseExecutor?: DatabaseExecutor;
4383
- engineType?: 'postgres' | 'mysql' | 'sqlite' | 'singlestore' | 'duckdb';
4417
+ engineType?: 'postgres' | 'mysql' | 'sqlite' | 'singlestore' | 'duckdb' | 'databend';
4384
4418
  /** Cache configuration for query result caching */
4385
4419
  cache?: CacheConfig;
4386
4420
  });
@@ -4391,11 +4425,11 @@ export declare class SemanticLayerCompiler {
4391
4425
  /**
4392
4426
  * Get the database engine type for SQL formatting
4393
4427
  */
4394
- getEngineType(): 'postgres' | 'mysql' | 'sqlite' | 'singlestore' | 'duckdb' | undefined;
4428
+ getEngineType(): 'postgres' | 'mysql' | 'sqlite' | 'singlestore' | 'duckdb' | 'databend' | undefined;
4395
4429
  /**
4396
4430
  * Set Drizzle instance and schema directly
4397
4431
  */
4398
- setDrizzle(db: DatabaseExecutor['db'], schema?: any, engineType?: 'postgres' | 'mysql' | 'sqlite' | 'singlestore' | 'duckdb'): void;
4432
+ setDrizzle(db: DatabaseExecutor['db'], schema?: any, engineType?: 'postgres' | 'mysql' | 'sqlite' | 'singlestore' | 'duckdb' | 'databend'): void;
4399
4433
  /**
4400
4434
  * Check if database executor is configured
4401
4435
  */