@duckcodeailabs/dql-agent 1.6.34 → 1.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.
- package/dist/agent-run-engine.d.ts +14 -1
- package/dist/agent-run-engine.d.ts.map +1 -1
- package/dist/agent-run-engine.js +123 -3
- package/dist/agent-run-engine.js.map +1 -1
- package/dist/agent-run-gates.d.ts.map +1 -1
- package/dist/agent-run-gates.js +6 -0
- package/dist/agent-run-gates.js.map +1 -1
- package/dist/answer-loop.d.ts +57 -4
- package/dist/answer-loop.d.ts.map +1 -1
- package/dist/answer-loop.js +435 -44
- package/dist/answer-loop.js.map +1 -1
- package/dist/app-builder.d.ts.map +1 -1
- package/dist/app-builder.js +18 -10
- package/dist/app-builder.js.map +1 -1
- package/dist/cascade/budgets.d.ts.map +1 -1
- package/dist/cascade/budgets.js +8 -3
- package/dist/cascade/budgets.js.map +1 -1
- package/dist/cascade/route-policy.d.ts.map +1 -1
- package/dist/cascade/route-policy.js +5 -0
- package/dist/cascade/route-policy.js.map +1 -1
- package/dist/domain-context.d.ts +30 -0
- package/dist/domain-context.d.ts.map +1 -0
- package/dist/domain-context.js +68 -0
- package/dist/domain-context.js.map +1 -0
- package/dist/hints/git-store.d.ts +39 -3
- package/dist/hints/git-store.d.ts.map +1 -1
- package/dist/hints/git-store.js +172 -2
- package/dist/hints/git-store.js.map +1 -1
- package/dist/hints/types.d.ts +41 -0
- package/dist/hints/types.d.ts.map +1 -1
- package/dist/hints/types.js +1 -0
- package/dist/hints/types.js.map +1 -1
- package/dist/index.d.ts +7 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -2
- package/dist/index.js.map +1 -1
- package/dist/kg/build.d.ts.map +1 -1
- package/dist/kg/build.js +196 -4
- package/dist/kg/build.js.map +1 -1
- package/dist/kg/sqlite-fts.d.ts.map +1 -1
- package/dist/kg/sqlite-fts.js +8 -3
- package/dist/kg/sqlite-fts.js.map +1 -1
- package/dist/kg/types.d.ts +9 -2
- package/dist/kg/types.d.ts.map +1 -1
- package/dist/metadata/analysis-planner.d.ts.map +1 -1
- package/dist/metadata/analysis-planner.js +134 -18
- package/dist/metadata/analysis-planner.js.map +1 -1
- package/dist/metadata/analytical-policy.d.ts +51 -0
- package/dist/metadata/analytical-policy.d.ts.map +1 -0
- package/dist/metadata/analytical-policy.js +309 -0
- package/dist/metadata/analytical-policy.js.map +1 -0
- package/dist/metadata/block-fit.js +37 -4
- package/dist/metadata/block-fit.js.map +1 -1
- package/dist/metadata/catalog.d.ts +46 -1
- package/dist/metadata/catalog.d.ts.map +1 -1
- package/dist/metadata/catalog.js +313 -51
- package/dist/metadata/catalog.js.map +1 -1
- package/dist/metadata/dbt-first-safety.d.ts +19 -0
- package/dist/metadata/dbt-first-safety.d.ts.map +1 -0
- package/dist/metadata/dbt-first-safety.js +17 -0
- package/dist/metadata/dbt-first-safety.js.map +1 -0
- package/dist/metadata/sql-context-validation.d.ts.map +1 -1
- package/dist/metadata/sql-context-validation.js +42 -2
- package/dist/metadata/sql-context-validation.js.map +1 -1
- package/dist/metadata/sql-grounding.d.ts.map +1 -1
- package/dist/metadata/sql-grounding.js +25 -2
- package/dist/metadata/sql-grounding.js.map +1 -1
- package/dist/metadata/sql-retrieval.d.ts +2 -0
- package/dist/metadata/sql-retrieval.d.ts.map +1 -1
- package/dist/metadata/sql-retrieval.js +5 -1
- package/dist/metadata/sql-retrieval.js.map +1 -1
- package/dist/propose/build-from-prompt.d.ts +34 -0
- package/dist/propose/build-from-prompt.d.ts.map +1 -1
- package/dist/propose/build-from-prompt.js +199 -19
- package/dist/propose/build-from-prompt.js.map +1 -1
- package/dist/semantic-bridge/compose.d.ts.map +1 -1
- package/dist/semantic-bridge/compose.js +169 -5
- package/dist/semantic-bridge/compose.js.map +1 -1
- package/dist/skills/loader.d.ts +10 -0
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js +81 -10
- package/dist/skills/loader.js.map +1 -1
- package/dist/synthesize.d.ts.map +1 -1
- package/dist/synthesize.js +152 -16
- package/dist/synthesize.js.map +1 -1
- package/dist/tools/registry.d.ts +1 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +42 -0
- package/dist/tools/registry.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysis-planner.js","sourceRoot":"","sources":["../../src/metadata/analysis-planner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"analysis-planner.js","sourceRoot":"","sources":["../../src/metadata/analysis-planner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/** Deterministic manifest-v3 analytical path planning and SQL validation. */
|
|
2
|
+
import { type DQLManifest, type ManifestModelRelationship } from '@duckcodeailabs/dql-core';
|
|
3
|
+
import type { DomainContextEnvelope } from '../domain-context.js';
|
|
4
|
+
export type AnalyticalPolicyCode = 'attribution_policy_required' | 'stale_certification' | 'relationship_not_certified' | 'relationship_evidence_missing' | 'relationship_evidence_expired' | 'relationship_proof_invalid' | 'relationship_not_exported' | 'unsafe_relationship' | 'unbound_relation' | 'unplanned_join' | 'join_key_mismatch' | 'purpose_not_allowed';
|
|
5
|
+
export interface AnalyticalJoinPlanEdge {
|
|
6
|
+
relationshipId: string;
|
|
7
|
+
fromEntity: string;
|
|
8
|
+
toEntity: string;
|
|
9
|
+
fromRelation?: string;
|
|
10
|
+
toRelation?: string;
|
|
11
|
+
keys: Array<{
|
|
12
|
+
from: string;
|
|
13
|
+
to: string;
|
|
14
|
+
}>;
|
|
15
|
+
cardinality: string;
|
|
16
|
+
fanout: string;
|
|
17
|
+
importRefs: string[];
|
|
18
|
+
}
|
|
19
|
+
export interface AnalyticalPathPlan {
|
|
20
|
+
safe: boolean;
|
|
21
|
+
code?: AnalyticalPolicyCode;
|
|
22
|
+
message?: string;
|
|
23
|
+
entities: string[];
|
|
24
|
+
relationshipIds: string[];
|
|
25
|
+
edges: AnalyticalJoinPlanEdge[];
|
|
26
|
+
}
|
|
27
|
+
export interface AnalyticalPathRequest {
|
|
28
|
+
entityIds: string[];
|
|
29
|
+
ownerDomain?: string;
|
|
30
|
+
purpose?: string;
|
|
31
|
+
/** Server-resolved authorization boundary. Raw client domain hints are insufficient. */
|
|
32
|
+
domainContext?: DomainContextEnvelope;
|
|
33
|
+
measureEntities?: string[];
|
|
34
|
+
dimensionEntities?: string[];
|
|
35
|
+
}
|
|
36
|
+
export interface AnalyticalRelationshipDecision {
|
|
37
|
+
executable: boolean;
|
|
38
|
+
code?: AnalyticalPolicyCode;
|
|
39
|
+
message: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Re-check the complete executable-join invariant at the point of use.
|
|
43
|
+
*
|
|
44
|
+
* `automaticJoinAllowed` is the compiler's summary bit and remains mandatory,
|
|
45
|
+
* but consumers also validate its source proof so stale/corrupt hand-authored
|
|
46
|
+
* manifests cannot turn a review-only relationship into SQL authorization.
|
|
47
|
+
*/
|
|
48
|
+
export declare function assessAnalyticalRelationship(relationship: ManifestModelRelationship, manifest?: DQLManifest, now?: Date): AnalyticalRelationshipDecision;
|
|
49
|
+
export declare function planAnalyticalPath(manifest: DQLManifest, request: AnalyticalPathRequest): AnalyticalPathPlan;
|
|
50
|
+
export declare function validateAnalyticalSql(sql: string, manifest: DQLManifest, dialect?: string, purpose?: string, domainContext?: DomainContextEnvelope): AnalyticalPathPlan;
|
|
51
|
+
//# sourceMappingURL=analytical-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytical-policy.d.ts","sourceRoot":"","sources":["../../src/metadata/analytical-policy.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,OAAO,EAGL,KAAK,WAAW,EAEhB,KAAK,yBAAyB,EAC/B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAElE,MAAM,MAAM,oBAAoB,GAC5B,6BAA6B,GAC7B,qBAAqB,GACrB,4BAA4B,GAC5B,+BAA+B,GAC/B,+BAA+B,GAC/B,4BAA4B,GAC5B,2BAA2B,GAC3B,qBAAqB,GACrB,kBAAkB,GAClB,gBAAgB,GAChB,mBAAmB,GACnB,qBAAqB,CAAC;AAE1B,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,KAAK,EAAE,sBAAsB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wFAAwF;IACxF,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,8BAA8B;IAC7C,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,yBAAyB,EACvC,QAAQ,CAAC,EAAE,WAAW,EACtB,GAAG,OAAa,GACf,8BAA8B,CA8DhC;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,qBAAqB,GAAG,kBAAkB,CAsE5G;AAiED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,WAAW,EACrB,OAAO,SAAW,EAClB,OAAO,CAAC,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,qBAAqB,GACpC,kBAAkB,CAwCpB"}
|
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
/** Deterministic manifest-v3 analytical path planning and SQL validation. */
|
|
2
|
+
import { analyzeSqlReferences, relationshipValidationProofFingerprint, } from '@duckcodeailabs/dql-core';
|
|
3
|
+
/**
|
|
4
|
+
* Re-check the complete executable-join invariant at the point of use.
|
|
5
|
+
*
|
|
6
|
+
* `automaticJoinAllowed` is the compiler's summary bit and remains mandatory,
|
|
7
|
+
* but consumers also validate its source proof so stale/corrupt hand-authored
|
|
8
|
+
* manifests cannot turn a review-only relationship into SQL authorization.
|
|
9
|
+
*/
|
|
10
|
+
export function assessAnalyticalRelationship(relationship, manifest, now = new Date()) {
|
|
11
|
+
if (relationship.status !== 'certified') {
|
|
12
|
+
return denied('relationship_not_certified', `Relationship "${relationship.id}" is ${relationship.status}, not certified.`);
|
|
13
|
+
}
|
|
14
|
+
if (relationship.staleCertification) {
|
|
15
|
+
return denied('stale_certification', `Relationship "${relationship.id}" is stale and cannot authorize generated SQL.`);
|
|
16
|
+
}
|
|
17
|
+
if (!relationship.certificationFingerprint?.trim()) {
|
|
18
|
+
return denied('relationship_proof_invalid', `Relationship "${relationship.id}" has no valid certification fingerprint.`);
|
|
19
|
+
}
|
|
20
|
+
const validation = relationship.validation;
|
|
21
|
+
if (!validation) {
|
|
22
|
+
return denied('relationship_evidence_missing', `Relationship "${relationship.id}" has no warehouse validation evidence.`);
|
|
23
|
+
}
|
|
24
|
+
if (validation.status !== 'passed') {
|
|
25
|
+
return denied('relationship_proof_invalid', `Relationship "${relationship.id}" warehouse validation is ${validation.status}, not passed.`);
|
|
26
|
+
}
|
|
27
|
+
if (!validDate(validation.checkedAt) || !validation.queryFingerprint?.trim() || !validValidationCounts(validation)) {
|
|
28
|
+
return denied('relationship_proof_invalid', `Relationship "${relationship.id}" has invalid warehouse validation proof.`);
|
|
29
|
+
}
|
|
30
|
+
const modeling = manifest?.modeling;
|
|
31
|
+
const fromEntity = modeling?.entities[relationship.from];
|
|
32
|
+
const toEntity = modeling?.entities[relationship.to];
|
|
33
|
+
const fromRelation = manifest?.dbtProvenance?.nodes[fromEntity?.dbtUniqueId ?? '']?.relation;
|
|
34
|
+
const toRelation = manifest?.dbtProvenance?.nodes[toEntity?.dbtUniqueId ?? '']?.relation;
|
|
35
|
+
if (!validation.proofFingerprint?.trim()) {
|
|
36
|
+
return denied('relationship_proof_invalid', `Relationship "${relationship.id}" has legacy or unbound warehouse evidence; run relationship validation again.`);
|
|
37
|
+
}
|
|
38
|
+
if (!manifest || !fromEntity || !toEntity) {
|
|
39
|
+
return denied('relationship_proof_invalid', `Relationship "${relationship.id}" validation proof cannot be bound to its manifest-v3 entities.`);
|
|
40
|
+
}
|
|
41
|
+
const expectedProof = relationshipValidationProofFingerprint({
|
|
42
|
+
fromRelation,
|
|
43
|
+
toRelation,
|
|
44
|
+
keys: relationship.keys,
|
|
45
|
+
cardinality: relationship.cardinality,
|
|
46
|
+
fanout: relationship.fanout,
|
|
47
|
+
queryFingerprint: validation.queryFingerprint,
|
|
48
|
+
});
|
|
49
|
+
if (validation.proofFingerprint !== expectedProof) {
|
|
50
|
+
return denied('relationship_proof_invalid', `Relationship "${relationship.id}" validation proof no longer matches its query, relations, keys, cardinality, or fanout policy.`);
|
|
51
|
+
}
|
|
52
|
+
if (relationship.evidenceExpiresAt) {
|
|
53
|
+
const expiresAt = Date.parse(relationship.evidenceExpiresAt);
|
|
54
|
+
if (!Number.isFinite(expiresAt)) {
|
|
55
|
+
return denied('relationship_proof_invalid', `Relationship "${relationship.id}" has an invalid evidence expiry timestamp.`);
|
|
56
|
+
}
|
|
57
|
+
if (expiresAt <= now.getTime()) {
|
|
58
|
+
return denied('relationship_evidence_expired', `Relationship "${relationship.id}" warehouse validation evidence expired at ${relationship.evidenceExpiresAt}.`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (relationship.keys.length === 0 || relationship.keys.some((key) => !key.from.trim() || !key.to.trim())) {
|
|
62
|
+
return denied('relationship_proof_invalid', `Relationship "${relationship.id}" has no valid physical join-key proof.`);
|
|
63
|
+
}
|
|
64
|
+
if (relationship.fanout !== 'safe'
|
|
65
|
+
|| !['one_to_one', 'one_to_many', 'many_to_one'].includes(relationship.cardinality)) {
|
|
66
|
+
return denied('unsafe_relationship', `Relationship "${relationship.id}" is not fanout-safe for automatic joins.`);
|
|
67
|
+
}
|
|
68
|
+
if (!relationship.automaticJoinAllowed) {
|
|
69
|
+
return denied('unsafe_relationship', `Relationship "${relationship.id}" is not authorized for automatic joins.`);
|
|
70
|
+
}
|
|
71
|
+
return { executable: true, message: `Relationship "${relationship.id}" is certified for automatic joins.` };
|
|
72
|
+
}
|
|
73
|
+
export function planAnalyticalPath(manifest, request) {
|
|
74
|
+
const modeling = manifest.modeling;
|
|
75
|
+
if (manifest.manifestVersion !== 3 || !modeling)
|
|
76
|
+
return allowed([], []);
|
|
77
|
+
const requested = [...new Set(request.entityIds)];
|
|
78
|
+
const resolvedEntities = requested.map((id) => {
|
|
79
|
+
if (modeling.entities[id])
|
|
80
|
+
return id;
|
|
81
|
+
const ownerDomain = request.domainContext?.activeDomain ?? request.ownerDomain;
|
|
82
|
+
const matches = Object.entries(modeling.entities).filter(([, entity]) => entity.qualifiedId === id
|
|
83
|
+
|| (Boolean(ownerDomain) && entity.domain === ownerDomain && entity.localId === id));
|
|
84
|
+
return matches.length === 1 ? matches[0][0] : undefined;
|
|
85
|
+
});
|
|
86
|
+
const unresolved = requested.filter((_id, index) => !resolvedEntities[index]);
|
|
87
|
+
if (unresolved.length > 0) {
|
|
88
|
+
return blocked('unbound_relation', [], [], `Unknown or ambiguous qualified analytical entity id(s): ${unresolved.join(', ')}.`);
|
|
89
|
+
}
|
|
90
|
+
const entities = resolvedEntities.filter((id) => Boolean(id)).sort();
|
|
91
|
+
if (entities.length < 2)
|
|
92
|
+
return allowed(entities, []);
|
|
93
|
+
const relationships = Object.values(modeling.relationships);
|
|
94
|
+
const directlyRelevant = relationships.filter((relationship) => entities.includes(relationship.from) || entities.includes(relationship.to));
|
|
95
|
+
const attribution = directlyRelevant.find((relationship) => relationship.fanout === 'attribution_required'
|
|
96
|
+
&& entities.includes(relationship.from) && entities.includes(relationship.to));
|
|
97
|
+
if (attribution)
|
|
98
|
+
return blocked('attribution_policy_required', entities, [attribution], `Relationship "${attribution.id}" requires an attribution policy or allocation policy before DQL can join these entities.`);
|
|
99
|
+
const adjacency = new Map();
|
|
100
|
+
for (const entity of Object.keys(modeling.entities))
|
|
101
|
+
adjacency.set(entity, []);
|
|
102
|
+
for (const relationship of relationships.filter((value) => assessAnalyticalRelationship(value, manifest).executable)) {
|
|
103
|
+
adjacency.get(relationship.from)?.push({ next: relationship.to, relationship });
|
|
104
|
+
adjacency.get(relationship.to)?.push({ next: relationship.from, relationship });
|
|
105
|
+
}
|
|
106
|
+
const selected = new Map();
|
|
107
|
+
const connected = new Set([entities[0]]);
|
|
108
|
+
for (const target of entities.slice(1)) {
|
|
109
|
+
const path = shortestPath([...connected], target, adjacency);
|
|
110
|
+
if (!path) {
|
|
111
|
+
const candidate = relationships.find((relationship) => (connected.has(relationship.from) && relationship.to === target)
|
|
112
|
+
|| (connected.has(relationship.to) && relationship.from === target));
|
|
113
|
+
if (candidate) {
|
|
114
|
+
const decision = assessAnalyticalRelationship(candidate, manifest);
|
|
115
|
+
if (!decision.executable && decision.code !== 'unsafe_relationship') {
|
|
116
|
+
return blocked(decision.code ?? 'unsafe_relationship', entities, [candidate], decision.message);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
if (candidate?.crossDomain)
|
|
120
|
+
return blocked('relationship_not_exported', entities, candidate ? [candidate] : [], 'The cross-domain path is missing a certified export/import interface or valid purpose.');
|
|
121
|
+
return blocked('unsafe_relationship', entities, candidate ? [candidate] : [], `No certified, validated, fanout-safe DQL path connects ${entities.join(', ')}.`);
|
|
122
|
+
}
|
|
123
|
+
for (const relationship of path) {
|
|
124
|
+
selected.set(relationship.qualifiedId ?? relationship.id, relationship);
|
|
125
|
+
connected.add(relationship.from);
|
|
126
|
+
connected.add(relationship.to);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
for (const relationship of selected.values()) {
|
|
130
|
+
if (relationship.crossDomain) {
|
|
131
|
+
const authorization = authorizeCrossDomainRelationship(manifest, relationship, request.domainContext, request.purpose);
|
|
132
|
+
if (!authorization.safe)
|
|
133
|
+
return blocked(authorization.code, entities, [relationship], authorization.message);
|
|
134
|
+
}
|
|
135
|
+
if (relationship.aggregation) {
|
|
136
|
+
const missingMeasure = request.measureEntities?.find((entity) => !relationship.aggregation?.measuresFrom.includes(entity));
|
|
137
|
+
const missingDimension = request.dimensionEntities?.find((entity) => !relationship.aggregation?.dimensionsFrom.includes(entity));
|
|
138
|
+
if (missingMeasure || missingDimension) {
|
|
139
|
+
return blocked('unsafe_relationship', entities, [relationship], `Relationship "${relationship.id}" does not authorize the requested measure/dimension direction.`);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return allowed(entities, [...selected.values()], manifest);
|
|
144
|
+
}
|
|
145
|
+
function denied(code, message) {
|
|
146
|
+
return { executable: false, code, message };
|
|
147
|
+
}
|
|
148
|
+
function authorizeCrossDomainRelationship(manifest, relationship, context, requestedPurpose) {
|
|
149
|
+
const purpose = context?.purpose?.trim();
|
|
150
|
+
if (!context || !purpose) {
|
|
151
|
+
return { safe: false, code: 'purpose_not_allowed', message: `Cross-domain relationship "${relationship.localId}" requires an explicit analytical purpose.` };
|
|
152
|
+
}
|
|
153
|
+
if (requestedPurpose?.trim() && requestedPurpose.trim() !== purpose) {
|
|
154
|
+
return { safe: false, code: 'purpose_not_allowed', message: `Requested purpose "${requestedPurpose}" does not match the resolved domain context purpose "${purpose}".` };
|
|
155
|
+
}
|
|
156
|
+
if (!context.activeDomain || (relationship.ownerDomain && context.activeDomain !== relationship.ownerDomain)) {
|
|
157
|
+
return { safe: false, code: 'relationship_not_exported', message: `Cross-domain relationship "${relationship.localId}" is not owned by the active domain context.` };
|
|
158
|
+
}
|
|
159
|
+
const importRefs = relationship.importRefs ?? [];
|
|
160
|
+
if (importRefs.length === 0) {
|
|
161
|
+
return { safe: false, code: 'relationship_not_exported', message: `Cross-domain relationship "${relationship.localId}" has no explicit import interface.` };
|
|
162
|
+
}
|
|
163
|
+
const exports = manifest.modeling?.interfaces?.exports ?? {};
|
|
164
|
+
const contracts = Object.values(manifest.modeling?.contracts ?? {});
|
|
165
|
+
for (const exportRef of importRefs) {
|
|
166
|
+
const allowed = context.allowedImports.find((value) => value.exportRef === exportRef && value.purpose === purpose);
|
|
167
|
+
const exported = exports[exportRef];
|
|
168
|
+
if (!allowed || !exported || exported.status !== 'certified') {
|
|
169
|
+
return { safe: false, code: 'relationship_not_exported', message: `Cross-domain relationship "${relationship.localId}" is missing a certified allowed import for "${exportRef}" and purpose "${purpose}".` };
|
|
170
|
+
}
|
|
171
|
+
const contract = exported.contract
|
|
172
|
+
? contracts.find((value) => value.qualifiedId === exported.contract
|
|
173
|
+
|| value.id === exported.contract
|
|
174
|
+
|| (value.domain === exported.domain && value.localId === exported.contract))
|
|
175
|
+
: undefined;
|
|
176
|
+
const contractEntityCompatible = !exported.entity || Boolean(contract?.entities.includes(exported.entity));
|
|
177
|
+
const contractPurposeCompatible = !contract?.purpose || contract.purpose === purpose;
|
|
178
|
+
if (!contract || contract.status !== 'certified' || !contractEntityCompatible || !contractPurposeCompatible) {
|
|
179
|
+
return { safe: false, code: 'relationship_not_exported', message: `Cross-domain export "${exportRef}" has no compatible certified contract for purpose "${purpose}".` };
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
return { safe: true };
|
|
183
|
+
}
|
|
184
|
+
function validDate(value) {
|
|
185
|
+
return value.trim().length > 0 && Number.isFinite(Date.parse(value));
|
|
186
|
+
}
|
|
187
|
+
function validValidationCounts(validation) {
|
|
188
|
+
return [
|
|
189
|
+
validation.fromRows,
|
|
190
|
+
validation.toRows,
|
|
191
|
+
validation.joinedRows,
|
|
192
|
+
validation.fromNullKeys,
|
|
193
|
+
validation.toNullKeys,
|
|
194
|
+
validation.unmatchedFrom,
|
|
195
|
+
validation.maxFromPerKey,
|
|
196
|
+
validation.maxToPerKey,
|
|
197
|
+
].every((value) => Number.isFinite(value) && value >= 0);
|
|
198
|
+
}
|
|
199
|
+
export function validateAnalyticalSql(sql, manifest, dialect = 'duckdb', purpose, domainContext) {
|
|
200
|
+
if (manifest.manifestVersion !== 3 || !manifest.modeling || !manifest.dbtProvenance)
|
|
201
|
+
return allowed([], []);
|
|
202
|
+
const analysis = analyzeSqlReferences(sql, dialect);
|
|
203
|
+
if (!analysis.parsed)
|
|
204
|
+
return blocked('unplanned_join', [], [], `DQL could not parse generated SQL for analytical policy validation: ${analysis.error ?? 'unknown parse error'}`);
|
|
205
|
+
const relationEntities = new Map();
|
|
206
|
+
for (const relation of analysis.tables) {
|
|
207
|
+
const entity = entityForRelation(relation, manifest);
|
|
208
|
+
const key = entity ? entityRecordKey(manifest, entity) : undefined;
|
|
209
|
+
if (entity && key)
|
|
210
|
+
relationEntities.set(normalizeRelation(relation), { key, entity });
|
|
211
|
+
}
|
|
212
|
+
if (analysis.joins.length > 0) {
|
|
213
|
+
const unbound = analysis.tables.filter((relation) => !entityForRelation(relation, manifest));
|
|
214
|
+
if (unbound.length > 0)
|
|
215
|
+
return blocked('unbound_relation', [...new Set([...relationEntities.values()].map((value) => value.key))], [], `Generated join references unbound relation(s): ${unbound.join(', ')}.`);
|
|
216
|
+
}
|
|
217
|
+
const plan = planAnalyticalPath(manifest, {
|
|
218
|
+
entityIds: [...new Set([...relationEntities.values()].map((value) => value.key))],
|
|
219
|
+
purpose,
|
|
220
|
+
domainContext,
|
|
221
|
+
});
|
|
222
|
+
if (!plan.safe)
|
|
223
|
+
return plan;
|
|
224
|
+
for (const join of analysis.joins) {
|
|
225
|
+
const left = join.leftRelation ? entityForRelation(join.leftRelation, manifest) : undefined;
|
|
226
|
+
const right = join.rightRelation ? entityForRelation(join.rightRelation, manifest) : undefined;
|
|
227
|
+
if (!left || !right)
|
|
228
|
+
return blocked('unbound_relation', plan.entities, [], 'Every generated join endpoint must bind to a DQL analytical entity.');
|
|
229
|
+
const leftKey = entityRecordKey(manifest, left);
|
|
230
|
+
const rightKey = entityRecordKey(manifest, right);
|
|
231
|
+
if (!leftKey || !rightKey)
|
|
232
|
+
return blocked('unbound_relation', plan.entities, [], 'Every generated join endpoint must resolve to a qualified DQL analytical entity.');
|
|
233
|
+
const relationship = plan.relationshipIds
|
|
234
|
+
.map((id) => manifest.modeling?.relationships[id])
|
|
235
|
+
.find((value) => value && ((value.from === leftKey && value.to === rightKey) || (value.from === rightKey && value.to === leftKey)));
|
|
236
|
+
if (!relationship)
|
|
237
|
+
return blocked('unplanned_join', plan.entities, [], `No planned relationship authorizes ${left.id} to ${right.id}.`);
|
|
238
|
+
const matches = relationship.keys.some((key) => {
|
|
239
|
+
const direct = relationship.from === leftKey && normalizeColumn(join.leftColumn) === normalizeColumn(key.from) && normalizeColumn(join.rightColumn) === normalizeColumn(key.to);
|
|
240
|
+
const reverse = relationship.from === rightKey && normalizeColumn(join.leftColumn) === normalizeColumn(key.to) && normalizeColumn(join.rightColumn) === normalizeColumn(key.from);
|
|
241
|
+
return direct || reverse;
|
|
242
|
+
});
|
|
243
|
+
if (!matches)
|
|
244
|
+
return blocked('join_key_mismatch', plan.entities, [relationship], `Join predicate ${join.leftColumn} = ${join.rightColumn} does not match certified keys for "${relationship.id}".`);
|
|
245
|
+
}
|
|
246
|
+
return plan;
|
|
247
|
+
}
|
|
248
|
+
function entityRecordKey(manifest, entity) {
|
|
249
|
+
return Object.entries(manifest.modeling?.entities ?? {}).find(([, candidate]) => candidate === entity || (Boolean(entity.qualifiedId) && candidate.qualifiedId === entity.qualifiedId))?.[0];
|
|
250
|
+
}
|
|
251
|
+
function shortestPath(starts, target, adjacency) {
|
|
252
|
+
const queue = starts.map((entity) => ({ entity, path: [] }));
|
|
253
|
+
const seen = new Set(starts);
|
|
254
|
+
while (queue.length > 0) {
|
|
255
|
+
const current = queue.shift();
|
|
256
|
+
if (current.entity === target)
|
|
257
|
+
return current.path;
|
|
258
|
+
for (const edge of adjacency.get(current.entity) ?? []) {
|
|
259
|
+
if (seen.has(edge.next))
|
|
260
|
+
continue;
|
|
261
|
+
seen.add(edge.next);
|
|
262
|
+
queue.push({ entity: edge.next, path: [...current.path, edge.relationship] });
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
return undefined;
|
|
266
|
+
}
|
|
267
|
+
function entityForRelation(relation, manifest) {
|
|
268
|
+
const normalized = normalizeRelation(relation);
|
|
269
|
+
return Object.values(manifest.modeling?.entities ?? {}).find((entity) => {
|
|
270
|
+
const node = manifest.dbtProvenance?.nodes[entity.dbtUniqueId];
|
|
271
|
+
return [node?.name, node?.relation].filter(Boolean).some((value) => {
|
|
272
|
+
const candidate = normalizeRelation(String(value));
|
|
273
|
+
return candidate === normalized || candidate.endsWith(`.${normalized}`) || normalized.endsWith(`.${candidate}`);
|
|
274
|
+
});
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
function allowed(entities, relationships, manifest) {
|
|
278
|
+
return {
|
|
279
|
+
safe: true,
|
|
280
|
+
entities,
|
|
281
|
+
relationshipIds: relationships.map((relationship) => relationshipRecordKey(manifest, relationship)),
|
|
282
|
+
edges: relationships.map((relationship) => ({
|
|
283
|
+
relationshipId: relationship.id,
|
|
284
|
+
fromEntity: relationship.from,
|
|
285
|
+
toEntity: relationship.to,
|
|
286
|
+
fromRelation: manifest?.dbtProvenance?.nodes[manifest.modeling?.entities[relationship.from]?.dbtUniqueId ?? '']?.relation,
|
|
287
|
+
toRelation: manifest?.dbtProvenance?.nodes[manifest.modeling?.entities[relationship.to]?.dbtUniqueId ?? '']?.relation,
|
|
288
|
+
keys: relationship.keys,
|
|
289
|
+
cardinality: relationship.cardinality,
|
|
290
|
+
fanout: relationship.fanout,
|
|
291
|
+
importRefs: relationship.importRefs ?? [],
|
|
292
|
+
})),
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
function relationshipRecordKey(manifest, relationship) {
|
|
296
|
+
return Object.entries(manifest?.modeling?.relationships ?? {}).find(([, candidate]) => candidate === relationship || (Boolean(relationship.qualifiedId) && candidate.qualifiedId === relationship.qualifiedId))?.[0]
|
|
297
|
+
?? relationship.qualifiedId
|
|
298
|
+
?? relationship.id;
|
|
299
|
+
}
|
|
300
|
+
function blocked(code, entities, relationships, message) {
|
|
301
|
+
return { safe: false, code, message, entities, relationshipIds: relationships.map((relationship) => relationship.id), edges: [] };
|
|
302
|
+
}
|
|
303
|
+
function normalizeRelation(value) {
|
|
304
|
+
return value.replace(/["`\[\]]/g, '').trim().toLowerCase();
|
|
305
|
+
}
|
|
306
|
+
function normalizeColumn(value) {
|
|
307
|
+
return value.replace(/["`\[\]]/g, '').split('.').at(-1)?.trim().toLowerCase() ?? value.toLowerCase();
|
|
308
|
+
}
|
|
309
|
+
//# sourceMappingURL=analytical-policy.js.map
|