@kortyx/agent 0.37.0 → 0.37.1

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 CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.37.1](https://github.com/kortyx-io/kortyx/compare/agent-v0.37.0...agent-v0.37.1) (2026-10-13)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **studio:** show available model cost subtotals everywhere ([#335](https://github.com/kortyx-io/kortyx/issues/335)) ([d19cf5d](https://github.com/kortyx-io/kortyx/commit/d19cf5d7716a7649c738373ba2cea1ef64d532e0))
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * The following workspace dependencies were updated
14
+ * dependencies
15
+ * @kortyx/runtime bumped to 0.23.2
16
+ * devDependencies
17
+ * @kortyx/hooks bumped to 0.34.1
18
+
3
19
  ## [0.37.0](https://github.com/kortyx-io/kortyx/compare/agent-v0.36.0...agent-v0.37.0) (2026-10-11)
4
20
 
5
21
 
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 EvalEvidenceEvent, j as EvalEvidenceEventType, k as EvalEvidenceFilters, l as EvalEvidencePolicy, m as EvalEvidencePolicySchema, n as EvalExecution, o as EvalExecutionStatus, p as EvalExpectation, q as EvalGradeInput, r as EvalHandlerRef, s as EvalInterrupt, t as EvalIssue, u as EvalJson, v as EvalJudge, w as EvalJudgeEvidence, x as EvalJudgeIdentity, y as EvalJudgeIdentitySchema, z as EvalJudgeOptions, A as EvalJudgeUsage, B as EvalJudgeUsageSchema, D as EvalManifest, F as EvalManifestSchema, G as EvalObservation, H as EvalObservationSchema, I as EvalOutputExpectation, J as EvalOutputSelector, K as EvalPhase, L as EvalProgress, M as EvalProgressSchema, N as EvalRemoteRunRequest, O as EvalRemoteRunRequestSchema, P as EvalResponder, Q as EvalResumeResponseSchema, R as EvalRunOptions, S as EvalRunResult, T as EvalRunResultSchema, U as EvalRuntimeExecution, V as EvalSetupContext, W as EvalStatus, X as EvalStep, Y as EvalStepResult, Z as EvalStepResultSchema, _ as EvalSuite, $ as EvalSuiteSchema, a0 as EvalVerdict, a1 as EvalVerdictSchema, a2 as EvalWireEvent, a3 as EvalWireEventSchema, a4 as EvaluationMetadataSchema, a5 as StudioEvalJudgeOptions, a6 as StudioEvalJudgeRequestSchema, a7 as StudioEvalJudgeResponseSchema, a8 as StudioEvalStartRequestSchema, a9 as StudioEvaluationDetail, aa as StudioEvaluationDetailSchema, ab as StudioEvaluationHistorySchema, ac as StudioEvaluationResultsSchema, ad as StudioEvaluationStartRequest, ae as StudioEvaluationStartRequestSchema, af as StudioEvaluationSummary, ag as StudioEvaluationSummarySchema, ah as createStudioEvalJudge, ai as defineSuite, aj as getEvalGradeEvidence, ak as parseEvalSuite } from './studio-judge-Brk9R5oB.js';
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 EvalEvidenceEvent, j as EvalEvidenceEventType, k as EvalEvidenceFilters, l as EvalEvidencePolicy, m as EvalEvidencePolicySchema, n as EvalExecution, o as EvalExecutionStatus, p as EvalExpectation, q as EvalGradeInput, r as EvalHandlerRef, s as EvalInterrupt, t as EvalIssue, u as EvalJson, v as EvalJudge, w as EvalJudgeEvidence, x as EvalJudgeIdentity, y as EvalJudgeIdentitySchema, z as EvalJudgeOptions, A as EvalJudgeUsage, B as EvalJudgeUsageSchema, D as EvalManifest, F as EvalManifestSchema, G as EvalObservation, H as EvalObservationSchema, I as EvalOutputExpectation, J as EvalOutputSelector, K as EvalPhase, L as EvalProgress, M as EvalProgressSchema, N as EvalRemoteRunRequest, O as EvalRemoteRunRequestSchema, P as EvalResponder, Q as EvalResumeResponseSchema, R as EvalRunOptions, S as EvalRunResult, T as EvalRunResultSchema, U as EvalRuntimeExecution, V as EvalSetupContext, W as EvalStatus, X as EvalStep, Y as EvalStepResult, Z as EvalStepResultSchema, _ as EvalSuite, $ as EvalSuiteSchema, a0 as EvalVerdict, a1 as EvalVerdictSchema, a2 as EvalWireEvent, a3 as EvalWireEventSchema, a4 as EvaluationMetadataSchema, a5 as StudioEvalJudgeOptions, a6 as StudioEvalJudgeRequestSchema, a7 as StudioEvalJudgeResponseSchema, a8 as StudioEvalStartRequestSchema, a9 as StudioEvaluationDetail, aa as StudioEvaluationDetailSchema, ab as StudioEvaluationHistorySchema, ac as StudioEvaluationResultsSchema, ad as StudioEvaluationStartRequest, ae as StudioEvaluationStartRequestSchema, af as StudioEvaluationSummary, ag as StudioEvaluationSummarySchema, ah as createStudioEvalJudge, ai as defineSuite, aj as getEvalGradeEvidence, ak as parseEvalSuite } from './studio-judge-Dsz6KDY2.js';
2
2
  import { z } from 'zod';
3
3
  import '@kortyx/prompts';
4
4
  import '@kortyx/providers';
@@ -158,6 +158,13 @@ declare const StudioEvalTargetsResponseSchema: z.ZodObject<{
158
158
  }, z.core.$strip>>;
159
159
  }, z.core.$strip>;
160
160
  declare const EvalCostAmountSchema: z.ZodObject<{
161
+ costSummary: z.ZodOptional<z.ZodObject<{
162
+ amounts: z.ZodArray<z.ZodObject<{
163
+ amount: z.ZodNumber;
164
+ currency: z.ZodNullable<z.ZodString>;
165
+ }, z.core.$strip>>;
166
+ complete: z.ZodBoolean;
167
+ }, z.core.$strip>>;
161
168
  amount: z.ZodNullable<z.ZodNumber>;
162
169
  currency: z.ZodNullable<z.ZodString>;
163
170
  status: z.ZodEnum<{
@@ -171,6 +178,13 @@ declare const EvalCostAmountSchema: z.ZodObject<{
171
178
  }, z.core.$strip>;
172
179
  declare const EvalCostsSchema: z.ZodObject<{
173
180
  workflow: z.ZodObject<{
181
+ costSummary: z.ZodOptional<z.ZodObject<{
182
+ amounts: z.ZodArray<z.ZodObject<{
183
+ amount: z.ZodNumber;
184
+ currency: z.ZodNullable<z.ZodString>;
185
+ }, z.core.$strip>>;
186
+ complete: z.ZodBoolean;
187
+ }, z.core.$strip>>;
174
188
  amount: z.ZodNullable<z.ZodNumber>;
175
189
  currency: z.ZodNullable<z.ZodString>;
176
190
  status: z.ZodEnum<{
@@ -183,6 +197,13 @@ declare const EvalCostsSchema: z.ZodObject<{
183
197
  estimated: z.ZodBoolean;
184
198
  }, z.core.$strip>;
185
199
  judge: z.ZodObject<{
200
+ costSummary: z.ZodOptional<z.ZodObject<{
201
+ amounts: z.ZodArray<z.ZodObject<{
202
+ amount: z.ZodNumber;
203
+ currency: z.ZodNullable<z.ZodString>;
204
+ }, z.core.$strip>>;
205
+ complete: z.ZodBoolean;
206
+ }, z.core.$strip>>;
186
207
  amount: z.ZodNullable<z.ZodNumber>;
187
208
  currency: z.ZodNullable<z.ZodString>;
188
209
  status: z.ZodEnum<{
@@ -195,6 +216,13 @@ declare const EvalCostsSchema: z.ZodObject<{
195
216
  estimated: z.ZodBoolean;
196
217
  }, z.core.$strip>;
197
218
  total: z.ZodObject<{
219
+ costSummary: z.ZodOptional<z.ZodObject<{
220
+ amounts: z.ZodArray<z.ZodObject<{
221
+ amount: z.ZodNumber;
222
+ currency: z.ZodNullable<z.ZodString>;
223
+ }, z.core.$strip>>;
224
+ complete: z.ZodBoolean;
225
+ }, z.core.$strip>>;
198
226
  amount: z.ZodNullable<z.ZodNumber>;
199
227
  currency: z.ZodNullable<z.ZodString>;
200
228
  status: z.ZodEnum<{
@@ -232,6 +260,13 @@ declare const StudioEvalRunSummarySchema: z.ZodObject<{
232
260
  cancelRequestedAt: z.ZodNullable<z.ZodString>;
233
261
  costs: z.ZodOptional<z.ZodObject<{
234
262
  workflow: z.ZodObject<{
263
+ costSummary: z.ZodOptional<z.ZodObject<{
264
+ amounts: z.ZodArray<z.ZodObject<{
265
+ amount: z.ZodNumber;
266
+ currency: z.ZodNullable<z.ZodString>;
267
+ }, z.core.$strip>>;
268
+ complete: z.ZodBoolean;
269
+ }, z.core.$strip>>;
235
270
  amount: z.ZodNullable<z.ZodNumber>;
236
271
  currency: z.ZodNullable<z.ZodString>;
237
272
  status: z.ZodEnum<{
@@ -244,6 +279,13 @@ declare const StudioEvalRunSummarySchema: z.ZodObject<{
244
279
  estimated: z.ZodBoolean;
245
280
  }, z.core.$strip>;
246
281
  judge: z.ZodObject<{
282
+ costSummary: z.ZodOptional<z.ZodObject<{
283
+ amounts: z.ZodArray<z.ZodObject<{
284
+ amount: z.ZodNumber;
285
+ currency: z.ZodNullable<z.ZodString>;
286
+ }, z.core.$strip>>;
287
+ complete: z.ZodBoolean;
288
+ }, z.core.$strip>>;
247
289
  amount: z.ZodNullable<z.ZodNumber>;
248
290
  currency: z.ZodNullable<z.ZodString>;
249
291
  status: z.ZodEnum<{
@@ -256,6 +298,13 @@ declare const StudioEvalRunSummarySchema: z.ZodObject<{
256
298
  estimated: z.ZodBoolean;
257
299
  }, z.core.$strip>;
258
300
  total: z.ZodObject<{
301
+ costSummary: z.ZodOptional<z.ZodObject<{
302
+ amounts: z.ZodArray<z.ZodObject<{
303
+ amount: z.ZodNumber;
304
+ currency: z.ZodNullable<z.ZodString>;
305
+ }, z.core.$strip>>;
306
+ complete: z.ZodBoolean;
307
+ }, z.core.$strip>>;
259
308
  amount: z.ZodNullable<z.ZodNumber>;
260
309
  currency: z.ZodNullable<z.ZodString>;
261
310
  status: z.ZodEnum<{
@@ -303,6 +352,13 @@ declare const StudioEvalHistorySchema: z.ZodObject<{
303
352
  cancelRequestedAt: z.ZodNullable<z.ZodString>;
304
353
  costs: z.ZodOptional<z.ZodObject<{
305
354
  workflow: z.ZodObject<{
355
+ costSummary: z.ZodOptional<z.ZodObject<{
356
+ amounts: z.ZodArray<z.ZodObject<{
357
+ amount: z.ZodNumber;
358
+ currency: z.ZodNullable<z.ZodString>;
359
+ }, z.core.$strip>>;
360
+ complete: z.ZodBoolean;
361
+ }, z.core.$strip>>;
306
362
  amount: z.ZodNullable<z.ZodNumber>;
307
363
  currency: z.ZodNullable<z.ZodString>;
308
364
  status: z.ZodEnum<{
@@ -315,6 +371,13 @@ declare const StudioEvalHistorySchema: z.ZodObject<{
315
371
  estimated: z.ZodBoolean;
316
372
  }, z.core.$strip>;
317
373
  judge: z.ZodObject<{
374
+ costSummary: z.ZodOptional<z.ZodObject<{
375
+ amounts: z.ZodArray<z.ZodObject<{
376
+ amount: z.ZodNumber;
377
+ currency: z.ZodNullable<z.ZodString>;
378
+ }, z.core.$strip>>;
379
+ complete: z.ZodBoolean;
380
+ }, z.core.$strip>>;
318
381
  amount: z.ZodNullable<z.ZodNumber>;
319
382
  currency: z.ZodNullable<z.ZodString>;
320
383
  status: z.ZodEnum<{
@@ -327,6 +390,13 @@ declare const StudioEvalHistorySchema: z.ZodObject<{
327
390
  estimated: z.ZodBoolean;
328
391
  }, z.core.$strip>;
329
392
  total: z.ZodObject<{
393
+ costSummary: z.ZodOptional<z.ZodObject<{
394
+ amounts: z.ZodArray<z.ZodObject<{
395
+ amount: z.ZodNumber;
396
+ currency: z.ZodNullable<z.ZodString>;
397
+ }, z.core.$strip>>;
398
+ complete: z.ZodBoolean;
399
+ }, z.core.$strip>>;
330
400
  amount: z.ZodNullable<z.ZodNumber>;
331
401
  currency: z.ZodNullable<z.ZodString>;
332
402
  status: z.ZodEnum<{
@@ -375,6 +445,13 @@ declare const StudioEvalDetailSchema: z.ZodObject<{
375
445
  cancelRequestedAt: z.ZodNullable<z.ZodString>;
376
446
  costs: z.ZodOptional<z.ZodObject<{
377
447
  workflow: z.ZodObject<{
448
+ costSummary: z.ZodOptional<z.ZodObject<{
449
+ amounts: z.ZodArray<z.ZodObject<{
450
+ amount: z.ZodNumber;
451
+ currency: z.ZodNullable<z.ZodString>;
452
+ }, z.core.$strip>>;
453
+ complete: z.ZodBoolean;
454
+ }, z.core.$strip>>;
378
455
  amount: z.ZodNullable<z.ZodNumber>;
379
456
  currency: z.ZodNullable<z.ZodString>;
380
457
  status: z.ZodEnum<{
@@ -387,6 +464,13 @@ declare const StudioEvalDetailSchema: z.ZodObject<{
387
464
  estimated: z.ZodBoolean;
388
465
  }, z.core.$strip>;
389
466
  judge: z.ZodObject<{
467
+ costSummary: z.ZodOptional<z.ZodObject<{
468
+ amounts: z.ZodArray<z.ZodObject<{
469
+ amount: z.ZodNumber;
470
+ currency: z.ZodNullable<z.ZodString>;
471
+ }, z.core.$strip>>;
472
+ complete: z.ZodBoolean;
473
+ }, z.core.$strip>>;
390
474
  amount: z.ZodNullable<z.ZodNumber>;
391
475
  currency: z.ZodNullable<z.ZodString>;
392
476
  status: z.ZodEnum<{
@@ -399,6 +483,13 @@ declare const StudioEvalDetailSchema: z.ZodObject<{
399
483
  estimated: z.ZodBoolean;
400
484
  }, z.core.$strip>;
401
485
  total: z.ZodObject<{
486
+ costSummary: z.ZodOptional<z.ZodObject<{
487
+ amounts: z.ZodArray<z.ZodObject<{
488
+ amount: z.ZodNumber;
489
+ currency: z.ZodNullable<z.ZodString>;
490
+ }, z.core.$strip>>;
491
+ complete: z.ZodBoolean;
492
+ }, z.core.$strip>>;
402
493
  amount: z.ZodNullable<z.ZodNumber>;
403
494
  currency: z.ZodNullable<z.ZodString>;
404
495
  status: z.ZodEnum<{
@@ -423,6 +514,13 @@ declare const StudioEvalDetailSchema: z.ZodObject<{
423
514
  phase: z.ZodOptional<z.ZodString>;
424
515
  caseCosts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
425
516
  workflow: z.ZodObject<{
517
+ costSummary: z.ZodOptional<z.ZodObject<{
518
+ amounts: z.ZodArray<z.ZodObject<{
519
+ amount: z.ZodNumber;
520
+ currency: z.ZodNullable<z.ZodString>;
521
+ }, z.core.$strip>>;
522
+ complete: z.ZodBoolean;
523
+ }, z.core.$strip>>;
426
524
  amount: z.ZodNullable<z.ZodNumber>;
427
525
  currency: z.ZodNullable<z.ZodString>;
428
526
  status: z.ZodEnum<{
@@ -435,6 +533,13 @@ declare const StudioEvalDetailSchema: z.ZodObject<{
435
533
  estimated: z.ZodBoolean;
436
534
  }, z.core.$strip>;
437
535
  judge: z.ZodObject<{
536
+ costSummary: z.ZodOptional<z.ZodObject<{
537
+ amounts: z.ZodArray<z.ZodObject<{
538
+ amount: z.ZodNumber;
539
+ currency: z.ZodNullable<z.ZodString>;
540
+ }, z.core.$strip>>;
541
+ complete: z.ZodBoolean;
542
+ }, z.core.$strip>>;
438
543
  amount: z.ZodNullable<z.ZodNumber>;
439
544
  currency: z.ZodNullable<z.ZodString>;
440
545
  status: z.ZodEnum<{
@@ -447,6 +552,13 @@ declare const StudioEvalDetailSchema: z.ZodObject<{
447
552
  estimated: z.ZodBoolean;
448
553
  }, z.core.$strip>;
449
554
  total: z.ZodObject<{
555
+ costSummary: z.ZodOptional<z.ZodObject<{
556
+ amounts: z.ZodArray<z.ZodObject<{
557
+ amount: z.ZodNumber;
558
+ currency: z.ZodNullable<z.ZodString>;
559
+ }, z.core.$strip>>;
560
+ complete: z.ZodBoolean;
561
+ }, z.core.$strip>>;
450
562
  amount: z.ZodNullable<z.ZodNumber>;
451
563
  currency: z.ZodNullable<z.ZodString>;
452
564
  status: z.ZodEnum<{
package/dist/evals.js CHANGED
@@ -479,6 +479,15 @@ var StudioEvalTargetsResponseSchema = import_zod3.z.object({
479
479
  )
480
480
  });
481
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()
487
+ })
488
+ ),
489
+ complete: import_zod3.z.boolean()
490
+ }).optional(),
482
491
  amount: import_zod3.z.number().finite().nonnegative().nullable(),
483
492
  currency: import_zod3.z.string().nullable(),
484
493
  status: import_zod3.z.enum(["complete", "partial", "unavailable"]),
package/dist/evals.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/evals.ts","../src/evals/contracts.ts","../src/evals/evidence-policy.ts","../src/evals/define-suite.ts","../src/evals/evaluation-contracts.ts","../src/evals/studio-contracts.ts","../src/evals/evidence.ts","../src/evals/studio-judge.ts"],"sourcesContent":["export * from \"./evals/contracts\";\nexport { defineSuite } from \"./evals/define-suite\";\nexport * from \"./evals/evaluation-contracts\";\nexport { getEvalGradeEvidence } from \"./evals/evidence\";\nexport { EvalEvidencePolicySchema } from \"./evals/evidence-policy\";\nexport * from \"./evals/studio-contracts\";\nexport { createStudioEvalJudge } from \"./evals/studio-judge\";\nexport type * from \"./evals/types\";\n","import { PromptSnapshotSchema } from \"@kortyx/prompts/browser\";\nimport { z } from \"zod\";\nimport { EvalEvidencePolicySchema } from \"./evidence-policy\";\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 evidence: EvalEvidencePolicySchema.optional(),\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 promptUsage: z\n .array(\n z\n .object({\n id: z.string(),\n version: z.number().int().positive(),\n hash: z.string().regex(/^[a-f0-9]{64}$/),\n environment: z.string(),\n snapshotRevision: z.string(),\n model: z.string().optional(),\n })\n .strict(),\n )\n .optional(),\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 evidence: z\n .object({\n version: z.literal(\"compact-v1\"),\n history: z.boolean(),\n observation: EvalObservationSchema,\n })\n .strict()\n .optional(),\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();\nconst runtimeExecution = z\n .object({ sessionId: z.string().min(1), runId: z.string().min(1) })\n .strict();\nexport const EvalCaseResultSchema = z\n .object({\n caseId: id,\n repetition: z.number().int().positive(),\n attemptId: z.uuid().optional(),\n runtimeExecutions: z.array(runtimeExecution).optional(),\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 promptContracts: z\n .array(\n z\n .object({\n id: z.string(),\n format: z.enum([\"system-user\", \"chat\"]),\n variablesSchema: z.record(z.string(), z.unknown()),\n configSchema: z.record(z.string(), z.unknown()),\n })\n .strict(),\n )\n .optional(),\n attemptScheduling: 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(\"case-runtime-associated\"),\n caseId: id,\n repetition: z.number().int().positive(),\n attemptId: z.uuid(),\n execution: runtimeExecution,\n })\n .strict(),\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 attemptId: z.uuid().optional(),\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 promptSnapshot: PromptSnapshotSchema.optional(),\n promptGroupName: z.string().optional(),\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(20).default(1),\n attempt: z\n .object({\n caseId: id,\n repetition: z.number().int().min(1).max(20),\n evaluationId: z.uuid(),\n })\n .strict()\n .optional(),\n })\n .strict();\nexport const StudioEvalStartRequestSchema = EvalRemoteRunRequestSchema.omit({\n grading: true,\n judge: true,\n promptSnapshot: true,\n promptGroupName: true,\n attempt: true,\n}).extend({\n promptSelection: z\n .discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"live\") }).strict(),\n z\n .object({\n type: z.literal(\"single\"),\n id: z.string(),\n version: z.number().int().positive(),\n })\n .strict(),\n z.object({ type: z.literal(\"group\"), groupId: z.uuid() }).strict(),\n ])\n .optional(),\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 { z } from \"zod\";\n\n/** Public events retained after streaming noise has been removed. */\nexport const EVAL_EVIDENCE_EVENT_TYPES = [\n \"tool-call-start\",\n \"tool-call-result\",\n \"tool-call-error\",\n \"tool-result\",\n \"structured-data\",\n \"structured-data-invalidated\",\n \"interrupt\",\n \"error\",\n \"cancelled\",\n \"limit-reached\",\n] as const;\n\nconst id = z.string().trim().min(1).max(256);\nconst filter = z.object({ using: id, params: z.json().optional() }).strict();\nexport const EvalEvidencePolicySchema = z\n .object({\n history: z.boolean().optional(),\n events: z\n .union([\n z.literal(false),\n z.array(z.enum(EVAL_EVIDENCE_EVENT_TYPES)),\n filter,\n ])\n .optional(),\n outputs: z\n .union([\n z.literal(false),\n z.array(\n z\n .object({\n dataType: id.optional(),\n schemaId: id.optional(),\n schemaVersion: id.optional(),\n })\n .strict()\n .refine((value) => Boolean(value.dataType || value.schemaId), {\n message: \"Select an output by dataType or schemaId.\",\n }),\n ),\n filter,\n ])\n .optional(),\n })\n .strict();\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 StudioEvalStartRequestSchema,\n} 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 promptSelection: StudioEvalStartRequestSchema.shape.promptSelection,\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(20).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 { PromptSnapshotSchema } from \"@kortyx/prompts/browser\";\nimport { 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 promptSnapshot: PromptSnapshotSchema.optional(),\n promptGroupName: z.string().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 { EvalConfigurationError } from \"./contracts\";\nimport { EVAL_EVIDENCE_EVENT_TYPES } from \"./evidence-policy\";\nimport type {\n EvalEvidenceEvent,\n EvalEvidenceFilters,\n EvalEvidencePolicy,\n EvalHandlerRef,\n EvalJson,\n EvalJudgeEvidence,\n EvalObservation,\n EvalStepResult,\n} from \"./types\";\n\nconst object = (\n value: EvalJson,\n): value is { readonly [key: string]: EvalJson } =>\n value !== null && typeof value === \"object\" && !Array.isArray(value);\nconst handler = (value: unknown): value is EvalHandlerRef =>\n value !== null && typeof value === \"object\" && \"using\" in value;\n\nexport function validateEvidenceFilters(\n policy: EvalEvidencePolicy,\n filters: EvalEvidenceFilters,\n): void {\n for (const key of [\"events\", \"outputs\"] as const) {\n const selection = policy[key];\n if (\n handler(selection) &&\n (!Object.hasOwn(filters[key] ?? {}, selection.using) ||\n typeof filters[key]?.[selection.using] !== \"function\")\n )\n throw new EvalConfigurationError(\n `Unknown ${key} evidence filter: ${selection.using}`,\n );\n }\n}\n\nfunction predicate<T>(\n filter: ((value: T, params?: EvalJson) => boolean) | undefined,\n value: T,\n params?: EvalJson,\n): boolean {\n if (!filter)\n throw new EvalConfigurationError(\"Evidence filter is not registered.\");\n const selected = filter(\n structuredClone(value),\n params === undefined ? undefined : structuredClone(params),\n );\n if (typeof selected !== \"boolean\")\n throw new Error(\"Evidence filters must return a boolean synchronously.\");\n return selected;\n}\n\n/** Never infer presentation, summarize facts, or truncate tool results. */\nexport function compactEvalObservation(\n observation: EvalObservation,\n policy: EvalEvidencePolicy = {},\n filters: EvalEvidenceFilters = {},\n): EvalObservation {\n const outputs = policy.outputs;\n const includeOutput = (output: EvalJson): boolean => {\n if (outputs === false) return false;\n if (handler(outputs))\n return predicate(\n filters.outputs?.[outputs.using],\n output,\n outputs.params,\n );\n if (!outputs) return true;\n return (\n object(output) &&\n outputs.some((selector) =>\n Object.entries(selector).every(([key, value]) => output[key] === value),\n )\n );\n };\n const selectedOutputs = observation.structured.map((output) => ({\n output,\n included: includeOutput(output),\n }));\n const structured = selectedOutputs\n .filter((item) => item.included)\n .map((item) => item.output);\n const events = observation.events\n ?.filter((value): value is EvalEvidenceEvent => {\n if (\n !object(value) ||\n !EVAL_EVIDENCE_EVENT_TYPES.some((type) => type === value.type)\n )\n return false;\n if (value.type === \"structured-data\") {\n if (value.kind !== \"final\") return false;\n // Reuse the decision for the canonical envelope, even when its event copy\n // carries different source metadata. A rejected output must not leak back in.\n const current = selectedOutputs.find(\n ({ output: item }) =>\n object(item) &&\n typeof value.streamId === \"string\" &&\n item.streamId === value.streamId &&\n item.status === \"done\" &&\n item.dataType === value.dataType &&\n item.schemaId === value.schemaId &&\n item.schemaVersion === value.schemaVersion &&\n JSON.stringify(item.data) === JSON.stringify(value.data),\n );\n if (current) {\n if (!current.included) return false;\n // Keep finals around invalidation boundaries in their original order.\n if (\n !observation.events?.some(\n (event) =>\n object(event) &&\n event.type === \"structured-data-invalidated\" &&\n event.streamId === value.streamId,\n )\n )\n return false;\n } else {\n const { type: _type, kind: _kind, ...fields } = value;\n if (!includeOutput({ ...fields, status: \"done\" })) return false;\n }\n }\n return true;\n })\n .filter((event) => {\n const selection = policy.events;\n if (selection === false) return false;\n if (handler(selection))\n return predicate(\n filters.events?.[selection.using],\n event,\n selection.params,\n );\n return !selection || selection.includes(event.type);\n });\n return structuredClone({\n ...observation,\n structured,\n ...(events ? { events } : {}),\n });\n}\n\nexport function createEvalJudgeEvidence(\n observation: EvalObservation,\n policy: EvalEvidencePolicy = {},\n filters: EvalEvidenceFilters = {},\n): EvalJudgeEvidence {\n return {\n version: \"compact-v1\",\n history: policy.history ?? true,\n observation: compactEvalObservation(observation, policy, filters),\n };\n}\n\n/** Shared by local grading and Studio replay. Never expose the original evidence via history. */\nexport function getEvalGradeEvidence(\n step: EvalStepResult,\n previous: readonly EvalStepResult[],\n): {\n observation: EvalObservation;\n conversation: EvalStepResult[];\n} {\n const evidence = step.evidence ?? createEvalJudgeEvidence(step.observation);\n return {\n observation: structuredClone(evidence.observation),\n conversation: evidence.history\n ? previous.map((prior) => {\n const { evidence: selected, ...result } = prior;\n return structuredClone({\n ...result,\n observation:\n selected?.observation ??\n compactEvalObservation(prior.observation),\n });\n })\n : [],\n };\n}\n","import {\n EvalConfigurationError,\n EvalJudgeIdentitySchema,\n StudioEvalJudgeRequestSchema,\n StudioEvalJudgeResponseSchema,\n} from \"./contracts\";\nimport { compactEvalObservation } from \"./evidence\";\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: compactEvalObservation(input.observation),\n reference: input.reference,\n conversation: input.conversation.map(\n ({ evidence: _evidence, ...step }) => ({\n ...step,\n observation: compactEvalObservation(step.observation),\n }),\n ),\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","id","import_zod","import_browser","import_zod","handler","filter","handler","signal"]}
1
+ {"version":3,"sources":["../src/evals.ts","../src/evals/contracts.ts","../src/evals/evidence-policy.ts","../src/evals/define-suite.ts","../src/evals/evaluation-contracts.ts","../src/evals/studio-contracts.ts","../src/evals/evidence.ts","../src/evals/studio-judge.ts"],"sourcesContent":["export * from \"./evals/contracts\";\nexport { defineSuite } from \"./evals/define-suite\";\nexport * from \"./evals/evaluation-contracts\";\nexport { getEvalGradeEvidence } from \"./evals/evidence\";\nexport { EvalEvidencePolicySchema } from \"./evals/evidence-policy\";\nexport * from \"./evals/studio-contracts\";\nexport { createStudioEvalJudge } from \"./evals/studio-judge\";\nexport type * from \"./evals/types\";\n","import { PromptSnapshotSchema } from \"@kortyx/prompts/browser\";\nimport { z } from \"zod\";\nimport { EvalEvidencePolicySchema } from \"./evidence-policy\";\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 evidence: EvalEvidencePolicySchema.optional(),\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 promptUsage: z\n .array(\n z\n .object({\n id: z.string(),\n version: z.number().int().positive(),\n hash: z.string().regex(/^[a-f0-9]{64}$/),\n environment: z.string(),\n snapshotRevision: z.string(),\n model: z.string().optional(),\n })\n .strict(),\n )\n .optional(),\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 evidence: z\n .object({\n version: z.literal(\"compact-v1\"),\n history: z.boolean(),\n observation: EvalObservationSchema,\n })\n .strict()\n .optional(),\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();\nconst runtimeExecution = z\n .object({ sessionId: z.string().min(1), runId: z.string().min(1) })\n .strict();\nexport const EvalCaseResultSchema = z\n .object({\n caseId: id,\n repetition: z.number().int().positive(),\n attemptId: z.uuid().optional(),\n runtimeExecutions: z.array(runtimeExecution).optional(),\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 promptContracts: z\n .array(\n z\n .object({\n id: z.string(),\n format: z.enum([\"system-user\", \"chat\"]),\n variablesSchema: z.record(z.string(), z.unknown()),\n configSchema: z.record(z.string(), z.unknown()),\n })\n .strict(),\n )\n .optional(),\n attemptScheduling: 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(\"case-runtime-associated\"),\n caseId: id,\n repetition: z.number().int().positive(),\n attemptId: z.uuid(),\n execution: runtimeExecution,\n })\n .strict(),\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 attemptId: z.uuid().optional(),\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 promptSnapshot: PromptSnapshotSchema.optional(),\n promptGroupName: z.string().optional(),\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(20).default(1),\n attempt: z\n .object({\n caseId: id,\n repetition: z.number().int().min(1).max(20),\n evaluationId: z.uuid(),\n })\n .strict()\n .optional(),\n })\n .strict();\nexport const StudioEvalStartRequestSchema = EvalRemoteRunRequestSchema.omit({\n grading: true,\n judge: true,\n promptSnapshot: true,\n promptGroupName: true,\n attempt: true,\n}).extend({\n promptSelection: z\n .discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"live\") }).strict(),\n z\n .object({\n type: z.literal(\"single\"),\n id: z.string(),\n version: z.number().int().positive(),\n })\n .strict(),\n z.object({ type: z.literal(\"group\"), groupId: z.uuid() }).strict(),\n ])\n .optional(),\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 { z } from \"zod\";\n\n/** Public events retained after streaming noise has been removed. */\nexport const EVAL_EVIDENCE_EVENT_TYPES = [\n \"tool-call-start\",\n \"tool-call-result\",\n \"tool-call-error\",\n \"tool-result\",\n \"structured-data\",\n \"structured-data-invalidated\",\n \"interrupt\",\n \"error\",\n \"cancelled\",\n \"limit-reached\",\n] as const;\n\nconst id = z.string().trim().min(1).max(256);\nconst filter = z.object({ using: id, params: z.json().optional() }).strict();\nexport const EvalEvidencePolicySchema = z\n .object({\n history: z.boolean().optional(),\n events: z\n .union([\n z.literal(false),\n z.array(z.enum(EVAL_EVIDENCE_EVENT_TYPES)),\n filter,\n ])\n .optional(),\n outputs: z\n .union([\n z.literal(false),\n z.array(\n z\n .object({\n dataType: id.optional(),\n schemaId: id.optional(),\n schemaVersion: id.optional(),\n })\n .strict()\n .refine((value) => Boolean(value.dataType || value.schemaId), {\n message: \"Select an output by dataType or schemaId.\",\n }),\n ),\n filter,\n ])\n .optional(),\n })\n .strict();\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 StudioEvalStartRequestSchema,\n} 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 promptSelection: StudioEvalStartRequestSchema.shape.promptSelection,\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(20).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 { PromptSnapshotSchema } from \"@kortyx/prompts/browser\";\nimport { 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 costSummary: z\n .object({\n amounts: z.array(\n z.object({\n amount: z.number().finite().nonnegative(),\n currency: z.string().nullable(),\n }),\n ),\n complete: z.boolean(),\n })\n .optional(),\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 promptSnapshot: PromptSnapshotSchema.optional(),\n promptGroupName: z.string().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 { EvalConfigurationError } from \"./contracts\";\nimport { EVAL_EVIDENCE_EVENT_TYPES } from \"./evidence-policy\";\nimport type {\n EvalEvidenceEvent,\n EvalEvidenceFilters,\n EvalEvidencePolicy,\n EvalHandlerRef,\n EvalJson,\n EvalJudgeEvidence,\n EvalObservation,\n EvalStepResult,\n} from \"./types\";\n\nconst object = (\n value: EvalJson,\n): value is { readonly [key: string]: EvalJson } =>\n value !== null && typeof value === \"object\" && !Array.isArray(value);\nconst handler = (value: unknown): value is EvalHandlerRef =>\n value !== null && typeof value === \"object\" && \"using\" in value;\n\nexport function validateEvidenceFilters(\n policy: EvalEvidencePolicy,\n filters: EvalEvidenceFilters,\n): void {\n for (const key of [\"events\", \"outputs\"] as const) {\n const selection = policy[key];\n if (\n handler(selection) &&\n (!Object.hasOwn(filters[key] ?? {}, selection.using) ||\n typeof filters[key]?.[selection.using] !== \"function\")\n )\n throw new EvalConfigurationError(\n `Unknown ${key} evidence filter: ${selection.using}`,\n );\n }\n}\n\nfunction predicate<T>(\n filter: ((value: T, params?: EvalJson) => boolean) | undefined,\n value: T,\n params?: EvalJson,\n): boolean {\n if (!filter)\n throw new EvalConfigurationError(\"Evidence filter is not registered.\");\n const selected = filter(\n structuredClone(value),\n params === undefined ? undefined : structuredClone(params),\n );\n if (typeof selected !== \"boolean\")\n throw new Error(\"Evidence filters must return a boolean synchronously.\");\n return selected;\n}\n\n/** Never infer presentation, summarize facts, or truncate tool results. */\nexport function compactEvalObservation(\n observation: EvalObservation,\n policy: EvalEvidencePolicy = {},\n filters: EvalEvidenceFilters = {},\n): EvalObservation {\n const outputs = policy.outputs;\n const includeOutput = (output: EvalJson): boolean => {\n if (outputs === false) return false;\n if (handler(outputs))\n return predicate(\n filters.outputs?.[outputs.using],\n output,\n outputs.params,\n );\n if (!outputs) return true;\n return (\n object(output) &&\n outputs.some((selector) =>\n Object.entries(selector).every(([key, value]) => output[key] === value),\n )\n );\n };\n const selectedOutputs = observation.structured.map((output) => ({\n output,\n included: includeOutput(output),\n }));\n const structured = selectedOutputs\n .filter((item) => item.included)\n .map((item) => item.output);\n const events = observation.events\n ?.filter((value): value is EvalEvidenceEvent => {\n if (\n !object(value) ||\n !EVAL_EVIDENCE_EVENT_TYPES.some((type) => type === value.type)\n )\n return false;\n if (value.type === \"structured-data\") {\n if (value.kind !== \"final\") return false;\n // Reuse the decision for the canonical envelope, even when its event copy\n // carries different source metadata. A rejected output must not leak back in.\n const current = selectedOutputs.find(\n ({ output: item }) =>\n object(item) &&\n typeof value.streamId === \"string\" &&\n item.streamId === value.streamId &&\n item.status === \"done\" &&\n item.dataType === value.dataType &&\n item.schemaId === value.schemaId &&\n item.schemaVersion === value.schemaVersion &&\n JSON.stringify(item.data) === JSON.stringify(value.data),\n );\n if (current) {\n if (!current.included) return false;\n // Keep finals around invalidation boundaries in their original order.\n if (\n !observation.events?.some(\n (event) =>\n object(event) &&\n event.type === \"structured-data-invalidated\" &&\n event.streamId === value.streamId,\n )\n )\n return false;\n } else {\n const { type: _type, kind: _kind, ...fields } = value;\n if (!includeOutput({ ...fields, status: \"done\" })) return false;\n }\n }\n return true;\n })\n .filter((event) => {\n const selection = policy.events;\n if (selection === false) return false;\n if (handler(selection))\n return predicate(\n filters.events?.[selection.using],\n event,\n selection.params,\n );\n return !selection || selection.includes(event.type);\n });\n return structuredClone({\n ...observation,\n structured,\n ...(events ? { events } : {}),\n });\n}\n\nexport function createEvalJudgeEvidence(\n observation: EvalObservation,\n policy: EvalEvidencePolicy = {},\n filters: EvalEvidenceFilters = {},\n): EvalJudgeEvidence {\n return {\n version: \"compact-v1\",\n history: policy.history ?? true,\n observation: compactEvalObservation(observation, policy, filters),\n };\n}\n\n/** Shared by local grading and Studio replay. Never expose the original evidence via history. */\nexport function getEvalGradeEvidence(\n step: EvalStepResult,\n previous: readonly EvalStepResult[],\n): {\n observation: EvalObservation;\n conversation: EvalStepResult[];\n} {\n const evidence = step.evidence ?? createEvalJudgeEvidence(step.observation);\n return {\n observation: structuredClone(evidence.observation),\n conversation: evidence.history\n ? previous.map((prior) => {\n const { evidence: selected, ...result } = prior;\n return structuredClone({\n ...result,\n observation:\n selected?.observation ??\n compactEvalObservation(prior.observation),\n });\n })\n : [],\n };\n}\n","import {\n EvalConfigurationError,\n EvalJudgeIdentitySchema,\n StudioEvalJudgeRequestSchema,\n StudioEvalJudgeResponseSchema,\n} from \"./contracts\";\nimport { compactEvalObservation } from \"./evidence\";\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: compactEvalObservation(input.observation),\n reference: input.reference,\n conversation: input.conversation.map(\n ({ evidence: _evidence, ...step }) => ({\n ...step,\n observation: compactEvalObservation(step.observation),\n }),\n ),\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","id","import_zod","import_browser","import_zod","handler","filter","handler","signal"]}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { al as ChatLifecyclePhase, am as ChatLifecycleHookError, an as Agent, ao as ChatResponseFinalized, u as EvalJson, C as CreateEvalsOptions, _ as EvalSuite, R as EvalRunOptions, S as EvalRunResult, z as EvalJudgeOptions, v as EvalJudge, x as EvalJudgeIdentity } from './studio-judge-Brk9R5oB.js';
2
- export { ap as AgentProcessOptions, aq as AgentProjectTopologyOptions, ar as ChatResponseStatus, as 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 EvalEvidenceEvent, j as EvalEvidenceEventType, k as EvalEvidenceFilters, l as EvalEvidencePolicy, m as EvalEvidencePolicySchema, n as EvalExecution, o as EvalExecutionStatus, p as EvalExpectation, q as EvalGradeInput, r as EvalHandlerRef, s as EvalInterrupt, t as EvalIssue, w as EvalJudgeEvidence, y as EvalJudgeIdentitySchema, A as EvalJudgeUsage, B as EvalJudgeUsageSchema, D as EvalManifest, F as EvalManifestSchema, G as EvalObservation, I as EvalOutputExpectation, J as EvalOutputSelector, K as EvalPhase, L as EvalProgress, M as EvalProgressSchema, N as EvalRemoteRunRequest, O as EvalRemoteRunRequestSchema, P as EvalResponder, T as EvalRunResultSchema, U as EvalRuntimeExecution, V as EvalSetupContext, W as EvalStatus, X as EvalStep, Y as EvalStepResult, $ as EvalSuiteSchema, a0 as EvalVerdict, a2 as EvalWireEvent, a3 as EvalWireEventSchema, a4 as EvaluationMetadataSchema, at as ExecutableWorkflow, au as ExecuteOptions, av as ExecutionInfo, aw as ExecutionInterrupt, ax as ExecutionRequestError, ay as ExecutionResult, az as InterruptScope, aA as ListInterruptsOptions, aB as PendingInterrupt, aC as ResumableInterrupt, aD as ResumeHandle, aE as ResumeOptions, aF as ResumeResponse, a5 as StudioEvalJudgeOptions, a6 as StudioEvalJudgeRequestSchema, a7 as StudioEvalJudgeResponseSchema, a8 as StudioEvalStartRequestSchema, a9 as StudioEvaluationDetail, aa as StudioEvaluationDetailSchema, ab as StudioEvaluationHistorySchema, ac as StudioEvaluationResultsSchema, ad as StudioEvaluationStartRequest, ae as StudioEvaluationStartRequestSchema, af as StudioEvaluationSummary, ag as StudioEvaluationSummarySchema, aG as createAgent, ah as createStudioEvalJudge, ai as defineSuite, aj as getEvalGradeEvidence, ak as parseEvalSuite, aH as projectWorkflowTopology } from './studio-judge-Brk9R5oB.js';
1
+ import { al as ChatLifecyclePhase, am as ChatLifecycleHookError, an as Agent, ao as ChatResponseFinalized, u as EvalJson, C as CreateEvalsOptions, _ as EvalSuite, R as EvalRunOptions, S as EvalRunResult, z as EvalJudgeOptions, v as EvalJudge, x as EvalJudgeIdentity } from './studio-judge-Dsz6KDY2.js';
2
+ export { ap as AgentProcessOptions, aq as AgentProjectTopologyOptions, ar as ChatResponseStatus, as 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 EvalEvidenceEvent, j as EvalEvidenceEventType, k as EvalEvidenceFilters, l as EvalEvidencePolicy, m as EvalEvidencePolicySchema, n as EvalExecution, o as EvalExecutionStatus, p as EvalExpectation, q as EvalGradeInput, r as EvalHandlerRef, s as EvalInterrupt, t as EvalIssue, w as EvalJudgeEvidence, y as EvalJudgeIdentitySchema, A as EvalJudgeUsage, B as EvalJudgeUsageSchema, D as EvalManifest, F as EvalManifestSchema, G as EvalObservation, I as EvalOutputExpectation, J as EvalOutputSelector, K as EvalPhase, L as EvalProgress, M as EvalProgressSchema, N as EvalRemoteRunRequest, O as EvalRemoteRunRequestSchema, P as EvalResponder, T as EvalRunResultSchema, U as EvalRuntimeExecution, V as EvalSetupContext, W as EvalStatus, X as EvalStep, Y as EvalStepResult, $ as EvalSuiteSchema, a0 as EvalVerdict, a2 as EvalWireEvent, a3 as EvalWireEventSchema, a4 as EvaluationMetadataSchema, at as ExecutableWorkflow, au as ExecuteOptions, av as ExecutionInfo, aw as ExecutionInterrupt, ax as ExecutionRequestError, ay as ExecutionResult, az as InterruptScope, aA as ListInterruptsOptions, aB as PendingInterrupt, aC as ResumableInterrupt, aD as ResumeHandle, aE as ResumeOptions, aF as ResumeResponse, a5 as StudioEvalJudgeOptions, a6 as StudioEvalJudgeRequestSchema, a7 as StudioEvalJudgeResponseSchema, a8 as StudioEvalStartRequestSchema, a9 as StudioEvaluationDetail, aa as StudioEvaluationDetailSchema, ab as StudioEvaluationHistorySchema, ac as StudioEvaluationResultsSchema, ad as StudioEvaluationStartRequest, ae as StudioEvaluationStartRequestSchema, af as StudioEvaluationSummary, ag as StudioEvaluationSummarySchema, aG as createAgent, ah as createStudioEvalJudge, ai as defineSuite, aj as getEvalGradeEvidence, ak as parseEvalSuite, aH as projectWorkflowTopology } from './studio-judge-Dsz6KDY2.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';