veryfront 0.1.944 → 0.1.945

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/esm/deno.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.944",
3
+ "version": "0.1.945",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "minimumDependencyAge": {
@@ -52,6 +52,6 @@ export { runEval } from "./runner.js";
52
52
  export { deriveEvalId, discoverEvals, findEvalById } from "./discovery.js";
53
53
  export { createEvalSourceDocument, getEvalEditableFieldSchema, getEvalRunSchema, getEvalSourceDocumentSchema, getEvalSourcePatchSchema, getEvalSourceReferenceSchema, getEvalStudioCapabilitySchema, } from "./studio.js";
54
54
  export type { DiscoveredEval, EvalDiscoveryOptions, EvalDiscoveryResult } from "./discovery.js";
55
- export type { EvalAgentAdapter, EvalAgentAdapterContext, EvalAgentAdapterResult, EvalAgentInput, EvalCheckContext, EvalDataset, EvalDatasetLoadContext, EvalDefinition, EvalDurationSummary, EvalExample, EvalExampleInput, EvalExpect, EvalExpectation, EvalFailedExampleSummary, EvalFlakeSummary, EvalGateFailureSummary, EvalMetric, EvalMetricContext, EvalMetricDeltaSummary, EvalMetricFamily, EvalMetricResult, EvalMetricSummary, EvalMetricThreshold, EvalRecord, EvalReport, EvalReportComparison, EvalReportExportConfig, EvalReportSummary, EvalSeverity, EvalSource, EvalTargetKind, EvalToolCall, EvalToolCallCountOptions, EvalToolCallMatchOptions, EvalToolCallStatus, EvalToolInputMatchMode, EvalTrace, EvalUsage, EvalUsageSummary, RunEvalOptions, } from "./types.js";
55
+ export type { EvalAgentAdapter, EvalAgentAdapterContext, EvalAgentAdapterResult, EvalAgentInput, EvalAnswerGroundednessMetricOptions, EvalCheckContext, EvalDataset, EvalDatasetLoadContext, EvalDefinition, EvalDurationSummary, EvalExample, EvalExampleInput, EvalExpect, EvalExpectation, EvalFailedExampleSummary, EvalFlakeSummary, EvalGateFailureSummary, EvalKnowledgeExpectedSource, EvalKnowledgeMrrMetricOptions, EvalKnowledgeRetrievalMetricOptions, EvalMetric, EvalMetricContext, EvalMetricDeltaSummary, EvalMetricFamily, EvalMetricResult, EvalMetricSummary, EvalMetricThreshold, EvalRecord, EvalReport, EvalReportComparison, EvalReportExportConfig, EvalReportSummary, EvalSeverity, EvalSource, EvalTargetKind, EvalToolCall, EvalToolCallCountOptions, EvalToolCallMatchOptions, EvalToolCallStatus, EvalToolInputMatchMode, EvalTrace, EvalUsage, EvalUsageSummary, RunEvalOptions, } from "./types.js";
56
56
  export type { CreateEvalSourceDocumentOptions, EvalEditableField, EvalRun, EvalSourceDocument, EvalSourcePatch, EvalSourceReference, EvalStudioCapability, } from "./studio.js";
57
57
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/eval/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,OAAO,yBAAyB,CAAC;AAGjC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,gBAAgB,EAChB,2BAA2B,EAC3B,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAChG,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,sBAAsB,EACtB,cAAc,EACd,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,EACtB,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,cAAc,EACd,YAAY,EACZ,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,+BAA+B,EAC/B,iBAAiB,EACjB,OAAO,EACP,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/eval/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,OAAO,yBAAyB,CAAC;AAGjC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,gBAAgB,EAChB,2BAA2B,EAC3B,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAChG,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,mCAAmC,EACnC,gBAAgB,EAChB,WAAW,EACX,sBAAsB,EACtB,cAAc,EACd,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,6BAA6B,EAC7B,mCAAmC,EACnC,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,cAAc,EACd,YAAY,EACZ,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,+BAA+B,EAC/B,iBAAiB,EACjB,OAAO,EACP,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,aAAa,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { EvalMetric, EvalToolCallCountOptions, EvalToolCallMatchOptions } from "./types.js";
1
+ import type { EvalAnswerGroundednessMetricOptions, EvalKnowledgeMrrMetricOptions, EvalKnowledgeRetrievalMetricOptions, EvalMetric, EvalToolCallCountOptions, EvalToolCallMatchOptions } from "./types.js";
2
2
  type JudgeRubricInput = {
3
3
  rubric: string;
4
4
  judge?: (input: {
@@ -30,6 +30,7 @@ export declare const metrics: {
30
30
  readonly jsonMatch: (options: {
31
31
  expected?: unknown;
32
32
  }) => EvalMetric;
33
+ readonly groundedness: (options?: EvalAnswerGroundednessMetricOptions) => EvalMetric;
33
34
  };
34
35
  readonly agent: {
35
36
  readonly noFailedTools: () => EvalMetric;
@@ -37,6 +38,11 @@ export declare const metrics: {
37
38
  readonly notCalledTool: (name: string) => EvalMetric;
38
39
  readonly toolCallCount: (name: string, options: EvalToolCallCountOptions) => EvalMetric;
39
40
  };
41
+ readonly knowledge: {
42
+ readonly recallAtK: (options: EvalKnowledgeRetrievalMetricOptions) => EvalMetric;
43
+ readonly precisionAtK: (options: EvalKnowledgeRetrievalMetricOptions) => EvalMetric;
44
+ readonly mrr: (options: EvalKnowledgeMrrMetricOptions) => EvalMetric;
45
+ };
40
46
  readonly ops: {
41
47
  readonly latency: (options: {
42
48
  maxMs: number;
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/src/eval/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EAMV,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAUpB,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,OAAO,CAAC;QACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,KAAK,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxE,CAAC;AAEF,iBAAS,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAQ9C;AASD,iBAAS,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE/C;AAuFD,0FAA0F;AAC1F,eAAO,MAAM,OAAO;;mCAEF,UAAU;qCAON;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,aAAa,CAAC,EAAE,OAAO,CAAA;SAAE,KAAG,UAAU;kCAWzD;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,KAAG,UAAU;sCAY5C;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;SAAE,KAAG,UAAU;;;sCAWrC,UAAU;oCAgBV,MAAM,YAAY,wBAAwB,KAAG,UAAU;uCAcpD,MAAM,KAAG,UAAU;uCAcnB,MAAM,WAAW,wBAAwB,KAAG,UAAU;;;oCAgBzD;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,KAAG,UAAU;mCAc/B;YAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,KAAG,UAAU;iCAoB3E;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,KAAG,UAAU;;;mCAiB7B,gBAAgB,KAAG,UAAU;;CAmCvC,CAAC;AAEX,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/src/eval/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mCAAmC,EAEnC,6BAA6B,EAC7B,mCAAmC,EACnC,UAAU,EAMV,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAiBpB,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,OAAO,CAAC;QACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,KAAK,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxE,CAAC;AAwDF,iBAAS,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAQ9C;AASD,iBAAS,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE/C;AA8TD,0FAA0F;AAC1F,eAAO,MAAM,OAAO;;mCAEF,UAAU;qCAON;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,aAAa,CAAC,EAAE,OAAO,CAAA;SAAE,KAAG,UAAU;kCAWzD;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,KAAG,UAAU;sCAY5C;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;SAAE,KAAG,UAAU;0CAShC,mCAAmC,KAAQ,UAAU;;;sCAgD1D,UAAU;oCAgBV,MAAM,YAAY,wBAAwB,KAAG,UAAU;uCAcpD,MAAM,KAAG,UAAU;uCAcnB,MAAM,WAAW,wBAAwB,KAAG,UAAU;;;sCAgBvD,mCAAmC,KAAG,UAAU;yCAoC7C,mCAAmC,KAAG,UAAU;gCAuCzD,6BAA6B,KAAG,UAAU;;;oCA4CtC;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,KAAG,UAAU;mCAc/B;YAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,KAAG,UAAU;iCAoB3E;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,KAAG,UAAU;;;mCAiB7B,gBAAgB,KAAG,UAAU;;CAmCvC,CAAC;AAEX,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC"}
@@ -1,4 +1,56 @@
1
- import { evaluateCalledTool, evaluateNotCalledTool, evaluateToolCallCount, isEvalToolFailed, } from "./tool-behavior.js";
1
+ import { evaluateCalledTool, evaluateNotCalledTool, evaluateToolCallCount, findEvalToolCalls, isEvalToolFailed, } from "./tool-behavior.js";
2
+ const DEFAULT_KNOWLEDGE_TOOL = "search_knowledge";
3
+ const DEFAULT_EXPECTED_KNOWLEDGE_PATH = "metadata.expectedKnowledge";
4
+ const DEFAULT_GROUNDEDNESS_RUBRIC = "Rate whether the answer is grounded in the retrieved evidence and avoids unsupported claims.";
5
+ const KNOWLEDGE_COLLECTION_KEYS = ["data", "matches", "results", "items", "chunks", "documents"];
6
+ const KNOWLEDGE_SOURCE_KEYS = [
7
+ "path",
8
+ "source",
9
+ "id",
10
+ "title",
11
+ "name",
12
+ "document_code",
13
+ "documentCode",
14
+ "url",
15
+ "href",
16
+ ];
17
+ const KNOWLEDGE_CONTENT_KEYS = [
18
+ "content",
19
+ "text",
20
+ "text_excerpt",
21
+ "textExcerpt",
22
+ "snippet",
23
+ "excerpt",
24
+ "chunk",
25
+ "body",
26
+ "verification_quote",
27
+ "verificationQuote",
28
+ ];
29
+ const KNOWLEDGE_STOP_WORDS = new Set([
30
+ "the",
31
+ "and",
32
+ "for",
33
+ "that",
34
+ "with",
35
+ "this",
36
+ "from",
37
+ "shall",
38
+ "must",
39
+ "will",
40
+ "have",
41
+ "been",
42
+ "being",
43
+ "their",
44
+ "which",
45
+ "into",
46
+ "also",
47
+ "each",
48
+ "they",
49
+ "such",
50
+ "should",
51
+ "would",
52
+ "could",
53
+ ]);
2
54
  function getOutputText(output) {
3
55
  if (typeof output === "string")
4
56
  return output;
@@ -31,6 +83,192 @@ function sortJsonValue(value) {
31
83
  }
32
84
  return sorted;
33
85
  }
86
+ function isRecord(value) {
87
+ return value !== null && typeof value === "object" && !Array.isArray(value);
88
+ }
89
+ function getPathValue(value, path) {
90
+ return path.split(".").filter(Boolean).reduce((current, segment) => {
91
+ if (!isRecord(current))
92
+ return undefined;
93
+ return current[segment];
94
+ }, value);
95
+ }
96
+ function normalizeComparable(value) {
97
+ return value.trim().toLowerCase().replaceAll("\\", "/").replace(/^\.\//, "");
98
+ }
99
+ function uniqueStrings(values) {
100
+ const seen = new Set();
101
+ const unique = [];
102
+ for (const value of values) {
103
+ const normalized = normalizeComparable(value);
104
+ if (!normalized || seen.has(normalized))
105
+ continue;
106
+ seen.add(normalized);
107
+ unique.push(value);
108
+ }
109
+ return unique;
110
+ }
111
+ function collectStringField(record, key) {
112
+ const value = record[key];
113
+ return typeof value === "string" && value.trim() ? [value] : [];
114
+ }
115
+ function collectFrontmatterValues(value) {
116
+ if (!Array.isArray(value))
117
+ return [];
118
+ const values = [];
119
+ for (const entry of value) {
120
+ if (!isRecord(entry))
121
+ continue;
122
+ const fieldValue = entry.value;
123
+ if (typeof fieldValue === "string" && fieldValue.trim())
124
+ values.push(fieldValue);
125
+ }
126
+ return values;
127
+ }
128
+ function extractKnowledgeItems(output) {
129
+ if (Array.isArray(output))
130
+ return output;
131
+ if (!isRecord(output))
132
+ return [];
133
+ for (const key of KNOWLEDGE_COLLECTION_KEYS) {
134
+ const value = output[key];
135
+ if (Array.isArray(value))
136
+ return value;
137
+ }
138
+ return KNOWLEDGE_SOURCE_KEYS.some((key) => typeof output[key] === "string") ? [output] : [];
139
+ }
140
+ function createKnowledgeEntry(item) {
141
+ if (!isRecord(item)) {
142
+ if (typeof item === "string" && item.trim()) {
143
+ return { source: item, sourceCandidates: [item], contentCandidates: [item] };
144
+ }
145
+ return null;
146
+ }
147
+ const sourceCandidates = uniqueStrings([
148
+ ...KNOWLEDGE_SOURCE_KEYS.flatMap((key) => collectStringField(item, key)),
149
+ ...collectFrontmatterValues(item.frontmatter),
150
+ ]);
151
+ const contentCandidates = uniqueStrings(KNOWLEDGE_CONTENT_KEYS.flatMap((key) => collectStringField(item, key)));
152
+ const source = sourceCandidates[0] ?? contentCandidates[0] ?? stableStringify(item);
153
+ return {
154
+ source,
155
+ sourceCandidates: sourceCandidates.length === 0 ? [source] : sourceCandidates,
156
+ contentCandidates,
157
+ };
158
+ }
159
+ function getKnowledgeEntries(record, tool = DEFAULT_KNOWLEDGE_TOOL) {
160
+ return findEvalToolCalls(record, tool)
161
+ .filter((call) => !isEvalToolFailed(call))
162
+ .flatMap((call) => extractKnowledgeItems(call.output))
163
+ .map(createKnowledgeEntry)
164
+ .filter((entry) => entry !== null);
165
+ }
166
+ function expectedSourceLabel(expected) {
167
+ if (typeof expected === "string")
168
+ return expected;
169
+ return expected.path ?? expected.source ?? expected.documentCode ?? expected.document_code ??
170
+ expected.id ?? expected.title ?? expected.contentMatch ?? expected.verificationQuote ??
171
+ expected.content ?? expected.text ?? stableStringify(expected);
172
+ }
173
+ function normalizeExpectedKnowledgeSources(value) {
174
+ const values = Array.isArray(value) ? value : [value];
175
+ return values.filter((entry) => {
176
+ if (typeof entry === "string")
177
+ return entry.trim().length > 0;
178
+ if (!isRecord(entry))
179
+ return false;
180
+ return Object.keys(entry).length > 0;
181
+ });
182
+ }
183
+ function resolveExpectedKnowledgeSources(record, options) {
184
+ if (options.expected)
185
+ return { expected: options.expected };
186
+ const expectedFrom = options.expectedFrom ?? DEFAULT_EXPECTED_KNOWLEDGE_PATH;
187
+ return {
188
+ expected: normalizeExpectedKnowledgeSources(getPathValue(record, expectedFrom)),
189
+ expectedFrom,
190
+ };
191
+ }
192
+ function createKnowledgeMetricConfig(options) {
193
+ return {
194
+ ...options,
195
+ ...(!options.expected
196
+ ? { expectedFrom: options.expectedFrom ?? DEFAULT_EXPECTED_KNOWLEDGE_PATH }
197
+ : {}),
198
+ };
199
+ }
200
+ function missingExpectedKnowledgeResult(name, tool, expectedFrom, entries, k) {
201
+ return {
202
+ name,
203
+ family: "knowledge",
204
+ severity: "gate",
205
+ skipped: true,
206
+ explanation: expectedFrom
207
+ ? `No expected knowledge sources found at ${expectedFrom}.`
208
+ : "No expected knowledge sources were configured.",
209
+ evidence: {
210
+ tool,
211
+ k,
212
+ retrieved: retrievedSources(entries),
213
+ ...(expectedFrom ? { expectedFrom } : {}),
214
+ },
215
+ };
216
+ }
217
+ function matchesStringCandidate(expected, candidates) {
218
+ const normalizedExpected = normalizeComparable(expected);
219
+ return candidates.some((candidate) => normalizeComparable(candidate) === normalizedExpected);
220
+ }
221
+ function significantWords(value) {
222
+ return [...value.toLowerCase().matchAll(/\b[a-z0-9]{4,}\b/g)]
223
+ .map((match) => match[0])
224
+ .filter((word) => !KNOWLEDGE_STOP_WORDS.has(word))
225
+ .slice(0, 12);
226
+ }
227
+ function matchesContent(expected, candidates) {
228
+ const normalizedExpected = normalizeComparable(expected);
229
+ if (candidates.some((candidate) => normalizeComparable(candidate).includes(normalizedExpected))) {
230
+ return true;
231
+ }
232
+ const words = significantWords(expected);
233
+ if (words.length === 0)
234
+ return false;
235
+ return candidates.some((candidate) => {
236
+ const normalizedCandidate = normalizeComparable(candidate);
237
+ const matches = words.filter((word) => normalizedCandidate.includes(word)).length;
238
+ return matches / words.length >= 0.6;
239
+ });
240
+ }
241
+ function expectedMatchesEntry(expected, entry) {
242
+ if (typeof expected === "string")
243
+ return matchesStringCandidate(expected, entry.sourceCandidates);
244
+ const sourceExpectations = [
245
+ expected.path,
246
+ expected.source,
247
+ expected.id,
248
+ expected.title,
249
+ expected.documentCode,
250
+ expected.document_code,
251
+ ].filter((value) => typeof value === "string" && value.trim().length > 0);
252
+ const contentExpectations = [
253
+ expected.contentMatch,
254
+ expected.verificationQuote,
255
+ expected.content,
256
+ expected.text,
257
+ ].filter((value) => typeof value === "string" && value.trim().length > 0);
258
+ const sourceMatched = sourceExpectations.length === 0 ||
259
+ sourceExpectations.some((value) => matchesStringCandidate(value, entry.sourceCandidates));
260
+ const contentMatched = contentExpectations.length === 0 ||
261
+ contentExpectations.some((value) => matchesContent(value, entry.contentCandidates));
262
+ return sourceMatched && contentMatched;
263
+ }
264
+ function findMatchedExpectedSources(entries, expected) {
265
+ return expected
266
+ .filter((source) => entries.some((entry) => expectedMatchesEntry(source, entry)))
267
+ .map(expectedSourceLabel);
268
+ }
269
+ function retrievedSources(entries) {
270
+ return entries.map((entry) => entry.source);
271
+ }
34
272
  function withSeverity(metric, severity, threshold) {
35
273
  const base = { ...metric, severity, ...(threshold ? { threshold } : {}) };
36
274
  return {
@@ -83,6 +321,9 @@ function createMetric(name, family, evaluator, config) {
83
321
  };
84
322
  return withSeverity(metric, "gate");
85
323
  }
324
+ function createKnowledgeMetric(name, evaluator, config) {
325
+ return createMetric(name, "knowledge", evaluator, config).gate({ min: 1 });
326
+ }
86
327
  function scoreResult(name, family, severity, pass, score = pass ? 1 : 0) {
87
328
  return { name, family, severity, score, pass };
88
329
  }
@@ -119,6 +360,48 @@ export const metrics = {
119
360
  return scoreResult("answer.jsonMatch", "answer", "gate", pass);
120
361
  }, options);
121
362
  },
363
+ groundedness(options = {}) {
364
+ return createMetric("answer.groundedness", "answer", async (record) => {
365
+ const tool = options.tool ?? DEFAULT_KNOWLEDGE_TOOL;
366
+ const entries = getKnowledgeEntries(record, tool);
367
+ const evidence = uniqueStrings(entries.flatMap((entry) => entry.contentCandidates));
368
+ const sources = uniqueStrings(retrievedSources(entries));
369
+ if (!options.judge) {
370
+ return {
371
+ name: "answer.groundedness",
372
+ family: "answer",
373
+ severity: "gate",
374
+ skipped: true,
375
+ explanation: "No groundedness judge function was provided.",
376
+ evidence: { tool, evidenceCount: evidence.length, sources },
377
+ };
378
+ }
379
+ const output = record.output && typeof record.output === "object"
380
+ ? record.output
381
+ : { text: getOutputText(record.output) };
382
+ const judged = await options.judge({
383
+ rubric: options.rubric ?? DEFAULT_GROUNDEDNESS_RUBRIC,
384
+ input: record.input,
385
+ output,
386
+ reference: record.reference,
387
+ metadata: record.metadata,
388
+ evidence,
389
+ sources,
390
+ });
391
+ return {
392
+ name: "answer.groundedness",
393
+ family: "answer",
394
+ severity: "gate",
395
+ score: judged.score,
396
+ pass: judged.pass ?? judged.score > 0,
397
+ ...(judged.explanation ? { explanation: judged.explanation } : {}),
398
+ evidence: { tool, evidenceCount: evidence.length, sources },
399
+ };
400
+ }, {
401
+ ...(options.tool ? { tool: options.tool } : {}),
402
+ rubric: options.rubric ?? DEFAULT_GROUNDEDNESS_RUBRIC,
403
+ });
404
+ },
122
405
  },
123
406
  agent: {
124
407
  noFailedTools() {
@@ -159,6 +442,97 @@ export const metrics = {
159
442
  }), { tool: name, ...options });
160
443
  },
161
444
  },
445
+ knowledge: {
446
+ recallAtK(options) {
447
+ return createKnowledgeMetric("knowledge.recallAtK", (record) => {
448
+ const tool = options.tool ?? DEFAULT_KNOWLEDGE_TOOL;
449
+ const entries = getKnowledgeEntries(record, tool).slice(0, options.k);
450
+ const { expected, expectedFrom } = resolveExpectedKnowledgeSources(record, options);
451
+ if (expected.length === 0) {
452
+ return missingExpectedKnowledgeResult("knowledge.recallAtK", tool, expectedFrom, entries, options.k);
453
+ }
454
+ const found = findMatchedExpectedSources(entries, expected);
455
+ const score = found.length / expected.length;
456
+ return {
457
+ name: "knowledge.recallAtK",
458
+ family: "knowledge",
459
+ severity: "gate",
460
+ score,
461
+ evidence: {
462
+ tool,
463
+ k: options.k,
464
+ retrieved: retrievedSources(entries),
465
+ expected: expected.map(expectedSourceLabel),
466
+ ...(expectedFrom ? { expectedFrom } : {}),
467
+ found,
468
+ foundCount: found.length,
469
+ expectedCount: expected.length,
470
+ },
471
+ };
472
+ }, createKnowledgeMetricConfig(options));
473
+ },
474
+ precisionAtK(options) {
475
+ return createKnowledgeMetric("knowledge.precisionAtK", (record) => {
476
+ const tool = options.tool ?? DEFAULT_KNOWLEDGE_TOOL;
477
+ const entries = getKnowledgeEntries(record, tool).slice(0, options.k);
478
+ const { expected, expectedFrom } = resolveExpectedKnowledgeSources(record, options);
479
+ if (expected.length === 0) {
480
+ return missingExpectedKnowledgeResult("knowledge.precisionAtK", tool, expectedFrom, entries, options.k);
481
+ }
482
+ const relevantEntries = entries.filter((entry) => expected.some((source) => expectedMatchesEntry(source, entry)));
483
+ const retrievedCount = entries.length;
484
+ const score = retrievedCount === 0 ? 0 : relevantEntries.length / retrievedCount;
485
+ return {
486
+ name: "knowledge.precisionAtK",
487
+ family: "knowledge",
488
+ severity: "gate",
489
+ score,
490
+ evidence: {
491
+ tool,
492
+ k: options.k,
493
+ retrieved: retrievedSources(entries),
494
+ expected: expected.map(expectedSourceLabel),
495
+ ...(expectedFrom ? { expectedFrom } : {}),
496
+ relevant: retrievedSources(relevantEntries),
497
+ relevantCount: relevantEntries.length,
498
+ retrievedCount,
499
+ },
500
+ };
501
+ }, createKnowledgeMetricConfig(options));
502
+ },
503
+ mrr(options) {
504
+ return createKnowledgeMetric("knowledge.mrr", (record) => {
505
+ const tool = options.tool ?? DEFAULT_KNOWLEDGE_TOOL;
506
+ const allEntries = getKnowledgeEntries(record, tool);
507
+ const k = options.k ?? allEntries.length;
508
+ const entries = allEntries.slice(0, k);
509
+ const { expected, expectedFrom } = resolveExpectedKnowledgeSources(record, options);
510
+ if (expected.length === 0) {
511
+ return missingExpectedKnowledgeResult("knowledge.mrr", tool, expectedFrom, entries, k);
512
+ }
513
+ const index = entries.findIndex((entry) => expected.some((source) => expectedMatchesEntry(source, entry)));
514
+ const rank = index === -1 ? null : index + 1;
515
+ const score = rank === null ? 0 : 1 / rank;
516
+ return {
517
+ name: "knowledge.mrr",
518
+ family: "knowledge",
519
+ severity: "gate",
520
+ score,
521
+ evidence: {
522
+ tool,
523
+ k,
524
+ retrieved: retrievedSources(entries),
525
+ expected: expected.map(expectedSourceLabel),
526
+ ...(expectedFrom ? { expectedFrom } : {}),
527
+ ...(rank === null ? {} : {
528
+ rank,
529
+ match: entries[index]?.source,
530
+ }),
531
+ },
532
+ };
533
+ }, createKnowledgeMetricConfig(options));
534
+ },
535
+ },
162
536
  ops: {
163
537
  latency(options) {
164
538
  return createMetric("ops.latency", "ops", (record) => {
@@ -33,7 +33,7 @@ export declare const getEvalSourceDatasetSchema: () => import("../internal-agent
33
33
  /** Schema for an Eval metric in Studio source documents. */
34
34
  export declare const getEvalSourceMetricSchema: () => import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
35
35
  name: import("../internal-agents/schema.js").Schema<string>;
36
- family: import("../internal-agents/schema.js").Schema<"agent" | "answer" | "ops" | "judge" | "check">;
36
+ family: import("../internal-agents/schema.js").Schema<"agent" | "answer" | "ops" | "judge" | "knowledge" | "check">;
37
37
  severity: import("../internal-agents/schema.js").Schema<"gate" | "soft" | "budget">;
38
38
  threshold: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
39
39
  min: import("../internal-agents/schema.js").Schema<number | undefined>;
@@ -46,7 +46,7 @@ export declare const getEvalSourceMetricSchema: () => import("../internal-agents
46
46
  /** Schema for an Eval report metric summary in Studio run projections. */
47
47
  export declare const getEvalRunMetricSummarySchema: () => import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
48
48
  name: import("../internal-agents/schema.js").Schema<string>;
49
- family: import("../internal-agents/schema.js").Schema<"agent" | "answer" | "ops" | "judge" | "check">;
49
+ family: import("../internal-agents/schema.js").Schema<"agent" | "answer" | "ops" | "judge" | "knowledge" | "check">;
50
50
  severity: import("../internal-agents/schema.js").Schema<"gate" | "soft" | "budget">;
51
51
  passed: import("../internal-agents/schema.js").Schema<number>;
52
52
  failed: import("../internal-agents/schema.js").Schema<number>;
@@ -75,7 +75,7 @@ export declare const getEvalRunGateFailureSummarySchema: () => import("../intern
75
75
  exampleId: import("../internal-agents/schema.js").Schema<string>;
76
76
  repetition: import("../internal-agents/schema.js").Schema<number>;
77
77
  name: import("../internal-agents/schema.js").Schema<string>;
78
- family: import("../internal-agents/schema.js").Schema<"agent" | "answer" | "ops" | "judge" | "check">;
78
+ family: import("../internal-agents/schema.js").Schema<"agent" | "answer" | "ops" | "judge" | "knowledge" | "check">;
79
79
  severity: import("../internal-agents/schema.js").Schema<"gate" | "budget">;
80
80
  explanation: import("../internal-agents/schema.js").Schema<string | undefined>;
81
81
  evidence: import("../internal-agents/schema.js").Schema<Record<string, unknown> | undefined>;
@@ -123,7 +123,7 @@ export declare const getEvalSourceDocumentSchema: () => import("../internal-agen
123
123
  }>>;
124
124
  metrics: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
125
125
  name: import("../internal-agents/schema.js").Schema<string>;
126
- family: import("../internal-agents/schema.js").Schema<"agent" | "answer" | "ops" | "judge" | "check">;
126
+ family: import("../internal-agents/schema.js").Schema<"agent" | "answer" | "ops" | "judge" | "knowledge" | "check">;
127
127
  severity: import("../internal-agents/schema.js").Schema<"gate" | "soft" | "budget">;
128
128
  threshold: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
129
129
  min: import("../internal-agents/schema.js").Schema<number | undefined>;
@@ -170,7 +170,7 @@ export declare const getEvalSourcePatchSchema: () => import("../internal-agents/
170
170
  metadata: import("../internal-agents/schema.js").Schema<Record<string, unknown> | undefined>;
171
171
  metrics: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
172
172
  name: import("../internal-agents/schema.js").Schema<string>;
173
- family: import("../internal-agents/schema.js").Schema<"agent" | "answer" | "ops" | "judge" | "check">;
173
+ family: import("../internal-agents/schema.js").Schema<"agent" | "answer" | "ops" | "judge" | "knowledge" | "check">;
174
174
  severity: import("../internal-agents/schema.js").Schema<"gate" | "soft" | "budget">;
175
175
  threshold: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
176
176
  min: import("../internal-agents/schema.js").Schema<number | undefined>;
@@ -203,7 +203,7 @@ export declare const getEvalRunSchema: () => import("../internal-agents/schema.j
203
203
  skippedResults: import("../internal-agents/schema.js").Schema<number | undefined>;
204
204
  metrics: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
205
205
  name: import("../internal-agents/schema.js").Schema<string>;
206
- family: import("../internal-agents/schema.js").Schema<"agent" | "answer" | "ops" | "judge" | "check">;
206
+ family: import("../internal-agents/schema.js").Schema<"agent" | "answer" | "ops" | "judge" | "knowledge" | "check">;
207
207
  severity: import("../internal-agents/schema.js").Schema<"gate" | "soft" | "budget">;
208
208
  passed: import("../internal-agents/schema.js").Schema<number>;
209
209
  failed: import("../internal-agents/schema.js").Schema<number>;
@@ -229,7 +229,7 @@ export declare const getEvalRunSchema: () => import("../internal-agents/schema.j
229
229
  exampleId: import("../internal-agents/schema.js").Schema<string>;
230
230
  repetition: import("../internal-agents/schema.js").Schema<number>;
231
231
  name: import("../internal-agents/schema.js").Schema<string>;
232
- family: import("../internal-agents/schema.js").Schema<"agent" | "answer" | "ops" | "judge" | "check">;
232
+ family: import("../internal-agents/schema.js").Schema<"agent" | "answer" | "ops" | "judge" | "knowledge" | "check">;
233
233
  severity: import("../internal-agents/schema.js").Schema<"gate" | "budget">;
234
234
  explanation: import("../internal-agents/schema.js").Schema<string | undefined>;
235
235
  evidence: import("../internal-agents/schema.js").Schema<Record<string, unknown> | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"studio.d.ts","sourceRoot":"","sources":["../../../src/src/eval/studio.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,2CAA2C;AAC3C,eAAO,MAAM,6BAA6B,yHAEzC,CAAC;AAEF,qDAAqD;AACrD,eAAO,MAAM,0BAA0B,gKActC,CAAC;AAEF,2CAA2C;AAC3C,eAAO,MAAM,4BAA4B;;;;GAMxC,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,0BAA0B;;;;;GAOtC,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,0BAA0B;;;;;;;;;;;GAQtC,CAAC;AAEF,4DAA4D;AAC5D,eAAO,MAAM,yBAAyB;;;;;;;;;;;GAarC,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,6BAA6B;;;;;;;;GAUzC,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,+BAA+B;;;;;;;GAS3C,CAAC;AAEF,8DAA8D;AAC9D,eAAO,MAAM,4BAA4B;;;;;GAOxC,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,kCAAkC;;;;;;;;;GAW9C,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,oCAAoC;;;;;;;GAShD,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,4BAA4B;;;;;GAOxC,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkBvC,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgBpC,CAAC;AAEF,gDAAgD;AAChD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6B5B,CAAC;AAEF,qEAAqE;AACrE,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC;AACjG,4CAA4C;AAC5C,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC;AAC3F,8CAA8C;AAC9C,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC;AAC/F,4CAA4C;AAC5C,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAC,CAAC;AAC7F,mDAAmD;AACnD,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC;AACvF,oCAAoC;AACpC,MAAM,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC;AAEvE,4EAA4E;AAC5E,MAAM,WAAW,+BAA+B;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACvC;AAuDD,8EAA8E;AAC9E,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,cAAc,EAC1B,OAAO,GAAE,+BAAoC,GAC5C,kBAAkB,CAyBpB"}
1
+ {"version":3,"file":"studio.d.ts","sourceRoot":"","sources":["../../../src/src/eval/studio.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,2CAA2C;AAC3C,eAAO,MAAM,6BAA6B,yHAEzC,CAAC;AAEF,qDAAqD;AACrD,eAAO,MAAM,0BAA0B,gKActC,CAAC;AAEF,2CAA2C;AAC3C,eAAO,MAAM,4BAA4B;;;;GAMxC,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,0BAA0B;;;;;GAOtC,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,0BAA0B;;;;;;;;;;;GAQtC,CAAC;AAEF,4DAA4D;AAC5D,eAAO,MAAM,yBAAyB;;;;;;;;;;;GAarC,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,6BAA6B;;;;;;;;GAUzC,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,+BAA+B;;;;;;;GAS3C,CAAC;AAEF,8DAA8D;AAC9D,eAAO,MAAM,4BAA4B;;;;;GAOxC,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,kCAAkC;;;;;;;;;GAW9C,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,oCAAoC;;;;;;;GAShD,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,4BAA4B;;;;;GAOxC,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkBvC,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgBpC,CAAC;AAEF,gDAAgD;AAChD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6B5B,CAAC;AAEF,qEAAqE;AACrE,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC;AACjG,4CAA4C;AAC5C,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC;AAC3F,8CAA8C;AAC9C,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC;AAC/F,4CAA4C;AAC5C,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAC,CAAC;AAC7F,mDAAmD;AACnD,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC;AACvF,oCAAoC;AACpC,MAAM,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC;AAEvE,4EAA4E;AAC5E,MAAM,WAAW,+BAA+B;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACvC;AAwDD,8EAA8E;AAC9E,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,cAAc,EAC1B,OAAO,GAAE,+BAAoC,GAC5C,kBAAkB,CAyBpB"}
@@ -37,7 +37,7 @@ export const getEvalSourceDatasetSchema = defineSchema((v) => v.object({
37
37
  /** Schema for an Eval metric in Studio source documents. */
38
38
  export const getEvalSourceMetricSchema = defineSchema((v) => v.object({
39
39
  name: v.string(),
40
- family: v.enum(["answer", "agent", "ops", "judge", "check"]),
40
+ family: v.enum(["answer", "agent", "ops", "judge", "knowledge", "check"]),
41
41
  severity: v.enum(["gate", "soft", "budget"]),
42
42
  threshold: v.object({
43
43
  min: v.number().optional(),
@@ -50,7 +50,7 @@ export const getEvalSourceMetricSchema = defineSchema((v) => v.object({
50
50
  /** Schema for an Eval report metric summary in Studio run projections. */
51
51
  export const getEvalRunMetricSummarySchema = defineSchema((v) => v.object({
52
52
  name: v.string(),
53
- family: v.enum(["answer", "agent", "ops", "judge", "check"]),
53
+ family: v.enum(["answer", "agent", "ops", "judge", "knowledge", "check"]),
54
54
  severity: v.enum(["gate", "soft", "budget"]),
55
55
  passed: v.number().int().nonnegative(),
56
56
  failed: v.number().int().nonnegative(),
@@ -79,7 +79,7 @@ export const getEvalRunGateFailureSummarySchema = defineSchema((v) => v.object({
79
79
  exampleId: v.string(),
80
80
  repetition: v.number().int().positive(),
81
81
  name: v.string(),
82
- family: v.enum(["answer", "agent", "ops", "judge", "check"]),
82
+ family: v.enum(["answer", "agent", "ops", "judge", "knowledge", "check"]),
83
83
  severity: v.enum(["gate", "budget"]),
84
84
  explanation: v.string().optional(),
85
85
  evidence: v.record(v.string(), v.unknown()).optional(),
@@ -198,7 +198,8 @@ function copyExample(example) {
198
198
  };
199
199
  }
200
200
  function createSourceMetric(metric) {
201
- const dynamic = metric.family === "judge" || metric.family === "check";
201
+ const dynamic = metric.family === "judge" || metric.family === "check" ||
202
+ metric.name === "answer.groundedness";
202
203
  return {
203
204
  name: metric.name,
204
205
  family: metric.family,
@@ -9,7 +9,7 @@ export type EvalTargetKind = "agent";
9
9
  /** How a metric result affects the final eval result. */
10
10
  export type EvalSeverity = "gate" | "soft" | "budget";
11
11
  /** Metric family used for grouping report summaries. */
12
- export type EvalMetricFamily = "answer" | "agent" | "ops" | "judge" | "check";
12
+ export type EvalMetricFamily = "answer" | "agent" | "ops" | "judge" | "knowledge" | "check";
13
13
  /** Numeric threshold attached to score-based metrics. */
14
14
  export type EvalMetricThreshold = {
15
15
  min?: number;
@@ -64,6 +64,51 @@ export interface EvalToolCallCountOptions {
64
64
  min?: number;
65
65
  max?: number;
66
66
  }
67
+ /** Expected knowledge source or passage for retrieval-quality metrics. */
68
+ export type EvalKnowledgeExpectedSource = string | {
69
+ path?: string;
70
+ source?: string;
71
+ id?: string;
72
+ title?: string;
73
+ documentCode?: string;
74
+ document_code?: string;
75
+ contentMatch?: string;
76
+ verificationQuote?: string;
77
+ content?: string;
78
+ text?: string;
79
+ };
80
+ /** Options shared by knowledge retrieval metrics. */
81
+ export interface EvalKnowledgeRetrievalMetricOptions {
82
+ expected?: EvalKnowledgeExpectedSource[];
83
+ expectedFrom?: string;
84
+ k: number;
85
+ tool?: string;
86
+ }
87
+ /** Options for mean reciprocal rank over retrieved knowledge. */
88
+ export interface EvalKnowledgeMrrMetricOptions {
89
+ expected?: EvalKnowledgeExpectedSource[];
90
+ expectedFrom?: string;
91
+ k?: number;
92
+ tool?: string;
93
+ }
94
+ /** Options for judge-backed answer grounding checks. */
95
+ export interface EvalAnswerGroundednessMetricOptions {
96
+ tool?: string;
97
+ rubric?: string;
98
+ judge?: (input: {
99
+ rubric: string;
100
+ input: unknown;
101
+ output: Record<string, unknown>;
102
+ reference?: unknown;
103
+ metadata: Record<string, unknown>;
104
+ evidence: string[];
105
+ sources: string[];
106
+ }) => EvalMaybePromise<{
107
+ score: number;
108
+ pass?: boolean;
109
+ explanation?: string;
110
+ }>;
111
+ }
67
112
  /** Tool call metadata captured during one eval record. */
68
113
  export interface EvalToolCall {
69
114
  id?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/src/eval/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/src/eval/types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  /** Shared version value. */
2
- export declare const VERSION = "0.1.944";
2
+ export declare const VERSION = "0.1.945";
3
3
  //# sourceMappingURL=version-constant.d.ts.map
@@ -1,4 +1,4 @@
1
1
  // Keep in sync with deno.json version.
2
2
  // scripts/release.ts updates this constant during releases.
3
3
  /** Shared version value. */
4
- export const VERSION = "0.1.944";
4
+ export const VERSION = "0.1.945";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "veryfront",
3
- "version": "0.1.944",
3
+ "version": "0.1.945",
4
4
  "description": "The simplest way to build AI-powered apps",
5
5
  "keywords": [
6
6
  "react",