@kortyx/agent 0.29.0 → 0.31.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 +26 -0
- package/dist/evals.d.ts +25 -1
- package/dist/evals.js +104 -1
- package/dist/evals.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +186 -6
- package/dist/index.js.map +1 -1
- package/dist/{studio-judge-BFF0TsT2.d.ts → studio-judge-CG86eozt.d.ts} +1198 -2
- package/package.json +11 -11
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.31.0](https://github.com/kortyx-io/kortyx/compare/agent-v0.30.0...agent-v0.31.0) (2026-10-07)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* **evals:** group suite runs and expose CLI results ([#284](https://github.com/kortyx-io/kortyx/issues/284)) ([146fd71](https://github.com/kortyx-io/kortyx/commit/146fd71a88587e5591dd0511a4c0cb57969f9d07))
|
|
9
|
+
|
|
10
|
+
## [0.30.0](https://github.com/kortyx-io/kortyx/compare/agent-v0.29.0...agent-v0.30.0) (2026-10-07)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* **evals:** diagnose setup and guide first workflow runs ([#275](https://github.com/kortyx-io/kortyx/issues/275)) ([01dbf80](https://github.com/kortyx-io/kortyx/commit/01dbf803e65eec03187de9eaa316e4294f4f8dc5))
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Dependencies
|
|
19
|
+
|
|
20
|
+
* The following workspace dependencies were updated
|
|
21
|
+
* dependencies
|
|
22
|
+
* @kortyx/providers bumped to 0.8.4
|
|
23
|
+
* @kortyx/runtime bumped to 0.21.6
|
|
24
|
+
* @kortyx/stream bumped to 0.15.1
|
|
25
|
+
* devDependencies
|
|
26
|
+
* @kortyx/hooks bumped to 0.30.2
|
|
27
|
+
* @kortyx/openai bumped to 0.5.5
|
|
28
|
+
|
|
3
29
|
## [0.29.0](https://github.com/kortyx-io/kortyx/compare/agent-v0.28.0...agent-v0.29.0) (2026-10-03)
|
|
4
30
|
|
|
5
31
|
|
package/dist/evals.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { C as CreateEvalsOptions, E as EvalCase, a as EvalCaseResult, b as EvalCaseResultSchema, c as EvalCommand, d as EvalConfigurationError, e as EvalContext, f as EvalCriterion, g as EvalCriterionResult, h as EvalDefaults, i as EvalExecution, j as EvalExecutionStatus, k as EvalExpectation, l as EvalGradeInput, m as EvalHandlerRef, n as EvalInterrupt, o as EvalIssue, p as EvalJson, q as EvalJudge, r as EvalJudgeIdentity, s as EvalJudgeIdentitySchema, t as EvalJudgeOptions, u as EvalJudgeUsage, v as EvalJudgeUsageSchema, w as EvalManifest, x as EvalManifestSchema, y as EvalObservation, z as EvalObservationSchema, A as EvalOutputExpectation, B as EvalPhase, D as EvalProgress, F as EvalProgressSchema, G as EvalRemoteRunRequest, H as EvalRemoteRunRequestSchema, I as EvalResponder, J as EvalResumeResponseSchema, K as EvalRunOptions, L as EvalRunResult, M as EvalRunResultSchema, N as EvalSetupContext, O as EvalStatus, P as EvalStep, Q as EvalStepResult, R as EvalStepResultSchema, S as EvalSuite, T as EvalSuiteSchema, U as EvalVerdict, V as EvalVerdictSchema, W as EvalWireEvent, X as EvalWireEventSchema, Y as
|
|
1
|
+
export { C as CreateEvalsOptions, E as EvalCase, a as EvalCaseResult, b as EvalCaseResultSchema, c as EvalCommand, d as EvalConfigurationError, e as EvalContext, f as EvalCriterion, g as EvalCriterionResult, h as EvalDefaults, i as EvalExecution, j as EvalExecutionStatus, k as EvalExpectation, l as EvalGradeInput, m as EvalHandlerRef, n as EvalInterrupt, o as EvalIssue, p as EvalJson, q as EvalJudge, r as EvalJudgeIdentity, s as EvalJudgeIdentitySchema, t as EvalJudgeOptions, u as EvalJudgeUsage, v as EvalJudgeUsageSchema, w as EvalManifest, x as EvalManifestSchema, y as EvalObservation, z as EvalObservationSchema, A as EvalOutputExpectation, B as EvalPhase, D as EvalProgress, F as EvalProgressSchema, G as EvalRemoteRunRequest, H as EvalRemoteRunRequestSchema, I as EvalResponder, J as EvalResumeResponseSchema, K as EvalRunOptions, L as EvalRunResult, M as EvalRunResultSchema, N as EvalSetupContext, O as EvalStatus, P as EvalStep, Q as EvalStepResult, R as EvalStepResultSchema, S as EvalSuite, T as EvalSuiteSchema, U as EvalVerdict, V as EvalVerdictSchema, W as EvalWireEvent, X as EvalWireEventSchema, Y as EvaluationMetadataSchema, Z as StudioEvalJudgeOptions, _ as StudioEvalJudgeRequestSchema, $ as StudioEvalJudgeResponseSchema, a0 as StudioEvalStartRequestSchema, a1 as StudioEvaluationDetail, a2 as StudioEvaluationDetailSchema, a3 as StudioEvaluationHistorySchema, a4 as StudioEvaluationResultsSchema, a5 as StudioEvaluationStartRequest, a6 as StudioEvaluationStartRequestSchema, a7 as StudioEvaluationSummary, a8 as StudioEvaluationSummarySchema, a9 as createStudioEvalJudge, aa as defineSuite, ab as parseEvalSuite } from './studio-judge-CG86eozt.js';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import '@kortyx/providers';
|
|
4
4
|
import '@kortyx/core/errors';
|
|
@@ -23,6 +23,18 @@ declare const StudioEvalTargetsResponseSchema: z.ZodObject<{
|
|
|
23
23
|
name: z.ZodString;
|
|
24
24
|
environment: z.ZodString;
|
|
25
25
|
error: z.ZodNullable<z.ZodString>;
|
|
26
|
+
diagnostic: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
27
|
+
code: z.ZodEnum<{
|
|
28
|
+
environment_forbidden: "environment_forbidden";
|
|
29
|
+
environment_unavailable: "environment_unavailable";
|
|
30
|
+
endpoint_not_found: "endpoint_not_found";
|
|
31
|
+
endpoint_unauthorized: "endpoint_unauthorized";
|
|
32
|
+
endpoint_http_error: "endpoint_http_error";
|
|
33
|
+
endpoint_unreachable: "endpoint_unreachable";
|
|
34
|
+
manifest_invalid: "manifest_invalid";
|
|
35
|
+
}>;
|
|
36
|
+
httpStatus: z.ZodOptional<z.ZodNumber>;
|
|
37
|
+
}, z.core.$strip>>>;
|
|
26
38
|
manifest: z.ZodNullable<z.ZodObject<{
|
|
27
39
|
schemaVersion: z.ZodLiteral<1>;
|
|
28
40
|
studioJudging: z.ZodOptional<z.ZodLiteral<true>>;
|
|
@@ -162,6 +174,7 @@ type EvalCosts = z.infer<typeof EvalCostsSchema>;
|
|
|
162
174
|
type EvalCostAmount = z.infer<typeof EvalCostAmountSchema>;
|
|
163
175
|
declare const StudioEvalRunSummarySchema: z.ZodObject<{
|
|
164
176
|
id: z.ZodUUID;
|
|
177
|
+
evaluationId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
|
|
165
178
|
targetId: z.ZodString;
|
|
166
179
|
targetName: z.ZodString;
|
|
167
180
|
environment: z.ZodString;
|
|
@@ -225,10 +238,14 @@ declare const StudioEvalRunSummarySchema: z.ZodObject<{
|
|
|
225
238
|
cancelled: z.ZodNumber;
|
|
226
239
|
}, z.core.$strip>>>;
|
|
227
240
|
suiteName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
241
|
+
totalAttempts: z.ZodOptional<z.ZodNumber>;
|
|
242
|
+
completedAttempts: z.ZodOptional<z.ZodNumber>;
|
|
243
|
+
phase: z.ZodOptional<z.ZodString>;
|
|
228
244
|
}, z.core.$strip>;
|
|
229
245
|
declare const StudioEvalHistorySchema: z.ZodObject<{
|
|
230
246
|
runs: z.ZodArray<z.ZodObject<{
|
|
231
247
|
id: z.ZodUUID;
|
|
248
|
+
evaluationId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
|
|
232
249
|
targetId: z.ZodString;
|
|
233
250
|
targetName: z.ZodString;
|
|
234
251
|
environment: z.ZodString;
|
|
@@ -292,11 +309,15 @@ declare const StudioEvalHistorySchema: z.ZodObject<{
|
|
|
292
309
|
cancelled: z.ZodNumber;
|
|
293
310
|
}, z.core.$strip>>>;
|
|
294
311
|
suiteName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
312
|
+
totalAttempts: z.ZodOptional<z.ZodNumber>;
|
|
313
|
+
completedAttempts: z.ZodOptional<z.ZodNumber>;
|
|
314
|
+
phase: z.ZodOptional<z.ZodString>;
|
|
295
315
|
}, z.core.$strip>>;
|
|
296
316
|
}, z.core.$strip>;
|
|
297
317
|
declare const StudioEvalDetailSchema: z.ZodObject<{
|
|
298
318
|
run: z.ZodObject<{
|
|
299
319
|
id: z.ZodUUID;
|
|
320
|
+
evaluationId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
|
|
300
321
|
targetId: z.ZodString;
|
|
301
322
|
targetName: z.ZodString;
|
|
302
323
|
environment: z.ZodString;
|
|
@@ -360,6 +381,9 @@ declare const StudioEvalDetailSchema: z.ZodObject<{
|
|
|
360
381
|
cancelled: z.ZodNumber;
|
|
361
382
|
}, z.core.$strip>>>;
|
|
362
383
|
suiteName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
384
|
+
totalAttempts: z.ZodOptional<z.ZodNumber>;
|
|
385
|
+
completedAttempts: z.ZodOptional<z.ZodNumber>;
|
|
386
|
+
phase: z.ZodOptional<z.ZodString>;
|
|
363
387
|
caseCosts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
364
388
|
workflow: z.ZodObject<{
|
|
365
389
|
amount: z.ZodNullable<z.ZodNumber>;
|
package/dist/evals.js
CHANGED
|
@@ -35,6 +35,7 @@ __export(evals_exports, {
|
|
|
35
35
|
EvalSuiteSchema: () => EvalSuiteSchema,
|
|
36
36
|
EvalVerdictSchema: () => EvalVerdictSchema,
|
|
37
37
|
EvalWireEventSchema: () => EvalWireEventSchema,
|
|
38
|
+
EvaluationMetadataSchema: () => EvaluationMetadataSchema,
|
|
38
39
|
StudioEvalDetailSchema: () => StudioEvalDetailSchema,
|
|
39
40
|
StudioEvalHistorySchema: () => StudioEvalHistorySchema,
|
|
40
41
|
StudioEvalJudgeRequestSchema: () => StudioEvalJudgeRequestSchema,
|
|
@@ -42,6 +43,11 @@ __export(evals_exports, {
|
|
|
42
43
|
StudioEvalRunSummarySchema: () => StudioEvalRunSummarySchema,
|
|
43
44
|
StudioEvalStartRequestSchema: () => StudioEvalStartRequestSchema,
|
|
44
45
|
StudioEvalTargetsResponseSchema: () => StudioEvalTargetsResponseSchema,
|
|
46
|
+
StudioEvaluationDetailSchema: () => StudioEvaluationDetailSchema,
|
|
47
|
+
StudioEvaluationHistorySchema: () => StudioEvaluationHistorySchema,
|
|
48
|
+
StudioEvaluationResultsSchema: () => StudioEvaluationResultsSchema,
|
|
49
|
+
StudioEvaluationStartRequestSchema: () => StudioEvaluationStartRequestSchema,
|
|
50
|
+
StudioEvaluationSummarySchema: () => StudioEvaluationSummarySchema,
|
|
45
51
|
createStudioEvalJudge: () => createStudioEvalJudge,
|
|
46
52
|
defineSuite: () => defineSuite,
|
|
47
53
|
parseEvalSuite: () => parseEvalSuite
|
|
@@ -341,6 +347,9 @@ function defineSuite(suite) {
|
|
|
341
347
|
return suite;
|
|
342
348
|
}
|
|
343
349
|
|
|
350
|
+
// src/evals/evaluation-contracts.ts
|
|
351
|
+
var import_zod3 = require("zod");
|
|
352
|
+
|
|
344
353
|
// src/evals/studio-contracts.ts
|
|
345
354
|
var import_zod2 = require("zod");
|
|
346
355
|
var StudioEvalTargetsResponseSchema = import_zod2.z.object({
|
|
@@ -352,6 +361,19 @@ var StudioEvalTargetsResponseSchema = import_zod2.z.object({
|
|
|
352
361
|
name: import_zod2.z.string(),
|
|
353
362
|
environment: import_zod2.z.string(),
|
|
354
363
|
error: import_zod2.z.string().nullable(),
|
|
364
|
+
// Safe discovery diagnostics; optional for compatibility with older APIs.
|
|
365
|
+
diagnostic: import_zod2.z.object({
|
|
366
|
+
code: import_zod2.z.enum([
|
|
367
|
+
"environment_forbidden",
|
|
368
|
+
"environment_unavailable",
|
|
369
|
+
"endpoint_not_found",
|
|
370
|
+
"endpoint_unauthorized",
|
|
371
|
+
"endpoint_http_error",
|
|
372
|
+
"endpoint_unreachable",
|
|
373
|
+
"manifest_invalid"
|
|
374
|
+
]),
|
|
375
|
+
httpStatus: import_zod2.z.number().int().min(100).max(599).optional()
|
|
376
|
+
}).nullable().optional(),
|
|
355
377
|
manifest: EvalManifestSchema.nullable(),
|
|
356
378
|
revisions: import_zod2.z.record(import_zod2.z.string(), import_zod2.z.string())
|
|
357
379
|
})
|
|
@@ -372,6 +394,7 @@ var EvalCostsSchema = import_zod2.z.object({
|
|
|
372
394
|
});
|
|
373
395
|
var StudioEvalRunSummarySchema = import_zod2.z.object({
|
|
374
396
|
id: import_zod2.z.uuid(),
|
|
397
|
+
evaluationId: import_zod2.z.uuid().nullable().optional(),
|
|
375
398
|
targetId: import_zod2.z.string(),
|
|
376
399
|
targetName: import_zod2.z.string(),
|
|
377
400
|
environment: import_zod2.z.string(),
|
|
@@ -397,7 +420,10 @@ var StudioEvalRunSummarySchema = import_zod2.z.object({
|
|
|
397
420
|
error: import_zod2.z.number(),
|
|
398
421
|
cancelled: import_zod2.z.number()
|
|
399
422
|
}).nullable().optional(),
|
|
400
|
-
suiteName: import_zod2.z.string().nullable().optional()
|
|
423
|
+
suiteName: import_zod2.z.string().nullable().optional(),
|
|
424
|
+
totalAttempts: import_zod2.z.number().int().nonnegative().optional(),
|
|
425
|
+
completedAttempts: import_zod2.z.number().int().nonnegative().optional(),
|
|
426
|
+
phase: import_zod2.z.string().optional()
|
|
401
427
|
});
|
|
402
428
|
var StudioEvalHistorySchema = import_zod2.z.object({
|
|
403
429
|
runs: import_zod2.z.array(StudioEvalRunSummarySchema)
|
|
@@ -418,6 +444,77 @@ var StudioEvalDetailSchema = import_zod2.z.object({
|
|
|
418
444
|
})
|
|
419
445
|
});
|
|
420
446
|
|
|
447
|
+
// src/evals/evaluation-contracts.ts
|
|
448
|
+
var EvaluationMetadataSchema = import_zod3.z.object({
|
|
449
|
+
source: import_zod3.z.enum(["manual", "deployment", "schedule", "ci"]).default("manual"),
|
|
450
|
+
commit: import_zod3.z.string().trim().min(1).max(100).optional(),
|
|
451
|
+
deploymentUrl: import_zod3.z.url().refine((value) => {
|
|
452
|
+
try {
|
|
453
|
+
const url = new URL(value);
|
|
454
|
+
return ["https:", "http:"].includes(url.protocol) && !url.username && !url.password;
|
|
455
|
+
} catch {
|
|
456
|
+
return false;
|
|
457
|
+
}
|
|
458
|
+
}, "Expected an HTTP(S) URL without credentials").optional()
|
|
459
|
+
}).strict();
|
|
460
|
+
var StudioEvaluationStartRequestSchema = import_zod3.z.object({
|
|
461
|
+
targetId: import_zod3.z.string().trim().min(1),
|
|
462
|
+
name: import_zod3.z.string().trim().min(1).max(200).optional(),
|
|
463
|
+
selection: import_zod3.z.enum(["all", "selected"]),
|
|
464
|
+
suites: import_zod3.z.array(
|
|
465
|
+
import_zod3.z.object({
|
|
466
|
+
suiteId: import_zod3.z.string().min(1),
|
|
467
|
+
suiteRevision: import_zod3.z.string().regex(/^[a-f0-9]{64}$/),
|
|
468
|
+
caseIds: import_zod3.z.array(import_zod3.z.string().min(1)).min(1).max(100).optional()
|
|
469
|
+
}).strict()
|
|
470
|
+
).min(1).max(100),
|
|
471
|
+
judge: import_zod3.z.enum(["studio", "app"]).default("studio"),
|
|
472
|
+
repetitions: import_zod3.z.number().int().min(1).max(20).default(1),
|
|
473
|
+
concurrency: import_zod3.z.number().int().min(1).max(4).default(1),
|
|
474
|
+
metadata: EvaluationMetadataSchema.default({ source: "manual" }),
|
|
475
|
+
idempotencyKey: import_zod3.z.string().trim().min(1).max(200).optional()
|
|
476
|
+
}).strict();
|
|
477
|
+
var StudioEvaluationSummarySchema = import_zod3.z.object({
|
|
478
|
+
id: import_zod3.z.uuid(),
|
|
479
|
+
name: import_zod3.z.string(),
|
|
480
|
+
targetId: import_zod3.z.string(),
|
|
481
|
+
targetName: import_zod3.z.string(),
|
|
482
|
+
environment: import_zod3.z.string(),
|
|
483
|
+
selection: import_zod3.z.enum(["all", "selected"]),
|
|
484
|
+
metadata: EvaluationMetadataSchema,
|
|
485
|
+
judge: EvalJudgeIdentitySchema.optional(),
|
|
486
|
+
status: StudioEvalRunSummarySchema.shape.status,
|
|
487
|
+
createdAt: import_zod3.z.string(),
|
|
488
|
+
startedAt: import_zod3.z.string().nullable(),
|
|
489
|
+
endedAt: import_zod3.z.string().nullable(),
|
|
490
|
+
cancelRequestedAt: import_zod3.z.string().nullable(),
|
|
491
|
+
suiteCount: import_zod3.z.number().int().nonnegative(),
|
|
492
|
+
completedSuites: import_zod3.z.number().int().nonnegative(),
|
|
493
|
+
totalAttempts: import_zod3.z.number().int().nonnegative(),
|
|
494
|
+
completedAttempts: import_zod3.z.number().int().nonnegative(),
|
|
495
|
+
counts: import_zod3.z.object({
|
|
496
|
+
passed: import_zod3.z.number(),
|
|
497
|
+
failed: import_zod3.z.number(),
|
|
498
|
+
error: import_zod3.z.number(),
|
|
499
|
+
cancelled: import_zod3.z.number()
|
|
500
|
+
}),
|
|
501
|
+
costs: EvalCostsSchema.optional(),
|
|
502
|
+
legacy: import_zod3.z.boolean().optional()
|
|
503
|
+
});
|
|
504
|
+
var StudioEvaluationHistorySchema = import_zod3.z.object({
|
|
505
|
+
runs: import_zod3.z.array(StudioEvaluationSummarySchema)
|
|
506
|
+
});
|
|
507
|
+
var StudioEvaluationDetailSchema = import_zod3.z.object({
|
|
508
|
+
run: StudioEvaluationSummarySchema.extend({
|
|
509
|
+
suites: import_zod3.z.array(StudioEvalRunSummarySchema)
|
|
510
|
+
})
|
|
511
|
+
});
|
|
512
|
+
var StudioEvaluationResultsSchema = import_zod3.z.object({
|
|
513
|
+
run: StudioEvaluationSummarySchema.extend({
|
|
514
|
+
suites: import_zod3.z.array(StudioEvalDetailSchema.shape.run)
|
|
515
|
+
})
|
|
516
|
+
});
|
|
517
|
+
|
|
421
518
|
// src/evals/studio-judge.ts
|
|
422
519
|
async function readJson(response, signal) {
|
|
423
520
|
if (!response.ok || !response.body) {
|
|
@@ -537,6 +634,7 @@ async function createStudioEvalJudge(options) {
|
|
|
537
634
|
EvalSuiteSchema,
|
|
538
635
|
EvalVerdictSchema,
|
|
539
636
|
EvalWireEventSchema,
|
|
637
|
+
EvaluationMetadataSchema,
|
|
540
638
|
StudioEvalDetailSchema,
|
|
541
639
|
StudioEvalHistorySchema,
|
|
542
640
|
StudioEvalJudgeRequestSchema,
|
|
@@ -544,6 +642,11 @@ async function createStudioEvalJudge(options) {
|
|
|
544
642
|
StudioEvalRunSummarySchema,
|
|
545
643
|
StudioEvalStartRequestSchema,
|
|
546
644
|
StudioEvalTargetsResponseSchema,
|
|
645
|
+
StudioEvaluationDetailSchema,
|
|
646
|
+
StudioEvaluationHistorySchema,
|
|
647
|
+
StudioEvaluationResultsSchema,
|
|
648
|
+
StudioEvaluationStartRequestSchema,
|
|
649
|
+
StudioEvaluationSummarySchema,
|
|
547
650
|
createStudioEvalJudge,
|
|
548
651
|
defineSuite,
|
|
549
652
|
parseEvalSuite
|
package/dist/evals.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/evals.ts","../src/evals/contracts.ts","../src/evals/define-suite.ts","../src/evals/studio-contracts.ts","../src/evals/studio-judge.ts"],"sourcesContent":["export * from \"./evals/contracts\";\nexport { defineSuite } from \"./evals/define-suite\";\nexport * from \"./evals/studio-contracts\";\nexport { createStudioEvalJudge } from \"./evals/studio-judge\";\nexport type * from \"./evals/types\";\n","import { z } from \"zod\";\nimport type { EvalSuite } from \"./types\";\n\nconst id = z.string().trim().min(1).max(256);\nconst handler = z.object({ using: id, params: z.json().optional() }).strict();\nexport const EvalResumeResponseSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"text\"), text: z.string() }).strict(),\n z.object({ type: z.literal(\"select\"), ids: z.array(z.string()) }).strict(),\n z.object({ type: z.literal(\"value\"), value: z.json() }).strict(),\n z.object({ type: z.literal(\"cancel\") }).strict(),\n]);\nconst expectation = z\n .object({\n type: z.enum([\"answer\", \"interrupt\"]),\n schemaId: id.optional(),\n schemaVersion: id.optional(),\n outputs: z\n .array(z.object({ schemaId: id, schemaVersion: id.optional() }).strict())\n .optional(),\n criteria: z\n .array(\n z.union([\n z.string().trim().min(1),\n z.object({ id, text: z.string().trim().min(1) }).strict(),\n ]),\n )\n .optional(),\n reference: z.json().optional(),\n })\n .strict()\n .superRefine((value, ctx) => {\n if (value.type === \"answer\" && (value.schemaId || value.schemaVersion))\n ctx.addIssue({\n code: \"custom\",\n message: \"Interrupt schemas require an interrupt expectation.\",\n });\n const ids =\n value.criteria?.map((item, index) =>\n typeof item === \"string\" ? String(index) : item.id,\n ) ?? [];\n if (new Set(ids).size !== ids.length)\n ctx.addIssue({\n code: \"custom\",\n message: \"Criterion IDs must be unique within a step.\",\n });\n });\nexport const EvalSuiteSchema = z\n .object({\n id,\n name: z.string().optional(),\n cases: z\n .array(\n z\n .object({\n id,\n name: z.string().optional(),\n params: z.json().optional(),\n workflowId: id.optional(),\n steps: z\n .array(\n z.union([\n z\n .object({ message: z.string().min(1), expect: expectation })\n .strict(),\n z\n .object({\n resume: z.union([EvalResumeResponseSchema, handler]),\n expect: expectation,\n })\n .strict(),\n ]),\n )\n .min(1),\n })\n .strict(),\n )\n .min(1),\n })\n .strict();\nexport const EvalVerdictSchema = z\n .object({\n passed: z.boolean(),\n reason: z.string().trim().min(1),\n evidence: z.array(z.string().min(1)),\n })\n .strict();\nexport const EvalObservationSchema = z\n .object({\n type: z.enum([\"answer\", \"interrupt\", \"error\", \"cancelled\"]),\n text: z.string(),\n structured: z.array(z.json()),\n events: z.array(z.json()).optional(),\n runId: z.string().optional(),\n checkpointId: z.string().optional(),\n interrupt: z\n .object({\n requestId: z.string(),\n kind: z.enum([\"text\", \"choice\", \"multi-choice\", \"custom\"]),\n question: z.string().optional(),\n schemaId: z.string().optional(),\n schemaVersion: z.string().optional(),\n options: z.array(\n z\n .object({\n id: z.string(),\n label: z.string(),\n description: z.string().optional(),\n })\n .strict(),\n ),\n request: z.json().optional(),\n })\n .strict()\n .optional(),\n })\n .strict()\n .superRefine((value, ctx) => {\n if ((value.type === \"interrupt\") !== Boolean(value.interrupt))\n ctx.addIssue({\n code: \"custom\",\n message: \"Interrupt observations require exactly one interrupt.\",\n });\n });\n\nconst status = z.enum([\"passed\", \"failed\", \"error\", \"cancelled\", \"ungraded\"]);\nconst issue = z\n .object({\n phase: z.enum([\n \"params\",\n \"setup\",\n \"execute\",\n \"responder\",\n \"reference\",\n \"grading\",\n \"cleanup\",\n \"reporting\",\n ]),\n code: z.string(),\n message: z.string(),\n })\n .strict();\n/** Billing evidence only: no prompts, provider raw responses, or credentials. */\nexport const EvalJudgeUsageSchema = z\n .object({\n provider: z.string().min(1),\n model: z.string().min(1),\n occurredAt: z.iso.datetime(),\n usage: z\n .object({\n input: z.number().finite().nonnegative().optional(),\n output: z.number().finite().nonnegative().optional(),\n total: z.number().finite().nonnegative().optional(),\n reasoning: z.number().finite().nonnegative().optional(),\n cacheRead: z.number().finite().nonnegative().optional(),\n cacheWrite: z.number().finite().nonnegative().optional(),\n cacheWrite1h: z.number().finite().nonnegative().optional(),\n outputIncludesReasoning: z.boolean().optional(),\n inputIncludesCacheRead: z.boolean().optional(),\n inputIncludesCacheWrite: z.boolean().optional(),\n })\n .strict()\n .optional(),\n pricingContext: z\n .object({\n serviceTier: z.string().min(1).max(100).optional(),\n inferenceGeo: z.string().min(1).max(100).optional(),\n speed: z.string().min(1).max(100).optional(),\n })\n .strict()\n .optional(),\n pricing: z\n .object({\n source: z.literal(\"provider\"),\n currency: z.literal(\"USD\"),\n actualCostMicros: z.number().int().nonnegative().safe(),\n })\n .strict()\n .optional(),\n })\n .strict();\nexport const EvalStepResultSchema = z\n .object({\n index: z.number().int().nonnegative(),\n input: z.union([\n z.object({ message: z.string() }).strict(),\n z.object({ resume: EvalResumeResponseSchema }).strict(),\n ]),\n expectation,\n observation: EvalObservationSchema,\n reference: z.json().optional(),\n status,\n reason: z.string().optional(),\n judgeCalls: z.number().int().nonnegative().optional(),\n judgeUsage: z.array(EvalJudgeUsageSchema).optional(),\n criteria: z.array(\n EvalVerdictSchema.extend({ id: z.string(), text: z.string() }),\n ),\n })\n .strict();\nexport const EvalCaseResultSchema = z\n .object({\n caseId: id,\n repetition: z.number().int().positive(),\n sessionId: z.string(),\n status,\n durationMs: z.number().nonnegative(),\n steps: z.array(EvalStepResultSchema),\n errors: z.array(issue),\n })\n .strict();\nexport const EvalJudgeIdentitySchema = z\n .object({\n id,\n version: id,\n location: z.enum([\"app\", \"studio\"]).optional(),\n })\n .strict();\nconst judge = EvalJudgeIdentitySchema;\nexport const StudioEvalJudgeRequestSchema = z\n .object({\n environment: id,\n judge: EvalJudgeIdentitySchema,\n criterion: z\n .object({ id, text: z.string().trim().min(1).max(16_384) })\n .strict(),\n input: EvalStepResultSchema.shape.input,\n observation: EvalObservationSchema,\n reference: z.json().optional(),\n conversation: z.array(EvalStepResultSchema).max(100),\n })\n .strict();\nexport const StudioEvalJudgeResponseSchema = z\n .object({\n judge: EvalJudgeIdentitySchema,\n verdict: EvalVerdictSchema,\n usage: z.array(EvalJudgeUsageSchema).optional(),\n })\n .strict();\nexport const EvalRunResultSchema = z\n .object({\n id: z.uuid(),\n suiteId: id,\n suiteRevision: z.string().regex(/^[a-f0-9]{64}$/),\n suite: EvalSuiteSchema,\n judge: judge.optional(),\n startedAt: z.iso.datetime(),\n durationMs: z.number().nonnegative(),\n status,\n counts: z\n .object({\n passed: z.number().int().nonnegative(),\n failed: z.number().int().nonnegative(),\n error: z.number().int().nonnegative(),\n cancelled: z.number().int().nonnegative(),\n ungraded: z.number().int().nonnegative().optional(),\n })\n .strict(),\n cases: z.array(EvalCaseResultSchema),\n errors: z.array(issue),\n })\n .strict();\nexport const EvalManifestSchema = z\n .object({\n schemaVersion: z.literal(1),\n studioJudging: z.literal(true).optional(),\n suites: z.array(EvalSuiteSchema),\n responders: z.array(\n z\n .object({\n name: id,\n schemaId: id.optional(),\n schemaVersion: id.optional(),\n })\n .strict(),\n ),\n references: z.array(id),\n paramsSchema: z.record(z.string(), z.unknown()).optional(),\n judge: judge.optional(),\n })\n .strict();\nexport const EvalProgressSchema = z.discriminatedUnion(\"type\", [\n z\n .object({\n type: z.literal(\"run-started\"),\n caseIds: z.array(id).min(1),\n repetitions: z.number().int().positive(),\n concurrency: z.number().int().positive(),\n })\n .strict(),\n z\n .object({\n type: z.literal(\"case-progress\"),\n caseId: id,\n repetition: z.number().int().positive(),\n phase: issue.shape.phase,\n stepIndex: z.number().int().nonnegative().optional(),\n })\n .strict(),\n z\n .object({\n type: z.literal(\"case-started\"),\n caseId: id,\n repetition: z.number().int().positive(),\n sessionId: z.string(),\n })\n .strict(),\n z\n .object({\n type: z.literal(\"step-completed\"),\n caseId: id,\n repetition: z.number().int().positive(),\n step: EvalStepResultSchema,\n })\n .strict(),\n z\n .object({ type: z.literal(\"case-completed\"), result: EvalCaseResultSchema })\n .strict(),\n]);\nexport const EvalRemoteRunRequestSchema = z\n .object({\n suiteId: id,\n suiteRevision: z.string().regex(/^[a-f0-9]{64}$/),\n grading: z.enum([\"app\", \"studio\"]).optional(),\n judge: EvalJudgeIdentitySchema.optional(),\n caseIds: z.array(id).min(1).max(100).optional(),\n repetitions: z.number().int().min(1).max(20).default(1),\n concurrency: z.number().int().min(1).max(4).default(1),\n })\n .strict();\nexport const StudioEvalStartRequestSchema = EvalRemoteRunRequestSchema.omit({\n grading: true,\n judge: true,\n}).extend({\n targetId: z.string().min(1).max(128),\n judge: z.enum([\"studio\", \"app\"]).default(\"studio\"),\n});\nexport const EvalWireEventSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"progress\"), event: EvalProgressSchema }).strict(),\n z.object({ type: z.literal(\"result\"), result: EvalRunResultSchema }).strict(),\n z.object({ type: z.literal(\"error\"), message: z.string() }).strict(),\n]);\nexport type EvalManifest = z.infer<typeof EvalManifestSchema>;\nexport type EvalRemoteRunRequest = z.infer<typeof EvalRemoteRunRequestSchema>;\nexport type EvalWireEvent = z.infer<typeof EvalWireEventSchema>;\n\nexport class EvalConfigurationError extends Error {\n override name = \"EvalConfigurationError\";\n}\n\nexport function parseEvalSuite(value: unknown): EvalSuite {\n const result = EvalSuiteSchema.safeParse(value);\n if (!result.success)\n throw new EvalConfigurationError(\n \"Invalid suite. Expected serializable cases, conversation steps, and expectations.\",\n );\n const ids = result.data.cases.map((item) => item.id);\n if (new Set(ids).size !== ids.length)\n throw new EvalConfigurationError(\"Case IDs must be unique within a suite.\");\n for (const item of result.data.cases) {\n let waiting = false;\n for (const step of item.steps) {\n if (\"resume\" in step !== waiting)\n throw new EvalConfigurationError(\n \"A resume step must follow an expected interrupt; a message must follow an answer.\",\n );\n waiting = step.expect.type === \"interrupt\";\n }\n }\n return result.data as EvalSuite;\n}\n","import type { EvalCase, EvalJson, EvalSuite } from \"./types\";\n\ntype DefinedSuite<Params> = Omit<EvalSuite<Params>, \"cases\"> & {\n cases: readonly (Omit<EvalCase<Params>, \"params\"> &\n (undefined extends Params\n ? { params?: Exclude<Params, undefined> }\n : { params: Params }))[];\n};\n\n/** Author a suite with typed case parameters. Runtime validation belongs to createEvals. */\nexport function defineSuite<Params = EvalJson | undefined>(\n suite: DefinedSuite<Params>,\n): DefinedSuite<Params> {\n return suite;\n}\n","import { z } from \"zod\";\nimport {\n EvalJudgeIdentitySchema,\n EvalManifestSchema,\n EvalProgressSchema,\n EvalRunResultSchema,\n EvalSuiteSchema,\n} from \"./contracts\";\nexport const StudioEvalTargetsResponseSchema = z.object({\n canRun: z.boolean(),\n studioJudge: EvalJudgeIdentitySchema.nullable().optional(),\n targets: z.array(\n z.object({\n id: z.string(),\n name: z.string(),\n environment: z.string(),\n error: z.string().nullable(),\n manifest: EvalManifestSchema.nullable(),\n revisions: z.record(z.string(), z.string()),\n }),\n ),\n});\nexport const EvalCostAmountSchema = z.object({\n amount: z.number().finite().nonnegative().nullable(),\n currency: z.string().nullable(),\n status: z.enum([\"complete\", \"partial\", \"unavailable\"]),\n calls: z.number().int().nonnegative(),\n unpricedCalls: z.number().int().nonnegative(),\n estimated: z.boolean(),\n});\nexport const EvalCostsSchema = z.object({\n workflow: EvalCostAmountSchema,\n judge: EvalCostAmountSchema,\n total: EvalCostAmountSchema,\n});\nexport type EvalCosts = z.infer<typeof EvalCostsSchema>;\nexport type EvalCostAmount = z.infer<typeof EvalCostAmountSchema>;\nexport const StudioEvalRunSummarySchema = z.object({\n id: z.uuid(),\n targetId: z.string(),\n targetName: z.string(),\n environment: z.string(),\n suiteId: z.string(),\n suiteRevision: z.string(),\n status: z.enum([\n \"queued\",\n \"running\",\n \"passed\",\n \"failed\",\n \"error\",\n \"cancelled\",\n ]),\n createdAt: z.string(),\n startedAt: z.string().nullable(),\n endedAt: z.string().nullable(),\n error: z.string().nullable(),\n cancelRequestedAt: z.string().nullable(),\n costs: EvalCostsSchema.optional(),\n counts: z\n .object({\n passed: z.number(),\n failed: z.number(),\n error: z.number(),\n cancelled: z.number(),\n })\n .nullable()\n .optional(),\n suiteName: z.string().nullable().optional(),\n});\nexport const StudioEvalHistorySchema = z.object({\n runs: z.array(StudioEvalRunSummarySchema),\n});\nexport const StudioEvalDetailSchema = z.object({\n run: StudioEvalRunSummarySchema.extend({\n caseCosts: z.record(z.string(), EvalCostsSchema).optional(),\n request: z\n .object({\n caseIds: z.array(z.string()).optional(),\n grading: z.enum([\"app\", \"studio\"]).optional(),\n judge: EvalJudgeIdentitySchema.optional(),\n repetitions: z.number().int().positive(),\n concurrency: z.number().optional(),\n })\n .optional(),\n suite: EvalSuiteSchema,\n result: EvalRunResultSchema.nullable(),\n events: z.array(z.object({ id: z.number(), event: EvalProgressSchema })),\n }),\n});\nexport type StudioEvalTargets = z.infer<typeof StudioEvalTargetsResponseSchema>;\nexport type StudioEvalHistory = z.infer<typeof StudioEvalHistorySchema>;\nexport type StudioEvalDetail = z.infer<typeof StudioEvalDetailSchema>[\"run\"];\n\nexport type StudioEvalRunSummary = z.infer<typeof StudioEvalRunSummarySchema>;\n","import {\n EvalConfigurationError,\n EvalJudgeIdentitySchema,\n StudioEvalJudgeRequestSchema,\n StudioEvalJudgeResponseSchema,\n} from \"./contracts\";\nimport type { EvalJudge, StudioEvalJudgeOptions } from \"./types\";\n\nasync function readJson(\n response: Response,\n signal: AbortSignal,\n): Promise<unknown> {\n if (!response.ok || !response.body) {\n await response.body?.cancel().catch(() => {});\n throw new Error(\"Studio judge is unavailable or rejected the request.\");\n }\n const reader = response.body.getReader();\n const abort = () => {\n void reader.cancel().catch(() => {});\n };\n signal.addEventListener(\"abort\", abort, { once: true });\n const decoder = new TextDecoder();\n let text = \"\";\n let bytes = 0;\n try {\n for (;;) {\n signal.throwIfAborted();\n const part = await reader.read();\n if (part.done) break;\n bytes += part.value.byteLength;\n if (bytes > 1_000_000)\n throw new Error(\"Studio judge response is too large.\");\n text += decoder.decode(part.value, { stream: true });\n }\n signal.throwIfAborted();\n return JSON.parse(text + decoder.decode());\n } finally {\n signal.removeEventListener(\"abort\", abort);\n await reader.cancel().catch(() => {});\n reader.releaseLock();\n }\n}\n\n/** Discover and pin the Studio backend's judge; grading never runs in the browser. */\nexport async function createStudioEvalJudge(\n options: StudioEvalJudgeOptions,\n): Promise<EvalJudge> {\n const base = new URL(options.url);\n if (\n base.username ||\n base.password ||\n base.search ||\n base.hash ||\n (base.pathname !== \"/\" && base.pathname !== \"\") ||\n (base.protocol !== \"https:\" &&\n !(options.allowInsecureHttp && base.protocol === \"http:\")) ||\n !options.apiKey.trim() ||\n !options.environment.trim()\n )\n throw new EvalConfigurationError(\n \"Studio judging requires an API origin, key and environment, with HTTPS or explicit local HTTP opt-in.\",\n );\n const endpoint = new URL(\"/v1/studio/evals/judge\", base);\n const discovery = new URL(endpoint);\n discovery.searchParams.set(\"environment\", options.environment);\n const signal = options.signal\n ? AbortSignal.any([options.signal, AbortSignal.timeout(15_000)])\n : AbortSignal.timeout(15_000);\n const identity = EvalJudgeIdentitySchema.parse(\n await readJson(\n await fetch(discovery, {\n headers: { authorization: `Bearer ${options.apiKey}` },\n redirect: \"error\",\n signal,\n }),\n signal,\n ),\n );\n if (identity.location !== \"studio\")\n throw new EvalConfigurationError(\n \"Endpoint did not provide a Studio judge.\",\n );\n return {\n ...identity,\n location: \"studio\",\n async grade(input) {\n const request = StudioEvalJudgeRequestSchema.parse({\n environment: options.environment,\n judge: identity,\n criterion: input.criterion,\n input: input.input,\n observation: input.observation,\n reference: input.reference,\n conversation: input.conversation,\n });\n const signal = AbortSignal.any([\n input.signal,\n AbortSignal.timeout(60_000),\n ]);\n signal.throwIfAborted();\n const response = StudioEvalJudgeResponseSchema.parse(\n await readJson(\n await fetch(endpoint, {\n method: \"POST\",\n headers: {\n authorization: `Bearer ${options.apiKey}`,\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(request),\n redirect: \"error\",\n signal,\n }),\n signal,\n ),\n );\n if (\n response.judge.id !== identity.id ||\n response.judge.version !== identity.version ||\n response.judge.location !== \"studio\"\n )\n throw new Error(\n \"Studio judge identity changed. Refresh before running.\",\n );\n for (const usage of response.usage ?? []) input.onUsage?.(usage);\n return response.verdict;\n },\n };\n}\n"],"mappings":"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","names":["import_zod","signal"]}
|
|
1
|
+
{"version":3,"sources":["../src/evals.ts","../src/evals/contracts.ts","../src/evals/define-suite.ts","../src/evals/evaluation-contracts.ts","../src/evals/studio-contracts.ts","../src/evals/studio-judge.ts"],"sourcesContent":["export * from \"./evals/contracts\";\nexport { defineSuite } from \"./evals/define-suite\";\nexport * from \"./evals/evaluation-contracts\";\nexport * from \"./evals/studio-contracts\";\nexport { createStudioEvalJudge } from \"./evals/studio-judge\";\nexport type * from \"./evals/types\";\n","import { z } from \"zod\";\nimport type { EvalSuite } from \"./types\";\n\nconst id = z.string().trim().min(1).max(256);\nconst handler = z.object({ using: id, params: z.json().optional() }).strict();\nexport const EvalResumeResponseSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"text\"), text: z.string() }).strict(),\n z.object({ type: z.literal(\"select\"), ids: z.array(z.string()) }).strict(),\n z.object({ type: z.literal(\"value\"), value: z.json() }).strict(),\n z.object({ type: z.literal(\"cancel\") }).strict(),\n]);\nconst expectation = z\n .object({\n type: z.enum([\"answer\", \"interrupt\"]),\n schemaId: id.optional(),\n schemaVersion: id.optional(),\n outputs: z\n .array(z.object({ schemaId: id, schemaVersion: id.optional() }).strict())\n .optional(),\n criteria: z\n .array(\n z.union([\n z.string().trim().min(1),\n z.object({ id, text: z.string().trim().min(1) }).strict(),\n ]),\n )\n .optional(),\n reference: z.json().optional(),\n })\n .strict()\n .superRefine((value, ctx) => {\n if (value.type === \"answer\" && (value.schemaId || value.schemaVersion))\n ctx.addIssue({\n code: \"custom\",\n message: \"Interrupt schemas require an interrupt expectation.\",\n });\n const ids =\n value.criteria?.map((item, index) =>\n typeof item === \"string\" ? String(index) : item.id,\n ) ?? [];\n if (new Set(ids).size !== ids.length)\n ctx.addIssue({\n code: \"custom\",\n message: \"Criterion IDs must be unique within a step.\",\n });\n });\nexport const EvalSuiteSchema = z\n .object({\n id,\n name: z.string().optional(),\n cases: z\n .array(\n z\n .object({\n id,\n name: z.string().optional(),\n params: z.json().optional(),\n workflowId: id.optional(),\n steps: z\n .array(\n z.union([\n z\n .object({ message: z.string().min(1), expect: expectation })\n .strict(),\n z\n .object({\n resume: z.union([EvalResumeResponseSchema, handler]),\n expect: expectation,\n })\n .strict(),\n ]),\n )\n .min(1),\n })\n .strict(),\n )\n .min(1),\n })\n .strict();\nexport const EvalVerdictSchema = z\n .object({\n passed: z.boolean(),\n reason: z.string().trim().min(1),\n evidence: z.array(z.string().min(1)),\n })\n .strict();\nexport const EvalObservationSchema = z\n .object({\n type: z.enum([\"answer\", \"interrupt\", \"error\", \"cancelled\"]),\n text: z.string(),\n structured: z.array(z.json()),\n events: z.array(z.json()).optional(),\n runId: z.string().optional(),\n checkpointId: z.string().optional(),\n interrupt: z\n .object({\n requestId: z.string(),\n kind: z.enum([\"text\", \"choice\", \"multi-choice\", \"custom\"]),\n question: z.string().optional(),\n schemaId: z.string().optional(),\n schemaVersion: z.string().optional(),\n options: z.array(\n z\n .object({\n id: z.string(),\n label: z.string(),\n description: z.string().optional(),\n })\n .strict(),\n ),\n request: z.json().optional(),\n })\n .strict()\n .optional(),\n })\n .strict()\n .superRefine((value, ctx) => {\n if ((value.type === \"interrupt\") !== Boolean(value.interrupt))\n ctx.addIssue({\n code: \"custom\",\n message: \"Interrupt observations require exactly one interrupt.\",\n });\n });\n\nconst status = z.enum([\"passed\", \"failed\", \"error\", \"cancelled\", \"ungraded\"]);\nconst issue = z\n .object({\n phase: z.enum([\n \"params\",\n \"setup\",\n \"execute\",\n \"responder\",\n \"reference\",\n \"grading\",\n \"cleanup\",\n \"reporting\",\n ]),\n code: z.string(),\n message: z.string(),\n })\n .strict();\n/** Billing evidence only: no prompts, provider raw responses, or credentials. */\nexport const EvalJudgeUsageSchema = z\n .object({\n provider: z.string().min(1),\n model: z.string().min(1),\n occurredAt: z.iso.datetime(),\n usage: z\n .object({\n input: z.number().finite().nonnegative().optional(),\n output: z.number().finite().nonnegative().optional(),\n total: z.number().finite().nonnegative().optional(),\n reasoning: z.number().finite().nonnegative().optional(),\n cacheRead: z.number().finite().nonnegative().optional(),\n cacheWrite: z.number().finite().nonnegative().optional(),\n cacheWrite1h: z.number().finite().nonnegative().optional(),\n outputIncludesReasoning: z.boolean().optional(),\n inputIncludesCacheRead: z.boolean().optional(),\n inputIncludesCacheWrite: z.boolean().optional(),\n })\n .strict()\n .optional(),\n pricingContext: z\n .object({\n serviceTier: z.string().min(1).max(100).optional(),\n inferenceGeo: z.string().min(1).max(100).optional(),\n speed: z.string().min(1).max(100).optional(),\n })\n .strict()\n .optional(),\n pricing: z\n .object({\n source: z.literal(\"provider\"),\n currency: z.literal(\"USD\"),\n actualCostMicros: z.number().int().nonnegative().safe(),\n })\n .strict()\n .optional(),\n })\n .strict();\nexport const EvalStepResultSchema = z\n .object({\n index: z.number().int().nonnegative(),\n input: z.union([\n z.object({ message: z.string() }).strict(),\n z.object({ resume: EvalResumeResponseSchema }).strict(),\n ]),\n expectation,\n observation: EvalObservationSchema,\n reference: z.json().optional(),\n status,\n reason: z.string().optional(),\n judgeCalls: z.number().int().nonnegative().optional(),\n judgeUsage: z.array(EvalJudgeUsageSchema).optional(),\n criteria: z.array(\n EvalVerdictSchema.extend({ id: z.string(), text: z.string() }),\n ),\n })\n .strict();\nexport const EvalCaseResultSchema = z\n .object({\n caseId: id,\n repetition: z.number().int().positive(),\n sessionId: z.string(),\n status,\n durationMs: z.number().nonnegative(),\n steps: z.array(EvalStepResultSchema),\n errors: z.array(issue),\n })\n .strict();\nexport const EvalJudgeIdentitySchema = z\n .object({\n id,\n version: id,\n location: z.enum([\"app\", \"studio\"]).optional(),\n })\n .strict();\nconst judge = EvalJudgeIdentitySchema;\nexport const StudioEvalJudgeRequestSchema = z\n .object({\n environment: id,\n judge: EvalJudgeIdentitySchema,\n criterion: z\n .object({ id, text: z.string().trim().min(1).max(16_384) })\n .strict(),\n input: EvalStepResultSchema.shape.input,\n observation: EvalObservationSchema,\n reference: z.json().optional(),\n conversation: z.array(EvalStepResultSchema).max(100),\n })\n .strict();\nexport const StudioEvalJudgeResponseSchema = z\n .object({\n judge: EvalJudgeIdentitySchema,\n verdict: EvalVerdictSchema,\n usage: z.array(EvalJudgeUsageSchema).optional(),\n })\n .strict();\nexport const EvalRunResultSchema = z\n .object({\n id: z.uuid(),\n suiteId: id,\n suiteRevision: z.string().regex(/^[a-f0-9]{64}$/),\n suite: EvalSuiteSchema,\n judge: judge.optional(),\n startedAt: z.iso.datetime(),\n durationMs: z.number().nonnegative(),\n status,\n counts: z\n .object({\n passed: z.number().int().nonnegative(),\n failed: z.number().int().nonnegative(),\n error: z.number().int().nonnegative(),\n cancelled: z.number().int().nonnegative(),\n ungraded: z.number().int().nonnegative().optional(),\n })\n .strict(),\n cases: z.array(EvalCaseResultSchema),\n errors: z.array(issue),\n })\n .strict();\nexport const EvalManifestSchema = z\n .object({\n schemaVersion: z.literal(1),\n studioJudging: z.literal(true).optional(),\n suites: z.array(EvalSuiteSchema),\n responders: z.array(\n z\n .object({\n name: id,\n schemaId: id.optional(),\n schemaVersion: id.optional(),\n })\n .strict(),\n ),\n references: z.array(id),\n paramsSchema: z.record(z.string(), z.unknown()).optional(),\n judge: judge.optional(),\n })\n .strict();\nexport const EvalProgressSchema = z.discriminatedUnion(\"type\", [\n z\n .object({\n type: z.literal(\"run-started\"),\n caseIds: z.array(id).min(1),\n repetitions: z.number().int().positive(),\n concurrency: z.number().int().positive(),\n })\n .strict(),\n z\n .object({\n type: z.literal(\"case-progress\"),\n caseId: id,\n repetition: z.number().int().positive(),\n phase: issue.shape.phase,\n stepIndex: z.number().int().nonnegative().optional(),\n })\n .strict(),\n z\n .object({\n type: z.literal(\"case-started\"),\n caseId: id,\n repetition: z.number().int().positive(),\n sessionId: z.string(),\n })\n .strict(),\n z\n .object({\n type: z.literal(\"step-completed\"),\n caseId: id,\n repetition: z.number().int().positive(),\n step: EvalStepResultSchema,\n })\n .strict(),\n z\n .object({ type: z.literal(\"case-completed\"), result: EvalCaseResultSchema })\n .strict(),\n]);\nexport const EvalRemoteRunRequestSchema = z\n .object({\n suiteId: id,\n suiteRevision: z.string().regex(/^[a-f0-9]{64}$/),\n grading: z.enum([\"app\", \"studio\"]).optional(),\n judge: EvalJudgeIdentitySchema.optional(),\n caseIds: z.array(id).min(1).max(100).optional(),\n repetitions: z.number().int().min(1).max(20).default(1),\n concurrency: z.number().int().min(1).max(4).default(1),\n })\n .strict();\nexport const StudioEvalStartRequestSchema = EvalRemoteRunRequestSchema.omit({\n grading: true,\n judge: true,\n}).extend({\n targetId: z.string().min(1).max(128),\n judge: z.enum([\"studio\", \"app\"]).default(\"studio\"),\n});\nexport const EvalWireEventSchema = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"progress\"), event: EvalProgressSchema }).strict(),\n z.object({ type: z.literal(\"result\"), result: EvalRunResultSchema }).strict(),\n z.object({ type: z.literal(\"error\"), message: z.string() }).strict(),\n]);\nexport type EvalManifest = z.infer<typeof EvalManifestSchema>;\nexport type EvalRemoteRunRequest = z.infer<typeof EvalRemoteRunRequestSchema>;\nexport type EvalWireEvent = z.infer<typeof EvalWireEventSchema>;\n\nexport class EvalConfigurationError extends Error {\n override name = \"EvalConfigurationError\";\n}\n\nexport function parseEvalSuite(value: unknown): EvalSuite {\n const result = EvalSuiteSchema.safeParse(value);\n if (!result.success)\n throw new EvalConfigurationError(\n \"Invalid suite. Expected serializable cases, conversation steps, and expectations.\",\n );\n const ids = result.data.cases.map((item) => item.id);\n if (new Set(ids).size !== ids.length)\n throw new EvalConfigurationError(\"Case IDs must be unique within a suite.\");\n for (const item of result.data.cases) {\n let waiting = false;\n for (const step of item.steps) {\n if (\"resume\" in step !== waiting)\n throw new EvalConfigurationError(\n \"A resume step must follow an expected interrupt; a message must follow an answer.\",\n );\n waiting = step.expect.type === \"interrupt\";\n }\n }\n return result.data as EvalSuite;\n}\n","import type { EvalCase, EvalJson, EvalSuite } from \"./types\";\n\ntype DefinedSuite<Params> = Omit<EvalSuite<Params>, \"cases\"> & {\n cases: readonly (Omit<EvalCase<Params>, \"params\"> &\n (undefined extends Params\n ? { params?: Exclude<Params, undefined> }\n : { params: Params }))[];\n};\n\n/** Author a suite with typed case parameters. Runtime validation belongs to createEvals. */\nexport function defineSuite<Params = EvalJson | undefined>(\n suite: DefinedSuite<Params>,\n): DefinedSuite<Params> {\n return suite;\n}\n","import { z } from \"zod\";\nimport { EvalJudgeIdentitySchema } from \"./contracts\";\nimport {\n EvalCostsSchema,\n StudioEvalDetailSchema,\n StudioEvalRunSummarySchema,\n} from \"./studio-contracts\";\n\nexport const EvaluationMetadataSchema = z\n .object({\n source: z\n .enum([\"manual\", \"deployment\", \"schedule\", \"ci\"])\n .default(\"manual\"),\n commit: z.string().trim().min(1).max(100).optional(),\n deploymentUrl: z\n .url()\n .refine((value) => {\n try {\n const url = new URL(value);\n return (\n [\"https:\", \"http:\"].includes(url.protocol) &&\n !url.username &&\n !url.password\n );\n } catch {\n return false;\n }\n }, \"Expected an HTTP(S) URL without credentials\")\n .optional(),\n })\n .strict();\nexport const StudioEvaluationStartRequestSchema = z\n .object({\n targetId: z.string().trim().min(1),\n name: z.string().trim().min(1).max(200).optional(),\n selection: z.enum([\"all\", \"selected\"]),\n suites: z\n .array(\n z\n .object({\n suiteId: z.string().min(1),\n suiteRevision: z.string().regex(/^[a-f0-9]{64}$/),\n caseIds: z.array(z.string().min(1)).min(1).max(100).optional(),\n })\n .strict(),\n )\n .min(1)\n .max(100),\n judge: z.enum([\"studio\", \"app\"]).default(\"studio\"),\n repetitions: z.number().int().min(1).max(20).default(1),\n concurrency: z.number().int().min(1).max(4).default(1),\n metadata: EvaluationMetadataSchema.default({ source: \"manual\" }),\n idempotencyKey: z.string().trim().min(1).max(200).optional(),\n })\n .strict();\nexport type StudioEvaluationStartRequest = z.input<\n typeof StudioEvaluationStartRequestSchema\n>;\nexport const StudioEvaluationSummarySchema = z.object({\n id: z.uuid(),\n name: z.string(),\n targetId: z.string(),\n targetName: z.string(),\n environment: z.string(),\n selection: z.enum([\"all\", \"selected\"]),\n metadata: EvaluationMetadataSchema,\n judge: EvalJudgeIdentitySchema.optional(),\n status: StudioEvalRunSummarySchema.shape.status,\n createdAt: z.string(),\n startedAt: z.string().nullable(),\n endedAt: z.string().nullable(),\n cancelRequestedAt: z.string().nullable(),\n suiteCount: z.number().int().nonnegative(),\n completedSuites: z.number().int().nonnegative(),\n totalAttempts: z.number().int().nonnegative(),\n completedAttempts: z.number().int().nonnegative(),\n counts: z.object({\n passed: z.number(),\n failed: z.number(),\n error: z.number(),\n cancelled: z.number(),\n }),\n costs: EvalCostsSchema.optional(),\n legacy: z.boolean().optional(),\n});\nexport const StudioEvaluationHistorySchema = z.object({\n runs: z.array(StudioEvaluationSummarySchema),\n});\nexport const StudioEvaluationDetailSchema = z.object({\n run: StudioEvaluationSummarySchema.extend({\n suites: z.array(StudioEvalRunSummarySchema),\n }),\n});\nexport const StudioEvaluationResultsSchema = z.object({\n run: StudioEvaluationSummarySchema.extend({\n suites: z.array(StudioEvalDetailSchema.shape.run),\n }),\n});\nexport type StudioEvaluationSummary = z.infer<\n typeof StudioEvaluationSummarySchema\n>;\nexport type StudioEvaluationDetail = z.infer<\n typeof StudioEvaluationDetailSchema\n>[\"run\"];\n","import { z } from \"zod\";\nimport {\n EvalJudgeIdentitySchema,\n EvalManifestSchema,\n EvalProgressSchema,\n EvalRunResultSchema,\n EvalSuiteSchema,\n} from \"./contracts\";\nexport const StudioEvalTargetsResponseSchema = z.object({\n canRun: z.boolean(),\n studioJudge: EvalJudgeIdentitySchema.nullable().optional(),\n targets: z.array(\n z.object({\n id: z.string(),\n name: z.string(),\n environment: z.string(),\n error: z.string().nullable(),\n // Safe discovery diagnostics; optional for compatibility with older APIs.\n diagnostic: z\n .object({\n code: z.enum([\n \"environment_forbidden\",\n \"environment_unavailable\",\n \"endpoint_not_found\",\n \"endpoint_unauthorized\",\n \"endpoint_http_error\",\n \"endpoint_unreachable\",\n \"manifest_invalid\",\n ]),\n httpStatus: z.number().int().min(100).max(599).optional(),\n })\n .nullable()\n .optional(),\n manifest: EvalManifestSchema.nullable(),\n revisions: z.record(z.string(), z.string()),\n }),\n ),\n});\nexport const EvalCostAmountSchema = z.object({\n amount: z.number().finite().nonnegative().nullable(),\n currency: z.string().nullable(),\n status: z.enum([\"complete\", \"partial\", \"unavailable\"]),\n calls: z.number().int().nonnegative(),\n unpricedCalls: z.number().int().nonnegative(),\n estimated: z.boolean(),\n});\nexport const EvalCostsSchema = z.object({\n workflow: EvalCostAmountSchema,\n judge: EvalCostAmountSchema,\n total: EvalCostAmountSchema,\n});\nexport type EvalCosts = z.infer<typeof EvalCostsSchema>;\nexport type EvalCostAmount = z.infer<typeof EvalCostAmountSchema>;\nexport const StudioEvalRunSummarySchema = z.object({\n id: z.uuid(),\n evaluationId: z.uuid().nullable().optional(),\n targetId: z.string(),\n targetName: z.string(),\n environment: z.string(),\n suiteId: z.string(),\n suiteRevision: z.string(),\n status: z.enum([\n \"queued\",\n \"running\",\n \"passed\",\n \"failed\",\n \"error\",\n \"cancelled\",\n ]),\n createdAt: z.string(),\n startedAt: z.string().nullable(),\n endedAt: z.string().nullable(),\n error: z.string().nullable(),\n cancelRequestedAt: z.string().nullable(),\n costs: EvalCostsSchema.optional(),\n counts: z\n .object({\n passed: z.number(),\n failed: z.number(),\n error: z.number(),\n cancelled: z.number(),\n })\n .nullable()\n .optional(),\n suiteName: z.string().nullable().optional(),\n totalAttempts: z.number().int().nonnegative().optional(),\n completedAttempts: z.number().int().nonnegative().optional(),\n phase: z.string().optional(),\n});\nexport const StudioEvalHistorySchema = z.object({\n runs: z.array(StudioEvalRunSummarySchema),\n});\nexport const StudioEvalDetailSchema = z.object({\n run: StudioEvalRunSummarySchema.extend({\n caseCosts: z.record(z.string(), EvalCostsSchema).optional(),\n request: z\n .object({\n caseIds: z.array(z.string()).optional(),\n grading: z.enum([\"app\", \"studio\"]).optional(),\n judge: EvalJudgeIdentitySchema.optional(),\n repetitions: z.number().int().positive(),\n concurrency: z.number().optional(),\n })\n .optional(),\n suite: EvalSuiteSchema,\n result: EvalRunResultSchema.nullable(),\n events: z.array(z.object({ id: z.number(), event: EvalProgressSchema })),\n }),\n});\nexport type StudioEvalTargets = z.infer<typeof StudioEvalTargetsResponseSchema>;\nexport type StudioEvalHistory = z.infer<typeof StudioEvalHistorySchema>;\nexport type StudioEvalDetail = z.infer<typeof StudioEvalDetailSchema>[\"run\"];\n\nexport type StudioEvalRunSummary = z.infer<typeof StudioEvalRunSummarySchema>;\n","import {\n EvalConfigurationError,\n EvalJudgeIdentitySchema,\n StudioEvalJudgeRequestSchema,\n StudioEvalJudgeResponseSchema,\n} from \"./contracts\";\nimport type { EvalJudge, StudioEvalJudgeOptions } from \"./types\";\n\nasync function readJson(\n response: Response,\n signal: AbortSignal,\n): Promise<unknown> {\n if (!response.ok || !response.body) {\n await response.body?.cancel().catch(() => {});\n throw new Error(\"Studio judge is unavailable or rejected the request.\");\n }\n const reader = response.body.getReader();\n const abort = () => {\n void reader.cancel().catch(() => {});\n };\n signal.addEventListener(\"abort\", abort, { once: true });\n const decoder = new TextDecoder();\n let text = \"\";\n let bytes = 0;\n try {\n for (;;) {\n signal.throwIfAborted();\n const part = await reader.read();\n if (part.done) break;\n bytes += part.value.byteLength;\n if (bytes > 1_000_000)\n throw new Error(\"Studio judge response is too large.\");\n text += decoder.decode(part.value, { stream: true });\n }\n signal.throwIfAborted();\n return JSON.parse(text + decoder.decode());\n } finally {\n signal.removeEventListener(\"abort\", abort);\n await reader.cancel().catch(() => {});\n reader.releaseLock();\n }\n}\n\n/** Discover and pin the Studio backend's judge; grading never runs in the browser. */\nexport async function createStudioEvalJudge(\n options: StudioEvalJudgeOptions,\n): Promise<EvalJudge> {\n const base = new URL(options.url);\n if (\n base.username ||\n base.password ||\n base.search ||\n base.hash ||\n (base.pathname !== \"/\" && base.pathname !== \"\") ||\n (base.protocol !== \"https:\" &&\n !(options.allowInsecureHttp && base.protocol === \"http:\")) ||\n !options.apiKey.trim() ||\n !options.environment.trim()\n )\n throw new EvalConfigurationError(\n \"Studio judging requires an API origin, key and environment, with HTTPS or explicit local HTTP opt-in.\",\n );\n const endpoint = new URL(\"/v1/studio/evals/judge\", base);\n const discovery = new URL(endpoint);\n discovery.searchParams.set(\"environment\", options.environment);\n const signal = options.signal\n ? AbortSignal.any([options.signal, AbortSignal.timeout(15_000)])\n : AbortSignal.timeout(15_000);\n const identity = EvalJudgeIdentitySchema.parse(\n await readJson(\n await fetch(discovery, {\n headers: { authorization: `Bearer ${options.apiKey}` },\n redirect: \"error\",\n signal,\n }),\n signal,\n ),\n );\n if (identity.location !== \"studio\")\n throw new EvalConfigurationError(\n \"Endpoint did not provide a Studio judge.\",\n );\n return {\n ...identity,\n location: \"studio\",\n async grade(input) {\n const request = StudioEvalJudgeRequestSchema.parse({\n environment: options.environment,\n judge: identity,\n criterion: input.criterion,\n input: input.input,\n observation: input.observation,\n reference: input.reference,\n conversation: input.conversation,\n });\n const signal = AbortSignal.any([\n input.signal,\n AbortSignal.timeout(60_000),\n ]);\n signal.throwIfAborted();\n const response = StudioEvalJudgeResponseSchema.parse(\n await readJson(\n await fetch(endpoint, {\n method: \"POST\",\n headers: {\n authorization: `Bearer ${options.apiKey}`,\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(request),\n redirect: \"error\",\n signal,\n }),\n signal,\n ),\n );\n if (\n response.judge.id !== identity.id ||\n response.judge.version !== identity.version ||\n response.judge.location !== \"studio\"\n )\n throw new Error(\n \"Studio judge identity changed. Refresh before running.\",\n );\n for (const usage of response.usage ?? []) input.onUsage?.(usage);\n return response.verdict;\n },\n };\n}\n"],"mappings":"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","names":["import_zod","import_zod","signal"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export {
|
|
1
|
+
import { ac as ChatLifecyclePhase, ad as ChatLifecycleHookError, ae as Agent, af as ChatResponseFinalized, p as EvalJson, C as CreateEvalsOptions, S as EvalSuite, K as EvalRunOptions, L as EvalRunResult, t as EvalJudgeOptions, q as EvalJudge, r as EvalJudgeIdentity } from './studio-judge-CG86eozt.js';
|
|
2
|
+
export { ag as AgentProcessOptions, ah as AgentProjectTopologyOptions, ai as ChatResponseStatus, aj as CreateAgentArgs, E as EvalCase, a as EvalCaseResult, c as EvalCommand, d as EvalConfigurationError, e as EvalContext, f as EvalCriterion, g as EvalCriterionResult, h as EvalDefaults, i as EvalExecution, j as EvalExecutionStatus, k as EvalExpectation, l as EvalGradeInput, m as EvalHandlerRef, n as EvalInterrupt, o as EvalIssue, s as EvalJudgeIdentitySchema, u as EvalJudgeUsage, v as EvalJudgeUsageSchema, w as EvalManifest, x as EvalManifestSchema, y as EvalObservation, A as EvalOutputExpectation, B as EvalPhase, D as EvalProgress, F as EvalProgressSchema, G as EvalRemoteRunRequest, H as EvalRemoteRunRequestSchema, I as EvalResponder, M as EvalRunResultSchema, N as EvalSetupContext, O as EvalStatus, P as EvalStep, Q as EvalStepResult, T as EvalSuiteSchema, U as EvalVerdict, W as EvalWireEvent, X as EvalWireEventSchema, Y as EvaluationMetadataSchema, ak as ExecutableWorkflow, al as ExecuteOptions, am as ExecutionInfo, an as ExecutionInterrupt, ao as ExecutionRequestError, ap as ExecutionResult, aq as InterruptScope, ar as ListInterruptsOptions, as as PendingInterrupt, at as ResumableInterrupt, au as ResumeHandle, av as ResumeOptions, aw as ResumeResponse, Z as StudioEvalJudgeOptions, _ as StudioEvalJudgeRequestSchema, $ as StudioEvalJudgeResponseSchema, a0 as StudioEvalStartRequestSchema, a1 as StudioEvaluationDetail, a2 as StudioEvaluationDetailSchema, a3 as StudioEvaluationHistorySchema, a4 as StudioEvaluationResultsSchema, a5 as StudioEvaluationStartRequest, a6 as StudioEvaluationStartRequestSchema, a7 as StudioEvaluationSummary, a8 as StudioEvaluationSummarySchema, ax as createAgent, a9 as createStudioEvalJudge, aa as defineSuite, ab as parseEvalSuite, ay as projectWorkflowTopology } from './studio-judge-CG86eozt.js';
|
|
3
3
|
import { C as ChatMessage } from './chat-message-D4EsFcr1.js';
|
|
4
4
|
export { StreamChatFromRouteArgs, streamChatFromRoute } from './browser.js';
|
|
5
5
|
import { GetProviderFn } from '@kortyx/providers';
|