@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.
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +12 -6
- package/dist/server.js.map +1 -1
- package/dist/tools/kg.d.ts +26 -1
- package/dist/tools/kg.d.ts.map +1 -1
- package/dist/tools/kg.js +44 -4
- package/dist/tools/kg.js.map +1 -1
- package/dist/tools/list-proposals.d.ts +2 -2
- package/dist/tools/list-proposals.js +2 -2
- package/dist/tools/query-via-metadata.d.ts +133 -4
- package/dist/tools/query-via-metadata.d.ts.map +1 -1
- package/dist/tools/query-via-metadata.js +214 -23
- package/dist/tools/query-via-metadata.js.map +1 -1
- package/package.json +5 -5
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
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 {
|
|
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
|
|
22
|
-
'
|
|
23
|
-
'
|
|
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.
|
|
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
|
}
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACzG,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/kg.d.ts
CHANGED
|
@@ -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;
|
package/dist/tools/kg.d.ts.map
CHANGED
|
@@ -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,
|
|
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
|
-
|
|
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
|
|
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.'),
|
package/dist/tools/kg.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
1
|
+
{"version":3,"file":"kg.js","sourceRoot":"","sources":["../../src/tools/kg.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
|
23
|
-
*
|
|
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
|
|
19
|
-
*
|
|
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
|
|
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
|
-
|
|
191
|
-
|
|
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;
|
|
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
|
-
.
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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: '
|
|
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
|
|
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(
|
|
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
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
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.
|
|
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.
|
|
28
|
-
"@duckcodeailabs/dql-core": "^1.6.
|
|
29
|
-
"@duckcodeailabs/dql-governance": "^1.6.
|
|
30
|
-
"@duckcodeailabs/dql-project": "^1.6.
|
|
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
|
},
|