@duckcodeailabs/dql-mcp 1.6.31 → 1.6.33

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 (80) hide show
  1. package/dist/context.d.ts.map +1 -1
  2. package/dist/context.js +4 -1
  3. package/dist/context.js.map +1 -1
  4. package/dist/index.d.ts +4 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +4 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/server.d.ts +32 -0
  9. package/dist/server.d.ts.map +1 -1
  10. package/dist/server.js +184 -90
  11. package/dist/server.js.map +1 -1
  12. package/dist/tool-schema.d.ts +5 -0
  13. package/dist/tool-schema.d.ts.map +1 -0
  14. package/dist/tool-schema.js +105 -0
  15. package/dist/tool-schema.js.map +1 -0
  16. package/dist/tools/certify.d.ts +1 -4
  17. package/dist/tools/certify.d.ts.map +1 -1
  18. package/dist/tools/certify.js +2 -4
  19. package/dist/tools/certify.js.map +1 -1
  20. package/dist/tools/expand-context.d.ts +62 -0
  21. package/dist/tools/expand-context.d.ts.map +1 -0
  22. package/dist/tools/expand-context.js +130 -0
  23. package/dist/tools/expand-context.js.map +1 -0
  24. package/dist/tools/get-block.d.ts +1 -5
  25. package/dist/tools/get-block.d.ts.map +1 -1
  26. package/dist/tools/get-block.js +2 -8
  27. package/dist/tools/get-block.js.map +1 -1
  28. package/dist/tools/governed.d.ts +94 -0
  29. package/dist/tools/governed.d.ts.map +1 -0
  30. package/dist/tools/governed.js +139 -0
  31. package/dist/tools/governed.js.map +1 -0
  32. package/dist/tools/hints.d.ts +3 -46
  33. package/dist/tools/hints.d.ts.map +1 -1
  34. package/dist/tools/hints.js +4 -33
  35. package/dist/tools/hints.js.map +1 -1
  36. package/dist/tools/kg.d.ts +5 -22
  37. package/dist/tools/kg.d.ts.map +1 -1
  38. package/dist/tools/kg.js +6 -29
  39. package/dist/tools/kg.js.map +1 -1
  40. package/dist/tools/lineage-impact.d.ts +4 -9
  41. package/dist/tools/lineage-impact.d.ts.map +1 -1
  42. package/dist/tools/lineage-impact.js +91 -36
  43. package/dist/tools/lineage-impact.js.map +1 -1
  44. package/dist/tools/list-proposals.d.ts +13 -5
  45. package/dist/tools/list-proposals.d.ts.map +1 -1
  46. package/dist/tools/list-proposals.js +152 -16
  47. package/dist/tools/list-proposals.js.map +1 -1
  48. package/dist/tools/metadata.d.ts +3 -12
  49. package/dist/tools/metadata.d.ts.map +1 -1
  50. package/dist/tools/metadata.js +4 -15
  51. package/dist/tools/metadata.js.map +1 -1
  52. package/dist/tools/query-semantic-model.d.ts +374 -0
  53. package/dist/tools/query-semantic-model.d.ts.map +1 -0
  54. package/dist/tools/query-semantic-model.js +404 -0
  55. package/dist/tools/query-semantic-model.js.map +1 -0
  56. package/dist/tools/query-via-block.d.ts +5 -8
  57. package/dist/tools/query-via-block.d.ts.map +1 -1
  58. package/dist/tools/query-via-block.js +9 -14
  59. package/dist/tools/query-via-block.js.map +1 -1
  60. package/dist/tools/query-via-metadata.d.ts +198 -130
  61. package/dist/tools/query-via-metadata.d.ts.map +1 -1
  62. package/dist/tools/query-via-metadata.js +197 -101
  63. package/dist/tools/query-via-metadata.js.map +1 -1
  64. package/dist/tools/search-blocks.d.ts +1 -7
  65. package/dist/tools/search-blocks.d.ts.map +1 -1
  66. package/dist/tools/search-blocks.js +2 -10
  67. package/dist/tools/search-blocks.js.map +1 -1
  68. package/dist/tools/semantic.d.ts +3 -8
  69. package/dist/tools/semantic.d.ts.map +1 -1
  70. package/dist/tools/semantic.js +3 -7
  71. package/dist/tools/semantic.js.map +1 -1
  72. package/dist/tools/suggest-block.d.ts +1 -10
  73. package/dist/tools/suggest-block.d.ts.map +1 -1
  74. package/dist/tools/suggest-block.js +2 -10
  75. package/dist/tools/suggest-block.js.map +1 -1
  76. package/dist/tools/workflows.d.ts +7 -33
  77. package/dist/tools/workflows.d.ts.map +1 -1
  78. package/dist/tools/workflows.js +6 -19
  79. package/dist/tools/workflows.js.map +1 -1
  80. package/package.json +5 -5
@@ -10,29 +10,9 @@
10
10
  * Source of truth is Git (`.dql/hints`, `.dql/traces`, `.dql/reviews`); SQLite
11
11
  * (`.dql/cache/agent-kg.sqlite`) is reindexed automatically on every write.
12
12
  */
13
- import { z } from 'zod';
14
13
  import { getHintFromGit, listHintsFromGit, recordCorrectionTrace, reviewHint, } from '@duckcodeailabs/dql-agent';
15
- const scopeSchema = {
16
- metric: z.string().optional().describe('Metric / KPI the hint is about, e.g. "revenue".'),
17
- dbtModel: z.string().optional().describe('dbt model the hint is about, e.g. "fct_orders".'),
18
- domain: z.string().optional().describe('Business domain, e.g. "growth".'),
19
- dialect: z.string().optional().describe('Warehouse SQL dialect, e.g. "duckdb", "snowflake".'),
20
- term: z.string().optional().describe('Business term the hint refines.'),
21
- block: z.string().optional().describe('Certified block the hint relates to.'),
22
- };
23
- export const recordCorrectionInput = {
24
- question: z.string().describe('The analyst question the Tier-2 answer was for.'),
25
- wrongAnswer: z.string().describe('The generated answer/SQL that was wrong.'),
26
- correction: z.string().describe('The analyst correction: corrected SQL, rule, or guidance.'),
27
- scope: z.object(scopeSchema).describe('Scope the correction applies within. A hint only applies inside its scope.'),
28
- rationale: z.string().optional().describe('Why the original answer was wrong.'),
29
- author: z.string().optional().describe('Who recorded the correction.'),
30
- correctedSql: z.string().optional().describe('Optional canonical corrected SQL to endorse.'),
31
- hintTitle: z.string().optional().describe('Override the derived hint title.'),
32
- hintGuidance: z.string().optional().describe('Override the hint guidance (defaults to the correction).'),
33
- tags: z.array(z.string()).optional().describe('Searchable keywords.'),
34
- anchorObjectKey: z.string().optional().describe('contextPackId / blockId the correction anchored to.'),
35
- };
14
+ import { zodInputShapeForTool } from '../tool-schema.js';
15
+ export const recordCorrectionInput = zodInputShapeForTool('record_correction');
36
16
  export function recordCorrection(ctx, args) {
37
17
  const { trace, hint } = recordCorrectionTrace(ctx.projectRoot, {
38
18
  question: args.question,
@@ -57,12 +37,7 @@ export function recordCorrection(ctx, args) {
57
37
  hint: summarizeHint(hint),
58
38
  };
59
39
  }
60
- export const approveHintInput = {
61
- hintId: z.string().describe('Id of the candidate hint to review.'),
62
- decision: z.enum(['approved', 'rejected']).describe('Approve (usable in retrieval) or reject.'),
63
- reviewer: z.string().describe('Who is reviewing.'),
64
- note: z.string().optional().describe('Optional review note.'),
65
- };
40
+ export const approveHintInput = zodInputShapeForTool('approve_hint');
66
41
  export function approveHint(ctx, args) {
67
42
  const existing = getHintFromGit(ctx.projectRoot, args.hintId);
68
43
  if (!existing) {
@@ -88,11 +63,7 @@ export function approveHint(ctx, args) {
88
63
  hint: summarizeHint(result.hint),
89
64
  };
90
65
  }
91
- export const listHintsInput = {
92
- status: z.enum(['candidate', 'approved', 'rejected']).optional().describe('Filter by lifecycle status.'),
93
- domain: z.string().optional().describe('Filter to a single domain scope.'),
94
- metric: z.string().optional().describe('Filter to a single metric scope.'),
95
- };
66
+ export const listHintsInput = zodInputShapeForTool('list_hints');
96
67
  export function listHints(ctx, args) {
97
68
  let hints = listHintsFromGit(ctx.projectRoot);
98
69
  if (args.status)
@@ -1 +1 @@
1
- {"version":3,"file":"hints.js","sourceRoot":"","sources":["../../src/tools/hints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hints.js","sourceRoot":"","sources":["../../src/tools/hints.ts"],"names":[],"mappings":"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"}
@@ -8,15 +8,9 @@
8
8
  * close it after the turn so file handles never leak. If the KG hasn't
9
9
  * been built yet, `kg_search` returns an empty result with a hint.
10
10
  */
11
- import { z } from 'zod';
12
11
  import type { DQLContext } from '../context.js';
13
12
  import { type KGNodeKind } from '@duckcodeailabs/dql-agent';
14
- export declare const kgSearchInput: {
15
- query: z.ZodString;
16
- kinds: z.ZodOptional<z.ZodArray<z.ZodEnum<["block", "term", "business_view", "metric", "dimension", "measure", "entity", "semantic_model", "saved_query", "domain", "dbt_model", "dbt_source", "notebook", "dashboard", "app", "skill"]>, "many">>;
17
- domain: z.ZodOptional<z.ZodString>;
18
- limit: z.ZodOptional<z.ZodNumber>;
19
- };
13
+ export declare const kgSearchInput: Record<string, import("zod").ZodTypeAny>;
20
14
  export declare function kgSearch(ctx: DQLContext, args: {
21
15
  query: string;
22
16
  kinds?: string[];
@@ -36,7 +30,7 @@ export declare function kgSearch(ctx: DQLContext, args: {
36
30
  description: string | undefined;
37
31
  tags: string[] | undefined;
38
32
  sourceTier: import("packages/dql-agent/dist/kg/types.js").KGSourceTier | undefined;
39
- certification: import("packages/dql-agent/dist/kg/types.js").KGCertification | undefined;
33
+ certification: import("@duckcodeailabs/dql-core").TrustLabelId | undefined;
40
34
  provenance: string | undefined;
41
35
  businessOutcome: string | undefined;
42
36
  businessOwner: string | undefined;
@@ -69,17 +63,13 @@ export declare function kgSearch(ctx: DQLContext, args: {
69
63
  }[];
70
64
  hint?: undefined;
71
65
  }>;
72
- export declare const inspectMetadataContextInput: {
73
- question: z.ZodString;
74
- focusObjectKey: z.ZodOptional<z.ZodString>;
75
- objectTypes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
76
- limit: z.ZodOptional<z.ZodNumber>;
77
- };
66
+ export declare const inspectMetadataContextInput: Record<string, import("zod").ZodTypeAny>;
78
67
  export declare function inspectMetadataContext(ctx: DQLContext, args: {
79
68
  question: string;
80
69
  focusObjectKey?: string;
81
70
  objectTypes?: string[];
82
71
  limit?: number;
72
+ strictness?: 'balanced' | 'exploratory';
83
73
  }): Promise<{
84
74
  catalog: {
85
75
  path: string;
@@ -94,14 +84,7 @@ export declare function inspectMetadataContext(ctx: DQLContext, args: {
94
84
  };
95
85
  contextPack: import("@duckcodeailabs/dql-agent").LocalContextPack;
96
86
  }>;
97
- export declare const feedbackRecordInput: {
98
- user: z.ZodString;
99
- question: z.ZodString;
100
- answerKind: z.ZodEnum<["certified", "uncertified"]>;
101
- blockId: z.ZodOptional<z.ZodString>;
102
- rating: z.ZodEnum<["up", "down"]>;
103
- comment: z.ZodOptional<z.ZodString>;
104
- };
87
+ export declare const feedbackRecordInput: Record<string, import("zod").ZodTypeAny>;
105
88
  export declare function feedbackRecord(ctx: DQLContext, args: {
106
89
  user: string;
107
90
  question: string;
@@ -1 +1 @@
1
- {"version":3,"file":"kg.d.ts","sourceRoot":"","sources":["../../src/tools/kg.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAML,KAAK,UAAU,EAChB,MAAM,2BAA2B,CAAC;AAEnC,eAAO,MAAM,aAAa;;;;;CAczB,CAAC;AAEF,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,UAAU,EACf,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4D3E;AAED,eAAO,MAAM,2BAA2B;;;;;CAKvC,CAAC;AAEF,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,UAAU,EACf,IAAI,EAAE;IACJ,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;;;;;;;;;;;;;GA+BF;AAED,eAAO,MAAM,mBAAmB;;;;;;;CAO/B,CAAC;AAEF,wBAAgB,cAAc,CAC5B,GAAG,EAAE,UAAU,EACf,IAAI,EAAE;IACJ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,WAAW,GAAG,aAAa,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;;;;;;EAyBF"}
1
+ {"version":3,"file":"kg.d.ts","sourceRoot":"","sources":["../../src/tools/kg.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAML,KAAK,UAAU,EAChB,MAAM,2BAA2B,CAAC;AAGnC,eAAO,MAAM,aAAa,0CAAoC,CAAC;AAE/D,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,UAAU,EACf,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4D3E;AAED,eAAO,MAAM,2BAA2B,0CAAmD,CAAC;AAE5F,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,UAAU,EACf,IAAI,EAAE;IACJ,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC;CACzC;;;;;;;;;;;;;GAgCF;AAED,eAAO,MAAM,mBAAmB,0CAA0C,CAAC;AAE3E,wBAAgB,cAAc,CAC5B,GAAG,EAAE,UAAU,EACf,IAAI,EAAE;IACJ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,WAAW,GAAG,aAAa,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;;;;;;EAyBF"}
package/dist/tools/kg.js CHANGED
@@ -8,22 +8,10 @@
8
8
  * close it after the turn so file handles never leak. If the KG hasn't
9
9
  * been built yet, `kg_search` returns an empty result with a hint.
10
10
  */
11
- import { z } from 'zod';
12
11
  import { existsSync } from 'node:fs';
13
12
  import { KGStore, buildLocalContextPack, defaultKgPath, ensureMetadataCatalogFresh, reindexProject, } from '@duckcodeailabs/dql-agent';
14
- export const kgSearchInput = {
15
- query: z.string().describe('Natural-language or keyword query.'),
16
- kinds: z
17
- .array(z.enum([
18
- 'block', 'term', 'business_view',
19
- 'metric', 'dimension', 'measure', 'entity', 'semantic_model', 'saved_query', 'domain',
20
- 'dbt_model', 'dbt_source', 'notebook', 'dashboard', 'app', 'skill',
21
- ]))
22
- .optional()
23
- .describe('Optional filter: only return nodes of these kinds.'),
24
- domain: z.string().optional().describe('Filter to a single business domain.'),
25
- limit: z.number().int().min(1).max(50).optional().describe('Max hits (default 10).'),
26
- };
13
+ import { zodInputShapeForTool } from '../tool-schema.js';
14
+ export const kgSearchInput = zodInputShapeForTool('kg_search');
27
15
  export async function kgSearch(ctx, args) {
28
16
  const path = defaultKgPath(ctx.projectRoot);
29
17
  const refreshError = await reindexProject(ctx.projectRoot, { kgPath: path })
@@ -85,12 +73,7 @@ export async function kgSearch(ctx, args) {
85
73
  kg.close();
86
74
  }
87
75
  }
88
- export const inspectMetadataContextInput = {
89
- question: z.string().describe('User question to ground in the local SQLite metadata catalog.'),
90
- focusObjectKey: z.string().optional().describe('Optional object key, such as dql:block:Revenue or semantic:metric:revenue.'),
91
- objectTypes: z.array(z.string()).optional().describe('Optional metadata object type filter.'),
92
- limit: z.number().int().min(1).max(160).optional().describe('Maximum selected objects in the context pack.'),
93
- };
76
+ export const inspectMetadataContextInput = zodInputShapeForTool('inspect_metadata_context');
94
77
  export async function inspectMetadataContext(ctx, args) {
95
78
  const refresh = await ensureMetadataCatalogFresh(ctx.projectRoot)
96
79
  .catch((err) => ({
@@ -109,7 +92,8 @@ export async function inspectMetadataContext(ctx, args) {
109
92
  question: args.question,
110
93
  focusObjectKey: args.focusObjectKey,
111
94
  objectTypes: args.objectTypes,
112
- limit: args.limit,
95
+ limit: args.limit ?? (args.strictness === 'exploratory' ? 160 : undefined),
96
+ strictness: args.strictness,
113
97
  });
114
98
  return {
115
99
  catalog: {
@@ -122,14 +106,7 @@ export async function inspectMetadataContext(ctx, args) {
122
106
  contextPack,
123
107
  };
124
108
  }
125
- export const feedbackRecordInput = {
126
- user: z.string().describe('User who submitted the feedback.'),
127
- question: z.string().describe('Original question.'),
128
- answerKind: z.enum(['certified', 'uncertified']).describe('How the answer was classified.'),
129
- blockId: z.string().optional().describe('Block id the answer was anchored to (if any).'),
130
- rating: z.enum(['up', 'down']).describe('Thumbs up or down.'),
131
- comment: z.string().optional().describe('Optional free-text rationale.'),
132
- };
109
+ export const feedbackRecordInput = zodInputShapeForTool('feedback_record');
133
110
  export function feedbackRecord(ctx, args) {
134
111
  const path = defaultKgPath(ctx.projectRoot);
135
112
  if (!existsSync(path)) {
@@ -1 +1 @@
1
- {"version":3,"file":"kg.js","sourceRoot":"","sources":["../../src/tools/kg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kg.js","sourceRoot":"","sources":["../../src/tools/kg.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,12 @@
1
- import { z } from 'zod';
2
1
  import type { DQLContext } from '../context.js';
3
- export declare const lineageImpactInput: {
4
- focus: z.ZodString;
5
- upstreamDepth: z.ZodOptional<z.ZodNumber>;
6
- downstreamDepth: z.ZodOptional<z.ZodNumber>;
7
- paths: z.ZodOptional<z.ZodBoolean>;
8
- recert: z.ZodOptional<z.ZodBoolean>;
9
- nonSemantic: z.ZodOptional<z.ZodBoolean>;
10
- };
2
+ export declare const lineageImpactInput: Record<string, import("zod").ZodTypeAny>;
11
3
  export declare function lineageImpact(ctx: DQLContext, args: {
12
4
  focus: string;
13
5
  upstreamDepth?: number;
14
6
  downstreamDepth?: number;
7
+ nodeLimit?: number;
8
+ edgeLimit?: number;
9
+ pathLimit?: number;
15
10
  paths?: boolean;
16
11
  recert?: boolean;
17
12
  nonSemantic?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"lineage-impact.d.ts","sourceRoot":"","sources":["../../src/tools/lineage-impact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,eAAO,MAAM,kBAAkB;;;;;;;CAuB9B,CAAC;AAEF,wBAAgB,aAAa,CAC3B,GAAG,EAAE,UAAU,EACf,IAAI,EAAE;IACJ,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,2BAyDF"}
1
+ {"version":3,"file":"lineage-impact.d.ts","sourceRoot":"","sources":["../../src/tools/lineage-impact.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAQhD,eAAO,MAAM,kBAAkB,0CAAyC,CAAC;AAEzE,wBAAgB,aAAa,CAC3B,GAAG,EAAE,UAAU,EACf,IAAI,EAAE;IACJ,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,2BAuGF"}
@@ -1,25 +1,10 @@
1
- import { z } from 'zod';
2
1
  import { queryLineage, queryCompleteLineagePaths, computeImpact, } from '@duckcodeailabs/dql-core';
3
- export const lineageImpactInput = {
4
- focus: z.string().describe('Node id ("block:revenue") or bare name — resolved against the lineage graph.'),
5
- upstreamDepth: z.number().int().min(0).max(20).optional(),
6
- downstreamDepth: z.number().int().min(0).max(20).optional(),
7
- paths: z
8
- .boolean()
9
- .optional()
10
- .describe('When true, include full source→leaf paths (slower on large graphs).'),
11
- recert: z
12
- .boolean()
13
- .optional()
14
- .describe('When true, treat `focus` as a changed block and return the re-cert impact: ' +
15
- 'full transitive downstream, invalidated cross-domain edges, domainTrust delta, ' +
16
- 'and the certified artifacts that require re-certification.'),
17
- nonSemantic: z
18
- .boolean()
19
- .optional()
20
- .describe('When true with `recert`, treats the change as non-semantic (description/comment/tag only) ' +
21
- 'so no re-cert is required. Default false (conservative: assume semantic).'),
22
- };
2
+ import { zodInputShapeForTool } from '../tool-schema.js';
3
+ const DEFAULT_LINEAGE_NODE_LIMIT = 80;
4
+ const DEFAULT_LINEAGE_EDGE_LIMIT = 120;
5
+ const DEFAULT_LINEAGE_PATH_LIMIT = 20;
6
+ const DEFAULT_IMPACT_ITEM_LIMIT = 50;
7
+ export const lineageImpactInput = zodInputShapeForTool('lineage_impact');
23
8
  export function lineageImpact(ctx, args) {
24
9
  const graph = ctx.lineageGraph;
25
10
  const result = queryLineage(graph, {
@@ -30,42 +15,89 @@ export function lineageImpact(ctx, args) {
30
15
  if (!result.focalNode) {
31
16
  return { error: `No node matches "${args.focus}".` };
32
17
  }
18
+ const nodeLimit = boundedLimit(args.nodeLimit, DEFAULT_LINEAGE_NODE_LIMIT, 1, 500);
19
+ const edgeLimit = boundedLimit(args.edgeLimit, DEFAULT_LINEAGE_EDGE_LIMIT, 1, 1000);
20
+ const pathLimit = boundedLimit(args.pathLimit, DEFAULT_LINEAGE_PATH_LIMIT, 1, 100);
21
+ const nodes = boundArray(result.graph.nodes, nodeLimit);
22
+ const edges = boundArray(result.graph.edges, edgeLimit);
33
23
  const response = {
34
24
  focalNode: result.focalNode,
35
25
  nodeCount: result.graph.nodes.length,
36
26
  edgeCount: result.graph.edges.length,
37
- nodes: result.graph.nodes,
38
- edges: result.graph.edges,
27
+ returnedNodeCount: nodes.items.length,
28
+ returnedEdgeCount: edges.items.length,
29
+ nodes: nodes.items,
30
+ edges: edges.items,
31
+ summary: summarizeLineageGraph(result.graph.nodes),
32
+ truncation: {
33
+ nodeLimit,
34
+ edgeLimit,
35
+ nodesTruncated: nodes.truncated,
36
+ edgesTruncated: edges.truncated,
37
+ omittedNodeCount: nodes.omitted,
38
+ omittedEdgeCount: edges.omitted,
39
+ },
39
40
  };
40
41
  if (args.paths) {
41
- const paths = queryCompleteLineagePaths(graph, result.focalNode.id);
42
+ const paths = queryCompleteLineagePaths(graph, result.focalNode.id, { maxPaths: pathLimit });
42
43
  if (paths) {
43
- response.upstreamPaths = paths.upstreamPaths.map(formatPath);
44
- response.downstreamPaths = paths.downstreamPaths.map(formatPath);
44
+ const upstreamPaths = boundArray(paths.upstreamPaths, pathLimit);
45
+ const downstreamPaths = boundArray(paths.downstreamPaths, pathLimit);
46
+ response.upstreamPathCount = paths.upstreamPaths.length;
47
+ response.downstreamPathCount = paths.downstreamPaths.length;
48
+ response.upstreamPaths = upstreamPaths.items.map(formatPath);
49
+ response.downstreamPaths = downstreamPaths.items.map(formatPath);
45
50
  response.layerSummary = paths.layerSummary;
51
+ response.pathTruncation = {
52
+ pathLimit,
53
+ upstreamPathsTruncated: upstreamPaths.truncated,
54
+ downstreamPathsTruncated: downstreamPaths.truncated,
55
+ omittedUpstreamPathCount: upstreamPaths.omitted,
56
+ omittedDownstreamPathCount: downstreamPaths.omitted,
57
+ };
46
58
  }
47
59
  }
48
60
  // Re-cert impact: treat the focal block as changed and compute the
49
61
  // downstream invalidation + required re-cert list. Mirrors the
50
62
  // `dql diff --impact` CLI gate, surfaced structurally for agents.
51
63
  if (args.recert) {
52
- const blockName = result.focalNode.type === 'block'
53
- ? result.focalNode.name
54
- : result.focalNode.id.replace(/^block:/, '');
55
64
  const changed = {
56
- name: blockName,
65
+ name: result.focalNode.name,
66
+ nodeId: result.focalNode.id,
57
67
  verdict: args.nonSemantic ? 'non-semantic' : 'semantic',
58
68
  changedFields: [],
59
69
  structural: false,
60
70
  };
61
71
  const impact = computeImpact(graph, [changed]);
72
+ const changedBlocks = boundArray(impact.changedBlocks, DEFAULT_IMPACT_ITEM_LIMIT);
73
+ const semanticChanges = boundArray(impact.semanticChanges, DEFAULT_IMPACT_ITEM_LIMIT);
74
+ const downstream = boundArray(impact.downstream, DEFAULT_IMPACT_ITEM_LIMIT);
75
+ const crossDomainImpacts = boundArray(impact.crossDomainImpacts, DEFAULT_IMPACT_ITEM_LIMIT);
76
+ const requiresRecert = boundArray(impact.requiresRecert, DEFAULT_IMPACT_ITEM_LIMIT);
77
+ const domainTrustDelta = boundArray(impact.domainTrustDelta, DEFAULT_IMPACT_ITEM_LIMIT);
78
+ response.impactSummary = {
79
+ changedBlockCount: impact.changedBlocks.length,
80
+ semanticChangeCount: impact.semanticChanges.length,
81
+ downstreamCount: impact.downstream.length,
82
+ crossDomainImpactCount: impact.crossDomainImpacts.length,
83
+ requiresRecertCount: impact.requiresRecert.length,
84
+ domainTrustDeltaCount: impact.domainTrustDelta.length,
85
+ hasCertifiedInvalidation: impact.hasCertifiedInvalidation,
86
+ itemLimit: DEFAULT_IMPACT_ITEM_LIMIT,
87
+ truncated: changedBlocks.truncated
88
+ || semanticChanges.truncated
89
+ || downstream.truncated
90
+ || crossDomainImpacts.truncated
91
+ || requiresRecert.truncated
92
+ || domainTrustDelta.truncated,
93
+ };
62
94
  response.impact = {
63
- changedBlocks: impact.changedBlocks,
64
- semanticChanges: impact.semanticChanges,
65
- downstream: impact.downstream,
66
- crossDomainImpacts: impact.crossDomainImpacts,
67
- requiresRecert: impact.requiresRecert,
68
- domainTrustDelta: impact.domainTrustDelta,
95
+ changedBlocks: changedBlocks.items,
96
+ semanticChanges: semanticChanges.items,
97
+ downstream: downstream.items,
98
+ crossDomainImpacts: crossDomainImpacts.items,
99
+ requiresRecert: requiresRecert.items,
100
+ domainTrustDelta: domainTrustDelta.items,
69
101
  hasCertifiedInvalidation: impact.hasCertifiedInvalidation,
70
102
  };
71
103
  }
@@ -77,4 +109,27 @@ function formatPath(path) {
77
109
  layers: path.layers,
78
110
  };
79
111
  }
112
+ function boundArray(items, limit) {
113
+ const bounded = items.slice(0, limit);
114
+ return {
115
+ items: bounded,
116
+ truncated: items.length > bounded.length,
117
+ omitted: Math.max(0, items.length - bounded.length),
118
+ };
119
+ }
120
+ function boundedLimit(value, fallback, min, max) {
121
+ if (typeof value !== 'number' || !Number.isFinite(value))
122
+ return fallback;
123
+ return Math.max(min, Math.min(max, Math.floor(value)));
124
+ }
125
+ function summarizeLineageGraph(nodes) {
126
+ const byType = {};
127
+ const byDomain = {};
128
+ for (const node of nodes) {
129
+ byType[node.type] = (byType[node.type] ?? 0) + 1;
130
+ if (node.domain)
131
+ byDomain[node.domain] = (byDomain[node.domain] ?? 0) + 1;
132
+ }
133
+ return { byType, byDomain };
134
+ }
80
135
  //# sourceMappingURL=lineage-impact.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lineage-impact.js","sourceRoot":"","sources":["../../src/tools/lineage-impact.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lineage-impact.js","sourceRoot":"","sources":["../../src/tools/lineage-impact.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,8 @@
1
- import { z } from 'zod';
2
1
  import type { DQLContext } from '../context.js';
3
- export declare const listProposalsInput: {
4
- askedAtLeastTimes: z.ZodOptional<z.ZodNumber>;
5
- since: z.ZodOptional<z.ZodString>;
6
- };
2
+ export declare const listProposalsInput: Record<string, import("zod").ZodTypeAny>;
7
3
  export interface ProposalSummary {
4
+ kind: 'block_draft' | 'semantic_metric_draft' | 'semantic_recertification';
5
+ artifactType: 'block' | 'metric' | 'dimension';
8
6
  draftPath: string;
9
7
  slug: string;
10
8
  question: string;
@@ -15,8 +13,18 @@ export interface ProposalSummary {
15
13
  proposedDomain: string;
16
14
  proposedEntity: string;
17
15
  upstreamRefs: string[];
16
+ sourceDqlArtifact?: ProposalSourceDqlArtifact;
17
+ status?: string;
18
18
  certifyHint: string;
19
19
  }
20
+ export interface ProposalSourceDqlArtifact {
21
+ kind?: string;
22
+ name?: string;
23
+ path?: string;
24
+ hash?: string;
25
+ metrics: string[];
26
+ dimensions: string[];
27
+ }
20
28
  /**
21
29
  * The OSS-side review queue for the Tier-2 promotion loop. Reads
22
30
  * local draft queues from the project, parses Tier-2 proposal metadata fields
@@ -1 +1 @@
1
- {"version":3,"file":"list-proposals.d.ts","sourceRoot":"","sources":["../../src/tools/list-proposals.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,eAAO,MAAM,kBAAkB;;;CAa9B,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,UAAU,EACf,IAAI,GAAE;IAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GACxD;IAAE,SAAS,EAAE,eAAe,EAAE,CAAA;CAAE,CAsBlC"}
1
+ {"version":3,"file":"list-proposals.d.ts","sourceRoot":"","sources":["../../src/tools/list-proposals.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAIhD,eAAO,MAAM,kBAAkB,0CAAyC,CAAC;AAEzE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,GAAG,uBAAuB,GAAG,0BAA0B,CAAC;IAC3E,YAAY,EAAE,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAC;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iBAAiB,CAAC,EAAE,yBAAyB,CAAC;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,UAAU,EACf,IAAI,GAAE;IAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GACxD;IAAE,SAAS,EAAE,eAAe,EAAE,CAAA;CAAE,CA8BlC"}