@artemiskit/core 0.2.4 → 0.4.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.
Files changed (81) hide show
  1. package/CHANGELOG.md +137 -0
  2. package/README.md +4 -0
  3. package/dist/adapters/registry.d.ts.map +1 -1
  4. package/dist/adapters/types.d.ts +50 -2
  5. package/dist/adapters/types.d.ts.map +1 -1
  6. package/dist/agent-evaluation/index.d.ts +3 -0
  7. package/dist/agent-evaluation/index.d.ts.map +1 -0
  8. package/dist/agent-evaluation/scorer.d.ts +35 -0
  9. package/dist/agent-evaluation/scorer.d.ts.map +1 -0
  10. package/dist/agent-evaluation/types.d.ts +37 -0
  11. package/dist/agent-evaluation/types.d.ts.map +1 -0
  12. package/dist/artifacts/manifest.d.ts.map +1 -1
  13. package/dist/artifacts/types.d.ts +54 -0
  14. package/dist/artifacts/types.d.ts.map +1 -1
  15. package/dist/evaluators/index.d.ts +1 -0
  16. package/dist/evaluators/index.d.ts.map +1 -1
  17. package/dist/evaluators/json-schema.d.ts +0 -1
  18. package/dist/evaluators/json-schema.d.ts.map +1 -1
  19. package/dist/evaluators/llm-grader.d.ts +2 -0
  20. package/dist/evaluators/llm-grader.d.ts.map +1 -1
  21. package/dist/evaluators/tool-trace.d.ts +7 -0
  22. package/dist/evaluators/tool-trace.d.ts.map +1 -0
  23. package/dist/evaluators/types.d.ts +20 -0
  24. package/dist/evaluators/types.d.ts.map +1 -1
  25. package/dist/index.d.ts +2 -0
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +19964 -12482
  28. package/dist/runner/executor.d.ts.map +1 -1
  29. package/dist/runner/runner.d.ts.map +1 -1
  30. package/dist/runner/types.d.ts +4 -0
  31. package/dist/runner/types.d.ts.map +1 -1
  32. package/dist/scenario/schema.d.ts +789 -99
  33. package/dist/scenario/schema.d.ts.map +1 -1
  34. package/dist/storage/supabase.d.ts +26 -5
  35. package/dist/storage/supabase.d.ts.map +1 -1
  36. package/dist/storage/types.d.ts +167 -1
  37. package/dist/storage/types.d.ts.map +1 -1
  38. package/dist/tools/fixture-executor.d.ts +10 -0
  39. package/dist/tools/fixture-executor.d.ts.map +1 -0
  40. package/dist/tools/index.d.ts +4 -0
  41. package/dist/tools/index.d.ts.map +1 -0
  42. package/dist/tools/schema-validator.d.ts +10 -0
  43. package/dist/tools/schema-validator.d.ts.map +1 -0
  44. package/dist/tools/types.d.ts +50 -0
  45. package/dist/tools/types.d.ts.map +1 -0
  46. package/package.json +2 -1
  47. package/src/adapters/registry.ts +45 -0
  48. package/src/adapters/types.test.ts +21 -0
  49. package/src/adapters/types.ts +56 -0
  50. package/src/agent-evaluation/index.ts +2 -0
  51. package/src/agent-evaluation/scorer.test.ts +1194 -0
  52. package/src/agent-evaluation/scorer.ts +640 -0
  53. package/src/agent-evaluation/types.test.ts +27 -0
  54. package/src/agent-evaluation/types.ts +43 -0
  55. package/src/artifacts/manifest.test.ts +66 -19
  56. package/src/artifacts/manifest.ts +18 -5
  57. package/src/artifacts/types.ts +65 -0
  58. package/src/evaluators/index.ts +3 -0
  59. package/src/evaluators/json-schema.test.ts +130 -0
  60. package/src/evaluators/json-schema.ts +38 -63
  61. package/src/evaluators/llm-grader.test.ts +80 -0
  62. package/src/evaluators/llm-grader.ts +44 -6
  63. package/src/evaluators/tool-trace.test.ts +46 -0
  64. package/src/evaluators/tool-trace.ts +50 -0
  65. package/src/evaluators/types.ts +20 -0
  66. package/src/index.ts +6 -0
  67. package/src/runner/executor.test.ts +340 -0
  68. package/src/runner/executor.ts +289 -20
  69. package/src/runner/release-validation.test.ts +169 -0
  70. package/src/runner/runner.ts +5 -1
  71. package/src/runner/types.ts +4 -0
  72. package/src/scenario/schema.ts +66 -1
  73. package/src/storage/supabase.test.ts +1052 -0
  74. package/src/storage/supabase.ts +614 -5
  75. package/src/storage/types.ts +207 -1
  76. package/src/tools/fixture-executor.test.ts +88 -0
  77. package/src/tools/fixture-executor.ts +112 -0
  78. package/src/tools/index.ts +3 -0
  79. package/src/tools/schema-validator.test.ts +32 -0
  80. package/src/tools/schema-validator.ts +56 -0
  81. package/src/tools/types.ts +80 -0
@@ -5,7 +5,7 @@ import { z } from 'zod';
5
5
  /**
6
6
  * Provider schema - supports all providers
7
7
  */
8
- export declare const ProviderSchema: z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "custom"]>;
8
+ export declare const ProviderSchema: z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "langchain", "deepagents", "ling", "custom"]>;
9
9
  /**
10
10
  * Provider config schema - optional overrides for provider settings
11
11
  * Supports ${ENV_VAR} and ${ENV_VAR:-default} syntax for values
@@ -24,7 +24,24 @@ export declare const ProviderConfigSchema: z.ZodOptional<z.ZodObject<{
24
24
  embeddingDeploymentName: z.ZodOptional<z.ZodString>;
25
25
  modelFamily: z.ZodOptional<z.ZodString>;
26
26
  underlyingProvider: z.ZodOptional<z.ZodEnum<["openai", "azure", "anthropic", "google", "mistral"]>>;
27
+ name: z.ZodOptional<z.ZodString>;
28
+ runnableType: z.ZodOptional<z.ZodEnum<["chain", "agent", "llm", "runnable"]>>;
29
+ captureTraces: z.ZodOptional<z.ZodBoolean>;
30
+ captureMessages: z.ZodOptional<z.ZodBoolean>;
31
+ thinking: z.ZodOptional<z.ZodObject<{
32
+ type: z.ZodEnum<["enabled", "disabled"]>;
33
+ }, "strip", z.ZodTypeAny, {
34
+ type: "enabled" | "disabled";
35
+ }, {
36
+ type: "enabled" | "disabled";
37
+ }>>;
38
+ enableSearch: z.ZodOptional<z.ZodBoolean>;
39
+ searchOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
27
40
  }, "strip", z.ZodTypeAny, {
41
+ thinking?: {
42
+ type: "enabled" | "disabled";
43
+ } | undefined;
44
+ name?: string | undefined;
28
45
  apiKey?: string | undefined;
29
46
  baseUrl?: string | undefined;
30
47
  defaultModel?: string | undefined;
@@ -37,7 +54,16 @@ export declare const ProviderConfigSchema: z.ZodOptional<z.ZodObject<{
37
54
  embeddingDeploymentName?: string | undefined;
38
55
  modelFamily?: string | undefined;
39
56
  underlyingProvider?: "openai" | "anthropic" | "google" | "mistral" | "azure" | undefined;
57
+ runnableType?: "chain" | "agent" | "llm" | "runnable" | undefined;
58
+ captureTraces?: boolean | undefined;
59
+ captureMessages?: boolean | undefined;
60
+ enableSearch?: boolean | undefined;
61
+ searchOptions?: Record<string, unknown> | undefined;
40
62
  }, {
63
+ thinking?: {
64
+ type: "enabled" | "disabled";
65
+ } | undefined;
66
+ name?: string | undefined;
41
67
  apiKey?: string | undefined;
42
68
  baseUrl?: string | undefined;
43
69
  defaultModel?: string | undefined;
@@ -50,6 +76,11 @@ export declare const ProviderConfigSchema: z.ZodOptional<z.ZodObject<{
50
76
  embeddingDeploymentName?: string | undefined;
51
77
  modelFamily?: string | undefined;
52
78
  underlyingProvider?: "openai" | "anthropic" | "google" | "mistral" | "azure" | undefined;
79
+ runnableType?: "chain" | "agent" | "llm" | "runnable" | undefined;
80
+ captureTraces?: boolean | undefined;
81
+ captureMessages?: boolean | undefined;
82
+ enableSearch?: boolean | undefined;
83
+ searchOptions?: Record<string, unknown> | undefined;
53
84
  }>>;
54
85
  /**
55
86
  * Expected result types - how to evaluate responses
@@ -95,18 +126,22 @@ export declare const ExpectedSchema: z.ZodUnion<[z.ZodDiscriminatedUnion<"type",
95
126
  type: z.ZodLiteral<"llm_grader">;
96
127
  rubric: z.ZodString;
97
128
  model: z.ZodOptional<z.ZodString>;
98
- provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "custom"]>>;
129
+ provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "langchain", "deepagents", "ling", "custom"]>>;
99
130
  threshold: z.ZodDefault<z.ZodNumber>;
131
+ /** Require exact, validated JSON from the judge for assurance assessments. */
132
+ strict: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
100
133
  }, "strip", z.ZodTypeAny, {
101
134
  type: "llm_grader";
135
+ strict: boolean;
102
136
  threshold: number;
103
137
  rubric: string;
104
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
138
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
105
139
  model?: string | undefined;
106
140
  }, {
107
141
  type: "llm_grader";
108
142
  rubric: string;
109
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
143
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
144
+ strict?: boolean | undefined;
110
145
  threshold?: number | undefined;
111
146
  model?: string | undefined;
112
147
  }>, z.ZodObject<{
@@ -154,6 +189,24 @@ export declare const ExpectedSchema: z.ZodUnion<[z.ZodDiscriminatedUnion<"type",
154
189
  type: "custom";
155
190
  evaluator: string;
156
191
  config?: Record<string, unknown> | undefined;
192
+ }>, z.ZodObject<{
193
+ type: z.ZodLiteral<"tool_trace">;
194
+ requiredTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
195
+ forbiddenTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
196
+ ordered: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
197
+ maxCalls: z.ZodOptional<z.ZodNumber>;
198
+ }, "strip", z.ZodTypeAny, {
199
+ type: "tool_trace";
200
+ ordered: boolean;
201
+ requiredTools?: string[] | undefined;
202
+ forbiddenTools?: string[] | undefined;
203
+ maxCalls?: number | undefined;
204
+ }, {
205
+ type: "tool_trace";
206
+ requiredTools?: string[] | undefined;
207
+ forbiddenTools?: string[] | undefined;
208
+ ordered?: boolean | undefined;
209
+ maxCalls?: number | undefined;
157
210
  }>, z.ZodObject<{
158
211
  type: z.ZodLiteral<"similarity">;
159
212
  value: z.ZodString;
@@ -169,14 +222,14 @@ export declare const ExpectedSchema: z.ZodUnion<[z.ZodDiscriminatedUnion<"type",
169
222
  type: "similarity";
170
223
  threshold: number;
171
224
  model?: string | undefined;
172
- mode?: "embedding" | "llm" | undefined;
225
+ mode?: "llm" | "embedding" | undefined;
173
226
  embeddingModel?: string | undefined;
174
227
  }, {
175
228
  value: string;
176
229
  type: "similarity";
177
230
  threshold?: number | undefined;
178
231
  model?: string | undefined;
179
- mode?: "embedding" | "llm" | undefined;
232
+ mode?: "llm" | "embedding" | undefined;
180
233
  embeddingModel?: string | undefined;
181
234
  }>, z.ZodObject<{
182
235
  type: z.ZodLiteral<"inline">;
@@ -233,18 +286,22 @@ export declare const ExpectedSchema: z.ZodUnion<[z.ZodDiscriminatedUnion<"type",
233
286
  type: z.ZodLiteral<"llm_grader">;
234
287
  rubric: z.ZodString;
235
288
  model: z.ZodOptional<z.ZodString>;
236
- provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "custom"]>>;
289
+ provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "langchain", "deepagents", "ling", "custom"]>>;
237
290
  threshold: z.ZodDefault<z.ZodNumber>;
291
+ /** Require exact, validated JSON from the judge for assurance assessments. */
292
+ strict: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
238
293
  }, "strip", z.ZodTypeAny, {
239
294
  type: "llm_grader";
295
+ strict: boolean;
240
296
  threshold: number;
241
297
  rubric: string;
242
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
298
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
243
299
  model?: string | undefined;
244
300
  }, {
245
301
  type: "llm_grader";
246
302
  rubric: string;
247
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
303
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
304
+ strict?: boolean | undefined;
248
305
  threshold?: number | undefined;
249
306
  model?: string | undefined;
250
307
  }>, z.ZodObject<{
@@ -292,6 +349,24 @@ export declare const ExpectedSchema: z.ZodUnion<[z.ZodDiscriminatedUnion<"type",
292
349
  type: "custom";
293
350
  evaluator: string;
294
351
  config?: Record<string, unknown> | undefined;
352
+ }>, z.ZodObject<{
353
+ type: z.ZodLiteral<"tool_trace">;
354
+ requiredTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
355
+ forbiddenTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
356
+ ordered: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
357
+ maxCalls: z.ZodOptional<z.ZodNumber>;
358
+ }, "strip", z.ZodTypeAny, {
359
+ type: "tool_trace";
360
+ ordered: boolean;
361
+ requiredTools?: string[] | undefined;
362
+ forbiddenTools?: string[] | undefined;
363
+ maxCalls?: number | undefined;
364
+ }, {
365
+ type: "tool_trace";
366
+ requiredTools?: string[] | undefined;
367
+ forbiddenTools?: string[] | undefined;
368
+ ordered?: boolean | undefined;
369
+ maxCalls?: number | undefined;
295
370
  }>, z.ZodObject<{
296
371
  type: z.ZodLiteral<"similarity">;
297
372
  value: z.ZodString;
@@ -307,14 +382,14 @@ export declare const ExpectedSchema: z.ZodUnion<[z.ZodDiscriminatedUnion<"type",
307
382
  type: "similarity";
308
383
  threshold: number;
309
384
  model?: string | undefined;
310
- mode?: "embedding" | "llm" | undefined;
385
+ mode?: "llm" | "embedding" | undefined;
311
386
  embeddingModel?: string | undefined;
312
387
  }, {
313
388
  value: string;
314
389
  type: "similarity";
315
390
  threshold?: number | undefined;
316
391
  model?: string | undefined;
317
- mode?: "embedding" | "llm" | undefined;
392
+ mode?: "llm" | "embedding" | undefined;
318
393
  embeddingModel?: string | undefined;
319
394
  }>, z.ZodObject<{
320
395
  type: z.ZodLiteral<"inline">;
@@ -346,9 +421,10 @@ export declare const ExpectedSchema: z.ZodUnion<[z.ZodDiscriminatedUnion<"type",
346
421
  threshold: number;
347
422
  } | {
348
423
  type: "llm_grader";
424
+ strict: boolean;
349
425
  threshold: number;
350
426
  rubric: string;
351
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
427
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
352
428
  model?: string | undefined;
353
429
  } | {
354
430
  values: string[];
@@ -365,12 +441,18 @@ export declare const ExpectedSchema: z.ZodUnion<[z.ZodDiscriminatedUnion<"type",
365
441
  type: "custom";
366
442
  evaluator: string;
367
443
  config?: Record<string, unknown> | undefined;
444
+ } | {
445
+ type: "tool_trace";
446
+ ordered: boolean;
447
+ requiredTools?: string[] | undefined;
448
+ forbiddenTools?: string[] | undefined;
449
+ maxCalls?: number | undefined;
368
450
  } | {
369
451
  value: string;
370
452
  type: "similarity";
371
453
  threshold: number;
372
454
  model?: string | undefined;
373
- mode?: "embedding" | "llm" | undefined;
455
+ mode?: "llm" | "embedding" | undefined;
374
456
  embeddingModel?: string | undefined;
375
457
  } | {
376
458
  type: "inline";
@@ -395,7 +477,8 @@ export declare const ExpectedSchema: z.ZodUnion<[z.ZodDiscriminatedUnion<"type",
395
477
  } | {
396
478
  type: "llm_grader";
397
479
  rubric: string;
398
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
480
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
481
+ strict?: boolean | undefined;
399
482
  threshold?: number | undefined;
400
483
  model?: string | undefined;
401
484
  } | {
@@ -413,12 +496,18 @@ export declare const ExpectedSchema: z.ZodUnion<[z.ZodDiscriminatedUnion<"type",
413
496
  type: "custom";
414
497
  evaluator: string;
415
498
  config?: Record<string, unknown> | undefined;
499
+ } | {
500
+ type: "tool_trace";
501
+ requiredTools?: string[] | undefined;
502
+ forbiddenTools?: string[] | undefined;
503
+ ordered?: boolean | undefined;
504
+ maxCalls?: number | undefined;
416
505
  } | {
417
506
  value: string;
418
507
  type: "similarity";
419
508
  threshold?: number | undefined;
420
509
  model?: string | undefined;
421
- mode?: "embedding" | "llm" | undefined;
510
+ mode?: "llm" | "embedding" | undefined;
422
511
  embeddingModel?: string | undefined;
423
512
  } | {
424
513
  type: "inline";
@@ -430,14 +519,64 @@ export declare const ExpectedSchema: z.ZodUnion<[z.ZodDiscriminatedUnion<"type",
430
519
  * Chat message schema
431
520
  */
432
521
  export declare const ChatMessageSchema: z.ZodObject<{
433
- role: z.ZodEnum<["system", "user", "assistant"]>;
522
+ role: z.ZodEnum<["system", "user", "assistant", "tool"]>;
434
523
  content: z.ZodString;
524
+ name: z.ZodOptional<z.ZodString>;
525
+ toolCallId: z.ZodOptional<z.ZodString>;
526
+ tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
527
+ id: z.ZodString;
528
+ type: z.ZodLiteral<"function">;
529
+ function: z.ZodObject<{
530
+ name: z.ZodString;
531
+ arguments: z.ZodString;
532
+ }, "strip", z.ZodTypeAny, {
533
+ name: string;
534
+ arguments: string;
535
+ }, {
536
+ name: string;
537
+ arguments: string;
538
+ }>;
539
+ }, "strip", z.ZodTypeAny, {
540
+ function: {
541
+ name: string;
542
+ arguments: string;
543
+ };
544
+ type: "function";
545
+ id: string;
546
+ }, {
547
+ function: {
548
+ name: string;
549
+ arguments: string;
550
+ };
551
+ type: "function";
552
+ id: string;
553
+ }>, "many">>;
435
554
  }, "strip", z.ZodTypeAny, {
436
- role: "system" | "user" | "assistant";
555
+ role: "system" | "user" | "assistant" | "tool";
437
556
  content: string;
557
+ tool_calls?: {
558
+ function: {
559
+ name: string;
560
+ arguments: string;
561
+ };
562
+ type: "function";
563
+ id: string;
564
+ }[] | undefined;
565
+ name?: string | undefined;
566
+ toolCallId?: string | undefined;
438
567
  }, {
439
- role: "system" | "user" | "assistant";
568
+ role: "system" | "user" | "assistant" | "tool";
440
569
  content: string;
570
+ tool_calls?: {
571
+ function: {
572
+ name: string;
573
+ arguments: string;
574
+ };
575
+ type: "function";
576
+ id: string;
577
+ }[] | undefined;
578
+ name?: string | undefined;
579
+ toolCallId?: string | undefined;
441
580
  }>;
442
581
  /**
443
582
  * Variables schema - key-value pairs for template substitution
@@ -477,14 +616,64 @@ export declare const TestCaseSchema: z.ZodObject<{
477
616
  name: z.ZodOptional<z.ZodString>;
478
617
  description: z.ZodOptional<z.ZodString>;
479
618
  prompt: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
480
- role: z.ZodEnum<["system", "user", "assistant"]>;
619
+ role: z.ZodEnum<["system", "user", "assistant", "tool"]>;
481
620
  content: z.ZodString;
621
+ name: z.ZodOptional<z.ZodString>;
622
+ toolCallId: z.ZodOptional<z.ZodString>;
623
+ tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
624
+ id: z.ZodString;
625
+ type: z.ZodLiteral<"function">;
626
+ function: z.ZodObject<{
627
+ name: z.ZodString;
628
+ arguments: z.ZodString;
629
+ }, "strip", z.ZodTypeAny, {
630
+ name: string;
631
+ arguments: string;
632
+ }, {
633
+ name: string;
634
+ arguments: string;
635
+ }>;
636
+ }, "strip", z.ZodTypeAny, {
637
+ function: {
638
+ name: string;
639
+ arguments: string;
640
+ };
641
+ type: "function";
642
+ id: string;
643
+ }, {
644
+ function: {
645
+ name: string;
646
+ arguments: string;
647
+ };
648
+ type: "function";
649
+ id: string;
650
+ }>, "many">>;
482
651
  }, "strip", z.ZodTypeAny, {
483
- role: "system" | "user" | "assistant";
652
+ role: "system" | "user" | "assistant" | "tool";
484
653
  content: string;
654
+ tool_calls?: {
655
+ function: {
656
+ name: string;
657
+ arguments: string;
658
+ };
659
+ type: "function";
660
+ id: string;
661
+ }[] | undefined;
662
+ name?: string | undefined;
663
+ toolCallId?: string | undefined;
485
664
  }, {
486
- role: "system" | "user" | "assistant";
665
+ role: "system" | "user" | "assistant" | "tool";
487
666
  content: string;
667
+ tool_calls?: {
668
+ function: {
669
+ name: string;
670
+ arguments: string;
671
+ };
672
+ type: "function";
673
+ id: string;
674
+ }[] | undefined;
675
+ name?: string | undefined;
676
+ toolCallId?: string | undefined;
488
677
  }>, "many">]>;
489
678
  expected: z.ZodUnion<[z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
490
679
  type: z.ZodLiteral<"exact">;
@@ -526,18 +715,22 @@ export declare const TestCaseSchema: z.ZodObject<{
526
715
  type: z.ZodLiteral<"llm_grader">;
527
716
  rubric: z.ZodString;
528
717
  model: z.ZodOptional<z.ZodString>;
529
- provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "custom"]>>;
718
+ provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "langchain", "deepagents", "ling", "custom"]>>;
530
719
  threshold: z.ZodDefault<z.ZodNumber>;
720
+ /** Require exact, validated JSON from the judge for assurance assessments. */
721
+ strict: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
531
722
  }, "strip", z.ZodTypeAny, {
532
723
  type: "llm_grader";
724
+ strict: boolean;
533
725
  threshold: number;
534
726
  rubric: string;
535
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
727
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
536
728
  model?: string | undefined;
537
729
  }, {
538
730
  type: "llm_grader";
539
731
  rubric: string;
540
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
732
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
733
+ strict?: boolean | undefined;
541
734
  threshold?: number | undefined;
542
735
  model?: string | undefined;
543
736
  }>, z.ZodObject<{
@@ -585,6 +778,24 @@ export declare const TestCaseSchema: z.ZodObject<{
585
778
  type: "custom";
586
779
  evaluator: string;
587
780
  config?: Record<string, unknown> | undefined;
781
+ }>, z.ZodObject<{
782
+ type: z.ZodLiteral<"tool_trace">;
783
+ requiredTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
784
+ forbiddenTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
785
+ ordered: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
786
+ maxCalls: z.ZodOptional<z.ZodNumber>;
787
+ }, "strip", z.ZodTypeAny, {
788
+ type: "tool_trace";
789
+ ordered: boolean;
790
+ requiredTools?: string[] | undefined;
791
+ forbiddenTools?: string[] | undefined;
792
+ maxCalls?: number | undefined;
793
+ }, {
794
+ type: "tool_trace";
795
+ requiredTools?: string[] | undefined;
796
+ forbiddenTools?: string[] | undefined;
797
+ ordered?: boolean | undefined;
798
+ maxCalls?: number | undefined;
588
799
  }>, z.ZodObject<{
589
800
  type: z.ZodLiteral<"similarity">;
590
801
  value: z.ZodString;
@@ -600,14 +811,14 @@ export declare const TestCaseSchema: z.ZodObject<{
600
811
  type: "similarity";
601
812
  threshold: number;
602
813
  model?: string | undefined;
603
- mode?: "embedding" | "llm" | undefined;
814
+ mode?: "llm" | "embedding" | undefined;
604
815
  embeddingModel?: string | undefined;
605
816
  }, {
606
817
  value: string;
607
818
  type: "similarity";
608
819
  threshold?: number | undefined;
609
820
  model?: string | undefined;
610
- mode?: "embedding" | "llm" | undefined;
821
+ mode?: "llm" | "embedding" | undefined;
611
822
  embeddingModel?: string | undefined;
612
823
  }>, z.ZodObject<{
613
824
  type: z.ZodLiteral<"inline">;
@@ -664,18 +875,22 @@ export declare const TestCaseSchema: z.ZodObject<{
664
875
  type: z.ZodLiteral<"llm_grader">;
665
876
  rubric: z.ZodString;
666
877
  model: z.ZodOptional<z.ZodString>;
667
- provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "custom"]>>;
878
+ provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "langchain", "deepagents", "ling", "custom"]>>;
668
879
  threshold: z.ZodDefault<z.ZodNumber>;
880
+ /** Require exact, validated JSON from the judge for assurance assessments. */
881
+ strict: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
669
882
  }, "strip", z.ZodTypeAny, {
670
883
  type: "llm_grader";
884
+ strict: boolean;
671
885
  threshold: number;
672
886
  rubric: string;
673
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
887
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
674
888
  model?: string | undefined;
675
889
  }, {
676
890
  type: "llm_grader";
677
891
  rubric: string;
678
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
892
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
893
+ strict?: boolean | undefined;
679
894
  threshold?: number | undefined;
680
895
  model?: string | undefined;
681
896
  }>, z.ZodObject<{
@@ -723,6 +938,24 @@ export declare const TestCaseSchema: z.ZodObject<{
723
938
  type: "custom";
724
939
  evaluator: string;
725
940
  config?: Record<string, unknown> | undefined;
941
+ }>, z.ZodObject<{
942
+ type: z.ZodLiteral<"tool_trace">;
943
+ requiredTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
944
+ forbiddenTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
945
+ ordered: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
946
+ maxCalls: z.ZodOptional<z.ZodNumber>;
947
+ }, "strip", z.ZodTypeAny, {
948
+ type: "tool_trace";
949
+ ordered: boolean;
950
+ requiredTools?: string[] | undefined;
951
+ forbiddenTools?: string[] | undefined;
952
+ maxCalls?: number | undefined;
953
+ }, {
954
+ type: "tool_trace";
955
+ requiredTools?: string[] | undefined;
956
+ forbiddenTools?: string[] | undefined;
957
+ ordered?: boolean | undefined;
958
+ maxCalls?: number | undefined;
726
959
  }>, z.ZodObject<{
727
960
  type: z.ZodLiteral<"similarity">;
728
961
  value: z.ZodString;
@@ -738,14 +971,14 @@ export declare const TestCaseSchema: z.ZodObject<{
738
971
  type: "similarity";
739
972
  threshold: number;
740
973
  model?: string | undefined;
741
- mode?: "embedding" | "llm" | undefined;
974
+ mode?: "llm" | "embedding" | undefined;
742
975
  embeddingModel?: string | undefined;
743
976
  }, {
744
977
  value: string;
745
978
  type: "similarity";
746
979
  threshold?: number | undefined;
747
980
  model?: string | undefined;
748
- mode?: "embedding" | "llm" | undefined;
981
+ mode?: "llm" | "embedding" | undefined;
749
982
  embeddingModel?: string | undefined;
750
983
  }>, z.ZodObject<{
751
984
  type: z.ZodLiteral<"inline">;
@@ -777,9 +1010,10 @@ export declare const TestCaseSchema: z.ZodObject<{
777
1010
  threshold: number;
778
1011
  } | {
779
1012
  type: "llm_grader";
1013
+ strict: boolean;
780
1014
  threshold: number;
781
1015
  rubric: string;
782
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
1016
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
783
1017
  model?: string | undefined;
784
1018
  } | {
785
1019
  values: string[];
@@ -796,12 +1030,18 @@ export declare const TestCaseSchema: z.ZodObject<{
796
1030
  type: "custom";
797
1031
  evaluator: string;
798
1032
  config?: Record<string, unknown> | undefined;
1033
+ } | {
1034
+ type: "tool_trace";
1035
+ ordered: boolean;
1036
+ requiredTools?: string[] | undefined;
1037
+ forbiddenTools?: string[] | undefined;
1038
+ maxCalls?: number | undefined;
799
1039
  } | {
800
1040
  value: string;
801
1041
  type: "similarity";
802
1042
  threshold: number;
803
1043
  model?: string | undefined;
804
- mode?: "embedding" | "llm" | undefined;
1044
+ mode?: "llm" | "embedding" | undefined;
805
1045
  embeddingModel?: string | undefined;
806
1046
  } | {
807
1047
  type: "inline";
@@ -826,7 +1066,8 @@ export declare const TestCaseSchema: z.ZodObject<{
826
1066
  } | {
827
1067
  type: "llm_grader";
828
1068
  rubric: string;
829
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
1069
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
1070
+ strict?: boolean | undefined;
830
1071
  threshold?: number | undefined;
831
1072
  model?: string | undefined;
832
1073
  } | {
@@ -844,12 +1085,18 @@ export declare const TestCaseSchema: z.ZodObject<{
844
1085
  type: "custom";
845
1086
  evaluator: string;
846
1087
  config?: Record<string, unknown> | undefined;
1088
+ } | {
1089
+ type: "tool_trace";
1090
+ requiredTools?: string[] | undefined;
1091
+ forbiddenTools?: string[] | undefined;
1092
+ ordered?: boolean | undefined;
1093
+ maxCalls?: number | undefined;
847
1094
  } | {
848
1095
  value: string;
849
1096
  type: "similarity";
850
1097
  threshold?: number | undefined;
851
1098
  model?: string | undefined;
852
- mode?: "embedding" | "llm" | undefined;
1099
+ mode?: "llm" | "embedding" | undefined;
853
1100
  embeddingModel?: string | undefined;
854
1101
  } | {
855
1102
  type: "inline";
@@ -861,7 +1108,7 @@ export declare const TestCaseSchema: z.ZodObject<{
861
1108
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
862
1109
  timeout: z.ZodOptional<z.ZodNumber>;
863
1110
  retries: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
864
- provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "custom"]>>;
1111
+ provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "langchain", "deepagents", "ling", "custom"]>>;
865
1112
  model: z.ZodOptional<z.ZodString>;
866
1113
  variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
867
1114
  /** Case-level redaction config (overrides scenario-level) */
@@ -888,6 +1135,7 @@ export declare const TestCaseSchema: z.ZodObject<{
888
1135
  replacement?: string | undefined;
889
1136
  }>>;
890
1137
  }, "strip", z.ZodTypeAny, {
1138
+ metadata: Record<string, unknown>;
891
1139
  expected: {
892
1140
  value: string;
893
1141
  type: "exact";
@@ -902,9 +1150,10 @@ export declare const TestCaseSchema: z.ZodObject<{
902
1150
  threshold: number;
903
1151
  } | {
904
1152
  type: "llm_grader";
1153
+ strict: boolean;
905
1154
  threshold: number;
906
1155
  rubric: string;
907
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
1156
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
908
1157
  model?: string | undefined;
909
1158
  } | {
910
1159
  values: string[];
@@ -921,12 +1170,18 @@ export declare const TestCaseSchema: z.ZodObject<{
921
1170
  type: "custom";
922
1171
  evaluator: string;
923
1172
  config?: Record<string, unknown> | undefined;
1173
+ } | {
1174
+ type: "tool_trace";
1175
+ ordered: boolean;
1176
+ requiredTools?: string[] | undefined;
1177
+ forbiddenTools?: string[] | undefined;
1178
+ maxCalls?: number | undefined;
924
1179
  } | {
925
1180
  value: string;
926
1181
  type: "similarity";
927
1182
  threshold: number;
928
1183
  model?: string | undefined;
929
- mode?: "embedding" | "llm" | undefined;
1184
+ mode?: "llm" | "embedding" | undefined;
930
1185
  embeddingModel?: string | undefined;
931
1186
  } | {
932
1187
  type: "inline";
@@ -949,9 +1204,10 @@ export declare const TestCaseSchema: z.ZodObject<{
949
1204
  threshold: number;
950
1205
  } | {
951
1206
  type: "llm_grader";
1207
+ strict: boolean;
952
1208
  threshold: number;
953
1209
  rubric: string;
954
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
1210
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
955
1211
  model?: string | undefined;
956
1212
  } | {
957
1213
  values: string[];
@@ -968,12 +1224,18 @@ export declare const TestCaseSchema: z.ZodObject<{
968
1224
  type: "custom";
969
1225
  evaluator: string;
970
1226
  config?: Record<string, unknown> | undefined;
1227
+ } | {
1228
+ type: "tool_trace";
1229
+ ordered: boolean;
1230
+ requiredTools?: string[] | undefined;
1231
+ forbiddenTools?: string[] | undefined;
1232
+ maxCalls?: number | undefined;
971
1233
  } | {
972
1234
  value: string;
973
1235
  type: "similarity";
974
1236
  threshold: number;
975
1237
  model?: string | undefined;
976
- mode?: "embedding" | "llm" | undefined;
1238
+ mode?: "llm" | "embedding" | undefined;
977
1239
  embeddingModel?: string | undefined;
978
1240
  } | {
979
1241
  type: "inline";
@@ -983,14 +1245,23 @@ export declare const TestCaseSchema: z.ZodObject<{
983
1245
  };
984
1246
  id: string;
985
1247
  prompt: string | {
986
- role: "system" | "user" | "assistant";
1248
+ role: "system" | "user" | "assistant" | "tool";
987
1249
  content: string;
1250
+ tool_calls?: {
1251
+ function: {
1252
+ name: string;
1253
+ arguments: string;
1254
+ };
1255
+ type: "function";
1256
+ id: string;
1257
+ }[] | undefined;
1258
+ name?: string | undefined;
1259
+ toolCallId?: string | undefined;
988
1260
  }[];
989
1261
  tags: string[];
990
- metadata: Record<string, unknown>;
991
1262
  retries: number;
992
1263
  name?: string | undefined;
993
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
1264
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
994
1265
  timeout?: number | undefined;
995
1266
  model?: string | undefined;
996
1267
  description?: string | undefined;
@@ -1019,7 +1290,8 @@ export declare const TestCaseSchema: z.ZodObject<{
1019
1290
  } | {
1020
1291
  type: "llm_grader";
1021
1292
  rubric: string;
1022
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
1293
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
1294
+ strict?: boolean | undefined;
1023
1295
  threshold?: number | undefined;
1024
1296
  model?: string | undefined;
1025
1297
  } | {
@@ -1037,12 +1309,18 @@ export declare const TestCaseSchema: z.ZodObject<{
1037
1309
  type: "custom";
1038
1310
  evaluator: string;
1039
1311
  config?: Record<string, unknown> | undefined;
1312
+ } | {
1313
+ type: "tool_trace";
1314
+ requiredTools?: string[] | undefined;
1315
+ forbiddenTools?: string[] | undefined;
1316
+ ordered?: boolean | undefined;
1317
+ maxCalls?: number | undefined;
1040
1318
  } | {
1041
1319
  value: string;
1042
1320
  type: "similarity";
1043
1321
  threshold?: number | undefined;
1044
1322
  model?: string | undefined;
1045
- mode?: "embedding" | "llm" | undefined;
1323
+ mode?: "llm" | "embedding" | undefined;
1046
1324
  embeddingModel?: string | undefined;
1047
1325
  } | {
1048
1326
  type: "inline";
@@ -1066,7 +1344,8 @@ export declare const TestCaseSchema: z.ZodObject<{
1066
1344
  } | {
1067
1345
  type: "llm_grader";
1068
1346
  rubric: string;
1069
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
1347
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
1348
+ strict?: boolean | undefined;
1070
1349
  threshold?: number | undefined;
1071
1350
  model?: string | undefined;
1072
1351
  } | {
@@ -1084,12 +1363,18 @@ export declare const TestCaseSchema: z.ZodObject<{
1084
1363
  type: "custom";
1085
1364
  evaluator: string;
1086
1365
  config?: Record<string, unknown> | undefined;
1366
+ } | {
1367
+ type: "tool_trace";
1368
+ requiredTools?: string[] | undefined;
1369
+ forbiddenTools?: string[] | undefined;
1370
+ ordered?: boolean | undefined;
1371
+ maxCalls?: number | undefined;
1087
1372
  } | {
1088
1373
  value: string;
1089
1374
  type: "similarity";
1090
1375
  threshold?: number | undefined;
1091
1376
  model?: string | undefined;
1092
- mode?: "embedding" | "llm" | undefined;
1377
+ mode?: "llm" | "embedding" | undefined;
1093
1378
  embeddingModel?: string | undefined;
1094
1379
  } | {
1095
1380
  type: "inline";
@@ -1099,16 +1384,26 @@ export declare const TestCaseSchema: z.ZodObject<{
1099
1384
  };
1100
1385
  id: string;
1101
1386
  prompt: string | {
1102
- role: "system" | "user" | "assistant";
1387
+ role: "system" | "user" | "assistant" | "tool";
1103
1388
  content: string;
1389
+ tool_calls?: {
1390
+ function: {
1391
+ name: string;
1392
+ arguments: string;
1393
+ };
1394
+ type: "function";
1395
+ id: string;
1396
+ }[] | undefined;
1397
+ name?: string | undefined;
1398
+ toolCallId?: string | undefined;
1104
1399
  }[];
1105
1400
  name?: string | undefined;
1106
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
1401
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
1402
+ metadata?: Record<string, unknown> | undefined;
1107
1403
  timeout?: number | undefined;
1108
1404
  model?: string | undefined;
1109
1405
  description?: string | undefined;
1110
1406
  tags?: string[] | undefined;
1111
- metadata?: Record<string, unknown> | undefined;
1112
1407
  retries?: number | undefined;
1113
1408
  variables?: Record<string, string | number | boolean> | undefined;
1114
1409
  redaction?: {
@@ -1127,7 +1422,7 @@ export declare const ScenarioSchema: z.ZodObject<{
1127
1422
  name: z.ZodString;
1128
1423
  description: z.ZodOptional<z.ZodString>;
1129
1424
  version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1130
- provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "custom"]>>;
1425
+ provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "langchain", "deepagents", "ling", "custom"]>>;
1131
1426
  model: z.ZodOptional<z.ZodString>;
1132
1427
  providerConfig: z.ZodOptional<z.ZodObject<{
1133
1428
  apiKey: z.ZodOptional<z.ZodString>;
@@ -1142,7 +1437,24 @@ export declare const ScenarioSchema: z.ZodObject<{
1142
1437
  embeddingDeploymentName: z.ZodOptional<z.ZodString>;
1143
1438
  modelFamily: z.ZodOptional<z.ZodString>;
1144
1439
  underlyingProvider: z.ZodOptional<z.ZodEnum<["openai", "azure", "anthropic", "google", "mistral"]>>;
1440
+ name: z.ZodOptional<z.ZodString>;
1441
+ runnableType: z.ZodOptional<z.ZodEnum<["chain", "agent", "llm", "runnable"]>>;
1442
+ captureTraces: z.ZodOptional<z.ZodBoolean>;
1443
+ captureMessages: z.ZodOptional<z.ZodBoolean>;
1444
+ thinking: z.ZodOptional<z.ZodObject<{
1445
+ type: z.ZodEnum<["enabled", "disabled"]>;
1446
+ }, "strip", z.ZodTypeAny, {
1447
+ type: "enabled" | "disabled";
1448
+ }, {
1449
+ type: "enabled" | "disabled";
1450
+ }>>;
1451
+ enableSearch: z.ZodOptional<z.ZodBoolean>;
1452
+ searchOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1145
1453
  }, "strip", z.ZodTypeAny, {
1454
+ thinking?: {
1455
+ type: "enabled" | "disabled";
1456
+ } | undefined;
1457
+ name?: string | undefined;
1146
1458
  apiKey?: string | undefined;
1147
1459
  baseUrl?: string | undefined;
1148
1460
  defaultModel?: string | undefined;
@@ -1155,7 +1467,16 @@ export declare const ScenarioSchema: z.ZodObject<{
1155
1467
  embeddingDeploymentName?: string | undefined;
1156
1468
  modelFamily?: string | undefined;
1157
1469
  underlyingProvider?: "openai" | "anthropic" | "google" | "mistral" | "azure" | undefined;
1470
+ runnableType?: "chain" | "agent" | "llm" | "runnable" | undefined;
1471
+ captureTraces?: boolean | undefined;
1472
+ captureMessages?: boolean | undefined;
1473
+ enableSearch?: boolean | undefined;
1474
+ searchOptions?: Record<string, unknown> | undefined;
1158
1475
  }, {
1476
+ thinking?: {
1477
+ type: "enabled" | "disabled";
1478
+ } | undefined;
1479
+ name?: string | undefined;
1159
1480
  apiKey?: string | undefined;
1160
1481
  baseUrl?: string | undefined;
1161
1482
  defaultModel?: string | undefined;
@@ -1168,6 +1489,11 @@ export declare const ScenarioSchema: z.ZodObject<{
1168
1489
  embeddingDeploymentName?: string | undefined;
1169
1490
  modelFamily?: string | undefined;
1170
1491
  underlyingProvider?: "openai" | "anthropic" | "google" | "mistral" | "azure" | undefined;
1492
+ runnableType?: "chain" | "agent" | "llm" | "runnable" | undefined;
1493
+ captureTraces?: boolean | undefined;
1494
+ captureMessages?: boolean | undefined;
1495
+ enableSearch?: boolean | undefined;
1496
+ searchOptions?: Record<string, unknown> | undefined;
1171
1497
  }>>;
1172
1498
  seed: z.ZodOptional<z.ZodNumber>;
1173
1499
  temperature: z.ZodOptional<z.ZodNumber>;
@@ -1200,26 +1526,178 @@ export declare const ScenarioSchema: z.ZodObject<{
1200
1526
  setup: z.ZodOptional<z.ZodObject<{
1201
1527
  systemPrompt: z.ZodOptional<z.ZodString>;
1202
1528
  functions: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
1529
+ tools: z.ZodOptional<z.ZodArray<z.ZodObject<{
1530
+ type: z.ZodLiteral<"function">;
1531
+ function: z.ZodObject<{
1532
+ name: z.ZodString;
1533
+ description: z.ZodOptional<z.ZodString>;
1534
+ parameters: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1535
+ }, "strip", z.ZodTypeAny, {
1536
+ name: string;
1537
+ parameters: Record<string, unknown>;
1538
+ description?: string | undefined;
1539
+ }, {
1540
+ name: string;
1541
+ parameters: Record<string, unknown>;
1542
+ description?: string | undefined;
1543
+ }>;
1544
+ }, "strict", z.ZodTypeAny, {
1545
+ function: {
1546
+ name: string;
1547
+ parameters: Record<string, unknown>;
1548
+ description?: string | undefined;
1549
+ };
1550
+ type: "function";
1551
+ }, {
1552
+ function: {
1553
+ name: string;
1554
+ parameters: Record<string, unknown>;
1555
+ description?: string | undefined;
1556
+ };
1557
+ type: "function";
1558
+ }>, "many">>;
1559
+ fixtures: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
1560
+ when: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1561
+ result: z.ZodOptional<z.ZodUnknown>;
1562
+ error: z.ZodOptional<z.ZodString>;
1563
+ }, "strict", z.ZodTypeAny, {
1564
+ when?: Record<string, unknown> | undefined;
1565
+ result?: unknown;
1566
+ error?: string | undefined;
1567
+ }, {
1568
+ when?: Record<string, unknown> | undefined;
1569
+ result?: unknown;
1570
+ error?: string | undefined;
1571
+ }>, "many">>>;
1572
+ toolLoop: z.ZodOptional<z.ZodObject<{
1573
+ enabled: z.ZodDefault<z.ZodBoolean>;
1574
+ maxSteps: z.ZodDefault<z.ZodNumber>;
1575
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
1576
+ maxToolResultBytes: z.ZodDefault<z.ZodNumber>;
1577
+ rejectDuplicateCalls: z.ZodDefault<z.ZodBoolean>;
1578
+ }, "strict", z.ZodTypeAny, {
1579
+ enabled: boolean;
1580
+ maxSteps: number;
1581
+ timeoutMs: number;
1582
+ maxToolResultBytes: number;
1583
+ rejectDuplicateCalls: boolean;
1584
+ }, {
1585
+ enabled?: boolean | undefined;
1586
+ maxSteps?: number | undefined;
1587
+ timeoutMs?: number | undefined;
1588
+ maxToolResultBytes?: number | undefined;
1589
+ rejectDuplicateCalls?: boolean | undefined;
1590
+ }>>;
1203
1591
  }, "strip", z.ZodTypeAny, {
1204
1592
  systemPrompt?: string | undefined;
1205
1593
  functions?: unknown[] | undefined;
1594
+ tools?: {
1595
+ function: {
1596
+ name: string;
1597
+ parameters: Record<string, unknown>;
1598
+ description?: string | undefined;
1599
+ };
1600
+ type: "function";
1601
+ }[] | undefined;
1602
+ fixtures?: Record<string, {
1603
+ when?: Record<string, unknown> | undefined;
1604
+ result?: unknown;
1605
+ error?: string | undefined;
1606
+ }[]> | undefined;
1607
+ toolLoop?: {
1608
+ enabled: boolean;
1609
+ maxSteps: number;
1610
+ timeoutMs: number;
1611
+ maxToolResultBytes: number;
1612
+ rejectDuplicateCalls: boolean;
1613
+ } | undefined;
1206
1614
  }, {
1207
1615
  systemPrompt?: string | undefined;
1208
1616
  functions?: unknown[] | undefined;
1617
+ tools?: {
1618
+ function: {
1619
+ name: string;
1620
+ parameters: Record<string, unknown>;
1621
+ description?: string | undefined;
1622
+ };
1623
+ type: "function";
1624
+ }[] | undefined;
1625
+ fixtures?: Record<string, {
1626
+ when?: Record<string, unknown> | undefined;
1627
+ result?: unknown;
1628
+ error?: string | undefined;
1629
+ }[]> | undefined;
1630
+ toolLoop?: {
1631
+ enabled?: boolean | undefined;
1632
+ maxSteps?: number | undefined;
1633
+ timeoutMs?: number | undefined;
1634
+ maxToolResultBytes?: number | undefined;
1635
+ rejectDuplicateCalls?: boolean | undefined;
1636
+ } | undefined;
1209
1637
  }>>;
1210
1638
  cases: z.ZodArray<z.ZodObject<{
1211
1639
  id: z.ZodString;
1212
1640
  name: z.ZodOptional<z.ZodString>;
1213
1641
  description: z.ZodOptional<z.ZodString>;
1214
1642
  prompt: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
1215
- role: z.ZodEnum<["system", "user", "assistant"]>;
1643
+ role: z.ZodEnum<["system", "user", "assistant", "tool"]>;
1216
1644
  content: z.ZodString;
1645
+ name: z.ZodOptional<z.ZodString>;
1646
+ toolCallId: z.ZodOptional<z.ZodString>;
1647
+ tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
1648
+ id: z.ZodString;
1649
+ type: z.ZodLiteral<"function">;
1650
+ function: z.ZodObject<{
1651
+ name: z.ZodString;
1652
+ arguments: z.ZodString;
1653
+ }, "strip", z.ZodTypeAny, {
1654
+ name: string;
1655
+ arguments: string;
1656
+ }, {
1657
+ name: string;
1658
+ arguments: string;
1659
+ }>;
1660
+ }, "strip", z.ZodTypeAny, {
1661
+ function: {
1662
+ name: string;
1663
+ arguments: string;
1664
+ };
1665
+ type: "function";
1666
+ id: string;
1667
+ }, {
1668
+ function: {
1669
+ name: string;
1670
+ arguments: string;
1671
+ };
1672
+ type: "function";
1673
+ id: string;
1674
+ }>, "many">>;
1217
1675
  }, "strip", z.ZodTypeAny, {
1218
- role: "system" | "user" | "assistant";
1676
+ role: "system" | "user" | "assistant" | "tool";
1219
1677
  content: string;
1678
+ tool_calls?: {
1679
+ function: {
1680
+ name: string;
1681
+ arguments: string;
1682
+ };
1683
+ type: "function";
1684
+ id: string;
1685
+ }[] | undefined;
1686
+ name?: string | undefined;
1687
+ toolCallId?: string | undefined;
1220
1688
  }, {
1221
- role: "system" | "user" | "assistant";
1689
+ role: "system" | "user" | "assistant" | "tool";
1222
1690
  content: string;
1691
+ tool_calls?: {
1692
+ function: {
1693
+ name: string;
1694
+ arguments: string;
1695
+ };
1696
+ type: "function";
1697
+ id: string;
1698
+ }[] | undefined;
1699
+ name?: string | undefined;
1700
+ toolCallId?: string | undefined;
1223
1701
  }>, "many">]>;
1224
1702
  expected: z.ZodUnion<[z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1225
1703
  type: z.ZodLiteral<"exact">;
@@ -1261,18 +1739,22 @@ export declare const ScenarioSchema: z.ZodObject<{
1261
1739
  type: z.ZodLiteral<"llm_grader">;
1262
1740
  rubric: z.ZodString;
1263
1741
  model: z.ZodOptional<z.ZodString>;
1264
- provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "custom"]>>;
1742
+ provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "langchain", "deepagents", "ling", "custom"]>>;
1265
1743
  threshold: z.ZodDefault<z.ZodNumber>;
1744
+ /** Require exact, validated JSON from the judge for assurance assessments. */
1745
+ strict: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1266
1746
  }, "strip", z.ZodTypeAny, {
1267
1747
  type: "llm_grader";
1748
+ strict: boolean;
1268
1749
  threshold: number;
1269
1750
  rubric: string;
1270
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
1751
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
1271
1752
  model?: string | undefined;
1272
1753
  }, {
1273
1754
  type: "llm_grader";
1274
1755
  rubric: string;
1275
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
1756
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
1757
+ strict?: boolean | undefined;
1276
1758
  threshold?: number | undefined;
1277
1759
  model?: string | undefined;
1278
1760
  }>, z.ZodObject<{
@@ -1320,6 +1802,24 @@ export declare const ScenarioSchema: z.ZodObject<{
1320
1802
  type: "custom";
1321
1803
  evaluator: string;
1322
1804
  config?: Record<string, unknown> | undefined;
1805
+ }>, z.ZodObject<{
1806
+ type: z.ZodLiteral<"tool_trace">;
1807
+ requiredTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1808
+ forbiddenTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1809
+ ordered: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1810
+ maxCalls: z.ZodOptional<z.ZodNumber>;
1811
+ }, "strip", z.ZodTypeAny, {
1812
+ type: "tool_trace";
1813
+ ordered: boolean;
1814
+ requiredTools?: string[] | undefined;
1815
+ forbiddenTools?: string[] | undefined;
1816
+ maxCalls?: number | undefined;
1817
+ }, {
1818
+ type: "tool_trace";
1819
+ requiredTools?: string[] | undefined;
1820
+ forbiddenTools?: string[] | undefined;
1821
+ ordered?: boolean | undefined;
1822
+ maxCalls?: number | undefined;
1323
1823
  }>, z.ZodObject<{
1324
1824
  type: z.ZodLiteral<"similarity">;
1325
1825
  value: z.ZodString;
@@ -1335,14 +1835,14 @@ export declare const ScenarioSchema: z.ZodObject<{
1335
1835
  type: "similarity";
1336
1836
  threshold: number;
1337
1837
  model?: string | undefined;
1338
- mode?: "embedding" | "llm" | undefined;
1838
+ mode?: "llm" | "embedding" | undefined;
1339
1839
  embeddingModel?: string | undefined;
1340
1840
  }, {
1341
1841
  value: string;
1342
1842
  type: "similarity";
1343
1843
  threshold?: number | undefined;
1344
1844
  model?: string | undefined;
1345
- mode?: "embedding" | "llm" | undefined;
1845
+ mode?: "llm" | "embedding" | undefined;
1346
1846
  embeddingModel?: string | undefined;
1347
1847
  }>, z.ZodObject<{
1348
1848
  type: z.ZodLiteral<"inline">;
@@ -1399,18 +1899,22 @@ export declare const ScenarioSchema: z.ZodObject<{
1399
1899
  type: z.ZodLiteral<"llm_grader">;
1400
1900
  rubric: z.ZodString;
1401
1901
  model: z.ZodOptional<z.ZodString>;
1402
- provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "custom"]>>;
1902
+ provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "langchain", "deepagents", "ling", "custom"]>>;
1403
1903
  threshold: z.ZodDefault<z.ZodNumber>;
1904
+ /** Require exact, validated JSON from the judge for assurance assessments. */
1905
+ strict: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1404
1906
  }, "strip", z.ZodTypeAny, {
1405
1907
  type: "llm_grader";
1908
+ strict: boolean;
1406
1909
  threshold: number;
1407
1910
  rubric: string;
1408
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
1911
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
1409
1912
  model?: string | undefined;
1410
1913
  }, {
1411
1914
  type: "llm_grader";
1412
1915
  rubric: string;
1413
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
1916
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
1917
+ strict?: boolean | undefined;
1414
1918
  threshold?: number | undefined;
1415
1919
  model?: string | undefined;
1416
1920
  }>, z.ZodObject<{
@@ -1458,6 +1962,24 @@ export declare const ScenarioSchema: z.ZodObject<{
1458
1962
  type: "custom";
1459
1963
  evaluator: string;
1460
1964
  config?: Record<string, unknown> | undefined;
1965
+ }>, z.ZodObject<{
1966
+ type: z.ZodLiteral<"tool_trace">;
1967
+ requiredTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1968
+ forbiddenTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1969
+ ordered: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1970
+ maxCalls: z.ZodOptional<z.ZodNumber>;
1971
+ }, "strip", z.ZodTypeAny, {
1972
+ type: "tool_trace";
1973
+ ordered: boolean;
1974
+ requiredTools?: string[] | undefined;
1975
+ forbiddenTools?: string[] | undefined;
1976
+ maxCalls?: number | undefined;
1977
+ }, {
1978
+ type: "tool_trace";
1979
+ requiredTools?: string[] | undefined;
1980
+ forbiddenTools?: string[] | undefined;
1981
+ ordered?: boolean | undefined;
1982
+ maxCalls?: number | undefined;
1461
1983
  }>, z.ZodObject<{
1462
1984
  type: z.ZodLiteral<"similarity">;
1463
1985
  value: z.ZodString;
@@ -1473,14 +1995,14 @@ export declare const ScenarioSchema: z.ZodObject<{
1473
1995
  type: "similarity";
1474
1996
  threshold: number;
1475
1997
  model?: string | undefined;
1476
- mode?: "embedding" | "llm" | undefined;
1998
+ mode?: "llm" | "embedding" | undefined;
1477
1999
  embeddingModel?: string | undefined;
1478
2000
  }, {
1479
2001
  value: string;
1480
2002
  type: "similarity";
1481
2003
  threshold?: number | undefined;
1482
2004
  model?: string | undefined;
1483
- mode?: "embedding" | "llm" | undefined;
2005
+ mode?: "llm" | "embedding" | undefined;
1484
2006
  embeddingModel?: string | undefined;
1485
2007
  }>, z.ZodObject<{
1486
2008
  type: z.ZodLiteral<"inline">;
@@ -1512,9 +2034,10 @@ export declare const ScenarioSchema: z.ZodObject<{
1512
2034
  threshold: number;
1513
2035
  } | {
1514
2036
  type: "llm_grader";
2037
+ strict: boolean;
1515
2038
  threshold: number;
1516
2039
  rubric: string;
1517
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
2040
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
1518
2041
  model?: string | undefined;
1519
2042
  } | {
1520
2043
  values: string[];
@@ -1531,12 +2054,18 @@ export declare const ScenarioSchema: z.ZodObject<{
1531
2054
  type: "custom";
1532
2055
  evaluator: string;
1533
2056
  config?: Record<string, unknown> | undefined;
2057
+ } | {
2058
+ type: "tool_trace";
2059
+ ordered: boolean;
2060
+ requiredTools?: string[] | undefined;
2061
+ forbiddenTools?: string[] | undefined;
2062
+ maxCalls?: number | undefined;
1534
2063
  } | {
1535
2064
  value: string;
1536
2065
  type: "similarity";
1537
2066
  threshold: number;
1538
2067
  model?: string | undefined;
1539
- mode?: "embedding" | "llm" | undefined;
2068
+ mode?: "llm" | "embedding" | undefined;
1540
2069
  embeddingModel?: string | undefined;
1541
2070
  } | {
1542
2071
  type: "inline";
@@ -1561,7 +2090,8 @@ export declare const ScenarioSchema: z.ZodObject<{
1561
2090
  } | {
1562
2091
  type: "llm_grader";
1563
2092
  rubric: string;
1564
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
2093
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
2094
+ strict?: boolean | undefined;
1565
2095
  threshold?: number | undefined;
1566
2096
  model?: string | undefined;
1567
2097
  } | {
@@ -1579,12 +2109,18 @@ export declare const ScenarioSchema: z.ZodObject<{
1579
2109
  type: "custom";
1580
2110
  evaluator: string;
1581
2111
  config?: Record<string, unknown> | undefined;
2112
+ } | {
2113
+ type: "tool_trace";
2114
+ requiredTools?: string[] | undefined;
2115
+ forbiddenTools?: string[] | undefined;
2116
+ ordered?: boolean | undefined;
2117
+ maxCalls?: number | undefined;
1582
2118
  } | {
1583
2119
  value: string;
1584
2120
  type: "similarity";
1585
2121
  threshold?: number | undefined;
1586
2122
  model?: string | undefined;
1587
- mode?: "embedding" | "llm" | undefined;
2123
+ mode?: "llm" | "embedding" | undefined;
1588
2124
  embeddingModel?: string | undefined;
1589
2125
  } | {
1590
2126
  type: "inline";
@@ -1596,7 +2132,7 @@ export declare const ScenarioSchema: z.ZodObject<{
1596
2132
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1597
2133
  timeout: z.ZodOptional<z.ZodNumber>;
1598
2134
  retries: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1599
- provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "custom"]>>;
2135
+ provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "langchain", "deepagents", "ling", "custom"]>>;
1600
2136
  model: z.ZodOptional<z.ZodString>;
1601
2137
  variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
1602
2138
  /** Case-level redaction config (overrides scenario-level) */
@@ -1623,6 +2159,7 @@ export declare const ScenarioSchema: z.ZodObject<{
1623
2159
  replacement?: string | undefined;
1624
2160
  }>>;
1625
2161
  }, "strip", z.ZodTypeAny, {
2162
+ metadata: Record<string, unknown>;
1626
2163
  expected: {
1627
2164
  value: string;
1628
2165
  type: "exact";
@@ -1637,9 +2174,10 @@ export declare const ScenarioSchema: z.ZodObject<{
1637
2174
  threshold: number;
1638
2175
  } | {
1639
2176
  type: "llm_grader";
2177
+ strict: boolean;
1640
2178
  threshold: number;
1641
2179
  rubric: string;
1642
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
2180
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
1643
2181
  model?: string | undefined;
1644
2182
  } | {
1645
2183
  values: string[];
@@ -1656,12 +2194,18 @@ export declare const ScenarioSchema: z.ZodObject<{
1656
2194
  type: "custom";
1657
2195
  evaluator: string;
1658
2196
  config?: Record<string, unknown> | undefined;
2197
+ } | {
2198
+ type: "tool_trace";
2199
+ ordered: boolean;
2200
+ requiredTools?: string[] | undefined;
2201
+ forbiddenTools?: string[] | undefined;
2202
+ maxCalls?: number | undefined;
1659
2203
  } | {
1660
2204
  value: string;
1661
2205
  type: "similarity";
1662
2206
  threshold: number;
1663
2207
  model?: string | undefined;
1664
- mode?: "embedding" | "llm" | undefined;
2208
+ mode?: "llm" | "embedding" | undefined;
1665
2209
  embeddingModel?: string | undefined;
1666
2210
  } | {
1667
2211
  type: "inline";
@@ -1684,9 +2228,10 @@ export declare const ScenarioSchema: z.ZodObject<{
1684
2228
  threshold: number;
1685
2229
  } | {
1686
2230
  type: "llm_grader";
2231
+ strict: boolean;
1687
2232
  threshold: number;
1688
2233
  rubric: string;
1689
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
2234
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
1690
2235
  model?: string | undefined;
1691
2236
  } | {
1692
2237
  values: string[];
@@ -1703,12 +2248,18 @@ export declare const ScenarioSchema: z.ZodObject<{
1703
2248
  type: "custom";
1704
2249
  evaluator: string;
1705
2250
  config?: Record<string, unknown> | undefined;
2251
+ } | {
2252
+ type: "tool_trace";
2253
+ ordered: boolean;
2254
+ requiredTools?: string[] | undefined;
2255
+ forbiddenTools?: string[] | undefined;
2256
+ maxCalls?: number | undefined;
1706
2257
  } | {
1707
2258
  value: string;
1708
2259
  type: "similarity";
1709
2260
  threshold: number;
1710
2261
  model?: string | undefined;
1711
- mode?: "embedding" | "llm" | undefined;
2262
+ mode?: "llm" | "embedding" | undefined;
1712
2263
  embeddingModel?: string | undefined;
1713
2264
  } | {
1714
2265
  type: "inline";
@@ -1718,14 +2269,23 @@ export declare const ScenarioSchema: z.ZodObject<{
1718
2269
  };
1719
2270
  id: string;
1720
2271
  prompt: string | {
1721
- role: "system" | "user" | "assistant";
2272
+ role: "system" | "user" | "assistant" | "tool";
1722
2273
  content: string;
2274
+ tool_calls?: {
2275
+ function: {
2276
+ name: string;
2277
+ arguments: string;
2278
+ };
2279
+ type: "function";
2280
+ id: string;
2281
+ }[] | undefined;
2282
+ name?: string | undefined;
2283
+ toolCallId?: string | undefined;
1723
2284
  }[];
1724
2285
  tags: string[];
1725
- metadata: Record<string, unknown>;
1726
2286
  retries: number;
1727
2287
  name?: string | undefined;
1728
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
2288
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
1729
2289
  timeout?: number | undefined;
1730
2290
  model?: string | undefined;
1731
2291
  description?: string | undefined;
@@ -1754,7 +2314,8 @@ export declare const ScenarioSchema: z.ZodObject<{
1754
2314
  } | {
1755
2315
  type: "llm_grader";
1756
2316
  rubric: string;
1757
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
2317
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
2318
+ strict?: boolean | undefined;
1758
2319
  threshold?: number | undefined;
1759
2320
  model?: string | undefined;
1760
2321
  } | {
@@ -1772,12 +2333,18 @@ export declare const ScenarioSchema: z.ZodObject<{
1772
2333
  type: "custom";
1773
2334
  evaluator: string;
1774
2335
  config?: Record<string, unknown> | undefined;
2336
+ } | {
2337
+ type: "tool_trace";
2338
+ requiredTools?: string[] | undefined;
2339
+ forbiddenTools?: string[] | undefined;
2340
+ ordered?: boolean | undefined;
2341
+ maxCalls?: number | undefined;
1775
2342
  } | {
1776
2343
  value: string;
1777
2344
  type: "similarity";
1778
2345
  threshold?: number | undefined;
1779
2346
  model?: string | undefined;
1780
- mode?: "embedding" | "llm" | undefined;
2347
+ mode?: "llm" | "embedding" | undefined;
1781
2348
  embeddingModel?: string | undefined;
1782
2349
  } | {
1783
2350
  type: "inline";
@@ -1801,7 +2368,8 @@ export declare const ScenarioSchema: z.ZodObject<{
1801
2368
  } | {
1802
2369
  type: "llm_grader";
1803
2370
  rubric: string;
1804
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
2371
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
2372
+ strict?: boolean | undefined;
1805
2373
  threshold?: number | undefined;
1806
2374
  model?: string | undefined;
1807
2375
  } | {
@@ -1819,12 +2387,18 @@ export declare const ScenarioSchema: z.ZodObject<{
1819
2387
  type: "custom";
1820
2388
  evaluator: string;
1821
2389
  config?: Record<string, unknown> | undefined;
2390
+ } | {
2391
+ type: "tool_trace";
2392
+ requiredTools?: string[] | undefined;
2393
+ forbiddenTools?: string[] | undefined;
2394
+ ordered?: boolean | undefined;
2395
+ maxCalls?: number | undefined;
1822
2396
  } | {
1823
2397
  value: string;
1824
2398
  type: "similarity";
1825
2399
  threshold?: number | undefined;
1826
2400
  model?: string | undefined;
1827
- mode?: "embedding" | "llm" | undefined;
2401
+ mode?: "llm" | "embedding" | undefined;
1828
2402
  embeddingModel?: string | undefined;
1829
2403
  } | {
1830
2404
  type: "inline";
@@ -1834,16 +2408,26 @@ export declare const ScenarioSchema: z.ZodObject<{
1834
2408
  };
1835
2409
  id: string;
1836
2410
  prompt: string | {
1837
- role: "system" | "user" | "assistant";
2411
+ role: "system" | "user" | "assistant" | "tool";
1838
2412
  content: string;
2413
+ tool_calls?: {
2414
+ function: {
2415
+ name: string;
2416
+ arguments: string;
2417
+ };
2418
+ type: "function";
2419
+ id: string;
2420
+ }[] | undefined;
2421
+ name?: string | undefined;
2422
+ toolCallId?: string | undefined;
1839
2423
  }[];
1840
2424
  name?: string | undefined;
1841
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
2425
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
2426
+ metadata?: Record<string, unknown> | undefined;
1842
2427
  timeout?: number | undefined;
1843
2428
  model?: string | undefined;
1844
2429
  description?: string | undefined;
1845
2430
  tags?: string[] | undefined;
1846
- metadata?: Record<string, unknown> | undefined;
1847
2431
  retries?: number | undefined;
1848
2432
  variables?: Record<string, string | number | boolean> | undefined;
1849
2433
  redaction?: {
@@ -1867,6 +2451,7 @@ export declare const ScenarioSchema: z.ZodObject<{
1867
2451
  tags: string[];
1868
2452
  version: string;
1869
2453
  cases: {
2454
+ metadata: Record<string, unknown>;
1870
2455
  expected: {
1871
2456
  value: string;
1872
2457
  type: "exact";
@@ -1881,9 +2466,10 @@ export declare const ScenarioSchema: z.ZodObject<{
1881
2466
  threshold: number;
1882
2467
  } | {
1883
2468
  type: "llm_grader";
2469
+ strict: boolean;
1884
2470
  threshold: number;
1885
2471
  rubric: string;
1886
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
2472
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
1887
2473
  model?: string | undefined;
1888
2474
  } | {
1889
2475
  values: string[];
@@ -1900,12 +2486,18 @@ export declare const ScenarioSchema: z.ZodObject<{
1900
2486
  type: "custom";
1901
2487
  evaluator: string;
1902
2488
  config?: Record<string, unknown> | undefined;
2489
+ } | {
2490
+ type: "tool_trace";
2491
+ ordered: boolean;
2492
+ requiredTools?: string[] | undefined;
2493
+ forbiddenTools?: string[] | undefined;
2494
+ maxCalls?: number | undefined;
1903
2495
  } | {
1904
2496
  value: string;
1905
2497
  type: "similarity";
1906
2498
  threshold: number;
1907
2499
  model?: string | undefined;
1908
- mode?: "embedding" | "llm" | undefined;
2500
+ mode?: "llm" | "embedding" | undefined;
1909
2501
  embeddingModel?: string | undefined;
1910
2502
  } | {
1911
2503
  type: "inline";
@@ -1928,9 +2520,10 @@ export declare const ScenarioSchema: z.ZodObject<{
1928
2520
  threshold: number;
1929
2521
  } | {
1930
2522
  type: "llm_grader";
2523
+ strict: boolean;
1931
2524
  threshold: number;
1932
2525
  rubric: string;
1933
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
2526
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
1934
2527
  model?: string | undefined;
1935
2528
  } | {
1936
2529
  values: string[];
@@ -1947,12 +2540,18 @@ export declare const ScenarioSchema: z.ZodObject<{
1947
2540
  type: "custom";
1948
2541
  evaluator: string;
1949
2542
  config?: Record<string, unknown> | undefined;
2543
+ } | {
2544
+ type: "tool_trace";
2545
+ ordered: boolean;
2546
+ requiredTools?: string[] | undefined;
2547
+ forbiddenTools?: string[] | undefined;
2548
+ maxCalls?: number | undefined;
1950
2549
  } | {
1951
2550
  value: string;
1952
2551
  type: "similarity";
1953
2552
  threshold: number;
1954
2553
  model?: string | undefined;
1955
- mode?: "embedding" | "llm" | undefined;
2554
+ mode?: "llm" | "embedding" | undefined;
1956
2555
  embeddingModel?: string | undefined;
1957
2556
  } | {
1958
2557
  type: "inline";
@@ -1962,14 +2561,23 @@ export declare const ScenarioSchema: z.ZodObject<{
1962
2561
  };
1963
2562
  id: string;
1964
2563
  prompt: string | {
1965
- role: "system" | "user" | "assistant";
2564
+ role: "system" | "user" | "assistant" | "tool";
1966
2565
  content: string;
2566
+ tool_calls?: {
2567
+ function: {
2568
+ name: string;
2569
+ arguments: string;
2570
+ };
2571
+ type: "function";
2572
+ id: string;
2573
+ }[] | undefined;
2574
+ name?: string | undefined;
2575
+ toolCallId?: string | undefined;
1967
2576
  }[];
1968
2577
  tags: string[];
1969
- metadata: Record<string, unknown>;
1970
2578
  retries: number;
1971
2579
  name?: string | undefined;
1972
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
2580
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
1973
2581
  timeout?: number | undefined;
1974
2582
  model?: string | undefined;
1975
2583
  description?: string | undefined;
@@ -1983,7 +2591,7 @@ export declare const ScenarioSchema: z.ZodObject<{
1983
2591
  patterns?: string[] | undefined;
1984
2592
  } | undefined;
1985
2593
  }[];
1986
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
2594
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
1987
2595
  model?: string | undefined;
1988
2596
  description?: string | undefined;
1989
2597
  variables?: Record<string, string | number | boolean> | undefined;
@@ -1996,6 +2604,10 @@ export declare const ScenarioSchema: z.ZodObject<{
1996
2604
  patterns?: string[] | undefined;
1997
2605
  } | undefined;
1998
2606
  providerConfig?: {
2607
+ thinking?: {
2608
+ type: "enabled" | "disabled";
2609
+ } | undefined;
2610
+ name?: string | undefined;
1999
2611
  apiKey?: string | undefined;
2000
2612
  baseUrl?: string | undefined;
2001
2613
  defaultModel?: string | undefined;
@@ -2008,6 +2620,11 @@ export declare const ScenarioSchema: z.ZodObject<{
2008
2620
  embeddingDeploymentName?: string | undefined;
2009
2621
  modelFamily?: string | undefined;
2010
2622
  underlyingProvider?: "openai" | "anthropic" | "google" | "mistral" | "azure" | undefined;
2623
+ runnableType?: "chain" | "agent" | "llm" | "runnable" | undefined;
2624
+ captureTraces?: boolean | undefined;
2625
+ captureMessages?: boolean | undefined;
2626
+ enableSearch?: boolean | undefined;
2627
+ searchOptions?: Record<string, unknown> | undefined;
2011
2628
  } | undefined;
2012
2629
  seed?: number | undefined;
2013
2630
  temperature?: number | undefined;
@@ -2015,6 +2632,26 @@ export declare const ScenarioSchema: z.ZodObject<{
2015
2632
  setup?: {
2016
2633
  systemPrompt?: string | undefined;
2017
2634
  functions?: unknown[] | undefined;
2635
+ tools?: {
2636
+ function: {
2637
+ name: string;
2638
+ parameters: Record<string, unknown>;
2639
+ description?: string | undefined;
2640
+ };
2641
+ type: "function";
2642
+ }[] | undefined;
2643
+ fixtures?: Record<string, {
2644
+ when?: Record<string, unknown> | undefined;
2645
+ result?: unknown;
2646
+ error?: string | undefined;
2647
+ }[]> | undefined;
2648
+ toolLoop?: {
2649
+ enabled: boolean;
2650
+ maxSteps: number;
2651
+ timeoutMs: number;
2652
+ maxToolResultBytes: number;
2653
+ rejectDuplicateCalls: boolean;
2654
+ } | undefined;
2018
2655
  } | undefined;
2019
2656
  teardown?: {
2020
2657
  cleanup?: boolean | undefined;
@@ -2037,7 +2674,8 @@ export declare const ScenarioSchema: z.ZodObject<{
2037
2674
  } | {
2038
2675
  type: "llm_grader";
2039
2676
  rubric: string;
2040
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
2677
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
2678
+ strict?: boolean | undefined;
2041
2679
  threshold?: number | undefined;
2042
2680
  model?: string | undefined;
2043
2681
  } | {
@@ -2055,12 +2693,18 @@ export declare const ScenarioSchema: z.ZodObject<{
2055
2693
  type: "custom";
2056
2694
  evaluator: string;
2057
2695
  config?: Record<string, unknown> | undefined;
2696
+ } | {
2697
+ type: "tool_trace";
2698
+ requiredTools?: string[] | undefined;
2699
+ forbiddenTools?: string[] | undefined;
2700
+ ordered?: boolean | undefined;
2701
+ maxCalls?: number | undefined;
2058
2702
  } | {
2059
2703
  value: string;
2060
2704
  type: "similarity";
2061
2705
  threshold?: number | undefined;
2062
2706
  model?: string | undefined;
2063
- mode?: "embedding" | "llm" | undefined;
2707
+ mode?: "llm" | "embedding" | undefined;
2064
2708
  embeddingModel?: string | undefined;
2065
2709
  } | {
2066
2710
  type: "inline";
@@ -2084,7 +2728,8 @@ export declare const ScenarioSchema: z.ZodObject<{
2084
2728
  } | {
2085
2729
  type: "llm_grader";
2086
2730
  rubric: string;
2087
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
2731
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
2732
+ strict?: boolean | undefined;
2088
2733
  threshold?: number | undefined;
2089
2734
  model?: string | undefined;
2090
2735
  } | {
@@ -2102,12 +2747,18 @@ export declare const ScenarioSchema: z.ZodObject<{
2102
2747
  type: "custom";
2103
2748
  evaluator: string;
2104
2749
  config?: Record<string, unknown> | undefined;
2750
+ } | {
2751
+ type: "tool_trace";
2752
+ requiredTools?: string[] | undefined;
2753
+ forbiddenTools?: string[] | undefined;
2754
+ ordered?: boolean | undefined;
2755
+ maxCalls?: number | undefined;
2105
2756
  } | {
2106
2757
  value: string;
2107
2758
  type: "similarity";
2108
2759
  threshold?: number | undefined;
2109
2760
  model?: string | undefined;
2110
- mode?: "embedding" | "llm" | undefined;
2761
+ mode?: "llm" | "embedding" | undefined;
2111
2762
  embeddingModel?: string | undefined;
2112
2763
  } | {
2113
2764
  type: "inline";
@@ -2117,16 +2768,26 @@ export declare const ScenarioSchema: z.ZodObject<{
2117
2768
  };
2118
2769
  id: string;
2119
2770
  prompt: string | {
2120
- role: "system" | "user" | "assistant";
2771
+ role: "system" | "user" | "assistant" | "tool";
2121
2772
  content: string;
2773
+ tool_calls?: {
2774
+ function: {
2775
+ name: string;
2776
+ arguments: string;
2777
+ };
2778
+ type: "function";
2779
+ id: string;
2780
+ }[] | undefined;
2781
+ name?: string | undefined;
2782
+ toolCallId?: string | undefined;
2122
2783
  }[];
2123
2784
  name?: string | undefined;
2124
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
2785
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
2786
+ metadata?: Record<string, unknown> | undefined;
2125
2787
  timeout?: number | undefined;
2126
2788
  model?: string | undefined;
2127
2789
  description?: string | undefined;
2128
2790
  tags?: string[] | undefined;
2129
- metadata?: Record<string, unknown> | undefined;
2130
2791
  retries?: number | undefined;
2131
2792
  variables?: Record<string, string | number | boolean> | undefined;
2132
2793
  redaction?: {
@@ -2138,7 +2799,7 @@ export declare const ScenarioSchema: z.ZodObject<{
2138
2799
  replacement?: string | undefined;
2139
2800
  } | undefined;
2140
2801
  }[];
2141
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
2802
+ provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "ling" | "google" | "mistral" | "cohere" | "huggingface" | "ollama" | "custom" | undefined;
2142
2803
  model?: string | undefined;
2143
2804
  description?: string | undefined;
2144
2805
  tags?: string[] | undefined;
@@ -2153,6 +2814,10 @@ export declare const ScenarioSchema: z.ZodObject<{
2153
2814
  } | undefined;
2154
2815
  version?: string | undefined;
2155
2816
  providerConfig?: {
2817
+ thinking?: {
2818
+ type: "enabled" | "disabled";
2819
+ } | undefined;
2820
+ name?: string | undefined;
2156
2821
  apiKey?: string | undefined;
2157
2822
  baseUrl?: string | undefined;
2158
2823
  defaultModel?: string | undefined;
@@ -2165,6 +2830,11 @@ export declare const ScenarioSchema: z.ZodObject<{
2165
2830
  embeddingDeploymentName?: string | undefined;
2166
2831
  modelFamily?: string | undefined;
2167
2832
  underlyingProvider?: "openai" | "anthropic" | "google" | "mistral" | "azure" | undefined;
2833
+ runnableType?: "chain" | "agent" | "llm" | "runnable" | undefined;
2834
+ captureTraces?: boolean | undefined;
2835
+ captureMessages?: boolean | undefined;
2836
+ enableSearch?: boolean | undefined;
2837
+ searchOptions?: Record<string, unknown> | undefined;
2168
2838
  } | undefined;
2169
2839
  seed?: number | undefined;
2170
2840
  temperature?: number | undefined;
@@ -2172,6 +2842,26 @@ export declare const ScenarioSchema: z.ZodObject<{
2172
2842
  setup?: {
2173
2843
  systemPrompt?: string | undefined;
2174
2844
  functions?: unknown[] | undefined;
2845
+ tools?: {
2846
+ function: {
2847
+ name: string;
2848
+ parameters: Record<string, unknown>;
2849
+ description?: string | undefined;
2850
+ };
2851
+ type: "function";
2852
+ }[] | undefined;
2853
+ fixtures?: Record<string, {
2854
+ when?: Record<string, unknown> | undefined;
2855
+ result?: unknown;
2856
+ error?: string | undefined;
2857
+ }[]> | undefined;
2858
+ toolLoop?: {
2859
+ enabled?: boolean | undefined;
2860
+ maxSteps?: number | undefined;
2861
+ timeoutMs?: number | undefined;
2862
+ maxToolResultBytes?: number | undefined;
2863
+ rejectDuplicateCalls?: boolean | undefined;
2864
+ } | undefined;
2175
2865
  } | undefined;
2176
2866
  teardown?: {
2177
2867
  cleanup?: boolean | undefined;