@kortyx/agent 0.37.1 → 0.38.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/dist/evals.js CHANGED
@@ -24,6 +24,7 @@ __export(evals_exports, {
24
24
  EvalCostAmountSchema: () => EvalCostAmountSchema,
25
25
  EvalCostsSchema: () => EvalCostsSchema,
26
26
  EvalEvidencePolicySchema: () => EvalEvidencePolicySchema,
27
+ EvalIssueSchema: () => EvalIssueSchema,
27
28
  EvalJudgeIdentitySchema: () => EvalJudgeIdentitySchema,
28
29
  EvalJudgeUsageSchema: () => EvalJudgeUsageSchema,
29
30
  EvalManifestSchema: () => EvalManifestSchema,
@@ -49,6 +50,7 @@ __export(evals_exports, {
49
50
  StudioEvaluationResultsSchema: () => StudioEvaluationResultsSchema,
50
51
  StudioEvaluationStartRequestSchema: () => StudioEvaluationStartRequestSchema,
51
52
  StudioEvaluationSummarySchema: () => StudioEvaluationSummarySchema,
53
+ createEvalIssue: () => createEvalIssue,
52
54
  createStudioEvalJudge: () => createStudioEvalJudge,
53
55
  defineSuite: () => defineSuite,
54
56
  getEvalGradeEvidence: () => getEvalGradeEvidence,
@@ -57,6 +59,7 @@ __export(evals_exports, {
57
59
  module.exports = __toCommonJS(evals_exports);
58
60
 
59
61
  // src/evals/contracts.ts
62
+ var import_errors = require("@kortyx/core/errors");
60
63
  var import_browser = require("@kortyx/prompts/browser");
61
64
  var import_zod2 = require("zod");
62
65
 
@@ -100,6 +103,9 @@ var EvalEvidencePolicySchema = import_zod.z.object({
100
103
 
101
104
  // src/evals/contracts.ts
102
105
  var id2 = import_zod2.z.string().trim().min(1).max(256);
106
+ var failureDescriptor = import_zod2.z.custom(import_errors.isFailureDescriptor).transform(
107
+ (value) => JSON.parse(JSON.stringify((0, import_errors.serializeFailure)(value)))
108
+ );
103
109
  var handler = import_zod2.z.object({ using: id2, params: import_zod2.z.json().optional() }).strict();
104
110
  var EvalResumeResponseSchema = import_zod2.z.discriminatedUnion("type", [
105
111
  import_zod2.z.object({ type: import_zod2.z.literal("text"), text: import_zod2.z.string() }).strict(),
@@ -162,6 +168,8 @@ var EvalVerdictSchema = import_zod2.z.object({
162
168
  evidence: import_zod2.z.array(import_zod2.z.string().min(1))
163
169
  }).strict();
164
170
  var EvalObservationSchema = import_zod2.z.object({
171
+ failure: failureDescriptor.optional(),
172
+ diagnosticId: import_zod2.z.uuid().optional(),
165
173
  promptUsage: import_zod2.z.array(
166
174
  import_zod2.z.object({
167
175
  id: import_zod2.z.string(),
@@ -201,7 +209,9 @@ var EvalObservationSchema = import_zod2.z.object({
201
209
  });
202
210
  });
203
211
  var status = import_zod2.z.enum(["passed", "failed", "error", "cancelled", "ungraded"]);
204
- var issue = import_zod2.z.object({
212
+ var EvalIssueSchema = import_zod2.z.object({
213
+ failure: failureDescriptor.optional(),
214
+ diagnosticId: import_zod2.z.uuid().optional(),
205
215
  phase: import_zod2.z.enum([
206
216
  "params",
207
217
  "setup",
@@ -209,12 +219,14 @@ var issue = import_zod2.z.object({
209
219
  "responder",
210
220
  "reference",
211
221
  "grading",
222
+ "verification",
212
223
  "cleanup",
213
224
  "reporting"
214
225
  ]),
215
226
  code: import_zod2.z.string(),
216
227
  message: import_zod2.z.string()
217
228
  }).strict();
229
+ var issue = EvalIssueSchema;
218
230
  var EvalJudgeUsageSchema = import_zod2.z.object({
219
231
  provider: import_zod2.z.string().min(1),
220
232
  model: import_zod2.z.string().min(1),
@@ -266,6 +278,8 @@ var EvalStepResultSchema = import_zod2.z.object({
266
278
  }).strict();
267
279
  var runtimeExecution = import_zod2.z.object({ sessionId: import_zod2.z.string().min(1), runId: import_zod2.z.string().min(1) }).strict();
268
280
  var EvalCaseResultSchema = import_zod2.z.object({
281
+ verification: EvalVerdictSchema.optional(),
282
+ phaseDurationsMs: import_zod2.z.partialRecord(issue.shape.phase, import_zod2.z.number().finite().nonnegative()).optional(),
269
283
  caseId: id2,
270
284
  repetition: import_zod2.z.number().int().positive(),
271
285
  attemptId: import_zod2.z.uuid().optional(),
@@ -340,6 +354,16 @@ var EvalManifestSchema = import_zod2.z.object({
340
354
  judge: judge.optional()
341
355
  }).strict();
342
356
  var EvalProgressSchema = import_zod2.z.discriminatedUnion("type", [
357
+ import_zod2.z.object({
358
+ type: import_zod2.z.literal("case-dispatch"),
359
+ caseId: id2,
360
+ repetition: import_zod2.z.number().int().positive(),
361
+ status: import_zod2.z.enum(["queued", "retrying", "reconnecting"]),
362
+ retryAt: import_zod2.z.iso.datetime().optional(),
363
+ httpStatus: import_zod2.z.number().int().min(100).max(599).optional(),
364
+ executionId: import_zod2.z.uuid().optional(),
365
+ generation: import_zod2.z.uuid().optional()
366
+ }).strict(),
343
367
  import_zod2.z.object({
344
368
  type: import_zod2.z.literal("case-runtime-associated"),
345
369
  caseId: id2,
@@ -411,9 +435,27 @@ var StudioEvalStartRequestSchema = EvalRemoteRunRequestSchema.omit({
411
435
  judge: import_zod2.z.enum(["studio", "app"]).default("studio")
412
436
  });
413
437
  var EvalWireEventSchema = import_zod2.z.discriminatedUnion("type", [
414
- import_zod2.z.object({ type: import_zod2.z.literal("progress"), event: EvalProgressSchema }).strict(),
415
- import_zod2.z.object({ type: import_zod2.z.literal("result"), result: EvalRunResultSchema }).strict(),
416
- import_zod2.z.object({ type: import_zod2.z.literal("error"), message: import_zod2.z.string() }).strict()
438
+ import_zod2.z.object({
439
+ type: import_zod2.z.literal("execution-status"),
440
+ state: import_zod2.z.enum(["queued", "running", "completed", "cancelled", "unknown"])
441
+ }).strict(),
442
+ import_zod2.z.object({
443
+ type: import_zod2.z.literal("progress"),
444
+ event: EvalProgressSchema,
445
+ sequence: import_zod2.z.number().int().positive().optional()
446
+ }).strict(),
447
+ import_zod2.z.object({
448
+ type: import_zod2.z.literal("result"),
449
+ result: EvalRunResultSchema,
450
+ sequence: import_zod2.z.number().int().positive().optional()
451
+ }).strict(),
452
+ import_zod2.z.object({
453
+ type: import_zod2.z.literal("error"),
454
+ message: import_zod2.z.string(),
455
+ failure: failureDescriptor.optional(),
456
+ diagnosticId: import_zod2.z.uuid().optional(),
457
+ sequence: import_zod2.z.number().int().positive().optional()
458
+ }).strict()
417
459
  ]);
418
460
  var EvalConfigurationError = class extends Error {
419
461
  name = "EvalConfigurationError";
@@ -445,24 +487,58 @@ function defineSuite(suite) {
445
487
  return suite;
446
488
  }
447
489
 
490
+ // src/evals/errors.ts
491
+ var import_errors2 = require("@kortyx/core/errors");
492
+ var import_zod3 = require("zod");
493
+ var messages = {
494
+ params: "Case parameters failed validation.",
495
+ setup: "Case setup failed.",
496
+ execute: "Agent execution failed or returned an invalid observation.",
497
+ responder: "Interrupt response failed or was incompatible with the waiting contract.",
498
+ reference: "Reference resolution failed or returned non-JSON data.",
499
+ grading: "Grading failed or returned an invalid verdict.",
500
+ verification: "Case verification failed or returned an invalid verdict.",
501
+ cleanup: "Case cleanup failed.",
502
+ reporting: "Progress reporting failed."
503
+ };
504
+ function createEvalIssue(phase, error, options = {}) {
505
+ const control = (0, import_errors2.isControlFlowError)(error);
506
+ const declared = !control && ((0, import_errors2.isFailureDescriptor)(error) || (0, import_errors2.isFailureDescriptor)((0, import_errors2.errorProperty)(error, "failure")));
507
+ const failure = (0, import_errors2.serializeFailure)(control ? void 0 : error);
508
+ let diagnosticId = options.diagnosticId ?? (0, import_errors2.errorProperty)(error, "diagnosticId");
509
+ if (!control && !diagnosticId && options.reportError) {
510
+ try {
511
+ diagnosticId = options.reportError(error, options.correlation);
512
+ } catch {
513
+ }
514
+ }
515
+ return {
516
+ phase,
517
+ code: declared ? failure.code : options.code ?? "EVAL_HOOK_FAILED",
518
+ message: declared ? failure.message : messages[phase],
519
+ failure,
520
+ ...typeof diagnosticId === "string" && import_zod3.z.uuid().safeParse(diagnosticId).success ? { diagnosticId } : {}
521
+ };
522
+ }
523
+
448
524
  // src/evals/evaluation-contracts.ts
449
- var import_zod4 = require("zod");
525
+ var import_zod5 = require("zod");
450
526
 
451
527
  // src/evals/studio-contracts.ts
452
528
  var import_browser2 = require("@kortyx/prompts/browser");
453
- var import_zod3 = require("zod");
454
- var StudioEvalTargetsResponseSchema = import_zod3.z.object({
455
- canRun: import_zod3.z.boolean(),
529
+ var import_zod4 = require("zod");
530
+ var StudioEvalTargetsResponseSchema = import_zod4.z.object({
531
+ canRun: import_zod4.z.boolean(),
456
532
  studioJudge: EvalJudgeIdentitySchema.nullable().optional(),
457
- targets: import_zod3.z.array(
458
- import_zod3.z.object({
459
- id: import_zod3.z.string(),
460
- name: import_zod3.z.string(),
461
- environment: import_zod3.z.string(),
462
- error: import_zod3.z.string().nullable(),
533
+ targets: import_zod4.z.array(
534
+ import_zod4.z.object({
535
+ id: import_zod4.z.string(),
536
+ name: import_zod4.z.string(),
537
+ environment: import_zod4.z.string(),
538
+ error: import_zod4.z.string().nullable(),
463
539
  // Safe discovery diagnostics; optional for compatibility with older APIs.
464
- diagnostic: import_zod3.z.object({
465
- code: import_zod3.z.enum([
540
+ diagnostic: import_zod4.z.object({
541
+ code: import_zod4.z.enum([
466
542
  "environment_forbidden",
467
543
  "environment_unavailable",
468
544
  "endpoint_not_found",
@@ -471,44 +547,44 @@ var StudioEvalTargetsResponseSchema = import_zod3.z.object({
471
547
  "endpoint_unreachable",
472
548
  "manifest_invalid"
473
549
  ]),
474
- httpStatus: import_zod3.z.number().int().min(100).max(599).optional()
550
+ httpStatus: import_zod4.z.number().int().min(100).max(599).optional()
475
551
  }).nullable().optional(),
476
552
  manifest: EvalManifestSchema.nullable(),
477
- revisions: import_zod3.z.record(import_zod3.z.string(), import_zod3.z.string())
553
+ revisions: import_zod4.z.record(import_zod4.z.string(), import_zod4.z.string())
478
554
  })
479
555
  )
480
556
  });
481
- var EvalCostAmountSchema = import_zod3.z.object({
482
- costSummary: import_zod3.z.object({
483
- amounts: import_zod3.z.array(
484
- import_zod3.z.object({
485
- amount: import_zod3.z.number().finite().nonnegative(),
486
- currency: import_zod3.z.string().nullable()
557
+ var EvalCostAmountSchema = import_zod4.z.object({
558
+ costSummary: import_zod4.z.object({
559
+ amounts: import_zod4.z.array(
560
+ import_zod4.z.object({
561
+ amount: import_zod4.z.number().finite().nonnegative(),
562
+ currency: import_zod4.z.string().nullable()
487
563
  })
488
564
  ),
489
- complete: import_zod3.z.boolean()
565
+ complete: import_zod4.z.boolean()
490
566
  }).optional(),
491
- amount: import_zod3.z.number().finite().nonnegative().nullable(),
492
- currency: import_zod3.z.string().nullable(),
493
- status: import_zod3.z.enum(["complete", "partial", "unavailable"]),
494
- calls: import_zod3.z.number().int().nonnegative(),
495
- unpricedCalls: import_zod3.z.number().int().nonnegative(),
496
- estimated: import_zod3.z.boolean()
567
+ amount: import_zod4.z.number().finite().nonnegative().nullable(),
568
+ currency: import_zod4.z.string().nullable(),
569
+ status: import_zod4.z.enum(["complete", "partial", "unavailable"]),
570
+ calls: import_zod4.z.number().int().nonnegative(),
571
+ unpricedCalls: import_zod4.z.number().int().nonnegative(),
572
+ estimated: import_zod4.z.boolean()
497
573
  });
498
- var EvalCostsSchema = import_zod3.z.object({
574
+ var EvalCostsSchema = import_zod4.z.object({
499
575
  workflow: EvalCostAmountSchema,
500
576
  judge: EvalCostAmountSchema,
501
577
  total: EvalCostAmountSchema
502
578
  });
503
- var StudioEvalRunSummarySchema = import_zod3.z.object({
504
- id: import_zod3.z.uuid(),
505
- evaluationId: import_zod3.z.uuid().nullable().optional(),
506
- targetId: import_zod3.z.string(),
507
- targetName: import_zod3.z.string(),
508
- environment: import_zod3.z.string(),
509
- suiteId: import_zod3.z.string(),
510
- suiteRevision: import_zod3.z.string(),
511
- status: import_zod3.z.enum([
579
+ var StudioEvalRunSummarySchema = import_zod4.z.object({
580
+ id: import_zod4.z.uuid(),
581
+ evaluationId: import_zod4.z.uuid().nullable().optional(),
582
+ targetId: import_zod4.z.string(),
583
+ targetName: import_zod4.z.string(),
584
+ environment: import_zod4.z.string(),
585
+ suiteId: import_zod4.z.string(),
586
+ suiteRevision: import_zod4.z.string(),
587
+ status: import_zod4.z.enum([
512
588
  "queued",
513
589
  "running",
514
590
  "passed",
@@ -516,49 +592,49 @@ var StudioEvalRunSummarySchema = import_zod3.z.object({
516
592
  "error",
517
593
  "cancelled"
518
594
  ]),
519
- createdAt: import_zod3.z.string(),
520
- startedAt: import_zod3.z.string().nullable(),
521
- endedAt: import_zod3.z.string().nullable(),
522
- error: import_zod3.z.string().nullable(),
523
- cancelRequestedAt: import_zod3.z.string().nullable(),
595
+ createdAt: import_zod4.z.string(),
596
+ startedAt: import_zod4.z.string().nullable(),
597
+ endedAt: import_zod4.z.string().nullable(),
598
+ error: import_zod4.z.string().nullable(),
599
+ cancelRequestedAt: import_zod4.z.string().nullable(),
524
600
  costs: EvalCostsSchema.optional(),
525
- counts: import_zod3.z.object({
526
- passed: import_zod3.z.number(),
527
- failed: import_zod3.z.number(),
528
- error: import_zod3.z.number(),
529
- cancelled: import_zod3.z.number()
601
+ counts: import_zod4.z.object({
602
+ passed: import_zod4.z.number(),
603
+ failed: import_zod4.z.number(),
604
+ error: import_zod4.z.number(),
605
+ cancelled: import_zod4.z.number()
530
606
  }).nullable().optional(),
531
- suiteName: import_zod3.z.string().nullable().optional(),
532
- totalAttempts: import_zod3.z.number().int().nonnegative().optional(),
533
- completedAttempts: import_zod3.z.number().int().nonnegative().optional(),
534
- phase: import_zod3.z.string().optional()
607
+ suiteName: import_zod4.z.string().nullable().optional(),
608
+ totalAttempts: import_zod4.z.number().int().nonnegative().optional(),
609
+ completedAttempts: import_zod4.z.number().int().nonnegative().optional(),
610
+ phase: import_zod4.z.string().optional()
535
611
  });
536
- var StudioEvalHistorySchema = import_zod3.z.object({
537
- runs: import_zod3.z.array(StudioEvalRunSummarySchema)
612
+ var StudioEvalHistorySchema = import_zod4.z.object({
613
+ runs: import_zod4.z.array(StudioEvalRunSummarySchema)
538
614
  });
539
- var StudioEvalDetailSchema = import_zod3.z.object({
615
+ var StudioEvalDetailSchema = import_zod4.z.object({
540
616
  run: StudioEvalRunSummarySchema.extend({
541
- caseCosts: import_zod3.z.record(import_zod3.z.string(), EvalCostsSchema).optional(),
542
- request: import_zod3.z.object({
543
- caseIds: import_zod3.z.array(import_zod3.z.string()).optional(),
544
- grading: import_zod3.z.enum(["app", "studio"]).optional(),
617
+ caseCosts: import_zod4.z.record(import_zod4.z.string(), EvalCostsSchema).optional(),
618
+ request: import_zod4.z.object({
619
+ caseIds: import_zod4.z.array(import_zod4.z.string()).optional(),
620
+ grading: import_zod4.z.enum(["app", "studio"]).optional(),
545
621
  judge: EvalJudgeIdentitySchema.optional(),
546
- repetitions: import_zod3.z.number().int().positive(),
547
- concurrency: import_zod3.z.number().optional(),
622
+ repetitions: import_zod4.z.number().int().positive(),
623
+ concurrency: import_zod4.z.number().optional(),
548
624
  promptSnapshot: import_browser2.PromptSnapshotSchema.optional(),
549
- promptGroupName: import_zod3.z.string().optional()
625
+ promptGroupName: import_zod4.z.string().optional()
550
626
  }).optional(),
551
627
  suite: EvalSuiteSchema,
552
628
  result: EvalRunResultSchema.nullable(),
553
- events: import_zod3.z.array(import_zod3.z.object({ id: import_zod3.z.number(), event: EvalProgressSchema }))
629
+ events: import_zod4.z.array(import_zod4.z.object({ id: import_zod4.z.number(), event: EvalProgressSchema }))
554
630
  })
555
631
  });
556
632
 
557
633
  // src/evals/evaluation-contracts.ts
558
- var EvaluationMetadataSchema = import_zod4.z.object({
559
- source: import_zod4.z.enum(["manual", "deployment", "schedule", "ci"]).default("manual"),
560
- commit: import_zod4.z.string().trim().min(1).max(100).optional(),
561
- deploymentUrl: import_zod4.z.url().refine((value) => {
634
+ var EvaluationMetadataSchema = import_zod5.z.object({
635
+ source: import_zod5.z.enum(["manual", "deployment", "schedule", "ci"]).default("manual"),
636
+ commit: import_zod5.z.string().trim().min(1).max(100).optional(),
637
+ deploymentUrl: import_zod5.z.url().refine((value) => {
562
638
  try {
563
639
  const url = new URL(value);
564
640
  return ["https:", "http:"].includes(url.protocol) && !url.username && !url.password;
@@ -567,62 +643,62 @@ var EvaluationMetadataSchema = import_zod4.z.object({
567
643
  }
568
644
  }, "Expected an HTTP(S) URL without credentials").optional()
569
645
  }).strict();
570
- var StudioEvaluationStartRequestSchema = import_zod4.z.object({
571
- targetId: import_zod4.z.string().trim().min(1),
572
- name: import_zod4.z.string().trim().min(1).max(200).optional(),
646
+ var StudioEvaluationStartRequestSchema = import_zod5.z.object({
647
+ targetId: import_zod5.z.string().trim().min(1),
648
+ name: import_zod5.z.string().trim().min(1).max(200).optional(),
573
649
  promptSelection: StudioEvalStartRequestSchema.shape.promptSelection,
574
- selection: import_zod4.z.enum(["all", "selected"]),
575
- suites: import_zod4.z.array(
576
- import_zod4.z.object({
577
- suiteId: import_zod4.z.string().min(1),
578
- suiteRevision: import_zod4.z.string().regex(/^[a-f0-9]{64}$/),
579
- caseIds: import_zod4.z.array(import_zod4.z.string().min(1)).min(1).max(100).optional()
650
+ selection: import_zod5.z.enum(["all", "selected"]),
651
+ suites: import_zod5.z.array(
652
+ import_zod5.z.object({
653
+ suiteId: import_zod5.z.string().min(1),
654
+ suiteRevision: import_zod5.z.string().regex(/^[a-f0-9]{64}$/),
655
+ caseIds: import_zod5.z.array(import_zod5.z.string().min(1)).min(1).max(100).optional()
580
656
  }).strict()
581
657
  ).min(1).max(100),
582
- judge: import_zod4.z.enum(["studio", "app"]).default("studio"),
583
- repetitions: import_zod4.z.number().int().min(1).max(20).default(1),
584
- concurrency: import_zod4.z.number().int().min(1).max(20).default(1),
658
+ judge: import_zod5.z.enum(["studio", "app"]).default("studio"),
659
+ repetitions: import_zod5.z.number().int().min(1).max(20).default(1),
660
+ concurrency: import_zod5.z.number().int().min(1).max(20).default(1),
585
661
  metadata: EvaluationMetadataSchema.default({ source: "manual" }),
586
- idempotencyKey: import_zod4.z.string().trim().min(1).max(200).optional()
662
+ idempotencyKey: import_zod5.z.string().trim().min(1).max(200).optional()
587
663
  }).strict();
588
- var StudioEvaluationSummarySchema = import_zod4.z.object({
589
- id: import_zod4.z.uuid(),
590
- name: import_zod4.z.string(),
591
- targetId: import_zod4.z.string(),
592
- targetName: import_zod4.z.string(),
593
- environment: import_zod4.z.string(),
594
- selection: import_zod4.z.enum(["all", "selected"]),
664
+ var StudioEvaluationSummarySchema = import_zod5.z.object({
665
+ id: import_zod5.z.uuid(),
666
+ name: import_zod5.z.string(),
667
+ targetId: import_zod5.z.string(),
668
+ targetName: import_zod5.z.string(),
669
+ environment: import_zod5.z.string(),
670
+ selection: import_zod5.z.enum(["all", "selected"]),
595
671
  metadata: EvaluationMetadataSchema,
596
672
  judge: EvalJudgeIdentitySchema.optional(),
597
673
  status: StudioEvalRunSummarySchema.shape.status,
598
- createdAt: import_zod4.z.string(),
599
- startedAt: import_zod4.z.string().nullable(),
600
- endedAt: import_zod4.z.string().nullable(),
601
- cancelRequestedAt: import_zod4.z.string().nullable(),
602
- suiteCount: import_zod4.z.number().int().nonnegative(),
603
- completedSuites: import_zod4.z.number().int().nonnegative(),
604
- totalAttempts: import_zod4.z.number().int().nonnegative(),
605
- completedAttempts: import_zod4.z.number().int().nonnegative(),
606
- counts: import_zod4.z.object({
607
- passed: import_zod4.z.number(),
608
- failed: import_zod4.z.number(),
609
- error: import_zod4.z.number(),
610
- cancelled: import_zod4.z.number()
674
+ createdAt: import_zod5.z.string(),
675
+ startedAt: import_zod5.z.string().nullable(),
676
+ endedAt: import_zod5.z.string().nullable(),
677
+ cancelRequestedAt: import_zod5.z.string().nullable(),
678
+ suiteCount: import_zod5.z.number().int().nonnegative(),
679
+ completedSuites: import_zod5.z.number().int().nonnegative(),
680
+ totalAttempts: import_zod5.z.number().int().nonnegative(),
681
+ completedAttempts: import_zod5.z.number().int().nonnegative(),
682
+ counts: import_zod5.z.object({
683
+ passed: import_zod5.z.number(),
684
+ failed: import_zod5.z.number(),
685
+ error: import_zod5.z.number(),
686
+ cancelled: import_zod5.z.number()
611
687
  }),
612
688
  costs: EvalCostsSchema.optional(),
613
- legacy: import_zod4.z.boolean().optional()
689
+ legacy: import_zod5.z.boolean().optional()
614
690
  });
615
- var StudioEvaluationHistorySchema = import_zod4.z.object({
616
- runs: import_zod4.z.array(StudioEvaluationSummarySchema)
691
+ var StudioEvaluationHistorySchema = import_zod5.z.object({
692
+ runs: import_zod5.z.array(StudioEvaluationSummarySchema)
617
693
  });
618
- var StudioEvaluationDetailSchema = import_zod4.z.object({
694
+ var StudioEvaluationDetailSchema = import_zod5.z.object({
619
695
  run: StudioEvaluationSummarySchema.extend({
620
- suites: import_zod4.z.array(StudioEvalRunSummarySchema)
696
+ suites: import_zod5.z.array(StudioEvalRunSummarySchema)
621
697
  })
622
698
  });
623
- var StudioEvaluationResultsSchema = import_zod4.z.object({
699
+ var StudioEvaluationResultsSchema = import_zod5.z.object({
624
700
  run: StudioEvaluationSummarySchema.extend({
625
- suites: import_zod4.z.array(StudioEvalDetailSchema.shape.run)
701
+ suites: import_zod5.z.array(StudioEvalDetailSchema.shape.run)
626
702
  })
627
703
  });
628
704
 
@@ -831,6 +907,7 @@ async function createStudioEvalJudge(options) {
831
907
  EvalCostAmountSchema,
832
908
  EvalCostsSchema,
833
909
  EvalEvidencePolicySchema,
910
+ EvalIssueSchema,
834
911
  EvalJudgeIdentitySchema,
835
912
  EvalJudgeUsageSchema,
836
913
  EvalManifestSchema,
@@ -856,6 +933,7 @@ async function createStudioEvalJudge(options) {
856
933
  StudioEvaluationResultsSchema,
857
934
  StudioEvaluationStartRequestSchema,
858
935
  StudioEvaluationSummarySchema,
936
+ createEvalIssue,
859
937
  createStudioEvalJudge,
860
938
  defineSuite,
861
939
  getEvalGradeEvidence,