@artemiskit/core 0.3.0 → 0.4.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.
Files changed (86) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +4 -0
  3. package/dist/adapters/registry.d.ts.map +1 -1
  4. package/dist/adapters/types.d.ts +20 -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 +52 -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 +20281 -13144
  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 +721 -63
  33. package/dist/scenario/schema.d.ts.map +1 -1
  34. package/dist/storage/local.d.ts +1 -1
  35. package/dist/storage/local.d.ts.map +1 -1
  36. package/dist/storage/supabase.d.ts +1 -1
  37. package/dist/storage/supabase.d.ts.map +1 -1
  38. package/dist/storage/types.d.ts +6 -2
  39. package/dist/storage/types.d.ts.map +1 -1
  40. package/dist/tools/fixture-executor.d.ts +10 -0
  41. package/dist/tools/fixture-executor.d.ts.map +1 -0
  42. package/dist/tools/index.d.ts +4 -0
  43. package/dist/tools/index.d.ts.map +1 -0
  44. package/dist/tools/schema-validator.d.ts +10 -0
  45. package/dist/tools/schema-validator.d.ts.map +1 -0
  46. package/dist/tools/types.d.ts +50 -0
  47. package/dist/tools/types.d.ts.map +1 -0
  48. package/package.json +2 -1
  49. package/src/adapters/registry.ts +7 -0
  50. package/src/adapters/types.test.ts +21 -0
  51. package/src/adapters/types.ts +18 -0
  52. package/src/agent-evaluation/index.ts +2 -0
  53. package/src/agent-evaluation/scorer.test.ts +1194 -0
  54. package/src/agent-evaluation/scorer.ts +640 -0
  55. package/src/agent-evaluation/types.test.ts +27 -0
  56. package/src/agent-evaluation/types.ts +43 -0
  57. package/src/artifacts/manifest.test.ts +90 -19
  58. package/src/artifacts/manifest.ts +18 -5
  59. package/src/artifacts/types.ts +133 -0
  60. package/src/evaluators/index.ts +3 -0
  61. package/src/evaluators/json-schema.test.ts +130 -0
  62. package/src/evaluators/json-schema.ts +38 -63
  63. package/src/evaluators/llm-grader.test.ts +80 -0
  64. package/src/evaluators/llm-grader.ts +44 -6
  65. package/src/evaluators/tool-trace.test.ts +46 -0
  66. package/src/evaluators/tool-trace.ts +50 -0
  67. package/src/evaluators/types.ts +20 -0
  68. package/src/index.ts +6 -0
  69. package/src/runner/executor.test.ts +374 -0
  70. package/src/runner/executor.ts +349 -22
  71. package/src/runner/release-validation.test.ts +169 -0
  72. package/src/runner/runner.ts +7 -1
  73. package/src/runner/types.ts +4 -0
  74. package/src/scenario/schema.ts +56 -1
  75. package/src/storage/local.test.ts +24 -0
  76. package/src/storage/local.ts +13 -2
  77. package/src/storage/supabase.test.ts +111 -1
  78. package/src/storage/supabase.ts +26 -3
  79. package/src/storage/types.ts +12 -2
  80. package/src/tools/fixture-executor.test.ts +88 -0
  81. package/src/tools/fixture-executor.ts +112 -0
  82. package/src/tools/index.ts +3 -0
  83. package/src/tools/schema-validator.test.ts +32 -0
  84. package/src/tools/schema-validator.ts +56 -0
  85. package/src/tools/types.ts +80 -0
  86. package/adapters/openai/dist/index.js +0 -5626
@@ -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", "langchain", "deepagents", "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
@@ -28,7 +28,19 @@ export declare const ProviderConfigSchema: z.ZodOptional<z.ZodObject<{
28
28
  runnableType: z.ZodOptional<z.ZodEnum<["chain", "agent", "llm", "runnable"]>>;
29
29
  captureTraces: z.ZodOptional<z.ZodBoolean>;
30
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>>;
31
40
  }, "strip", z.ZodTypeAny, {
41
+ thinking?: {
42
+ type: "enabled" | "disabled";
43
+ } | undefined;
32
44
  name?: string | undefined;
33
45
  apiKey?: string | undefined;
34
46
  baseUrl?: string | undefined;
@@ -45,7 +57,12 @@ export declare const ProviderConfigSchema: z.ZodOptional<z.ZodObject<{
45
57
  runnableType?: "chain" | "agent" | "llm" | "runnable" | undefined;
46
58
  captureTraces?: boolean | undefined;
47
59
  captureMessages?: boolean | undefined;
60
+ enableSearch?: boolean | undefined;
61
+ searchOptions?: Record<string, unknown> | undefined;
48
62
  }, {
63
+ thinking?: {
64
+ type: "enabled" | "disabled";
65
+ } | undefined;
49
66
  name?: string | undefined;
50
67
  apiKey?: string | undefined;
51
68
  baseUrl?: string | undefined;
@@ -62,6 +79,8 @@ export declare const ProviderConfigSchema: z.ZodOptional<z.ZodObject<{
62
79
  runnableType?: "chain" | "agent" | "llm" | "runnable" | undefined;
63
80
  captureTraces?: boolean | undefined;
64
81
  captureMessages?: boolean | undefined;
82
+ enableSearch?: boolean | undefined;
83
+ searchOptions?: Record<string, unknown> | undefined;
65
84
  }>>;
66
85
  /**
67
86
  * Expected result types - how to evaluate responses
@@ -107,18 +126,22 @@ export declare const ExpectedSchema: z.ZodUnion<[z.ZodDiscriminatedUnion<"type",
107
126
  type: z.ZodLiteral<"llm_grader">;
108
127
  rubric: z.ZodString;
109
128
  model: z.ZodOptional<z.ZodString>;
110
- provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "langchain", "deepagents", "custom"]>>;
129
+ provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "langchain", "deepagents", "ling", "custom"]>>;
111
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>>;
112
133
  }, "strip", z.ZodTypeAny, {
113
134
  type: "llm_grader";
135
+ strict: boolean;
114
136
  threshold: number;
115
137
  rubric: string;
116
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
117
139
  model?: string | undefined;
118
140
  }, {
119
141
  type: "llm_grader";
120
142
  rubric: string;
121
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
122
145
  threshold?: number | undefined;
123
146
  model?: string | undefined;
124
147
  }>, z.ZodObject<{
@@ -166,6 +189,24 @@ export declare const ExpectedSchema: z.ZodUnion<[z.ZodDiscriminatedUnion<"type",
166
189
  type: "custom";
167
190
  evaluator: string;
168
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;
169
210
  }>, z.ZodObject<{
170
211
  type: z.ZodLiteral<"similarity">;
171
212
  value: z.ZodString;
@@ -245,18 +286,22 @@ export declare const ExpectedSchema: z.ZodUnion<[z.ZodDiscriminatedUnion<"type",
245
286
  type: z.ZodLiteral<"llm_grader">;
246
287
  rubric: z.ZodString;
247
288
  model: z.ZodOptional<z.ZodString>;
248
- provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "langchain", "deepagents", "custom"]>>;
289
+ provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "langchain", "deepagents", "ling", "custom"]>>;
249
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>>;
250
293
  }, "strip", z.ZodTypeAny, {
251
294
  type: "llm_grader";
295
+ strict: boolean;
252
296
  threshold: number;
253
297
  rubric: string;
254
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
255
299
  model?: string | undefined;
256
300
  }, {
257
301
  type: "llm_grader";
258
302
  rubric: string;
259
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
260
305
  threshold?: number | undefined;
261
306
  model?: string | undefined;
262
307
  }>, z.ZodObject<{
@@ -304,6 +349,24 @@ export declare const ExpectedSchema: z.ZodUnion<[z.ZodDiscriminatedUnion<"type",
304
349
  type: "custom";
305
350
  evaluator: string;
306
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;
307
370
  }>, z.ZodObject<{
308
371
  type: z.ZodLiteral<"similarity">;
309
372
  value: z.ZodString;
@@ -358,9 +421,10 @@ export declare const ExpectedSchema: z.ZodUnion<[z.ZodDiscriminatedUnion<"type",
358
421
  threshold: number;
359
422
  } | {
360
423
  type: "llm_grader";
424
+ strict: boolean;
361
425
  threshold: number;
362
426
  rubric: string;
363
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
364
428
  model?: string | undefined;
365
429
  } | {
366
430
  values: string[];
@@ -377,6 +441,12 @@ export declare const ExpectedSchema: z.ZodUnion<[z.ZodDiscriminatedUnion<"type",
377
441
  type: "custom";
378
442
  evaluator: string;
379
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;
380
450
  } | {
381
451
  value: string;
382
452
  type: "similarity";
@@ -407,7 +477,8 @@ export declare const ExpectedSchema: z.ZodUnion<[z.ZodDiscriminatedUnion<"type",
407
477
  } | {
408
478
  type: "llm_grader";
409
479
  rubric: string;
410
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
411
482
  threshold?: number | undefined;
412
483
  model?: string | undefined;
413
484
  } | {
@@ -425,6 +496,12 @@ export declare const ExpectedSchema: z.ZodUnion<[z.ZodDiscriminatedUnion<"type",
425
496
  type: "custom";
426
497
  evaluator: string;
427
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;
428
505
  } | {
429
506
  value: string;
430
507
  type: "similarity";
@@ -442,14 +519,64 @@ export declare const ExpectedSchema: z.ZodUnion<[z.ZodDiscriminatedUnion<"type",
442
519
  * Chat message schema
443
520
  */
444
521
  export declare const ChatMessageSchema: z.ZodObject<{
445
- role: z.ZodEnum<["system", "user", "assistant"]>;
522
+ role: z.ZodEnum<["system", "user", "assistant", "tool"]>;
446
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">>;
447
554
  }, "strip", z.ZodTypeAny, {
448
- role: "system" | "user" | "assistant";
555
+ role: "system" | "user" | "assistant" | "tool";
449
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;
450
567
  }, {
451
- role: "system" | "user" | "assistant";
568
+ role: "system" | "user" | "assistant" | "tool";
452
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;
453
580
  }>;
454
581
  /**
455
582
  * Variables schema - key-value pairs for template substitution
@@ -489,14 +616,64 @@ export declare const TestCaseSchema: z.ZodObject<{
489
616
  name: z.ZodOptional<z.ZodString>;
490
617
  description: z.ZodOptional<z.ZodString>;
491
618
  prompt: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
492
- role: z.ZodEnum<["system", "user", "assistant"]>;
619
+ role: z.ZodEnum<["system", "user", "assistant", "tool"]>;
493
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">>;
494
651
  }, "strip", z.ZodTypeAny, {
495
- role: "system" | "user" | "assistant";
652
+ role: "system" | "user" | "assistant" | "tool";
496
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;
497
664
  }, {
498
- role: "system" | "user" | "assistant";
665
+ role: "system" | "user" | "assistant" | "tool";
499
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;
500
677
  }>, "many">]>;
501
678
  expected: z.ZodUnion<[z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
502
679
  type: z.ZodLiteral<"exact">;
@@ -538,18 +715,22 @@ export declare const TestCaseSchema: z.ZodObject<{
538
715
  type: z.ZodLiteral<"llm_grader">;
539
716
  rubric: z.ZodString;
540
717
  model: z.ZodOptional<z.ZodString>;
541
- provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "langchain", "deepagents", "custom"]>>;
718
+ provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "langchain", "deepagents", "ling", "custom"]>>;
542
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>>;
543
722
  }, "strip", z.ZodTypeAny, {
544
723
  type: "llm_grader";
724
+ strict: boolean;
545
725
  threshold: number;
546
726
  rubric: string;
547
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
548
728
  model?: string | undefined;
549
729
  }, {
550
730
  type: "llm_grader";
551
731
  rubric: string;
552
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
553
734
  threshold?: number | undefined;
554
735
  model?: string | undefined;
555
736
  }>, z.ZodObject<{
@@ -597,6 +778,24 @@ export declare const TestCaseSchema: z.ZodObject<{
597
778
  type: "custom";
598
779
  evaluator: string;
599
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;
600
799
  }>, z.ZodObject<{
601
800
  type: z.ZodLiteral<"similarity">;
602
801
  value: z.ZodString;
@@ -676,18 +875,22 @@ export declare const TestCaseSchema: z.ZodObject<{
676
875
  type: z.ZodLiteral<"llm_grader">;
677
876
  rubric: z.ZodString;
678
877
  model: z.ZodOptional<z.ZodString>;
679
- provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "langchain", "deepagents", "custom"]>>;
878
+ provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "langchain", "deepagents", "ling", "custom"]>>;
680
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>>;
681
882
  }, "strip", z.ZodTypeAny, {
682
883
  type: "llm_grader";
884
+ strict: boolean;
683
885
  threshold: number;
684
886
  rubric: string;
685
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
686
888
  model?: string | undefined;
687
889
  }, {
688
890
  type: "llm_grader";
689
891
  rubric: string;
690
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
691
894
  threshold?: number | undefined;
692
895
  model?: string | undefined;
693
896
  }>, z.ZodObject<{
@@ -735,6 +938,24 @@ export declare const TestCaseSchema: z.ZodObject<{
735
938
  type: "custom";
736
939
  evaluator: string;
737
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;
738
959
  }>, z.ZodObject<{
739
960
  type: z.ZodLiteral<"similarity">;
740
961
  value: z.ZodString;
@@ -789,9 +1010,10 @@ export declare const TestCaseSchema: z.ZodObject<{
789
1010
  threshold: number;
790
1011
  } | {
791
1012
  type: "llm_grader";
1013
+ strict: boolean;
792
1014
  threshold: number;
793
1015
  rubric: string;
794
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
795
1017
  model?: string | undefined;
796
1018
  } | {
797
1019
  values: string[];
@@ -808,6 +1030,12 @@ export declare const TestCaseSchema: z.ZodObject<{
808
1030
  type: "custom";
809
1031
  evaluator: string;
810
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;
811
1039
  } | {
812
1040
  value: string;
813
1041
  type: "similarity";
@@ -838,7 +1066,8 @@ export declare const TestCaseSchema: z.ZodObject<{
838
1066
  } | {
839
1067
  type: "llm_grader";
840
1068
  rubric: string;
841
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
842
1071
  threshold?: number | undefined;
843
1072
  model?: string | undefined;
844
1073
  } | {
@@ -856,6 +1085,12 @@ export declare const TestCaseSchema: z.ZodObject<{
856
1085
  type: "custom";
857
1086
  evaluator: string;
858
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;
859
1094
  } | {
860
1095
  value: string;
861
1096
  type: "similarity";
@@ -873,7 +1108,7 @@ export declare const TestCaseSchema: z.ZodObject<{
873
1108
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
874
1109
  timeout: z.ZodOptional<z.ZodNumber>;
875
1110
  retries: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
876
- provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "langchain", "deepagents", "custom"]>>;
1111
+ provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "langchain", "deepagents", "ling", "custom"]>>;
877
1112
  model: z.ZodOptional<z.ZodString>;
878
1113
  variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
879
1114
  /** Case-level redaction config (overrides scenario-level) */
@@ -915,9 +1150,10 @@ export declare const TestCaseSchema: z.ZodObject<{
915
1150
  threshold: number;
916
1151
  } | {
917
1152
  type: "llm_grader";
1153
+ strict: boolean;
918
1154
  threshold: number;
919
1155
  rubric: string;
920
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
921
1157
  model?: string | undefined;
922
1158
  } | {
923
1159
  values: string[];
@@ -934,6 +1170,12 @@ export declare const TestCaseSchema: z.ZodObject<{
934
1170
  type: "custom";
935
1171
  evaluator: string;
936
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;
937
1179
  } | {
938
1180
  value: string;
939
1181
  type: "similarity";
@@ -962,9 +1204,10 @@ export declare const TestCaseSchema: z.ZodObject<{
962
1204
  threshold: number;
963
1205
  } | {
964
1206
  type: "llm_grader";
1207
+ strict: boolean;
965
1208
  threshold: number;
966
1209
  rubric: string;
967
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
968
1211
  model?: string | undefined;
969
1212
  } | {
970
1213
  values: string[];
@@ -981,6 +1224,12 @@ export declare const TestCaseSchema: z.ZodObject<{
981
1224
  type: "custom";
982
1225
  evaluator: string;
983
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;
984
1233
  } | {
985
1234
  value: string;
986
1235
  type: "similarity";
@@ -996,13 +1245,23 @@ export declare const TestCaseSchema: z.ZodObject<{
996
1245
  };
997
1246
  id: string;
998
1247
  prompt: string | {
999
- role: "system" | "user" | "assistant";
1248
+ role: "system" | "user" | "assistant" | "tool";
1000
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;
1001
1260
  }[];
1002
1261
  tags: string[];
1003
1262
  retries: number;
1004
1263
  name?: string | undefined;
1005
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
1006
1265
  timeout?: number | undefined;
1007
1266
  model?: string | undefined;
1008
1267
  description?: string | undefined;
@@ -1031,7 +1290,8 @@ export declare const TestCaseSchema: z.ZodObject<{
1031
1290
  } | {
1032
1291
  type: "llm_grader";
1033
1292
  rubric: string;
1034
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
1035
1295
  threshold?: number | undefined;
1036
1296
  model?: string | undefined;
1037
1297
  } | {
@@ -1049,6 +1309,12 @@ export declare const TestCaseSchema: z.ZodObject<{
1049
1309
  type: "custom";
1050
1310
  evaluator: string;
1051
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;
1052
1318
  } | {
1053
1319
  value: string;
1054
1320
  type: "similarity";
@@ -1078,7 +1344,8 @@ export declare const TestCaseSchema: z.ZodObject<{
1078
1344
  } | {
1079
1345
  type: "llm_grader";
1080
1346
  rubric: string;
1081
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
1082
1349
  threshold?: number | undefined;
1083
1350
  model?: string | undefined;
1084
1351
  } | {
@@ -1096,6 +1363,12 @@ export declare const TestCaseSchema: z.ZodObject<{
1096
1363
  type: "custom";
1097
1364
  evaluator: string;
1098
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;
1099
1372
  } | {
1100
1373
  value: string;
1101
1374
  type: "similarity";
@@ -1111,11 +1384,21 @@ export declare const TestCaseSchema: z.ZodObject<{
1111
1384
  };
1112
1385
  id: string;
1113
1386
  prompt: string | {
1114
- role: "system" | "user" | "assistant";
1387
+ role: "system" | "user" | "assistant" | "tool";
1115
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;
1116
1399
  }[];
1117
1400
  name?: string | undefined;
1118
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
1119
1402
  metadata?: Record<string, unknown> | undefined;
1120
1403
  timeout?: number | undefined;
1121
1404
  model?: string | undefined;
@@ -1139,7 +1422,7 @@ export declare const ScenarioSchema: z.ZodObject<{
1139
1422
  name: z.ZodString;
1140
1423
  description: z.ZodOptional<z.ZodString>;
1141
1424
  version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1142
- provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "langchain", "deepagents", "custom"]>>;
1425
+ provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "langchain", "deepagents", "ling", "custom"]>>;
1143
1426
  model: z.ZodOptional<z.ZodString>;
1144
1427
  providerConfig: z.ZodOptional<z.ZodObject<{
1145
1428
  apiKey: z.ZodOptional<z.ZodString>;
@@ -1158,7 +1441,19 @@ export declare const ScenarioSchema: z.ZodObject<{
1158
1441
  runnableType: z.ZodOptional<z.ZodEnum<["chain", "agent", "llm", "runnable"]>>;
1159
1442
  captureTraces: z.ZodOptional<z.ZodBoolean>;
1160
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>>;
1161
1453
  }, "strip", z.ZodTypeAny, {
1454
+ thinking?: {
1455
+ type: "enabled" | "disabled";
1456
+ } | undefined;
1162
1457
  name?: string | undefined;
1163
1458
  apiKey?: string | undefined;
1164
1459
  baseUrl?: string | undefined;
@@ -1175,7 +1470,12 @@ export declare const ScenarioSchema: z.ZodObject<{
1175
1470
  runnableType?: "chain" | "agent" | "llm" | "runnable" | undefined;
1176
1471
  captureTraces?: boolean | undefined;
1177
1472
  captureMessages?: boolean | undefined;
1473
+ enableSearch?: boolean | undefined;
1474
+ searchOptions?: Record<string, unknown> | undefined;
1178
1475
  }, {
1476
+ thinking?: {
1477
+ type: "enabled" | "disabled";
1478
+ } | undefined;
1179
1479
  name?: string | undefined;
1180
1480
  apiKey?: string | undefined;
1181
1481
  baseUrl?: string | undefined;
@@ -1192,6 +1492,8 @@ export declare const ScenarioSchema: z.ZodObject<{
1192
1492
  runnableType?: "chain" | "agent" | "llm" | "runnable" | undefined;
1193
1493
  captureTraces?: boolean | undefined;
1194
1494
  captureMessages?: boolean | undefined;
1495
+ enableSearch?: boolean | undefined;
1496
+ searchOptions?: Record<string, unknown> | undefined;
1195
1497
  }>>;
1196
1498
  seed: z.ZodOptional<z.ZodNumber>;
1197
1499
  temperature: z.ZodOptional<z.ZodNumber>;
@@ -1224,26 +1526,178 @@ export declare const ScenarioSchema: z.ZodObject<{
1224
1526
  setup: z.ZodOptional<z.ZodObject<{
1225
1527
  systemPrompt: z.ZodOptional<z.ZodString>;
1226
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
+ }>>;
1227
1591
  }, "strip", z.ZodTypeAny, {
1228
1592
  systemPrompt?: string | undefined;
1229
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;
1230
1614
  }, {
1231
1615
  systemPrompt?: string | undefined;
1232
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;
1233
1637
  }>>;
1234
1638
  cases: z.ZodArray<z.ZodObject<{
1235
1639
  id: z.ZodString;
1236
1640
  name: z.ZodOptional<z.ZodString>;
1237
1641
  description: z.ZodOptional<z.ZodString>;
1238
1642
  prompt: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
1239
- role: z.ZodEnum<["system", "user", "assistant"]>;
1643
+ role: z.ZodEnum<["system", "user", "assistant", "tool"]>;
1240
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">>;
1241
1675
  }, "strip", z.ZodTypeAny, {
1242
- role: "system" | "user" | "assistant";
1676
+ role: "system" | "user" | "assistant" | "tool";
1243
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;
1244
1688
  }, {
1245
- role: "system" | "user" | "assistant";
1689
+ role: "system" | "user" | "assistant" | "tool";
1246
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;
1247
1701
  }>, "many">]>;
1248
1702
  expected: z.ZodUnion<[z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1249
1703
  type: z.ZodLiteral<"exact">;
@@ -1285,18 +1739,22 @@ export declare const ScenarioSchema: z.ZodObject<{
1285
1739
  type: z.ZodLiteral<"llm_grader">;
1286
1740
  rubric: z.ZodString;
1287
1741
  model: z.ZodOptional<z.ZodString>;
1288
- provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "langchain", "deepagents", "custom"]>>;
1742
+ provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "langchain", "deepagents", "ling", "custom"]>>;
1289
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>>;
1290
1746
  }, "strip", z.ZodTypeAny, {
1291
1747
  type: "llm_grader";
1748
+ strict: boolean;
1292
1749
  threshold: number;
1293
1750
  rubric: string;
1294
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
1295
1752
  model?: string | undefined;
1296
1753
  }, {
1297
1754
  type: "llm_grader";
1298
1755
  rubric: string;
1299
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
1300
1758
  threshold?: number | undefined;
1301
1759
  model?: string | undefined;
1302
1760
  }>, z.ZodObject<{
@@ -1344,6 +1802,24 @@ export declare const ScenarioSchema: z.ZodObject<{
1344
1802
  type: "custom";
1345
1803
  evaluator: string;
1346
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;
1347
1823
  }>, z.ZodObject<{
1348
1824
  type: z.ZodLiteral<"similarity">;
1349
1825
  value: z.ZodString;
@@ -1423,18 +1899,22 @@ export declare const ScenarioSchema: z.ZodObject<{
1423
1899
  type: z.ZodLiteral<"llm_grader">;
1424
1900
  rubric: z.ZodString;
1425
1901
  model: z.ZodOptional<z.ZodString>;
1426
- provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "langchain", "deepagents", "custom"]>>;
1902
+ provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "langchain", "deepagents", "ling", "custom"]>>;
1427
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>>;
1428
1906
  }, "strip", z.ZodTypeAny, {
1429
1907
  type: "llm_grader";
1908
+ strict: boolean;
1430
1909
  threshold: number;
1431
1910
  rubric: string;
1432
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
1433
1912
  model?: string | undefined;
1434
1913
  }, {
1435
1914
  type: "llm_grader";
1436
1915
  rubric: string;
1437
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
1438
1918
  threshold?: number | undefined;
1439
1919
  model?: string | undefined;
1440
1920
  }>, z.ZodObject<{
@@ -1482,6 +1962,24 @@ export declare const ScenarioSchema: z.ZodObject<{
1482
1962
  type: "custom";
1483
1963
  evaluator: string;
1484
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;
1485
1983
  }>, z.ZodObject<{
1486
1984
  type: z.ZodLiteral<"similarity">;
1487
1985
  value: z.ZodString;
@@ -1536,9 +2034,10 @@ export declare const ScenarioSchema: z.ZodObject<{
1536
2034
  threshold: number;
1537
2035
  } | {
1538
2036
  type: "llm_grader";
2037
+ strict: boolean;
1539
2038
  threshold: number;
1540
2039
  rubric: string;
1541
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
1542
2041
  model?: string | undefined;
1543
2042
  } | {
1544
2043
  values: string[];
@@ -1555,6 +2054,12 @@ export declare const ScenarioSchema: z.ZodObject<{
1555
2054
  type: "custom";
1556
2055
  evaluator: string;
1557
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;
1558
2063
  } | {
1559
2064
  value: string;
1560
2065
  type: "similarity";
@@ -1585,7 +2090,8 @@ export declare const ScenarioSchema: z.ZodObject<{
1585
2090
  } | {
1586
2091
  type: "llm_grader";
1587
2092
  rubric: string;
1588
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
1589
2095
  threshold?: number | undefined;
1590
2096
  model?: string | undefined;
1591
2097
  } | {
@@ -1603,6 +2109,12 @@ export declare const ScenarioSchema: z.ZodObject<{
1603
2109
  type: "custom";
1604
2110
  evaluator: string;
1605
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;
1606
2118
  } | {
1607
2119
  value: string;
1608
2120
  type: "similarity";
@@ -1620,7 +2132,7 @@ export declare const ScenarioSchema: z.ZodObject<{
1620
2132
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1621
2133
  timeout: z.ZodOptional<z.ZodNumber>;
1622
2134
  retries: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1623
- provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "langchain", "deepagents", "custom"]>>;
2135
+ provider: z.ZodOptional<z.ZodEnum<["openai", "azure-openai", "vercel-ai", "anthropic", "google", "mistral", "cohere", "huggingface", "ollama", "langchain", "deepagents", "ling", "custom"]>>;
1624
2136
  model: z.ZodOptional<z.ZodString>;
1625
2137
  variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
1626
2138
  /** Case-level redaction config (overrides scenario-level) */
@@ -1662,9 +2174,10 @@ export declare const ScenarioSchema: z.ZodObject<{
1662
2174
  threshold: number;
1663
2175
  } | {
1664
2176
  type: "llm_grader";
2177
+ strict: boolean;
1665
2178
  threshold: number;
1666
2179
  rubric: string;
1667
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
1668
2181
  model?: string | undefined;
1669
2182
  } | {
1670
2183
  values: string[];
@@ -1681,6 +2194,12 @@ export declare const ScenarioSchema: z.ZodObject<{
1681
2194
  type: "custom";
1682
2195
  evaluator: string;
1683
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;
1684
2203
  } | {
1685
2204
  value: string;
1686
2205
  type: "similarity";
@@ -1709,9 +2228,10 @@ export declare const ScenarioSchema: z.ZodObject<{
1709
2228
  threshold: number;
1710
2229
  } | {
1711
2230
  type: "llm_grader";
2231
+ strict: boolean;
1712
2232
  threshold: number;
1713
2233
  rubric: string;
1714
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
1715
2235
  model?: string | undefined;
1716
2236
  } | {
1717
2237
  values: string[];
@@ -1728,6 +2248,12 @@ export declare const ScenarioSchema: z.ZodObject<{
1728
2248
  type: "custom";
1729
2249
  evaluator: string;
1730
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;
1731
2257
  } | {
1732
2258
  value: string;
1733
2259
  type: "similarity";
@@ -1743,13 +2269,23 @@ export declare const ScenarioSchema: z.ZodObject<{
1743
2269
  };
1744
2270
  id: string;
1745
2271
  prompt: string | {
1746
- role: "system" | "user" | "assistant";
2272
+ role: "system" | "user" | "assistant" | "tool";
1747
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;
1748
2284
  }[];
1749
2285
  tags: string[];
1750
2286
  retries: number;
1751
2287
  name?: string | undefined;
1752
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
1753
2289
  timeout?: number | undefined;
1754
2290
  model?: string | undefined;
1755
2291
  description?: string | undefined;
@@ -1778,7 +2314,8 @@ export declare const ScenarioSchema: z.ZodObject<{
1778
2314
  } | {
1779
2315
  type: "llm_grader";
1780
2316
  rubric: string;
1781
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
1782
2319
  threshold?: number | undefined;
1783
2320
  model?: string | undefined;
1784
2321
  } | {
@@ -1796,6 +2333,12 @@ export declare const ScenarioSchema: z.ZodObject<{
1796
2333
  type: "custom";
1797
2334
  evaluator: string;
1798
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;
1799
2342
  } | {
1800
2343
  value: string;
1801
2344
  type: "similarity";
@@ -1825,7 +2368,8 @@ export declare const ScenarioSchema: z.ZodObject<{
1825
2368
  } | {
1826
2369
  type: "llm_grader";
1827
2370
  rubric: string;
1828
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
1829
2373
  threshold?: number | undefined;
1830
2374
  model?: string | undefined;
1831
2375
  } | {
@@ -1843,6 +2387,12 @@ export declare const ScenarioSchema: z.ZodObject<{
1843
2387
  type: "custom";
1844
2388
  evaluator: string;
1845
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;
1846
2396
  } | {
1847
2397
  value: string;
1848
2398
  type: "similarity";
@@ -1858,11 +2408,21 @@ export declare const ScenarioSchema: z.ZodObject<{
1858
2408
  };
1859
2409
  id: string;
1860
2410
  prompt: string | {
1861
- role: "system" | "user" | "assistant";
2411
+ role: "system" | "user" | "assistant" | "tool";
1862
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;
1863
2423
  }[];
1864
2424
  name?: string | undefined;
1865
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
1866
2426
  metadata?: Record<string, unknown> | undefined;
1867
2427
  timeout?: number | undefined;
1868
2428
  model?: string | undefined;
@@ -1906,9 +2466,10 @@ export declare const ScenarioSchema: z.ZodObject<{
1906
2466
  threshold: number;
1907
2467
  } | {
1908
2468
  type: "llm_grader";
2469
+ strict: boolean;
1909
2470
  threshold: number;
1910
2471
  rubric: string;
1911
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
1912
2473
  model?: string | undefined;
1913
2474
  } | {
1914
2475
  values: string[];
@@ -1925,6 +2486,12 @@ export declare const ScenarioSchema: z.ZodObject<{
1925
2486
  type: "custom";
1926
2487
  evaluator: string;
1927
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;
1928
2495
  } | {
1929
2496
  value: string;
1930
2497
  type: "similarity";
@@ -1953,9 +2520,10 @@ export declare const ScenarioSchema: z.ZodObject<{
1953
2520
  threshold: number;
1954
2521
  } | {
1955
2522
  type: "llm_grader";
2523
+ strict: boolean;
1956
2524
  threshold: number;
1957
2525
  rubric: string;
1958
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
1959
2527
  model?: string | undefined;
1960
2528
  } | {
1961
2529
  values: string[];
@@ -1972,6 +2540,12 @@ export declare const ScenarioSchema: z.ZodObject<{
1972
2540
  type: "custom";
1973
2541
  evaluator: string;
1974
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;
1975
2549
  } | {
1976
2550
  value: string;
1977
2551
  type: "similarity";
@@ -1987,13 +2561,23 @@ export declare const ScenarioSchema: z.ZodObject<{
1987
2561
  };
1988
2562
  id: string;
1989
2563
  prompt: string | {
1990
- role: "system" | "user" | "assistant";
2564
+ role: "system" | "user" | "assistant" | "tool";
1991
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;
1992
2576
  }[];
1993
2577
  tags: string[];
1994
2578
  retries: number;
1995
2579
  name?: string | undefined;
1996
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
1997
2581
  timeout?: number | undefined;
1998
2582
  model?: string | undefined;
1999
2583
  description?: string | undefined;
@@ -2007,7 +2591,7 @@ export declare const ScenarioSchema: z.ZodObject<{
2007
2591
  patterns?: string[] | undefined;
2008
2592
  } | undefined;
2009
2593
  }[];
2010
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
2011
2595
  model?: string | undefined;
2012
2596
  description?: string | undefined;
2013
2597
  variables?: Record<string, string | number | boolean> | undefined;
@@ -2020,6 +2604,9 @@ export declare const ScenarioSchema: z.ZodObject<{
2020
2604
  patterns?: string[] | undefined;
2021
2605
  } | undefined;
2022
2606
  providerConfig?: {
2607
+ thinking?: {
2608
+ type: "enabled" | "disabled";
2609
+ } | undefined;
2023
2610
  name?: string | undefined;
2024
2611
  apiKey?: string | undefined;
2025
2612
  baseUrl?: string | undefined;
@@ -2036,6 +2623,8 @@ export declare const ScenarioSchema: z.ZodObject<{
2036
2623
  runnableType?: "chain" | "agent" | "llm" | "runnable" | undefined;
2037
2624
  captureTraces?: boolean | undefined;
2038
2625
  captureMessages?: boolean | undefined;
2626
+ enableSearch?: boolean | undefined;
2627
+ searchOptions?: Record<string, unknown> | undefined;
2039
2628
  } | undefined;
2040
2629
  seed?: number | undefined;
2041
2630
  temperature?: number | undefined;
@@ -2043,6 +2632,26 @@ export declare const ScenarioSchema: z.ZodObject<{
2043
2632
  setup?: {
2044
2633
  systemPrompt?: string | undefined;
2045
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;
2046
2655
  } | undefined;
2047
2656
  teardown?: {
2048
2657
  cleanup?: boolean | undefined;
@@ -2065,7 +2674,8 @@ export declare const ScenarioSchema: z.ZodObject<{
2065
2674
  } | {
2066
2675
  type: "llm_grader";
2067
2676
  rubric: string;
2068
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
2069
2679
  threshold?: number | undefined;
2070
2680
  model?: string | undefined;
2071
2681
  } | {
@@ -2083,6 +2693,12 @@ export declare const ScenarioSchema: z.ZodObject<{
2083
2693
  type: "custom";
2084
2694
  evaluator: string;
2085
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;
2086
2702
  } | {
2087
2703
  value: string;
2088
2704
  type: "similarity";
@@ -2112,7 +2728,8 @@ export declare const ScenarioSchema: z.ZodObject<{
2112
2728
  } | {
2113
2729
  type: "llm_grader";
2114
2730
  rubric: string;
2115
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
2116
2733
  threshold?: number | undefined;
2117
2734
  model?: string | undefined;
2118
2735
  } | {
@@ -2130,6 +2747,12 @@ export declare const ScenarioSchema: z.ZodObject<{
2130
2747
  type: "custom";
2131
2748
  evaluator: string;
2132
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;
2133
2756
  } | {
2134
2757
  value: string;
2135
2758
  type: "similarity";
@@ -2145,11 +2768,21 @@ export declare const ScenarioSchema: z.ZodObject<{
2145
2768
  };
2146
2769
  id: string;
2147
2770
  prompt: string | {
2148
- role: "system" | "user" | "assistant";
2771
+ role: "system" | "user" | "assistant" | "tool";
2149
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;
2150
2783
  }[];
2151
2784
  name?: string | undefined;
2152
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
2153
2786
  metadata?: Record<string, unknown> | undefined;
2154
2787
  timeout?: number | undefined;
2155
2788
  model?: string | undefined;
@@ -2166,7 +2799,7 @@ export declare const ScenarioSchema: z.ZodObject<{
2166
2799
  replacement?: string | undefined;
2167
2800
  } | undefined;
2168
2801
  }[];
2169
- provider?: "openai" | "azure-openai" | "vercel-ai" | "anthropic" | "langchain" | "deepagents" | "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;
2170
2803
  model?: string | undefined;
2171
2804
  description?: string | undefined;
2172
2805
  tags?: string[] | undefined;
@@ -2181,6 +2814,9 @@ export declare const ScenarioSchema: z.ZodObject<{
2181
2814
  } | undefined;
2182
2815
  version?: string | undefined;
2183
2816
  providerConfig?: {
2817
+ thinking?: {
2818
+ type: "enabled" | "disabled";
2819
+ } | undefined;
2184
2820
  name?: string | undefined;
2185
2821
  apiKey?: string | undefined;
2186
2822
  baseUrl?: string | undefined;
@@ -2197,6 +2833,8 @@ export declare const ScenarioSchema: z.ZodObject<{
2197
2833
  runnableType?: "chain" | "agent" | "llm" | "runnable" | undefined;
2198
2834
  captureTraces?: boolean | undefined;
2199
2835
  captureMessages?: boolean | undefined;
2836
+ enableSearch?: boolean | undefined;
2837
+ searchOptions?: Record<string, unknown> | undefined;
2200
2838
  } | undefined;
2201
2839
  seed?: number | undefined;
2202
2840
  temperature?: number | undefined;
@@ -2204,6 +2842,26 @@ export declare const ScenarioSchema: z.ZodObject<{
2204
2842
  setup?: {
2205
2843
  systemPrompt?: string | undefined;
2206
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;
2207
2865
  } | undefined;
2208
2866
  teardown?: {
2209
2867
  cleanup?: boolean | undefined;