@duckcodeailabs/dql-mcp 1.6.30 → 1.6.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/dist/context.d.ts.map +1 -1
  2. package/dist/context.js +4 -1
  3. package/dist/context.js.map +1 -1
  4. package/dist/index.d.ts +4 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +4 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/server.d.ts +32 -0
  9. package/dist/server.d.ts.map +1 -1
  10. package/dist/server.js +184 -90
  11. package/dist/server.js.map +1 -1
  12. package/dist/tool-schema.d.ts +5 -0
  13. package/dist/tool-schema.d.ts.map +1 -0
  14. package/dist/tool-schema.js +105 -0
  15. package/dist/tool-schema.js.map +1 -0
  16. package/dist/tools/certify.d.ts +1 -4
  17. package/dist/tools/certify.d.ts.map +1 -1
  18. package/dist/tools/certify.js +2 -4
  19. package/dist/tools/certify.js.map +1 -1
  20. package/dist/tools/expand-context.d.ts +62 -0
  21. package/dist/tools/expand-context.d.ts.map +1 -0
  22. package/dist/tools/expand-context.js +130 -0
  23. package/dist/tools/expand-context.js.map +1 -0
  24. package/dist/tools/get-block.d.ts +1 -5
  25. package/dist/tools/get-block.d.ts.map +1 -1
  26. package/dist/tools/get-block.js +2 -8
  27. package/dist/tools/get-block.js.map +1 -1
  28. package/dist/tools/governed.d.ts +94 -0
  29. package/dist/tools/governed.d.ts.map +1 -0
  30. package/dist/tools/governed.js +139 -0
  31. package/dist/tools/governed.js.map +1 -0
  32. package/dist/tools/hints.d.ts +3 -46
  33. package/dist/tools/hints.d.ts.map +1 -1
  34. package/dist/tools/hints.js +4 -33
  35. package/dist/tools/hints.js.map +1 -1
  36. package/dist/tools/kg.d.ts +5 -22
  37. package/dist/tools/kg.d.ts.map +1 -1
  38. package/dist/tools/kg.js +6 -29
  39. package/dist/tools/kg.js.map +1 -1
  40. package/dist/tools/lineage-impact.d.ts +4 -9
  41. package/dist/tools/lineage-impact.d.ts.map +1 -1
  42. package/dist/tools/lineage-impact.js +91 -36
  43. package/dist/tools/lineage-impact.js.map +1 -1
  44. package/dist/tools/list-proposals.d.ts +13 -5
  45. package/dist/tools/list-proposals.d.ts.map +1 -1
  46. package/dist/tools/list-proposals.js +152 -16
  47. package/dist/tools/list-proposals.js.map +1 -1
  48. package/dist/tools/metadata.d.ts +3 -12
  49. package/dist/tools/metadata.d.ts.map +1 -1
  50. package/dist/tools/metadata.js +4 -15
  51. package/dist/tools/metadata.js.map +1 -1
  52. package/dist/tools/query-semantic-model.d.ts +374 -0
  53. package/dist/tools/query-semantic-model.d.ts.map +1 -0
  54. package/dist/tools/query-semantic-model.js +404 -0
  55. package/dist/tools/query-semantic-model.js.map +1 -0
  56. package/dist/tools/query-via-block.d.ts +5 -8
  57. package/dist/tools/query-via-block.d.ts.map +1 -1
  58. package/dist/tools/query-via-block.js +9 -14
  59. package/dist/tools/query-via-block.js.map +1 -1
  60. package/dist/tools/query-via-metadata.d.ts +198 -130
  61. package/dist/tools/query-via-metadata.d.ts.map +1 -1
  62. package/dist/tools/query-via-metadata.js +197 -101
  63. package/dist/tools/query-via-metadata.js.map +1 -1
  64. package/dist/tools/search-blocks.d.ts +1 -7
  65. package/dist/tools/search-blocks.d.ts.map +1 -1
  66. package/dist/tools/search-blocks.js +2 -10
  67. package/dist/tools/search-blocks.js.map +1 -1
  68. package/dist/tools/semantic.d.ts +3 -8
  69. package/dist/tools/semantic.d.ts.map +1 -1
  70. package/dist/tools/semantic.js +3 -7
  71. package/dist/tools/semantic.js.map +1 -1
  72. package/dist/tools/suggest-block.d.ts +1 -10
  73. package/dist/tools/suggest-block.d.ts.map +1 -1
  74. package/dist/tools/suggest-block.js +2 -10
  75. package/dist/tools/suggest-block.js.map +1 -1
  76. package/dist/tools/workflows.d.ts +7 -33
  77. package/dist/tools/workflows.d.ts.map +1 -1
  78. package/dist/tools/workflows.js +6 -19
  79. package/dist/tools/workflows.js.map +1 -1
  80. package/package.json +5 -5
@@ -1,18 +1,7 @@
1
1
  import { existsSync, readdirSync, readFileSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
- import { z } from 'zod';
4
- export const listProposalsInput = {
5
- askedAtLeastTimes: z
6
- .number()
7
- .int()
8
- .min(1)
9
- .optional()
10
- .describe('Filter to drafts asked at least N times (defaults to 1).'),
11
- since: z
12
- .string()
13
- .optional()
14
- .describe('ISO 8601 timestamp; only return drafts whose last_asked is on or after this. Useful for "what got asked this week?".'),
15
- };
3
+ import { zodInputShapeForTool } from '../tool-schema.js';
4
+ export const listProposalsInput = zodInputShapeForTool('list_proposals');
16
5
  /**
17
6
  * The OSS-side review queue for the Tier-2 promotion loop. Reads
18
7
  * local draft queues from the project, parses Tier-2 proposal metadata fields
@@ -26,8 +15,6 @@ export const listProposalsInput = {
26
15
  */
27
16
  export function listProposals(ctx, args = {}) {
28
17
  const draftFiles = collectProposalDraftFiles(ctx.projectRoot);
29
- if (draftFiles.length === 0)
30
- return { proposals: [] };
31
18
  const minTimes = args.askedAtLeastTimes ?? 1;
32
19
  const sinceMs = args.since ? Date.parse(args.since) : null;
33
20
  const proposals = [];
@@ -41,10 +28,24 @@ export function listProposals(ctx, args = {}) {
41
28
  continue;
42
29
  proposals.push(summary);
43
30
  }
31
+ for (const summary of collectSemanticRecertificationProposals(ctx)) {
32
+ if (summary.askedTimes < minTimes)
33
+ continue;
34
+ if (sinceMs !== null && (!Number.isFinite(Date.parse(summary.lastAsked)) || Date.parse(summary.lastAsked) < sinceMs))
35
+ continue;
36
+ proposals.push(summary);
37
+ }
38
+ for (const summary of collectSemanticMetricDraftProposals(ctx)) {
39
+ if (summary.askedTimes < minTimes)
40
+ continue;
41
+ if (sinceMs !== null && (!Number.isFinite(Date.parse(summary.lastAsked)) || Date.parse(summary.lastAsked) < sinceMs))
42
+ continue;
43
+ proposals.push(summary);
44
+ }
44
45
  proposals.sort((a, b) => {
45
46
  if (b.askedTimes !== a.askedTimes)
46
47
  return b.askedTimes - a.askedTimes;
47
- return Date.parse(b.lastAsked) - Date.parse(a.lastAsked);
48
+ return dateSortValue(b.lastAsked) - dateSortValue(a.lastAsked);
48
49
  });
49
50
  return { proposals };
50
51
  }
@@ -93,8 +94,11 @@ function parseProposal(content, filename, draftPath) {
93
94
  const proposedDomain = pickStringField(content, 'proposed_domain') ?? '';
94
95
  const proposedEntity = pickStringField(content, 'proposed_entity') ?? '';
95
96
  const upstreamRefs = pickArrayField(content, 'upstream_refs');
97
+ const sourceDqlArtifact = parseSourceDqlArtifact(content);
96
98
  const certifyHint = `dql certify --from-draft ${draftPath} --domain ${proposedDomain || '<domain>'} --contract ${proposedContractId || '<id>'}@1 --owner <you@example.com>`;
97
99
  return {
100
+ kind: 'block_draft',
101
+ artifactType: 'block',
98
102
  draftPath,
99
103
  slug,
100
104
  question,
@@ -105,9 +109,141 @@ function parseProposal(content, filename, draftPath) {
105
109
  proposedDomain,
106
110
  proposedEntity,
107
111
  upstreamRefs,
112
+ ...(sourceDqlArtifact ? { sourceDqlArtifact } : {}),
108
113
  certifyHint,
109
114
  };
110
115
  }
116
+ function collectSemanticRecertificationProposals(ctx) {
117
+ const layer = safeSemanticLayer(ctx);
118
+ if (!layer)
119
+ return [];
120
+ const proposals = [];
121
+ for (const metric of layer.listMetrics()) {
122
+ if (metric.status !== 'pending_recertification')
123
+ continue;
124
+ proposals.push(semanticRecertificationProposal('metric', metric));
125
+ }
126
+ for (const dimension of layer.listDimensions()) {
127
+ if (dimension.status !== 'pending_recertification')
128
+ continue;
129
+ proposals.push(semanticRecertificationProposal('dimension', dimension));
130
+ }
131
+ return proposals;
132
+ }
133
+ function collectSemanticMetricDraftProposals(ctx) {
134
+ const layer = safeSemanticLayer(ctx);
135
+ if (!layer)
136
+ return [];
137
+ const proposals = [];
138
+ for (const metric of layer.listMetrics()) {
139
+ if (metric.status !== 'draft')
140
+ continue;
141
+ const path = semanticDefinitionPath(metric, 'metric');
142
+ if (!isSemanticMetricDraftPath(path))
143
+ continue;
144
+ proposals.push(semanticMetricDraftProposal(metric, path));
145
+ }
146
+ return proposals;
147
+ }
148
+ function safeSemanticLayer(ctx) {
149
+ try {
150
+ return ctx.semanticLayer;
151
+ }
152
+ catch {
153
+ return null;
154
+ }
155
+ }
156
+ function semanticRecertificationProposal(kind, definition) {
157
+ const path = semanticDefinitionPath(definition, kind);
158
+ const label = kind === 'metric' ? 'metric' : 'dimension';
159
+ const domain = kind === 'metric' ? definition.domain : definition.domain;
160
+ return {
161
+ kind: 'semantic_recertification',
162
+ artifactType: kind,
163
+ draftPath: path,
164
+ slug: definition.name,
165
+ question: `Recertify semantic ${label} "${definition.name}" after upstream lineage or definition drift.`,
166
+ askedTimes: 1,
167
+ firstAsked: '',
168
+ lastAsked: semanticImportedAt(definition) ?? '',
169
+ proposedContractId: `semantic.${kind}.${definition.name}`,
170
+ proposedDomain: domain ?? '',
171
+ proposedEntity: definition.name,
172
+ upstreamRefs: [definition.table].filter(Boolean),
173
+ status: definition.status,
174
+ certifyHint: `Review ${path}, rerun semantic validation, then set status to "certified" after human recertification.`,
175
+ };
176
+ }
177
+ function semanticMetricDraftProposal(metric, path) {
178
+ const support = semanticSupportCount(metric);
179
+ const lastAsked = semanticImportedAt(metric) ?? '';
180
+ const donorBlocks = semanticStringArrayExtra(metric, 'donorBlocks');
181
+ const donorPaths = semanticStringArrayExtra(metric, 'donorPaths');
182
+ return {
183
+ kind: 'semantic_metric_draft',
184
+ artifactType: 'metric',
185
+ draftPath: path,
186
+ slug: metric.name,
187
+ question: metric.description || `Review draft semantic metric "${metric.name}" for certification.`,
188
+ askedTimes: support,
189
+ firstAsked: lastAsked,
190
+ lastAsked,
191
+ proposedContractId: `semantic.metric.${metric.name}`,
192
+ proposedDomain: metric.domain ?? '',
193
+ proposedEntity: metric.name,
194
+ upstreamRefs: [metric.table, ...donorPaths, ...donorBlocks].filter(Boolean),
195
+ status: metric.status,
196
+ certifyHint: `Review ${path}, confirm expression/grain/filters, then move it out of _drafts and set status to "certified" after human approval.`,
197
+ };
198
+ }
199
+ function semanticDefinitionPath(definition, kind) {
200
+ const path = definition.source?.extra?.path;
201
+ if (typeof path === 'string' && path.trim().length > 0) {
202
+ const normalized = path.replace(/\\/g, '/').replace(/^\/+/, '');
203
+ return normalized.startsWith('semantic-layer/') ? normalized : `semantic-layer/${normalized}`;
204
+ }
205
+ return `semantic-layer/${kind === 'metric' ? 'metrics' : 'dimensions'}/${definition.name}.yaml`;
206
+ }
207
+ function isSemanticMetricDraftPath(path) {
208
+ return /(^|\/)semantic-layer\/metrics\/_drafts\//.test(path.replace(/\\/g, '/'));
209
+ }
210
+ function semanticImportedAt(definition) {
211
+ return typeof definition.source?.importedAt === 'string' ? definition.source.importedAt : undefined;
212
+ }
213
+ function semanticSupportCount(definition) {
214
+ const support = definition.source?.extra?.support;
215
+ if (typeof support === 'number' && Number.isFinite(support) && support > 0)
216
+ return Math.floor(support);
217
+ const donors = semanticStringArrayExtra(definition, 'donorBlocks');
218
+ return Math.max(1, donors.length);
219
+ }
220
+ function semanticStringArrayExtra(definition, key) {
221
+ const value = definition.source?.extra?.[key];
222
+ return Array.isArray(value) ? value.filter((item) => typeof item === 'string' && item.trim().length > 0) : [];
223
+ }
224
+ function dateSortValue(value) {
225
+ const parsed = Date.parse(value);
226
+ return Number.isFinite(parsed) ? parsed : 0;
227
+ }
228
+ function parseSourceDqlArtifact(content) {
229
+ const kind = pickStringField(content, 'source_dql_kind');
230
+ const name = pickStringField(content, 'source_dql_name');
231
+ const path = pickStringField(content, 'source_dql_path');
232
+ const hash = pickStringField(content, 'source_dql_hash');
233
+ const metrics = pickArrayField(content, 'source_dql_metrics');
234
+ const dimensions = pickArrayField(content, 'source_dql_dimensions');
235
+ if (!kind && !name && !path && !hash && metrics.length === 0 && dimensions.length === 0) {
236
+ return undefined;
237
+ }
238
+ return {
239
+ ...(kind ? { kind } : {}),
240
+ ...(name ? { name } : {}),
241
+ ...(path ? { path } : {}),
242
+ ...(hash ? { hash } : {}),
243
+ metrics,
244
+ dimensions,
245
+ };
246
+ }
111
247
  function pickStringField(content, key) {
112
248
  const m = content.match(new RegExp(`${key}\\s*=\\s*"([^"]*)"`)) ||
113
249
  content.match(new RegExp(`${key}\\s*=\\s*"""([\\s\\S]*?)"""`));
@@ -1 +1 @@
1
- {"version":3,"file":"list-proposals.js","sourceRoot":"","sources":["../../src/tools/list-proposals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAe,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,iBAAiB,EAAE,CAAC;SACjB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,0DAA0D,CAAC;IACvE,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,sHAAsH,CACvH;CACJ,CAAC;AAgBF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAC3B,GAAe,EACf,OAAuD,EAAE;IAEzD,MAAM,UAAU,GAAG,yBAAyB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC9D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAEtD,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE3D,MAAM,SAAS,GAAsB,EAAE,CAAC;IACxC,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QACxG,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,IAAI,OAAO,CAAC,UAAU,GAAG,QAAQ;YAAE,SAAS;QAC5C,IAAI,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO;YAAE,SAAS;QAC1E,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACtB,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU;YAAE,OAAO,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;QACtE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,SAAS,EAAE,CAAC;AACvB,CAAC;AAED,SAAS,yBAAyB,CAAC,WAAmB;IACpD,MAAM,KAAK,GAAuE,EAAE,CAAC;IACrF,MAAM,WAAW,GAAG,CAAC,WAAmB,EAAE,EAAE;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO;QAChC,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,SAAS;YAC9D,KAAK,CAAC,IAAI,CAAC;gBACT,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC;gBACjC,YAAY,EAAE,GAAG,WAAW,IAAI,KAAK,CAAC,IAAI,EAAE;gBAC5C,QAAQ,EAAE,KAAK,CAAC,IAAI;aACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IAEF,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAChD,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;gBAAE,SAAS;YACnC,WAAW,CAAC,WAAW,KAAK,CAAC,IAAI,iBAAiB,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACpB,OAAe,EACf,QAAgB,EAChB,SAAiB;IAEjB,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,IAAI,CAAC;IACjE,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC;IACjE,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC;IAC/D,MAAM,kBAAkB,GAAG,eAAe,CAAC,OAAO,EAAE,sBAAsB,CAAC,IAAI,EAAE,CAAC;IAClF,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,EAAE,CAAC;IACzE,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,EAAE,CAAC;IACzE,MAAM,YAAY,GAAG,cAAc,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,4BAA4B,SAAS,aAAa,cAAc,IAAI,UAAU,eAAe,kBAAkB,IAAI,MAAM,8BAA8B,CAAC;IAC5K,OAAO;QACL,SAAS;QACT,IAAI;QACJ,QAAQ;QACR,UAAU;QACV,UAAU;QACV,SAAS;QACT,kBAAkB;QAClB,cAAc;QACd,cAAc;QACd,YAAY;QACZ,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,OAAe,EAAE,GAAW;IACnD,MAAM,CAAC,GACL,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,GAAG,GAAG,oBAAoB,CAAC,CAAC;QACrD,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,GAAG,GAAG,6BAA6B,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,YAAY,CAAC,OAAe,EAAE,GAAW,EAAE,YAAoB;IACtE,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AACtD,CAAC;AAED,SAAS,cAAc,CAAC,OAAe,EAAE,GAAW;IAClD,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,GAAG,GAAG,0BAA0B,CAAC,CAAC,CAAC;IACtE,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAClB,OAAO,CAAC,CAAC,CAAC,CAAC;SACR,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;SAC1C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"list-proposals.js","sourceRoot":"","sources":["../../src/tools/list-proposals.ts"],"names":[],"mappings":"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"}
@@ -13,12 +13,8 @@
13
13
  * All three load dbt artifacts read-only and never write. They degrade
14
14
  * gracefully (a clear hint) when no dbt manifest is present.
15
15
  */
16
- import { z } from 'zod';
17
16
  import type { DQLContext } from '../context.js';
18
- export declare const searchMetadataInput: {
19
- query: z.ZodString;
20
- limit: z.ZodOptional<z.ZodNumber>;
21
- };
17
+ export declare const searchMetadataInput: Record<string, import("zod").ZodTypeAny>;
22
18
  export declare function searchMetadata(ctx: DQLContext, args: {
23
19
  query: string;
24
20
  limit?: number;
@@ -38,9 +34,7 @@ export declare function searchMetadata(ctx: DQLContext, args: {
38
34
  }[];
39
35
  hint?: undefined;
40
36
  }>;
41
- export declare const getTableSchemaInput: {
42
- table: z.ZodString;
43
- };
37
+ export declare const getTableSchemaInput: Record<string, import("zod").ZodTypeAny>;
44
38
  export declare function getTableSchema(ctx: DQLContext, args: {
45
39
  table: string;
46
40
  }): {
@@ -74,10 +68,7 @@ export declare function getTableSchema(ctx: DQLContext, args: {
74
68
  }[];
75
69
  hint?: undefined;
76
70
  };
77
- export declare const validateSqlInput: {
78
- sql: z.ZodString;
79
- query: z.ZodOptional<z.ZodString>;
80
- };
71
+ export declare const validateSqlInput: Record<string, import("zod").ZodTypeAny>;
81
72
  export declare function validateSql(ctx: DQLContext, args: {
82
73
  sql: string;
83
74
  query?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/tools/metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAkBhD,eAAO,MAAM,mBAAmB;;;CAG/B,CAAC;AAEF,wBAAsB,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;GAiB5F;AAID,eAAO,MAAM,mBAAmB;;CAE/B,CAAC;AAEF,wBAAgB,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCtE;AAID,eAAO,MAAM,gBAAgB;;;CAM5B,CAAC;AAEF,wBAAsB,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;GAqBvF"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/tools/metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAWH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAmBhD,eAAO,MAAM,mBAAmB,0CAA0C,CAAC;AAE3E,wBAAsB,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;GAiB5F;AAID,eAAO,MAAM,mBAAmB,0CAA2C,CAAC;AAE5E,wBAAgB,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCtE;AAID,eAAO,MAAM,gBAAgB,0CAAuC,CAAC;AAErE,wBAAsB,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;GAqBvF"}
@@ -13,9 +13,9 @@
13
13
  * All three load dbt artifacts read-only and never write. They degrade
14
14
  * gracefully (a clear hint) when no dbt manifest is present.
15
15
  */
16
- import { z } from 'zod';
17
16
  import { resolveDbtManifestPath } from '@duckcodeailabs/dql-core';
18
17
  import { buildSchemaGrounding, loadDbtArtifacts, relationKeys, selectRelevantModels, validateSqlAgainstGrounding, } from '@duckcodeailabs/dql-agent';
18
+ import { zodInputShapeForTool } from '../tool-schema.js';
19
19
  /** Load dbt artifacts for the project, or undefined when no manifest exists. */
20
20
  function loadArtifacts(ctx) {
21
21
  const manifestPath = resolveDbtManifestPath(ctx.projectRoot);
@@ -30,10 +30,7 @@ function loadArtifacts(ctx) {
30
30
  }
31
31
  const NO_MANIFEST_HINT = 'No dbt manifest was found. Run `dbt compile`/`dbt build` (or `dql sync dbt`) so target/manifest.json exists.';
32
32
  // ─── search_metadata ──────────────────────────────────────────────────────────
33
- export const searchMetadataInput = {
34
- query: z.string().describe('Natural-language request to find relevant tables for.'),
35
- limit: z.number().int().min(1).max(40).optional().describe('Max tables to return (default 12).'),
36
- };
33
+ export const searchMetadataInput = zodInputShapeForTool('search_metadata');
37
34
  export async function searchMetadata(ctx, args) {
38
35
  const artifacts = loadArtifacts(ctx);
39
36
  if (!artifacts)
@@ -54,9 +51,7 @@ export async function searchMetadata(ctx, args) {
54
51
  };
55
52
  }
56
53
  // ─── get_table_schema ─────────────────────────────────────────────────────────
57
- export const getTableSchemaInput = {
58
- table: z.string().describe('Model name, alias, or qualified relation (e.g. order_items or dev.order_items).'),
59
- };
54
+ export const getTableSchemaInput = zodInputShapeForTool('get_table_schema');
60
55
  export function getTableSchema(ctx, args) {
61
56
  const artifacts = loadArtifacts(ctx);
62
57
  if (!artifacts)
@@ -90,13 +85,7 @@ export function getTableSchema(ctx, args) {
90
85
  };
91
86
  }
92
87
  // ─── validate_sql ─────────────────────────────────────────────────────────────
93
- export const validateSqlInput = {
94
- sql: z.string().describe('A read-only SELECT/WITH query to validate against the dbt schema.'),
95
- query: z
96
- .string()
97
- .optional()
98
- .describe('Optional original request, used to scope the grounding to relevant tables.'),
99
- };
88
+ export const validateSqlInput = zodInputShapeForTool('validate_sql');
100
89
  export async function validateSql(ctx, args) {
101
90
  const artifacts = loadArtifacts(ctx);
102
91
  if (!artifacts) {
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/tools/metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/tools/metadata.ts"],"names":[],"mappings":"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"}