promptfoo 0.69.0 → 0.69.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 (204) hide show
  1. package/dist/package.json +18 -17
  2. package/dist/src/__mocks__/database.d.ts +0 -1
  3. package/dist/src/__mocks__/database.d.ts.map +1 -1
  4. package/dist/src/__mocks__/esm.js +2 -3
  5. package/dist/src/__mocks__/esm.js.map +1 -1
  6. package/dist/src/accounts.js +4 -5
  7. package/dist/src/accounts.js.map +1 -1
  8. package/dist/src/assertions/AssertionsResult.js +3 -3
  9. package/dist/src/assertions/AssertionsResult.js.map +1 -1
  10. package/dist/src/assertions/validateAssertions.js +2 -2
  11. package/dist/src/assertions/validateAssertions.js.map +1 -1
  12. package/dist/src/assertions.js +6 -6
  13. package/dist/src/assertions.js.map +1 -1
  14. package/dist/src/cache.d.ts.map +1 -1
  15. package/dist/src/cache.js +6 -7
  16. package/dist/src/cache.js.map +1 -1
  17. package/dist/src/commands/config.js +1 -2
  18. package/dist/src/commands/config.js.map +1 -1
  19. package/dist/src/commands/delete.js +1 -2
  20. package/dist/src/commands/delete.js.map +1 -1
  21. package/dist/src/commands/eval/filterFailingTests.js +1 -2
  22. package/dist/src/commands/eval/filterFailingTests.js.map +1 -1
  23. package/dist/src/commands/eval/filterProviders.js +1 -2
  24. package/dist/src/commands/eval/filterProviders.js.map +1 -1
  25. package/dist/src/commands/eval/filterTests.js +1 -2
  26. package/dist/src/commands/eval/filterTests.js.map +1 -1
  27. package/dist/src/commands/export.js +1 -2
  28. package/dist/src/commands/export.js.map +1 -1
  29. package/dist/src/commands/import.js +1 -2
  30. package/dist/src/commands/import.js.map +1 -1
  31. package/dist/src/commands/list.js +1 -2
  32. package/dist/src/commands/list.js.map +1 -1
  33. package/dist/src/commands/show.js +1 -2
  34. package/dist/src/commands/show.js.map +1 -1
  35. package/dist/src/csv.js +2 -3
  36. package/dist/src/csv.js.map +1 -1
  37. package/dist/src/database.js +4 -4
  38. package/dist/src/database.js.map +1 -1
  39. package/dist/src/esm.js +2 -3
  40. package/dist/src/esm.js.map +1 -1
  41. package/dist/src/evaluator.d.ts.map +1 -1
  42. package/dist/src/evaluator.js +30 -17
  43. package/dist/src/evaluator.js.map +1 -1
  44. package/dist/src/feedback.js +2 -3
  45. package/dist/src/feedback.js.map +1 -1
  46. package/dist/src/fetch.d.ts +2 -3
  47. package/dist/src/fetch.d.ts.map +1 -1
  48. package/dist/src/fetch.js +7 -6
  49. package/dist/src/fetch.js.map +1 -1
  50. package/dist/src/globalConfig.js +5 -6
  51. package/dist/src/globalConfig.js.map +1 -1
  52. package/dist/src/googleSheets.js +4 -5
  53. package/dist/src/googleSheets.js.map +1 -1
  54. package/dist/src/index.js +2 -2
  55. package/dist/src/index.js.map +1 -1
  56. package/dist/src/integrations/langfuse.js +1 -2
  57. package/dist/src/integrations/langfuse.js.map +1 -1
  58. package/dist/src/integrations/portkey.js +1 -2
  59. package/dist/src/integrations/portkey.js.map +1 -1
  60. package/dist/src/logger.js +3 -3
  61. package/dist/src/logger.js.map +1 -1
  62. package/dist/src/main.js +20 -1
  63. package/dist/src/main.js.map +1 -1
  64. package/dist/src/matchers.js +13 -14
  65. package/dist/src/matchers.js.map +1 -1
  66. package/dist/src/migrate.js +1 -2
  67. package/dist/src/migrate.js.map +1 -1
  68. package/dist/src/onboarding.js +2 -2
  69. package/dist/src/onboarding.js.map +1 -1
  70. package/dist/src/prompts/index.js +3 -4
  71. package/dist/src/prompts/index.js.map +1 -1
  72. package/dist/src/prompts/processors/javascript.d.ts +5 -1
  73. package/dist/src/prompts/processors/javascript.d.ts.map +1 -1
  74. package/dist/src/prompts/processors/javascript.js +15 -3
  75. package/dist/src/prompts/processors/javascript.js.map +1 -1
  76. package/dist/src/prompts/processors/json.js +1 -2
  77. package/dist/src/prompts/processors/json.js.map +1 -1
  78. package/dist/src/prompts/processors/jsonl.js +1 -2
  79. package/dist/src/prompts/processors/jsonl.js.map +1 -1
  80. package/dist/src/prompts/processors/python.d.ts +1 -1
  81. package/dist/src/prompts/processors/python.d.ts.map +1 -1
  82. package/dist/src/prompts/processors/python.js +24 -18
  83. package/dist/src/prompts/processors/python.js.map +1 -1
  84. package/dist/src/prompts/processors/string.js +1 -2
  85. package/dist/src/prompts/processors/string.js.map +1 -1
  86. package/dist/src/prompts/processors/text.js +1 -2
  87. package/dist/src/prompts/processors/text.js.map +1 -1
  88. package/dist/src/prompts/processors/yaml.js +1 -2
  89. package/dist/src/prompts/processors/yaml.js.map +1 -1
  90. package/dist/src/prompts/utils.js +2 -3
  91. package/dist/src/prompts/utils.js.map +1 -1
  92. package/dist/src/providers/anthropic.js +4 -4
  93. package/dist/src/providers/anthropic.js.map +1 -1
  94. package/dist/src/providers/azureopenaiUtil.js +1 -2
  95. package/dist/src/providers/azureopenaiUtil.js.map +1 -1
  96. package/dist/src/providers/bedrock.d.ts +3 -3
  97. package/dist/src/providers/bedrock.d.ts.map +1 -1
  98. package/dist/src/providers/bedrock.js +3 -3
  99. package/dist/src/providers/bedrock.js.map +1 -1
  100. package/dist/src/providers/defaults.js +1 -2
  101. package/dist/src/providers/defaults.js.map +1 -1
  102. package/dist/src/providers/openai.d.ts.map +1 -1
  103. package/dist/src/providers/openai.js +1 -0
  104. package/dist/src/providers/openai.js.map +1 -1
  105. package/dist/src/providers/openaiUtil.js +1 -2
  106. package/dist/src/providers/openaiUtil.js.map +1 -1
  107. package/dist/src/providers/pythonCompletion.d.ts.map +1 -1
  108. package/dist/src/providers/scriptCompletion.d.ts.map +1 -1
  109. package/dist/src/providers/shared.js +3 -3
  110. package/dist/src/providers/shared.js.map +1 -1
  111. package/dist/src/providers/vertexUtil.js +3 -4
  112. package/dist/src/providers/vertexUtil.js.map +1 -1
  113. package/dist/src/providers.d.ts.map +1 -1
  114. package/dist/src/providers.js +5 -7
  115. package/dist/src/providers.js.map +1 -1
  116. package/dist/src/python/wrapper.d.ts +1 -1
  117. package/dist/src/python/wrapper.d.ts.map +1 -1
  118. package/dist/src/python/wrapper.js +2 -3
  119. package/dist/src/python/wrapper.js.map +1 -1
  120. package/dist/src/python/wrapper.py +9 -10
  121. package/dist/src/redteam/getCompetitorTests.js +1 -2
  122. package/dist/src/redteam/getCompetitorTests.js.map +1 -1
  123. package/dist/src/redteam/getHallucinationTests.js +1 -2
  124. package/dist/src/redteam/getHallucinationTests.js.map +1 -1
  125. package/dist/src/redteam/getHarmfulTests.d.ts +16 -16
  126. package/dist/src/redteam/getHarmfulTests.d.ts.map +1 -1
  127. package/dist/src/redteam/getHarmfulTests.js +4 -4
  128. package/dist/src/redteam/getHarmfulTests.js.map +1 -1
  129. package/dist/src/redteam/getHijackingTests.js +1 -2
  130. package/dist/src/redteam/getHijackingTests.js.map +1 -1
  131. package/dist/src/redteam/getOverconfidenceTests.js +1 -2
  132. package/dist/src/redteam/getOverconfidenceTests.js.map +1 -1
  133. package/dist/src/redteam/getPiiTests.js +1 -2
  134. package/dist/src/redteam/getPiiTests.js.map +1 -1
  135. package/dist/src/redteam/getPoliticalStatementsTests.js +1 -2
  136. package/dist/src/redteam/getPoliticalStatementsTests.js.map +1 -1
  137. package/dist/src/redteam/getUnderconfidenceTests.js +1 -2
  138. package/dist/src/redteam/getUnderconfidenceTests.js.map +1 -1
  139. package/dist/src/redteam/getUnintendedContractTests.js +1 -2
  140. package/dist/src/redteam/getUnintendedContractTests.js.map +1 -1
  141. package/dist/src/redteam/index.js +3 -3
  142. package/dist/src/redteam/index.js.map +1 -1
  143. package/dist/src/share.js +1 -2
  144. package/dist/src/share.js.map +1 -1
  145. package/dist/src/suggestions.js +1 -2
  146. package/dist/src/suggestions.js.map +1 -1
  147. package/dist/src/table.js +2 -3
  148. package/dist/src/table.js.map +1 -1
  149. package/dist/src/testCases.js +6 -7
  150. package/dist/src/testCases.js.map +1 -1
  151. package/dist/src/types.d.ts +950 -138
  152. package/dist/src/types.d.ts.map +1 -1
  153. package/dist/src/types.js +196 -4
  154. package/dist/src/types.js.map +1 -1
  155. package/dist/src/updates.js +2 -3
  156. package/dist/src/updates.js.map +1 -1
  157. package/dist/src/util.js +48 -49
  158. package/dist/src/util.js.map +1 -1
  159. package/dist/src/web/nextui/404/index.html +1 -1
  160. package/dist/src/web/nextui/404.html +1 -1
  161. package/dist/src/web/nextui/_next/static/chunks/858-5d3a3678769b7e36.js +1 -1
  162. package/dist/src/web/nextui/_next/static/chunks/954-c35d4864ecbacd62.js +6 -0
  163. package/dist/src/web/nextui/_next/static/chunks/app/auth/login/{page-ee73165dd261f3ca.js → page-6fcc9431205718c7.js} +1 -1
  164. package/dist/src/web/nextui/_next/static/chunks/app/auth/signup/{page-7375a6707eb8675e.js → page-8caf49a834d34420.js} +1 -1
  165. package/dist/src/web/nextui/_next/static/chunks/app/datasets/page-4f93aacd25866d60.js +1 -0
  166. package/dist/src/web/nextui/_next/static/chunks/app/eval/[id]/not-found-ce320e6d1e6d1d23.js +1 -0
  167. package/dist/src/web/nextui/_next/static/chunks/app/eval/[id]/{page-310e2e58179970fa.js → page-3c5a944373865122.js} +1 -1
  168. package/dist/src/web/nextui/_next/static/chunks/app/eval/page-73e894c39cc191f1.js +1 -0
  169. package/dist/src/web/nextui/_next/static/chunks/app/{layout-eb2c3e6b0b7cca53.js → layout-2038906de6c19565.js} +1 -1
  170. package/dist/src/web/nextui/_next/static/chunks/app/{page-251d4ea0ac894cd9.js → page-e07a0ddbf3d6e21c.js} +1 -1
  171. package/dist/src/web/nextui/_next/static/chunks/app/progress/page-73442c531d579c51.js +1 -0
  172. package/dist/src/web/nextui/_next/static/chunks/app/prompts/{page-6d29c01079a556f4.js → page-50e27c24c9e255bd.js} +1 -1
  173. package/dist/src/web/nextui/_next/static/chunks/app/report/{page-49d3492c635a81f5.js → page-a0a68795eb905dcc.js} +1 -1
  174. package/dist/src/web/nextui/_next/static/chunks/app/setup/{page-8774494ce5143c0b.js → page-26cb5d2478fdbd34.js} +1 -1
  175. package/dist/src/web/nextui/_next/static/chunks/{main-app-345c3eca7e5cf432.js → main-app-929a26b3c8cd3f7a.js} +1 -1
  176. package/dist/src/web/nextui/auth/login/index.html +1 -1
  177. package/dist/src/web/nextui/auth/login/index.txt +3 -3
  178. package/dist/src/web/nextui/auth/signup/index.html +1 -1
  179. package/dist/src/web/nextui/auth/signup/index.txt +3 -3
  180. package/dist/src/web/nextui/datasets/index.html +1 -1
  181. package/dist/src/web/nextui/datasets/index.txt +3 -3
  182. package/dist/src/web/nextui/eval/index.html +1 -1
  183. package/dist/src/web/nextui/eval/index.txt +3 -3
  184. package/dist/src/web/nextui/index.html +1 -1
  185. package/dist/src/web/nextui/index.txt +2 -2
  186. package/dist/src/web/nextui/progress/index.html +1 -1
  187. package/dist/src/web/nextui/progress/index.txt +3 -3
  188. package/dist/src/web/nextui/prompts/index.html +1 -1
  189. package/dist/src/web/nextui/prompts/index.txt +3 -3
  190. package/dist/src/web/nextui/report/index.html +1 -1
  191. package/dist/src/web/nextui/report/index.txt +3 -3
  192. package/dist/src/web/nextui/setup/index.html +2 -2
  193. package/dist/src/web/nextui/setup/index.txt +3 -3
  194. package/dist/src/web/server.js +2 -2
  195. package/dist/src/web/server.js.map +1 -1
  196. package/package.json +18 -17
  197. package/dist/src/web/nextui/_next/static/chunks/954-58788165fb1e9563.js +0 -6
  198. package/dist/src/web/nextui/_next/static/chunks/app/datasets/page-c11cfb1b2c58325f.js +0 -1
  199. package/dist/src/web/nextui/_next/static/chunks/app/eval/[id]/not-found-50073ee4b153b82b.js +0 -1
  200. package/dist/src/web/nextui/_next/static/chunks/app/eval/page-87d1e9bc26842e95.js +0 -1
  201. package/dist/src/web/nextui/_next/static/chunks/app/progress/page-15df1d043dee2f17.js +0 -1
  202. /package/dist/src/web/nextui/_next/static/{BCTl7ZJHSXC8sDtmlizu8 → 1r10QuQFZj3AAU-Bx1DRP}/_buildManifest.js +0 -0
  203. /package/dist/src/web/nextui/_next/static/{BCTl7ZJHSXC8sDtmlizu8 → 1r10QuQFZj3AAU-Bx1DRP}/_ssgManifest.js +0 -0
  204. /package/dist/src/web/nextui/_next/static/chunks/{2-57ab5e84907f795a.js → 2-671ad31c05d2c976.js} +0 -0
@@ -1,103 +1,490 @@
1
- import type { fetchWithCache, getCache } from './cache';
2
- import type logger from './logger';
1
+ import { z } from 'zod';
3
2
  export type FilePath = string;
4
- export interface CommandLineOptions {
5
- prompts?: FilePath[];
6
- providers: FilePath[];
7
- output: FilePath[];
3
+ export declare const CommandLineOptionsSchema: z.ZodObject<{
4
+ prompts: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
5
+ providers: z.ZodArray<z.ZodString, "many">;
6
+ output: z.ZodArray<z.ZodString, "many">;
7
+ maxConcurrency: z.ZodString;
8
+ repeat: z.ZodString;
9
+ delay: z.ZodString;
10
+ vars: z.ZodOptional<z.ZodString>;
11
+ tests: z.ZodOptional<z.ZodString>;
12
+ config: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
13
+ assertions: z.ZodOptional<z.ZodString>;
14
+ modelOutputs: z.ZodOptional<z.ZodString>;
15
+ verbose: z.ZodOptional<z.ZodBoolean>;
16
+ grader: z.ZodOptional<z.ZodString>;
17
+ tableCellMaxLength: z.ZodOptional<z.ZodString>;
18
+ write: z.ZodOptional<z.ZodBoolean>;
19
+ cache: z.ZodOptional<z.ZodBoolean>;
20
+ table: z.ZodOptional<z.ZodBoolean>;
21
+ share: z.ZodOptional<z.ZodBoolean>;
22
+ progressBar: z.ZodOptional<z.ZodBoolean>;
23
+ watch: z.ZodOptional<z.ZodBoolean>;
24
+ interactiveProviders: z.ZodOptional<z.ZodBoolean>;
25
+ filterFailing: z.ZodOptional<z.ZodString>;
26
+ filterFirstN: z.ZodOptional<z.ZodString>;
27
+ filterPattern: z.ZodOptional<z.ZodString>;
28
+ filterProviders: z.ZodOptional<z.ZodString>;
29
+ var: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
30
+ generateSuggestions: z.ZodOptional<z.ZodBoolean>;
31
+ promptPrefix: z.ZodOptional<z.ZodString>;
32
+ promptSuffix: z.ZodOptional<z.ZodString>;
33
+ envFile: z.ZodOptional<z.ZodString>;
34
+ }, "strip", z.ZodTypeAny, {
35
+ providers: string[];
36
+ output: string[];
8
37
  maxConcurrency: string;
9
38
  repeat: string;
10
39
  delay: string;
11
- vars?: FilePath;
12
- tests?: FilePath;
13
- config?: FilePath[];
14
- assertions?: FilePath;
15
- modelOutputs?: FilePath;
16
- verbose?: boolean;
17
- grader?: string;
18
- tableCellMaxLength?: string;
19
- write?: boolean;
20
- cache?: boolean;
21
- table?: boolean;
22
- share?: boolean;
23
- progressBar?: boolean;
24
- watch?: boolean;
25
- interactiveProviders?: boolean;
26
- filterFailing?: string;
27
- filterFirstN?: string;
28
- filterPattern?: string;
29
- filterProviders?: string;
30
- var?: Record<string, string>;
31
- generateSuggestions?: boolean;
32
- promptPrefix?: string;
33
- promptSuffix?: string;
34
- envFile?: FilePath;
35
- }
36
- export interface EnvOverrides {
37
- ANTHROPIC_API_KEY?: string;
38
- BAM_API_KEY?: string;
39
- BAM_API_HOST?: string;
40
- AZURE_OPENAI_API_HOST?: string;
41
- AZURE_OPENAI_API_KEY?: string;
42
- AZURE_OPENAI_API_BASE_URL?: string;
43
- AZURE_OPENAI_BASE_URL?: string;
44
- AWS_BEDROCK_REGION?: string;
45
- COHERE_API_KEY?: string;
46
- OPENAI_API_KEY?: string;
47
- OPENAI_API_HOST?: string;
48
- OPENAI_API_BASE_URL?: string;
49
- OPENAI_BASE_URL?: string;
50
- OPENAI_ORGANIZATION?: string;
51
- REPLICATE_API_KEY?: string;
52
- REPLICATE_API_TOKEN?: string;
53
- LOCALAI_BASE_URL?: string;
54
- MISTRAL_API_HOST?: string;
55
- MISTRAL_API_BASE_URL?: string;
56
- PALM_API_KEY?: string;
57
- PALM_API_HOST?: string;
58
- GOOGLE_API_KEY?: string;
59
- GOOGLE_API_HOST?: string;
60
- VERTEX_API_KEY?: string;
61
- VERTEX_API_HOST?: string;
62
- VERTEX_PROJECT_ID?: string;
63
- VERTEX_REGION?: string;
64
- VERTEX_PUBLISHER?: string;
65
- MISTRAL_API_KEY?: string;
66
- CLOUDFLARE_API_KEY?: string;
67
- CLOUDFLARE_ACCOUNT_ID?: string;
68
- }
69
- export interface ProviderOptions {
70
- id?: ProviderId;
71
- label?: ProviderLabel;
40
+ prompts?: string[] | undefined;
41
+ vars?: string | undefined;
42
+ tests?: string | undefined;
43
+ config?: string[] | undefined;
44
+ assertions?: string | undefined;
45
+ modelOutputs?: string | undefined;
46
+ verbose?: boolean | undefined;
47
+ grader?: string | undefined;
48
+ tableCellMaxLength?: string | undefined;
49
+ write?: boolean | undefined;
50
+ cache?: boolean | undefined;
51
+ table?: boolean | undefined;
52
+ share?: boolean | undefined;
53
+ progressBar?: boolean | undefined;
54
+ watch?: boolean | undefined;
55
+ interactiveProviders?: boolean | undefined;
56
+ filterFailing?: string | undefined;
57
+ filterFirstN?: string | undefined;
58
+ filterPattern?: string | undefined;
59
+ filterProviders?: string | undefined;
60
+ var?: Record<string, string> | undefined;
61
+ generateSuggestions?: boolean | undefined;
62
+ promptPrefix?: string | undefined;
63
+ promptSuffix?: string | undefined;
64
+ envFile?: string | undefined;
65
+ }, {
66
+ providers: string[];
67
+ output: string[];
68
+ maxConcurrency: string;
69
+ repeat: string;
70
+ delay: string;
71
+ prompts?: string[] | undefined;
72
+ vars?: string | undefined;
73
+ tests?: string | undefined;
74
+ config?: string[] | undefined;
75
+ assertions?: string | undefined;
76
+ modelOutputs?: string | undefined;
77
+ verbose?: boolean | undefined;
78
+ grader?: string | undefined;
79
+ tableCellMaxLength?: string | undefined;
80
+ write?: boolean | undefined;
81
+ cache?: boolean | undefined;
82
+ table?: boolean | undefined;
83
+ share?: boolean | undefined;
84
+ progressBar?: boolean | undefined;
85
+ watch?: boolean | undefined;
86
+ interactiveProviders?: boolean | undefined;
87
+ filterFailing?: string | undefined;
88
+ filterFirstN?: string | undefined;
89
+ filterPattern?: string | undefined;
90
+ filterProviders?: string | undefined;
91
+ var?: Record<string, string> | undefined;
92
+ generateSuggestions?: boolean | undefined;
93
+ promptPrefix?: string | undefined;
94
+ promptSuffix?: string | undefined;
95
+ envFile?: string | undefined;
96
+ }>;
97
+ export type CommandLineOptions = z.infer<typeof CommandLineOptionsSchema>;
98
+ export declare const EnvOverridesSchema: z.ZodObject<{
99
+ ANTHROPIC_API_KEY: z.ZodOptional<z.ZodString>;
100
+ BAM_API_KEY: z.ZodOptional<z.ZodString>;
101
+ BAM_API_HOST: z.ZodOptional<z.ZodString>;
102
+ AZURE_OPENAI_API_HOST: z.ZodOptional<z.ZodString>;
103
+ AZURE_OPENAI_API_KEY: z.ZodOptional<z.ZodString>;
104
+ AZURE_OPENAI_API_BASE_URL: z.ZodOptional<z.ZodString>;
105
+ AZURE_OPENAI_BASE_URL: z.ZodOptional<z.ZodString>;
106
+ AWS_BEDROCK_REGION: z.ZodOptional<z.ZodString>;
107
+ COHERE_API_KEY: z.ZodOptional<z.ZodString>;
108
+ OPENAI_API_KEY: z.ZodOptional<z.ZodString>;
109
+ OPENAI_API_HOST: z.ZodOptional<z.ZodString>;
110
+ OPENAI_API_BASE_URL: z.ZodOptional<z.ZodString>;
111
+ OPENAI_BASE_URL: z.ZodOptional<z.ZodString>;
112
+ OPENAI_ORGANIZATION: z.ZodOptional<z.ZodString>;
113
+ REPLICATE_API_KEY: z.ZodOptional<z.ZodString>;
114
+ REPLICATE_API_TOKEN: z.ZodOptional<z.ZodString>;
115
+ LOCALAI_BASE_URL: z.ZodOptional<z.ZodString>;
116
+ MISTRAL_API_HOST: z.ZodOptional<z.ZodString>;
117
+ MISTRAL_API_BASE_URL: z.ZodOptional<z.ZodString>;
118
+ PALM_API_KEY: z.ZodOptional<z.ZodString>;
119
+ PALM_API_HOST: z.ZodOptional<z.ZodString>;
120
+ GOOGLE_API_KEY: z.ZodOptional<z.ZodString>;
121
+ GOOGLE_API_HOST: z.ZodOptional<z.ZodString>;
122
+ VERTEX_API_KEY: z.ZodOptional<z.ZodString>;
123
+ VERTEX_API_HOST: z.ZodOptional<z.ZodString>;
124
+ VERTEX_PROJECT_ID: z.ZodOptional<z.ZodString>;
125
+ VERTEX_REGION: z.ZodOptional<z.ZodString>;
126
+ VERTEX_PUBLISHER: z.ZodOptional<z.ZodString>;
127
+ MISTRAL_API_KEY: z.ZodOptional<z.ZodString>;
128
+ CLOUDFLARE_API_KEY: z.ZodOptional<z.ZodString>;
129
+ CLOUDFLARE_ACCOUNT_ID: z.ZodOptional<z.ZodString>;
130
+ }, "strip", z.ZodTypeAny, {
131
+ ANTHROPIC_API_KEY?: string | undefined;
132
+ BAM_API_KEY?: string | undefined;
133
+ BAM_API_HOST?: string | undefined;
134
+ AZURE_OPENAI_API_HOST?: string | undefined;
135
+ AZURE_OPENAI_API_KEY?: string | undefined;
136
+ AZURE_OPENAI_API_BASE_URL?: string | undefined;
137
+ AZURE_OPENAI_BASE_URL?: string | undefined;
138
+ AWS_BEDROCK_REGION?: string | undefined;
139
+ COHERE_API_KEY?: string | undefined;
140
+ OPENAI_API_KEY?: string | undefined;
141
+ OPENAI_API_HOST?: string | undefined;
142
+ OPENAI_API_BASE_URL?: string | undefined;
143
+ OPENAI_BASE_URL?: string | undefined;
144
+ OPENAI_ORGANIZATION?: string | undefined;
145
+ REPLICATE_API_KEY?: string | undefined;
146
+ REPLICATE_API_TOKEN?: string | undefined;
147
+ LOCALAI_BASE_URL?: string | undefined;
148
+ MISTRAL_API_HOST?: string | undefined;
149
+ MISTRAL_API_BASE_URL?: string | undefined;
150
+ PALM_API_KEY?: string | undefined;
151
+ PALM_API_HOST?: string | undefined;
152
+ GOOGLE_API_KEY?: string | undefined;
153
+ GOOGLE_API_HOST?: string | undefined;
154
+ VERTEX_API_KEY?: string | undefined;
155
+ VERTEX_API_HOST?: string | undefined;
156
+ VERTEX_PROJECT_ID?: string | undefined;
157
+ VERTEX_REGION?: string | undefined;
158
+ VERTEX_PUBLISHER?: string | undefined;
159
+ MISTRAL_API_KEY?: string | undefined;
160
+ CLOUDFLARE_API_KEY?: string | undefined;
161
+ CLOUDFLARE_ACCOUNT_ID?: string | undefined;
162
+ }, {
163
+ ANTHROPIC_API_KEY?: string | undefined;
164
+ BAM_API_KEY?: string | undefined;
165
+ BAM_API_HOST?: string | undefined;
166
+ AZURE_OPENAI_API_HOST?: string | undefined;
167
+ AZURE_OPENAI_API_KEY?: string | undefined;
168
+ AZURE_OPENAI_API_BASE_URL?: string | undefined;
169
+ AZURE_OPENAI_BASE_URL?: string | undefined;
170
+ AWS_BEDROCK_REGION?: string | undefined;
171
+ COHERE_API_KEY?: string | undefined;
172
+ OPENAI_API_KEY?: string | undefined;
173
+ OPENAI_API_HOST?: string | undefined;
174
+ OPENAI_API_BASE_URL?: string | undefined;
175
+ OPENAI_BASE_URL?: string | undefined;
176
+ OPENAI_ORGANIZATION?: string | undefined;
177
+ REPLICATE_API_KEY?: string | undefined;
178
+ REPLICATE_API_TOKEN?: string | undefined;
179
+ LOCALAI_BASE_URL?: string | undefined;
180
+ MISTRAL_API_HOST?: string | undefined;
181
+ MISTRAL_API_BASE_URL?: string | undefined;
182
+ PALM_API_KEY?: string | undefined;
183
+ PALM_API_HOST?: string | undefined;
184
+ GOOGLE_API_KEY?: string | undefined;
185
+ GOOGLE_API_HOST?: string | undefined;
186
+ VERTEX_API_KEY?: string | undefined;
187
+ VERTEX_API_HOST?: string | undefined;
188
+ VERTEX_PROJECT_ID?: string | undefined;
189
+ VERTEX_REGION?: string | undefined;
190
+ VERTEX_PUBLISHER?: string | undefined;
191
+ MISTRAL_API_KEY?: string | undefined;
192
+ CLOUDFLARE_API_KEY?: string | undefined;
193
+ CLOUDFLARE_ACCOUNT_ID?: string | undefined;
194
+ }>;
195
+ export type EnvOverrides = z.infer<typeof EnvOverridesSchema>;
196
+ export declare const ProviderOptionsSchema: z.ZodObject<{
197
+ id: z.ZodOptional<z.ZodType<string, z.ZodTypeDef, string>>;
198
+ label: z.ZodOptional<z.ZodType<string, z.ZodTypeDef, string>>;
199
+ config: z.ZodOptional<z.ZodAny>;
200
+ prompts: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
201
+ transform: z.ZodOptional<z.ZodString>;
202
+ delay: z.ZodOptional<z.ZodNumber>;
203
+ env: z.ZodOptional<z.ZodObject<{
204
+ ANTHROPIC_API_KEY: z.ZodOptional<z.ZodString>;
205
+ BAM_API_KEY: z.ZodOptional<z.ZodString>;
206
+ BAM_API_HOST: z.ZodOptional<z.ZodString>;
207
+ AZURE_OPENAI_API_HOST: z.ZodOptional<z.ZodString>;
208
+ AZURE_OPENAI_API_KEY: z.ZodOptional<z.ZodString>;
209
+ AZURE_OPENAI_API_BASE_URL: z.ZodOptional<z.ZodString>;
210
+ AZURE_OPENAI_BASE_URL: z.ZodOptional<z.ZodString>;
211
+ AWS_BEDROCK_REGION: z.ZodOptional<z.ZodString>;
212
+ COHERE_API_KEY: z.ZodOptional<z.ZodString>;
213
+ OPENAI_API_KEY: z.ZodOptional<z.ZodString>;
214
+ OPENAI_API_HOST: z.ZodOptional<z.ZodString>;
215
+ OPENAI_API_BASE_URL: z.ZodOptional<z.ZodString>;
216
+ OPENAI_BASE_URL: z.ZodOptional<z.ZodString>;
217
+ OPENAI_ORGANIZATION: z.ZodOptional<z.ZodString>;
218
+ REPLICATE_API_KEY: z.ZodOptional<z.ZodString>;
219
+ REPLICATE_API_TOKEN: z.ZodOptional<z.ZodString>;
220
+ LOCALAI_BASE_URL: z.ZodOptional<z.ZodString>;
221
+ MISTRAL_API_HOST: z.ZodOptional<z.ZodString>;
222
+ MISTRAL_API_BASE_URL: z.ZodOptional<z.ZodString>;
223
+ PALM_API_KEY: z.ZodOptional<z.ZodString>;
224
+ PALM_API_HOST: z.ZodOptional<z.ZodString>;
225
+ GOOGLE_API_KEY: z.ZodOptional<z.ZodString>;
226
+ GOOGLE_API_HOST: z.ZodOptional<z.ZodString>;
227
+ VERTEX_API_KEY: z.ZodOptional<z.ZodString>;
228
+ VERTEX_API_HOST: z.ZodOptional<z.ZodString>;
229
+ VERTEX_PROJECT_ID: z.ZodOptional<z.ZodString>;
230
+ VERTEX_REGION: z.ZodOptional<z.ZodString>;
231
+ VERTEX_PUBLISHER: z.ZodOptional<z.ZodString>;
232
+ MISTRAL_API_KEY: z.ZodOptional<z.ZodString>;
233
+ CLOUDFLARE_API_KEY: z.ZodOptional<z.ZodString>;
234
+ CLOUDFLARE_ACCOUNT_ID: z.ZodOptional<z.ZodString>;
235
+ }, "strip", z.ZodTypeAny, {
236
+ ANTHROPIC_API_KEY?: string | undefined;
237
+ BAM_API_KEY?: string | undefined;
238
+ BAM_API_HOST?: string | undefined;
239
+ AZURE_OPENAI_API_HOST?: string | undefined;
240
+ AZURE_OPENAI_API_KEY?: string | undefined;
241
+ AZURE_OPENAI_API_BASE_URL?: string | undefined;
242
+ AZURE_OPENAI_BASE_URL?: string | undefined;
243
+ AWS_BEDROCK_REGION?: string | undefined;
244
+ COHERE_API_KEY?: string | undefined;
245
+ OPENAI_API_KEY?: string | undefined;
246
+ OPENAI_API_HOST?: string | undefined;
247
+ OPENAI_API_BASE_URL?: string | undefined;
248
+ OPENAI_BASE_URL?: string | undefined;
249
+ OPENAI_ORGANIZATION?: string | undefined;
250
+ REPLICATE_API_KEY?: string | undefined;
251
+ REPLICATE_API_TOKEN?: string | undefined;
252
+ LOCALAI_BASE_URL?: string | undefined;
253
+ MISTRAL_API_HOST?: string | undefined;
254
+ MISTRAL_API_BASE_URL?: string | undefined;
255
+ PALM_API_KEY?: string | undefined;
256
+ PALM_API_HOST?: string | undefined;
257
+ GOOGLE_API_KEY?: string | undefined;
258
+ GOOGLE_API_HOST?: string | undefined;
259
+ VERTEX_API_KEY?: string | undefined;
260
+ VERTEX_API_HOST?: string | undefined;
261
+ VERTEX_PROJECT_ID?: string | undefined;
262
+ VERTEX_REGION?: string | undefined;
263
+ VERTEX_PUBLISHER?: string | undefined;
264
+ MISTRAL_API_KEY?: string | undefined;
265
+ CLOUDFLARE_API_KEY?: string | undefined;
266
+ CLOUDFLARE_ACCOUNT_ID?: string | undefined;
267
+ }, {
268
+ ANTHROPIC_API_KEY?: string | undefined;
269
+ BAM_API_KEY?: string | undefined;
270
+ BAM_API_HOST?: string | undefined;
271
+ AZURE_OPENAI_API_HOST?: string | undefined;
272
+ AZURE_OPENAI_API_KEY?: string | undefined;
273
+ AZURE_OPENAI_API_BASE_URL?: string | undefined;
274
+ AZURE_OPENAI_BASE_URL?: string | undefined;
275
+ AWS_BEDROCK_REGION?: string | undefined;
276
+ COHERE_API_KEY?: string | undefined;
277
+ OPENAI_API_KEY?: string | undefined;
278
+ OPENAI_API_HOST?: string | undefined;
279
+ OPENAI_API_BASE_URL?: string | undefined;
280
+ OPENAI_BASE_URL?: string | undefined;
281
+ OPENAI_ORGANIZATION?: string | undefined;
282
+ REPLICATE_API_KEY?: string | undefined;
283
+ REPLICATE_API_TOKEN?: string | undefined;
284
+ LOCALAI_BASE_URL?: string | undefined;
285
+ MISTRAL_API_HOST?: string | undefined;
286
+ MISTRAL_API_BASE_URL?: string | undefined;
287
+ PALM_API_KEY?: string | undefined;
288
+ PALM_API_HOST?: string | undefined;
289
+ GOOGLE_API_KEY?: string | undefined;
290
+ GOOGLE_API_HOST?: string | undefined;
291
+ VERTEX_API_KEY?: string | undefined;
292
+ VERTEX_API_HOST?: string | undefined;
293
+ VERTEX_PROJECT_ID?: string | undefined;
294
+ VERTEX_REGION?: string | undefined;
295
+ VERTEX_PUBLISHER?: string | undefined;
296
+ MISTRAL_API_KEY?: string | undefined;
297
+ CLOUDFLARE_API_KEY?: string | undefined;
298
+ CLOUDFLARE_ACCOUNT_ID?: string | undefined;
299
+ }>>;
300
+ }, "strict", z.ZodTypeAny, {
301
+ prompts?: string[] | undefined;
302
+ delay?: number | undefined;
72
303
  config?: any;
73
- prompts?: string[];
74
- transform?: string;
75
- delay?: number;
76
- env?: EnvOverrides;
77
- }
78
- export interface CallApiContextParams {
79
- vars: Record<string, string | object>;
80
- logger?: typeof logger;
81
- fetchWithCache?: typeof fetchWithCache;
82
- getCache?: typeof getCache;
83
- }
84
- export interface CallApiOptionsParams {
85
- includeLogProbs?: boolean;
86
- originalProvider?: ApiProvider;
87
- }
304
+ id?: string | undefined;
305
+ label?: string | undefined;
306
+ transform?: string | undefined;
307
+ env?: {
308
+ ANTHROPIC_API_KEY?: string | undefined;
309
+ BAM_API_KEY?: string | undefined;
310
+ BAM_API_HOST?: string | undefined;
311
+ AZURE_OPENAI_API_HOST?: string | undefined;
312
+ AZURE_OPENAI_API_KEY?: string | undefined;
313
+ AZURE_OPENAI_API_BASE_URL?: string | undefined;
314
+ AZURE_OPENAI_BASE_URL?: string | undefined;
315
+ AWS_BEDROCK_REGION?: string | undefined;
316
+ COHERE_API_KEY?: string | undefined;
317
+ OPENAI_API_KEY?: string | undefined;
318
+ OPENAI_API_HOST?: string | undefined;
319
+ OPENAI_API_BASE_URL?: string | undefined;
320
+ OPENAI_BASE_URL?: string | undefined;
321
+ OPENAI_ORGANIZATION?: string | undefined;
322
+ REPLICATE_API_KEY?: string | undefined;
323
+ REPLICATE_API_TOKEN?: string | undefined;
324
+ LOCALAI_BASE_URL?: string | undefined;
325
+ MISTRAL_API_HOST?: string | undefined;
326
+ MISTRAL_API_BASE_URL?: string | undefined;
327
+ PALM_API_KEY?: string | undefined;
328
+ PALM_API_HOST?: string | undefined;
329
+ GOOGLE_API_KEY?: string | undefined;
330
+ GOOGLE_API_HOST?: string | undefined;
331
+ VERTEX_API_KEY?: string | undefined;
332
+ VERTEX_API_HOST?: string | undefined;
333
+ VERTEX_PROJECT_ID?: string | undefined;
334
+ VERTEX_REGION?: string | undefined;
335
+ VERTEX_PUBLISHER?: string | undefined;
336
+ MISTRAL_API_KEY?: string | undefined;
337
+ CLOUDFLARE_API_KEY?: string | undefined;
338
+ CLOUDFLARE_ACCOUNT_ID?: string | undefined;
339
+ } | undefined;
340
+ }, {
341
+ prompts?: string[] | undefined;
342
+ delay?: number | undefined;
343
+ config?: any;
344
+ id?: string | undefined;
345
+ label?: string | undefined;
346
+ transform?: string | undefined;
347
+ env?: {
348
+ ANTHROPIC_API_KEY?: string | undefined;
349
+ BAM_API_KEY?: string | undefined;
350
+ BAM_API_HOST?: string | undefined;
351
+ AZURE_OPENAI_API_HOST?: string | undefined;
352
+ AZURE_OPENAI_API_KEY?: string | undefined;
353
+ AZURE_OPENAI_API_BASE_URL?: string | undefined;
354
+ AZURE_OPENAI_BASE_URL?: string | undefined;
355
+ AWS_BEDROCK_REGION?: string | undefined;
356
+ COHERE_API_KEY?: string | undefined;
357
+ OPENAI_API_KEY?: string | undefined;
358
+ OPENAI_API_HOST?: string | undefined;
359
+ OPENAI_API_BASE_URL?: string | undefined;
360
+ OPENAI_BASE_URL?: string | undefined;
361
+ OPENAI_ORGANIZATION?: string | undefined;
362
+ REPLICATE_API_KEY?: string | undefined;
363
+ REPLICATE_API_TOKEN?: string | undefined;
364
+ LOCALAI_BASE_URL?: string | undefined;
365
+ MISTRAL_API_HOST?: string | undefined;
366
+ MISTRAL_API_BASE_URL?: string | undefined;
367
+ PALM_API_KEY?: string | undefined;
368
+ PALM_API_HOST?: string | undefined;
369
+ GOOGLE_API_KEY?: string | undefined;
370
+ GOOGLE_API_HOST?: string | undefined;
371
+ VERTEX_API_KEY?: string | undefined;
372
+ VERTEX_API_HOST?: string | undefined;
373
+ VERTEX_PROJECT_ID?: string | undefined;
374
+ VERTEX_REGION?: string | undefined;
375
+ VERTEX_PUBLISHER?: string | undefined;
376
+ MISTRAL_API_KEY?: string | undefined;
377
+ CLOUDFLARE_API_KEY?: string | undefined;
378
+ CLOUDFLARE_ACCOUNT_ID?: string | undefined;
379
+ } | undefined;
380
+ }>;
381
+ export type ProviderOptions = z.infer<typeof ProviderOptionsSchema>;
382
+ export declare const CallApiContextParamsSchema: z.ZodObject<{
383
+ vars: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>]>>;
384
+ logger: z.ZodOptional<z.ZodAny>;
385
+ fetchWithCache: z.ZodOptional<z.ZodAny>;
386
+ getCache: z.ZodOptional<z.ZodAny>;
387
+ }, "strip", z.ZodTypeAny, {
388
+ vars: Record<string, string | {}>;
389
+ logger?: any;
390
+ fetchWithCache?: any;
391
+ getCache?: any;
392
+ }, {
393
+ vars: Record<string, string | {}>;
394
+ logger?: any;
395
+ fetchWithCache?: any;
396
+ getCache?: any;
397
+ }>;
398
+ export type CallApiContextParams = z.infer<typeof CallApiContextParamsSchema>;
399
+ export declare const CallApiOptionsParamsSchema: z.ZodObject<{
400
+ includeLogProbs: z.ZodOptional<z.ZodBoolean>;
401
+ originalProvider: z.ZodOptional<z.ZodAny>;
402
+ }, "strip", z.ZodTypeAny, {
403
+ includeLogProbs?: boolean | undefined;
404
+ originalProvider?: any;
405
+ }, {
406
+ includeLogProbs?: boolean | undefined;
407
+ originalProvider?: any;
408
+ }>;
409
+ export type CallApiOptionsParams = z.infer<typeof CallApiOptionsParamsSchema>;
88
410
  type CallApiFunction = {
89
411
  (prompt: string, context?: CallApiContextParams, options?: CallApiOptionsParams): Promise<ProviderResponse>;
90
412
  label?: string;
91
413
  };
92
- export interface ApiProvider {
93
- id: () => string;
414
+ export declare const ApiProviderSchema: z.ZodObject<{
415
+ id: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodString>;
416
+ callApi: z.ZodType<CallApiFunction, z.ZodTypeDef, CallApiFunction>;
417
+ callEmbeddingApi: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodString], z.ZodUnknown>, z.ZodPromise<z.ZodType<{
418
+ error?: string | undefined;
419
+ tokenUsage?: {
420
+ cached?: number | undefined;
421
+ completion?: number | undefined;
422
+ prompt?: number | undefined;
423
+ total?: number | undefined;
424
+ } | undefined;
425
+ embedding?: number[] | undefined;
426
+ }, z.ZodTypeDef, {
427
+ error?: string | undefined;
428
+ tokenUsage?: {
429
+ cached?: number | undefined;
430
+ completion?: number | undefined;
431
+ prompt?: number | undefined;
432
+ total?: number | undefined;
433
+ } | undefined;
434
+ embedding?: number[] | undefined;
435
+ }>>>>;
436
+ callClassificationApi: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodString], z.ZodUnknown>, z.ZodPromise<z.ZodType<{
437
+ error?: string | undefined;
438
+ classification?: Record<string, number> | undefined;
439
+ }, z.ZodTypeDef, {
440
+ error?: string | undefined;
441
+ classification?: Record<string, number> | undefined;
442
+ }>>>>;
443
+ label: z.ZodOptional<z.ZodType<string, z.ZodTypeDef, string>>;
444
+ transform: z.ZodOptional<z.ZodString>;
445
+ delay: z.ZodOptional<z.ZodNumber>;
446
+ }, "strip", z.ZodTypeAny, {
447
+ id: (...args: unknown[]) => string;
94
448
  callApi: CallApiFunction;
95
- callEmbeddingApi?: (prompt: string) => Promise<ProviderEmbeddingResponse>;
96
- callClassificationApi?: (prompt: string) => Promise<ProviderClassificationResponse>;
97
- label?: ProviderLabel;
98
- transform?: string;
99
- delay?: number;
100
- }
449
+ delay?: number | undefined;
450
+ label?: string | undefined;
451
+ transform?: string | undefined;
452
+ callEmbeddingApi?: ((args_0: string, ...args_1: unknown[]) => Promise<{
453
+ error?: string | undefined;
454
+ tokenUsage?: {
455
+ cached?: number | undefined;
456
+ completion?: number | undefined;
457
+ prompt?: number | undefined;
458
+ total?: number | undefined;
459
+ } | undefined;
460
+ embedding?: number[] | undefined;
461
+ }>) | undefined;
462
+ callClassificationApi?: ((args_0: string, ...args_1: unknown[]) => Promise<{
463
+ error?: string | undefined;
464
+ classification?: Record<string, number> | undefined;
465
+ }>) | undefined;
466
+ }, {
467
+ id: (...args: unknown[]) => string;
468
+ callApi: CallApiFunction;
469
+ delay?: number | undefined;
470
+ label?: string | undefined;
471
+ transform?: string | undefined;
472
+ callEmbeddingApi?: ((args_0: string, ...args_1: unknown[]) => Promise<{
473
+ error?: string | undefined;
474
+ tokenUsage?: {
475
+ cached?: number | undefined;
476
+ completion?: number | undefined;
477
+ prompt?: number | undefined;
478
+ total?: number | undefined;
479
+ } | undefined;
480
+ embedding?: number[] | undefined;
481
+ }>) | undefined;
482
+ callClassificationApi?: ((args_0: string, ...args_1: unknown[]) => Promise<{
483
+ error?: string | undefined;
484
+ classification?: Record<string, number> | undefined;
485
+ }>) | undefined;
486
+ }>;
487
+ export type ApiProvider = z.infer<typeof ApiProviderSchema>;
101
488
  export declare function isApiProvider(provider: any): provider is ApiProvider;
102
489
  export declare function isProviderOptions(provider: any): provider is ProviderOptions;
103
490
  export interface ApiEmbeddingProvider extends ApiProvider {
@@ -112,35 +499,163 @@ export interface ApiClassificationProvider extends ApiProvider {
112
499
  export interface ApiModerationProvider extends ApiProvider {
113
500
  callModerationApi: (prompt: string, response: string) => Promise<ProviderModerationResponse>;
114
501
  }
115
- export interface TokenUsage {
116
- total: number;
117
- prompt: number;
118
- completion: number;
119
- cached?: number;
120
- }
121
- export interface ProviderResponse {
122
- error?: string;
123
- output?: string | object;
124
- tokenUsage?: Partial<TokenUsage>;
125
- cost?: number;
126
- cached?: boolean;
127
- logProbs?: number[];
128
- metadata?: Record<string, any>;
129
- }
130
- export interface ProviderEmbeddingResponse {
131
- error?: string;
132
- embedding?: number[];
133
- tokenUsage?: Partial<TokenUsage>;
134
- }
135
- export interface ProviderSimilarityResponse {
136
- error?: string;
137
- similarity?: number;
138
- tokenUsage?: Partial<TokenUsage>;
139
- }
140
- export interface ProviderClassificationResponse {
141
- error?: string;
142
- classification?: Record<string, number>;
143
- }
502
+ declare const TokenUsageSchema: z.ZodObject<{
503
+ cached: z.ZodOptional<z.ZodNumber>;
504
+ completion: z.ZodOptional<z.ZodNumber>;
505
+ prompt: z.ZodOptional<z.ZodNumber>;
506
+ total: z.ZodOptional<z.ZodNumber>;
507
+ }, "strip", z.ZodTypeAny, {
508
+ cached?: number | undefined;
509
+ completion?: number | undefined;
510
+ prompt?: number | undefined;
511
+ total?: number | undefined;
512
+ }, {
513
+ cached?: number | undefined;
514
+ completion?: number | undefined;
515
+ prompt?: number | undefined;
516
+ total?: number | undefined;
517
+ }>;
518
+ export type TokenUsage = z.infer<typeof TokenUsageSchema>;
519
+ declare const ProviderResponseSchema: z.ZodObject<{
520
+ cached: z.ZodOptional<z.ZodBoolean>;
521
+ cost: z.ZodOptional<z.ZodNumber>;
522
+ error: z.ZodOptional<z.ZodString>;
523
+ logProbs: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
524
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
525
+ output: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodAny]>>;
526
+ tokenUsage: z.ZodOptional<z.ZodObject<{
527
+ cached: z.ZodOptional<z.ZodNumber>;
528
+ completion: z.ZodOptional<z.ZodNumber>;
529
+ prompt: z.ZodOptional<z.ZodNumber>;
530
+ total: z.ZodOptional<z.ZodNumber>;
531
+ }, "strip", z.ZodTypeAny, {
532
+ cached?: number | undefined;
533
+ completion?: number | undefined;
534
+ prompt?: number | undefined;
535
+ total?: number | undefined;
536
+ }, {
537
+ cached?: number | undefined;
538
+ completion?: number | undefined;
539
+ prompt?: number | undefined;
540
+ total?: number | undefined;
541
+ }>>;
542
+ }, "strip", z.ZodTypeAny, {
543
+ output?: any;
544
+ cached?: boolean | undefined;
545
+ cost?: number | undefined;
546
+ error?: string | undefined;
547
+ logProbs?: number[] | undefined;
548
+ metadata?: Record<string, any> | undefined;
549
+ tokenUsage?: {
550
+ cached?: number | undefined;
551
+ completion?: number | undefined;
552
+ prompt?: number | undefined;
553
+ total?: number | undefined;
554
+ } | undefined;
555
+ }, {
556
+ output?: any;
557
+ cached?: boolean | undefined;
558
+ cost?: number | undefined;
559
+ error?: string | undefined;
560
+ logProbs?: number[] | undefined;
561
+ metadata?: Record<string, any> | undefined;
562
+ tokenUsage?: {
563
+ cached?: number | undefined;
564
+ completion?: number | undefined;
565
+ prompt?: number | undefined;
566
+ total?: number | undefined;
567
+ } | undefined;
568
+ }>;
569
+ export type ProviderResponse = z.infer<typeof ProviderResponseSchema>;
570
+ declare const ProviderEmbeddingResponseSchema: z.ZodObject<{
571
+ error: z.ZodOptional<z.ZodString>;
572
+ embedding: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
573
+ tokenUsage: z.ZodOptional<z.ZodObject<{
574
+ cached: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
575
+ completion: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
576
+ prompt: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
577
+ total: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
578
+ }, "strip", z.ZodTypeAny, {
579
+ cached?: number | undefined;
580
+ completion?: number | undefined;
581
+ prompt?: number | undefined;
582
+ total?: number | undefined;
583
+ }, {
584
+ cached?: number | undefined;
585
+ completion?: number | undefined;
586
+ prompt?: number | undefined;
587
+ total?: number | undefined;
588
+ }>>;
589
+ }, "strip", z.ZodTypeAny, {
590
+ error?: string | undefined;
591
+ tokenUsage?: {
592
+ cached?: number | undefined;
593
+ completion?: number | undefined;
594
+ prompt?: number | undefined;
595
+ total?: number | undefined;
596
+ } | undefined;
597
+ embedding?: number[] | undefined;
598
+ }, {
599
+ error?: string | undefined;
600
+ tokenUsage?: {
601
+ cached?: number | undefined;
602
+ completion?: number | undefined;
603
+ prompt?: number | undefined;
604
+ total?: number | undefined;
605
+ } | undefined;
606
+ embedding?: number[] | undefined;
607
+ }>;
608
+ export type ProviderEmbeddingResponse = z.infer<typeof ProviderEmbeddingResponseSchema>;
609
+ declare const ProviderSimilarityResponseSchema: z.ZodObject<{
610
+ error: z.ZodOptional<z.ZodString>;
611
+ similarity: z.ZodOptional<z.ZodNumber>;
612
+ tokenUsage: z.ZodOptional<z.ZodObject<{
613
+ cached: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
614
+ completion: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
615
+ prompt: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
616
+ total: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
617
+ }, "strip", z.ZodTypeAny, {
618
+ cached?: number | undefined;
619
+ completion?: number | undefined;
620
+ prompt?: number | undefined;
621
+ total?: number | undefined;
622
+ }, {
623
+ cached?: number | undefined;
624
+ completion?: number | undefined;
625
+ prompt?: number | undefined;
626
+ total?: number | undefined;
627
+ }>>;
628
+ }, "strip", z.ZodTypeAny, {
629
+ error?: string | undefined;
630
+ tokenUsage?: {
631
+ cached?: number | undefined;
632
+ completion?: number | undefined;
633
+ prompt?: number | undefined;
634
+ total?: number | undefined;
635
+ } | undefined;
636
+ similarity?: number | undefined;
637
+ }, {
638
+ error?: string | undefined;
639
+ tokenUsage?: {
640
+ cached?: number | undefined;
641
+ completion?: number | undefined;
642
+ prompt?: number | undefined;
643
+ total?: number | undefined;
644
+ } | undefined;
645
+ similarity?: number | undefined;
646
+ }>;
647
+ export type ProviderSimilarityResponse = z.infer<typeof ProviderSimilarityResponseSchema>;
648
+ declare const ProviderClassificationResponseSchema: z.ZodObject<{
649
+ error: z.ZodOptional<z.ZodString>;
650
+ classification: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
651
+ }, "strip", z.ZodTypeAny, {
652
+ error?: string | undefined;
653
+ classification?: Record<string, number> | undefined;
654
+ }, {
655
+ error?: string | undefined;
656
+ classification?: Record<string, number> | undefined;
657
+ }>;
658
+ export type ProviderClassificationResponse = z.infer<typeof ProviderClassificationResponseSchema>;
144
659
  export interface ModerationFlag {
145
660
  code: string;
146
661
  description: string;
@@ -156,17 +671,50 @@ export interface CsvRow {
156
671
  export type VarMapping = Record<string, string>;
157
672
  export type ProviderType = 'embedding' | 'classification' | 'text' | 'moderation';
158
673
  export type ProviderTypeMap = Partial<Record<ProviderType, string | ProviderOptions | ApiProvider>>;
159
- export interface GradingConfig {
160
- rubricPrompt?: string | string[];
161
- provider?: string | ProviderOptions | ApiProvider | ProviderTypeMap;
674
+ declare const GradingConfigSchema: z.ZodObject<{
675
+ rubricPrompt: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
676
+ provider: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodAny, z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodAny]>>>]>>;
677
+ factuality: z.ZodOptional<z.ZodObject<{
678
+ subset: z.ZodOptional<z.ZodNumber>;
679
+ superset: z.ZodOptional<z.ZodNumber>;
680
+ agree: z.ZodOptional<z.ZodNumber>;
681
+ disagree: z.ZodOptional<z.ZodNumber>;
682
+ differButFactual: z.ZodOptional<z.ZodNumber>;
683
+ }, "strip", z.ZodTypeAny, {
684
+ subset?: number | undefined;
685
+ superset?: number | undefined;
686
+ agree?: number | undefined;
687
+ disagree?: number | undefined;
688
+ differButFactual?: number | undefined;
689
+ }, {
690
+ subset?: number | undefined;
691
+ superset?: number | undefined;
692
+ agree?: number | undefined;
693
+ disagree?: number | undefined;
694
+ differButFactual?: number | undefined;
695
+ }>>;
696
+ }, "strip", z.ZodTypeAny, {
697
+ rubricPrompt?: string | string[] | undefined;
698
+ provider?: any;
162
699
  factuality?: {
163
- subset?: number;
164
- superset?: number;
165
- agree?: number;
166
- disagree?: number;
167
- differButFactual?: number;
168
- };
169
- }
700
+ subset?: number | undefined;
701
+ superset?: number | undefined;
702
+ agree?: number | undefined;
703
+ disagree?: number | undefined;
704
+ differButFactual?: number | undefined;
705
+ } | undefined;
706
+ }, {
707
+ rubricPrompt?: string | string[] | undefined;
708
+ provider?: any;
709
+ factuality?: {
710
+ subset?: number | undefined;
711
+ superset?: number | undefined;
712
+ agree?: number | undefined;
713
+ disagree?: number | undefined;
714
+ differButFactual?: number | undefined;
715
+ } | undefined;
716
+ }>;
717
+ export type GradingConfig = z.infer<typeof GradingConfigSchema>;
170
718
  export interface PromptConfig {
171
719
  prefix?: string;
172
720
  suffix?: string;
@@ -201,6 +749,17 @@ export interface EvaluateOptions {
201
749
  eventSource?: string;
202
750
  interactiveProviders?: boolean;
203
751
  }
752
+ export type PromptFunctionContext = {
753
+ vars: Record<string, string | object>;
754
+ provider: {
755
+ id: string;
756
+ label?: string;
757
+ };
758
+ };
759
+ export type PromptFunction = (context: {
760
+ vars: Record<string, string | object>;
761
+ provider?: ApiProvider;
762
+ }) => Promise<string | object>;
204
763
  export interface Prompt {
205
764
  id?: string;
206
765
  raw: string;
@@ -209,10 +768,7 @@ export interface Prompt {
209
768
  */
210
769
  display?: string;
211
770
  label: string;
212
- function?: (context: {
213
- vars: Record<string, string | object>;
214
- provider?: ApiProvider;
215
- }) => Promise<string | object>;
771
+ function?: PromptFunction;
216
772
  }
217
773
  export type CompletedPrompt = Prompt & {
218
774
  provider: string;
@@ -303,7 +859,8 @@ export interface GradingResult {
303
859
  comment?: string;
304
860
  }
305
861
  export declare function isGradingResult(result: any): result is GradingResult;
306
- type BaseAssertionTypes = 'human' | 'equals' | 'contains' | 'icontains' | 'contains-all' | 'contains-any' | 'icontains-all' | 'icontains-any' | 'starts-with' | 'regex' | 'is-json' | 'is-sql' | 'contains-json' | 'contains-sql' | 'javascript' | 'python' | 'similar' | 'answer-relevance' | 'context-faithfulness' | 'context-recall' | 'context-relevance' | 'llm-rubric' | 'model-graded-closedqa' | 'factuality' | 'model-graded-factuality' | 'webhook' | 'rouge-n' | 'rouge-s' | 'rouge-l' | 'levenshtein' | 'is-valid-openai-function-call' | 'is-valid-openai-tools-call' | 'latency' | 'perplexity' | 'perplexity-score' | 'cost' | 'select-best' | 'moderation';
862
+ export declare const BaseAssertionTypesSchema: z.ZodEnum<["answer-relevance", "contains-all", "contains-any", "contains-json", "contains-sql", "contains", "context-faithfulness", "context-recall", "context-relevance", "cost", "equals", "factuality", "human", "icontains-all", "icontains-any", "icontains", "is-json", "is-sql", "is-valid-openai-function-call", "is-valid-openai-tools-call", "javascript", "latency", "levenshtein", "llm-rubric", "model-graded-closedqa", "model-graded-factuality", "moderation", "perplexity-score", "perplexity", "python", "regex", "rouge-l", "rouge-n", "rouge-s", "select-best", "similar", "starts-with", "webhook"]>;
863
+ export type BaseAssertionTypes = z.infer<typeof BaseAssertionTypesSchema>;
307
864
  type NotPrefixed<T extends string> = `not-${T}`;
308
865
  export type AssertionType = BaseAssertionTypes | NotPrefixed<BaseAssertionTypes>;
309
866
  export interface AssertionSet {
@@ -344,10 +901,268 @@ export interface TestCasesWithMetadata {
344
901
  count: number;
345
902
  prompts: TestCasesWithMetadataPrompt[];
346
903
  }
904
+ export declare const ProviderSchema: z.ZodUnion<[z.ZodString, z.ZodObject<{
905
+ id: z.ZodOptional<z.ZodType<string, z.ZodTypeDef, string>>;
906
+ label: z.ZodOptional<z.ZodType<string, z.ZodTypeDef, string>>;
907
+ config: z.ZodOptional<z.ZodAny>;
908
+ prompts: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
909
+ transform: z.ZodOptional<z.ZodString>;
910
+ delay: z.ZodOptional<z.ZodNumber>;
911
+ env: z.ZodOptional<z.ZodObject<{
912
+ ANTHROPIC_API_KEY: z.ZodOptional<z.ZodString>;
913
+ BAM_API_KEY: z.ZodOptional<z.ZodString>;
914
+ BAM_API_HOST: z.ZodOptional<z.ZodString>;
915
+ AZURE_OPENAI_API_HOST: z.ZodOptional<z.ZodString>;
916
+ AZURE_OPENAI_API_KEY: z.ZodOptional<z.ZodString>;
917
+ AZURE_OPENAI_API_BASE_URL: z.ZodOptional<z.ZodString>;
918
+ AZURE_OPENAI_BASE_URL: z.ZodOptional<z.ZodString>;
919
+ AWS_BEDROCK_REGION: z.ZodOptional<z.ZodString>;
920
+ COHERE_API_KEY: z.ZodOptional<z.ZodString>;
921
+ OPENAI_API_KEY: z.ZodOptional<z.ZodString>;
922
+ OPENAI_API_HOST: z.ZodOptional<z.ZodString>;
923
+ OPENAI_API_BASE_URL: z.ZodOptional<z.ZodString>;
924
+ OPENAI_BASE_URL: z.ZodOptional<z.ZodString>;
925
+ OPENAI_ORGANIZATION: z.ZodOptional<z.ZodString>;
926
+ REPLICATE_API_KEY: z.ZodOptional<z.ZodString>;
927
+ REPLICATE_API_TOKEN: z.ZodOptional<z.ZodString>;
928
+ LOCALAI_BASE_URL: z.ZodOptional<z.ZodString>;
929
+ MISTRAL_API_HOST: z.ZodOptional<z.ZodString>;
930
+ MISTRAL_API_BASE_URL: z.ZodOptional<z.ZodString>;
931
+ PALM_API_KEY: z.ZodOptional<z.ZodString>;
932
+ PALM_API_HOST: z.ZodOptional<z.ZodString>;
933
+ GOOGLE_API_KEY: z.ZodOptional<z.ZodString>;
934
+ GOOGLE_API_HOST: z.ZodOptional<z.ZodString>;
935
+ VERTEX_API_KEY: z.ZodOptional<z.ZodString>;
936
+ VERTEX_API_HOST: z.ZodOptional<z.ZodString>;
937
+ VERTEX_PROJECT_ID: z.ZodOptional<z.ZodString>;
938
+ VERTEX_REGION: z.ZodOptional<z.ZodString>;
939
+ VERTEX_PUBLISHER: z.ZodOptional<z.ZodString>;
940
+ MISTRAL_API_KEY: z.ZodOptional<z.ZodString>;
941
+ CLOUDFLARE_API_KEY: z.ZodOptional<z.ZodString>;
942
+ CLOUDFLARE_ACCOUNT_ID: z.ZodOptional<z.ZodString>;
943
+ }, "strip", z.ZodTypeAny, {
944
+ ANTHROPIC_API_KEY?: string | undefined;
945
+ BAM_API_KEY?: string | undefined;
946
+ BAM_API_HOST?: string | undefined;
947
+ AZURE_OPENAI_API_HOST?: string | undefined;
948
+ AZURE_OPENAI_API_KEY?: string | undefined;
949
+ AZURE_OPENAI_API_BASE_URL?: string | undefined;
950
+ AZURE_OPENAI_BASE_URL?: string | undefined;
951
+ AWS_BEDROCK_REGION?: string | undefined;
952
+ COHERE_API_KEY?: string | undefined;
953
+ OPENAI_API_KEY?: string | undefined;
954
+ OPENAI_API_HOST?: string | undefined;
955
+ OPENAI_API_BASE_URL?: string | undefined;
956
+ OPENAI_BASE_URL?: string | undefined;
957
+ OPENAI_ORGANIZATION?: string | undefined;
958
+ REPLICATE_API_KEY?: string | undefined;
959
+ REPLICATE_API_TOKEN?: string | undefined;
960
+ LOCALAI_BASE_URL?: string | undefined;
961
+ MISTRAL_API_HOST?: string | undefined;
962
+ MISTRAL_API_BASE_URL?: string | undefined;
963
+ PALM_API_KEY?: string | undefined;
964
+ PALM_API_HOST?: string | undefined;
965
+ GOOGLE_API_KEY?: string | undefined;
966
+ GOOGLE_API_HOST?: string | undefined;
967
+ VERTEX_API_KEY?: string | undefined;
968
+ VERTEX_API_HOST?: string | undefined;
969
+ VERTEX_PROJECT_ID?: string | undefined;
970
+ VERTEX_REGION?: string | undefined;
971
+ VERTEX_PUBLISHER?: string | undefined;
972
+ MISTRAL_API_KEY?: string | undefined;
973
+ CLOUDFLARE_API_KEY?: string | undefined;
974
+ CLOUDFLARE_ACCOUNT_ID?: string | undefined;
975
+ }, {
976
+ ANTHROPIC_API_KEY?: string | undefined;
977
+ BAM_API_KEY?: string | undefined;
978
+ BAM_API_HOST?: string | undefined;
979
+ AZURE_OPENAI_API_HOST?: string | undefined;
980
+ AZURE_OPENAI_API_KEY?: string | undefined;
981
+ AZURE_OPENAI_API_BASE_URL?: string | undefined;
982
+ AZURE_OPENAI_BASE_URL?: string | undefined;
983
+ AWS_BEDROCK_REGION?: string | undefined;
984
+ COHERE_API_KEY?: string | undefined;
985
+ OPENAI_API_KEY?: string | undefined;
986
+ OPENAI_API_HOST?: string | undefined;
987
+ OPENAI_API_BASE_URL?: string | undefined;
988
+ OPENAI_BASE_URL?: string | undefined;
989
+ OPENAI_ORGANIZATION?: string | undefined;
990
+ REPLICATE_API_KEY?: string | undefined;
991
+ REPLICATE_API_TOKEN?: string | undefined;
992
+ LOCALAI_BASE_URL?: string | undefined;
993
+ MISTRAL_API_HOST?: string | undefined;
994
+ MISTRAL_API_BASE_URL?: string | undefined;
995
+ PALM_API_KEY?: string | undefined;
996
+ PALM_API_HOST?: string | undefined;
997
+ GOOGLE_API_KEY?: string | undefined;
998
+ GOOGLE_API_HOST?: string | undefined;
999
+ VERTEX_API_KEY?: string | undefined;
1000
+ VERTEX_API_HOST?: string | undefined;
1001
+ VERTEX_PROJECT_ID?: string | undefined;
1002
+ VERTEX_REGION?: string | undefined;
1003
+ VERTEX_PUBLISHER?: string | undefined;
1004
+ MISTRAL_API_KEY?: string | undefined;
1005
+ CLOUDFLARE_API_KEY?: string | undefined;
1006
+ CLOUDFLARE_ACCOUNT_ID?: string | undefined;
1007
+ }>>;
1008
+ }, "strict", z.ZodTypeAny, {
1009
+ prompts?: string[] | undefined;
1010
+ delay?: number | undefined;
1011
+ config?: any;
1012
+ id?: string | undefined;
1013
+ label?: string | undefined;
1014
+ transform?: string | undefined;
1015
+ env?: {
1016
+ ANTHROPIC_API_KEY?: string | undefined;
1017
+ BAM_API_KEY?: string | undefined;
1018
+ BAM_API_HOST?: string | undefined;
1019
+ AZURE_OPENAI_API_HOST?: string | undefined;
1020
+ AZURE_OPENAI_API_KEY?: string | undefined;
1021
+ AZURE_OPENAI_API_BASE_URL?: string | undefined;
1022
+ AZURE_OPENAI_BASE_URL?: string | undefined;
1023
+ AWS_BEDROCK_REGION?: string | undefined;
1024
+ COHERE_API_KEY?: string | undefined;
1025
+ OPENAI_API_KEY?: string | undefined;
1026
+ OPENAI_API_HOST?: string | undefined;
1027
+ OPENAI_API_BASE_URL?: string | undefined;
1028
+ OPENAI_BASE_URL?: string | undefined;
1029
+ OPENAI_ORGANIZATION?: string | undefined;
1030
+ REPLICATE_API_KEY?: string | undefined;
1031
+ REPLICATE_API_TOKEN?: string | undefined;
1032
+ LOCALAI_BASE_URL?: string | undefined;
1033
+ MISTRAL_API_HOST?: string | undefined;
1034
+ MISTRAL_API_BASE_URL?: string | undefined;
1035
+ PALM_API_KEY?: string | undefined;
1036
+ PALM_API_HOST?: string | undefined;
1037
+ GOOGLE_API_KEY?: string | undefined;
1038
+ GOOGLE_API_HOST?: string | undefined;
1039
+ VERTEX_API_KEY?: string | undefined;
1040
+ VERTEX_API_HOST?: string | undefined;
1041
+ VERTEX_PROJECT_ID?: string | undefined;
1042
+ VERTEX_REGION?: string | undefined;
1043
+ VERTEX_PUBLISHER?: string | undefined;
1044
+ MISTRAL_API_KEY?: string | undefined;
1045
+ CLOUDFLARE_API_KEY?: string | undefined;
1046
+ CLOUDFLARE_ACCOUNT_ID?: string | undefined;
1047
+ } | undefined;
1048
+ }, {
1049
+ prompts?: string[] | undefined;
1050
+ delay?: number | undefined;
1051
+ config?: any;
1052
+ id?: string | undefined;
1053
+ label?: string | undefined;
1054
+ transform?: string | undefined;
1055
+ env?: {
1056
+ ANTHROPIC_API_KEY?: string | undefined;
1057
+ BAM_API_KEY?: string | undefined;
1058
+ BAM_API_HOST?: string | undefined;
1059
+ AZURE_OPENAI_API_HOST?: string | undefined;
1060
+ AZURE_OPENAI_API_KEY?: string | undefined;
1061
+ AZURE_OPENAI_API_BASE_URL?: string | undefined;
1062
+ AZURE_OPENAI_BASE_URL?: string | undefined;
1063
+ AWS_BEDROCK_REGION?: string | undefined;
1064
+ COHERE_API_KEY?: string | undefined;
1065
+ OPENAI_API_KEY?: string | undefined;
1066
+ OPENAI_API_HOST?: string | undefined;
1067
+ OPENAI_API_BASE_URL?: string | undefined;
1068
+ OPENAI_BASE_URL?: string | undefined;
1069
+ OPENAI_ORGANIZATION?: string | undefined;
1070
+ REPLICATE_API_KEY?: string | undefined;
1071
+ REPLICATE_API_TOKEN?: string | undefined;
1072
+ LOCALAI_BASE_URL?: string | undefined;
1073
+ MISTRAL_API_HOST?: string | undefined;
1074
+ MISTRAL_API_BASE_URL?: string | undefined;
1075
+ PALM_API_KEY?: string | undefined;
1076
+ PALM_API_HOST?: string | undefined;
1077
+ GOOGLE_API_KEY?: string | undefined;
1078
+ GOOGLE_API_HOST?: string | undefined;
1079
+ VERTEX_API_KEY?: string | undefined;
1080
+ VERTEX_API_HOST?: string | undefined;
1081
+ VERTEX_PROJECT_ID?: string | undefined;
1082
+ VERTEX_REGION?: string | undefined;
1083
+ VERTEX_PUBLISHER?: string | undefined;
1084
+ MISTRAL_API_KEY?: string | undefined;
1085
+ CLOUDFLARE_API_KEY?: string | undefined;
1086
+ CLOUDFLARE_ACCOUNT_ID?: string | undefined;
1087
+ } | undefined;
1088
+ }>, z.ZodObject<{
1089
+ id: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodString>;
1090
+ callApi: z.ZodType<CallApiFunction, z.ZodTypeDef, CallApiFunction>;
1091
+ callEmbeddingApi: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodString], z.ZodUnknown>, z.ZodPromise<z.ZodType<{
1092
+ error?: string | undefined;
1093
+ tokenUsage?: {
1094
+ cached?: number | undefined;
1095
+ completion?: number | undefined;
1096
+ prompt?: number | undefined;
1097
+ total?: number | undefined;
1098
+ } | undefined;
1099
+ embedding?: number[] | undefined;
1100
+ }, z.ZodTypeDef, {
1101
+ error?: string | undefined;
1102
+ tokenUsage?: {
1103
+ cached?: number | undefined;
1104
+ completion?: number | undefined;
1105
+ prompt?: number | undefined;
1106
+ total?: number | undefined;
1107
+ } | undefined;
1108
+ embedding?: number[] | undefined;
1109
+ }>>>>;
1110
+ callClassificationApi: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodString], z.ZodUnknown>, z.ZodPromise<z.ZodType<{
1111
+ error?: string | undefined;
1112
+ classification?: Record<string, number> | undefined;
1113
+ }, z.ZodTypeDef, {
1114
+ error?: string | undefined;
1115
+ classification?: Record<string, number> | undefined;
1116
+ }>>>>;
1117
+ label: z.ZodOptional<z.ZodType<string, z.ZodTypeDef, string>>;
1118
+ transform: z.ZodOptional<z.ZodString>;
1119
+ delay: z.ZodOptional<z.ZodNumber>;
1120
+ }, "strip", z.ZodTypeAny, {
1121
+ id: (...args: unknown[]) => string;
1122
+ callApi: CallApiFunction;
1123
+ delay?: number | undefined;
1124
+ label?: string | undefined;
1125
+ transform?: string | undefined;
1126
+ callEmbeddingApi?: ((args_0: string, ...args_1: unknown[]) => Promise<{
1127
+ error?: string | undefined;
1128
+ tokenUsage?: {
1129
+ cached?: number | undefined;
1130
+ completion?: number | undefined;
1131
+ prompt?: number | undefined;
1132
+ total?: number | undefined;
1133
+ } | undefined;
1134
+ embedding?: number[] | undefined;
1135
+ }>) | undefined;
1136
+ callClassificationApi?: ((args_0: string, ...args_1: unknown[]) => Promise<{
1137
+ error?: string | undefined;
1138
+ classification?: Record<string, number> | undefined;
1139
+ }>) | undefined;
1140
+ }, {
1141
+ id: (...args: unknown[]) => string;
1142
+ callApi: CallApiFunction;
1143
+ delay?: number | undefined;
1144
+ label?: string | undefined;
1145
+ transform?: string | undefined;
1146
+ callEmbeddingApi?: ((args_0: string, ...args_1: unknown[]) => Promise<{
1147
+ error?: string | undefined;
1148
+ tokenUsage?: {
1149
+ cached?: number | undefined;
1150
+ completion?: number | undefined;
1151
+ prompt?: number | undefined;
1152
+ total?: number | undefined;
1153
+ } | undefined;
1154
+ embedding?: number[] | undefined;
1155
+ }>) | undefined;
1156
+ callClassificationApi?: ((args_0: string, ...args_1: unknown[]) => Promise<{
1157
+ error?: string | undefined;
1158
+ classification?: Record<string, number> | undefined;
1159
+ }>) | undefined;
1160
+ }>]>;
1161
+ export type Provider = z.infer<typeof ProviderSchema>;
347
1162
  export interface TestCase<Vars = Record<string, string | string[] | object>> {
348
1163
  description?: string;
349
1164
  vars?: Vars;
350
- provider?: string | ProviderOptions | ApiProvider;
1165
+ provider?: Provider;
351
1166
  providerOutput?: string | object;
352
1167
  assert?: (AssertionSet | Assertion)[];
353
1168
  options?: PromptConfig & OutputConfig & GradingConfig & {
@@ -413,9 +1228,6 @@ export interface EvalWithMetadata {
413
1228
  results: EvaluateSummary;
414
1229
  description?: string;
415
1230
  }
416
- export type PromptFunction = (context: {
417
- vars: Record<string, string | object>;
418
- }) => Promise<string | object>;
419
1231
  export type EvaluateTestSuite = {
420
1232
  prompts: (string | object | PromptFunction)[];
421
1233
  writeLatestResults?: boolean;