@duckcodeailabs/dql-core 1.4.0 → 1.4.3

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.
@@ -30,13 +30,19 @@ export class DbtProvider {
30
30
  const dbtRoot = config.projectPath
31
31
  ? join(projectRoot, config.projectPath)
32
32
  : projectRoot;
33
- // Prefer target/manifest.json when available: it is the authoritative,
34
- // fully-resolved view of the dbt project (including semantic_models and
35
- // metrics). Walking models/**/*.yml is kept as a fallback for projects
36
- // that haven't run `dbt parse` / `dbt compile` yet.
33
+ // Prefer target/semantic_manifest.json when available: it is the
34
+ // MetricFlow/dbt Semantic Layer compatibility artifact and includes saved
35
+ // queries plus resolved semantic metadata. Fall back to manifest.json and
36
+ // then source YAML for projects that have not parsed semantic artifacts yet.
37
+ const semanticManifestPath = join(dbtRoot, 'target', 'semantic_manifest.json');
38
+ if (existsSync(semanticManifestPath)) {
39
+ const layer = loadFromManifestJson(semanticManifestPath, 'semantic_manifest');
40
+ if (layer)
41
+ return layer;
42
+ }
37
43
  const manifestPath = join(dbtRoot, 'target', 'manifest.json');
38
44
  if (existsSync(manifestPath)) {
39
- const layer = loadFromManifestJson(manifestPath);
45
+ const layer = loadFromManifestJson(manifestPath, 'manifest');
40
46
  if (layer)
41
47
  return layer;
42
48
  }
@@ -84,13 +90,13 @@ export class DbtProvider {
84
90
  agg: measure.agg,
85
91
  modelName: model.name,
86
92
  table: tableName,
93
+ measure,
87
94
  });
88
95
  }
89
96
  }
90
97
  // Convert each semantic model into a DQL CubeDefinition
91
98
  for (const model of allModels) {
92
- const cube = convertSemanticModel(model);
93
- layer.addCube(cube);
99
+ registerSemanticModel(layer, model);
94
100
  }
95
101
  // Convert dbt metrics (resolve measure references)
96
102
  for (const dbtMetric of allDbtMetrics) {
@@ -112,7 +118,7 @@ export class DbtProvider {
112
118
  * Returns `null` if the manifest is unreadable or contains no semantic nodes,
113
119
  * signalling the caller to fall back to the YAML walker.
114
120
  */
115
- function loadFromManifestJson(manifestPath) {
121
+ function loadFromManifestJson(manifestPath, artifactKind) {
116
122
  let manifest;
117
123
  try {
118
124
  manifest = JSON.parse(readFileSync(manifestPath, 'utf-8'));
@@ -120,35 +126,47 @@ function loadFromManifestJson(manifestPath) {
120
126
  catch {
121
127
  return null;
122
128
  }
123
- const semanticModelsRaw = (manifest.semantic_models ?? {});
124
- const metricsRaw = (manifest.metrics ?? {});
129
+ const semanticModelsRaw = asRecord(manifest.semantic_models);
130
+ const metricsRaw = asRecord(manifest.metrics);
131
+ const savedQueriesRaw = asRecord(manifest.saved_queries ?? manifest.savedQueries);
125
132
  const models = [];
126
133
  for (const node of Object.values(semanticModelsRaw)) {
127
- if (!node || typeof node !== 'object' || !node.name)
134
+ if (!node || typeof node !== 'object' || Array.isArray(node) || !('name' in node))
128
135
  continue;
136
+ const raw = node;
129
137
  models.push({
130
- name: node.name,
138
+ ...raw,
139
+ name: raw.name,
131
140
  // node.model is already a string like "ref('stg_orders')" in manifests
132
- model: typeof node.model === 'string' ? node.model : undefined,
133
- defaults: node.defaults,
134
- entities: node.entities,
135
- dimensions: node.dimensions,
136
- measures: node.measures,
141
+ model: typeof raw.model === 'string' ? raw.model : undefined,
142
+ defaults: raw.defaults,
143
+ entities: raw.entities,
144
+ dimensions: raw.dimensions,
145
+ measures: raw.measures,
137
146
  });
138
147
  }
139
148
  const dbtMetrics = [];
140
149
  for (const node of Object.values(metricsRaw)) {
141
- if (!node || typeof node !== 'object' || !node.name)
150
+ if (!node || typeof node !== 'object' || Array.isArray(node) || !('name' in node))
142
151
  continue;
152
+ const raw = node;
143
153
  dbtMetrics.push({
144
- name: node.name,
145
- label: node.label,
146
- description: node.description,
147
- type: node.type ?? 'simple',
148
- type_params: node.type_params,
154
+ ...raw,
155
+ name: raw.name,
156
+ label: raw.label,
157
+ description: raw.description,
158
+ type: raw.type ?? 'simple',
159
+ type_params: raw.type_params,
149
160
  });
150
161
  }
151
- if (models.length === 0 && dbtMetrics.length === 0) {
162
+ const savedQueries = [];
163
+ for (const node of Object.values(savedQueriesRaw)) {
164
+ if (!node || typeof node !== 'object' || Array.isArray(node) || !('name' in node))
165
+ continue;
166
+ const raw = node;
167
+ savedQueries.push({ ...raw, name: raw.name });
168
+ }
169
+ if (models.length === 0 && dbtMetrics.length === 0 && savedQueries.length === 0) {
152
170
  // No semantic content — let the caller try the YAML fallback.
153
171
  return null;
154
172
  }
@@ -163,19 +181,28 @@ function loadFromManifestJson(manifestPath) {
163
181
  agg: measure.agg,
164
182
  modelName: model.name,
165
183
  table: tableName,
184
+ measure,
166
185
  });
167
186
  }
168
187
  }
169
188
  for (const model of models) {
170
- layer.addCube(convertSemanticModel(model));
189
+ registerSemanticModel(layer, model, artifactKind);
171
190
  }
172
191
  for (const dbtMetric of dbtMetrics) {
173
192
  const metric = convertDbtMetric(dbtMetric, measureLookup);
174
193
  if (metric)
175
194
  layer.addMetric(metric);
176
195
  }
196
+ for (const savedQuery of savedQueries) {
197
+ layer.addSavedQuery(convertSavedQuery(savedQuery));
198
+ }
177
199
  return layer;
178
200
  }
201
+ function asRecord(value) {
202
+ if (!value || typeof value !== 'object' || Array.isArray(value))
203
+ return {};
204
+ return value;
205
+ }
179
206
  /** Recursively collect all .yml/.yaml files in a directory. */
180
207
  function collectYamlFiles(dir) {
181
208
  const results = [];
@@ -212,12 +239,41 @@ function resolveTableName(model) {
212
239
  }
213
240
  return model.name;
214
241
  }
242
+ function dbtSource(objectType, objectId, objectName, raw) {
243
+ return {
244
+ provider: 'dbt',
245
+ objectType,
246
+ objectId,
247
+ objectName,
248
+ extra: raw
249
+ ? {
250
+ uniqueId: raw.unique_id,
251
+ packageName: raw.package_name,
252
+ path: raw.original_file_path ?? raw.path,
253
+ meta: raw.meta,
254
+ config: raw.config,
255
+ raw,
256
+ }
257
+ : undefined,
258
+ };
259
+ }
260
+ function registerSemanticModel(layer, model, artifactKind = 'yaml') {
261
+ const cube = convertSemanticModel(model, artifactKind);
262
+ layer.addCube(cube);
263
+ layer.addSemanticModel(convertSemanticModelDetail(model, cube));
264
+ for (const measure of model.measures ?? []) {
265
+ layer.addMeasure(convertMeasure(model, measure, cube));
266
+ }
267
+ for (const entity of model.entities ?? []) {
268
+ layer.addEntity(convertEntity(model, entity, cube));
269
+ }
270
+ }
215
271
  /** Convert a dbt semantic model to a DQL CubeDefinition. */
216
- function convertSemanticModel(model) {
272
+ function convertSemanticModel(model, artifactKind = 'yaml') {
217
273
  const tableName = resolveTableName(model);
218
274
  const measures = (model.measures ?? []).map((m) => ({
219
275
  name: m.name,
220
- label: m.name,
276
+ label: m.label ?? m.name,
221
277
  description: m.description ?? '',
222
278
  domain: '',
223
279
  sql: buildAggSql(m.agg, m.expr ?? m.name),
@@ -225,12 +281,20 @@ function convertSemanticModel(model) {
225
281
  table: tableName,
226
282
  cube: model.name,
227
283
  aggregation: m.agg,
228
- source: {
229
- provider: 'dbt',
230
- objectType: 'measure',
231
- objectId: `${model.name}.${m.name}`,
232
- objectName: m.name,
284
+ filter: m.filter,
285
+ aggTimeDimension: m.agg_time_dimension,
286
+ typeParams: {
287
+ agg: m.agg,
288
+ expr: m.expr,
289
+ agg_time_dimension: m.agg_time_dimension,
290
+ create_metric: m.create_metric,
291
+ non_additive_dimension: m.non_additive_dimension,
233
292
  },
293
+ source: dbtSource('measure', `${model.name}.${m.name}`, m.name, {
294
+ ...m,
295
+ semantic_model: model.name,
296
+ artifactKind,
297
+ }),
234
298
  }));
235
299
  const dimensions = [];
236
300
  const timeDimensions = [];
@@ -244,37 +308,40 @@ function convertSemanticModel(model) {
244
308
  const isPrimary = model.defaults?.agg_time_dimension === dim.name;
245
309
  timeDimensions.push({
246
310
  name: dim.name,
247
- label: dim.name,
248
- description: '',
311
+ label: dim.label ?? dim.name,
312
+ description: dim.description ?? '',
249
313
  sql: sqlExpr,
250
314
  type: 'date',
251
315
  table: tableName,
252
316
  cube: model.name,
317
+ expr: dim.expr,
318
+ isTimeDimension: true,
319
+ typeParams: dim.type_params,
253
320
  granularities: defaultGrans,
254
321
  primaryTime: isPrimary,
255
- source: {
256
- provider: 'dbt',
257
- objectType: 'time_dimension',
258
- objectId: `${model.name}.${dim.name}`,
259
- objectName: dim.name,
260
- },
322
+ source: dbtSource('time_dimension', `${model.name}.${dim.name}`, dim.name, {
323
+ ...dim,
324
+ semantic_model: model.name,
325
+ artifactKind,
326
+ }),
261
327
  });
262
328
  }
263
329
  else {
264
330
  dimensions.push({
265
331
  name: dim.name,
266
- label: dim.name,
267
- description: '',
332
+ label: dim.label ?? dim.name,
333
+ description: dim.description ?? '',
268
334
  sql: sqlExpr,
269
335
  type: dqlType,
270
336
  table: tableName,
271
337
  cube: model.name,
272
- source: {
273
- provider: 'dbt',
274
- objectType: 'dimension',
275
- objectId: `${model.name}.${dim.name}`,
276
- objectName: dim.name,
277
- },
338
+ expr: dim.expr,
339
+ typeParams: dim.type_params,
340
+ source: dbtSource('dimension', `${model.name}.${dim.name}`, dim.name, {
341
+ ...dim,
342
+ semantic_model: model.name,
343
+ artifactKind,
344
+ }),
278
345
  });
279
346
  }
280
347
  }
@@ -293,8 +360,8 @@ function convertSemanticModel(model) {
293
360
  }
294
361
  return {
295
362
  name: model.name,
296
- label: model.name,
297
- description: '',
363
+ label: model.label ?? model.name,
364
+ description: model.description ?? '',
298
365
  sql: `SELECT * FROM ${tableName}`,
299
366
  table: tableName,
300
367
  domain: '',
@@ -305,12 +372,69 @@ function convertSemanticModel(model) {
305
372
  segments: [],
306
373
  preAggregations: [],
307
374
  defaultTimeDimension: model.defaults?.agg_time_dimension,
308
- source: {
309
- provider: 'dbt',
310
- objectType: 'semantic_model',
311
- objectId: model.name,
312
- objectName: model.name,
313
- },
375
+ source: dbtSource('semantic_model', model.unique_id ?? model.name, model.name, {
376
+ ...model,
377
+ artifactKind,
378
+ }),
379
+ };
380
+ }
381
+ function convertSemanticModelDetail(model, cube) {
382
+ return {
383
+ name: model.name,
384
+ label: model.label ?? model.name,
385
+ description: model.description ?? '',
386
+ domain: cube.domain,
387
+ model: model.model,
388
+ table: cube.table,
389
+ defaults: model.defaults,
390
+ entities: (model.entities ?? []).map((entity) => entity.name),
391
+ measures: (model.measures ?? []).map((measure) => measure.name),
392
+ dimensions: cube.dimensions.map((dimension) => dimension.name),
393
+ timeDimensions: cube.timeDimensions.map((dimension) => dimension.name),
394
+ tags: cube.tags,
395
+ owner: cube.owner,
396
+ source: cube.source,
397
+ };
398
+ }
399
+ function convertMeasure(model, measure, cube) {
400
+ return {
401
+ name: measure.name,
402
+ label: measure.label ?? measure.name,
403
+ description: measure.description ?? '',
404
+ domain: cube.domain,
405
+ agg: measure.agg,
406
+ expr: measure.expr,
407
+ table: cube.table,
408
+ cube: model.name,
409
+ aggTimeDimension: measure.agg_time_dimension ?? model.defaults?.agg_time_dimension,
410
+ createMetric: measure.create_metric,
411
+ nonAdditiveDimension: measure.non_additive_dimension,
412
+ filter: measure.filter,
413
+ owner: cube.owner,
414
+ tags: cube.tags,
415
+ source: dbtSource('measure', `${model.name}.${measure.name}`, measure.name, {
416
+ ...measure,
417
+ semantic_model: model.name,
418
+ }),
419
+ };
420
+ }
421
+ function convertEntity(model, entity, cube) {
422
+ return {
423
+ name: entity.name,
424
+ label: entity.label ?? entity.name,
425
+ description: entity.description ?? '',
426
+ domain: cube.domain,
427
+ type: entity.type,
428
+ expr: entity.expr,
429
+ table: cube.table,
430
+ cube: model.name,
431
+ role: entity.role,
432
+ owner: cube.owner,
433
+ tags: cube.tags,
434
+ source: dbtSource('entity', `${model.name}.${entity.name}`, entity.name, {
435
+ ...entity,
436
+ semantic_model: model.name,
437
+ }),
314
438
  };
315
439
  }
316
440
  /** Build an aggregate SQL expression from a dbt agg type and expression. */
@@ -328,28 +452,83 @@ function buildAggSql(agg, expr) {
328
452
  }
329
453
  /** Convert a dbt metric definition to a DQL MetricDefinition. */
330
454
  function convertDbtMetric(dbtMetric, measureLookup) {
331
- const measureName = dbtMetric.type_params?.measure;
332
- if (!measureName)
333
- return null;
334
- const measureInfo = measureLookup.get(measureName);
335
- if (!measureInfo)
336
- return null;
455
+ const measureName = firstString(dbtMetric.type_params?.measure, dbtMetric.type_params?.measure_name);
456
+ const measureInfo = measureName ? measureLookup.get(measureName) : undefined;
457
+ const metricRefs = collectMetricRefs(dbtMetric);
458
+ const fallbackMeasure = metricRefs.map((ref) => measureLookup.get(ref)).find(Boolean);
459
+ const resolvedMeasure = measureInfo ?? fallbackMeasure;
337
460
  return {
338
461
  name: dbtMetric.name,
339
462
  label: dbtMetric.label ?? dbtMetric.name,
340
463
  description: dbtMetric.description ?? '',
341
464
  domain: '',
342
- sql: buildAggSql(measureInfo.agg, measureInfo.sql),
343
- type: AGG_TYPE_MAP[measureInfo.agg] ?? 'custom',
344
- table: measureInfo.table,
345
- cube: measureInfo.modelName,
465
+ sql: resolvedMeasure
466
+ ? buildAggSql(resolvedMeasure.agg, resolvedMeasure.sql)
467
+ : String(dbtMetric.type_params?.expr ?? dbtMetric.name),
468
+ type: resolvedMeasure ? (AGG_TYPE_MAP[resolvedMeasure.agg] ?? 'custom') : 'custom',
469
+ table: resolvedMeasure?.table ?? '',
470
+ cube: resolvedMeasure?.modelName,
346
471
  aggregation: dbtMetric.type,
347
- source: {
348
- provider: 'dbt',
349
- objectType: 'metric',
350
- objectId: dbtMetric.name,
351
- objectName: dbtMetric.name,
352
- },
472
+ metricType: dbtMetric.type,
473
+ typeParams: dbtMetric.type_params,
474
+ filter: dbtMetric.filter ?? dbtMetric.filters,
475
+ aggTimeDimension: resolvedMeasure?.measure.agg_time_dimension,
476
+ source: dbtSource('metric', dbtMetric.unique_id ?? dbtMetric.name, dbtMetric.name, dbtMetric),
477
+ };
478
+ }
479
+ function convertSavedQuery(savedQuery) {
480
+ const groupBy = savedQuery.query_params?.group_by ?? [];
481
+ const timeRef = groupBy.find((value) => value.includes('__')) ?? groupBy.find((value) => value.toLowerCase().includes('metric_time'));
482
+ const [timeDimension, granularity] = timeRef?.split('__') ?? [];
483
+ return {
484
+ name: savedQuery.name,
485
+ label: savedQuery.label ?? savedQuery.name,
486
+ description: savedQuery.description ?? '',
487
+ domain: '',
488
+ metrics: savedQuery.query_params?.metrics ?? [],
489
+ dimensions: groupBy.filter((value) => value !== timeRef),
490
+ timeDimension: timeDimension || undefined,
491
+ granularity,
492
+ filters: savedQuery.query_params?.where,
493
+ exports: savedQuery.exports,
494
+ tags: Array.isArray(savedQuery.config?.tags) ? savedQuery.config.tags.map(String) : undefined,
495
+ source: dbtSource('saved_query', savedQuery.unique_id ?? savedQuery.name, savedQuery.name, savedQuery),
496
+ };
497
+ }
498
+ function firstString(...values) {
499
+ for (const value of values) {
500
+ if (typeof value === 'string' && value.trim())
501
+ return value.trim();
502
+ }
503
+ return undefined;
504
+ }
505
+ function collectMetricRefs(metric) {
506
+ const refs = new Set();
507
+ const visit = (value) => {
508
+ if (!value)
509
+ return;
510
+ if (typeof value === 'string') {
511
+ refs.add(value);
512
+ return;
513
+ }
514
+ if (Array.isArray(value)) {
515
+ for (const item of value)
516
+ visit(item);
517
+ return;
518
+ }
519
+ if (typeof value === 'object') {
520
+ const raw = value;
521
+ for (const key of ['name', 'metric', 'metric_name', 'measure', 'measure_name'])
522
+ visit(raw[key]);
523
+ for (const nested of Object.values(raw)) {
524
+ if (typeof nested === 'object')
525
+ visit(nested);
526
+ }
527
+ }
353
528
  };
529
+ visit(metric.type_params?.metrics);
530
+ visit(metric.type_params?.numerator);
531
+ visit(metric.type_params?.denominator);
532
+ return Array.from(refs);
354
533
  }
355
534
  //# sourceMappingURL=dbt-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dbt-provider.js","sourceRoot":"","sources":["../../../src/semantic/providers/dbt-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dbt-provider.js","sourceRoot":"","sources":["../../../src/semantic/providers/dbt-provider.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,10 @@ export interface MetricDefinition {
24
24
  owner?: string;
25
25
  cube?: string;
26
26
  aggregation?: string;
27
+ metricType?: string;
28
+ typeParams?: Record<string, unknown>;
29
+ filter?: string | Record<string, unknown> | Array<Record<string, unknown>>;
30
+ aggTimeDimension?: string;
27
31
  source?: SemanticSourceMetadata;
28
32
  }
29
33
  export interface DimensionDefinition {
@@ -37,6 +41,71 @@ export interface DimensionDefinition {
37
41
  tags?: string[];
38
42
  owner?: string;
39
43
  cube?: string;
44
+ expr?: string;
45
+ isTimeDimension?: boolean;
46
+ typeParams?: Record<string, unknown>;
47
+ source?: SemanticSourceMetadata;
48
+ }
49
+ export interface MeasureDefinition {
50
+ name: string;
51
+ label: string;
52
+ description: string;
53
+ domain?: string;
54
+ agg: string;
55
+ expr?: string;
56
+ table: string;
57
+ cube?: string;
58
+ aggTimeDimension?: string;
59
+ createMetric?: boolean;
60
+ nonAdditiveDimension?: Record<string, unknown>;
61
+ filter?: string | Record<string, unknown> | Array<Record<string, unknown>>;
62
+ tags?: string[];
63
+ owner?: string;
64
+ source?: SemanticSourceMetadata;
65
+ }
66
+ export interface EntityDefinition {
67
+ name: string;
68
+ label: string;
69
+ description: string;
70
+ domain?: string;
71
+ type: 'primary' | 'unique' | 'foreign' | 'natural' | string;
72
+ expr?: string;
73
+ table: string;
74
+ cube?: string;
75
+ role?: string;
76
+ tags?: string[];
77
+ owner?: string;
78
+ source?: SemanticSourceMetadata;
79
+ }
80
+ export interface SemanticModelDefinition {
81
+ name: string;
82
+ label: string;
83
+ description: string;
84
+ domain?: string;
85
+ model?: string;
86
+ table: string;
87
+ defaults?: Record<string, unknown>;
88
+ entities: string[];
89
+ measures: string[];
90
+ dimensions: string[];
91
+ timeDimensions: string[];
92
+ tags?: string[];
93
+ owner?: string;
94
+ source?: SemanticSourceMetadata;
95
+ }
96
+ export interface SavedQueryDefinition {
97
+ name: string;
98
+ label: string;
99
+ description: string;
100
+ domain?: string;
101
+ metrics: string[];
102
+ dimensions: string[];
103
+ timeDimension?: string;
104
+ granularity?: string;
105
+ filters?: Array<Record<string, unknown>> | Record<string, unknown> | string;
106
+ exports?: Array<Record<string, unknown>>;
107
+ tags?: string[];
108
+ owner?: string;
40
109
  source?: SemanticSourceMetadata;
41
110
  }
42
111
  export type HierarchyRollupType = 'sum' | 'count' | 'count_distinct' | 'avg' | 'min' | 'max' | 'none';
@@ -174,16 +243,24 @@ export interface SemanticLayerConfig {
174
243
  hierarchies?: HierarchyDefinition[];
175
244
  segments?: SegmentDefinition[];
176
245
  preAggregations?: PreAggregationDefinition[];
246
+ measures?: MeasureDefinition[];
247
+ entities?: EntityDefinition[];
248
+ semanticModels?: SemanticModelDefinition[];
249
+ savedQueries?: SavedQueryDefinition[];
177
250
  }
178
251
  export interface SemanticSearchOptions {
179
252
  domains?: string[];
180
253
  tags?: string[];
181
- types?: Array<'metric' | 'dimension' | 'hierarchy'>;
254
+ types?: Array<'metric' | 'dimension' | 'hierarchy' | 'measure' | 'entity' | 'semantic_model' | 'saved_query'>;
182
255
  }
183
256
  export interface SemanticSearchResults {
184
257
  metrics: MetricDefinition[];
185
258
  dimensions: DimensionDefinition[];
186
259
  hierarchies: HierarchyDefinition[];
260
+ measures: MeasureDefinition[];
261
+ entities: EntityDefinition[];
262
+ semanticModels: SemanticModelDefinition[];
263
+ savedQueries: SavedQueryDefinition[];
187
264
  }
188
265
  /**
189
266
  * Parse a YAML-like metric definition object into a MetricDefinition.
@@ -206,11 +283,19 @@ export declare class SemanticLayer {
206
283
  private segments;
207
284
  private preAggregations;
208
285
  private cubes;
286
+ private measures;
287
+ private entities;
288
+ private semanticModels;
289
+ private savedQueries;
209
290
  private joinGraph;
210
291
  constructor(config?: SemanticLayerConfig);
211
292
  addMetric(metric: MetricDefinition): void;
212
293
  addDimension(dimension: DimensionDefinition): void;
213
294
  addCube(cube: CubeDefinition): void;
295
+ addMeasure(measure: MeasureDefinition): void;
296
+ addEntity(entity: EntityDefinition): void;
297
+ addSemanticModel(model: SemanticModelDefinition): void;
298
+ addSavedQuery(savedQuery: SavedQueryDefinition): void;
214
299
  getCube(name: string): CubeDefinition | undefined;
215
300
  listCubes(): CubeDefinition[];
216
301
  addSegment(segment: SegmentDefinition): void;
@@ -227,9 +312,18 @@ export declare class SemanticLayer {
227
312
  getMetric(name: string): MetricDefinition | undefined;
228
313
  getDimension(name: string): DimensionDefinition | undefined;
229
314
  getHierarchy(name: string): HierarchyDefinition | undefined;
315
+ getMeasure(name: string): MeasureDefinition | undefined;
316
+ getEntity(name: string): EntityDefinition | undefined;
317
+ getSemanticModel(name: string): SemanticModelDefinition | undefined;
318
+ getSavedQuery(name: string): SavedQueryDefinition | undefined;
230
319
  listMetrics(domain?: string): MetricDefinition[];
231
320
  listDimensions(domain?: string): DimensionDefinition[];
232
321
  listHierarchies(domain?: string): HierarchyDefinition[];
322
+ listMeasures(domain?: string): MeasureDefinition[];
323
+ listEntities(domain?: string): EntityDefinition[];
324
+ listTimeDimensions(domain?: string): TimeDimensionDefinition[];
325
+ listSemanticModels(domain?: string): SemanticModelDefinition[];
326
+ listSavedQueries(domain?: string): SavedQueryDefinition[];
233
327
  listDomains(): string[];
234
328
  listTags(): string[];
235
329
  resolveDrillPath(hierarchyName: string, drillPathName?: string): HierarchyLevelDefinition[];