@duckcodeailabs/dql-core 0.3.2 → 0.7.0

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 (53) hide show
  1. package/dist/index.d.ts +2 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +2 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/lineage/builder.d.ts +43 -0
  6. package/dist/lineage/builder.d.ts.map +1 -0
  7. package/dist/lineage/builder.js +192 -0
  8. package/dist/lineage/builder.js.map +1 -0
  9. package/dist/lineage/dependency-resolver.d.ts +44 -0
  10. package/dist/lineage/dependency-resolver.d.ts.map +1 -0
  11. package/dist/lineage/dependency-resolver.js +168 -0
  12. package/dist/lineage/dependency-resolver.js.map +1 -0
  13. package/dist/lineage/domain-lineage.d.ts +96 -0
  14. package/dist/lineage/domain-lineage.d.ts.map +1 -0
  15. package/dist/lineage/domain-lineage.js +140 -0
  16. package/dist/lineage/domain-lineage.js.map +1 -0
  17. package/dist/lineage/index.d.ts +6 -0
  18. package/dist/lineage/index.d.ts.map +1 -0
  19. package/dist/lineage/index.js +7 -0
  20. package/dist/lineage/index.js.map +1 -0
  21. package/dist/lineage/lineage-graph.d.ts +97 -0
  22. package/dist/lineage/lineage-graph.d.ts.map +1 -0
  23. package/dist/lineage/lineage-graph.js +198 -0
  24. package/dist/lineage/lineage-graph.js.map +1 -0
  25. package/dist/lineage/sql-parser.d.ts +23 -0
  26. package/dist/lineage/sql-parser.d.ts.map +1 -0
  27. package/dist/lineage/sql-parser.js +126 -0
  28. package/dist/lineage/sql-parser.js.map +1 -0
  29. package/dist/manifest/builder.d.ts +22 -0
  30. package/dist/manifest/builder.d.ts.map +1 -0
  31. package/dist/manifest/builder.js +538 -0
  32. package/dist/manifest/builder.js.map +1 -0
  33. package/dist/manifest/index.d.ts +3 -0
  34. package/dist/manifest/index.d.ts.map +1 -0
  35. package/dist/manifest/index.js +3 -0
  36. package/dist/manifest/index.js.map +1 -0
  37. package/dist/manifest/types.d.ts +168 -0
  38. package/dist/manifest/types.d.ts.map +1 -0
  39. package/dist/manifest/types.js +10 -0
  40. package/dist/manifest/types.js.map +1 -0
  41. package/dist/semantic/index.d.ts +1 -1
  42. package/dist/semantic/index.d.ts.map +1 -1
  43. package/dist/semantic/index.js +1 -1
  44. package/dist/semantic/index.js.map +1 -1
  45. package/dist/semantic/providers/index.d.ts +1 -1
  46. package/dist/semantic/providers/index.d.ts.map +1 -1
  47. package/dist/semantic/providers/index.js +1 -1
  48. package/dist/semantic/providers/index.js.map +1 -1
  49. package/dist/semantic/providers/registry.d.ts +7 -0
  50. package/dist/semantic/providers/registry.d.ts.map +1 -1
  51. package/dist/semantic/providers/registry.js +30 -0
  52. package/dist/semantic/providers/registry.js.map +1 -1
  53. package/package.json +1 -1
@@ -0,0 +1,168 @@
1
+ /**
2
+ * DQL Manifest — the compiled project artifact.
3
+ *
4
+ * Similar to dbt's manifest.json, this is the single source of truth
5
+ * for a DQL project's structure, dependencies, and lineage.
6
+ * Generated by `dql compile`, consumed by `dql lineage`, notebook panel,
7
+ * and external tools (DataHub, Atlan, etc.).
8
+ */
9
+ export interface DQLManifest {
10
+ /** Manifest schema version */
11
+ manifestVersion: 1;
12
+ /** DQL CLI version that generated this manifest */
13
+ dqlVersion: string;
14
+ /** ISO 8601 timestamp */
15
+ generatedAt: string;
16
+ /** Project name from dql.config.json */
17
+ project: string;
18
+ /** Absolute path to project root */
19
+ projectRoot: string;
20
+ /** All blocks discovered in the project */
21
+ blocks: Record<string, ManifestBlock>;
22
+ /** All notebook SQL/DQL cells */
23
+ notebooks: Record<string, ManifestNotebook>;
24
+ /** Semantic layer definitions */
25
+ metrics: Record<string, ManifestMetric>;
26
+ dimensions: Record<string, ManifestDimension>;
27
+ /** External source tables (from SQL extraction + dbt import) */
28
+ sources: Record<string, ManifestSource>;
29
+ /** Pre-computed lineage graph */
30
+ lineage: ManifestLineage;
31
+ /** dbt manifest import metadata (if --dbt-manifest was used) */
32
+ dbtImport?: ManifestDbtImport;
33
+ }
34
+ export interface ManifestBlock {
35
+ name: string;
36
+ /** Relative path from project root */
37
+ filePath: string;
38
+ domain?: string;
39
+ owner?: string;
40
+ status?: string;
41
+ blockType?: string;
42
+ /** Raw SQL from the block's query */
43
+ sql: string;
44
+ /** Tables extracted from SQL (before normalization) */
45
+ rawTableRefs: string[];
46
+ /** Normalized table dependencies */
47
+ tableDependencies: string[];
48
+ /** Block dependencies via ref() */
49
+ refDependencies: string[];
50
+ /** All upstream dependencies (tables + refs combined) */
51
+ allDependencies: string[];
52
+ /** Visualization chart type */
53
+ chartType?: string;
54
+ /** Metric reference for semantic blocks */
55
+ metricRef?: string;
56
+ /** Test assertions defined in the block */
57
+ tests: string[];
58
+ /** Tags from block metadata */
59
+ tags?: string[];
60
+ description?: string;
61
+ }
62
+ export interface ManifestNotebook {
63
+ /** Notebook title */
64
+ title: string;
65
+ /** Relative path from project root */
66
+ filePath: string;
67
+ /** SQL/DQL cells with lineage-relevant content */
68
+ cells: ManifestNotebookCell[];
69
+ }
70
+ export interface ManifestNotebookCell {
71
+ id: string;
72
+ type: 'sql' | 'dql';
73
+ title?: string;
74
+ /** Raw SQL/DQL source */
75
+ source: string;
76
+ /** Tables extracted from SQL */
77
+ tableDependencies: string[];
78
+ /** ref() dependencies */
79
+ refDependencies: string[];
80
+ /** Block name (for DQL cells that declare a block) */
81
+ blockName?: string;
82
+ /** Chart config (if a chart cell references this cell) */
83
+ chartType?: string;
84
+ }
85
+ export interface ManifestMetric {
86
+ name: string;
87
+ type: string;
88
+ table: string;
89
+ domain?: string;
90
+ description?: string;
91
+ sql?: string;
92
+ /** Relative path to the YAML file */
93
+ filePath?: string;
94
+ }
95
+ export interface ManifestDimension {
96
+ name: string;
97
+ table: string;
98
+ type?: string;
99
+ description?: string;
100
+ filePath?: string;
101
+ }
102
+ export interface ManifestSource {
103
+ /** Normalized table name */
104
+ name: string;
105
+ /** Raw reference as found in SQL (e.g., "read_csv_auto('./data/file.csv')") */
106
+ rawRef?: string;
107
+ /** Origin: 'sql' = extracted from SQL, 'semantic' = from YAML, 'dbt' = from dbt manifest */
108
+ origin: 'sql' | 'semantic' | 'dbt';
109
+ /** Which blocks/cells reference this source */
110
+ referencedBy: string[];
111
+ /** dbt model metadata (if imported from dbt manifest) */
112
+ dbtModel?: {
113
+ uniqueId: string;
114
+ database?: string;
115
+ schema?: string;
116
+ materializedAs?: string;
117
+ description?: string;
118
+ columns?: Record<string, {
119
+ name: string;
120
+ description?: string;
121
+ type?: string;
122
+ }>;
123
+ };
124
+ }
125
+ export interface ManifestLineage {
126
+ nodes: ManifestLineageNode[];
127
+ edges: ManifestLineageEdge[];
128
+ domains: string[];
129
+ crossDomainFlows: Array<{
130
+ from: string;
131
+ to: string;
132
+ edgeCount: number;
133
+ }>;
134
+ domainTrust: Record<string, {
135
+ total: number;
136
+ certified: number;
137
+ score: number;
138
+ }>;
139
+ }
140
+ export interface ManifestLineageNode {
141
+ id: string;
142
+ type: string;
143
+ name: string;
144
+ domain?: string;
145
+ owner?: string;
146
+ status?: string;
147
+ filePath?: string;
148
+ }
149
+ export interface ManifestLineageEdge {
150
+ source: string;
151
+ target: string;
152
+ type: string;
153
+ sourceDomain?: string;
154
+ targetDomain?: string;
155
+ }
156
+ export interface ManifestDbtImport {
157
+ /** Path to the dbt manifest.json that was imported */
158
+ manifestPath: string;
159
+ /** dbt project name */
160
+ projectName?: string;
161
+ /** Number of models imported */
162
+ modelsImported: number;
163
+ /** Number of sources imported */
164
+ sourcesImported: number;
165
+ /** Timestamp of import */
166
+ importedAt: string;
167
+ }
168
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/manifest/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * DQL Manifest — the compiled project artifact.
3
+ *
4
+ * Similar to dbt's manifest.json, this is the single source of truth
5
+ * for a DQL project's structure, dependencies, and lineage.
6
+ * Generated by `dql compile`, consumed by `dql lineage`, notebook panel,
7
+ * and external tools (DataHub, Atlan, etc.).
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/manifest/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -2,7 +2,7 @@ export { SemanticAnalyzer, analyze } from './analyzer.js';
2
2
  export { SemanticLayer, parseMetricDefinition, parseDimensionDefinition, parseHierarchyDefinition, parseBlockCompanionDefinition, parseCubeDefinition, } from './semantic-layer.js';
3
3
  export type { MetricDefinition, DimensionDefinition, HierarchyDefinition, BlockCompanionDefinition, HierarchyLevelDefinition, HierarchyDrillPathDefinition, HierarchyRollupType, SemanticLayerConfig, JoinDefinition, TimeDimensionDefinition, CubeDefinition, ComposeQueryOptions, ComposeQueryResult, } from './semantic-layer.js';
4
4
  export { loadSemanticLayerFromDir, loadSemanticLayerFromConfig, } from './yaml-loader.js';
5
- export { resolveSemanticLayer, resolveSemanticLayerWithDiagnostics, pullCachedRepo, resolveRepoSource } from './providers/index.js';
5
+ export { resolveSemanticLayer, resolveSemanticLayerWithDiagnostics, resolveSemanticLayerAsync, pullCachedRepo, resolveRepoSource } from './providers/index.js';
6
6
  export type { SemanticLayerProviderConfig, SemanticLayerResult, RepoResolveResult } from './providers/index.js';
7
7
  export { SnowflakeSemanticProvider } from './providers/index.js';
8
8
  export type { SnowflakeQueryExecutor, SnowflakeQueryResult } from './providers/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/semantic/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,4BAA4B,EAC5B,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,mCAAmC,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACpI,YAAY,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAChH,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,YAAY,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAClE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/semantic/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,4BAA4B,EAC5B,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,mCAAmC,EAAE,yBAAyB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC/J,YAAY,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAChH,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,YAAY,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAClE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  export { SemanticAnalyzer, analyze } from './analyzer.js';
2
2
  export { SemanticLayer, parseMetricDefinition, parseDimensionDefinition, parseHierarchyDefinition, parseBlockCompanionDefinition, parseCubeDefinition, } from './semantic-layer.js';
3
3
  export { loadSemanticLayerFromDir, loadSemanticLayerFromConfig, } from './yaml-loader.js';
4
- export { resolveSemanticLayer, resolveSemanticLayerWithDiagnostics, pullCachedRepo, resolveRepoSource } from './providers/index.js';
4
+ export { resolveSemanticLayer, resolveSemanticLayerWithDiagnostics, resolveSemanticLayerAsync, pullCachedRepo, resolveRepoSource } from './providers/index.js';
5
5
  export { SnowflakeSemanticProvider } from './providers/index.js';
6
6
  export { getDialect, listDialectDrivers } from './sql-dialect.js';
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/semantic/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAgB7B,OAAO,EACL,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,mCAAmC,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEpI,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/semantic/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAgB7B,OAAO,EACL,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,mCAAmC,EAAE,yBAAyB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE/J,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,4 +1,4 @@
1
- export { resolveSemanticLayer, resolveSemanticLayerWithDiagnostics } from './registry.js';
1
+ export { resolveSemanticLayer, resolveSemanticLayerWithDiagnostics, resolveSemanticLayerAsync } from './registry.js';
2
2
  export type { SemanticLayerResult } from './registry.js';
3
3
  export type { SemanticLayerProviderConfig, SemanticLayerProvider } from './provider.js';
4
4
  export { resolveRepoSource, pullCachedRepo } from './repo-resolver.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/semantic/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,mCAAmC,EAAE,MAAM,eAAe,CAAC;AAC1F,YAAY,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,YAAY,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACvE,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,YAAY,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/semantic/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,mCAAmC,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AACrH,YAAY,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,YAAY,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACvE,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,YAAY,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -1,4 +1,4 @@
1
- export { resolveSemanticLayer, resolveSemanticLayerWithDiagnostics } from './registry.js';
1
+ export { resolveSemanticLayer, resolveSemanticLayerWithDiagnostics, resolveSemanticLayerAsync } from './registry.js';
2
2
  export { resolveRepoSource, pullCachedRepo } from './repo-resolver.js';
3
3
  export { SnowflakeSemanticProvider } from './snowflake-provider.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/semantic/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,mCAAmC,EAAE,MAAM,eAAe,CAAC;AAG1F,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/semantic/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,mCAAmC,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAGrH,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import type { SemanticLayer } from '../semantic-layer.js';
6
6
  import type { SemanticLayerProviderConfig } from './provider.js';
7
+ import { type SnowflakeQueryExecutor } from './snowflake-provider.js';
7
8
  export interface SemanticLayerResult {
8
9
  layer: SemanticLayer | undefined;
9
10
  errors: string[];
@@ -21,4 +22,10 @@ export interface SemanticLayerResult {
21
22
  */
22
23
  export declare function resolveSemanticLayer(config: SemanticLayerProviderConfig | undefined, projectRoot: string): SemanticLayer | undefined;
23
24
  export declare function resolveSemanticLayerWithDiagnostics(config: SemanticLayerProviderConfig | undefined, projectRoot: string): SemanticLayerResult;
25
+ /**
26
+ * Async variant of resolveSemanticLayerWithDiagnostics.
27
+ * Required for the Snowflake provider which needs a live query executor.
28
+ * All other providers fall back to the sync path.
29
+ */
30
+ export declare function resolveSemanticLayerAsync(config: SemanticLayerProviderConfig | undefined, projectRoot: string, executeQuery?: SnowflakeQueryExecutor): Promise<SemanticLayerResult>;
24
31
  //# sourceMappingURL=registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/semantic/providers/registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAMjE,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,aAAa,GAAG,SAAS,CAAC;IACjC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,2BAA2B,GAAG,SAAS,EAC/C,WAAW,EAAE,MAAM,GAClB,aAAa,GAAG,SAAS,CAE3B;AAED,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,2BAA2B,GAAG,SAAS,EAC/C,WAAW,EAAE,MAAM,GAClB,mBAAmB,CAMrB"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/semantic/providers/registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAIjE,OAAO,EAA6B,KAAK,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAGjG,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,aAAa,GAAG,SAAS,CAAC;IACjC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,2BAA2B,GAAG,SAAS,EAC/C,WAAW,EAAE,MAAM,GAClB,aAAa,GAAG,SAAS,CAE3B;AAED,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,2BAA2B,GAAG,SAAS,EAC/C,WAAW,EAAE,MAAM,GAClB,mBAAmB,CAMrB;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,2BAA2B,GAAG,SAAS,EAC/C,WAAW,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,sBAAsB,GACpC,OAAO,CAAC,mBAAmB,CAAC,CAsB9B"}
@@ -7,6 +7,7 @@ import { join } from 'node:path';
7
7
  import { DqlProvider } from './dql-provider.js';
8
8
  import { DbtProvider } from './dbt-provider.js';
9
9
  import { CubejsProvider } from './cubejs-provider.js';
10
+ import { SnowflakeSemanticProvider } from './snowflake-provider.js';
10
11
  import { resolveRepoSource } from './repo-resolver.js';
11
12
  /**
12
13
  * Resolve the semantic layer from config, or auto-detect if no config is given.
@@ -27,6 +28,35 @@ export function resolveSemanticLayerWithDiagnostics(config, projectRoot) {
27
28
  }
28
29
  return autoDetect(projectRoot);
29
30
  }
31
+ /**
32
+ * Async variant of resolveSemanticLayerWithDiagnostics.
33
+ * Required for the Snowflake provider which needs a live query executor.
34
+ * All other providers fall back to the sync path.
35
+ */
36
+ export async function resolveSemanticLayerAsync(config, projectRoot, executeQuery) {
37
+ if (config?.provider === 'snowflake') {
38
+ if (!executeQuery) {
39
+ return { layer: undefined, errors: ['Snowflake provider requires a live query executor. Ensure the connection is initialised before calling resolveSemanticLayerAsync.'] };
40
+ }
41
+ try {
42
+ let effectiveRoot = projectRoot;
43
+ let effectiveConfig = config;
44
+ if (config.source && config.source !== 'local' && config.repoUrl) {
45
+ const resolved = resolveRepoSource(config, projectRoot);
46
+ effectiveRoot = resolved.localPath;
47
+ effectiveConfig = { ...config, projectPath: undefined };
48
+ }
49
+ const provider = new SnowflakeSemanticProvider(executeQuery);
50
+ const layer = await provider.loadAsync(effectiveConfig, effectiveRoot);
51
+ return { layer, errors: [] };
52
+ }
53
+ catch (error) {
54
+ const msg = error instanceof Error ? error.message : String(error);
55
+ return { layer: undefined, errors: [`Failed to load snowflake semantic layer: ${msg}`] };
56
+ }
57
+ }
58
+ return resolveSemanticLayerWithDiagnostics(config, projectRoot);
59
+ }
30
60
  function autoDetect(projectRoot) {
31
61
  // 1. DQL native semantic-layer/ directory
32
62
  const nativeDir = join(projectRoot, 'semantic-layer');
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/semantic/providers/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/semantic/providers/registry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duckcodeailabs/dql-core",
3
- "version": "0.3.2",
3
+ "version": "0.7.0",
4
4
  "description": "DQL language core: lexer, parser, AST, semantic analysis",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",