@duckcodeailabs/dql-mcp 1.6.4 → 1.6.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAapE,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,oBAAoB,QAkBsD,CAAC;AAExF,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,mBAAwB,GAAG,SAAS,CAuF/E"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAoBpE,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,oBAAoB,QAoBsD,CAAC;AAExF,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,mBAAwB,GAAG,SAAS,CAgG/E"}
package/dist/server.js CHANGED
@@ -9,7 +9,7 @@ import { certify, certifyInput } from './tools/certify.js';
9
9
  import { suggestBlock, suggestBlockInput } from './tools/suggest-block.js';
10
10
  import { queryViaMetadata, queryViaMetadataInput } from './tools/query-via-metadata.js';
11
11
  import { listProposals, listProposalsInput } from './tools/list-proposals.js';
12
- import { kgSearch, kgSearchInput, feedbackRecord, feedbackRecordInput } from './tools/kg.js';
12
+ import { feedbackRecord, feedbackRecordInput, inspectMetadataContext, inspectMetadataContextInput, kgSearch, kgSearchInput, } from './tools/kg.js';
13
13
  export const DQL_MCP_INSTRUCTIONS = 'DQL exposes governed analytics under graduated trust:\n' +
14
14
  ' Tier 1 — Use certified artifacts when the user asks for an exact saved block, ' +
15
15
  'direct KPI, or definition. Discover candidates with `kg_search`, `search_blocks`, ' +
@@ -18,9 +18,11 @@ export const DQL_MCP_INSTRUCTIONS = 'DQL exposes governed analytics under gradua
18
18
  'DataLex contract resolution when a DataLex manifest is loaded.\n' +
19
19
  ' Tier 2 — For named customer/user/account questions, custom filters, rankings, ' +
20
20
  'breakdowns, comparisons, drill-throughs, or any different grain, use certified ' +
21
- 'blocks/terms only as context and call `query_via_metadata` with read-only SQL ' +
22
- 'inferred from the manifest, semantic layer, dbt/source metadata, and runtime ' +
23
- 'schema. Surface `uncertified: true` and the draft review path verbatim.\n' +
21
+ 'blocks/terms only as context. Call `inspect_metadata_context` first, then call ' +
22
+ '`query_via_metadata`; omit SQL when you need the route plan/allowed SQL context, ' +
23
+ 'or provide read-only SQL inferred from the manifest, semantic layer, dbt/source ' +
24
+ 'metadata, and runtime schema. Surface `uncertified: true` and the draft review ' +
25
+ 'path verbatim.\n' +
24
26
  ' Tier 3 — If the available metadata does not identify a safe table, metric, ' +
25
27
  'dimension, or grain, refuse and ask for the missing business object or metric.\n' +
26
28
  'Other tools support the loop: `list_proposals` shows repeated Tier-2 drafts, ' +
@@ -39,7 +41,7 @@ export function createDQLMCPServer(options = {}) {
39
41
  inputSchema: queryViaBlockInput,
40
42
  }, async (args) => wrap(await queryViaBlock(ctx, args)));
41
43
  server.registerTool('query_via_metadata', {
42
- description: 'Tier-2 of graduated trust. Use when no certified block exactly answers the requested grain, including why-changed diagnostics, named customer/user/account filters, rankings, breakdowns, comparisons, anomalies, and drill-throughs. Provide one read-only SELECT/WITH query inferred from DQL metadata, semantic/dbt/source context, and runtime schema. The runtime executes a bounded preview, returns `uncertified: true` plus trustStatus/evidence, and saves a draft block under blocks/_drafts/. Surface the `uncertified` flag and review path verbatim.',
44
+ description: 'Tier-2 of graduated trust. Use when no certified block exactly answers the requested grain, including why-changed diagnostics, named customer/user/account filters, rankings, breakdowns, comparisons, anomalies, and drill-throughs. Call inspect_metadata_context first; pass its contextPackId when available. If proposedSql is omitted, this returns the catalog route plan, allowed SQL context, and missing context. If proposedSql is supplied, it must be one read-only SELECT/WITH query using only inspected relations/columns. The runtime executes a bounded preview, returns `uncertified: true` plus trustStatus/evidence, and saves a draft block under blocks/_drafts/. Surface the `uncertified` flag and review path verbatim.',
43
45
  inputSchema: queryViaMetadataInput,
44
46
  }, async (args) => wrap(await queryViaMetadata(ctx, args)));
45
47
  server.registerTool('list_proposals', {
@@ -54,7 +56,11 @@ export function createDQLMCPServer(options = {}) {
54
56
  description: 'Write a curated proposed block to blocks/_drafts/ with a hand-shaped name + structure, plus the governance gate result. Use when proposing a SHARED building block on top of multiple Tier-2 proposals. For one-shot ad-hoc Tier-2 captures, use `query_via_metadata` instead — it auto-saves the draft.',
55
57
  inputSchema: suggestBlockInput,
56
58
  }, async (args) => wrap(await suggestBlock(ctx, args)));
57
- server.registerTool('kg_search', { description: 'Search the agent knowledge graph (FTS5) over terms, business views, blocks, metrics, dimensions, dashboards, apps, notebooks, and dbt/source metadata.', inputSchema: kgSearchInput }, async (args) => wrap(kgSearch(ctx, args)));
59
+ server.registerTool('kg_search', { description: 'Search the agent knowledge graph (FTS5) over terms, business views, blocks, metrics, dimensions, dashboards, apps, notebooks, and dbt/source metadata.', inputSchema: kgSearchInput }, async (args) => wrap(await kgSearch(ctx, args)));
60
+ server.registerTool('inspect_metadata_context', {
61
+ description: 'Build the local SQLite metadata context pack for a question. Use before Tier-2 SQL generation to inspect certified blocks, semantic metrics, DQL terms/views, dbt/warehouse objects, lineage edges, diagnostics, selected evidence, rejected candidates, and trust labels.',
62
+ inputSchema: inspectMetadataContextInput,
63
+ }, async (args) => wrap(await inspectMetadataContext(ctx, args)));
58
64
  server.registerTool('feedback_record', { description: 'Record thumbs-up/down feedback on an answer; feeds self-learning + promotion suggestions.', inputSchema: feedbackRecordInput }, async (args) => wrap(feedbackRecord(ctx, args)));
59
65
  return server;
60
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ export declare function kgSearch(ctx: DQLContext, args: {
22
22
  kinds?: string[];
23
23
  domain?: string;
24
24
  limit?: number;
25
- }): {
25
+ }): Promise<{
26
26
  hits: never[];
27
27
  hint: string;
28
28
  } | {
@@ -45,7 +45,32 @@ export declare function kgSearch(ctx: DQLContext, args: {
45
45
  sourcePath: string | undefined;
46
46
  }[];
47
47
  hint?: undefined;
48
+ }>;
49
+ export declare const inspectMetadataContextInput: {
50
+ question: z.ZodString;
51
+ focusObjectKey: z.ZodOptional<z.ZodString>;
52
+ objectTypes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
53
+ limit: z.ZodOptional<z.ZodNumber>;
48
54
  };
55
+ export declare function inspectMetadataContext(ctx: DQLContext, args: {
56
+ question: string;
57
+ focusObjectKey?: string;
58
+ objectTypes?: string[];
59
+ limit?: number;
60
+ }): Promise<{
61
+ catalog: {
62
+ path: string;
63
+ refreshed: boolean;
64
+ objectCount: number;
65
+ edgeCount: number;
66
+ diagnostics: {
67
+ kind: string;
68
+ severity: "error";
69
+ message: string;
70
+ }[] | import("@duckcodeailabs/dql-agent").MetadataDiagnostic[];
71
+ };
72
+ contextPack: import("@duckcodeailabs/dql-agent").LocalContextPack;
73
+ }>;
49
74
  export declare const feedbackRecordInput: {
50
75
  user: z.ZodString;
51
76
  question: z.ZodString;
@@ -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,EAA0B,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEpF,eAAO,MAAM,aAAa;;;;;CAczB,CAAC;AAEF,wBAAgB,QAAQ,CACtB,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;;;;;;;;;;;;;;;;;;;;;;;EAwC3E;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;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;;;;;;;;;;;;;;;;;;;;;;;GA2C3E;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"}
package/dist/tools/kg.js CHANGED
@@ -10,7 +10,7 @@
10
10
  */
11
11
  import { z } from 'zod';
12
12
  import { existsSync } from 'node:fs';
13
- import { KGStore, defaultKgPath } from '@duckcodeailabs/dql-agent';
13
+ import { KGStore, buildLocalContextPack, defaultKgPath, ensureMetadataCatalogFresh, reindexProject, } from '@duckcodeailabs/dql-agent';
14
14
  export const kgSearchInput = {
15
15
  query: z.string().describe('Natural-language or keyword query.'),
16
16
  kinds: z
@@ -24,12 +24,15 @@ export const kgSearchInput = {
24
24
  domain: z.string().optional().describe('Filter to a single business domain.'),
25
25
  limit: z.number().int().min(1).max(50).optional().describe('Max hits (default 10).'),
26
26
  };
27
- export function kgSearch(ctx, args) {
27
+ export async function kgSearch(ctx, args) {
28
28
  const path = defaultKgPath(ctx.projectRoot);
29
- if (!existsSync(path)) {
29
+ const refreshError = await reindexProject(ctx.projectRoot, { kgPath: path })
30
+ .then(() => null)
31
+ .catch((err) => err instanceof Error ? err.message : String(err));
32
+ if (refreshError) {
30
33
  return {
31
34
  hits: [],
32
- hint: `KG not built. Run \`dql app reindex\` to build .dql/cache/agent-kg.sqlite.`,
35
+ hint: `KG refresh failed: ${refreshError}`,
33
36
  };
34
37
  }
35
38
  const kg = new KGStore(path);
@@ -65,6 +68,43 @@ export function kgSearch(ctx, args) {
65
68
  kg.close();
66
69
  }
67
70
  }
71
+ export const inspectMetadataContextInput = {
72
+ question: z.string().describe('User question to ground in the local SQLite metadata catalog.'),
73
+ focusObjectKey: z.string().optional().describe('Optional object key, such as dql:block:Revenue or semantic:metric:revenue.'),
74
+ objectTypes: z.array(z.string()).optional().describe('Optional metadata object type filter.'),
75
+ limit: z.number().int().min(1).max(160).optional().describe('Maximum selected objects in the context pack.'),
76
+ };
77
+ export async function inspectMetadataContext(ctx, args) {
78
+ const refresh = await ensureMetadataCatalogFresh(ctx.projectRoot)
79
+ .catch((err) => ({
80
+ path: '',
81
+ refreshed: false,
82
+ objectCount: 0,
83
+ edgeCount: 0,
84
+ diagnostics: [{
85
+ kind: 'metadata',
86
+ severity: 'error',
87
+ message: err instanceof Error ? err.message : String(err),
88
+ }],
89
+ fingerprint: '',
90
+ }));
91
+ const contextPack = await buildLocalContextPack(ctx.projectRoot, {
92
+ question: args.question,
93
+ focusObjectKey: args.focusObjectKey,
94
+ objectTypes: args.objectTypes,
95
+ limit: args.limit,
96
+ });
97
+ return {
98
+ catalog: {
99
+ path: refresh.path || '.dql/cache/metadata.sqlite',
100
+ refreshed: refresh.refreshed,
101
+ objectCount: refresh.objectCount,
102
+ edgeCount: refresh.edgeCount,
103
+ diagnostics: refresh.diagnostics,
104
+ },
105
+ contextPack,
106
+ };
107
+ }
68
108
  export const feedbackRecordInput = {
69
109
  user: z.string().describe('User who submitted the feedback.'),
70
110
  question: z.string().describe('Original question.'),
@@ -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":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EACL,OAAO,EACP,qBAAqB,EACrB,aAAa,EACb,0BAA0B,EAC1B,cAAc,GAEf,MAAM,2BAA2B,CAAC;AAEnC,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IAChE,KAAK,EAAE,CAAC;SACL,KAAK,CACH,CAAC,CAAC,IAAI,CAAC;QACL,OAAO,EAAE,MAAM,EAAE,eAAe;QAChC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,QAAQ;QACrF,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO;KACnE,CAAC,CACJ;SACA,QAAQ,EAAE;SACV,QAAQ,CAAC,oDAAoD,CAAC;IACjE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAC7E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;CACrF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,GAAe,EACf,IAA0E;IAE1E,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SACzE,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SAChB,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACpE,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO;YACL,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,sBAAsB,YAAY,EAAE;SAC3C,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAiC;YAC7C,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;SACxB,CAAC,CAAC;QACH,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM;gBACrB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;gBACjB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;gBACjB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM;gBACpB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM;gBACrB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;gBACnB,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW;gBAC/B,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU;gBAC7B,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa;gBACnC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU;gBAC7B,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe;gBACvC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW;gBAC/B,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa;gBACnC,KAAK,EAAE,CAAC,CAAC,KAAK;gBACf,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU;aAC9B,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;IAC9F,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4EAA4E,CAAC;IAC5H,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IAC7F,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;CAC7G,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,GAAe,EACf,IAKC;IAED,MAAM,OAAO,GAAG,MAAM,0BAA0B,CAAC,GAAG,CAAC,WAAW,CAAC;SAC9D,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACf,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,CAAC;QACd,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,CAAC;gBACZ,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,OAAgB;gBAC1B,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aAC1D,CAAC;QACF,WAAW,EAAE,EAAE;KAChB,CAAC,CAAC,CAAC;IACN,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAAC,GAAG,CAAC,WAAW,EAAE;QAC/D,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC;IACH,OAAO;QACL,OAAO,EAAE;YACP,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,4BAA4B;YAClD,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC;QACD,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IAC7D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACnD,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC3F,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;IACxF,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAC7D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;CACzE,CAAC;AAEF,MAAM,UAAU,cAAc,CAC5B,GAAe,EACf,IAOC;IAED,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,0EAA0E;SAClF,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC;QACH,EAAE,CAAC,cAAc,CAAC;YAChB,EAAE,EAAE,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YAC7E,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC5B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC"}
@@ -19,8 +19,8 @@ export interface ProposalSummary {
19
19
  }
20
20
  /**
21
21
  * The OSS-side review queue for the Tier-2 promotion loop. Reads
22
- * `blocks/_drafts/*.dql` from the project, parses the `_proposed { ... }`
23
- * provenance block out of each, and returns a list ranked by `askedTimes`
22
+ * `blocks/_drafts/*.dql` from the project, parses Tier-2 proposal metadata
23
+ * fields out of each, and returns a list ranked by `askedTimes`
24
24
  * descending — questions that get asked repeatedly are the strongest
25
25
  * candidates for certification.
26
26
  *
@@ -15,8 +15,8 @@ export const listProposalsInput = {
15
15
  };
16
16
  /**
17
17
  * The OSS-side review queue for the Tier-2 promotion loop. Reads
18
- * `blocks/_drafts/*.dql` from the project, parses the `_proposed { ... }`
19
- * provenance block out of each, and returns a list ranked by `askedTimes`
18
+ * `blocks/_drafts/*.dql` from the project, parses Tier-2 proposal metadata
19
+ * fields out of each, and returns a list ranked by `askedTimes`
20
20
  * descending — questions that get asked repeatedly are the strongest
21
21
  * candidates for certification.
22
22
  *
@@ -1,8 +1,10 @@
1
1
  import { z } from 'zod';
2
2
  import type { DQLContext } from '../context.js';
3
+ import { type LocalContextPack } from '@duckcodeailabs/dql-agent';
3
4
  export declare const queryViaMetadataInput: {
4
5
  question: z.ZodString;
5
- proposedSql: z.ZodString;
6
+ proposedSql: z.ZodOptional<z.ZodString>;
7
+ contextPackId: z.ZodOptional<z.ZodString>;
6
8
  intent: z.ZodOptional<z.ZodEnum<["diagnose_change", "driver_breakdown", "segment_compare", "entity_drilldown", "anomaly_investigation", "trust_gap_review"]>>;
7
9
  upstreamRefs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
8
10
  proposedDomain: z.ZodOptional<z.ZodString>;
@@ -29,7 +31,8 @@ export declare const queryViaMetadataInput: {
29
31
  */
30
32
  export declare function queryViaMetadata(ctx: DQLContext, args: {
31
33
  question: string;
32
- proposedSql: string;
34
+ proposedSql?: string;
35
+ contextPackId?: string;
33
36
  intent?: MetadataResearchIntent;
34
37
  upstreamRefs?: string[];
35
38
  proposedDomain?: string;
@@ -39,6 +42,64 @@ export declare function queryViaMetadata(ctx: DQLContext, args: {
39
42
  limit?: number;
40
43
  serverUrl?: string;
41
44
  }): Promise<{
45
+ uncertified: boolean;
46
+ intent: MetadataResearchIntent;
47
+ reviewStatus: string;
48
+ planningOnly: boolean;
49
+ contextPack: LocalContextPack | undefined;
50
+ routeDecision: import("@duckcodeailabs/dql-agent").MetadataRouteDecision | undefined;
51
+ allowedSqlContext: import("@duckcodeailabs/dql-agent").MetadataAllowedSqlContext | undefined;
52
+ missingContext: import("@duckcodeailabs/dql-agent").MetadataMissingContext[];
53
+ evidence: {
54
+ planner: {
55
+ mode: string;
56
+ intent: MetadataResearchIntent;
57
+ steps: string[];
58
+ reviewRequired: boolean;
59
+ boundedPreviewLimit: number;
60
+ };
61
+ certifiedContext: {
62
+ upstreamRefs: string[];
63
+ proposedDomain: string | undefined;
64
+ proposedEntity: string | undefined;
65
+ draftBlock: {
66
+ path: string;
67
+ askedTimes: number;
68
+ proposedContractId: string;
69
+ } | undefined;
70
+ contextPackId: string | undefined;
71
+ trustLabel: import("@duckcodeailabs/dql-agent").MetadataTrustLabel | undefined;
72
+ selectedEvidence: {
73
+ objectKey: string;
74
+ objectType: string;
75
+ name: string;
76
+ reason: string;
77
+ rank: number;
78
+ score: number;
79
+ priorityTier: string;
80
+ }[];
81
+ warnings: string[];
82
+ };
83
+ execution: {
84
+ status: string;
85
+ rowCount: number | undefined;
86
+ durationMs: number | null | undefined;
87
+ error: string | undefined;
88
+ };
89
+ assumptions: string[];
90
+ };
91
+ reason: string;
92
+ trustStatus?: undefined;
93
+ error?: undefined;
94
+ proposedSql?: undefined;
95
+ draftBlock?: undefined;
96
+ promote?: undefined;
97
+ question?: undefined;
98
+ rowCount?: undefined;
99
+ durationMs?: undefined;
100
+ columns?: undefined;
101
+ rows?: undefined;
102
+ } | {
42
103
  uncertified: boolean;
43
104
  intent: MetadataResearchIntent;
44
105
  reviewStatus: string;
@@ -69,6 +130,18 @@ export declare function queryViaMetadata(ctx: DQLContext, args: {
69
130
  askedTimes: number;
70
131
  proposedContractId: string;
71
132
  } | undefined;
133
+ contextPackId: string | undefined;
134
+ trustLabel: import("@duckcodeailabs/dql-agent").MetadataTrustLabel | undefined;
135
+ selectedEvidence: {
136
+ objectKey: string;
137
+ objectType: string;
138
+ name: string;
139
+ reason: string;
140
+ rank: number;
141
+ score: number;
142
+ priorityTier: string;
143
+ }[];
144
+ warnings: string[];
72
145
  };
73
146
  execution: {
74
147
  status: string;
@@ -78,9 +151,14 @@ export declare function queryViaMetadata(ctx: DQLContext, args: {
78
151
  };
79
152
  assumptions: string[];
80
153
  };
154
+ contextPack: LocalContextPack | undefined;
81
155
  error: string;
82
156
  proposedSql: string;
83
157
  draftBlock: undefined;
158
+ planningOnly?: undefined;
159
+ routeDecision?: undefined;
160
+ allowedSqlContext?: undefined;
161
+ missingContext?: undefined;
84
162
  reason?: undefined;
85
163
  promote?: undefined;
86
164
  question?: undefined;
@@ -119,6 +197,18 @@ export declare function queryViaMetadata(ctx: DQLContext, args: {
119
197
  askedTimes: number;
120
198
  proposedContractId: string;
121
199
  } | undefined;
200
+ contextPackId: string | undefined;
201
+ trustLabel: import("@duckcodeailabs/dql-agent").MetadataTrustLabel | undefined;
202
+ selectedEvidence: {
203
+ objectKey: string;
204
+ objectType: string;
205
+ name: string;
206
+ reason: string;
207
+ rank: number;
208
+ score: number;
209
+ priorityTier: string;
210
+ }[];
211
+ warnings: string[];
122
212
  };
123
213
  execution: {
124
214
  status: string;
@@ -128,6 +218,7 @@ export declare function queryViaMetadata(ctx: DQLContext, args: {
128
218
  };
129
219
  assumptions: string[];
130
220
  };
221
+ contextPack: LocalContextPack | undefined;
131
222
  reason: string;
132
223
  proposedSql: string;
133
224
  draftBlock: {
@@ -136,6 +227,10 @@ export declare function queryViaMetadata(ctx: DQLContext, args: {
136
227
  proposedContractId: string;
137
228
  } | undefined;
138
229
  promote: string | undefined;
230
+ planningOnly?: undefined;
231
+ routeDecision?: undefined;
232
+ allowedSqlContext?: undefined;
233
+ missingContext?: undefined;
139
234
  error?: undefined;
140
235
  question?: undefined;
141
236
  rowCount?: undefined;
@@ -145,6 +240,7 @@ export declare function queryViaMetadata(ctx: DQLContext, args: {
145
240
  } | {
146
241
  uncertified: boolean;
147
242
  intent: MetadataResearchIntent;
243
+ reviewStatus: string;
148
244
  trustStatus: {
149
245
  label: string;
150
246
  uncertified: boolean;
@@ -172,6 +268,18 @@ export declare function queryViaMetadata(ctx: DQLContext, args: {
172
268
  askedTimes: number;
173
269
  proposedContractId: string;
174
270
  } | undefined;
271
+ contextPackId: string | undefined;
272
+ trustLabel: import("@duckcodeailabs/dql-agent").MetadataTrustLabel | undefined;
273
+ selectedEvidence: {
274
+ objectKey: string;
275
+ objectType: string;
276
+ name: string;
277
+ reason: string;
278
+ rank: number;
279
+ score: number;
280
+ priorityTier: string;
281
+ }[];
282
+ warnings: string[];
175
283
  };
176
284
  execution: {
177
285
  status: string;
@@ -181,15 +289,19 @@ export declare function queryViaMetadata(ctx: DQLContext, args: {
181
289
  };
182
290
  assumptions: string[];
183
291
  };
292
+ contextPack: LocalContextPack | undefined;
184
293
  error: string;
185
294
  draftBlock: {
186
295
  path: string;
187
296
  askedTimes: number;
188
297
  proposedContractId: string;
189
298
  } | undefined;
190
- reviewStatus?: undefined;
191
- proposedSql?: undefined;
299
+ planningOnly?: undefined;
300
+ routeDecision?: undefined;
301
+ allowedSqlContext?: undefined;
302
+ missingContext?: undefined;
192
303
  reason?: undefined;
304
+ proposedSql?: undefined;
193
305
  promote?: undefined;
194
306
  question?: undefined;
195
307
  rowCount?: undefined;
@@ -227,6 +339,18 @@ export declare function queryViaMetadata(ctx: DQLContext, args: {
227
339
  askedTimes: number;
228
340
  proposedContractId: string;
229
341
  } | undefined;
342
+ contextPackId: string | undefined;
343
+ trustLabel: import("@duckcodeailabs/dql-agent").MetadataTrustLabel | undefined;
344
+ selectedEvidence: {
345
+ objectKey: string;
346
+ objectType: string;
347
+ name: string;
348
+ reason: string;
349
+ rank: number;
350
+ score: number;
351
+ priorityTier: string;
352
+ }[];
353
+ warnings: string[];
230
354
  };
231
355
  execution: {
232
356
  status: string;
@@ -236,6 +360,7 @@ export declare function queryViaMetadata(ctx: DQLContext, args: {
236
360
  };
237
361
  assumptions: string[];
238
362
  };
363
+ contextPack: LocalContextPack | undefined;
239
364
  reason: string;
240
365
  question: string;
241
366
  rowCount: number;
@@ -252,6 +377,10 @@ export declare function queryViaMetadata(ctx: DQLContext, args: {
252
377
  proposedContractId: string;
253
378
  } | undefined;
254
379
  promote: string | undefined;
380
+ planningOnly?: undefined;
381
+ routeDecision?: undefined;
382
+ allowedSqlContext?: undefined;
383
+ missingContext?: undefined;
255
384
  error?: undefined;
256
385
  }>;
257
386
  type MetadataResearchIntent = 'diagnose_change' | 'driver_breakdown' | 'segment_compare' | 'entity_drilldown' | 'anomaly_investigation' | 'trust_gap_review';
@@ -1 +1 @@
1
- {"version":3,"file":"query-via-metadata.d.ts","sourceRoot":"","sources":["../../src/tools/query-via-metadata.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,eAAO,MAAM,qBAAqB;;;;;;;;;;;CAiEjC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,UAAU,EACf,IAAI,EAAE;IACJ,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAqMsB,MAAM;4BAAc,MAAM;oCAAsB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAtD,MAAM;4BAAc,MAAM;oCAAsB,MAAM;;;;;;;;;;;;;;cAlLrD,MAAM;oBAAc,MAAM;4BAAsB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAkLvD,MAAM;4BAAc,MAAM;oCAAsB,MAAM;;;;;;;;;;;;;cAlLrD,MAAM;oBAAc,MAAM;4BAAsB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAkLvD,MAAM;4BAAc,MAAM;oCAAsB,MAAM;;;;;;;;;;;;;;;;cA1GjD,MAAM;eAAS,MAAM;;;;;cAxEzB,MAAM;oBAAc,MAAM;4BAAsB,MAAM;;;;GAiH/E;AAID,KAAK,sBAAsB,GACvB,iBAAiB,GACjB,kBAAkB,GAClB,iBAAiB,GACjB,kBAAkB,GAClB,uBAAuB,GACvB,kBAAkB,CAAC;AA8GvB;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQnD"}
1
+ {"version":3,"file":"query-via-metadata.d.ts","sourceRoot":"","sources":["../../src/tools/query-via-metadata.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAA8D,KAAK,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE9H,eAAO,MAAM,qBAAqB;;;;;;;;;;;;CAsEjC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,UAAU,EACf,IAAI,EAAE;IACJ,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;;;;;;;;;;;;;;;;;;;;;;sBAkQsB,MAAM;4BAAc,MAAM;oCAAsB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAtD,MAAM;4BAAc,MAAM;oCAAsB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAtD,MAAM;4BAAc,MAAM;oCAAsB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;cArMrD,MAAM;oBAAc,MAAM;4BAAsB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAqMvD,MAAM;4BAAc,MAAM;oCAAsB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;cArMrD,MAAM;oBAAc,MAAM;4BAAsB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAqMvD,MAAM;4BAAc,MAAM;oCAAsB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAtHjD,MAAM;eAAS,MAAM;;;;;cA/EzB,MAAM;oBAAc,MAAM;4BAAsB,MAAM;;;;;;;;GAoI/E;AAID,KAAK,sBAAsB,GACvB,iBAAiB,GACjB,kBAAkB,GAClB,iBAAiB,GACjB,kBAAkB,GAClB,uBAAuB,GACvB,kBAAkB,CAAC;AAkKvB;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQnD"}
@@ -1,6 +1,7 @@
1
1
  import { mkdirSync, writeFileSync, existsSync, readFileSync } from 'node:fs';
2
2
  import { dirname, join } from 'node:path';
3
3
  import { z } from 'zod';
4
+ import { buildLocalContextPack, openMetadataCatalog, recordQueryRun } from '@duckcodeailabs/dql-agent';
4
5
  export const queryViaMetadataInput = {
5
6
  question: z
6
7
  .string()
@@ -9,7 +10,12 @@ export const queryViaMetadataInput = {
9
10
  proposedSql: z
10
11
  .string()
11
12
  .min(1)
12
- .describe('SQL the agent inferred from the available manifest + dbt schema. Will be executed through the local DQL runtime against the certified data plane.'),
13
+ .optional()
14
+ .describe('SQL the agent inferred from the inspected metadata context. Omit to return the catalog route plan and allowed SQL context before writing SQL.'),
15
+ contextPackId: z
16
+ .string()
17
+ .optional()
18
+ .describe('Context-pack id returned by inspect_metadata_context. When supplied, query_via_metadata validates SQL against that exact catalog context.'),
13
19
  intent: z
14
20
  .enum([
15
21
  'diagnose_change',
@@ -72,16 +78,58 @@ export async function queryViaMetadata(ctx, args) {
72
78
  const slug = deriveSlug(args.question);
73
79
  const proposedContractId = suggestContractId(slug, args.proposedDomain, args.proposedEntity);
74
80
  const intent = normalizeMetadataResearchIntent(args.intent, args.question);
75
- const safety = buildMetadataPreviewSql(args.proposedSql, args.limit ?? 200);
81
+ const contextPack = await buildTier2ContextPack(ctx.projectRoot, args.question, args.contextPackId);
82
+ if (!args.proposedSql?.trim()) {
83
+ recordTier2QueryRun(ctx.projectRoot, {
84
+ slug,
85
+ question: args.question,
86
+ status: contextPack?.routeDecision.route === 'clarify' ? 'clarify' : 'planning_only',
87
+ errorCode: contextPack?.routeDecision.route === 'clarify' ? 'missing_context' : undefined,
88
+ contextPack,
89
+ });
90
+ return {
91
+ uncertified: true,
92
+ intent,
93
+ reviewStatus: 'none',
94
+ planningOnly: true,
95
+ contextPack,
96
+ routeDecision: contextPack?.routeDecision,
97
+ allowedSqlContext: contextPack?.allowedSqlContext,
98
+ missingContext: contextPack?.missingContext ?? [],
99
+ evidence: metadataEvidence(intent, args, { status: 'planning_only' }, contextPack),
100
+ reason: contextPack?.routeDecision.route === 'clarify'
101
+ ? contextPack.routeDecision.reason
102
+ : 'No SQL was supplied. Inspect the context pack and provide one read-only SELECT/WITH query that uses only allowed relations and columns.',
103
+ };
104
+ }
105
+ const proposedSql = args.proposedSql.trim();
106
+ const contextValidation = validateSqlAgainstContext(proposedSql, contextPack, Boolean(args.contextPackId));
107
+ if (!contextValidation.ok) {
108
+ recordTier2QueryRun(ctx.projectRoot, { slug, question: args.question, status: 'rejected', errorCode: 'outside_context', contextPack });
109
+ return {
110
+ uncertified: true,
111
+ intent,
112
+ reviewStatus: 'rejected',
113
+ trustStatus: metadataTrustStatus('rejected', intent, undefined, contextValidation.error),
114
+ evidence: metadataEvidence(intent, args, { status: 'rejected', error: contextValidation.error }, contextPack),
115
+ contextPack,
116
+ error: contextValidation.error,
117
+ proposedSql,
118
+ draftBlock: undefined,
119
+ };
120
+ }
121
+ const safety = buildMetadataPreviewSql(proposedSql, args.limit ?? 200);
76
122
  if (!safety.ok) {
123
+ recordTier2QueryRun(ctx.projectRoot, { slug, question: args.question, status: 'rejected', errorCode: 'unsafe_sql', contextPack });
77
124
  return {
78
125
  uncertified: true,
79
126
  intent,
80
127
  reviewStatus: 'rejected',
81
128
  trustStatus: metadataTrustStatus('rejected', intent, undefined, safety.error),
82
- evidence: metadataEvidence(intent, args, { status: 'rejected', error: safety.error }),
129
+ evidence: metadataEvidence(intent, args, { status: 'rejected', error: safety.error }, contextPack),
130
+ contextPack,
83
131
  error: safety.error,
84
- proposedSql: args.proposedSql,
132
+ proposedSql,
85
133
  draftBlock: undefined,
86
134
  };
87
135
  }
@@ -90,7 +138,7 @@ export async function queryViaMetadata(ctx, args) {
90
138
  draftBlock = upsertDraft(ctx.projectRoot, {
91
139
  slug,
92
140
  question: args.question,
93
- proposedSql: args.proposedSql,
141
+ proposedSql,
94
142
  proposedContractId,
95
143
  proposedDomain: args.proposedDomain,
96
144
  proposedEntity: args.proposedEntity,
@@ -103,9 +151,10 @@ export async function queryViaMetadata(ctx, args) {
103
151
  intent,
104
152
  reviewStatus: 'draft_ready',
105
153
  trustStatus: metadataTrustStatus('draft_ready', intent, draftBlock),
106
- evidence: metadataEvidence(intent, args, { status: 'dry_run', draftBlock }),
154
+ evidence: metadataEvidence(intent, args, { status: 'dry_run', draftBlock }, contextPack),
155
+ contextPack,
107
156
  reason: 'dryRun=true; SQL not executed. Returned proposal only.',
108
- proposedSql: args.proposedSql,
157
+ proposedSql,
109
158
  draftBlock,
110
159
  promote: draftBlock
111
160
  ? `if you want this question certified, run: dql certify --from-draft ${draftBlock.path}`
@@ -122,7 +171,7 @@ export async function queryViaMetadata(ctx, args) {
122
171
  body: JSON.stringify({
123
172
  cell: {
124
173
  id: `mcp-tier2-${slug}`,
125
- type: 'dql',
174
+ type: 'sql',
126
175
  source: wrapSqlAsDqlCell(safety.sql),
127
176
  title: args.question,
128
177
  },
@@ -131,38 +180,55 @@ export async function queryViaMetadata(ctx, args) {
131
180
  }
132
181
  catch (err) {
133
182
  const error = `Could not reach DQL runtime at ${base}. Start it with \`dql serve\` in ${ctx.projectRoot}. (${err instanceof Error ? err.message : String(err)})`;
183
+ recordTier2QueryRun(ctx.projectRoot, { slug, question: args.question, status: 'runtime_unavailable', errorCode: 'runtime_unavailable', contextPack });
134
184
  return {
135
185
  uncertified: true,
136
186
  intent,
187
+ reviewStatus: 'draft_ready',
137
188
  trustStatus: metadataTrustStatus('draft_ready', intent, draftBlock, error),
138
- evidence: metadataEvidence(intent, args, { status: 'runtime_unavailable', draftBlock, error }),
189
+ evidence: metadataEvidence(intent, args, { status: 'runtime_unavailable', draftBlock, error }, contextPack),
190
+ contextPack,
139
191
  error,
140
192
  draftBlock,
141
193
  };
142
194
  }
143
195
  if (!response.ok) {
144
196
  const error = `Runtime returned ${response.status}: ${await response.text()}`;
197
+ recordTier2QueryRun(ctx.projectRoot, { slug, question: args.question, status: 'runtime_error', errorCode: `http_${response.status}`, contextPack });
145
198
  return {
146
199
  uncertified: true,
147
200
  intent,
201
+ reviewStatus: 'draft_ready',
148
202
  trustStatus: metadataTrustStatus('draft_ready', intent, draftBlock, error),
149
- evidence: metadataEvidence(intent, args, { status: 'runtime_error', draftBlock, error }),
203
+ evidence: metadataEvidence(intent, args, { status: 'runtime_error', draftBlock, error }, contextPack),
204
+ contextPack,
150
205
  error,
151
206
  draftBlock,
152
207
  };
153
208
  }
154
209
  const payload = (await response.json());
155
210
  if (payload.error) {
211
+ recordTier2QueryRun(ctx.projectRoot, { slug, question: args.question, status: 'execution_failed', errorCode: 'execution_failed', contextPack });
156
212
  return {
157
213
  uncertified: true,
158
214
  intent,
215
+ reviewStatus: 'draft_ready',
159
216
  trustStatus: metadataTrustStatus('draft_ready', intent, draftBlock, payload.error),
160
- evidence: metadataEvidence(intent, args, { status: 'execution_failed', draftBlock, error: payload.error }),
217
+ evidence: metadataEvidence(intent, args, { status: 'execution_failed', draftBlock, error: payload.error }, contextPack),
218
+ contextPack,
161
219
  error: payload.error,
162
220
  draftBlock,
163
221
  };
164
222
  }
165
223
  const rows = payload.result?.rows ?? [];
224
+ recordTier2QueryRun(ctx.projectRoot, {
225
+ slug,
226
+ question: args.question,
227
+ status: 'executed',
228
+ rowCount: rows.length,
229
+ durationMs: payload.result?.executionTime ?? undefined,
230
+ contextPack,
231
+ });
166
232
  return {
167
233
  uncertified: true,
168
234
  intent,
@@ -173,14 +239,15 @@ export async function queryViaMetadata(ctx, args) {
173
239
  draftBlock,
174
240
  rowCount: rows.length,
175
241
  durationMs: payload.result?.executionTime ?? null,
176
- }),
242
+ }, contextPack),
243
+ contextPack,
177
244
  reason: 'no certified block matched the question; result derived from manifest + dbt schema',
178
245
  question: args.question,
179
246
  rowCount: rows.length,
180
247
  durationMs: payload.result?.executionTime ?? null,
181
248
  columns: payload.result?.columns ?? [],
182
249
  rows: args.limit ? rows.slice(0, args.limit) : rows,
183
- proposedSql: args.proposedSql,
250
+ proposedSql,
184
251
  draftBlock,
185
252
  promote: draftBlock
186
253
  ? `if you want this question certified, run: dql certify --from-draft ${draftBlock.path}`
@@ -226,7 +293,7 @@ function metadataTrustStatus(reviewStatus, intent, draftBlock, error) {
226
293
  ],
227
294
  };
228
295
  }
229
- function metadataEvidence(intent, args, execution) {
296
+ function metadataEvidence(intent, args, execution, contextPack) {
230
297
  return {
231
298
  planner: {
232
299
  mode: 'metadata_text_to_sql',
@@ -240,6 +307,10 @@ function metadataEvidence(intent, args, execution) {
240
307
  proposedDomain: args.proposedDomain,
241
308
  proposedEntity: args.proposedEntity,
242
309
  draftBlock: execution.draftBlock,
310
+ contextPackId: contextPack?.id,
311
+ trustLabel: contextPack?.trustLabel,
312
+ selectedEvidence: contextPack?.retrievalDiagnostics.selectedEvidence.slice(0, 12) ?? [],
313
+ warnings: contextPack?.warnings ?? [],
243
314
  },
244
315
  execution: {
245
316
  status: execution.status,
@@ -257,6 +328,43 @@ function metadataEvidence(intent, args, execution) {
257
328
  ],
258
329
  };
259
330
  }
331
+ async function buildTier2ContextPack(projectRoot, question, contextPackId) {
332
+ if (contextPackId) {
333
+ const catalog = openMetadataCatalog(projectRoot);
334
+ try {
335
+ const existing = catalog.getContextPack(contextPackId);
336
+ if (existing)
337
+ return existing;
338
+ }
339
+ finally {
340
+ catalog.close();
341
+ }
342
+ }
343
+ return buildLocalContextPack(projectRoot, {
344
+ question,
345
+ mode: 'question',
346
+ }).catch(() => undefined);
347
+ }
348
+ function recordTier2QueryRun(projectRoot, args) {
349
+ try {
350
+ recordQueryRun(projectRoot, {
351
+ objectKey: `dql:draft:${args.slug}`,
352
+ source: 'ai_draft',
353
+ status: args.status,
354
+ rowCount: args.rowCount,
355
+ durationMs: args.durationMs,
356
+ errorCode: args.errorCode,
357
+ payload: {
358
+ question: args.question,
359
+ contextPackId: args.contextPack?.id,
360
+ trustLabel: args.contextPack?.trustLabel,
361
+ },
362
+ });
363
+ }
364
+ catch {
365
+ // Query-run history is advisory and must not block the answer.
366
+ }
367
+ }
260
368
  function metadataInvestigationSteps(intent) {
261
369
  const common = ['trust check', 'draft review path'];
262
370
  if (intent === 'trust_gap_review')
@@ -331,6 +439,89 @@ const METADATA_PREVIEW_FORBIDDEN_SQL = [
331
439
  'update',
332
440
  'vacuum',
333
441
  ];
442
+ function validateSqlAgainstContext(sql, contextPack, strictContext = false) {
443
+ if (!contextPack)
444
+ return { ok: true };
445
+ if (strictContext && contextPack.routeDecision.route === 'clarify') {
446
+ const missing = contextPack.missingContext.map((item) => item.message).join(' ');
447
+ return {
448
+ ok: false,
449
+ error: `Metadata context is insufficient for SQL generation. ${missing || contextPack.routeDecision.reason}`,
450
+ };
451
+ }
452
+ const allowed = new Set();
453
+ for (const relation of contextPack.allowedSqlContext.relations) {
454
+ for (const key of relationLookupKeys(relation.relation))
455
+ allowed.add(key);
456
+ for (const key of relationLookupKeys(relation.name))
457
+ allowed.add(key);
458
+ }
459
+ for (const source of contextPack.allowedSqlContext.sourceBlockSql) {
460
+ for (const table of extractSqlRelations(source.sql)) {
461
+ for (const key of relationLookupKeys(table))
462
+ allowed.add(key);
463
+ }
464
+ }
465
+ if (allowed.size === 0)
466
+ return { ok: true };
467
+ const referenced = extractSqlRelations(sql);
468
+ const unknown = referenced.filter((relation) => !relationLookupKeys(relation).some((key) => allowed.has(key)));
469
+ if (unknown.length > 0) {
470
+ return {
471
+ ok: false,
472
+ error: `SQL references relation(s) outside the inspected metadata context: ${unknown.join(', ')}. Use inspect_metadata_context and only query allowed relations.`,
473
+ };
474
+ }
475
+ return { ok: true };
476
+ }
477
+ function extractSqlRelations(sql) {
478
+ const cleaned = stripSqlStringsAndComments(sql);
479
+ const cteNames = extractCteNames(cleaned);
480
+ const relations = new Set();
481
+ const pattern = /\b(?:from|join)\s+((?:"[^"]+"|`[^`]+`|[A-Za-z_][\w$]*)(?:\s*\.\s*(?:"[^"]+"|`[^`]+`|[A-Za-z_][\w$]*)){0,2})/gi;
482
+ let match;
483
+ while ((match = pattern.exec(cleaned)) !== null) {
484
+ const relation = normalizeRelation(match[1]);
485
+ if (!relation || cteNames.has(relation.toLowerCase()))
486
+ continue;
487
+ if (relation.startsWith('select') || relation.startsWith('('))
488
+ continue;
489
+ relations.add(relation);
490
+ }
491
+ return Array.from(relations);
492
+ }
493
+ function extractCteNames(sql) {
494
+ const names = new Set();
495
+ if (!/^\s*with\b/i.test(sql))
496
+ return names;
497
+ const pattern = /\b("([^"]+)"|`([^`]+)`|([A-Za-z_][\w$]*))\s+as\s*\(/gi;
498
+ let match;
499
+ while ((match = pattern.exec(sql)) !== null) {
500
+ const name = normalizeRelation(match[2] ?? match[3] ?? match[4] ?? match[1]);
501
+ if (name)
502
+ names.add(name.toLowerCase());
503
+ }
504
+ return names;
505
+ }
506
+ function relationLookupKeys(relation) {
507
+ const normalized = normalizeRelation(relation).toLowerCase();
508
+ const parts = normalized.split('.').filter(Boolean);
509
+ const keys = new Set();
510
+ if (normalized)
511
+ keys.add(normalized);
512
+ if (parts.length >= 2)
513
+ keys.add(parts.slice(-2).join('.'));
514
+ if (parts.length >= 1)
515
+ keys.add(parts[parts.length - 1]);
516
+ return Array.from(keys);
517
+ }
518
+ function normalizeRelation(value) {
519
+ return value
520
+ .replace(/["`]/g, '')
521
+ .replace(/\s*\.\s*/g, '.')
522
+ .replace(/\s+/g, ' ')
523
+ .trim();
524
+ }
334
525
  function buildMetadataPreviewSql(sql, limit) {
335
526
  const trimmed = sql.trim();
336
527
  if (!trimmed)
@@ -414,7 +605,7 @@ function upsertDraft(projectRoot, rec) {
414
605
  const next = Number.isFinite(prev) ? prev + 1 : 2;
415
606
  const updated = m
416
607
  ? existing.replace(/asked_times\s*=\s*\d+/, `asked_times = ${next}`)
417
- : existing.replace(/_proposed\s*\{/, `_proposed {\n asked_times = ${next}`);
608
+ : existing.replace(/\n\s*query\s*=/, `\n asked_times = ${next}\n\n query =`);
418
609
  const stamped = stampLastAsked(updated);
419
610
  writeFileSync(filePath, stamped);
420
611
  return {
@@ -456,14 +647,14 @@ function renderDraft(rec) {
456
647
  # --owner you@example.com
457
648
  datalex_contract = ""
458
649
 
459
- _proposed {
460
- asked_times = 1
461
- first_asked = "${now}"
462
- last_asked = "${now}"
463
- proposed_contract_id = "${rec.proposedContractId}"
464
- proposed_domain = "${rec.proposedDomain ?? ''}"
465
- proposed_entity = "${rec.proposedEntity ?? ''}"${upstream}
466
- }
650
+ # Tier-2 proposal metadata. Keep these as flat fields so the draft remains
651
+ # valid DQL and can be indexed by the local metadata catalog.
652
+ asked_times = 1
653
+ first_asked = "${now}"
654
+ last_asked = "${now}"
655
+ proposed_contract_id = "${rec.proposedContractId}"
656
+ proposed_domain = "${rec.proposedDomain ?? ''}"
657
+ proposed_entity = "${rec.proposedEntity ?? ''}"${upstream}
467
658
 
468
659
  query = """
469
660
  ${safeSql.split('\n').join('\n ')}
@@ -1 +1 @@
1
- {"version":3,"file":"query-via-metadata.js","sourceRoot":"","sources":["../../src/tools/query-via-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-via-metadata.js","sourceRoot":"","sources":["../../src/tools/query-via-metadata.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duckcodeailabs/dql-mcp",
3
- "version": "1.6.4",
3
+ "version": "1.6.6",
4
4
  "description": "DQL MCP server: expose certified blocks, semantic layer, lineage, and governance to LLM agents via the Model Context Protocol",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -24,10 +24,10 @@
24
24
  "access": "public"
25
25
  },
26
26
  "dependencies": {
27
- "@duckcodeailabs/dql-agent": "^1.6.4",
28
- "@duckcodeailabs/dql-core": "^1.6.4",
29
- "@duckcodeailabs/dql-governance": "^1.6.4",
30
- "@duckcodeailabs/dql-project": "^1.6.4",
27
+ "@duckcodeailabs/dql-agent": "^1.6.6",
28
+ "@duckcodeailabs/dql-core": "^1.6.6",
29
+ "@duckcodeailabs/dql-governance": "^1.6.6",
30
+ "@duckcodeailabs/dql-project": "^1.6.6",
31
31
  "@modelcontextprotocol/sdk": "^1.0.4",
32
32
  "zod": "^3.25.0"
33
33
  },