@duckcodeailabs/dql-core 0.8.5 → 0.8.6

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.
@@ -15,7 +15,34 @@
15
15
  * });
16
16
  * const layer = await provider.loadAsync(config, projectRoot);
17
17
  */
18
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
19
+ import { join } from 'node:path';
18
20
  import { SemanticLayer } from '../semantic-layer.js';
21
+ const CACHE_TTL_MS = 60 * 60 * 1000; // 1 hour
22
+ function getCachePath(projectRoot) {
23
+ return join(projectRoot, 'semantic-layer', 'cache', 'snowflake-introspection.json');
24
+ }
25
+ function readCache(projectRoot) {
26
+ const path = getCachePath(projectRoot);
27
+ if (!existsSync(path))
28
+ return null;
29
+ try {
30
+ const data = JSON.parse(readFileSync(path, 'utf-8'));
31
+ if (Date.now() - data.timestamp > CACHE_TTL_MS)
32
+ return null;
33
+ return data;
34
+ }
35
+ catch {
36
+ return null;
37
+ }
38
+ }
39
+ function writeCache(projectRoot, entry) {
40
+ const path = getCachePath(projectRoot);
41
+ const dir = join(projectRoot, 'semantic-layer', 'cache');
42
+ if (!existsSync(dir))
43
+ mkdirSync(dir, { recursive: true });
44
+ writeFileSync(path, JSON.stringify(entry, null, 2), 'utf-8');
45
+ }
19
46
  export class SnowflakeSemanticProvider {
20
47
  executeQuery;
21
48
  name = 'snowflake';
@@ -25,75 +52,80 @@ export class SnowflakeSemanticProvider {
25
52
  /**
26
53
  * Load semantic layer definitions from Snowflake semantic views.
27
54
  * This is async because it needs to query Snowflake metadata.
55
+ * Uses a file cache (1-hour TTL) to avoid repeated introspection.
28
56
  */
29
57
  async loadAsync(config, _projectRoot) {
30
58
  const layer = new SemanticLayer();
31
59
  const database = config.projectPath; // Reuse projectPath as database filter
60
+ // Try reading from cache first
61
+ const cached = readCache(_projectRoot);
62
+ if (cached) {
63
+ this.populateLayerFromCache(layer, cached);
64
+ return layer;
65
+ }
32
66
  // 1. Discover semantic views
33
67
  const views = await this.discoverSemanticViews(database);
34
68
  // 2. For each semantic view, load its metrics and dimensions
69
+ const cacheEntry = {
70
+ timestamp: Date.now(),
71
+ views,
72
+ viewDescriptions: {},
73
+ relationships: {},
74
+ };
35
75
  for (const view of views) {
36
- await this.loadViewMetrics(layer, view);
37
- await this.loadViewDimensions(layer, view);
38
- await this.loadViewRelationships(layer, view);
76
+ const fqn = `"${view.databaseName}"."${view.schemaName}"."${view.name}"`;
77
+ try {
78
+ const desc = await this.executeQuery(`DESC SEMANTIC VIEW ${fqn}`);
79
+ cacheEntry.viewDescriptions[fqn] = desc.rows;
80
+ }
81
+ catch { /* skip */ }
82
+ try {
83
+ const rels = await this.executeQuery(`SELECT * FROM TABLE(INFORMATION_SCHEMA.SEMANTIC_VIEW_RELATIONSHIPS('${fqn}'))`);
84
+ cacheEntry.relationships[fqn] = rels.rows;
85
+ }
86
+ catch { /* skip */ }
39
87
  }
88
+ // Populate layer from the fresh data
89
+ this.populateLayerFromCache(layer, cacheEntry);
90
+ // Write cache for next time
91
+ writeCache(_projectRoot, cacheEntry);
40
92
  return layer;
41
93
  }
42
94
  /**
43
- * Discover available semantic views in the Snowflake account.
95
+ * Clear the cached introspection so the next load queries Snowflake fresh.
44
96
  */
45
- async discoverSemanticViews(database) {
46
- // Snowflake exposes semantic views via SHOW SEMANTIC VIEWS or
47
- // INFORMATION_SCHEMA. We try SHOW first as it's more universally available.
48
- let sql = 'SHOW SEMANTIC VIEWS';
49
- if (database) {
50
- sql += ` IN DATABASE "${database}"`;
51
- }
52
- try {
53
- const result = await this.executeQuery(sql);
54
- return result.rows.map((row) => ({
55
- name: String(row['name'] ?? row['NAME'] ?? ''),
56
- databaseName: String(row['database_name'] ?? row['DATABASE_NAME'] ?? ''),
57
- schemaName: String(row['schema_name'] ?? row['SCHEMA_NAME'] ?? ''),
58
- }));
59
- }
60
- catch {
61
- // SHOW SEMANTIC VIEWS may not be available in older Snowflake versions.
62
- // Fall back to INFORMATION_SCHEMA query.
63
- return this.discoverViaInformationSchema(database);
97
+ static clearCache(projectRoot) {
98
+ const path = getCachePath(projectRoot);
99
+ if (existsSync(path)) {
100
+ const { unlinkSync } = require('node:fs');
101
+ unlinkSync(path);
102
+ return true;
64
103
  }
104
+ return false;
65
105
  }
66
- async discoverViaInformationSchema(database) {
67
- const db = database ? `"${database}".` : '';
68
- const sql = `
69
- SELECT TABLE_NAME, TABLE_CATALOG, TABLE_SCHEMA
70
- FROM ${db}INFORMATION_SCHEMA.TABLES
71
- WHERE TABLE_TYPE = 'SEMANTIC VIEW'
72
- ORDER BY TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME
73
- `;
106
+ /**
107
+ * Check if cache is present and fresh.
108
+ */
109
+ static isCached(projectRoot) {
110
+ const path = getCachePath(projectRoot);
111
+ if (!existsSync(path))
112
+ return { cached: false };
74
113
  try {
75
- const result = await this.executeQuery(sql);
76
- return result.rows.map((row) => ({
77
- name: String(row['TABLE_NAME'] ?? ''),
78
- databaseName: String(row['TABLE_CATALOG'] ?? ''),
79
- schemaName: String(row['TABLE_SCHEMA'] ?? ''),
80
- }));
114
+ const data = JSON.parse(readFileSync(path, 'utf-8'));
115
+ const age = Date.now() - data.timestamp;
116
+ return { cached: age <= CACHE_TTL_MS, age };
81
117
  }
82
118
  catch {
83
- // If neither approach works, return empty the error will surface as
84
- // "no metrics found" which is more helpful than a raw SQL error.
85
- return [];
119
+ return { cached: false };
86
120
  }
87
121
  }
88
- /**
89
- * Load metrics from a semantic view's metadata.
90
- */
91
- async loadViewMetrics(layer, view) {
92
- const fqn = `"${view.databaseName}"."${view.schemaName}"."${view.name}"`;
93
- try {
94
- // DESC SEMANTIC VIEW returns columns with their semantic roles
95
- const result = await this.executeQuery(`DESC SEMANTIC VIEW ${fqn}`);
96
- for (const row of result.rows) {
122
+ populateLayerFromCache(layer, cache) {
123
+ for (const view of cache.views) {
124
+ const fqn = `"${view.databaseName}"."${view.schemaName}"."${view.name}"`;
125
+ const descRows = cache.viewDescriptions[fqn] ?? [];
126
+ const relRows = cache.relationships[fqn] ?? [];
127
+ // Process metrics and dimensions from cached description
128
+ for (const row of descRows) {
97
129
  const colName = String(row['name'] ?? row['NAME'] ?? '');
98
130
  const colType = String(row['type'] ?? row['TYPE'] ?? '');
99
131
  const semanticRole = String(row['semantic_role'] ?? row['SEMANTIC_ROLE'] ?? row['kind'] ?? row['KIND'] ?? '');
@@ -109,27 +141,17 @@ export class SnowflakeSemanticProvider {
109
141
  type: aggregation,
110
142
  table: fqn,
111
143
  domain: view.schemaName,
144
+ cube: view.name,
145
+ aggregation,
146
+ source: {
147
+ provider: 'snowflake',
148
+ objectType: 'metric',
149
+ objectId: `${fqn}.${colName}`,
150
+ objectName: colName,
151
+ },
112
152
  });
113
153
  }
114
- }
115
- }
116
- catch {
117
- // Silently skip views we can't describe — they'll show as having no metrics
118
- }
119
- }
120
- /**
121
- * Load dimensions from a semantic view's metadata.
122
- */
123
- async loadViewDimensions(layer, view) {
124
- const fqn = `"${view.databaseName}"."${view.schemaName}"."${view.name}"`;
125
- try {
126
- const result = await this.executeQuery(`DESC SEMANTIC VIEW ${fqn}`);
127
- for (const row of result.rows) {
128
- const colName = String(row['name'] ?? row['NAME'] ?? '');
129
- const colType = String(row['type'] ?? row['TYPE'] ?? '');
130
- const semanticRole = String(row['semantic_role'] ?? row['SEMANTIC_ROLE'] ?? row['kind'] ?? row['KIND'] ?? '');
131
- const description = String(row['comment'] ?? row['COMMENT'] ?? '');
132
- if (semanticRole.toLowerCase() === 'dimension' || semanticRole.toLowerCase() === 'entity') {
154
+ else if (semanticRole.toLowerCase() === 'dimension' || semanticRole.toLowerCase() === 'entity') {
133
155
  const dimType = inferDimensionType(colType);
134
156
  layer.addDimension({
135
157
  name: `${view.name}.${colName}`,
@@ -138,29 +160,23 @@ export class SnowflakeSemanticProvider {
138
160
  sql: colName,
139
161
  type: dimType,
140
162
  table: fqn,
163
+ cube: view.name,
164
+ source: {
165
+ provider: 'snowflake',
166
+ objectType: 'dimension',
167
+ objectId: `${fqn}.${colName}`,
168
+ objectName: colName,
169
+ },
141
170
  });
142
171
  }
143
172
  }
144
- }
145
- catch {
146
- // Skip on error
147
- }
148
- }
149
- /**
150
- * Load relationships/joins from a semantic view's metadata.
151
- */
152
- async loadViewRelationships(layer, view) {
153
- const fqn = `"${view.databaseName}"."${view.schemaName}"."${view.name}"`;
154
- try {
155
- // Try to get relationship metadata — this varies by Snowflake version
156
- const result = await this.executeQuery(`SELECT * FROM TABLE(INFORMATION_SCHEMA.SEMANTIC_VIEW_RELATIONSHIPS('${fqn}'))`);
157
- for (const row of result.rows) {
173
+ // Process relationships
174
+ for (const row of relRows) {
158
175
  const leftTable = String(row['left_table'] ?? row['LEFT_TABLE'] ?? '');
159
176
  const rightTable = String(row['right_table'] ?? row['RIGHT_TABLE'] ?? '');
160
177
  const joinType = String(row['join_type'] ?? row['JOIN_TYPE'] ?? 'left');
161
178
  const joinCondition = String(row['join_condition'] ?? row['JOIN_CONDITION'] ?? '');
162
179
  if (leftTable && rightTable && joinCondition) {
163
- // Register as a cube with join if both sides are available
164
180
  const leftName = leftTable.split('.').pop() ?? leftTable;
165
181
  const rightName = rightTable.split('.').pop() ?? rightTable;
166
182
  const emptyCube = (cubeName, cubeTable) => ({
@@ -174,15 +190,19 @@ export class SnowflakeSemanticProvider {
174
190
  dimensions: [],
175
191
  timeDimensions: [],
176
192
  joins: [],
193
+ segments: [],
194
+ preAggregations: [],
195
+ source: {
196
+ provider: 'snowflake',
197
+ objectType: 'semantic_view',
198
+ objectId: cubeTable,
199
+ objectName: cubeName,
200
+ },
177
201
  });
178
- // Ensure both cubes exist
179
- if (!layer.getCube(leftName)) {
202
+ if (!layer.getCube(leftName))
180
203
  layer.addCube(emptyCube(leftName, leftTable));
181
- }
182
- if (!layer.getCube(rightName)) {
204
+ if (!layer.getCube(rightName))
183
205
  layer.addCube(emptyCube(rightName, rightTable));
184
- }
185
- // Add join to the left cube
186
206
  const leftCube = layer.getCube(leftName);
187
207
  if (leftCube) {
188
208
  const jt = joinType.toLowerCase();
@@ -198,8 +218,51 @@ export class SnowflakeSemanticProvider {
198
218
  }
199
219
  }
200
220
  }
221
+ }
222
+ /**
223
+ * Discover available semantic views in the Snowflake account.
224
+ */
225
+ async discoverSemanticViews(database) {
226
+ // Snowflake exposes semantic views via SHOW SEMANTIC VIEWS or
227
+ // INFORMATION_SCHEMA. We try SHOW first as it's more universally available.
228
+ let sql = 'SHOW SEMANTIC VIEWS';
229
+ if (database) {
230
+ sql += ` IN DATABASE "${database}"`;
231
+ }
232
+ try {
233
+ const result = await this.executeQuery(sql);
234
+ return result.rows.map((row) => ({
235
+ name: String(row['name'] ?? row['NAME'] ?? ''),
236
+ databaseName: String(row['database_name'] ?? row['DATABASE_NAME'] ?? ''),
237
+ schemaName: String(row['schema_name'] ?? row['SCHEMA_NAME'] ?? ''),
238
+ }));
239
+ }
240
+ catch {
241
+ // SHOW SEMANTIC VIEWS may not be available in older Snowflake versions.
242
+ // Fall back to INFORMATION_SCHEMA query.
243
+ return this.discoverViaInformationSchema(database);
244
+ }
245
+ }
246
+ async discoverViaInformationSchema(database) {
247
+ const db = database ? `"${database}".` : '';
248
+ const sql = `
249
+ SELECT TABLE_NAME, TABLE_CATALOG, TABLE_SCHEMA
250
+ FROM ${db}INFORMATION_SCHEMA.TABLES
251
+ WHERE TABLE_TYPE = 'SEMANTIC VIEW'
252
+ ORDER BY TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME
253
+ `;
254
+ try {
255
+ const result = await this.executeQuery(sql);
256
+ return result.rows.map((row) => ({
257
+ name: String(row['TABLE_NAME'] ?? ''),
258
+ databaseName: String(row['TABLE_CATALOG'] ?? ''),
259
+ schemaName: String(row['TABLE_SCHEMA'] ?? ''),
260
+ }));
261
+ }
201
262
  catch {
202
- // Relationship introspection is optionalolder Snowflake may not support it
263
+ // If neither approach works, return empty the error will surface as
264
+ // "no metrics found" which is more helpful than a raw SQL error.
265
+ return [];
203
266
  }
204
267
  }
205
268
  }
@@ -1 +1 @@
1
- {"version":3,"file":"snowflake-provider.js","sourceRoot":"","sources":["../../../src/semantic/providers/snowflake-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snowflake-provider.js","sourceRoot":"","sources":["../../../src/semantic/providers/snowflake-provider.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,14 @@
3
3
  * Maps to the architecture spec's semantic-layer/ directory structure.
4
4
  */
5
5
  import { type SQLDialect } from './sql-dialect.js';
6
+ export interface SemanticSourceMetadata {
7
+ provider: string;
8
+ objectType: string;
9
+ objectId: string;
10
+ objectName?: string;
11
+ importedAt?: string;
12
+ extra?: Record<string, unknown>;
13
+ }
6
14
  export interface MetricDefinition {
7
15
  name: string;
8
16
  label: string;
@@ -14,15 +22,22 @@ export interface MetricDefinition {
14
22
  filters?: Record<string, string>;
15
23
  tags?: string[];
16
24
  owner?: string;
25
+ cube?: string;
26
+ aggregation?: string;
27
+ source?: SemanticSourceMetadata;
17
28
  }
18
29
  export interface DimensionDefinition {
19
30
  name: string;
20
31
  label: string;
21
32
  description: string;
33
+ domain?: string;
22
34
  sql: string;
23
35
  type: 'string' | 'number' | 'date' | 'boolean';
24
36
  table: string;
25
37
  tags?: string[];
38
+ owner?: string;
39
+ cube?: string;
40
+ source?: SemanticSourceMetadata;
26
41
  }
27
42
  export type HierarchyRollupType = 'sum' | 'count' | 'count_distinct' | 'avg' | 'min' | 'max' | 'none';
28
43
  export interface HierarchyLevelDefinition {
@@ -50,6 +65,34 @@ export interface HierarchyDefinition {
50
65
  defaultRollup?: HierarchyRollupType;
51
66
  tags?: string[];
52
67
  owner?: string;
68
+ source?: SemanticSourceMetadata;
69
+ }
70
+ export interface SegmentDefinition {
71
+ name: string;
72
+ label: string;
73
+ description: string;
74
+ domain?: string;
75
+ cube: string;
76
+ sql: string;
77
+ tags?: string[];
78
+ owner?: string;
79
+ source?: SemanticSourceMetadata;
80
+ }
81
+ export interface PreAggregationDefinition {
82
+ name: string;
83
+ label: string;
84
+ description: string;
85
+ domain?: string;
86
+ cube: string;
87
+ measures?: string[];
88
+ dimensions?: string[];
89
+ timeDimension?: string;
90
+ granularity?: string;
91
+ refreshKey?: string;
92
+ sql?: string;
93
+ tags?: string[];
94
+ owner?: string;
95
+ source?: SemanticSourceMetadata;
53
96
  }
54
97
  export interface JoinDefinition {
55
98
  name: string;
@@ -73,9 +116,12 @@ export interface CubeDefinition {
73
116
  dimensions: DimensionDefinition[];
74
117
  timeDimensions: TimeDimensionDefinition[];
75
118
  joins: JoinDefinition[];
119
+ segments: SegmentDefinition[];
120
+ preAggregations: PreAggregationDefinition[];
76
121
  defaultTimeDimension?: string;
77
122
  owner?: string;
78
123
  tags?: string[];
124
+ source?: SemanticSourceMetadata;
79
125
  }
80
126
  export interface ComposeQueryOptions {
81
127
  metrics: string[];
@@ -114,6 +160,9 @@ export interface BlockCompanionDefinition {
114
160
  owner?: string;
115
161
  tags?: string[];
116
162
  glossary?: string[];
163
+ source?: SemanticSourceMetadata;
164
+ semanticMetrics?: string[];
165
+ semanticDimensions?: string[];
117
166
  semanticMappings?: Record<string, string>;
118
167
  lineage?: string[];
119
168
  notes?: string[];
@@ -123,6 +172,18 @@ export interface SemanticLayerConfig {
123
172
  metrics: MetricDefinition[];
124
173
  dimensions: DimensionDefinition[];
125
174
  hierarchies?: HierarchyDefinition[];
175
+ segments?: SegmentDefinition[];
176
+ preAggregations?: PreAggregationDefinition[];
177
+ }
178
+ export interface SemanticSearchOptions {
179
+ domains?: string[];
180
+ tags?: string[];
181
+ types?: Array<'metric' | 'dimension' | 'hierarchy'>;
182
+ }
183
+ export interface SemanticSearchResults {
184
+ metrics: MetricDefinition[];
185
+ dimensions: DimensionDefinition[];
186
+ hierarchies: HierarchyDefinition[];
126
187
  }
127
188
  /**
128
189
  * Parse a YAML-like metric definition object into a MetricDefinition.
@@ -131,6 +192,8 @@ export interface SemanticLayerConfig {
131
192
  export declare function parseMetricDefinition(raw: Record<string, unknown>): MetricDefinition;
132
193
  export declare function parseDimensionDefinition(raw: Record<string, unknown>): DimensionDefinition;
133
194
  export declare function parseHierarchyDefinition(raw: Record<string, unknown>): HierarchyDefinition;
195
+ export declare function parseSegmentDefinition(raw: Record<string, unknown>): SegmentDefinition;
196
+ export declare function parsePreAggregationDefinition(raw: Record<string, unknown>): PreAggregationDefinition;
134
197
  export declare function parseBlockCompanionDefinition(raw: Record<string, unknown>): BlockCompanionDefinition;
135
198
  /**
136
199
  * SemanticLayer holds all metric and dimension definitions and provides
@@ -140,6 +203,8 @@ export declare class SemanticLayer {
140
203
  private metrics;
141
204
  private dimensions;
142
205
  private hierarchies;
206
+ private segments;
207
+ private preAggregations;
143
208
  private cubes;
144
209
  private joinGraph;
145
210
  constructor(config?: SemanticLayerConfig);
@@ -148,6 +213,12 @@ export declare class SemanticLayer {
148
213
  addCube(cube: CubeDefinition): void;
149
214
  getCube(name: string): CubeDefinition | undefined;
150
215
  listCubes(): CubeDefinition[];
216
+ addSegment(segment: SegmentDefinition): void;
217
+ addPreAggregation(preAggregation: PreAggregationDefinition): void;
218
+ getSegment(name: string): SegmentDefinition | undefined;
219
+ getPreAggregation(name: string): PreAggregationDefinition | undefined;
220
+ listSegments(domain?: string): SegmentDefinition[];
221
+ listPreAggregations(domain?: string): PreAggregationDefinition[];
151
222
  /** BFS shortest join path between two cube names. Returns empty array if same cube. */
152
223
  findJoinPath(fromCube: string, toCube: string): JoinDefinition[];
153
224
  /** Compose a multi-metric, cross-table SQL query using join graph traversal. */
@@ -157,8 +228,10 @@ export declare class SemanticLayer {
157
228
  getDimension(name: string): DimensionDefinition | undefined;
158
229
  getHierarchy(name: string): HierarchyDefinition | undefined;
159
230
  listMetrics(domain?: string): MetricDefinition[];
160
- listDimensions(): DimensionDefinition[];
231
+ listDimensions(domain?: string): DimensionDefinition[];
161
232
  listHierarchies(domain?: string): HierarchyDefinition[];
233
+ listDomains(): string[];
234
+ listTags(): string[];
162
235
  resolveDrillPath(hierarchyName: string, drillPathName?: string): HierarchyLevelDefinition[];
163
236
  nextDrillLevel(hierarchyName: string, currentLevelName?: string, drillPathName?: string): HierarchyLevelDefinition | null;
164
237
  /**
@@ -168,6 +241,8 @@ export declare class SemanticLayer {
168
241
  metrics: MetricDefinition[];
169
242
  dimensions: DimensionDefinition[];
170
243
  };
244
+ searchAdvanced(query: string, options?: SemanticSearchOptions): SemanticSearchResults;
245
+ listCompatibleDimensions(metricNames: string[]): DimensionDefinition[];
171
246
  /**
172
247
  * Validate that all metric references in a SQL query resolve to known metrics/dimensions.
173
248
  */
@@ -1 +1 @@
1
- {"version":3,"file":"semantic-layer.d.ts","sourceRoot":"","sources":["../../src/semantic/semantic-layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"semantic-layer.d.ts","sourceRoot":"","sources":["../../src/semantic/semantic-layer.ts"],"names":[],"mappings":"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"}