@duckcodeailabs/dql-cli 1.14.1 → 1.14.2
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/assets/dql-notebook/assets/{AgentLogPage-BPz-UWFh.js → AgentLogPage-DKbGpRQS.js} +1 -1
- package/dist/assets/dql-notebook/assets/{AiBuildDialog-BEl53WA_.js → AiBuildDialog-DPSu0Mly.js} +1 -1
- package/dist/assets/dql-notebook/assets/{AiBuildResult-B4yfGTTZ.js → AiBuildResult-1uaGnpi1.js} +1 -1
- package/dist/assets/dql-notebook/assets/{AiSidePanel-CSZAAvuD.js → AiSidePanel-BwMREwa7.js} +1 -1
- package/dist/assets/dql-notebook/assets/{AnalyticsHome-D5P6Ujwi.js → AnalyticsHome-BGfey_ve.js} +1 -1
- package/dist/assets/dql-notebook/assets/{AppsView-DQOwU9Cg.js → AppsView-CM1tPywy.js} +4 -4
- package/dist/assets/dql-notebook/assets/{BlockStudio-B4ap0GdY.js → BlockStudio--S6WFVO4.js} +1 -1
- package/dist/assets/dql-notebook/assets/{BusinessArtifactView-BIfNI-0S.js → BusinessArtifactView-BEAJ-yNW.js} +1 -1
- package/dist/assets/dql-notebook/assets/{DbtFirstModelingPage-D72byb2g.js → DbtFirstModelingPage-CNyU5MBX.js} +1 -1
- package/dist/assets/dql-notebook/assets/{GitPage-lQb1uXH2.js → GitPage-IcydAai3.js} +1 -1
- package/dist/assets/dql-notebook/assets/{GlobalAiRail-CVECf6Xj.js → GlobalAiRail-CSKW-5eD.js} +1 -1
- package/dist/assets/dql-notebook/assets/{GovernedContextPage-trOyMCY6.js → GovernedContextPage-CFen0eFT.js} +1 -1
- package/dist/assets/dql-notebook/assets/{HelpDocsPage-D8hLS5lE.js → HelpDocsPage-D0D9UCIz.js} +1 -1
- package/dist/assets/dql-notebook/assets/{HomePage-eIkfBIep.js → HomePage-CmSxapR3.js} +1 -1
- package/dist/assets/dql-notebook/assets/{LineageDAG-CSqcbDrE.js → LineageDAG-BGUcIt1B.js} +1 -1
- package/dist/assets/dql-notebook/assets/{LineageDetailView-DJZZjZu-.js → LineageDetailView-Dx48Zfzb.js} +1 -1
- package/dist/assets/dql-notebook/assets/{LineageDrawer-BcIipIc3.js → LineageDrawer-zaBfSLZO.js} +1 -1
- package/dist/assets/dql-notebook/assets/{LineagePathBreadcrumb-CviIf8PN.js → LineagePathBreadcrumb-CTZJp4_r.js} +1 -1
- package/dist/assets/dql-notebook/assets/{MiniLineageGraph-vH_MY_Ju.js → MiniLineageGraph-CdivNR1S.js} +1 -1
- package/dist/assets/dql-notebook/assets/{NewBlockModal-DbCQg-pj.js → NewBlockModal-DMBFB7nE.js} +1 -1
- package/dist/assets/dql-notebook/assets/{NewNotebookModal-5Vp6XiuK.js → NewNotebookModal-DsC9CWlW.js} +1 -1
- package/dist/assets/dql-notebook/assets/{NotebookEditor-DjqJS44s.js → NotebookEditor-hs-kw8v9.js} +1 -1
- package/dist/assets/dql-notebook/assets/{ReadinessPage-BHGrC5ho.js → ReadinessPage-DJ83cMik.js} +1 -1
- package/dist/assets/dql-notebook/assets/{SetupOnboarding-BfS9Tdx-.js → SetupOnboarding-B1Pu_Bvv.js} +1 -1
- package/dist/assets/dql-notebook/assets/{SkillsPage-BFH21wSj.js → SkillsPage-BHKDay8n.js} +1 -1
- package/dist/assets/dql-notebook/assets/{TrustBadge-zm6g_SxZ.js → TrustBadge-BkyGgob2.js} +1 -1
- package/dist/assets/dql-notebook/assets/UnifiedAgentRunPanel-BYdrTaEW.js +89 -0
- package/dist/assets/dql-notebook/assets/{answer-to-notebook-DPhxIEzF.js → answer-to-notebook-DmNiuLQA.js} +1 -1
- package/dist/assets/dql-notebook/assets/{arrow-left-DNEb86Xc.js → arrow-left--1rsrxm8.js} +1 -1
- package/dist/assets/dql-notebook/assets/{arrow-right-DpPWbwaD.js → arrow-right-D5TdqY1G.js} +1 -1
- package/dist/assets/dql-notebook/assets/{book-open-text-D7s5jo4X.js → book-open-text-Bw7nHbzg.js} +1 -1
- package/dist/assets/dql-notebook/assets/{circle-x-Db3dXKg7.js → circle-x-DLe6NNM4.js} +1 -1
- package/dist/assets/dql-notebook/assets/{dagre.esm-C7pppQ1a.js → dagre.esm-CW5QZdBt.js} +1 -1
- package/dist/assets/dql-notebook/assets/{external-link-BxwXitO_.js → external-link-C9Q97sA3.js} +1 -1
- package/dist/assets/dql-notebook/assets/{grip-vertical-Dt4lkWRi.js → grip-vertical-CztvkIgo.js} +1 -1
- package/dist/assets/dql-notebook/assets/{index-DKo-bwNw.js → index-zHHzDn6l.js} +127 -127
- package/dist/assets/dql-notebook/assets/{link-2-Dfo2P6wi.js → link-2-CiKAvumL.js} +1 -1
- package/dist/assets/dql-notebook/assets/{list-tree-DiTmIWAL.js → list-tree-BtnP2nQ5.js} +1 -1
- package/dist/assets/dql-notebook/assets/{minimize-2-CMTAkPzL.js → minimize-2-TSFGxcCP.js} +1 -1
- package/dist/assets/dql-notebook/assets/{panel-right-open-DwYr7FW4.js → panel-right-open-BfXIUWy0.js} +1 -1
- package/dist/assets/dql-notebook/assets/{play-BXhHYQ4x.js → play-DVbSFJHD.js} +1 -1
- package/dist/assets/dql-notebook/assets/{rotate-ccw-BNi6F8pl.js → rotate-ccw-D_cesDcX.js} +1 -1
- package/dist/assets/dql-notebook/assets/{semantic-fields-CNOGysAy.js → semantic-fields-CoVStdYB.js} +1 -1
- package/dist/assets/dql-notebook/assets/{sliders-horizontal-Ec5MUMUW.js → sliders-horizontal-l7xV9K5A.js} +1 -1
- package/dist/assets/dql-notebook/assets/{star-B9leDkp_.js → star-CSBS0H3b.js} +1 -1
- package/dist/assets/dql-notebook/assets/{triangle-alert-BefTYCzx.js → triangle-alert-BTrnyY4q.js} +1 -1
- package/dist/assets/dql-notebook/assets/{upload-SPiOM2tQ.js → upload-sySLq9zb.js} +1 -1
- package/dist/assets/dql-notebook/assets/{usePersistedAgentThreadId-C4foXeiQ.js → usePersistedAgentThreadId-CzwgGdus.js} +1 -1
- package/dist/assets/dql-notebook/assets/{user-round-comGmyw-.js → user-round-ChlgXi9j.js} +1 -1
- package/dist/assets/dql-notebook/assets/{wand-sparkles-BffR4dF8.js → wand-sparkles-CGw0ytyT.js} +1 -1
- package/dist/assets/dql-notebook/assets/{workflow-ChmPTEzH.js → workflow-C_RltiK5.js} +1 -1
- package/dist/assets/dql-notebook/assets/{wrench-DovaG_ze.js → wrench-D-wLfeu0.js} +1 -1
- package/dist/assets/dql-notebook/assets/{x-nRx91AgW.js → x-B28hIJIC.js} +1 -1
- package/dist/assets/dql-notebook/index.html +1 -1
- package/dist/commands/agent-eval-cassette.d.ts +97 -6
- package/dist/commands/agent-eval-cassette.d.ts.map +1 -1
- package/dist/commands/agent-eval-cassette.js +165 -22
- package/dist/commands/agent-eval-cassette.js.map +1 -1
- package/dist/commands/agent-eval-runtime.d.ts +14 -2
- package/dist/commands/agent-eval-runtime.d.ts.map +1 -1
- package/dist/commands/agent-eval-runtime.js +12 -2
- package/dist/commands/agent-eval-runtime.js.map +1 -1
- package/dist/commands/agent.d.ts +9 -3
- package/dist/commands/agent.d.ts.map +1 -1
- package/dist/commands/agent.js +126 -49
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/compile.d.ts +13 -1
- package/dist/commands/compile.d.ts.map +1 -1
- package/dist/commands/compile.js +36 -4
- package/dist/commands/compile.js.map +1 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +11 -3
- package/dist/commands/sync.js.map +1 -1
- package/dist/llm/providers/dql-agent-provider.d.ts +28 -1
- package/dist/llm/providers/dql-agent-provider.d.ts.map +1 -1
- package/dist/llm/providers/dql-agent-provider.js +272 -22
- package/dist/llm/providers/dql-agent-provider.js.map +1 -1
- package/dist/llm/types.d.ts +29 -1
- package/dist/llm/types.d.ts.map +1 -1
- package/dist/local-runtime.d.ts +16 -1
- package/dist/local-runtime.d.ts.map +1 -1
- package/dist/local-runtime.js +824 -66
- package/dist/local-runtime.js.map +1 -1
- package/dist/package.json +10 -10
- package/package.json +10 -10
- package/dist/assets/dql-notebook/assets/UnifiedAgentRunPanel--oxmjlgr.js +0 -88
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-eval-cassette.js","sourceRoot":"","sources":["../../src/commands/agent-eval-cassette.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-eval-cassette.js","sourceRoot":"","sources":["../../src/commands/agent-eval-cassette.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ import type { AgentAnswer, AgentRun, AgentRunRoute, AgentRunStatus, AgentRunTrus
|
|
|
17
17
|
/** Eval-facing view of a run, shaped like the fields the scorer already reads. */
|
|
18
18
|
export interface RuntimeDrivenRun {
|
|
19
19
|
kind: 'certified' | 'uncertified' | 'no_answer';
|
|
20
|
-
route?: 'certified' | 'generated_sql' | 'research' | 'clarify';
|
|
20
|
+
route?: 'certified' | 'generated_sql' | 'research' | 'clarify' | 'blocked';
|
|
21
21
|
runRoute: AgentRunRoute;
|
|
22
22
|
status: AgentRunStatus;
|
|
23
23
|
trustState: AgentRunTrustState;
|
|
@@ -42,8 +42,20 @@ export interface RuntimeDrivenRun {
|
|
|
42
42
|
* ambiguous question then clarifies. That is correct behaviour, but it makes a
|
|
43
43
|
* clarification rate measured without a provider meaningless, so the harness
|
|
44
44
|
* has to be able to say so.
|
|
45
|
-
|
|
45
|
+
*/
|
|
46
46
|
meaningResolved: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Count captured by the persisted router retrieval receipt. This is not a
|
|
49
|
+
* synthetic context-pack size: runtime runs do not return an AgentAnswer
|
|
50
|
+
* context pack through the transport projection.
|
|
51
|
+
*/
|
|
52
|
+
retrievalCandidateCount?: number;
|
|
53
|
+
/** Source-lane coverage retained by the router-owned cascade receipt. */
|
|
54
|
+
sourceCoverage?: NonNullable<AgentRun['diagnosticReceiptV3']>['sourceCoverage'];
|
|
55
|
+
/** Typed terminal authority, distinct from a user-facing clarification. */
|
|
56
|
+
terminalOutcome?: NonNullable<AgentRun['routeDecision']>['terminalOutcome'];
|
|
57
|
+
/** Provider/tool count recorded by persisted runtime telemetry. */
|
|
58
|
+
toolCallCount: number;
|
|
47
59
|
}
|
|
48
60
|
/**
|
|
49
61
|
* Did this run decline to produce a usable answer?
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-eval-runtime.d.ts","sourceRoot":"","sources":["../../src/commands/agent-eval-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE1H,kFAAkF;AAClF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,GAAG,aAAa,GAAG,WAAW,CAAC;IAChD,KAAK,CAAC,EAAE,WAAW,GAAG,eAAe,GAAG,UAAU,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-eval-runtime.d.ts","sourceRoot":"","sources":["../../src/commands/agent-eval-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE1H,kFAAkF;AAClF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,GAAG,aAAa,GAAG,WAAW,CAAC;IAChD,KAAK,CAAC,EAAE,WAAW,GAAG,eAAe,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;IAC3E,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,wBAAwB,EAAE,MAAM,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,cAAc,EAAE,OAAO,CAAC;IACxB;;;;;;;;;MASE;IACF,eAAe,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,yEAAyE;IACzE,cAAc,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAChF,2EAA2E;IAC3E,eAAe,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC5E,mEAAmE;IACnE,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,CAAC,GAAG,OAAO,CAKlF;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAa/E;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,GAAG,YAAY,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAI/G;AAYD,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,QAAQ,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;CAAE,CAe3F;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,QAAQ,GAAG,gBAAgB,CAuBjE;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,UAAU,CAAC;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,CA8BtF;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAuB/D"}
|
|
@@ -19,8 +19,11 @@ export function evalRouteForRun(route) {
|
|
|
19
19
|
case 'semantic_answer': return 'certified';
|
|
20
20
|
case 'generated_answer': return 'generated_sql';
|
|
21
21
|
case 'research': return 'research';
|
|
22
|
-
case 'clarify':
|
|
23
|
-
|
|
22
|
+
case 'clarify': return 'clarify';
|
|
23
|
+
// A typed terminal modeling/policy gap is not a clarification. Collapsing
|
|
24
|
+
// it to `clarify` made eval reports claim the user had a choice when the
|
|
25
|
+
// persisted run explicitly recorded a blocked no-answer.
|
|
26
|
+
case 'blocked': return 'blocked';
|
|
24
27
|
default: return undefined;
|
|
25
28
|
}
|
|
26
29
|
}
|
|
@@ -65,6 +68,9 @@ export function runtimeRunOutputs(run) {
|
|
|
65
68
|
}
|
|
66
69
|
export function projectRuntimeRun(run) {
|
|
67
70
|
const refusalEvaluation = (run.evaluations ?? []).find((evaluation) => !evaluation.passed);
|
|
71
|
+
const sourceCoverage = run.diagnosticReceiptV3?.sourceCoverage
|
|
72
|
+
?? run.routeDecision?.analyticalCascadeDecision?.sourceCoverage;
|
|
73
|
+
const retrievalCandidateCount = run.routeDecision?.retrievalEvidence?.candidateCount;
|
|
68
74
|
return {
|
|
69
75
|
kind: evalKindForRun(run),
|
|
70
76
|
route: evalRouteForRun(run.route),
|
|
@@ -75,6 +81,10 @@ export function projectRuntimeRun(run) {
|
|
|
75
81
|
runId: run.id,
|
|
76
82
|
conversational: run.route === 'conversation' || run.answerKind === 'conversational',
|
|
77
83
|
meaningResolved: Boolean(run.routeDecision?.meaningResolution),
|
|
84
|
+
toolCallCount: run.telemetry?.toolCalls ?? 0,
|
|
85
|
+
...(typeof retrievalCandidateCount === 'number' ? { retrievalCandidateCount } : {}),
|
|
86
|
+
...(sourceCoverage ? { sourceCoverage } : {}),
|
|
87
|
+
...(run.routeDecision?.terminalOutcome ? { terminalOutcome: run.routeDecision.terminalOutcome } : {}),
|
|
78
88
|
...(run.answer ? { answer: run.answer } : {}),
|
|
79
89
|
...(refusalEvaluation?.id ? { refusalCode: refusalEvaluation.id } : {}),
|
|
80
90
|
...runtimeRunOutputs(run),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-eval-runtime.js","sourceRoot":"","sources":["../../src/commands/agent-eval-runtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent-eval-runtime.js","sourceRoot":"","sources":["../../src/commands/agent-eval-runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/agent.d.ts
CHANGED
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
* dql agent feedback <up|down> --block <id> --question "..."
|
|
22
22
|
* Records feedback into the KG. Used by clients without MCP access.
|
|
23
23
|
*/
|
|
24
|
+
import { type RuntimeDrivenRun } from './agent-eval-runtime.js';
|
|
24
25
|
import { answer, type AgentAnswer, type AgentFollowUpContext, type AnalysisDepth, type NarrationIntegrityReceiptV1, type ReasoningEffort } from '@duckcodeailabs/dql-agent';
|
|
25
26
|
import type { CLIFlags } from '../args.js';
|
|
26
27
|
declare function cliReasoningEffort(flags: CLIFlags): ReasoningEffort | undefined;
|
|
@@ -40,10 +41,12 @@ interface AgentEvalCase {
|
|
|
40
41
|
sqlNotContains?: string | string[];
|
|
41
42
|
citationKind?: string;
|
|
42
43
|
noHallucinatedColumns?: string[];
|
|
43
|
-
route?: 'certified' | 'generated_sql' | 'research' | 'clarify';
|
|
44
|
+
route?: 'certified' | 'generated_sql' | 'research' | 'clarify' | 'blocked';
|
|
44
45
|
intent?: string;
|
|
45
46
|
reviewStatus?: 'none' | 'draft_ready' | 'analyst_review_required' | 'certified';
|
|
46
47
|
missingContextKind?: string;
|
|
48
|
+
/** Persisted router terminal outcome required for runtime-driven gap cases. */
|
|
49
|
+
terminalOutcomeKind?: 'modeling_gap' | 'policy_blocked';
|
|
47
50
|
allowedRelationsOnly?: boolean;
|
|
48
51
|
allowedColumnsOnly?: boolean;
|
|
49
52
|
draftSaved?: boolean;
|
|
@@ -88,7 +91,8 @@ interface AgentEvalResult {
|
|
|
88
91
|
route?: string;
|
|
89
92
|
intent?: string;
|
|
90
93
|
reviewStatus?: string;
|
|
91
|
-
|
|
94
|
+
/** Undefined when the runtime did not persist a retrieval count. */
|
|
95
|
+
contextObjects?: number;
|
|
92
96
|
followUp: boolean;
|
|
93
97
|
draftSaved: boolean;
|
|
94
98
|
expected?: AgentEvalCase['expected'];
|
|
@@ -117,7 +121,7 @@ interface AgentEvalTraceStage {
|
|
|
117
121
|
message: string;
|
|
118
122
|
payload?: unknown;
|
|
119
123
|
}
|
|
120
|
-
declare function evaluateCase(testCase: AgentEvalCase, result: Awaited<ReturnType<typeof answer
|
|
124
|
+
declare function evaluateCase(testCase: AgentEvalCase, result: Awaited<ReturnType<typeof answer>>, runtime?: RuntimeDrivenRun): {
|
|
121
125
|
failures: string[];
|
|
122
126
|
validationCode?: string;
|
|
123
127
|
executionMatched?: boolean;
|
|
@@ -225,6 +229,8 @@ declare function buildEvalTrace(input: {
|
|
|
225
229
|
evaluation: ReturnType<typeof evaluateCase>;
|
|
226
230
|
durationMs: number;
|
|
227
231
|
draftSaved: boolean;
|
|
232
|
+
/** Persisted runtime evidence; never projected into a synthetic context pack. */
|
|
233
|
+
runtime?: RuntimeDrivenRun;
|
|
228
234
|
}): AgentEvalTraceStage[];
|
|
229
235
|
export declare const __test__: {
|
|
230
236
|
agentEvalThresholdsPass: typeof agentEvalThresholdsPass;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/agent.js
CHANGED
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
* dql agent feedback <up|down> --block <id> --question "..."
|
|
22
22
|
* Records feedback into the KG. Used by clients without MCP access.
|
|
23
23
|
*/
|
|
24
|
-
import { answerFromRuntimeRun, driveViaRuntime,
|
|
25
|
-
import { CassetteStore, cassetteDirFor, withCassette } from './agent-eval-cassette.js';
|
|
24
|
+
import { answerFromRuntimeRun, driveViaRuntime, projectRuntimeRun, } from './agent-eval-runtime.js';
|
|
25
|
+
import { CassetteStore, cassetteEvidenceSummary, cassetteDirFor, evalCassetteCanonicalizationV2, withCassette, } from './agent-eval-cassette.js';
|
|
26
26
|
import { existsSync, readFileSync } from 'node:fs';
|
|
27
27
|
import { join, resolve } from 'node:path';
|
|
28
28
|
import { load as loadYaml } from 'js-yaml';
|
|
@@ -559,7 +559,7 @@ async function runEval(rest, flags) {
|
|
|
559
559
|
// started with DQL_EVAL_CASSETTE_DIR, since it owns its own provider.
|
|
560
560
|
const cassetteMode = flags.cassette;
|
|
561
561
|
const provider = cassetteMode === 'record' || cassetteMode === 'replay'
|
|
562
|
-
? withCassette(rawProvider, new CassetteStore(cassetteDirFor(projectRoot, rest[0] ?? 'agent-evals')), cassetteMode)
|
|
562
|
+
? withCassette(rawProvider, new CassetteStore(cassetteDirFor(projectRoot, rest[0] ?? 'agent-evals')), cassetteMode, evalCassetteCanonicalizationV2(projectRoot))
|
|
563
563
|
: rawProvider;
|
|
564
564
|
const reasoningEffort = cliReasoningEffort(flags);
|
|
565
565
|
const requestedDepth = cliAnalysisDepth(flags);
|
|
@@ -633,6 +633,11 @@ async function runEval(rest, flags) {
|
|
|
633
633
|
const runtimeRun = via === 'runtime'
|
|
634
634
|
? await driveViaRuntime({ runtimeBase, question: testCase.question })
|
|
635
635
|
: undefined;
|
|
636
|
+
// Runtime mode is scored from the persisted AgentRun. The transport
|
|
637
|
+
// adapter intentionally has no AgentAnswer.contextPack, so borrowing the
|
|
638
|
+
// local preflight pack here would fabricate retrieval/route evidence for a
|
|
639
|
+
// different execution path.
|
|
640
|
+
const runtimeProjection = runtimeRun ? projectRuntimeRun(runtimeRun) : undefined;
|
|
636
641
|
const result = runtimeRun
|
|
637
642
|
? answerFromRuntimeRun(runtimeRun)
|
|
638
643
|
: await answer({
|
|
@@ -713,7 +718,7 @@ async function runEval(rest, flags) {
|
|
|
713
718
|
});
|
|
714
719
|
},
|
|
715
720
|
});
|
|
716
|
-
const evaluation = evaluateCase(testCase, result);
|
|
721
|
+
const evaluation = evaluateCase(testCase, result, runtimeProjection);
|
|
717
722
|
const durationMs = Date.now() - startedAt;
|
|
718
723
|
const draftSaved = Boolean(result.draftBlock?.path ?? result.draftBlockId);
|
|
719
724
|
const narration = narrationOutcomeForEval(runtimeRun?.narrationIntegrityReceipt);
|
|
@@ -740,7 +745,7 @@ async function runEval(rest, flags) {
|
|
|
740
745
|
executionMatched: evaluation.executionMatched,
|
|
741
746
|
...(judgeVerdict ? { judgeScore: judgeVerdict.score, judgePass: judgeVerdict.pass } : {}),
|
|
742
747
|
kind: result.kind,
|
|
743
|
-
route:
|
|
748
|
+
route: runtimeProjection?.route ?? result.contextPack?.routeDecision.route,
|
|
744
749
|
// Only the runtime driver can see the router's clarification options.
|
|
745
750
|
// In-process runs leave this undefined, so a clarify there scores as a
|
|
746
751
|
// dead end — the conservative reading, and another reason `--via runtime`
|
|
@@ -752,12 +757,12 @@ async function runEval(rest, flags) {
|
|
|
752
757
|
&& Boolean(runtimeRun.answer?.trim()),
|
|
753
758
|
meaningResolved: Boolean(runtimeRun.routeDecision?.meaningResolution),
|
|
754
759
|
} : {}),
|
|
755
|
-
intent: result.contextPack?.routeDecision.intent,
|
|
760
|
+
intent: runtimeRun?.routeDecision?.category ?? result.contextPack?.routeDecision.intent,
|
|
756
761
|
reviewStatus: result.reviewStatus,
|
|
757
|
-
contextObjects: result.contextPack?.objects.length
|
|
762
|
+
contextObjects: runtimeProjection?.retrievalCandidateCount ?? result.contextPack?.objects.length,
|
|
758
763
|
followUp: Boolean(testCase.followUp),
|
|
759
764
|
draftSaved,
|
|
760
|
-
toolCalls: result.evidence?.toolCalls?.length ?? 0,
|
|
765
|
+
toolCalls: runtimeProjection?.toolCallCount ?? result.evidence?.toolCalls?.length ?? 0,
|
|
761
766
|
expected: testCase.expected,
|
|
762
767
|
validationCode: evaluation.validationCode,
|
|
763
768
|
trace: buildEvalTrace({
|
|
@@ -766,6 +771,7 @@ async function runEval(rest, flags) {
|
|
|
766
771
|
evaluation,
|
|
767
772
|
durationMs,
|
|
768
773
|
draftSaved,
|
|
774
|
+
runtime: runtimeProjection,
|
|
769
775
|
}),
|
|
770
776
|
});
|
|
771
777
|
}
|
|
@@ -776,6 +782,18 @@ async function runEval(rest, flags) {
|
|
|
776
782
|
}
|
|
777
783
|
const passed = results.filter((r) => r.passed).length;
|
|
778
784
|
const metrics = computeEvalMetrics(results);
|
|
785
|
+
// Runtime evals execute in a separate host, so its cassette directory is
|
|
786
|
+
// supplied explicitly by the eval workflow for reporting. The summary does
|
|
787
|
+
// not inspect prompts or provider credentials; it only classifies the
|
|
788
|
+
// checked-in response provenance.
|
|
789
|
+
const cassetteDirectory = via === 'runtime'
|
|
790
|
+
? process.env.DQL_EVAL_CASSETTE_DIR
|
|
791
|
+
: cassetteMode === 'record' || cassetteMode === 'replay'
|
|
792
|
+
? cassetteDirFor(projectRoot, rest[0] ?? 'agent-evals')
|
|
793
|
+
: undefined;
|
|
794
|
+
const cassetteEvidence = cassetteDirectory
|
|
795
|
+
? cassetteEvidenceSummary(new CassetteStore(cassetteDirectory))
|
|
796
|
+
: undefined;
|
|
779
797
|
const thresholds = {
|
|
780
798
|
minToolRequirement: flags.minToolRequirement ?? null,
|
|
781
799
|
minExecutionMatch: flags.minExecutionMatch ?? null,
|
|
@@ -788,7 +806,15 @@ async function runEval(rest, flags) {
|
|
|
788
806
|
const thresholdsPassed = agentEvalThresholdsPass(metrics, thresholds);
|
|
789
807
|
const ok = passed === results.length && thresholdsPassed;
|
|
790
808
|
if (flags.format === 'json') {
|
|
791
|
-
console.log(JSON.stringify({
|
|
809
|
+
console.log(JSON.stringify({
|
|
810
|
+
ok,
|
|
811
|
+
passed,
|
|
812
|
+
total: results.length,
|
|
813
|
+
thresholds,
|
|
814
|
+
metrics,
|
|
815
|
+
...(cassetteEvidence ? { cassetteEvidence } : {}),
|
|
816
|
+
results,
|
|
817
|
+
}, null, 2));
|
|
792
818
|
if (!ok)
|
|
793
819
|
process.exitCode = 1;
|
|
794
820
|
return;
|
|
@@ -802,6 +828,14 @@ async function runEval(rest, flags) {
|
|
|
802
828
|
console.log(`Certified hit rate: ${formatRate(metrics.certified_hit_rate)}`);
|
|
803
829
|
console.log(`Generated follow-up pass rate: ${formatRate(metrics.generated_followup_pass_rate)}`);
|
|
804
830
|
console.log(`Safe refusal rate: ${formatRate(metrics.safe_refusal_rate)}`);
|
|
831
|
+
if (cassetteEvidence) {
|
|
832
|
+
console.log(`Cassette replay entries: ${cassetteEvidence.totalEntries} `
|
|
833
|
+
+ `(${cassetteEvidence.migratedLegacyDeterministicFixtureEntries} migrated legacy deterministic fixture, `
|
|
834
|
+
+ `${cassetteEvidence.syntheticDeterministicOrchestrationFixtureEntries} synthetic deterministic orchestration fixture).`);
|
|
835
|
+
console.log(cassetteEvidence.realProviderQualityEligible
|
|
836
|
+
? 'Real-provider quality evidence: eligible.'
|
|
837
|
+
: `Real-provider quality evidence: excluded (${cassetteEvidence.realProviderQualityExclusionReasons.join(', ')}).`);
|
|
838
|
+
}
|
|
805
839
|
console.log(`False refusal rate: ${formatRate(metrics.false_refusal_rate)} (${metrics.false_refusal_count}/${metrics.answerable_case_count} answerable cases refused)`);
|
|
806
840
|
console.log(`Clarification rate: ${formatRate(metrics.clarification_rate)} (answerable cases asked instead of answered)`);
|
|
807
841
|
if (metrics.meaning_resolved_rate !== null && metrics.meaning_resolved_rate < 1) {
|
|
@@ -851,7 +885,7 @@ function previewGeneratedDraftPath(projectRoot, domain, slug) {
|
|
|
851
885
|
}
|
|
852
886
|
return `blocks/_drafts/${slug}.dql`;
|
|
853
887
|
}
|
|
854
|
-
function evaluateCase(testCase, result) {
|
|
888
|
+
function evaluateCase(testCase, result, runtime) {
|
|
855
889
|
const expected = testCase.expected;
|
|
856
890
|
if (!expected)
|
|
857
891
|
return { failures: [] };
|
|
@@ -892,12 +926,27 @@ function evaluateCase(testCase, result) {
|
|
|
892
926
|
failures.push(`certification expected ${expected.certification}, got ${result.certification}`);
|
|
893
927
|
if (expected.reviewStatus && result.reviewStatus !== expected.reviewStatus)
|
|
894
928
|
failures.push(`reviewStatus expected ${expected.reviewStatus}, got ${result.reviewStatus}`);
|
|
895
|
-
|
|
896
|
-
|
|
929
|
+
const observedRoute = runtime?.route ?? result.contextPack?.routeDecision.route;
|
|
930
|
+
if (expected.route && observedRoute !== expected.route)
|
|
931
|
+
failures.push(`route expected ${expected.route}, got ${observedRoute ?? 'none'}`);
|
|
897
932
|
if (expected.intent && result.contextPack?.routeDecision.intent !== expected.intent)
|
|
898
933
|
failures.push(`intent expected ${expected.intent}, got ${result.contextPack?.routeDecision.intent ?? 'none'}`);
|
|
899
|
-
|
|
934
|
+
// `modeling_gap` is a broad terminal kind. A relationship expectation is
|
|
935
|
+
// satisfied only by the router's persisted relationship-specific witness;
|
|
936
|
+
// otherwise a missing metric/dimension tuple would be misreported as a
|
|
937
|
+
// relationship repair opportunity.
|
|
938
|
+
const runtimeReportsMissingContext = expected.missingContextKind === 'relationship'
|
|
939
|
+
? runtime?.terminalOutcome?.gap?.code === 'MISSING_RELATIONSHIP'
|
|
940
|
+
: runtime?.terminalOutcome?.kind === 'modeling_gap'
|
|
941
|
+
&& expected.missingContextKind === 'modeling_gap';
|
|
942
|
+
if (expected.missingContextKind
|
|
943
|
+
&& !runtimeReportsMissingContext
|
|
944
|
+
&& !result.contextPack?.missingContext.some((item) => item.kind === expected.missingContextKind)) {
|
|
900
945
|
failures.push(`missing context kind ${expected.missingContextKind} was not reported`);
|
|
946
|
+
}
|
|
947
|
+
if (expected.terminalOutcomeKind && runtime?.terminalOutcome?.kind !== expected.terminalOutcomeKind) {
|
|
948
|
+
failures.push(`terminal outcome expected ${expected.terminalOutcomeKind}, got ${runtime?.terminalOutcome?.kind ?? 'none'}`);
|
|
949
|
+
}
|
|
901
950
|
for (const token of stringList(expected.sqlContains)) {
|
|
902
951
|
if (!result.proposedSql?.toLowerCase().includes(token.toLowerCase()))
|
|
903
952
|
failures.push(`SQL did not contain "${token}"`);
|
|
@@ -918,7 +967,7 @@ function evaluateCase(testCase, result) {
|
|
|
918
967
|
failures.push(`draftSaved expected ${expected.draftSaved}, got ${saved}`);
|
|
919
968
|
}
|
|
920
969
|
if (typeof expected.minToolCalls === 'number') {
|
|
921
|
-
const actualToolCalls = result.evidence?.toolCalls?.length ?? 0;
|
|
970
|
+
const actualToolCalls = runtime?.toolCallCount ?? result.evidence?.toolCalls?.length ?? 0;
|
|
922
971
|
if (actualToolCalls < expected.minToolCalls) {
|
|
923
972
|
failures.push(`toolCalls expected at least ${expected.minToolCalls}, got ${actualToolCalls}`);
|
|
924
973
|
}
|
|
@@ -957,7 +1006,7 @@ export function evalCaseIsAnswerable(expected) {
|
|
|
957
1006
|
return false;
|
|
958
1007
|
if (expected.sourceTier === 'no_answer')
|
|
959
1008
|
return false;
|
|
960
|
-
if (expected.route === 'clarify')
|
|
1009
|
+
if (expected.route === 'clarify' || expected.route === 'blocked')
|
|
961
1010
|
return false;
|
|
962
1011
|
if (Object.keys(expected).length === 0)
|
|
963
1012
|
return undefined;
|
|
@@ -1084,7 +1133,12 @@ function computeEvalMetrics(results) {
|
|
|
1084
1133
|
draft_saved_count: results.filter((result) => result.draftSaved).length,
|
|
1085
1134
|
tool_observed_case_count: results.filter((result) => result.toolCalls > 0).length,
|
|
1086
1135
|
avg_tool_calls: average(toolCallCounts),
|
|
1087
|
-
|
|
1136
|
+
// Runtime runs only report this when the persisted router recorded an
|
|
1137
|
+
// explicit retrieval count. Treat absent evidence as unknown, not as an
|
|
1138
|
+
// invented empty context pack.
|
|
1139
|
+
avg_context_objects: average(results
|
|
1140
|
+
.map((result) => result.contextObjects)
|
|
1141
|
+
.filter((count) => typeof count === 'number')),
|
|
1088
1142
|
avg_execution_ms: executionTimes.length ? average(executionTimes) : null,
|
|
1089
1143
|
};
|
|
1090
1144
|
}
|
|
@@ -1106,12 +1160,13 @@ function agentEvalThresholdsPass(metrics, thresholds) {
|
|
|
1106
1160
|
|| metrics.wrong_certified_count <= thresholds.maxWrongCertified);
|
|
1107
1161
|
}
|
|
1108
1162
|
function buildEvalTrace(input) {
|
|
1109
|
-
const { testCase, result, evaluation, durationMs, draftSaved } = input;
|
|
1163
|
+
const { testCase, result, evaluation, durationMs, draftSaved, runtime } = input;
|
|
1110
1164
|
const routeDecision = result.contextPack?.routeDecision;
|
|
1111
1165
|
const selectedRelations = result.contextPack?.retrievalDiagnostics.selectedRelations ?? [];
|
|
1112
1166
|
const allowedRelations = result.contextPack?.allowedSqlContext?.relations ?? [];
|
|
1113
1167
|
const followUp = testCase.followUp;
|
|
1114
1168
|
const toolCalls = result.evidence?.toolCalls ?? [];
|
|
1169
|
+
const observedToolCallCount = runtime?.toolCallCount ?? toolCalls.length;
|
|
1115
1170
|
const routeEvidence = result.evidence?.route ?? [];
|
|
1116
1171
|
const executionStatus = result.executionError
|
|
1117
1172
|
? 'failed'
|
|
@@ -1127,33 +1182,44 @@ function buildEvalTrace(input) {
|
|
|
1127
1182
|
const rowsExpected = testCase.expected?.rows !== undefined;
|
|
1128
1183
|
const expectedMinToolCalls = testCase.expected?.minToolCalls;
|
|
1129
1184
|
const toolStatus = typeof expectedMinToolCalls === 'number'
|
|
1130
|
-
?
|
|
1131
|
-
:
|
|
1185
|
+
? observedToolCallCount >= expectedMinToolCalls ? 'passed' : 'failed'
|
|
1186
|
+
: observedToolCallCount > 0 ? 'passed' : routeEvidence.length > 0 ? 'info' : 'not_run';
|
|
1132
1187
|
const toolMessage = typeof expectedMinToolCalls === 'number'
|
|
1133
|
-
?
|
|
1134
|
-
? `Observed ${
|
|
1135
|
-
: `Observed ${
|
|
1136
|
-
:
|
|
1137
|
-
? `Observed ${
|
|
1188
|
+
? observedToolCallCount >= expectedMinToolCalls
|
|
1189
|
+
? `Observed ${observedToolCallCount} provider tool call(s), meeting the minimum of ${expectedMinToolCalls}.`
|
|
1190
|
+
: `Observed ${observedToolCallCount} provider tool call(s), below the minimum of ${expectedMinToolCalls}.`
|
|
1191
|
+
: observedToolCallCount > 0
|
|
1192
|
+
? `Observed ${observedToolCallCount} provider tool call(s).`
|
|
1138
1193
|
: routeEvidence.length > 0
|
|
1139
1194
|
? `Captured ${routeEvidence.length} deterministic route evidence step(s).`
|
|
1140
1195
|
: 'No provider tool calls were observed for this answer.';
|
|
1141
1196
|
return [
|
|
1142
1197
|
{
|
|
1143
1198
|
stage: 'context',
|
|
1144
|
-
status:
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1199
|
+
status: runtime && (runtime.retrievalCandidateCount !== undefined || runtime.sourceCoverage?.length || runtime.terminalOutcome)
|
|
1200
|
+
? 'passed'
|
|
1201
|
+
: result.contextPack ? 'passed' : 'not_run',
|
|
1202
|
+
message: runtime && (runtime.retrievalCandidateCount !== undefined || runtime.sourceCoverage?.length || runtime.terminalOutcome)
|
|
1203
|
+
? `Persisted route evidence recorded ${runtime.retrievalCandidateCount ?? 'an unspecified number of'} retrieved candidate(s).`
|
|
1204
|
+
: result.contextPack
|
|
1205
|
+
? `Context pack ${result.contextPack.id} selected ${result.contextPack.objects.length} object(s).`
|
|
1206
|
+
: 'No context pack was attached to the answer.',
|
|
1207
|
+
payload: runtime && (runtime.retrievalCandidateCount !== undefined || runtime.sourceCoverage?.length || runtime.terminalOutcome)
|
|
1149
1208
|
? {
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
missingContext: result.contextPack.missingContext,
|
|
1209
|
+
evidenceSource: 'persisted_agent_run',
|
|
1210
|
+
retrievalCandidateCount: runtime.retrievalCandidateCount,
|
|
1211
|
+
sourceCoverage: runtime.sourceCoverage,
|
|
1212
|
+
terminalOutcome: runtime.terminalOutcome,
|
|
1155
1213
|
}
|
|
1156
|
-
:
|
|
1214
|
+
: result.contextPack
|
|
1215
|
+
? {
|
|
1216
|
+
contextPackId: result.contextPack.id,
|
|
1217
|
+
selectedObjectCount: result.contextPack.objects.length,
|
|
1218
|
+
allowedRelationCount: allowedRelations.length,
|
|
1219
|
+
selectedRelations: selectedRelations.slice(0, 12).map((relation) => relation.relation),
|
|
1220
|
+
missingContext: result.contextPack.missingContext,
|
|
1221
|
+
}
|
|
1222
|
+
: undefined,
|
|
1157
1223
|
},
|
|
1158
1224
|
{
|
|
1159
1225
|
stage: 'rewrite',
|
|
@@ -1165,29 +1231,40 @@ function buildEvalTrace(input) {
|
|
|
1165
1231
|
},
|
|
1166
1232
|
{
|
|
1167
1233
|
stage: 'lane',
|
|
1168
|
-
status: routeDecision ? 'passed' : 'not_run',
|
|
1169
|
-
message:
|
|
1170
|
-
? `
|
|
1171
|
-
:
|
|
1172
|
-
|
|
1234
|
+
status: runtime ? 'passed' : routeDecision ? 'passed' : 'not_run',
|
|
1235
|
+
message: runtime
|
|
1236
|
+
? `Persisted engine route ${runtime.runRoute}${runtime.route ? ` evaluated as ${runtime.route}` : ''}.`
|
|
1237
|
+
: routeDecision
|
|
1238
|
+
? `Lane ${routeDecision.route} / ${routeDecision.intent}.`
|
|
1239
|
+
: 'No lane decision was attached to the answer.',
|
|
1240
|
+
payload: runtime
|
|
1173
1241
|
? {
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
exactObjectKey: routeDecision.exactObjectKey,
|
|
1242
|
+
engineRoute: runtime.runRoute,
|
|
1243
|
+
evalRoute: runtime.route,
|
|
1244
|
+
status: runtime.status,
|
|
1245
|
+
trustState: runtime.trustState,
|
|
1246
|
+
terminalOutcome: runtime.terminalOutcome,
|
|
1180
1247
|
}
|
|
1181
|
-
:
|
|
1248
|
+
: routeDecision
|
|
1249
|
+
? {
|
|
1250
|
+
route: routeDecision.route,
|
|
1251
|
+
intent: routeDecision.intent,
|
|
1252
|
+
reason: routeDecision.reason,
|
|
1253
|
+
trustLabel: routeDecision.trustLabel,
|
|
1254
|
+
reviewStatus: routeDecision.reviewStatus,
|
|
1255
|
+
exactObjectKey: routeDecision.exactObjectKey,
|
|
1256
|
+
}
|
|
1257
|
+
: undefined,
|
|
1182
1258
|
},
|
|
1183
1259
|
{
|
|
1184
1260
|
stage: 'tools',
|
|
1185
1261
|
status: toolStatus,
|
|
1186
1262
|
message: toolMessage,
|
|
1187
1263
|
payload: {
|
|
1188
|
-
observedToolCalls:
|
|
1264
|
+
observedToolCalls: observedToolCallCount,
|
|
1189
1265
|
expectedMinToolCalls,
|
|
1190
|
-
|
|
1266
|
+
...(runtime ? { evidenceSource: 'persisted_agent_run.telemetry' } : {}),
|
|
1267
|
+
providerToolCalls: runtime ? [] : toolCalls.slice(0, 12).map((call) => ({
|
|
1191
1268
|
order: call.order,
|
|
1192
1269
|
name: call.name,
|
|
1193
1270
|
status: call.status,
|