@duckcodeailabs/dql-core 1.6.1 → 1.6.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.
Files changed (56) hide show
  1. package/dist/ast/index.d.ts +1 -1
  2. package/dist/ast/index.d.ts.map +1 -1
  3. package/dist/ast/index.js.map +1 -1
  4. package/dist/ast/nodes.d.ts +49 -1
  5. package/dist/ast/nodes.d.ts.map +1 -1
  6. package/dist/ast/nodes.js +3 -0
  7. package/dist/ast/nodes.js.map +1 -1
  8. package/dist/ast/printer.d.ts.map +1 -1
  9. package/dist/ast/printer.js +56 -0
  10. package/dist/ast/printer.js.map +1 -1
  11. package/dist/ast/visitor.d.ts +5 -1
  12. package/dist/ast/visitor.d.ts.map +1 -1
  13. package/dist/ast/visitor.js +16 -0
  14. package/dist/ast/visitor.js.map +1 -1
  15. package/dist/formatter/formatter.d.ts.map +1 -1
  16. package/dist/formatter/formatter.js +111 -0
  17. package/dist/formatter/formatter.js.map +1 -1
  18. package/dist/lexer/token.d.ts +4 -0
  19. package/dist/lexer/token.d.ts.map +1 -1
  20. package/dist/lexer/token.js +8 -0
  21. package/dist/lexer/token.js.map +1 -1
  22. package/dist/lineage/builder.d.ts +29 -0
  23. package/dist/lineage/builder.d.ts.map +1 -1
  24. package/dist/lineage/builder.js +88 -4
  25. package/dist/lineage/builder.js.map +1 -1
  26. package/dist/lineage/index.d.ts +2 -2
  27. package/dist/lineage/index.d.ts.map +1 -1
  28. package/dist/lineage/index.js +1 -1
  29. package/dist/lineage/index.js.map +1 -1
  30. package/dist/lineage/lineage-graph.d.ts +2 -2
  31. package/dist/lineage/lineage-graph.d.ts.map +1 -1
  32. package/dist/lineage/lineage-graph.js +2 -0
  33. package/dist/lineage/lineage-graph.js.map +1 -1
  34. package/dist/lineage/query.d.ts +64 -0
  35. package/dist/lineage/query.d.ts.map +1 -1
  36. package/dist/lineage/query.js +260 -0
  37. package/dist/lineage/query.js.map +1 -1
  38. package/dist/manifest/builder.d.ts +8 -0
  39. package/dist/manifest/builder.d.ts.map +1 -1
  40. package/dist/manifest/builder.js +479 -77
  41. package/dist/manifest/builder.js.map +1 -1
  42. package/dist/manifest/index.d.ts +2 -2
  43. package/dist/manifest/index.d.ts.map +1 -1
  44. package/dist/manifest/index.js +1 -1
  45. package/dist/manifest/index.js.map +1 -1
  46. package/dist/manifest/types.d.ts +59 -0
  47. package/dist/manifest/types.d.ts.map +1 -1
  48. package/dist/parser/parser.d.ts +4 -0
  49. package/dist/parser/parser.d.ts.map +1 -1
  50. package/dist/parser/parser.js +308 -3
  51. package/dist/parser/parser.js.map +1 -1
  52. package/dist/semantic/analyzer.d.ts +2 -0
  53. package/dist/semantic/analyzer.d.ts.map +1 -1
  54. package/dist/semantic/analyzer.js +28 -0
  55. package/dist/semantic/analyzer.js.map +1 -1
  56. package/package.json +1 -1
@@ -2,11 +2,13 @@ import { getLayerForNodeType } from './lineage-graph.js';
2
2
  const NODE_PREFIXES = [
3
3
  'app',
4
4
  'block',
5
+ 'business_view',
5
6
  'dashboard',
6
7
  'notebook',
7
8
  'dbt_model',
8
9
  'dbt_source',
9
10
  'source_table',
11
+ 'term',
10
12
  'metric',
11
13
  'dimension',
12
14
  'domain',
@@ -44,6 +46,125 @@ export function queryLineage(graph, query) {
44
46
  matches,
45
47
  };
46
48
  }
49
+ /**
50
+ * Build a business-first 360 view around a term, block, business view,
51
+ * dashboard, app, or notebook.
52
+ *
53
+ * Terms expand through outgoing `defines` edges first, then technical sources
54
+ * and consuming artifacts are traced from the artifacts the term defines.
55
+ */
56
+ export function queryBusiness360(graph, focalNodeId, options = {}) {
57
+ const focus = resolveFocusNode(graph, focalNodeId);
58
+ if (!focus)
59
+ return null;
60
+ const maxDepth = options.maxDepth ?? 12;
61
+ const seedIds = new Set([focus.id]);
62
+ const definedArtifacts = focus.type === 'term'
63
+ ? targetsForEdges(graph.getOutgoingEdges(focus.id).filter((edge) => edge.type === 'defines'), graph)
64
+ : [];
65
+ for (const artifact of definedArtifacts)
66
+ seedIds.add(artifact.id);
67
+ const directlyComposedArtifacts = focus.type === 'business_view'
68
+ ? incomingSourcesByType(graph, focus.id, 'composes', ['block', 'business_view'])
69
+ : [];
70
+ for (const artifact of directlyComposedArtifacts)
71
+ seedIds.add(artifact.id);
72
+ const upstreamNodes = collectReachableNodes(graph, seedIds, 'upstream', maxDepth);
73
+ const downstreamNodes = collectReachableNodes(graph, seedIds, 'downstream', maxDepth);
74
+ const seedNodes = [...seedIds]
75
+ .map((id) => graph.getNode(id))
76
+ .filter((node) => Boolean(node));
77
+ const definedByTerms = focus.type === 'term'
78
+ ? []
79
+ : incomingSourcesByType(graph, focus.id, 'defines', ['term']);
80
+ const terms = uniqueNodes([
81
+ ...(focus.type === 'term' ? [focus] : []),
82
+ ...definedByTerms,
83
+ ...upstreamNodes.filter((node) => node.type === 'term'),
84
+ ]);
85
+ const includedArtifacts = uniqueNodes([
86
+ ...directlyComposedArtifacts,
87
+ ...seedNodes.flatMap((node) => incomingSourcesByType(graph, node.id, 'composes', ['block', 'business_view'])),
88
+ ...upstreamNodes.filter((node) => node.type === 'block' || node.type === 'business_view'),
89
+ ]).filter((node) => node.id !== focus.id && !definedArtifacts.some((artifact) => artifact.id === node.id));
90
+ const parentViews = uniqueNodes(seedNodes.flatMap((node) => outgoingTargetsByType(graph, node.id, 'composes', ['business_view'])));
91
+ const sourceTables = upstreamNodes.filter((node) => node.type === 'source_table');
92
+ const dbtModels = upstreamNodes.filter((node) => node.type === 'dbt_model');
93
+ const dbtSources = upstreamNodes.filter((node) => node.type === 'dbt_source');
94
+ const upstreamBlocks = upstreamNodes
95
+ .filter((node) => node.type === 'block')
96
+ .filter((node) => !seedIds.has(node.id));
97
+ const dashboards = downstreamNodes.filter((node) => node.type === 'dashboard');
98
+ const apps = downstreamNodes.filter((node) => node.type === 'app');
99
+ const notebooks = downstreamNodes.filter((node) => node.type === 'notebook');
100
+ const downstreamViews = downstreamNodes
101
+ .filter((node) => node.type === 'business_view')
102
+ .filter((node) => !seedIds.has(node.id));
103
+ const downstreamBlocks = downstreamNodes
104
+ .filter((node) => node.type === 'block')
105
+ .filter((node) => !seedIds.has(node.id));
106
+ const evidenceNodes = uniqueNodes([
107
+ focus,
108
+ ...seedNodes,
109
+ ...terms,
110
+ ...definedArtifacts,
111
+ ...definedByTerms,
112
+ ...includedArtifacts,
113
+ ...parentViews,
114
+ ...sourceTables,
115
+ ...dbtModels,
116
+ ...dbtSources,
117
+ ...upstreamBlocks,
118
+ ...dashboards,
119
+ ...apps,
120
+ ...notebooks,
121
+ ...downstreamViews,
122
+ ...downstreamBlocks,
123
+ ]);
124
+ const evidenceNodeIds = new Set(evidenceNodes.map((node) => node.id));
125
+ const evidenceEdges = graph.getAllEdges()
126
+ .filter((edge) => evidenceNodeIds.has(edge.source) && evidenceNodeIds.has(edge.target))
127
+ .map((edge) => ({ source: edge.source, target: edge.target, type: edge.type }));
128
+ const gaps = buildBusiness360Gaps({
129
+ focus,
130
+ definedArtifacts,
131
+ includedArtifacts,
132
+ sourceCount: sourceTables.length + dbtModels.length + dbtSources.length,
133
+ consumerCount: dashboards.length + apps.length + notebooks.length,
134
+ });
135
+ return {
136
+ focus: assetForNode(focus),
137
+ businessDefinition: {
138
+ terms: nodesToAssets(terms),
139
+ definedArtifacts: nodesToAssets(definedArtifacts),
140
+ definedByTerms: nodesToAssets(definedByTerms),
141
+ metadata: focus.metadata ?? {},
142
+ },
143
+ businessComposition: {
144
+ includedArtifacts: nodesToAssets(includedArtifacts),
145
+ parentViews: nodesToAssets(parentViews),
146
+ },
147
+ technicalSources: {
148
+ sourceTables: nodesToAssets(sourceTables),
149
+ dbtModels: nodesToAssets(dbtModels),
150
+ dbtSources: nodesToAssets(dbtSources),
151
+ upstreamBlocks: nodesToAssets(upstreamBlocks),
152
+ upstreamPathCount: countTechnicalUpstreamPaths(graph, seedIds, maxDepth),
153
+ },
154
+ consumers: {
155
+ dashboards: nodesToAssets(dashboards),
156
+ apps: nodesToAssets(apps),
157
+ notebooks: nodesToAssets(notebooks),
158
+ downstreamViews: nodesToAssets(downstreamViews),
159
+ downstreamBlocks: nodesToAssets(downstreamBlocks),
160
+ },
161
+ gaps,
162
+ evidence: {
163
+ nodes: nodesToAssets(evidenceNodes),
164
+ edges: evidenceEdges,
165
+ },
166
+ };
167
+ }
47
168
  function buildFocusedSubgraph(graph, focusId, upstreamDepth, downstreamDepth) {
48
169
  const includedIds = new Set([focusId]);
49
170
  walkDirection(graph, focusId, 'upstream', normalizeDepth(upstreamDepth), includedIds);
@@ -88,6 +209,145 @@ function resolveFocusNode(graph, rawFocus) {
88
209
  .getAllNodes()
89
210
  .find((node) => node.name.toLowerCase() === normalized);
90
211
  }
212
+ function collectReachableNodes(graph, startIds, direction, maxDepth) {
213
+ const visited = new Set();
214
+ const queue = [...startIds].map((id) => ({ id, depth: 0 }));
215
+ for (const id of startIds)
216
+ visited.add(id);
217
+ while (queue.length > 0) {
218
+ const current = queue.shift();
219
+ if (current.depth >= maxDepth)
220
+ continue;
221
+ const edges = direction === 'upstream'
222
+ ? graph.getIncomingEdges(current.id)
223
+ : graph.getOutgoingEdges(current.id);
224
+ for (const edge of edges) {
225
+ const nextId = direction === 'upstream' ? edge.source : edge.target;
226
+ if (visited.has(nextId))
227
+ continue;
228
+ visited.add(nextId);
229
+ queue.push({ id: nextId, depth: current.depth + 1 });
230
+ }
231
+ }
232
+ return sortNodes([...visited]
233
+ .filter((id) => !startIds.has(id))
234
+ .map((id) => graph.getNode(id))
235
+ .filter((node) => Boolean(node))
236
+ .filter((node) => node.type !== 'domain'));
237
+ }
238
+ function incomingSourcesByType(graph, nodeId, edgeType, nodeTypes) {
239
+ const allowed = new Set(nodeTypes);
240
+ return sortNodes(targetsForEdges(graph.getIncomingEdges(nodeId).filter((edge) => edge.type === edgeType), graph, 'source').filter((node) => allowed.has(node.type)));
241
+ }
242
+ function outgoingTargetsByType(graph, nodeId, edgeType, nodeTypes) {
243
+ const allowed = new Set(nodeTypes);
244
+ return sortNodes(targetsForEdges(graph.getOutgoingEdges(nodeId).filter((edge) => edge.type === edgeType), graph).filter((node) => allowed.has(node.type)));
245
+ }
246
+ function targetsForEdges(edges, graph, endpoint = 'target') {
247
+ return uniqueNodes(edges
248
+ .map((edge) => graph.getNode(endpoint === 'source' ? edge.source : edge.target))
249
+ .filter((node) => Boolean(node)));
250
+ }
251
+ function uniqueNodes(nodes) {
252
+ const seen = new Set();
253
+ const unique = [];
254
+ for (const node of nodes) {
255
+ if (node.type === 'domain' || seen.has(node.id))
256
+ continue;
257
+ seen.add(node.id);
258
+ unique.push(node);
259
+ }
260
+ return sortNodes(unique);
261
+ }
262
+ function sortNodes(nodes) {
263
+ return [...nodes].sort((a, b) => a.type.localeCompare(b.type) || a.name.localeCompare(b.name));
264
+ }
265
+ function nodesToAssets(nodes) {
266
+ return sortNodes(nodes).map(assetForNode);
267
+ }
268
+ function assetForNode(node) {
269
+ return {
270
+ id: node.id,
271
+ name: node.name,
272
+ type: node.type,
273
+ layer: node.layer ?? getLayerForNodeType(node.type),
274
+ domain: node.domain,
275
+ status: node.status,
276
+ owner: node.owner,
277
+ metadata: node.metadata,
278
+ };
279
+ }
280
+ function countTechnicalUpstreamPaths(graph, startIds, maxDepth) {
281
+ let count = 0;
282
+ const visited = new Set();
283
+ function walk(nodeId, depth) {
284
+ const node = graph.getNode(nodeId);
285
+ if (!node || node.type === 'term' || node.type === 'domain')
286
+ return;
287
+ if (depth >= maxDepth)
288
+ return;
289
+ const nextIds = graph.getIncomingEdges(nodeId)
290
+ .filter((edge) => edge.type !== 'defines' && edge.type !== 'crosses_domain' && edge.type !== 'certified_by')
291
+ .map((edge) => edge.source)
292
+ .filter((id) => !visited.has(id))
293
+ .filter((id) => {
294
+ const source = graph.getNode(id);
295
+ return source !== undefined && source.type !== 'term' && source.type !== 'domain';
296
+ });
297
+ if (nextIds.length === 0) {
298
+ if (node.type === 'source_table' || node.type === 'dbt_source' || node.type === 'dbt_model') {
299
+ count++;
300
+ }
301
+ return;
302
+ }
303
+ for (const nextId of nextIds) {
304
+ visited.add(nextId);
305
+ walk(nextId, depth + 1);
306
+ visited.delete(nextId);
307
+ }
308
+ }
309
+ for (const startId of startIds) {
310
+ const start = graph.getNode(startId);
311
+ if (!start || start.type === 'term' || start.type === 'domain')
312
+ continue;
313
+ visited.add(startId);
314
+ walk(startId, 0);
315
+ visited.delete(startId);
316
+ }
317
+ return count;
318
+ }
319
+ function buildBusiness360Gaps(input) {
320
+ const gaps = [];
321
+ if (input.focus.type === 'term' && input.definedArtifacts.length === 0) {
322
+ gaps.push({
323
+ code: 'missing_definition',
324
+ severity: 'warning',
325
+ message: 'This term is not connected to a block or business view yet.',
326
+ });
327
+ }
328
+ if (input.focus.type === 'business_view' && input.includedArtifacts.length === 0) {
329
+ gaps.push({
330
+ code: 'missing_composition',
331
+ severity: 'warning',
332
+ message: 'This business view does not include any blocks or nested business views.',
333
+ });
334
+ }
335
+ if (input.sourceCount === 0) {
336
+ gaps.push({
337
+ code: 'missing_sources',
338
+ severity: 'info',
339
+ message: 'No source tables, dbt sources, or dbt models were found upstream.',
340
+ });
341
+ }
342
+ if (input.consumerCount === 0) {
343
+ gaps.push({
344
+ code: 'missing_consumers',
345
+ severity: 'info',
346
+ message: 'No dashboards, apps, or notebooks were found downstream.',
347
+ });
348
+ }
349
+ return gaps;
350
+ }
91
351
  function searchLineage(graph, rawTerm) {
92
352
  const term = rawTerm.trim().toLowerCase();
93
353
  if (!term)
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/lineage/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/lineage/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoH,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AA8E3K,MAAM,aAAa,GAAsB;IACvC,KAAK;IACL,OAAO;IACP,eAAe;IACf,WAAW;IACX,UAAU;IACV,WAAW;IACX,YAAY;IACZ,cAAc;IACd,MAAM;IACN,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,OAAO;CACR,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,KAAmB,EAAE,KAAmB;IACnE,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEjF,IAAI,WAAW,GAAG,SAAS;QACzB,CAAC,CAAC,oBAAoB,CAClB,KAAK,EACL,SAAS,CAAC,EAAE,EACZ,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,eAAe,CACtB;QACH,CAAC,CAAC,KAAK,CAAC;IAEV,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/D,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1C,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC/D,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAChE,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE;YACpC,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAC/D,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC1E,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE;QAC3B,SAAS;QACT,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAmB,EACnB,WAAmB,EACnB,UAA8B,EAAE;IAEhC,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,KAAK,MAAM;QAC5C,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,KAAK,CAAC;QACpG,CAAC,CAAC,EAAE,CAAC;IACP,KAAK,MAAM,QAAQ,IAAI,gBAAgB;QAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAClE,MAAM,yBAAyB,GAAG,KAAK,CAAC,IAAI,KAAK,eAAe;QAC9D,CAAC,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAChF,CAAC,CAAC,EAAE,CAAC;IACP,KAAK,MAAM,QAAQ,IAAI,yBAAyB;QAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAE3E,MAAM,aAAa,GAAG,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAClF,MAAM,eAAe,GAAG,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IACtF,MAAM,SAAS,GAAG,CAAC,GAAG,OAAO,CAAC;SAC3B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SAC9B,MAAM,CAAC,CAAC,IAAI,EAAuB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAExD,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,KAAK,MAAM;QAC1C,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,WAAW,CAAC;QACxB,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,cAAc;QACjB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;KACxD,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,WAAW,CAAC;QACpC,GAAG,yBAAyB;QAC5B,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;QAC7G,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC;KAC1F,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAE3G,MAAM,WAAW,GAAG,WAAW,CAC7B,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAClG,CAAC;IAEF,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;IAClF,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IAC5E,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;IAC9E,MAAM,cAAc,GAAG,aAAa;SACjC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;SACvC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAE3C,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IAC/E,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAC7E,MAAM,eAAe,GAAG,eAAe;SACpC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC;SAC/C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C,MAAM,gBAAgB,GAAG,eAAe;SACrC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;SACvC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAE3C,MAAM,aAAa,GAAG,WAAW,CAAC;QAChC,KAAK;QACL,GAAG,SAAS;QACZ,GAAG,KAAK;QACR,GAAG,gBAAgB;QACnB,GAAG,cAAc;QACjB,GAAG,iBAAiB;QACpB,GAAG,WAAW;QACd,GAAG,YAAY;QACf,GAAG,SAAS;QACZ,GAAG,UAAU;QACb,GAAG,cAAc;QACjB,GAAG,UAAU;QACb,GAAG,IAAI;QACP,GAAG,SAAS;QACZ,GAAG,eAAe;QAClB,GAAG,gBAAgB;KACpB,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACtE,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,EAAE;SACtC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACtF,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAElF,MAAM,IAAI,GAAG,oBAAoB,CAAC;QAChC,KAAK;QACL,gBAAgB;QAChB,iBAAiB;QACjB,WAAW,EAAE,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM;QACvE,aAAa,EAAE,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM;KAClE,CAAC,CAAC;IAEH,OAAO;QACL,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;QAC1B,kBAAkB,EAAE;YAClB,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;YAC3B,gBAAgB,EAAE,aAAa,CAAC,gBAAgB,CAAC;YACjD,cAAc,EAAE,aAAa,CAAC,cAAc,CAAC;YAC7C,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;SAC/B;QACD,mBAAmB,EAAE;YACnB,iBAAiB,EAAE,aAAa,CAAC,iBAAiB,CAAC;YACnD,WAAW,EAAE,aAAa,CAAC,WAAW,CAAC;SACxC;QACD,gBAAgB,EAAE;YAChB,YAAY,EAAE,aAAa,CAAC,YAAY,CAAC;YACzC,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC;YACnC,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC;YACrC,cAAc,EAAE,aAAa,CAAC,cAAc,CAAC;YAC7C,iBAAiB,EAAE,2BAA2B,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC;SACzE;QACD,SAAS,EAAE;YACT,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC;YACrC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC;YACzB,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC;YACnC,eAAe,EAAE,aAAa,CAAC,eAAe,CAAC;YAC/C,gBAAgB,EAAE,aAAa,CAAC,gBAAgB,CAAC;SAClD;QACD,IAAI;QACJ,QAAQ,EAAE;YACR,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC;YACnC,KAAK,EAAE,aAAa;SACrB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAmB,EACnB,OAAe,EACf,aAAsB,EACtB,eAAwB;IAExB,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAE/C,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,CAAC;IACtF,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC,CAAC;IAE1F,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,aAAa,CACpB,KAAmB,EACnB,OAAe,EACf,SAAoC,EACpC,QAAgB,EAChB,WAAwB;IAExB,MAAM,KAAK,GAAyC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAChF,MAAM,IAAI,GAAG,IAAI,GAAG,CAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAExC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QAC/B,IAAI,OAAO,CAAC,KAAK,IAAI,QAAQ;YAAE,SAAS;QAExC,MAAM,KAAK,GAAG,SAAS,KAAK,UAAU;YACpC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YACpE,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,SAAS;YAC/B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACjB,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAyB;IAC/C,OAAO,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QAChE,CAAC,CAAC,MAAM,CAAC,iBAAiB;QAC1B,CAAC,CAAC,KAAK,CAAC;AACZ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAmB,EAAE,QAAgB;IAC7D,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE5D,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAC;QACzD,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC;IAClC,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACjD,OAAO,KAAK;SACT,WAAW,EAAE;SACb,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAmB,EACnB,QAAqB,EACrB,SAAoC,EACpC,QAAgB;IAEhB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5D,KAAK,MAAM,EAAE,IAAI,QAAQ;QAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAE3C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QAC/B,IAAI,OAAO,CAAC,KAAK,IAAI,QAAQ;YAAE,SAAS;QAExC,MAAM,KAAK,GAAG,SAAS,KAAK,UAAU;YACpC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YACpE,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,SAAS;YAClC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC,CAAC,GAAG,OAAO,CAAC;SAC1B,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACjC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SAC9B,MAAM,CAAC,CAAC,IAAI,EAAuB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACpD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAmB,EACnB,MAAc,EACd,QAA6B,EAC7B,SAA4B;IAE5B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IACnC,OAAO,SAAS,CAAC,eAAe,CAC9B,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,EACvE,KAAK,EACL,QAAQ,CACT,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAmB,EACnB,MAAc,EACd,QAA6B,EAC7B,SAA4B;IAE5B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IACnC,OAAO,SAAS,CAAC,eAAe,CAC9B,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,EACvE,KAAK,CACN,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,eAAe,CACtB,KAAoB,EACpB,KAAmB,EACnB,WAAgC,QAAQ;IAExC,OAAO,WAAW,CAAC,KAAK;SACrB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC/E,MAAM,CAAC,CAAC,IAAI,EAAuB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,WAAW,CAAC,KAAoB;IACvC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,SAAS;QAC1D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,SAAS,CAAC,KAAoB;IACrC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,aAAa,CAAC,KAAoB;IACzC,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,YAAY,CAAC,IAAiB;IACrC,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;QACnD,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAClC,KAAmB,EACnB,QAAqB,EACrB,QAAgB;IAEhB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,SAAS,IAAI,CAAC,MAAc,EAAE,KAAa;QACzC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO;QAEpE,IAAI,KAAK,IAAI,QAAQ;YAAE,OAAO;QAE9B,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC;aAC3C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC;aAC3G,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;aAC1B,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aAChC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;YACb,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACjC,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC;QACpF,CAAC,CAAC,CAAC;QAEL,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC5F,KAAK,EAAE,CAAC;YACV,CAAC;YACD,OAAO;QACT,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpB,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YACxB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS;QACzE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACjB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,KAM7B;IACC,MAAM,IAAI,GAAqB,EAAE,CAAC;IAElC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvE,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,oBAAoB;YAC1B,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,6DAA6D;SACvE,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjF,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,0EAA0E;SACpF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,WAAW,KAAK,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,iBAAiB;YACvB,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,mEAAmE;SAC7E,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,mBAAmB;YACzB,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,0DAA0D;SACpE,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,KAAmB,EAAE,OAAe;IACzD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1C,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,OAAO,KAAK;SACT,WAAW,EAAE;SACb,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACd,IAAI;QACJ,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC;KAC9B,CAAC,CAAC;SACF,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;SAClC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,UAAU,CAAC,IAAiB,EAAE,IAAY;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IACjC,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI;QAAE,OAAO,GAAG,CAAC;IAC7C,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,OAAO,CAAC,CAAC;AACX,CAAC;AA+BD;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAAmB,EACnB,WAAmB,EACnB,UAA+B,EAAE;IAEjC,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACvD,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IAExC,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACxF,MAAM,eAAe,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE5F,yCAAyC;IACzC,MAAM,YAAY,GAAiC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;IAC1G,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,aAAa,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC;QAC1D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACrB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3D,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IACD,uBAAuB;IACvB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,IAAI,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1E,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;AACrE,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CACnB,KAAmB,EACnB,OAAe,EACf,SAAoC,EACpC,QAAgB,EAChB,QAAgB;IAEhB,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,MAAM,WAAW,GAAa,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,YAAY,GAAkB,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAE3C,SAAS,GAAG,CAAC,MAAc,EAAE,KAAa;QACxC,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ;YAAE,OAAO;QACrC,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;YACtB,0CAA0C;YAC1C,QAAQ,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,SAAS,KAAK,UAAU;YACpC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC;YAChC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAEnC,kCAAkC;QAClC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACnC,MAAM,MAAM,GAAG,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9D,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,4BAA4B;YAC5B,QAAQ,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ;gBAAE,OAAO;YACrC,MAAM,MAAM,GAAG,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YACpE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpB,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YACvB,WAAW,CAAC,GAAG,EAAE,CAAC;YAClB,YAAY,CAAC,GAAG,EAAE,CAAC;YACnB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,SAAS,QAAQ;QACf,oDAAoD;QACpD,MAAM,OAAO,GAAG,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;QACzF,MAAM,SAAS,GAAG,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC;QAE7F,MAAM,KAAK,GAAG,OAAO;aAClB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aAC9B,MAAM,CAAC,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QAEpD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,4CAA4C;QAC5C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAgB,CAAC;QAC3C,MAAM,YAAY,GAAmB,EAAE,CAAC;QACxC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACtB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChB,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -31,6 +31,8 @@ export interface ManifestBuildOptions {
31
31
  dqlVersion?: string;
32
32
  /** Path to dbt manifest.json for import */
33
33
  dbtManifestPath?: string;
34
+ /** Path to a DataLex manifest JSON for optional datalex_contract validation */
35
+ datalexManifestPath?: string;
34
36
  /**
35
37
  * Max upstream hops to follow through the dbt DAG from DQL anchor tables.
36
38
  * undefined = follow all the way to raw sources (default).
@@ -84,6 +86,11 @@ interface ProjectConfig {
84
86
  /** Path to the dbt manifest.json, relative to `projectDir`. Default: target/manifest.json */
85
87
  manifestPath?: string;
86
88
  };
89
+ /** Optional interop path to a DataLex compiler manifest. DQL itself does not require DataLex. */
90
+ datalex?: {
91
+ /** Path to datalex-manifest.json, absolute or relative to projectRoot */
92
+ manifestPath?: string;
93
+ };
87
94
  }
88
95
  /**
89
96
  * Load `dql.config.json`. Exposed so CLI commands can read the same config
@@ -97,5 +104,6 @@ export declare function loadProjectConfig(projectRoot: string): ProjectConfig;
97
104
  * Returns `null` if none of those exist.
98
105
  */
99
106
  export declare function resolveDbtManifestPath(projectRoot: string, explicit?: string): string | null;
107
+ export declare function resolveDataLexManifestPath(projectRoot: string, explicit?: string, config?: ProjectConfig): string | null;
100
108
  export {};
101
109
  //# sourceMappingURL=builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/manifest/builder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAkBH,OAAO,KAAK,EACV,WAAW,EAYZ,MAAM,YAAY,CAAC;AAcpB;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,sDAAsD;IACtD,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,EAAE,CAqCzE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,WAAW,CAwFxE;AAID,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B;;;OAGG;IACH,GAAG,CAAC,EAAE;QACJ,0EAA0E;QAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,6FAA6F;QAC7F,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAQpE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAgBf"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/manifest/builder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsBH,OAAO,KAAK,EACV,WAAW,EAcZ,MAAM,YAAY,CAAC;AAcpB;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,sDAAsD;IACtD,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,EAAE,CAmDzE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,WAAW,CAmHxE;AAID,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B;;;OAGG;IACH,GAAG,CAAC,EAAE;QACJ,0EAA0E;QAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,6FAA6F;QAC7F,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,iGAAiG;IACjG,OAAO,CAAC,EAAE;QACR,yEAAyE;QACzE,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAQpE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAgBf;AAED,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,GAAE,aAA8C,GACrD,MAAM,GAAG,IAAI,CAWf"}