@kortyx/agent 0.31.1 → 0.33.0
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/CHANGELOG.md +23 -0
- package/dist/evals.d.ts +199 -16
- package/dist/evals.js +417 -270
- package/dist/evals.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +914 -672
- package/dist/index.js.map +1 -1
- package/dist/{studio-judge-CG86eozt.d.ts → studio-judge-DpRLvf8j.d.ts} +700 -57
- package/package.json +4 -4
package/dist/evals.js
CHANGED
|
@@ -23,6 +23,7 @@ __export(evals_exports, {
|
|
|
23
23
|
EvalConfigurationError: () => EvalConfigurationError,
|
|
24
24
|
EvalCostAmountSchema: () => EvalCostAmountSchema,
|
|
25
25
|
EvalCostsSchema: () => EvalCostsSchema,
|
|
26
|
+
EvalEvidencePolicySchema: () => EvalEvidencePolicySchema,
|
|
26
27
|
EvalJudgeIdentitySchema: () => EvalJudgeIdentitySchema,
|
|
27
28
|
EvalJudgeUsageSchema: () => EvalJudgeUsageSchema,
|
|
28
29
|
EvalManifestSchema: () => EvalManifestSchema,
|
|
@@ -50,32 +51,73 @@ __export(evals_exports, {
|
|
|
50
51
|
StudioEvaluationSummarySchema: () => StudioEvaluationSummarySchema,
|
|
51
52
|
createStudioEvalJudge: () => createStudioEvalJudge,
|
|
52
53
|
defineSuite: () => defineSuite,
|
|
54
|
+
getEvalGradeEvidence: () => getEvalGradeEvidence,
|
|
53
55
|
parseEvalSuite: () => parseEvalSuite
|
|
54
56
|
});
|
|
55
57
|
module.exports = __toCommonJS(evals_exports);
|
|
56
58
|
|
|
57
59
|
// src/evals/contracts.ts
|
|
60
|
+
var import_zod2 = require("zod");
|
|
61
|
+
|
|
62
|
+
// src/evals/evidence-policy.ts
|
|
58
63
|
var import_zod = require("zod");
|
|
64
|
+
var EVAL_EVIDENCE_EVENT_TYPES = [
|
|
65
|
+
"tool-call-start",
|
|
66
|
+
"tool-call-result",
|
|
67
|
+
"tool-call-error",
|
|
68
|
+
"tool-result",
|
|
69
|
+
"structured-data",
|
|
70
|
+
"structured-data-invalidated",
|
|
71
|
+
"interrupt",
|
|
72
|
+
"error",
|
|
73
|
+
"cancelled",
|
|
74
|
+
"limit-reached"
|
|
75
|
+
];
|
|
59
76
|
var id = import_zod.z.string().trim().min(1).max(256);
|
|
60
|
-
var
|
|
61
|
-
var
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
77
|
+
var filter = import_zod.z.object({ using: id, params: import_zod.z.json().optional() }).strict();
|
|
78
|
+
var EvalEvidencePolicySchema = import_zod.z.object({
|
|
79
|
+
history: import_zod.z.boolean().optional(),
|
|
80
|
+
events: import_zod.z.union([
|
|
81
|
+
import_zod.z.literal(false),
|
|
82
|
+
import_zod.z.array(import_zod.z.enum(EVAL_EVIDENCE_EVENT_TYPES)),
|
|
83
|
+
filter
|
|
84
|
+
]).optional(),
|
|
85
|
+
outputs: import_zod.z.union([
|
|
86
|
+
import_zod.z.literal(false),
|
|
87
|
+
import_zod.z.array(
|
|
88
|
+
import_zod.z.object({
|
|
89
|
+
dataType: id.optional(),
|
|
90
|
+
schemaId: id.optional(),
|
|
91
|
+
schemaVersion: id.optional()
|
|
92
|
+
}).strict().refine((value) => Boolean(value.dataType || value.schemaId), {
|
|
93
|
+
message: "Select an output by dataType or schemaId."
|
|
94
|
+
})
|
|
95
|
+
),
|
|
96
|
+
filter
|
|
97
|
+
]).optional()
|
|
98
|
+
}).strict();
|
|
99
|
+
|
|
100
|
+
// src/evals/contracts.ts
|
|
101
|
+
var id2 = import_zod2.z.string().trim().min(1).max(256);
|
|
102
|
+
var handler = import_zod2.z.object({ using: id2, params: import_zod2.z.json().optional() }).strict();
|
|
103
|
+
var EvalResumeResponseSchema = import_zod2.z.discriminatedUnion("type", [
|
|
104
|
+
import_zod2.z.object({ type: import_zod2.z.literal("text"), text: import_zod2.z.string() }).strict(),
|
|
105
|
+
import_zod2.z.object({ type: import_zod2.z.literal("select"), ids: import_zod2.z.array(import_zod2.z.string()) }).strict(),
|
|
106
|
+
import_zod2.z.object({ type: import_zod2.z.literal("value"), value: import_zod2.z.json() }).strict(),
|
|
107
|
+
import_zod2.z.object({ type: import_zod2.z.literal("cancel") }).strict()
|
|
66
108
|
]);
|
|
67
|
-
var expectation =
|
|
68
|
-
type:
|
|
69
|
-
schemaId:
|
|
70
|
-
schemaVersion:
|
|
71
|
-
outputs:
|
|
72
|
-
criteria:
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
109
|
+
var expectation = import_zod2.z.object({
|
|
110
|
+
type: import_zod2.z.enum(["answer", "interrupt"]),
|
|
111
|
+
schemaId: id2.optional(),
|
|
112
|
+
schemaVersion: id2.optional(),
|
|
113
|
+
outputs: import_zod2.z.array(import_zod2.z.object({ schemaId: id2, schemaVersion: id2.optional() }).strict()).optional(),
|
|
114
|
+
criteria: import_zod2.z.array(
|
|
115
|
+
import_zod2.z.union([
|
|
116
|
+
import_zod2.z.string().trim().min(1),
|
|
117
|
+
import_zod2.z.object({ id: id2, text: import_zod2.z.string().trim().min(1) }).strict()
|
|
76
118
|
])
|
|
77
119
|
).optional(),
|
|
78
|
-
reference:
|
|
120
|
+
reference: import_zod2.z.json().optional()
|
|
79
121
|
}).strict().superRefine((value, ctx) => {
|
|
80
122
|
if (value.type === "answer" && (value.schemaId || value.schemaVersion))
|
|
81
123
|
ctx.addIssue({
|
|
@@ -91,20 +133,21 @@ var expectation = import_zod.z.object({
|
|
|
91
133
|
message: "Criterion IDs must be unique within a step."
|
|
92
134
|
});
|
|
93
135
|
});
|
|
94
|
-
var EvalSuiteSchema =
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
136
|
+
var EvalSuiteSchema = import_zod2.z.object({
|
|
137
|
+
evidence: EvalEvidencePolicySchema.optional(),
|
|
138
|
+
id: id2,
|
|
139
|
+
name: import_zod2.z.string().optional(),
|
|
140
|
+
cases: import_zod2.z.array(
|
|
141
|
+
import_zod2.z.object({
|
|
142
|
+
id: id2,
|
|
143
|
+
name: import_zod2.z.string().optional(),
|
|
144
|
+
params: import_zod2.z.json().optional(),
|
|
145
|
+
workflowId: id2.optional(),
|
|
146
|
+
steps: import_zod2.z.array(
|
|
147
|
+
import_zod2.z.union([
|
|
148
|
+
import_zod2.z.object({ message: import_zod2.z.string().min(1), expect: expectation }).strict(),
|
|
149
|
+
import_zod2.z.object({
|
|
150
|
+
resume: import_zod2.z.union([EvalResumeResponseSchema, handler]),
|
|
108
151
|
expect: expectation
|
|
109
152
|
}).strict()
|
|
110
153
|
])
|
|
@@ -112,32 +155,32 @@ var EvalSuiteSchema = import_zod.z.object({
|
|
|
112
155
|
}).strict()
|
|
113
156
|
).min(1)
|
|
114
157
|
}).strict();
|
|
115
|
-
var EvalVerdictSchema =
|
|
116
|
-
passed:
|
|
117
|
-
reason:
|
|
118
|
-
evidence:
|
|
158
|
+
var EvalVerdictSchema = import_zod2.z.object({
|
|
159
|
+
passed: import_zod2.z.boolean(),
|
|
160
|
+
reason: import_zod2.z.string().trim().min(1),
|
|
161
|
+
evidence: import_zod2.z.array(import_zod2.z.string().min(1))
|
|
119
162
|
}).strict();
|
|
120
|
-
var EvalObservationSchema =
|
|
121
|
-
type:
|
|
122
|
-
text:
|
|
123
|
-
structured:
|
|
124
|
-
events:
|
|
125
|
-
runId:
|
|
126
|
-
checkpointId:
|
|
127
|
-
interrupt:
|
|
128
|
-
requestId:
|
|
129
|
-
kind:
|
|
130
|
-
question:
|
|
131
|
-
schemaId:
|
|
132
|
-
schemaVersion:
|
|
133
|
-
options:
|
|
134
|
-
|
|
135
|
-
id:
|
|
136
|
-
label:
|
|
137
|
-
description:
|
|
163
|
+
var EvalObservationSchema = import_zod2.z.object({
|
|
164
|
+
type: import_zod2.z.enum(["answer", "interrupt", "error", "cancelled"]),
|
|
165
|
+
text: import_zod2.z.string(),
|
|
166
|
+
structured: import_zod2.z.array(import_zod2.z.json()),
|
|
167
|
+
events: import_zod2.z.array(import_zod2.z.json()).optional(),
|
|
168
|
+
runId: import_zod2.z.string().optional(),
|
|
169
|
+
checkpointId: import_zod2.z.string().optional(),
|
|
170
|
+
interrupt: import_zod2.z.object({
|
|
171
|
+
requestId: import_zod2.z.string(),
|
|
172
|
+
kind: import_zod2.z.enum(["text", "choice", "multi-choice", "custom"]),
|
|
173
|
+
question: import_zod2.z.string().optional(),
|
|
174
|
+
schemaId: import_zod2.z.string().optional(),
|
|
175
|
+
schemaVersion: import_zod2.z.string().optional(),
|
|
176
|
+
options: import_zod2.z.array(
|
|
177
|
+
import_zod2.z.object({
|
|
178
|
+
id: import_zod2.z.string(),
|
|
179
|
+
label: import_zod2.z.string(),
|
|
180
|
+
description: import_zod2.z.string().optional()
|
|
138
181
|
}).strict()
|
|
139
182
|
),
|
|
140
|
-
request:
|
|
183
|
+
request: import_zod2.z.json().optional()
|
|
141
184
|
}).strict().optional()
|
|
142
185
|
}).strict().superRefine((value, ctx) => {
|
|
143
186
|
if (value.type === "interrupt" !== Boolean(value.interrupt))
|
|
@@ -146,9 +189,9 @@ var EvalObservationSchema = import_zod.z.object({
|
|
|
146
189
|
message: "Interrupt observations require exactly one interrupt."
|
|
147
190
|
});
|
|
148
191
|
});
|
|
149
|
-
var status =
|
|
150
|
-
var issue =
|
|
151
|
-
phase:
|
|
192
|
+
var status = import_zod2.z.enum(["passed", "failed", "error", "cancelled", "ungraded"]);
|
|
193
|
+
var issue = import_zod2.z.object({
|
|
194
|
+
phase: import_zod2.z.enum([
|
|
152
195
|
"params",
|
|
153
196
|
"setup",
|
|
154
197
|
"execute",
|
|
@@ -158,164 +201,169 @@ var issue = import_zod.z.object({
|
|
|
158
201
|
"cleanup",
|
|
159
202
|
"reporting"
|
|
160
203
|
]),
|
|
161
|
-
code:
|
|
162
|
-
message:
|
|
204
|
+
code: import_zod2.z.string(),
|
|
205
|
+
message: import_zod2.z.string()
|
|
163
206
|
}).strict();
|
|
164
|
-
var EvalJudgeUsageSchema =
|
|
165
|
-
provider:
|
|
166
|
-
model:
|
|
167
|
-
occurredAt:
|
|
168
|
-
usage:
|
|
169
|
-
input:
|
|
170
|
-
output:
|
|
171
|
-
total:
|
|
172
|
-
reasoning:
|
|
173
|
-
cacheRead:
|
|
174
|
-
cacheWrite:
|
|
175
|
-
cacheWrite1h:
|
|
176
|
-
outputIncludesReasoning:
|
|
177
|
-
inputIncludesCacheRead:
|
|
178
|
-
inputIncludesCacheWrite:
|
|
207
|
+
var EvalJudgeUsageSchema = import_zod2.z.object({
|
|
208
|
+
provider: import_zod2.z.string().min(1),
|
|
209
|
+
model: import_zod2.z.string().min(1),
|
|
210
|
+
occurredAt: import_zod2.z.iso.datetime(),
|
|
211
|
+
usage: import_zod2.z.object({
|
|
212
|
+
input: import_zod2.z.number().finite().nonnegative().optional(),
|
|
213
|
+
output: import_zod2.z.number().finite().nonnegative().optional(),
|
|
214
|
+
total: import_zod2.z.number().finite().nonnegative().optional(),
|
|
215
|
+
reasoning: import_zod2.z.number().finite().nonnegative().optional(),
|
|
216
|
+
cacheRead: import_zod2.z.number().finite().nonnegative().optional(),
|
|
217
|
+
cacheWrite: import_zod2.z.number().finite().nonnegative().optional(),
|
|
218
|
+
cacheWrite1h: import_zod2.z.number().finite().nonnegative().optional(),
|
|
219
|
+
outputIncludesReasoning: import_zod2.z.boolean().optional(),
|
|
220
|
+
inputIncludesCacheRead: import_zod2.z.boolean().optional(),
|
|
221
|
+
inputIncludesCacheWrite: import_zod2.z.boolean().optional()
|
|
179
222
|
}).strict().optional(),
|
|
180
|
-
pricingContext:
|
|
181
|
-
serviceTier:
|
|
182
|
-
inferenceGeo:
|
|
183
|
-
speed:
|
|
223
|
+
pricingContext: import_zod2.z.object({
|
|
224
|
+
serviceTier: import_zod2.z.string().min(1).max(100).optional(),
|
|
225
|
+
inferenceGeo: import_zod2.z.string().min(1).max(100).optional(),
|
|
226
|
+
speed: import_zod2.z.string().min(1).max(100).optional()
|
|
184
227
|
}).strict().optional(),
|
|
185
|
-
pricing:
|
|
186
|
-
source:
|
|
187
|
-
currency:
|
|
188
|
-
actualCostMicros:
|
|
228
|
+
pricing: import_zod2.z.object({
|
|
229
|
+
source: import_zod2.z.literal("provider"),
|
|
230
|
+
currency: import_zod2.z.literal("USD"),
|
|
231
|
+
actualCostMicros: import_zod2.z.number().int().nonnegative().safe()
|
|
189
232
|
}).strict().optional()
|
|
190
233
|
}).strict();
|
|
191
|
-
var EvalStepResultSchema =
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
234
|
+
var EvalStepResultSchema = import_zod2.z.object({
|
|
235
|
+
evidence: import_zod2.z.object({
|
|
236
|
+
version: import_zod2.z.literal("compact-v1"),
|
|
237
|
+
history: import_zod2.z.boolean(),
|
|
238
|
+
observation: EvalObservationSchema
|
|
239
|
+
}).strict().optional(),
|
|
240
|
+
index: import_zod2.z.number().int().nonnegative(),
|
|
241
|
+
input: import_zod2.z.union([
|
|
242
|
+
import_zod2.z.object({ message: import_zod2.z.string() }).strict(),
|
|
243
|
+
import_zod2.z.object({ resume: EvalResumeResponseSchema }).strict()
|
|
196
244
|
]),
|
|
197
245
|
expectation,
|
|
198
246
|
observation: EvalObservationSchema,
|
|
199
|
-
reference:
|
|
247
|
+
reference: import_zod2.z.json().optional(),
|
|
200
248
|
status,
|
|
201
|
-
reason:
|
|
202
|
-
judgeCalls:
|
|
203
|
-
judgeUsage:
|
|
204
|
-
criteria:
|
|
205
|
-
EvalVerdictSchema.extend({ id:
|
|
249
|
+
reason: import_zod2.z.string().optional(),
|
|
250
|
+
judgeCalls: import_zod2.z.number().int().nonnegative().optional(),
|
|
251
|
+
judgeUsage: import_zod2.z.array(EvalJudgeUsageSchema).optional(),
|
|
252
|
+
criteria: import_zod2.z.array(
|
|
253
|
+
EvalVerdictSchema.extend({ id: import_zod2.z.string(), text: import_zod2.z.string() })
|
|
206
254
|
)
|
|
207
255
|
}).strict();
|
|
208
|
-
var EvalCaseResultSchema =
|
|
209
|
-
caseId:
|
|
210
|
-
repetition:
|
|
211
|
-
sessionId:
|
|
256
|
+
var EvalCaseResultSchema = import_zod2.z.object({
|
|
257
|
+
caseId: id2,
|
|
258
|
+
repetition: import_zod2.z.number().int().positive(),
|
|
259
|
+
sessionId: import_zod2.z.string(),
|
|
212
260
|
status,
|
|
213
|
-
durationMs:
|
|
214
|
-
steps:
|
|
215
|
-
errors:
|
|
261
|
+
durationMs: import_zod2.z.number().nonnegative(),
|
|
262
|
+
steps: import_zod2.z.array(EvalStepResultSchema),
|
|
263
|
+
errors: import_zod2.z.array(issue)
|
|
216
264
|
}).strict();
|
|
217
|
-
var EvalJudgeIdentitySchema =
|
|
218
|
-
id,
|
|
219
|
-
version:
|
|
220
|
-
location:
|
|
265
|
+
var EvalJudgeIdentitySchema = import_zod2.z.object({
|
|
266
|
+
id: id2,
|
|
267
|
+
version: id2,
|
|
268
|
+
location: import_zod2.z.enum(["app", "studio"]).optional()
|
|
221
269
|
}).strict();
|
|
222
270
|
var judge = EvalJudgeIdentitySchema;
|
|
223
|
-
var StudioEvalJudgeRequestSchema =
|
|
224
|
-
environment:
|
|
271
|
+
var StudioEvalJudgeRequestSchema = import_zod2.z.object({
|
|
272
|
+
environment: id2,
|
|
225
273
|
judge: EvalJudgeIdentitySchema,
|
|
226
|
-
criterion:
|
|
274
|
+
criterion: import_zod2.z.object({ id: id2, text: import_zod2.z.string().trim().min(1).max(16384) }).strict(),
|
|
227
275
|
input: EvalStepResultSchema.shape.input,
|
|
228
276
|
observation: EvalObservationSchema,
|
|
229
|
-
reference:
|
|
230
|
-
conversation:
|
|
277
|
+
reference: import_zod2.z.json().optional(),
|
|
278
|
+
conversation: import_zod2.z.array(EvalStepResultSchema).max(100)
|
|
231
279
|
}).strict();
|
|
232
|
-
var StudioEvalJudgeResponseSchema =
|
|
280
|
+
var StudioEvalJudgeResponseSchema = import_zod2.z.object({
|
|
233
281
|
judge: EvalJudgeIdentitySchema,
|
|
234
282
|
verdict: EvalVerdictSchema,
|
|
235
|
-
usage:
|
|
283
|
+
usage: import_zod2.z.array(EvalJudgeUsageSchema).optional()
|
|
236
284
|
}).strict();
|
|
237
|
-
var EvalRunResultSchema =
|
|
238
|
-
id:
|
|
239
|
-
suiteId:
|
|
240
|
-
suiteRevision:
|
|
285
|
+
var EvalRunResultSchema = import_zod2.z.object({
|
|
286
|
+
id: import_zod2.z.uuid(),
|
|
287
|
+
suiteId: id2,
|
|
288
|
+
suiteRevision: import_zod2.z.string().regex(/^[a-f0-9]{64}$/),
|
|
241
289
|
suite: EvalSuiteSchema,
|
|
242
290
|
judge: judge.optional(),
|
|
243
|
-
startedAt:
|
|
244
|
-
durationMs:
|
|
291
|
+
startedAt: import_zod2.z.iso.datetime(),
|
|
292
|
+
durationMs: import_zod2.z.number().nonnegative(),
|
|
245
293
|
status,
|
|
246
|
-
counts:
|
|
247
|
-
passed:
|
|
248
|
-
failed:
|
|
249
|
-
error:
|
|
250
|
-
cancelled:
|
|
251
|
-
ungraded:
|
|
294
|
+
counts: import_zod2.z.object({
|
|
295
|
+
passed: import_zod2.z.number().int().nonnegative(),
|
|
296
|
+
failed: import_zod2.z.number().int().nonnegative(),
|
|
297
|
+
error: import_zod2.z.number().int().nonnegative(),
|
|
298
|
+
cancelled: import_zod2.z.number().int().nonnegative(),
|
|
299
|
+
ungraded: import_zod2.z.number().int().nonnegative().optional()
|
|
252
300
|
}).strict(),
|
|
253
|
-
cases:
|
|
254
|
-
errors:
|
|
301
|
+
cases: import_zod2.z.array(EvalCaseResultSchema),
|
|
302
|
+
errors: import_zod2.z.array(issue)
|
|
255
303
|
}).strict();
|
|
256
|
-
var EvalManifestSchema =
|
|
257
|
-
schemaVersion:
|
|
258
|
-
studioJudging:
|
|
259
|
-
suites:
|
|
260
|
-
responders:
|
|
261
|
-
|
|
262
|
-
name:
|
|
263
|
-
schemaId:
|
|
264
|
-
schemaVersion:
|
|
304
|
+
var EvalManifestSchema = import_zod2.z.object({
|
|
305
|
+
schemaVersion: import_zod2.z.literal(1),
|
|
306
|
+
studioJudging: import_zod2.z.literal(true).optional(),
|
|
307
|
+
suites: import_zod2.z.array(EvalSuiteSchema),
|
|
308
|
+
responders: import_zod2.z.array(
|
|
309
|
+
import_zod2.z.object({
|
|
310
|
+
name: id2,
|
|
311
|
+
schemaId: id2.optional(),
|
|
312
|
+
schemaVersion: id2.optional()
|
|
265
313
|
}).strict()
|
|
266
314
|
),
|
|
267
|
-
references:
|
|
268
|
-
paramsSchema:
|
|
315
|
+
references: import_zod2.z.array(id2),
|
|
316
|
+
paramsSchema: import_zod2.z.record(import_zod2.z.string(), import_zod2.z.unknown()).optional(),
|
|
269
317
|
judge: judge.optional()
|
|
270
318
|
}).strict();
|
|
271
|
-
var EvalProgressSchema =
|
|
272
|
-
|
|
273
|
-
type:
|
|
274
|
-
caseIds:
|
|
275
|
-
repetitions:
|
|
276
|
-
concurrency:
|
|
319
|
+
var EvalProgressSchema = import_zod2.z.discriminatedUnion("type", [
|
|
320
|
+
import_zod2.z.object({
|
|
321
|
+
type: import_zod2.z.literal("run-started"),
|
|
322
|
+
caseIds: import_zod2.z.array(id2).min(1),
|
|
323
|
+
repetitions: import_zod2.z.number().int().positive(),
|
|
324
|
+
concurrency: import_zod2.z.number().int().positive()
|
|
277
325
|
}).strict(),
|
|
278
|
-
|
|
279
|
-
type:
|
|
280
|
-
caseId:
|
|
281
|
-
repetition:
|
|
326
|
+
import_zod2.z.object({
|
|
327
|
+
type: import_zod2.z.literal("case-progress"),
|
|
328
|
+
caseId: id2,
|
|
329
|
+
repetition: import_zod2.z.number().int().positive(),
|
|
282
330
|
phase: issue.shape.phase,
|
|
283
|
-
stepIndex:
|
|
331
|
+
stepIndex: import_zod2.z.number().int().nonnegative().optional()
|
|
284
332
|
}).strict(),
|
|
285
|
-
|
|
286
|
-
type:
|
|
287
|
-
caseId:
|
|
288
|
-
repetition:
|
|
289
|
-
sessionId:
|
|
333
|
+
import_zod2.z.object({
|
|
334
|
+
type: import_zod2.z.literal("case-started"),
|
|
335
|
+
caseId: id2,
|
|
336
|
+
repetition: import_zod2.z.number().int().positive(),
|
|
337
|
+
sessionId: import_zod2.z.string()
|
|
290
338
|
}).strict(),
|
|
291
|
-
|
|
292
|
-
type:
|
|
293
|
-
caseId:
|
|
294
|
-
repetition:
|
|
339
|
+
import_zod2.z.object({
|
|
340
|
+
type: import_zod2.z.literal("step-completed"),
|
|
341
|
+
caseId: id2,
|
|
342
|
+
repetition: import_zod2.z.number().int().positive(),
|
|
295
343
|
step: EvalStepResultSchema
|
|
296
344
|
}).strict(),
|
|
297
|
-
|
|
345
|
+
import_zod2.z.object({ type: import_zod2.z.literal("case-completed"), result: EvalCaseResultSchema }).strict()
|
|
298
346
|
]);
|
|
299
|
-
var EvalRemoteRunRequestSchema =
|
|
300
|
-
suiteId:
|
|
301
|
-
suiteRevision:
|
|
302
|
-
grading:
|
|
347
|
+
var EvalRemoteRunRequestSchema = import_zod2.z.object({
|
|
348
|
+
suiteId: id2,
|
|
349
|
+
suiteRevision: import_zod2.z.string().regex(/^[a-f0-9]{64}$/),
|
|
350
|
+
grading: import_zod2.z.enum(["app", "studio"]).optional(),
|
|
303
351
|
judge: EvalJudgeIdentitySchema.optional(),
|
|
304
|
-
caseIds:
|
|
305
|
-
repetitions:
|
|
306
|
-
concurrency:
|
|
352
|
+
caseIds: import_zod2.z.array(id2).min(1).max(100).optional(),
|
|
353
|
+
repetitions: import_zod2.z.number().int().min(1).max(20).default(1),
|
|
354
|
+
concurrency: import_zod2.z.number().int().min(1).max(4).default(1)
|
|
307
355
|
}).strict();
|
|
308
356
|
var StudioEvalStartRequestSchema = EvalRemoteRunRequestSchema.omit({
|
|
309
357
|
grading: true,
|
|
310
358
|
judge: true
|
|
311
359
|
}).extend({
|
|
312
|
-
targetId:
|
|
313
|
-
judge:
|
|
360
|
+
targetId: import_zod2.z.string().min(1).max(128),
|
|
361
|
+
judge: import_zod2.z.enum(["studio", "app"]).default("studio")
|
|
314
362
|
});
|
|
315
|
-
var EvalWireEventSchema =
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
363
|
+
var EvalWireEventSchema = import_zod2.z.discriminatedUnion("type", [
|
|
364
|
+
import_zod2.z.object({ type: import_zod2.z.literal("progress"), event: EvalProgressSchema }).strict(),
|
|
365
|
+
import_zod2.z.object({ type: import_zod2.z.literal("result"), result: EvalRunResultSchema }).strict(),
|
|
366
|
+
import_zod2.z.object({ type: import_zod2.z.literal("error"), message: import_zod2.z.string() }).strict()
|
|
319
367
|
]);
|
|
320
368
|
var EvalConfigurationError = class extends Error {
|
|
321
369
|
name = "EvalConfigurationError";
|
|
@@ -348,22 +396,22 @@ function defineSuite(suite) {
|
|
|
348
396
|
}
|
|
349
397
|
|
|
350
398
|
// src/evals/evaluation-contracts.ts
|
|
351
|
-
var
|
|
399
|
+
var import_zod4 = require("zod");
|
|
352
400
|
|
|
353
401
|
// src/evals/studio-contracts.ts
|
|
354
|
-
var
|
|
355
|
-
var StudioEvalTargetsResponseSchema =
|
|
356
|
-
canRun:
|
|
402
|
+
var import_zod3 = require("zod");
|
|
403
|
+
var StudioEvalTargetsResponseSchema = import_zod3.z.object({
|
|
404
|
+
canRun: import_zod3.z.boolean(),
|
|
357
405
|
studioJudge: EvalJudgeIdentitySchema.nullable().optional(),
|
|
358
|
-
targets:
|
|
359
|
-
|
|
360
|
-
id:
|
|
361
|
-
name:
|
|
362
|
-
environment:
|
|
363
|
-
error:
|
|
406
|
+
targets: import_zod3.z.array(
|
|
407
|
+
import_zod3.z.object({
|
|
408
|
+
id: import_zod3.z.string(),
|
|
409
|
+
name: import_zod3.z.string(),
|
|
410
|
+
environment: import_zod3.z.string(),
|
|
411
|
+
error: import_zod3.z.string().nullable(),
|
|
364
412
|
// Safe discovery diagnostics; optional for compatibility with older APIs.
|
|
365
|
-
diagnostic:
|
|
366
|
-
code:
|
|
413
|
+
diagnostic: import_zod3.z.object({
|
|
414
|
+
code: import_zod3.z.enum([
|
|
367
415
|
"environment_forbidden",
|
|
368
416
|
"environment_unavailable",
|
|
369
417
|
"endpoint_not_found",
|
|
@@ -372,35 +420,35 @@ var StudioEvalTargetsResponseSchema = import_zod2.z.object({
|
|
|
372
420
|
"endpoint_unreachable",
|
|
373
421
|
"manifest_invalid"
|
|
374
422
|
]),
|
|
375
|
-
httpStatus:
|
|
423
|
+
httpStatus: import_zod3.z.number().int().min(100).max(599).optional()
|
|
376
424
|
}).nullable().optional(),
|
|
377
425
|
manifest: EvalManifestSchema.nullable(),
|
|
378
|
-
revisions:
|
|
426
|
+
revisions: import_zod3.z.record(import_zod3.z.string(), import_zod3.z.string())
|
|
379
427
|
})
|
|
380
428
|
)
|
|
381
429
|
});
|
|
382
|
-
var EvalCostAmountSchema =
|
|
383
|
-
amount:
|
|
384
|
-
currency:
|
|
385
|
-
status:
|
|
386
|
-
calls:
|
|
387
|
-
unpricedCalls:
|
|
388
|
-
estimated:
|
|
430
|
+
var EvalCostAmountSchema = import_zod3.z.object({
|
|
431
|
+
amount: import_zod3.z.number().finite().nonnegative().nullable(),
|
|
432
|
+
currency: import_zod3.z.string().nullable(),
|
|
433
|
+
status: import_zod3.z.enum(["complete", "partial", "unavailable"]),
|
|
434
|
+
calls: import_zod3.z.number().int().nonnegative(),
|
|
435
|
+
unpricedCalls: import_zod3.z.number().int().nonnegative(),
|
|
436
|
+
estimated: import_zod3.z.boolean()
|
|
389
437
|
});
|
|
390
|
-
var EvalCostsSchema =
|
|
438
|
+
var EvalCostsSchema = import_zod3.z.object({
|
|
391
439
|
workflow: EvalCostAmountSchema,
|
|
392
440
|
judge: EvalCostAmountSchema,
|
|
393
441
|
total: EvalCostAmountSchema
|
|
394
442
|
});
|
|
395
|
-
var StudioEvalRunSummarySchema =
|
|
396
|
-
id:
|
|
397
|
-
evaluationId:
|
|
398
|
-
targetId:
|
|
399
|
-
targetName:
|
|
400
|
-
environment:
|
|
401
|
-
suiteId:
|
|
402
|
-
suiteRevision:
|
|
403
|
-
status:
|
|
443
|
+
var StudioEvalRunSummarySchema = import_zod3.z.object({
|
|
444
|
+
id: import_zod3.z.uuid(),
|
|
445
|
+
evaluationId: import_zod3.z.uuid().nullable().optional(),
|
|
446
|
+
targetId: import_zod3.z.string(),
|
|
447
|
+
targetName: import_zod3.z.string(),
|
|
448
|
+
environment: import_zod3.z.string(),
|
|
449
|
+
suiteId: import_zod3.z.string(),
|
|
450
|
+
suiteRevision: import_zod3.z.string(),
|
|
451
|
+
status: import_zod3.z.enum([
|
|
404
452
|
"queued",
|
|
405
453
|
"running",
|
|
406
454
|
"passed",
|
|
@@ -408,47 +456,47 @@ var StudioEvalRunSummarySchema = import_zod2.z.object({
|
|
|
408
456
|
"error",
|
|
409
457
|
"cancelled"
|
|
410
458
|
]),
|
|
411
|
-
createdAt:
|
|
412
|
-
startedAt:
|
|
413
|
-
endedAt:
|
|
414
|
-
error:
|
|
415
|
-
cancelRequestedAt:
|
|
459
|
+
createdAt: import_zod3.z.string(),
|
|
460
|
+
startedAt: import_zod3.z.string().nullable(),
|
|
461
|
+
endedAt: import_zod3.z.string().nullable(),
|
|
462
|
+
error: import_zod3.z.string().nullable(),
|
|
463
|
+
cancelRequestedAt: import_zod3.z.string().nullable(),
|
|
416
464
|
costs: EvalCostsSchema.optional(),
|
|
417
|
-
counts:
|
|
418
|
-
passed:
|
|
419
|
-
failed:
|
|
420
|
-
error:
|
|
421
|
-
cancelled:
|
|
465
|
+
counts: import_zod3.z.object({
|
|
466
|
+
passed: import_zod3.z.number(),
|
|
467
|
+
failed: import_zod3.z.number(),
|
|
468
|
+
error: import_zod3.z.number(),
|
|
469
|
+
cancelled: import_zod3.z.number()
|
|
422
470
|
}).nullable().optional(),
|
|
423
|
-
suiteName:
|
|
424
|
-
totalAttempts:
|
|
425
|
-
completedAttempts:
|
|
426
|
-
phase:
|
|
471
|
+
suiteName: import_zod3.z.string().nullable().optional(),
|
|
472
|
+
totalAttempts: import_zod3.z.number().int().nonnegative().optional(),
|
|
473
|
+
completedAttempts: import_zod3.z.number().int().nonnegative().optional(),
|
|
474
|
+
phase: import_zod3.z.string().optional()
|
|
427
475
|
});
|
|
428
|
-
var StudioEvalHistorySchema =
|
|
429
|
-
runs:
|
|
476
|
+
var StudioEvalHistorySchema = import_zod3.z.object({
|
|
477
|
+
runs: import_zod3.z.array(StudioEvalRunSummarySchema)
|
|
430
478
|
});
|
|
431
|
-
var StudioEvalDetailSchema =
|
|
479
|
+
var StudioEvalDetailSchema = import_zod3.z.object({
|
|
432
480
|
run: StudioEvalRunSummarySchema.extend({
|
|
433
|
-
caseCosts:
|
|
434
|
-
request:
|
|
435
|
-
caseIds:
|
|
436
|
-
grading:
|
|
481
|
+
caseCosts: import_zod3.z.record(import_zod3.z.string(), EvalCostsSchema).optional(),
|
|
482
|
+
request: import_zod3.z.object({
|
|
483
|
+
caseIds: import_zod3.z.array(import_zod3.z.string()).optional(),
|
|
484
|
+
grading: import_zod3.z.enum(["app", "studio"]).optional(),
|
|
437
485
|
judge: EvalJudgeIdentitySchema.optional(),
|
|
438
|
-
repetitions:
|
|
439
|
-
concurrency:
|
|
486
|
+
repetitions: import_zod3.z.number().int().positive(),
|
|
487
|
+
concurrency: import_zod3.z.number().optional()
|
|
440
488
|
}).optional(),
|
|
441
489
|
suite: EvalSuiteSchema,
|
|
442
490
|
result: EvalRunResultSchema.nullable(),
|
|
443
|
-
events:
|
|
491
|
+
events: import_zod3.z.array(import_zod3.z.object({ id: import_zod3.z.number(), event: EvalProgressSchema }))
|
|
444
492
|
})
|
|
445
493
|
});
|
|
446
494
|
|
|
447
495
|
// src/evals/evaluation-contracts.ts
|
|
448
|
-
var EvaluationMetadataSchema =
|
|
449
|
-
source:
|
|
450
|
-
commit:
|
|
451
|
-
deploymentUrl:
|
|
496
|
+
var EvaluationMetadataSchema = import_zod4.z.object({
|
|
497
|
+
source: import_zod4.z.enum(["manual", "deployment", "schedule", "ci"]).default("manual"),
|
|
498
|
+
commit: import_zod4.z.string().trim().min(1).max(100).optional(),
|
|
499
|
+
deploymentUrl: import_zod4.z.url().refine((value) => {
|
|
452
500
|
try {
|
|
453
501
|
const url = new URL(value);
|
|
454
502
|
return ["https:", "http:"].includes(url.protocol) && !url.username && !url.password;
|
|
@@ -457,64 +505,156 @@ var EvaluationMetadataSchema = import_zod3.z.object({
|
|
|
457
505
|
}
|
|
458
506
|
}, "Expected an HTTP(S) URL without credentials").optional()
|
|
459
507
|
}).strict();
|
|
460
|
-
var StudioEvaluationStartRequestSchema =
|
|
461
|
-
targetId:
|
|
462
|
-
name:
|
|
463
|
-
selection:
|
|
464
|
-
suites:
|
|
465
|
-
|
|
466
|
-
suiteId:
|
|
467
|
-
suiteRevision:
|
|
468
|
-
caseIds:
|
|
508
|
+
var StudioEvaluationStartRequestSchema = import_zod4.z.object({
|
|
509
|
+
targetId: import_zod4.z.string().trim().min(1),
|
|
510
|
+
name: import_zod4.z.string().trim().min(1).max(200).optional(),
|
|
511
|
+
selection: import_zod4.z.enum(["all", "selected"]),
|
|
512
|
+
suites: import_zod4.z.array(
|
|
513
|
+
import_zod4.z.object({
|
|
514
|
+
suiteId: import_zod4.z.string().min(1),
|
|
515
|
+
suiteRevision: import_zod4.z.string().regex(/^[a-f0-9]{64}$/),
|
|
516
|
+
caseIds: import_zod4.z.array(import_zod4.z.string().min(1)).min(1).max(100).optional()
|
|
469
517
|
}).strict()
|
|
470
518
|
).min(1).max(100),
|
|
471
|
-
judge:
|
|
472
|
-
repetitions:
|
|
473
|
-
concurrency:
|
|
519
|
+
judge: import_zod4.z.enum(["studio", "app"]).default("studio"),
|
|
520
|
+
repetitions: import_zod4.z.number().int().min(1).max(20).default(1),
|
|
521
|
+
concurrency: import_zod4.z.number().int().min(1).max(4).default(1),
|
|
474
522
|
metadata: EvaluationMetadataSchema.default({ source: "manual" }),
|
|
475
|
-
idempotencyKey:
|
|
523
|
+
idempotencyKey: import_zod4.z.string().trim().min(1).max(200).optional()
|
|
476
524
|
}).strict();
|
|
477
|
-
var StudioEvaluationSummarySchema =
|
|
478
|
-
id:
|
|
479
|
-
name:
|
|
480
|
-
targetId:
|
|
481
|
-
targetName:
|
|
482
|
-
environment:
|
|
483
|
-
selection:
|
|
525
|
+
var StudioEvaluationSummarySchema = import_zod4.z.object({
|
|
526
|
+
id: import_zod4.z.uuid(),
|
|
527
|
+
name: import_zod4.z.string(),
|
|
528
|
+
targetId: import_zod4.z.string(),
|
|
529
|
+
targetName: import_zod4.z.string(),
|
|
530
|
+
environment: import_zod4.z.string(),
|
|
531
|
+
selection: import_zod4.z.enum(["all", "selected"]),
|
|
484
532
|
metadata: EvaluationMetadataSchema,
|
|
485
533
|
judge: EvalJudgeIdentitySchema.optional(),
|
|
486
534
|
status: StudioEvalRunSummarySchema.shape.status,
|
|
487
|
-
createdAt:
|
|
488
|
-
startedAt:
|
|
489
|
-
endedAt:
|
|
490
|
-
cancelRequestedAt:
|
|
491
|
-
suiteCount:
|
|
492
|
-
completedSuites:
|
|
493
|
-
totalAttempts:
|
|
494
|
-
completedAttempts:
|
|
495
|
-
counts:
|
|
496
|
-
passed:
|
|
497
|
-
failed:
|
|
498
|
-
error:
|
|
499
|
-
cancelled:
|
|
535
|
+
createdAt: import_zod4.z.string(),
|
|
536
|
+
startedAt: import_zod4.z.string().nullable(),
|
|
537
|
+
endedAt: import_zod4.z.string().nullable(),
|
|
538
|
+
cancelRequestedAt: import_zod4.z.string().nullable(),
|
|
539
|
+
suiteCount: import_zod4.z.number().int().nonnegative(),
|
|
540
|
+
completedSuites: import_zod4.z.number().int().nonnegative(),
|
|
541
|
+
totalAttempts: import_zod4.z.number().int().nonnegative(),
|
|
542
|
+
completedAttempts: import_zod4.z.number().int().nonnegative(),
|
|
543
|
+
counts: import_zod4.z.object({
|
|
544
|
+
passed: import_zod4.z.number(),
|
|
545
|
+
failed: import_zod4.z.number(),
|
|
546
|
+
error: import_zod4.z.number(),
|
|
547
|
+
cancelled: import_zod4.z.number()
|
|
500
548
|
}),
|
|
501
549
|
costs: EvalCostsSchema.optional(),
|
|
502
|
-
legacy:
|
|
550
|
+
legacy: import_zod4.z.boolean().optional()
|
|
503
551
|
});
|
|
504
|
-
var StudioEvaluationHistorySchema =
|
|
505
|
-
runs:
|
|
552
|
+
var StudioEvaluationHistorySchema = import_zod4.z.object({
|
|
553
|
+
runs: import_zod4.z.array(StudioEvaluationSummarySchema)
|
|
506
554
|
});
|
|
507
|
-
var StudioEvaluationDetailSchema =
|
|
555
|
+
var StudioEvaluationDetailSchema = import_zod4.z.object({
|
|
508
556
|
run: StudioEvaluationSummarySchema.extend({
|
|
509
|
-
suites:
|
|
557
|
+
suites: import_zod4.z.array(StudioEvalRunSummarySchema)
|
|
510
558
|
})
|
|
511
559
|
});
|
|
512
|
-
var StudioEvaluationResultsSchema =
|
|
560
|
+
var StudioEvaluationResultsSchema = import_zod4.z.object({
|
|
513
561
|
run: StudioEvaluationSummarySchema.extend({
|
|
514
|
-
suites:
|
|
562
|
+
suites: import_zod4.z.array(StudioEvalDetailSchema.shape.run)
|
|
515
563
|
})
|
|
516
564
|
});
|
|
517
565
|
|
|
566
|
+
// src/evals/evidence.ts
|
|
567
|
+
var object = (value) => value !== null && typeof value === "object" && !Array.isArray(value);
|
|
568
|
+
var handler2 = (value) => value !== null && typeof value === "object" && "using" in value;
|
|
569
|
+
function predicate(filter2, value, params) {
|
|
570
|
+
if (!filter2)
|
|
571
|
+
throw new EvalConfigurationError("Evidence filter is not registered.");
|
|
572
|
+
const selected = filter2(
|
|
573
|
+
structuredClone(value),
|
|
574
|
+
params === void 0 ? void 0 : structuredClone(params)
|
|
575
|
+
);
|
|
576
|
+
if (typeof selected !== "boolean")
|
|
577
|
+
throw new Error("Evidence filters must return a boolean synchronously.");
|
|
578
|
+
return selected;
|
|
579
|
+
}
|
|
580
|
+
function compactEvalObservation(observation, policy = {}, filters = {}) {
|
|
581
|
+
const outputs = policy.outputs;
|
|
582
|
+
const includeOutput = (output) => {
|
|
583
|
+
if (outputs === false) return false;
|
|
584
|
+
if (handler2(outputs))
|
|
585
|
+
return predicate(
|
|
586
|
+
filters.outputs?.[outputs.using],
|
|
587
|
+
output,
|
|
588
|
+
outputs.params
|
|
589
|
+
);
|
|
590
|
+
if (!outputs) return true;
|
|
591
|
+
return object(output) && outputs.some(
|
|
592
|
+
(selector) => Object.entries(selector).every(([key, value]) => output[key] === value)
|
|
593
|
+
);
|
|
594
|
+
};
|
|
595
|
+
const selectedOutputs = observation.structured.map((output) => ({
|
|
596
|
+
output,
|
|
597
|
+
included: includeOutput(output)
|
|
598
|
+
}));
|
|
599
|
+
const structured = selectedOutputs.filter((item) => item.included).map((item) => item.output);
|
|
600
|
+
const events = observation.events?.filter((value) => {
|
|
601
|
+
if (!object(value) || !EVAL_EVIDENCE_EVENT_TYPES.some((type) => type === value.type))
|
|
602
|
+
return false;
|
|
603
|
+
if (value.type === "structured-data") {
|
|
604
|
+
if (value.kind !== "final") return false;
|
|
605
|
+
const current = selectedOutputs.find(
|
|
606
|
+
({ output: item }) => object(item) && typeof value.streamId === "string" && item.streamId === value.streamId && item.status === "done" && item.dataType === value.dataType && item.schemaId === value.schemaId && item.schemaVersion === value.schemaVersion && JSON.stringify(item.data) === JSON.stringify(value.data)
|
|
607
|
+
);
|
|
608
|
+
if (current) {
|
|
609
|
+
if (!current.included) return false;
|
|
610
|
+
if (!observation.events?.some(
|
|
611
|
+
(event) => object(event) && event.type === "structured-data-invalidated" && event.streamId === value.streamId
|
|
612
|
+
))
|
|
613
|
+
return false;
|
|
614
|
+
} else {
|
|
615
|
+
const { type: _type, kind: _kind, ...fields } = value;
|
|
616
|
+
if (!includeOutput({ ...fields, status: "done" })) return false;
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
return true;
|
|
620
|
+
}).filter((event) => {
|
|
621
|
+
const selection = policy.events;
|
|
622
|
+
if (selection === false) return false;
|
|
623
|
+
if (handler2(selection))
|
|
624
|
+
return predicate(
|
|
625
|
+
filters.events?.[selection.using],
|
|
626
|
+
event,
|
|
627
|
+
selection.params
|
|
628
|
+
);
|
|
629
|
+
return !selection || selection.includes(event.type);
|
|
630
|
+
});
|
|
631
|
+
return structuredClone({
|
|
632
|
+
...observation,
|
|
633
|
+
structured,
|
|
634
|
+
...events ? { events } : {}
|
|
635
|
+
});
|
|
636
|
+
}
|
|
637
|
+
function createEvalJudgeEvidence(observation, policy = {}, filters = {}) {
|
|
638
|
+
return {
|
|
639
|
+
version: "compact-v1",
|
|
640
|
+
history: policy.history ?? true,
|
|
641
|
+
observation: compactEvalObservation(observation, policy, filters)
|
|
642
|
+
};
|
|
643
|
+
}
|
|
644
|
+
function getEvalGradeEvidence(step, previous) {
|
|
645
|
+
const evidence = step.evidence ?? createEvalJudgeEvidence(step.observation);
|
|
646
|
+
return {
|
|
647
|
+
observation: structuredClone(evidence.observation),
|
|
648
|
+
conversation: evidence.history ? previous.map((prior) => {
|
|
649
|
+
const { evidence: selected, ...result } = prior;
|
|
650
|
+
return structuredClone({
|
|
651
|
+
...result,
|
|
652
|
+
observation: selected?.observation ?? compactEvalObservation(prior.observation)
|
|
653
|
+
});
|
|
654
|
+
}) : []
|
|
655
|
+
};
|
|
656
|
+
}
|
|
657
|
+
|
|
518
658
|
// src/evals/studio-judge.ts
|
|
519
659
|
async function readJson(response, signal) {
|
|
520
660
|
if (!response.ok || !response.body) {
|
|
@@ -583,9 +723,14 @@ async function createStudioEvalJudge(options) {
|
|
|
583
723
|
judge: identity,
|
|
584
724
|
criterion: input.criterion,
|
|
585
725
|
input: input.input,
|
|
586
|
-
observation: input.observation,
|
|
726
|
+
observation: compactEvalObservation(input.observation),
|
|
587
727
|
reference: input.reference,
|
|
588
|
-
conversation: input.conversation
|
|
728
|
+
conversation: input.conversation.map(
|
|
729
|
+
({ evidence: _evidence, ...step }) => ({
|
|
730
|
+
...step,
|
|
731
|
+
observation: compactEvalObservation(step.observation)
|
|
732
|
+
})
|
|
733
|
+
)
|
|
589
734
|
});
|
|
590
735
|
const signal2 = AbortSignal.any([
|
|
591
736
|
input.signal,
|
|
@@ -622,6 +767,7 @@ async function createStudioEvalJudge(options) {
|
|
|
622
767
|
EvalConfigurationError,
|
|
623
768
|
EvalCostAmountSchema,
|
|
624
769
|
EvalCostsSchema,
|
|
770
|
+
EvalEvidencePolicySchema,
|
|
625
771
|
EvalJudgeIdentitySchema,
|
|
626
772
|
EvalJudgeUsageSchema,
|
|
627
773
|
EvalManifestSchema,
|
|
@@ -649,6 +795,7 @@ async function createStudioEvalJudge(options) {
|
|
|
649
795
|
StudioEvaluationSummarySchema,
|
|
650
796
|
createStudioEvalJudge,
|
|
651
797
|
defineSuite,
|
|
798
|
+
getEvalGradeEvidence,
|
|
652
799
|
parseEvalSuite
|
|
653
800
|
});
|
|
654
801
|
//# sourceMappingURL=evals.js.map
|