@duckcodeailabs/dql-cli 1.10.3 → 1.10.5
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/assets/dql-notebook/assets/{index-VvEaTurJ.js → index-994eDL7f.js} +193 -193
- package/dist/assets/dql-notebook/index.html +1 -1
- package/dist/commands/doctor.d.ts +1 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +15 -0
- package/dist/commands/doctor.js.map +1 -1
- package/dist/dbt-cloud-semantic.d.ts +19 -1
- package/dist/dbt-cloud-semantic.d.ts.map +1 -1
- package/dist/dbt-cloud-semantic.js +65 -1
- package/dist/dbt-cloud-semantic.js.map +1 -1
- package/dist/local-runtime.d.ts +9 -0
- package/dist/local-runtime.d.ts.map +1 -1
- package/dist/local-runtime.js +6735 -6484
- package/dist/local-runtime.js.map +1 -1
- package/dist/package.json +10 -10
- package/dist/semantic-execution/connection-identity.d.ts +11 -0
- package/dist/semantic-execution/connection-identity.d.ts.map +1 -0
- package/dist/semantic-execution/connection-identity.js +81 -0
- package/dist/semantic-execution/connection-identity.js.map +1 -0
- package/dist/semantic-execution/execution-gateway.d.ts +53 -0
- package/dist/semantic-execution/execution-gateway.d.ts.map +1 -0
- package/dist/semantic-execution/execution-gateway.js +239 -0
- package/dist/semantic-execution/execution-gateway.js.map +1 -0
- package/dist/semantic-execution/target-binding.d.ts +57 -0
- package/dist/semantic-execution/target-binding.d.ts.map +1 -0
- package/dist/semantic-execution/target-binding.js +216 -0
- package/dist/semantic-execution/target-binding.js.map +1 -0
- package/dist/semantic-runtime-settings.d.ts +15 -1
- package/dist/semantic-runtime-settings.d.ts.map +1 -1
- package/dist/semantic-runtime-settings.js +22 -1
- package/dist/semantic-runtime-settings.js.map +1 -1
- package/dist/semantic-runtime.d.ts +41 -6
- package/dist/semantic-runtime.d.ts.map +1 -1
- package/dist/semantic-runtime.js +124 -8
- package/dist/semantic-runtime.js.map +1 -1
- package/package.json +10 -10
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { existsSync, readFileSync, statSync } from 'node:fs';
|
|
3
|
+
import { join, resolve } from 'node:path';
|
|
4
|
+
import { compareWarehouseTargets, createSemanticTargetBinding, createWarehouseTargetIdentity, semanticExecutionFingerprint, } from '@duckcodeailabs/dql-core';
|
|
5
|
+
import { getEffectiveDbtCloudSemanticSettings } from '../semantic-runtime-settings.js';
|
|
6
|
+
export class SemanticExecutionTargetMismatchError extends Error {
|
|
7
|
+
code = 'EXECUTION_TARGET_MISMATCH';
|
|
8
|
+
details;
|
|
9
|
+
constructor(input) {
|
|
10
|
+
const fields = input.mismatches.map((item) => item.field).join(', ') || 'target fingerprint';
|
|
11
|
+
super(`Semantic compilation target does not match the active warehouse execution target (${fields}). `
|
|
12
|
+
+ 'Select the matching DQL connection or reapply the semantic runtime settings against this connection.');
|
|
13
|
+
this.name = 'SemanticExecutionTargetMismatchError';
|
|
14
|
+
this.details = {
|
|
15
|
+
adapterId: input.adapterId,
|
|
16
|
+
expectedTargetFingerprint: input.expected.identityFingerprint,
|
|
17
|
+
actualTargetFingerprint: input.actual.identityFingerprint,
|
|
18
|
+
mismatches: input.mismatches,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export class SemanticAdapterDriftError extends Error {
|
|
23
|
+
code = 'SEMANTIC_ADAPTER_DRIFT';
|
|
24
|
+
details;
|
|
25
|
+
constructor(plannedAdapter, compiledAdapter) {
|
|
26
|
+
super(`Semantic planning selected ${plannedAdapter}, but compilation returned ${compiledAdapter}. Nothing was executed.`);
|
|
27
|
+
this.name = 'SemanticAdapterDriftError';
|
|
28
|
+
this.details = { plannedAdapter, compiledAdapter };
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export class SemanticSourceBindingMissingError extends Error {
|
|
32
|
+
code = 'SEMANTIC_SOURCE_DRIFT';
|
|
33
|
+
details;
|
|
34
|
+
constructor(input) {
|
|
35
|
+
super('The dbt Cloud compiler target has no complete persisted metric inventory. '
|
|
36
|
+
+ 'Reapply dbt Cloud Semantic Layer settings after deploying the intended semantic project.');
|
|
37
|
+
this.name = 'SemanticSourceBindingMissingError';
|
|
38
|
+
this.details = {
|
|
39
|
+
adapterId: 'dbt-cloud',
|
|
40
|
+
environmentId: input.environmentId,
|
|
41
|
+
metricInventoryState: input.metricInventoryState,
|
|
42
|
+
safeActions: ['refresh_snapshot', 'reapply_semantic_runtime'],
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
export function assertSemanticExecutionTarget(input) {
|
|
47
|
+
const expected = expectedExecutionTarget(input);
|
|
48
|
+
const mismatches = compareWarehouseTargets(expected, input.executionTarget);
|
|
49
|
+
if (mismatches.length > 0
|
|
50
|
+
|| (input.adapterId === 'dbt-cloud' && expected.identityFingerprint !== input.executionTarget.identityFingerprint)) {
|
|
51
|
+
throw new SemanticExecutionTargetMismatchError({
|
|
52
|
+
adapterId: input.adapterId,
|
|
53
|
+
expected,
|
|
54
|
+
actual: input.executionTarget,
|
|
55
|
+
mismatches,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
return expected;
|
|
59
|
+
}
|
|
60
|
+
export function buildSemanticTargetBinding(input) {
|
|
61
|
+
if (input.adapterId === 'dbt-cloud') {
|
|
62
|
+
const cloud = getEffectiveDbtCloudSemanticSettings(input.projectRoot);
|
|
63
|
+
if (!cloud.metricNames || !cloud.semanticCatalogFingerprint || !cloud.metricInventoryComplete) {
|
|
64
|
+
throw new SemanticSourceBindingMissingError({
|
|
65
|
+
environmentId: cloud.environmentId,
|
|
66
|
+
metricInventoryState: cloud.metricNames ? 'partial' : 'missing',
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
const expected = assertSemanticExecutionTarget(input);
|
|
71
|
+
const semanticSnapshot = semanticSnapshotForProject(input.projectRoot);
|
|
72
|
+
const compileTarget = compileTargetFor(input, semanticSnapshot);
|
|
73
|
+
const adapterImplementationFingerprint = semanticExecutionFingerprint({
|
|
74
|
+
adapterId: input.adapterId,
|
|
75
|
+
contract: 1,
|
|
76
|
+
implementation: 'dql-cli-semantic-execution-gateway-v1',
|
|
77
|
+
});
|
|
78
|
+
const credentialRevision = input.adapterId === 'dbt-cloud'
|
|
79
|
+
? semanticExecutionFingerprint({
|
|
80
|
+
testedAt: getEffectiveDbtCloudSemanticSettings(input.projectRoot).testedAt ?? 'unknown',
|
|
81
|
+
})
|
|
82
|
+
: 'credential-revision:not-applicable';
|
|
83
|
+
return createSemanticTargetBinding({
|
|
84
|
+
bindingId: `semantic-binding:${semanticExecutionFingerprint({
|
|
85
|
+
adapterId: input.adapterId,
|
|
86
|
+
snapshotId: semanticSnapshot.snapshotId,
|
|
87
|
+
target: expected.identityFingerprint,
|
|
88
|
+
}).slice(0, 24)}`,
|
|
89
|
+
adapterId: input.adapterId,
|
|
90
|
+
adapterImplementationFingerprint,
|
|
91
|
+
credentialRevision,
|
|
92
|
+
semanticSnapshot,
|
|
93
|
+
compileTarget,
|
|
94
|
+
executionTarget: input.executionTarget,
|
|
95
|
+
proof: {
|
|
96
|
+
status: 'verified',
|
|
97
|
+
checks: [
|
|
98
|
+
{ kind: 'semantic_source', fingerprint: semanticSnapshot.sourceFingerprint },
|
|
99
|
+
...(compileTarget.kind === 'dbt_cloud_environment'
|
|
100
|
+
? [{ kind: 'semantic_catalog', fingerprint: compileTarget.semanticCatalogFingerprint }]
|
|
101
|
+
: []),
|
|
102
|
+
{ kind: 'adapter_target_pin', fingerprint: expected.identityFingerprint },
|
|
103
|
+
{ kind: 'dialect', fingerprint: semanticExecutionFingerprint(expected.dialect) },
|
|
104
|
+
{ kind: 'warehouse_context', fingerprint: semanticExecutionFingerprint(expected.redactedContext) },
|
|
105
|
+
],
|
|
106
|
+
},
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
function expectedExecutionTarget(input) {
|
|
110
|
+
if (input.adapterId === 'metricflow-cli' && input.metricFlow?.expectedTarget) {
|
|
111
|
+
return input.metricFlow.expectedTarget;
|
|
112
|
+
}
|
|
113
|
+
if (input.adapterId === 'dbt-cloud') {
|
|
114
|
+
const settings = getEffectiveDbtCloudSemanticSettings(input.projectRoot);
|
|
115
|
+
if (!settings.executionTargetFingerprint || !settings.executionTargetContext) {
|
|
116
|
+
throw new Error('dbt Cloud Semantic Layer is tested but not bound to a warehouse execution target. '
|
|
117
|
+
+ 'Reapply the settings with the intended DQL warehouse connection active.');
|
|
118
|
+
}
|
|
119
|
+
const expected = createWarehouseTargetIdentity({
|
|
120
|
+
connectionRef: 'connection:dbt-cloud-bound-target',
|
|
121
|
+
driver: settings.dialect ?? input.executionTarget.driver,
|
|
122
|
+
dialect: settings.dialect ?? input.executionTarget.dialect,
|
|
123
|
+
redactedContext: settings.executionTargetContext,
|
|
124
|
+
});
|
|
125
|
+
return {
|
|
126
|
+
...expected,
|
|
127
|
+
identityFingerprint: settings.executionTargetFingerprint,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
return input.executionTarget;
|
|
131
|
+
}
|
|
132
|
+
function semanticSnapshotForProject(projectRoot) {
|
|
133
|
+
const candidates = [
|
|
134
|
+
{ path: join(projectRoot, 'target', 'semantic_manifest.json'), kind: 'semantic_manifest' },
|
|
135
|
+
{ path: join(projectRoot, 'target', 'manifest.json'), kind: 'manifest' },
|
|
136
|
+
{ path: join(projectRoot, 'semantic-layer'), kind: 'semantic_yaml' },
|
|
137
|
+
];
|
|
138
|
+
const source = candidates.find((candidate) => existsSync(candidate.path));
|
|
139
|
+
const fingerprint = source ? boundedPathFingerprint(source.path) : semanticExecutionFingerprint({
|
|
140
|
+
projectRoot: resolve(projectRoot),
|
|
141
|
+
state: 'semantic-source-missing',
|
|
142
|
+
});
|
|
143
|
+
return {
|
|
144
|
+
version: 1,
|
|
145
|
+
snapshotId: `semantic-snapshot:${fingerprint.slice(0, 24)}`,
|
|
146
|
+
sourceFingerprint: fingerprint,
|
|
147
|
+
semanticCatalogFingerprint: fingerprint,
|
|
148
|
+
...(source ? {
|
|
149
|
+
artifact: {
|
|
150
|
+
kind: source.kind,
|
|
151
|
+
fingerprint,
|
|
152
|
+
generatedAt: statSync(source.path).mtime.toISOString(),
|
|
153
|
+
},
|
|
154
|
+
} : {}),
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
function compileTargetFor(input, snapshot) {
|
|
158
|
+
if (input.adapterId === 'dbt-cloud') {
|
|
159
|
+
const settings = getEffectiveDbtCloudSemanticSettings(input.projectRoot);
|
|
160
|
+
return {
|
|
161
|
+
kind: 'dbt_cloud_environment',
|
|
162
|
+
hostFingerprint: semanticExecutionFingerprint(settings.host ?? 'missing-host'),
|
|
163
|
+
environmentId: settings.environmentId ?? 'missing-environment',
|
|
164
|
+
semanticCatalogFingerprint: settings.semanticCatalogFingerprint
|
|
165
|
+
?? semanticExecutionFingerprint({
|
|
166
|
+
environmentId: settings.environmentId ?? 'missing-environment',
|
|
167
|
+
state: 'metric-inventory-unverified',
|
|
168
|
+
}),
|
|
169
|
+
dialect: settings.dialect ?? input.executionTarget.dialect,
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
if (input.adapterId === 'metricflow-cli') {
|
|
173
|
+
return {
|
|
174
|
+
kind: 'metricflow_target',
|
|
175
|
+
dbtProjectFingerprint: boundedPathFingerprint(resolve(input.projectRoot, '.')),
|
|
176
|
+
profilesFingerprint: input.metricFlow?.profilesPath
|
|
177
|
+
? boundedPathFingerprint(input.metricFlow.profilesPath)
|
|
178
|
+
: semanticExecutionFingerprint(input.metricFlow?.expectedTarget?.redactedContext ?? {}),
|
|
179
|
+
profileName: input.metricFlow?.profileName ?? 'default',
|
|
180
|
+
targetName: input.metricFlow?.targetName ?? 'default',
|
|
181
|
+
semanticManifestFingerprint: snapshot.semanticCatalogFingerprint,
|
|
182
|
+
runtimeVersion: input.metricFlow?.runtimeVersion ?? 'unknown',
|
|
183
|
+
dialect: input.executionTarget.dialect,
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
return {
|
|
187
|
+
kind: 'native_snapshot',
|
|
188
|
+
semanticLayerFingerprint: snapshot.semanticCatalogFingerprint,
|
|
189
|
+
dialect: input.executionTarget.dialect,
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
function boundedPathFingerprint(path) {
|
|
193
|
+
try {
|
|
194
|
+
const stat = statSync(path);
|
|
195
|
+
if (!stat.isFile()) {
|
|
196
|
+
return semanticExecutionFingerprint({
|
|
197
|
+
path: resolve(path),
|
|
198
|
+
modifiedMs: stat.mtimeMs,
|
|
199
|
+
size: stat.size,
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
const maxBytes = 64 * 1024 * 1024;
|
|
203
|
+
if (stat.size > maxBytes) {
|
|
204
|
+
return semanticExecutionFingerprint({
|
|
205
|
+
path: resolve(path),
|
|
206
|
+
modifiedMs: stat.mtimeMs,
|
|
207
|
+
size: stat.size,
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
return createHash('sha256').update(readFileSync(path)).digest('hex');
|
|
211
|
+
}
|
|
212
|
+
catch {
|
|
213
|
+
return semanticExecutionFingerprint({ path: resolve(path), state: 'unreadable' });
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=target-binding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"target-binding.js","sourceRoot":"","sources":["../../src/semantic-execution/target-binding.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { WarehouseTargetContextV1, WarehouseTargetIdentityV1 } from '@duckcodeailabs/dql-core';
|
|
1
2
|
export type SemanticRuntimePreference = 'auto' | 'native' | 'metricflow-cli' | 'dbt-cloud';
|
|
2
3
|
export type SemanticRuntimeTestState = 'missing' | 'configured' | 'passed' | 'failed';
|
|
3
4
|
export interface DbtCloudSemanticSettingsInput {
|
|
@@ -22,6 +23,11 @@ export interface EffectiveDbtCloudSemanticSettings {
|
|
|
22
23
|
testMessage?: string;
|
|
23
24
|
dialect?: string;
|
|
24
25
|
metricCount?: number;
|
|
26
|
+
metricNames?: string[];
|
|
27
|
+
semanticCatalogFingerprint?: string;
|
|
28
|
+
metricInventoryComplete?: boolean;
|
|
29
|
+
executionTargetFingerprint?: string;
|
|
30
|
+
executionTargetContext?: WarehouseTargetContextV1;
|
|
25
31
|
}
|
|
26
32
|
export interface RedactedSemanticRuntimeSettings {
|
|
27
33
|
preference: SemanticRuntimePreference;
|
|
@@ -37,6 +43,11 @@ export interface RedactedSemanticRuntimeSettings {
|
|
|
37
43
|
testMessage?: string;
|
|
38
44
|
dialect?: string;
|
|
39
45
|
metricCount?: number;
|
|
46
|
+
semanticCatalogFingerprint?: string;
|
|
47
|
+
metricInventoryState: 'missing' | 'partial' | 'complete';
|
|
48
|
+
executionTargetFingerprint?: string;
|
|
49
|
+
executionTargetContext?: WarehouseTargetContextV1;
|
|
50
|
+
targetBindingState: 'missing' | 'bound';
|
|
40
51
|
envVars: string[];
|
|
41
52
|
};
|
|
42
53
|
}
|
|
@@ -48,7 +59,10 @@ export declare function saveTestedSemanticRuntimeSettings(projectRoot: string, i
|
|
|
48
59
|
message: string;
|
|
49
60
|
dialect?: string;
|
|
50
61
|
metricCount?: number;
|
|
51
|
-
|
|
62
|
+
metricNames?: string[];
|
|
63
|
+
semanticCatalogFingerprint?: string;
|
|
64
|
+
metricInventoryComplete?: boolean;
|
|
65
|
+
}, executionTarget?: WarehouseTargetIdentityV1): RedactedSemanticRuntimeSettings;
|
|
52
66
|
/**
|
|
53
67
|
* Persist ONLY the runtime preference (auto / native / metricflow-cli /
|
|
54
68
|
* dbt-cloud). Unlike saveTestedSemanticRuntimeSettings this requires no dbt
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-runtime-settings.d.ts","sourceRoot":"","sources":["../src/semantic-runtime-settings.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"semantic-runtime-settings.d.ts","sourceRoot":"","sources":["../src/semantic-runtime-settings.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAEpG,MAAM,MAAM,yBAAyB,GAAG,MAAM,GAAG,QAAQ,GAAG,gBAAgB,GAAG,WAAW,CAAC;AAC3F,MAAM,MAAM,wBAAwB,GAAG,SAAS,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEtF,MAAM,WAAW,6BAA6B;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,4BAA4B;IAC3C,UAAU,CAAC,EAAE,yBAAyB,CAAC;IACvC,QAAQ,CAAC,EAAE,6BAA6B,CAAC;CAC1C;AAyBD,MAAM,WAAW,iCAAiC;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IACjC,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,wBAAwB,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,sBAAsB,CAAC,EAAE,wBAAwB,CAAC;CACnD;AAED,MAAM,WAAW,+BAA+B;IAC9C,UAAU,EAAE,yBAAyB,CAAC;IACtC,QAAQ,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,OAAO,CAAC;QACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;QACjC,UAAU,EAAE,OAAO,CAAC;QACpB,SAAS,EAAE,wBAAwB,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,0BAA0B,CAAC,EAAE,MAAM,CAAC;QACpC,oBAAoB,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;QACzD,0BAA0B,CAAC,EAAE,MAAM,CAAC;QACpC,sBAAsB,CAAC,EAAE,wBAAwB,CAAC;QAClD,kBAAkB,EAAE,SAAS,GAAG,OAAO,CAAC;QACxC,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;CACH;AAMD,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,+BAA+B,CAkC/F;AAED,wBAAgB,oCAAoC,CAAC,WAAW,EAAE,MAAM,GAAG,iCAAiC,CAwC3G;AAED,wBAAgB,iCAAiC,CAC/C,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,4BAA4B,EACnC,IAAI,EAAE;IACJ,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,EACD,eAAe,CAAC,EAAE,yBAAyB,GAC1C,+BAA+B,CAyCjC;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,yBAAyB,GACpC,+BAA+B,CAKjC;AAED,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,4BAA4B,GAClC,iCAAiC,CAoBnC;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGjE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAKnF"}
|
|
@@ -29,6 +29,15 @@ export function getSemanticRuntimeSettings(projectRoot) {
|
|
|
29
29
|
testMessage: effective.testMessage,
|
|
30
30
|
dialect: effective.dialect,
|
|
31
31
|
metricCount: effective.metricCount,
|
|
32
|
+
semanticCatalogFingerprint: effective.semanticCatalogFingerprint,
|
|
33
|
+
metricInventoryState: !effective.metricNames
|
|
34
|
+
? 'missing'
|
|
35
|
+
: effective.metricInventoryComplete
|
|
36
|
+
? 'complete'
|
|
37
|
+
: 'partial',
|
|
38
|
+
executionTargetFingerprint: effective.executionTargetFingerprint,
|
|
39
|
+
executionTargetContext: effective.executionTargetContext,
|
|
40
|
+
targetBindingState: effective.executionTargetFingerprint ? 'bound' : 'missing',
|
|
32
41
|
envVars: [...HOST_ENV_VARS, ...ENVIRONMENT_ENV_VARS, ...TOKEN_ENV_VARS],
|
|
33
42
|
},
|
|
34
43
|
};
|
|
@@ -65,9 +74,16 @@ export function getEffectiveDbtCloudSemanticSettings(projectRoot) {
|
|
|
65
74
|
testMessage: locallyTested ? local?.testMessage : undefined,
|
|
66
75
|
dialect: locallyTested ? local?.dialect : undefined,
|
|
67
76
|
metricCount: locallyTested ? local?.metricCount : undefined,
|
|
77
|
+
metricNames: locallyTested && Array.isArray(local?.metricNames)
|
|
78
|
+
? local.metricNames.filter((name) => typeof name === 'string' && Boolean(name.trim()))
|
|
79
|
+
: undefined,
|
|
80
|
+
semanticCatalogFingerprint: locallyTested ? local?.semanticCatalogFingerprint : undefined,
|
|
81
|
+
metricInventoryComplete: locallyTested ? local?.metricInventoryComplete : undefined,
|
|
82
|
+
executionTargetFingerprint: locallyTested ? local?.executionTargetFingerprint : undefined,
|
|
83
|
+
executionTargetContext: locallyTested ? local?.executionTargetContext : undefined,
|
|
68
84
|
};
|
|
69
85
|
}
|
|
70
|
-
export function saveTestedSemanticRuntimeSettings(projectRoot, input, test) {
|
|
86
|
+
export function saveTestedSemanticRuntimeSettings(projectRoot, input, test, executionTarget) {
|
|
71
87
|
if (!test.ok)
|
|
72
88
|
throw new Error(test.message || 'dbt Cloud Semantic Layer test failed.');
|
|
73
89
|
const stored = readStored(projectRoot);
|
|
@@ -101,6 +117,11 @@ export function saveTestedSemanticRuntimeSettings(projectRoot, input, test) {
|
|
|
101
117
|
testMessage: test.message,
|
|
102
118
|
dialect: test.dialect,
|
|
103
119
|
metricCount: test.metricCount,
|
|
120
|
+
metricNames: test.metricNames,
|
|
121
|
+
semanticCatalogFingerprint: test.semanticCatalogFingerprint,
|
|
122
|
+
metricInventoryComplete: test.metricInventoryComplete,
|
|
123
|
+
executionTargetFingerprint: executionTarget?.identityFingerprint,
|
|
124
|
+
executionTargetContext: executionTarget?.redactedContext,
|
|
104
125
|
};
|
|
105
126
|
writeStored(projectRoot, stored);
|
|
106
127
|
return getSemanticRuntimeSettings(projectRoot);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-runtime-settings.js","sourceRoot":"","sources":["../src/semantic-runtime-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"semantic-runtime-settings.js","sourceRoot":"","sources":["../src/semantic-runtime-settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ComposeQueryResult, type SemanticLayer } from '@duckcodeailabs/dql-core';
|
|
1
|
+
import { type ComposeQueryResult, type SemanticLayer, type SemanticExecutionReceiptV1, type SemanticTargetBindingV1 } from '@duckcodeailabs/dql-core';
|
|
2
2
|
import { type DbtCloudSemanticTestResult } from './dbt-cloud-semantic.js';
|
|
3
3
|
import { type SemanticRuntimePreference, type SemanticRuntimeSettingsInput } from './semantic-runtime-settings.js';
|
|
4
4
|
export type SemanticRuntimeAdapterId = 'native' | 'metricflow-cli' | 'dbt-cloud';
|
|
@@ -33,6 +33,8 @@ export interface SemanticMetricExecutionCapability {
|
|
|
33
33
|
status: SemanticMetricExecutionStatus;
|
|
34
34
|
engine: SemanticRuntimeAdapterId | null;
|
|
35
35
|
reason: string | null;
|
|
36
|
+
reasonCode?: 'SEMANTIC_SOURCE_DRIFT';
|
|
37
|
+
semanticCatalogFingerprint?: string;
|
|
36
38
|
}
|
|
37
39
|
export interface SemanticRuntimeQueryRequest {
|
|
38
40
|
metrics: string[];
|
|
@@ -78,7 +80,7 @@ export interface SemanticRuntimePathCandidate {
|
|
|
78
80
|
selectionReference: string;
|
|
79
81
|
}
|
|
80
82
|
export interface SemanticRuntimeTraceStep {
|
|
81
|
-
id: 'resolve_members' | 'bind_entity_paths' | 'compile_semantic_query' | 'execute_query';
|
|
83
|
+
id: 'resolve_members' | 'bind_entity_paths' | 'compile_semantic_query' | 'validate_execution_target' | 'preflight_physical_sql' | 'execute_query';
|
|
82
84
|
label: string;
|
|
83
85
|
status: 'completed' | 'failed' | 'not_started';
|
|
84
86
|
detail: string;
|
|
@@ -92,10 +94,19 @@ export interface SemanticRuntimeTrace {
|
|
|
92
94
|
bindings: SemanticRuntimeBinding[];
|
|
93
95
|
warnings: string[];
|
|
94
96
|
steps: SemanticRuntimeTraceStep[];
|
|
97
|
+
/** Redacted compiler-to-warehouse target proof shown in Trust & Steps. */
|
|
98
|
+
targetBinding?: SemanticTargetBindingV1;
|
|
99
|
+
/** Terminal receipt added by the shared execution gateway. */
|
|
100
|
+
executionReceipt?: SemanticExecutionReceiptV1;
|
|
95
101
|
failure?: {
|
|
96
|
-
code: 'SEMANTIC_PATH_AMBIGUOUS' | 'SEMANTIC_COMPILATION_FAILED';
|
|
97
|
-
phase: 'path_binding' | 'compilation';
|
|
102
|
+
code: 'SEMANTIC_PATH_AMBIGUOUS' | 'SEMANTIC_COMPILATION_FAILED' | 'SEMANTIC_SOURCE_DRIFT';
|
|
103
|
+
phase: 'capability' | 'path_binding' | 'compilation';
|
|
98
104
|
message: string;
|
|
105
|
+
environmentId?: string;
|
|
106
|
+
semanticCatalogFingerprint?: string;
|
|
107
|
+
metricInventoryState?: 'missing' | 'partial' | 'complete';
|
|
108
|
+
unavailableMetrics?: string[];
|
|
109
|
+
safeActions?: string[];
|
|
99
110
|
candidates?: SemanticRuntimePathCandidate[];
|
|
100
111
|
};
|
|
101
112
|
}
|
|
@@ -131,6 +142,29 @@ export declare class SemanticRuntimeRequiredError extends Error {
|
|
|
131
142
|
readonly code = "SEMANTIC_RUNTIME_REQUIRED";
|
|
132
143
|
constructor(message: string);
|
|
133
144
|
}
|
|
145
|
+
export declare class SemanticSourceDriftError extends Error {
|
|
146
|
+
readonly code = "SEMANTIC_SOURCE_DRIFT";
|
|
147
|
+
readonly details: {
|
|
148
|
+
adapter: 'dbt-cloud';
|
|
149
|
+
phase: 'capability';
|
|
150
|
+
environmentId?: string;
|
|
151
|
+
semanticCatalogFingerprint?: string;
|
|
152
|
+
metricInventoryState: 'missing' | 'partial' | 'complete';
|
|
153
|
+
requestedMetrics: string[];
|
|
154
|
+
unavailableMetrics: string[];
|
|
155
|
+
safeActions: string[];
|
|
156
|
+
semanticTrace?: SemanticRuntimeTrace;
|
|
157
|
+
};
|
|
158
|
+
readonly semanticTrace?: SemanticRuntimeTrace;
|
|
159
|
+
constructor(input: {
|
|
160
|
+
environmentId?: string;
|
|
161
|
+
semanticCatalogFingerprint?: string;
|
|
162
|
+
metricInventoryState: 'missing' | 'partial' | 'complete';
|
|
163
|
+
requestedMetrics: string[];
|
|
164
|
+
unavailableMetrics: string[];
|
|
165
|
+
authoringRequest?: SemanticRuntimeQueryRequest;
|
|
166
|
+
});
|
|
167
|
+
}
|
|
134
168
|
export declare class SemanticRuntimeCompilationError extends Error {
|
|
135
169
|
readonly code = "SEMANTIC_COMPILATION_FAILED";
|
|
136
170
|
readonly adapter: Exclude<SemanticRuntimeAdapterId, 'native'>;
|
|
@@ -156,6 +190,7 @@ export declare class SemanticRuntimePathAmbiguityError extends Error {
|
|
|
156
190
|
candidates: SemanticRuntimePathCandidate[];
|
|
157
191
|
});
|
|
158
192
|
}
|
|
193
|
+
export declare function assertDbtCloudMetricInventory(projectRoot: string, metrics: string[], authoringRequest?: SemanticRuntimeQueryRequest): void;
|
|
159
194
|
/**
|
|
160
195
|
* API-004 / AGT-001: MetricFlow requires `metric_time` whenever an input metric uses a time offset.
|
|
161
196
|
* dbt stores that requirement in the metric definition, so normalize it once at
|
|
@@ -245,8 +280,8 @@ export interface RuntimeCompatibilityResult {
|
|
|
245
280
|
*/
|
|
246
281
|
export declare function describeRuntimeCompatibility(projectRoot: string, semanticLayer: SemanticLayer, metrics: string[], projectConfig?: SemanticRuntimeProjectConfig): Promise<RuntimeCompatibilityResult>;
|
|
247
282
|
export declare function listRuntimeCompatibleDimensions(projectRoot: string, semanticLayer: SemanticLayer, metrics: string[], projectConfig?: SemanticRuntimeProjectConfig): Promise<Array<ReturnType<SemanticLayer['listDimensions']>[number]>>;
|
|
248
|
-
export declare function semanticMetricExecutionCapability(metricName: string, semanticLayer: SemanticLayer, provider: string, runtime: SemanticRuntimeStatus): SemanticMetricExecutionCapability;
|
|
283
|
+
export declare function semanticMetricExecutionCapability(metricName: string, semanticLayer: SemanticLayer, provider: string, runtime: SemanticRuntimeStatus, projectRoot?: string): SemanticMetricExecutionCapability;
|
|
249
284
|
export declare function isSemanticRuntimeError(error: unknown): boolean;
|
|
250
|
-
export declare function semanticRuntimeErrorCode(error: unknown): 'SEMANTIC_RUNTIME_REQUIRED' | 'SEMANTIC_COMPILATION_FAILED' | 'SEMANTIC_PATH_AMBIGUOUS' | undefined;
|
|
285
|
+
export declare function semanticRuntimeErrorCode(error: unknown): 'SEMANTIC_RUNTIME_REQUIRED' | 'SEMANTIC_COMPILATION_FAILED' | 'SEMANTIC_PATH_AMBIGUOUS' | 'SEMANTIC_SOURCE_DRIFT' | undefined;
|
|
251
286
|
export declare function semanticRuntimeErrorDetails(error: unknown): unknown;
|
|
252
287
|
//# sourceMappingURL=semantic-runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-runtime.d.ts","sourceRoot":"","sources":["../src/semantic-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EAEvB,KAAK,aAAa,
|
|
1
|
+
{"version":3,"file":"semantic-runtime.d.ts","sourceRoot":"","sources":["../src/semantic-runtime.ts"],"names":[],"mappings":"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"}
|