@duckcodeailabs/dql-cli 1.6.5 → 1.6.7

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 (40) hide show
  1. package/dist/apps-api.d.ts.map +1 -1
  2. package/dist/apps-api.js +89 -8
  3. package/dist/apps-api.js.map +1 -1
  4. package/dist/args.d.ts +13 -0
  5. package/dist/args.d.ts.map +1 -1
  6. package/dist/args.js +24 -0
  7. package/dist/args.js.map +1 -1
  8. package/dist/assets/dql-notebook/assets/{index-L-zyCapt.js → index-BbGJ8gZk.js} +175 -172
  9. package/dist/assets/dql-notebook/assets/index-CIMLd3Cb.js +3289 -0
  10. package/dist/assets/dql-notebook/index.html +1 -1
  11. package/dist/commands/agent.d.ts +62 -2
  12. package/dist/commands/agent.d.ts.map +1 -1
  13. package/dist/commands/agent.js +307 -22
  14. package/dist/commands/agent.js.map +1 -1
  15. package/dist/commands/app.d.ts.map +1 -1
  16. package/dist/commands/app.js +3 -2
  17. package/dist/commands/app.js.map +1 -1
  18. package/dist/commands/compile.d.ts +3 -0
  19. package/dist/commands/compile.d.ts.map +1 -1
  20. package/dist/commands/compile.js +45 -10
  21. package/dist/commands/compile.js.map +1 -1
  22. package/dist/commands/sync.d.ts.map +1 -1
  23. package/dist/commands/sync.js +2 -1
  24. package/dist/commands/sync.js.map +1 -1
  25. package/dist/index.js +7 -5
  26. package/dist/index.js.map +1 -1
  27. package/dist/llm/providers/dql-agent-provider.d.ts.map +1 -1
  28. package/dist/llm/providers/dql-agent-provider.js +107 -5
  29. package/dist/llm/providers/dql-agent-provider.js.map +1 -1
  30. package/dist/llm/types.d.ts +19 -0
  31. package/dist/llm/types.d.ts.map +1 -1
  32. package/dist/local-runtime.d.ts +1 -0
  33. package/dist/local-runtime.d.ts.map +1 -1
  34. package/dist/local-runtime.js +228 -14
  35. package/dist/local-runtime.js.map +1 -1
  36. package/dist/package.json +10 -10
  37. package/dist/promote-from-draft.d.ts +4 -4
  38. package/dist/promote-from-draft.js +8 -8
  39. package/dist/promote-from-draft.js.map +1 -1
  40. package/package.json +11 -11
@@ -7,7 +7,7 @@
7
7
  <link rel="preconnect" href="https://fonts.googleapis.com" />
8
8
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
9
9
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&family=Kalam:wght@400;700&family=Caveat:wght@400;600;700&display=swap" rel="stylesheet" />
10
- <script type="module" crossorigin src="/assets/index-L-zyCapt.js"></script>
10
+ <script type="module" crossorigin src="/assets/index-BbGJ8gZk.js"></script>
11
11
  <link rel="modulepreload" crossorigin href="/assets/react-CRB3T2We.js">
12
12
  <link rel="modulepreload" crossorigin href="/assets/codemirror-DJYUkPr1.js">
13
13
  <link rel="stylesheet" crossorigin href="/assets/index-RaDW1A5g.css">
@@ -8,12 +8,72 @@
8
8
  * [--format json] (emits structured JSON instead of prose)
9
9
  *
10
10
  * dql agent reindex
11
- * Rebuilds .dql/cache/agent-kg.sqlite from the project's manifest +
12
- * Skills folder. Equivalent to `dql app reindex`.
11
+ * Rebuilds .dql/cache/agent-kg.sqlite and metadata.sqlite from the
12
+ * project's manifest + Skills folder. Equivalent to `dql app reindex`.
13
13
  *
14
14
  * dql agent feedback <up|down> --block <id> --question "..."
15
15
  * Records feedback into the KG. Used by clients without MCP access.
16
16
  */
17
+ import { answer, type AgentAnswer, type AgentFollowUpContext } from '@duckcodeailabs/dql-agent';
17
18
  import type { CLIFlags } from '../args.js';
18
19
  export declare function runAgent(sub: string | null, rest: string[], flags: CLIFlags): Promise<void>;
20
+ interface AgentEvalCase {
21
+ name?: string;
22
+ question: string;
23
+ domain?: string;
24
+ followUp?: AgentFollowUpContext;
25
+ selectedContext?: unknown;
26
+ expected?: {
27
+ sourceTier?: 'certified_artifact' | 'business_context' | 'semantic_layer' | 'dbt_manifest' | 'no_answer';
28
+ certification?: 'certified' | 'ai_generated' | 'analyst_review_required';
29
+ kind?: 'certified' | 'uncertified' | 'no_answer';
30
+ sqlContains?: string | string[];
31
+ sqlNotContains?: string | string[];
32
+ citationKind?: string;
33
+ noHallucinatedColumns?: string[];
34
+ route?: 'certified' | 'generated_sql' | 'research' | 'clarify';
35
+ intent?: string;
36
+ reviewStatus?: 'none' | 'draft_ready' | 'analyst_review_required' | 'certified';
37
+ missingContextKind?: string;
38
+ allowedRelationsOnly?: boolean;
39
+ allowedColumnsOnly?: boolean;
40
+ draftSaved?: boolean;
41
+ rows?: unknown[];
42
+ };
43
+ }
44
+ interface AgentEvalResult {
45
+ name: string;
46
+ passed: boolean;
47
+ failures: string[];
48
+ durationMs: number;
49
+ executionMs?: number;
50
+ kind: AgentAnswer['kind'];
51
+ route?: string;
52
+ intent?: string;
53
+ reviewStatus?: string;
54
+ contextObjects: number;
55
+ followUp: boolean;
56
+ draftSaved: boolean;
57
+ expected?: AgentEvalCase['expected'];
58
+ validationCode?: string;
59
+ }
60
+ declare function evaluateCase(testCase: AgentEvalCase, result: Awaited<ReturnType<typeof answer>>): {
61
+ failures: string[];
62
+ validationCode?: string;
63
+ };
64
+ declare function computeEvalMetrics(results: AgentEvalResult[]): {
65
+ certified_hit_rate: number | null;
66
+ generated_followup_pass_rate: number | null;
67
+ safe_refusal_rate: number | null;
68
+ wrong_certified_count: number;
69
+ outside_context_rejection_count: number;
70
+ draft_saved_count: number;
71
+ avg_context_objects: number;
72
+ avg_execution_ms: number | null;
73
+ };
74
+ export declare const __test__: {
75
+ computeEvalMetrics: typeof computeEvalMetrics;
76
+ evaluateCase: typeof evaluateCase;
77
+ };
78
+ export {};
19
79
  //# sourceMappingURL=agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAiBH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,QAAQ,GACd,OAAO,CAAC,IAAI,CAAC,CAmBf"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,EAQL,MAAM,EAOJ,KAAK,WAAW,EAChB,KAAK,oBAAoB,EAE1B,MAAM,2BAA2B,CAAC;AAErC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,QAAQ,GACd,OAAO,CAAC,IAAI,CAAC,CAmBf;AAkPD,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,oBAAoB,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,cAAc,GAAG,WAAW,CAAC;QACzG,aAAa,CAAC,EAAE,WAAW,GAAG,cAAc,GAAG,yBAAyB,CAAC;QACzE,IAAI,CAAC,EAAE,WAAW,GAAG,aAAa,GAAG,WAAW,CAAC;QACjD,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAChC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QACnC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;QACjC,KAAK,CAAC,EAAE,WAAW,GAAG,eAAe,GAAG,UAAU,GAAG,SAAS,CAAC;QAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,yBAAyB,GAAG,WAAW,CAAC;QAChF,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;KAClB,CAAC;CACH;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAgID,iBAAS,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,GAAG;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,CA0C1I;AAED,iBAAS,kBAAkB,CAAC,OAAO,EAAE,eAAe,EAAE;;;;;;;;;EA+BrD;AA4GD,eAAO,MAAM,QAAQ;;;CAGpB,CAAC"}
@@ -8,8 +8,8 @@
8
8
  * [--format json] (emits structured JSON instead of prose)
9
9
  *
10
10
  * dql agent reindex
11
- * Rebuilds .dql/cache/agent-kg.sqlite from the project's manifest +
12
- * Skills folder. Equivalent to `dql app reindex`.
11
+ * Rebuilds .dql/cache/agent-kg.sqlite and metadata.sqlite from the
12
+ * project's manifest + Skills folder. Equivalent to `dql app reindex`.
13
13
  *
14
14
  * dql agent feedback <up|down> --block <id> --question "..."
15
15
  * Records feedback into the KG. Used by clients without MCP access.
@@ -17,7 +17,7 @@
17
17
  import { existsSync, readFileSync } from 'node:fs';
18
18
  import { join } from 'node:path';
19
19
  import { load as loadYaml } from 'js-yaml';
20
- import { KGStore, MemoryStore, defaultKgPath, defaultMemoryPath, reindexProject, loadSkills, pickProvider, answer, } from '@duckcodeailabs/dql-agent';
20
+ import { KGStore, MemoryStore, defaultKgPath, defaultMemoryPath, reindexProject, loadSkills, pickProvider, answer, buildLocalContextPack, deriveGeneratedDraftSlug, recordQueryRun, upsertGeneratedDraft, validateSqlAgainstLocalContext, } from '@duckcodeailabs/dql-agent';
21
21
  import { buildManifest, resolveDbtManifestPath } from '@duckcodeailabs/dql-core';
22
22
  import { findProjectRoot } from '../local-runtime.js';
23
23
  export async function runAgent(sub, rest, flags) {
@@ -35,7 +35,7 @@ export async function runAgent(sub, rest, flags) {
35
35
  ' dql agent ask "<question>" [--provider claude|openai|gemini|ollama] [--user <id>] [--domain <d>]\n' +
36
36
  ' dql agent reindex\n' +
37
37
  ' dql agent feedback up|down --block <id> --question "..."\n' +
38
- ' dql agent eval agent-evals.yml [--provider claude|openai|gemini|ollama]');
38
+ ' dql agent eval agent-evals.yml [--provider claude|openai|gemini|ollama] [--execute] [--save]');
39
39
  }
40
40
  }
41
41
  async function runAsk(rest, flags) {
@@ -44,9 +44,7 @@ async function runAsk(rest, flags) {
44
44
  throw new Error('Usage: dql agent ask "<question>"');
45
45
  const projectRoot = findProjectRoot(process.cwd());
46
46
  const kgPath = defaultKgPath(projectRoot);
47
- if (!existsSync(kgPath)) {
48
- throw new Error('KG not built. Run `dql agent reindex` (or `dql app reindex`) before asking.');
49
- }
47
+ await reindexProject(projectRoot, { kgPath });
50
48
  const providerName = flags.provider;
51
49
  const userId = flags.user;
52
50
  const domain = flags.domain;
@@ -61,7 +59,12 @@ async function runAsk(rest, flags) {
61
59
  scopes: ['project', 'user', 'artifact'],
62
60
  limit: 6,
63
61
  });
62
+ const contextPack = await buildLocalContextPack(projectRoot, { question, limit: 80 }).catch(() => undefined);
64
63
  const manifest = buildManifest({ projectRoot, dbtManifestPath: resolveDbtManifestPath(projectRoot) ?? undefined });
64
+ const runtimeBase = flags.runtimeUrl
65
+ ?? flags.runtime
66
+ ?? process.env.DQL_RUNTIME_URL
67
+ ?? 'http://127.0.0.1:3474';
65
68
  const result = await answer({
66
69
  question,
67
70
  provider,
@@ -70,16 +73,13 @@ async function runAsk(rest, flags) {
70
73
  userId,
71
74
  domain,
72
75
  memoryContext,
76
+ contextPack,
73
77
  executeCertifiedBlock: async (node) => {
74
78
  const block = manifest.blocks[node.name] ?? manifest.blocks[node.nodeId.replace(/^block:/, '')];
75
79
  if (!block)
76
80
  throw new Error(`Matched block ${node.name} is not present in the manifest.`);
77
- const base = flags.runtimeUrl
78
- ?? flags.runtime
79
- ?? process.env.DQL_RUNTIME_URL
80
- ?? 'http://127.0.0.1:3474';
81
81
  const source = readFileSync(join(projectRoot, block.filePath), 'utf-8');
82
- const response = await fetch(`${base.replace(/\/$/, '')}/api/notebook/execute`, {
82
+ const response = await fetch(`${runtimeBase.replace(/\/$/, '')}/api/notebook/execute`, {
83
83
  method: 'POST',
84
84
  headers: { 'Content-Type': 'application/json' },
85
85
  body: JSON.stringify({
@@ -97,13 +97,76 @@ async function runAsk(rest, flags) {
97
97
  if (payload.error)
98
98
  throw new Error(payload.error);
99
99
  const rows = Array.isArray(payload.result?.rows) ? payload.result.rows : [];
100
- return {
100
+ const result = {
101
101
  columns: Array.isArray(payload.result?.columns) ? payload.result.columns : [],
102
102
  rows,
103
103
  rowCount: typeof payload.result?.rowCount === 'number' ? payload.result.rowCount : rows.length,
104
104
  executionTime: payload.result?.executionTime,
105
105
  blockName: node.name,
106
106
  };
107
+ recordCliQueryRun(projectRoot, {
108
+ objectKey: `dql:block:${node.name}`,
109
+ source: 'certified_block',
110
+ status: 'executed',
111
+ rowCount: result.rowCount,
112
+ durationMs: result.executionTime,
113
+ payload: { question, blockName: node.name },
114
+ });
115
+ return result;
116
+ },
117
+ executeGeneratedSql: async (sql) => {
118
+ const response = await fetch(`${runtimeBase.replace(/\/$/, '')}/api/notebook/execute`, {
119
+ method: 'POST',
120
+ headers: { 'Content-Type': 'application/json' },
121
+ body: JSON.stringify({
122
+ cell: {
123
+ id: `agent-generated-${Date.now().toString(36)}`,
124
+ type: 'sql',
125
+ source: sql,
126
+ title: question,
127
+ },
128
+ }),
129
+ });
130
+ if (!response.ok)
131
+ throw new Error(`Runtime returned ${response.status}: ${await response.text()}`);
132
+ const payload = (await response.json());
133
+ if (payload.error)
134
+ throw new Error(payload.error);
135
+ const rows = Array.isArray(payload.result?.rows) ? payload.result.rows : [];
136
+ const result = {
137
+ columns: Array.isArray(payload.result?.columns) ? payload.result.columns : [],
138
+ rows,
139
+ rowCount: typeof payload.result?.rowCount === 'number' ? payload.result.rowCount : rows.length,
140
+ executionTime: payload.result?.executionTime,
141
+ sql,
142
+ };
143
+ recordCliQueryRun(projectRoot, {
144
+ source: 'ai_draft',
145
+ status: 'executed',
146
+ rowCount: result.rowCount,
147
+ durationMs: result.executionTime,
148
+ payload: { question, sql },
149
+ });
150
+ return result;
151
+ },
152
+ captureGeneratedDraft: ({ question: draftQuestion, sql, intent, followUp, contextPack, sourceBlock, validationWarnings }) => {
153
+ const slug = deriveGeneratedDraftSlug(draftQuestion);
154
+ const proposedDomain = sourceBlock?.domain ?? contextPack?.objects.find((object) => object.domain)?.domain ?? domain ?? 'misc';
155
+ return upsertGeneratedDraft(projectRoot, {
156
+ slug,
157
+ question: draftQuestion,
158
+ proposedSql: sql,
159
+ proposedContractId: `${proposedDomain}.Unknown.${slug}`,
160
+ proposedDomain,
161
+ sourceQuestion: followUp?.sourceQuestion,
162
+ sourceBlock: followUp?.sourceBlockName ?? sourceBlock?.name,
163
+ followupKind: followUp?.kind,
164
+ requestedFilters: followUp?.filters,
165
+ requestedDimensions: followUp?.dimensions,
166
+ contextPackId: contextPack?.id,
167
+ routeIntent: String(intent),
168
+ validationWarnings,
169
+ });
107
170
  },
108
171
  });
109
172
  if (format === 'json') {
@@ -127,6 +190,10 @@ async function runAsk(rest, flags) {
127
190
  console.log(`\n--- Proposed SQL (review before saving as a block) ---\n${result.proposedSql}`);
128
191
  if (result.suggestedViz)
129
192
  console.log(`Viz: ${result.suggestedViz}`);
193
+ if (result.draftBlock?.path)
194
+ console.log(`Draft: ${result.draftBlock.path}`);
195
+ if (result.promoteCommand)
196
+ console.log(`Promote: ${result.promoteCommand}`);
130
197
  }
131
198
  }
132
199
  finally {
@@ -134,6 +201,14 @@ async function runAsk(rest, flags) {
134
201
  memory.close();
135
202
  }
136
203
  }
204
+ function recordCliQueryRun(projectRoot, run) {
205
+ try {
206
+ recordQueryRun(projectRoot, run);
207
+ }
208
+ catch {
209
+ // Local query-run history is advisory and must not block CLI answers.
210
+ }
211
+ }
137
212
  async function runReindex(flags) {
138
213
  const projectRoot = findProjectRoot(process.cwd());
139
214
  const stats = await reindexProject(projectRoot);
@@ -141,7 +216,7 @@ async function runReindex(flags) {
141
216
  console.log(JSON.stringify({ ok: true, ...stats }, null, 2));
142
217
  return;
143
218
  }
144
- console.log(` ✓ KG rebuilt — ${stats.nodes} nodes, ${stats.edges} edges, ${stats.skills} skill(s).`);
219
+ console.log(` ✓ KG and metadata catalog rebuilt — ${stats.nodes} nodes, ${stats.edges} edges, ${stats.skills} skill(s).`);
145
220
  }
146
221
  async function runFeedback(rest, flags) {
147
222
  const rating = rest[0];
@@ -192,14 +267,30 @@ async function runEval(rest, flags) {
192
267
  const kg = new KGStore(kgPath);
193
268
  const memory = new MemoryStore(defaultMemoryPath(projectRoot));
194
269
  const { skills } = loadSkills(projectRoot);
270
+ const execute = Boolean(flags.execute);
271
+ const runtimeBase = flags.runtimeUrl
272
+ ?? flags.runtime
273
+ ?? process.env.DQL_RUNTIME_URL
274
+ ?? 'http://127.0.0.1:3474';
275
+ const manifest = execute
276
+ ? buildManifest({ projectRoot, dbtManifestPath: resolveDbtManifestPath(projectRoot) ?? undefined })
277
+ : null;
195
278
  const results = [];
196
279
  try {
197
280
  for (const testCase of cases) {
281
+ const startedAt = Date.now();
198
282
  const memoryContext = memory.search({
199
283
  query: testCase.question,
200
284
  scopes: ['project', 'user', 'artifact'],
201
285
  limit: 6,
202
286
  });
287
+ const contextPack = await buildLocalContextPack(projectRoot, {
288
+ question: testCase.question,
289
+ surface: 'cli-eval',
290
+ followUp: testCase.followUp,
291
+ selectedContext: testCase.selectedContext,
292
+ limit: 80,
293
+ }).catch(() => undefined);
203
294
  const result = await answer({
204
295
  question: testCase.question,
205
296
  domain: testCase.domain,
@@ -207,12 +298,57 @@ async function runEval(rest, flags) {
207
298
  kg,
208
299
  skills,
209
300
  memoryContext,
301
+ followUp: testCase.followUp,
302
+ contextPack,
303
+ executeCertifiedBlock: execute && manifest
304
+ ? createCertifiedBlockExecutor(projectRoot, manifest, runtimeBase)
305
+ : undefined,
306
+ executeGeneratedSql: execute
307
+ ? createGeneratedSqlExecutor(runtimeBase)
308
+ : undefined,
309
+ captureGeneratedDraft: ({ question: draftQuestion, sql, intent, followUp, contextPack: draftContextPack, sourceBlock, validationWarnings }) => {
310
+ const slug = deriveGeneratedDraftSlug(draftQuestion);
311
+ const proposedDomain = sourceBlock?.domain ?? draftContextPack?.objects.find((object) => object.domain)?.domain ?? testCase.domain ?? 'misc';
312
+ if (!flags.save) {
313
+ return {
314
+ path: `blocks/_drafts/${slug}.dql`,
315
+ askedTimes: 0,
316
+ proposedContractId: `${proposedDomain}.Unknown.${slug}`,
317
+ };
318
+ }
319
+ return upsertGeneratedDraft(projectRoot, {
320
+ slug,
321
+ question: draftQuestion,
322
+ proposedSql: sql,
323
+ proposedContractId: `${proposedDomain}.Unknown.${slug}`,
324
+ proposedDomain,
325
+ sourceQuestion: followUp?.sourceQuestion,
326
+ sourceBlock: followUp?.sourceBlockName ?? sourceBlock?.name,
327
+ followupKind: followUp?.kind,
328
+ requestedFilters: followUp?.filters,
329
+ requestedDimensions: followUp?.dimensions,
330
+ contextPackId: draftContextPack?.id,
331
+ routeIntent: String(intent),
332
+ validationWarnings,
333
+ });
334
+ },
210
335
  });
211
- const failures = evaluateCase(testCase, result);
336
+ const evaluation = evaluateCase(testCase, result);
212
337
  results.push({
213
338
  name: testCase.name ?? testCase.question,
214
- passed: failures.length === 0,
215
- failures,
339
+ passed: evaluation.failures.length === 0,
340
+ failures: evaluation.failures,
341
+ durationMs: Date.now() - startedAt,
342
+ executionMs: result.result?.executionTime,
343
+ kind: result.kind,
344
+ route: result.contextPack?.routeDecision.route,
345
+ intent: result.contextPack?.routeDecision.intent,
346
+ reviewStatus: result.reviewStatus,
347
+ contextObjects: result.contextPack?.objects.length ?? 0,
348
+ followUp: Boolean(testCase.followUp),
349
+ draftSaved: Boolean(result.draftBlock?.path ?? result.draftBlockId),
350
+ expected: testCase.expected,
351
+ validationCode: evaluation.validationCode,
216
352
  });
217
353
  }
218
354
  }
@@ -221,8 +357,9 @@ async function runEval(rest, flags) {
221
357
  memory.close();
222
358
  }
223
359
  const passed = results.filter((r) => r.passed).length;
360
+ const metrics = computeEvalMetrics(results);
224
361
  if (flags.format === 'json') {
225
- console.log(JSON.stringify({ ok: passed === results.length, passed, total: results.length, results }, null, 2));
362
+ console.log(JSON.stringify({ ok: passed === results.length, passed, total: results.length, metrics, results }, null, 2));
226
363
  return;
227
364
  }
228
365
  for (const result of results) {
@@ -231,28 +368,176 @@ async function runEval(rest, flags) {
231
368
  console.log(` - ${failure}`);
232
369
  }
233
370
  console.log(`\n${passed}/${results.length} eval case(s) passed.`);
371
+ console.log(`Certified hit rate: ${formatRate(metrics.certified_hit_rate)}`);
372
+ console.log(`Generated follow-up pass rate: ${formatRate(metrics.generated_followup_pass_rate)}`);
373
+ console.log(`Safe refusal rate: ${formatRate(metrics.safe_refusal_rate)}`);
374
+ console.log(`Wrong certified count: ${metrics.wrong_certified_count}`);
375
+ console.log(`Draft saved count: ${metrics.draft_saved_count}`);
234
376
  if (passed !== results.length)
235
377
  process.exitCode = 1;
236
378
  }
237
379
  function evaluateCase(testCase, result) {
238
380
  const expected = testCase.expected;
239
381
  if (!expected)
240
- return [];
382
+ return { failures: [] };
241
383
  const failures = [];
384
+ let validationCode;
242
385
  if (expected.kind && result.kind !== expected.kind)
243
386
  failures.push(`kind expected ${expected.kind}, got ${result.kind}`);
244
387
  if (expected.sourceTier && result.sourceTier !== expected.sourceTier)
245
388
  failures.push(`sourceTier expected ${expected.sourceTier}, got ${result.sourceTier}`);
246
389
  if (expected.certification && result.certification !== expected.certification)
247
390
  failures.push(`certification expected ${expected.certification}, got ${result.certification}`);
248
- if (expected.sqlContains && !result.proposedSql?.toLowerCase().includes(expected.sqlContains.toLowerCase()))
249
- failures.push(`SQL did not contain "${expected.sqlContains}"`);
391
+ if (expected.reviewStatus && result.reviewStatus !== expected.reviewStatus)
392
+ failures.push(`reviewStatus expected ${expected.reviewStatus}, got ${result.reviewStatus}`);
393
+ if (expected.route && result.contextPack?.routeDecision.route !== expected.route)
394
+ failures.push(`route expected ${expected.route}, got ${result.contextPack?.routeDecision.route ?? 'none'}`);
395
+ if (expected.intent && result.contextPack?.routeDecision.intent !== expected.intent)
396
+ failures.push(`intent expected ${expected.intent}, got ${result.contextPack?.routeDecision.intent ?? 'none'}`);
397
+ if (expected.missingContextKind && !result.contextPack?.missingContext.some((item) => item.kind === expected.missingContextKind))
398
+ failures.push(`missing context kind ${expected.missingContextKind} was not reported`);
399
+ for (const token of stringList(expected.sqlContains)) {
400
+ if (!result.proposedSql?.toLowerCase().includes(token.toLowerCase()))
401
+ failures.push(`SQL did not contain "${token}"`);
402
+ }
403
+ for (const token of stringList(expected.sqlNotContains)) {
404
+ if (result.proposedSql?.toLowerCase().includes(token.toLowerCase()))
405
+ failures.push(`SQL contained forbidden token "${token}"`);
406
+ }
250
407
  if (expected.citationKind && !result.citations.some((c) => c.kind === expected.citationKind))
251
408
  failures.push(`missing citation kind ${expected.citationKind}`);
252
409
  for (const column of expected.noHallucinatedColumns ?? []) {
253
410
  if (result.proposedSql?.toLowerCase().includes(column.toLowerCase()))
254
411
  failures.push(`hallucinated forbidden column "${column}"`);
255
412
  }
256
- return failures;
413
+ if (expected.draftSaved !== undefined) {
414
+ const saved = Boolean(result.draftBlock?.path ?? result.draftBlockId);
415
+ if (saved !== expected.draftSaved)
416
+ failures.push(`draftSaved expected ${expected.draftSaved}, got ${saved}`);
417
+ }
418
+ if ((expected.allowedRelationsOnly || expected.allowedColumnsOnly) && result.proposedSql) {
419
+ const validation = validateSqlAgainstLocalContext(result.proposedSql, result.contextPack, {
420
+ question: testCase.question,
421
+ intent: result.contextPack?.routeDecision.intent,
422
+ filterValues: testCase.followUp?.filters,
423
+ });
424
+ if (!validation.ok) {
425
+ validationCode = validation.code;
426
+ failures.push(`SQL context validation failed (${validation.code}): ${validation.error}`);
427
+ }
428
+ }
429
+ if (expected.rows) {
430
+ const actualRows = result.result?.rows ?? [];
431
+ if (!rowsEqual(actualRows, expected.rows))
432
+ failures.push('executed rows did not match expected rows');
433
+ }
434
+ return { failures, validationCode };
435
+ }
436
+ function computeEvalMetrics(results) {
437
+ const certifiedCases = results.filter((result) => result.expected?.kind === 'certified' ||
438
+ result.expected?.certification === 'certified' ||
439
+ result.expected?.route === 'certified');
440
+ const generatedFollowUpCases = results.filter((result) => result.followUp &&
441
+ (result.expected?.kind === 'uncertified' || result.expected?.route === 'generated_sql'));
442
+ const refusalCases = results.filter((result) => result.expected?.kind === 'no_answer' || result.expected?.route === 'clarify');
443
+ const executionTimes = results
444
+ .map((result) => result.executionMs)
445
+ .filter((value) => typeof value === 'number' && Number.isFinite(value));
446
+ return {
447
+ certified_hit_rate: ratio(certifiedCases.filter((result) => result.passed && result.kind === 'certified').length, certifiedCases.length),
448
+ generated_followup_pass_rate: ratio(generatedFollowUpCases.filter((result) => result.passed).length, generatedFollowUpCases.length),
449
+ safe_refusal_rate: ratio(refusalCases.filter((result) => result.passed && result.kind === 'no_answer').length, refusalCases.length),
450
+ wrong_certified_count: results.filter((result) => result.kind === 'certified' &&
451
+ (result.expected?.kind ? result.expected.kind !== 'certified' : result.followUp)).length,
452
+ outside_context_rejection_count: results.filter((result) => result.validationCode === 'unknown_relation' || result.validationCode === 'unknown_column').length,
453
+ draft_saved_count: results.filter((result) => result.draftSaved).length,
454
+ avg_context_objects: average(results.map((result) => result.contextObjects)),
455
+ avg_execution_ms: executionTimes.length ? average(executionTimes) : null,
456
+ };
457
+ }
458
+ function ratio(numerator, denominator) {
459
+ if (denominator === 0)
460
+ return null;
461
+ return Number((numerator / denominator).toFixed(4));
462
+ }
463
+ function average(values) {
464
+ if (values.length === 0)
465
+ return 0;
466
+ return Number((values.reduce((sum, value) => sum + value, 0) / values.length).toFixed(2));
467
+ }
468
+ function formatRate(value) {
469
+ return value === null ? 'n/a' : `${Math.round(value * 1000) / 10}%`;
470
+ }
471
+ function stringList(value) {
472
+ if (!value)
473
+ return [];
474
+ return Array.isArray(value) ? value : [value];
475
+ }
476
+ function rowsEqual(actual, expected) {
477
+ return JSON.stringify(normalizeRows(actual)) === JSON.stringify(normalizeRows(expected));
478
+ }
479
+ function normalizeRows(rows) {
480
+ return rows.map((row) => {
481
+ if (!row || typeof row !== 'object' || Array.isArray(row))
482
+ return row;
483
+ return Object.fromEntries(Object.entries(row).sort(([a], [b]) => a.localeCompare(b)));
484
+ });
485
+ }
486
+ function createCertifiedBlockExecutor(projectRoot, manifest, runtimeBase) {
487
+ return async (node) => {
488
+ const block = manifest.blocks[node.name] ?? manifest.blocks[node.nodeId.replace(/^block:/, '')];
489
+ if (!block)
490
+ throw new Error(`Matched block ${node.name} is not present in the manifest.`);
491
+ const source = readFileSync(join(projectRoot, block.filePath), 'utf-8');
492
+ const payload = await executeRuntimeCell(runtimeBase, {
493
+ id: `agent-eval-${node.name}`,
494
+ type: 'dql',
495
+ source,
496
+ title: node.name,
497
+ });
498
+ const rows = Array.isArray(payload.result?.rows) ? payload.result.rows : [];
499
+ return {
500
+ columns: Array.isArray(payload.result?.columns) ? payload.result.columns : [],
501
+ rows,
502
+ rowCount: typeof payload.result?.rowCount === 'number' ? payload.result.rowCount : rows.length,
503
+ executionTime: payload.result?.executionTime,
504
+ blockName: node.name,
505
+ };
506
+ };
507
+ }
508
+ function createGeneratedSqlExecutor(runtimeBase) {
509
+ return async (sql) => {
510
+ const payload = await executeRuntimeCell(runtimeBase, {
511
+ id: `agent-eval-generated-${Date.now().toString(36)}`,
512
+ type: 'sql',
513
+ source: sql,
514
+ title: 'agent eval generated SQL',
515
+ });
516
+ const rows = Array.isArray(payload.result?.rows) ? payload.result.rows : [];
517
+ return {
518
+ columns: Array.isArray(payload.result?.columns) ? payload.result.columns : [],
519
+ rows,
520
+ rowCount: typeof payload.result?.rowCount === 'number' ? payload.result.rowCount : rows.length,
521
+ executionTime: payload.result?.executionTime,
522
+ sql,
523
+ };
524
+ };
525
+ }
526
+ async function executeRuntimeCell(runtimeBase, cell) {
527
+ const response = await fetch(`${runtimeBase.replace(/\/$/, '')}/api/notebook/execute`, {
528
+ method: 'POST',
529
+ headers: { 'Content-Type': 'application/json' },
530
+ body: JSON.stringify({ cell }),
531
+ });
532
+ if (!response.ok)
533
+ throw new Error(`Runtime returned ${response.status}: ${await response.text()}`);
534
+ const payload = (await response.json());
535
+ if (payload.error)
536
+ throw new Error(payload.error);
537
+ return payload;
257
538
  }
539
+ export const __test__ = {
540
+ computeEvalMetrics,
541
+ evaluateCase,
542
+ };
258
543
  //# sourceMappingURL=agent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/commands/app.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAWH,OAAO,EASL,KAAK,WAAW,EACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAK3C,wBAAsB,MAAM,CAC1B,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,QAAQ,GACd,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAwWD,UAAU,WAAY,SAAQ,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC;IAC3D,UAAU,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClD;AAED,iBAAS,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,EAAE,CAkDvD;AAOD,iBAAS,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAQpC;AAGD,eAAO,MAAM,QAAQ;;;CAGpB,CAAC"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/commands/app.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAWH,OAAO,EASL,KAAK,WAAW,EACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAK3C,wBAAsB,MAAM,CAC1B,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,QAAQ,GACd,OAAO,CAAC,IAAI,CAAC,CA0Bf;AA0WD,UAAU,WAAY,SAAQ,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC;IAC3D,UAAU,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClD;AAED,iBAAS,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,EAAE,CAkDvD;AAOD,iBAAS,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAQpC;AAGD,eAAO,MAAM,QAAQ;;;CAGpB,CAAC"}