@duckcodeailabs/dql-core 0.8.9 → 0.8.11

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.
@@ -32,17 +32,17 @@ export interface LineageDimensionInput {
32
32
  name: string;
33
33
  table: string;
34
34
  }
35
- /** dbt model/source input for lineage graph construction */
35
+ export interface LineageBuilderOptions {
36
+ /** Known block names for implicit dependency resolution */
37
+ blockNames?: Set<string>;
38
+ dbtModels?: LineageDbtModelInput[];
39
+ dashboards?: LineageDashboardInput[];
40
+ }
36
41
  export interface LineageDbtModelInput {
37
- /** Table name (alias or model name) */
38
42
  name: string;
39
- /** dbt unique ID */
40
43
  uniqueId: string;
41
- /** Whether this is a dbt model (transformed) or source (raw) */
42
44
  type: 'model' | 'source';
43
- /** Names of upstream dbt models/sources this depends on */
44
45
  dependsOn: string[];
45
- /** Column metadata from dbt manifest */
46
46
  columns?: Array<{
47
47
  name: string;
48
48
  type?: string;
@@ -53,22 +53,11 @@ export interface LineageDbtModelInput {
53
53
  materialized?: string;
54
54
  description?: string;
55
55
  }
56
- /** Dashboard/notebook input for lineage graph construction */
57
56
  export interface LineageDashboardInput {
58
57
  name: string;
59
- /** Block names contained in this dashboard */
60
58
  blocks: string[];
61
- /** Chart names contained in this dashboard */
62
59
  charts: string[];
63
60
  }
64
- export interface LineageBuilderOptions {
65
- /** Known block names for implicit dependency resolution */
66
- blockNames?: Set<string>;
67
- /** dbt models/sources for DAG integration */
68
- dbtModels?: LineageDbtModelInput[];
69
- /** Dashboards/notebooks as container nodes */
70
- dashboards?: LineageDashboardInput[];
71
- }
72
61
  /**
73
62
  * Build a complete lineage graph from blocks and semantic definitions.
74
63
  */
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/lineage/builder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,yBAAyB,CAAC;IACrF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,4DAA4D;AAC5D,MAAM,WAAW,oBAAoB;IACnC,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IACzB,2DAA2D;IAC3D,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,wCAAwC;IACxC,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,8DAA8D;AAC9D,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,8CAA8C;IAC9C,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,2DAA2D;IAC3D,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACnC,8CAA8C;IAC9C,UAAU,CAAC,EAAE,qBAAqB,EAAE,CAAC;CACtC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,iBAAiB,EAAE,EAC3B,OAAO,EAAE,kBAAkB,EAAE,EAC7B,UAAU,EAAE,qBAAqB,EAAE,EACnC,OAAO,GAAE,qBAA0B,GAClC,YAAY,CAmPd"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/lineage/builder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,yBAAyB,CAAC;IACrF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,2DAA2D;IAC3D,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,SAAS,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACnC,UAAU,CAAC,EAAE,qBAAqB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IACzB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,iBAAiB,EAAE,EAC3B,OAAO,EAAE,kBAAkB,EAAE,EAC7B,UAAU,EAAE,qBAAqB,EAAE,EACnC,OAAO,GAAE,qBAA0B,GAClC,YAAY,CAqOd"}
@@ -14,47 +14,45 @@ export function buildLineageGraph(blocks, metrics, dimensions, options = {}) {
14
14
  const graph = new LineageGraph();
15
15
  const blockNames = options.blockNames ?? new Set(blocks.map((b) => b.name));
16
16
  const materializedMap = new Map();
17
- const dbtModels = options.dbtModels ?? [];
18
- const dashboards = options.dashboards ?? [];
19
- // Build dbt model lookup: table name → dbt node ID
20
- const dbtModelMap = new Map();
21
- for (const dbt of dbtModels) {
22
- const nodeId = dbt.type === 'source' ? `dbt_source:${dbt.name}` : `dbt_model:${dbt.name}`;
23
- dbtModelMap.set(dbt.name.toLowerCase(), nodeId);
24
- }
17
+ const dbtNodeMap = new Map();
18
+ const dbtUniqueIdMap = new Map();
25
19
  for (const block of blocks) {
26
20
  materializedMap.set((block.materializedAs ?? block.name).toLowerCase(), block.name);
27
21
  }
28
- // 1. Add dbt model/source nodes and edges
29
- for (const dbt of dbtModels) {
30
- const nodeId = dbt.type === 'source' ? `dbt_source:${dbt.name}` : `dbt_model:${dbt.name}`;
22
+ for (const dbtModel of options.dbtModels ?? []) {
23
+ const nodeId = `${dbtModel.type === 'model' ? 'dbt_model' : 'dbt_source'}:${dbtModel.name}`;
24
+ dbtNodeMap.set(dbtModel.name.toLowerCase(), nodeId);
25
+ dbtUniqueIdMap.set(dbtModel.uniqueId, nodeId);
31
26
  graph.addNode({
32
27
  id: nodeId,
33
- type: dbt.type === 'source' ? 'dbt_source' : 'dbt_model',
34
- name: dbt.name,
35
- columns: dbt.columns,
28
+ type: dbtModel.type === 'model' ? 'dbt_model' : 'dbt_source',
29
+ name: dbtModel.name,
36
30
  metadata: {
37
- uniqueId: dbt.uniqueId,
38
- schema: dbt.schema,
39
- database: dbt.database,
40
- materialized: dbt.materialized,
41
- description: dbt.description,
31
+ uniqueId: dbtModel.uniqueId,
32
+ schema: dbtModel.schema,
33
+ database: dbtModel.database,
34
+ materialized: dbtModel.materialized,
35
+ description: dbtModel.description,
42
36
  },
37
+ columns: dbtModel.columns,
43
38
  });
44
39
  }
45
- // Create depends_on edges between dbt models
46
- for (const dbt of dbtModels) {
47
- if (dbt.type === 'source')
40
+ for (const dbtModel of options.dbtModels ?? []) {
41
+ const targetId = dbtUniqueIdMap.get(dbtModel.uniqueId);
42
+ if (!targetId)
48
43
  continue;
49
- const targetId = `dbt_model:${dbt.name}`;
50
- for (const depName of dbt.dependsOn) {
51
- const sourceId = dbtModelMap.get(depName.toLowerCase());
52
- if (sourceId) {
53
- graph.addEdge({ source: sourceId, target: targetId, type: 'depends_on' });
54
- }
44
+ for (const dependency of dbtModel.dependsOn) {
45
+ const sourceId = dbtUniqueIdMap.get(dependency);
46
+ if (!sourceId)
47
+ continue;
48
+ graph.addEdge({
49
+ source: sourceId,
50
+ target: targetId,
51
+ type: 'depends_on',
52
+ });
55
53
  }
56
54
  }
57
- // 2. Add block nodes
55
+ // 1. Add block nodes
58
56
  for (const block of blocks) {
59
57
  graph.addNode({
60
58
  id: `block:${block.name}`,
@@ -69,7 +67,7 @@ export function buildLineageGraph(blocks, metrics, dimensions, options = {}) {
69
67
  },
70
68
  });
71
69
  }
72
- // 3. Add metric nodes
70
+ // 2. Add metric nodes
73
71
  for (const metric of metrics) {
74
72
  graph.addNode({
75
73
  id: `metric:${metric.name}`,
@@ -78,29 +76,29 @@ export function buildLineageGraph(blocks, metrics, dimensions, options = {}) {
78
76
  domain: metric.domain,
79
77
  metadata: { type: metric.type },
80
78
  });
81
- // Metric → source table edge (check dbt models first)
82
- const tableNodeId = ensureTableOrDbtNode(graph, metric.table, dbtModelMap);
79
+ // Metric → source table edge
80
+ const tableNodeId = ensureTableNode(graph, metric.table, dbtNodeMap);
83
81
  graph.addEdge({
84
82
  source: tableNodeId,
85
83
  target: `metric:${metric.name}`,
86
84
  type: 'aggregates',
87
85
  });
88
86
  }
89
- // 4. Add dimension nodes
87
+ // 3. Add dimension nodes
90
88
  for (const dim of dimensions) {
91
89
  graph.addNode({
92
90
  id: `dimension:${dim.name}`,
93
91
  type: 'dimension',
94
92
  name: dim.name,
95
93
  });
96
- const tableNodeId = ensureTableOrDbtNode(graph, dim.table, dbtModelMap);
94
+ const tableNodeId = ensureTableNode(graph, dim.table, dbtNodeMap);
97
95
  graph.addEdge({
98
96
  source: tableNodeId,
99
97
  target: `dimension:${dim.name}`,
100
98
  type: 'reads_from',
101
99
  });
102
100
  }
103
- // 5. Process each block's SQL for dependencies
101
+ // 4. Process each block's SQL for dependencies
104
102
  for (const block of blocks) {
105
103
  const blockNodeId = `block:${block.name}`;
106
104
  const parseResult = extractTablesFromSql(block.sql);
@@ -115,22 +113,19 @@ export function buildLineageGraph(blocks, metrics, dimensions, options = {}) {
115
113
  addCrossDomainEdgeIfNeeded(graph, `block:${ref}`, blockNodeId);
116
114
  }
117
115
  }
118
- // SQL table references — check dbt models first, then blocks, then external tables
116
+ // SQL table references
119
117
  for (const table of parseResult.tables) {
120
- const tableLower = table.toLowerCase();
121
- // Check if table is a dbt model/source
122
- const dbtNodeId = dbtModelMap.get(tableLower);
123
- if (dbtNodeId) {
118
+ const resolved = materializedMap.get(table.toLowerCase());
119
+ const dbtResolved = dbtNodeMap.get(normalizeTableName(table).toLowerCase());
120
+ if (dbtResolved) {
124
121
  graph.addEdge({
125
- source: dbtNodeId,
122
+ source: dbtResolved,
126
123
  target: blockNodeId,
127
124
  type: 'reads_from',
128
125
  });
129
- continue;
130
126
  }
131
- // Check if table matches another block's materialized name
132
- const resolved = materializedMap.get(tableLower);
133
- if (resolved && resolved !== block.name) {
127
+ else if (resolved && resolved !== block.name) {
128
+ // Table matches another block's materialized name
134
129
  graph.addEdge({
135
130
  source: `block:${resolved}`,
136
131
  target: blockNodeId,
@@ -140,7 +135,7 @@ export function buildLineageGraph(blocks, metrics, dimensions, options = {}) {
140
135
  }
141
136
  else if (!resolved) {
142
137
  // External table dependency
143
- const tableNodeId = ensureTableNode(graph, table);
138
+ const tableNodeId = ensureTableNode(graph, table, dbtNodeMap);
144
139
  graph.addEdge({
145
140
  source: tableNodeId,
146
141
  target: blockNodeId,
@@ -199,55 +194,45 @@ export function buildLineageGraph(blocks, metrics, dimensions, options = {}) {
199
194
  type: 'visualizes',
200
195
  });
201
196
  }
197
+ // Certification is stored as node metadata (status + certifiedBy), not as an edge.
198
+ // Self-loops would confuse graph traversal without adding lineage value.
202
199
  }
203
- // 6. Add dashboard nodes
204
- for (const dash of dashboards) {
205
- const dashNodeId = `dashboard:${dash.name}`;
200
+ for (const dashboard of options.dashboards ?? []) {
201
+ const dashboardId = `dashboard:${dashboard.name}`;
206
202
  graph.addNode({
207
- id: dashNodeId,
203
+ id: dashboardId,
208
204
  type: 'dashboard',
209
- name: dash.name,
205
+ name: dashboard.name,
210
206
  });
211
- // Dashboard contains blocks
212
- for (const blockName of dash.blocks) {
213
- if (graph.getNode(`block:${blockName}`)) {
214
- graph.addEdge({
215
- source: `block:${blockName}`,
216
- target: dashNodeId,
217
- type: 'contains',
218
- });
219
- }
207
+ for (const blockName of dashboard.blocks) {
208
+ if (!graph.getNode(`block:${blockName}`))
209
+ continue;
210
+ graph.addEdge({
211
+ source: dashboardId,
212
+ target: `block:${blockName}`,
213
+ type: 'contains',
214
+ });
220
215
  }
221
- // Dashboard contains charts
222
- for (const chartName of dash.charts) {
223
- if (graph.getNode(`chart:${chartName}`)) {
224
- graph.addEdge({
225
- source: `chart:${chartName}`,
226
- target: dashNodeId,
227
- type: 'contains',
228
- });
229
- }
216
+ for (const chartName of dashboard.charts) {
217
+ if (!graph.getNode(`chart:${chartName}`))
218
+ continue;
219
+ graph.addEdge({
220
+ source: dashboardId,
221
+ target: `chart:${chartName}`,
222
+ type: 'contains',
223
+ });
230
224
  }
231
225
  }
232
- // 7. Add domain nodes and connect
226
+ // 5. Add domain nodes and connect
233
227
  addDomainNodes(graph);
234
228
  return graph;
235
229
  }
236
- /**
237
- * Check if a table name matches a dbt model/source; if so return that node ID.
238
- * Otherwise fall back to creating a source_table node.
239
- */
240
- function ensureTableOrDbtNode(graph, rawTableName, dbtModelMap) {
241
- const normalized = normalizeTableName(rawTableName);
242
- const dbtNodeId = dbtModelMap.get(normalized.toLowerCase());
243
- if (dbtNodeId && graph.getNode(dbtNodeId)) {
244
- return dbtNodeId;
245
- }
246
- return ensureTableNode(graph, rawTableName);
247
- }
248
230
  /** Ensure a source_table node exists and return its ID. */
249
- function ensureTableNode(graph, rawTableName) {
231
+ function ensureTableNode(graph, rawTableName, dbtNodeMap) {
250
232
  const tableName = normalizeTableName(rawTableName);
233
+ const dbtNodeId = dbtNodeMap?.get(tableName.toLowerCase());
234
+ if (dbtNodeId)
235
+ return dbtNodeId;
251
236
  const nodeId = `table:${tableName}`;
252
237
  if (!graph.getNode(nodeId)) {
253
238
  graph.addNode({
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/lineage/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/lineage/builder.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,6 @@ export { extractTablesFromSql, type SqlParseResult, } from './sql-parser.js';
2
2
  export { resolveDependencies, getUpstream, getDownstream, type BlockDependencyInfo, type DependencyResolutionResult, } from './dependency-resolver.js';
3
3
  export { LineageGraph, type LineageNode, type LineageEdge, type LineageNodeType, type LineageEdgeType, type LineageGraphJSON, } from './lineage-graph.js';
4
4
  export { buildLineageGraph, type LineageBlockInput, type LineageMetricInput, type LineageDimensionInput, type LineageDbtModelInput, type LineageDashboardInput, type LineageBuilderOptions, } from './builder.js';
5
- export { queryLineage, searchNodes, type LineageQuery, type LineageQueryResult, } from './query.js';
5
+ export { queryLineage, type LineageQuery, type LineageQueryResult, } from './query.js';
6
6
  export { buildTrustChain, analyzeImpact, detectDomainFlows, getDomainTrustOverview, type TrustChain, type TrustChainNode, type ImpactAnalysis, type DomainImpact, type DomainFlow, } from './domain-lineage.js';
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lineage/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EACpB,KAAK,cAAc,GACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,GAChC,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC3B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,YAAY,EACZ,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,kBAAkB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,UAAU,GAChB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lineage/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EACpB,KAAK,cAAc,GACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,GAChC,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC3B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,YAAY,EACZ,KAAK,YAAY,EACjB,KAAK,kBAAkB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,UAAU,GAChB,MAAM,qBAAqB,CAAC"}
@@ -3,6 +3,6 @@ export { extractTablesFromSql, } from './sql-parser.js';
3
3
  export { resolveDependencies, getUpstream, getDownstream, } from './dependency-resolver.js';
4
4
  export { LineageGraph, } from './lineage-graph.js';
5
5
  export { buildLineageGraph, } from './builder.js';
6
- export { queryLineage, searchNodes, } from './query.js';
6
+ export { queryLineage, } from './query.js';
7
7
  export { buildTrustChain, analyzeImpact, detectDomainFlows, getDomainTrustOverview, } from './domain-lineage.js';
8
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lineage/index.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAE5F,OAAO,EACL,oBAAoB,GAErB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,aAAa,GAGd,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,YAAY,GAMb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,iBAAiB,GAOlB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,YAAY,EACZ,WAAW,GAGZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,sBAAsB,GAMvB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lineage/index.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAE5F,OAAO,EACL,oBAAoB,GAErB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,aAAa,GAGd,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,YAAY,GAMb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,iBAAiB,GAOlB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,YAAY,GAGb,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,sBAAsB,GAMvB,MAAM,qBAAqB,CAAC"}
@@ -18,14 +18,14 @@ export interface LineageNode {
18
18
  owner?: string;
19
19
  /** Additional metadata */
20
20
  metadata?: Record<string, unknown>;
21
- /** Column metadata for tables/models/blocks (table-level info, not column-level lineage) */
21
+ /** Optional table-level column metadata */
22
22
  columns?: Array<{
23
23
  name: string;
24
24
  type?: string;
25
25
  description?: string;
26
26
  }>;
27
27
  }
28
- export type LineageEdgeType = 'reads_from' | 'feeds_into' | 'aggregates' | 'visualizes' | 'crosses_domain' | 'certified_by' | 'depends_on' | 'contains';
28
+ export type LineageEdgeType = 'reads_from' | 'feeds_into' | 'aggregates' | 'visualizes' | 'depends_on' | 'contains' | 'crosses_domain' | 'certified_by';
29
29
  export interface LineageEdge {
30
30
  source: string;
31
31
  target: string;
@@ -1 +1 @@
1
- {"version":3,"file":"lineage-graph.d.ts","sourceRoot":"","sources":["../../src/lineage/lineage-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lineage-graph.d.ts","sourceRoot":"","sources":["../../src/lineage/lineage-graph.ts"],"names":[],"mappings":"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"}
@@ -1,60 +1,19 @@
1
- /**
2
- * Lineage Query Engine — focused, searchable lineage views.
3
- *
4
- * Replaces the "show everything" approach with targeted subgraph queries:
5
- * - Focus on a specific node and get its upstream/downstream chain
6
- * - Search nodes by name across all types
7
- * - Filter by type, domain, depth
8
- */
9
- import { LineageGraph, type LineageNode, type LineageNodeType, type LineageGraphJSON } from './lineage-graph.js';
1
+ import { LineageGraph, type LineageGraphJSON, type LineageNode, type LineageNodeType } from './lineage-graph.js';
10
2
  export interface LineageQuery {
11
- /** Node name or ID to center the query on */
12
3
  focus?: string;
13
- /** Search by name (case-insensitive substring match) */
14
4
  search?: string;
15
- /** Filter by node types */
16
5
  types?: LineageNodeType[];
17
- /** Filter by domain */
18
6
  domain?: string;
19
- /** Max hops upstream from focal node (default: Infinity) */
20
7
  upstreamDepth?: number;
21
- /** Max hops downstream from focal node (default: Infinity) */
22
8
  downstreamDepth?: number;
23
9
  }
24
10
  export interface LineageQueryResult {
25
- /** Focused subgraph containing only relevant nodes and edges */
26
11
  graph: LineageGraphJSON;
27
- /** The focal node (if focus was specified and resolved) */
28
12
  focalNode?: LineageNode;
29
- /** Search matches with relevance scores (if search was specified) */
30
13
  matches?: Array<{
31
14
  node: LineageNode;
32
15
  score: number;
33
16
  }>;
34
17
  }
35
- /**
36
- * Execute a lineage query against the graph.
37
- *
38
- * Examples:
39
- * queryLineage(graph, { focus: 'total_revenue' })
40
- * → subgraph centered on metric:total_revenue with full upstream/downstream
41
- *
42
- * queryLineage(graph, { search: 'revenue' })
43
- * → all nodes matching "revenue" with relevance scores
44
- *
45
- * queryLineage(graph, { focus: 'fct_orders', upstreamDepth: 2, downstreamDepth: 1 })
46
- * → 2 hops upstream, 1 hop downstream from dbt_model:fct_orders
47
- *
48
- * queryLineage(graph, { domain: 'finance', types: ['metric', 'block'] })
49
- * → all finance metrics and blocks with their immediate connections
50
- */
51
18
  export declare function queryLineage(graph: LineageGraph, query: LineageQuery): LineageQueryResult;
52
- /**
53
- * Lightweight search — returns matching nodes without building a subgraph.
54
- * Suitable for autocomplete / search-as-you-type.
55
- */
56
- export declare function searchNodes(graph: LineageGraph, searchTerm: string, limit?: number): Array<{
57
- node: LineageNode;
58
- score: number;
59
- }>;
60
19
  //# sourceMappingURL=query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/lineage/query.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAIjH,MAAM,WAAW,YAAY;IAC3B,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1B,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,gEAAgE;IAChE,KAAK,EAAE,gBAAgB,CAAC;IACxB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,qEAAqE;IACrE,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvD;AA2FD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,GAAG,kBAAkB,CAkBzF;AA0FD;;;GAGG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,MAAM,EAClB,KAAK,SAAK,GACT,KAAK,CAAC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAY7C"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/lineage/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEjH,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,gBAAgB,CAAC;IACxB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvD;AAcD,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,GAAG,kBAAkB,CAoCzF"}