promptfoo 0.114.7 → 0.115.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/dist/package.json +14 -14
  2. package/dist/src/app/assets/{index-CqlUH2f5.js → index-CLKCZa7h.js} +299 -259
  3. package/dist/src/app/assets/{index.es-MYitm6WP.js → index.es-CtnPLEIO.js} +1 -1
  4. package/dist/src/app/assets/{source-map-support-CVBRnRxc.js → source-map-support-CBm7zNFA.js} +1 -1
  5. package/dist/src/app/assets/{sync-BpAzuuXg.js → sync-CDJ7rnc8.js} +1 -1
  6. package/dist/src/app/index.html +1 -1
  7. package/dist/src/assertions/python.d.ts.map +1 -1
  8. package/dist/src/assertions/python.js +35 -3
  9. package/dist/src/assertions/python.js.map +1 -1
  10. package/dist/src/commands/eval.d.ts +1 -1
  11. package/dist/src/commands/eval.d.ts.map +1 -1
  12. package/dist/src/commands/eval.js +61 -17
  13. package/dist/src/commands/eval.js.map +1 -1
  14. package/dist/src/commands/generate/dataset.d.ts.map +1 -1
  15. package/dist/src/commands/generate/dataset.js +10 -1
  16. package/dist/src/commands/generate/dataset.js.map +1 -1
  17. package/dist/src/database/tables.d.ts +54 -4
  18. package/dist/src/database/tables.d.ts.map +1 -1
  19. package/dist/src/envars.d.ts +7 -0
  20. package/dist/src/envars.d.ts.map +1 -1
  21. package/dist/src/envars.js +9 -0
  22. package/dist/src/envars.js.map +1 -1
  23. package/dist/src/evaluator.d.ts.map +1 -1
  24. package/dist/src/evaluator.js +147 -54
  25. package/dist/src/evaluator.js.map +1 -1
  26. package/dist/src/fetch.d.ts.map +1 -1
  27. package/dist/src/fetch.js +5 -1
  28. package/dist/src/fetch.js.map +1 -1
  29. package/dist/src/matchers.d.ts.map +1 -1
  30. package/dist/src/matchers.js +68 -53
  31. package/dist/src/matchers.js.map +1 -1
  32. package/dist/src/models/eval.d.ts +6 -0
  33. package/dist/src/models/eval.d.ts.map +1 -1
  34. package/dist/src/models/eval.js +33 -12
  35. package/dist/src/models/eval.js.map +1 -1
  36. package/dist/src/providers/azure/chat.d.ts.map +1 -1
  37. package/dist/src/providers/azure/chat.js +1 -0
  38. package/dist/src/providers/azure/chat.js.map +1 -1
  39. package/dist/src/providers/azure/completion.d.ts.map +1 -1
  40. package/dist/src/providers/azure/completion.js +1 -0
  41. package/dist/src/providers/azure/completion.js.map +1 -1
  42. package/dist/src/providers/azure/embedding.d.ts.map +1 -1
  43. package/dist/src/providers/azure/embedding.js +1 -0
  44. package/dist/src/providers/azure/embedding.js.map +1 -1
  45. package/dist/src/providers/azure/types.d.ts +3 -0
  46. package/dist/src/providers/azure/types.d.ts.map +1 -1
  47. package/dist/src/providers/bedrock/util.d.ts +0 -12
  48. package/dist/src/providers/bedrock/util.d.ts.map +1 -1
  49. package/dist/src/providers/bedrock/util.js.map +1 -1
  50. package/dist/src/providers/defaults.d.ts.map +1 -1
  51. package/dist/src/providers/defaults.js +25 -9
  52. package/dist/src/providers/defaults.js.map +1 -1
  53. package/dist/src/providers/google/live.d.ts +2 -0
  54. package/dist/src/providers/google/live.d.ts.map +1 -1
  55. package/dist/src/providers/google/live.js +357 -97
  56. package/dist/src/providers/google/live.js.map +1 -1
  57. package/dist/src/providers/google/types.d.ts +14 -0
  58. package/dist/src/providers/google/types.d.ts.map +1 -1
  59. package/dist/src/providers/http.d.ts +45 -0
  60. package/dist/src/providers/http.d.ts.map +1 -1
  61. package/dist/src/providers/http.js +87 -13
  62. package/dist/src/providers/http.js.map +1 -1
  63. package/dist/src/providers/index.d.ts +9 -0
  64. package/dist/src/providers/index.d.ts.map +1 -1
  65. package/dist/src/providers/index.js +37 -4
  66. package/dist/src/providers/index.js.map +1 -1
  67. package/dist/src/providers/mistral/defaults.d.ts +7 -0
  68. package/dist/src/providers/mistral/defaults.d.ts.map +1 -0
  69. package/dist/src/providers/mistral/defaults.js +14 -0
  70. package/dist/src/providers/mistral/defaults.js.map +1 -0
  71. package/dist/src/providers/mistral.d.ts.map +1 -1
  72. package/dist/src/providers/mistral.js +38 -0
  73. package/dist/src/providers/mistral.js.map +1 -1
  74. package/dist/src/providers/openai/responses.d.ts.map +1 -1
  75. package/dist/src/providers/openai/responses.js +2 -0
  76. package/dist/src/providers/openai/responses.js.map +1 -1
  77. package/dist/src/providers/openai/util.d.ts.map +1 -1
  78. package/dist/src/providers/openai/util.js +14 -0
  79. package/dist/src/providers/openai/util.js.map +1 -1
  80. package/dist/src/providers/simulatedUser.d.ts +0 -3
  81. package/dist/src/providers/simulatedUser.d.ts.map +1 -1
  82. package/dist/src/providers/simulatedUser.js.map +1 -1
  83. package/dist/src/providers/websocket.d.ts +1 -0
  84. package/dist/src/providers/websocket.d.ts.map +1 -1
  85. package/dist/src/providers/websocket.js +5 -1
  86. package/dist/src/providers/websocket.js.map +1 -1
  87. package/dist/src/redteam/commands/discover.d.ts +2 -2
  88. package/dist/src/redteam/commands/discover.d.ts.map +1 -1
  89. package/dist/src/redteam/commands/discover.js +10 -1
  90. package/dist/src/redteam/commands/discover.js.map +1 -1
  91. package/dist/src/redteam/commands/generate.d.ts.map +1 -1
  92. package/dist/src/redteam/commands/generate.js +47 -7
  93. package/dist/src/redteam/commands/generate.js.map +1 -1
  94. package/dist/src/redteam/constants/frameworks.d.ts +56 -0
  95. package/dist/src/redteam/constants/frameworks.d.ts.map +1 -0
  96. package/dist/src/redteam/constants/frameworks.js +564 -0
  97. package/dist/src/redteam/constants/frameworks.js.map +1 -0
  98. package/dist/src/redteam/constants/metadata.d.ts +31 -0
  99. package/dist/src/redteam/constants/metadata.d.ts.map +1 -0
  100. package/dist/src/redteam/constants/metadata.js +677 -0
  101. package/dist/src/redteam/constants/metadata.js.map +1 -0
  102. package/dist/src/redteam/constants/plugins.d.ts +88 -0
  103. package/dist/src/redteam/constants/plugins.d.ts.map +1 -0
  104. package/dist/src/redteam/constants/plugins.js +185 -0
  105. package/dist/src/redteam/constants/plugins.js.map +1 -0
  106. package/dist/src/redteam/constants/strategies.d.ts +18 -0
  107. package/dist/src/redteam/constants/strategies.d.ts.map +1 -0
  108. package/dist/src/redteam/constants/strategies.js +69 -0
  109. package/dist/src/redteam/constants/strategies.js.map +1 -0
  110. package/dist/src/redteam/constants.d.ts +4 -185
  111. package/dist/src/redteam/constants.d.ts.map +1 -1
  112. package/dist/src/redteam/constants.js +18 -1471
  113. package/dist/src/redteam/constants.js.map +1 -1
  114. package/dist/src/redteam/extraction/purpose.d.ts +1 -0
  115. package/dist/src/redteam/extraction/purpose.d.ts.map +1 -1
  116. package/dist/src/redteam/extraction/purpose.js +7 -1
  117. package/dist/src/redteam/extraction/purpose.js.map +1 -1
  118. package/dist/src/redteam/graders.d.ts.map +1 -1
  119. package/dist/src/redteam/graders.js +12 -10
  120. package/dist/src/redteam/graders.js.map +1 -1
  121. package/dist/src/redteam/index.d.ts.map +1 -1
  122. package/dist/src/redteam/index.js +2 -2
  123. package/dist/src/redteam/index.js.map +1 -1
  124. package/dist/src/redteam/plugins/aegis.d.ts +21 -0
  125. package/dist/src/redteam/plugins/aegis.d.ts.map +1 -0
  126. package/dist/src/redteam/plugins/aegis.js +97 -0
  127. package/dist/src/redteam/plugins/aegis.js.map +1 -0
  128. package/dist/src/redteam/plugins/agentic/memoryPoisoning.d.ts +1 -2
  129. package/dist/src/redteam/plugins/agentic/memoryPoisoning.d.ts.map +1 -1
  130. package/dist/src/redteam/plugins/agentic/memoryPoisoning.js +3 -7
  131. package/dist/src/redteam/plugins/agentic/memoryPoisoning.js.map +1 -1
  132. package/dist/src/redteam/plugins/index.d.ts.map +1 -1
  133. package/dist/src/redteam/plugins/index.js +2 -0
  134. package/dist/src/redteam/plugins/index.js.map +1 -1
  135. package/dist/src/redteam/plugins/mcp.d.ts +1 -4
  136. package/dist/src/redteam/plugins/mcp.d.ts.map +1 -1
  137. package/dist/src/redteam/plugins/mcp.js +2 -5
  138. package/dist/src/redteam/plugins/mcp.js.map +1 -1
  139. package/dist/src/redteam/plugins/medical/medicalAnchoringBias.d.ts +1 -3
  140. package/dist/src/redteam/plugins/medical/medicalAnchoringBias.d.ts.map +1 -1
  141. package/dist/src/redteam/plugins/medical/medicalAnchoringBias.js +1 -1
  142. package/dist/src/redteam/plugins/medical/medicalAnchoringBias.js.map +1 -1
  143. package/dist/src/redteam/plugins/medical/medicalHallucination.d.ts +1 -3
  144. package/dist/src/redteam/plugins/medical/medicalHallucination.d.ts.map +1 -1
  145. package/dist/src/redteam/plugins/medical/medicalHallucination.js +1 -1
  146. package/dist/src/redteam/plugins/medical/medicalHallucination.js.map +1 -1
  147. package/dist/src/redteam/plugins/medical/medicalIncorrectKnowledge.d.ts +1 -3
  148. package/dist/src/redteam/plugins/medical/medicalIncorrectKnowledge.d.ts.map +1 -1
  149. package/dist/src/redteam/plugins/medical/medicalIncorrectKnowledge.js +1 -1
  150. package/dist/src/redteam/plugins/medical/medicalIncorrectKnowledge.js.map +1 -1
  151. package/dist/src/redteam/plugins/medical/medicalPrioritizationError.d.ts +1 -3
  152. package/dist/src/redteam/plugins/medical/medicalPrioritizationError.d.ts.map +1 -1
  153. package/dist/src/redteam/plugins/medical/medicalPrioritizationError.js +1 -1
  154. package/dist/src/redteam/plugins/medical/medicalPrioritizationError.js.map +1 -1
  155. package/dist/src/redteam/plugins/medical/medicalSycophancy.d.ts +1 -3
  156. package/dist/src/redteam/plugins/medical/medicalSycophancy.d.ts.map +1 -1
  157. package/dist/src/redteam/plugins/medical/medicalSycophancy.js +1 -1
  158. package/dist/src/redteam/plugins/medical/medicalSycophancy.js.map +1 -1
  159. package/dist/src/redteam/plugins/offTopic.d.ts +1 -3
  160. package/dist/src/redteam/plugins/offTopic.d.ts.map +1 -1
  161. package/dist/src/redteam/plugins/offTopic.js +1 -1
  162. package/dist/src/redteam/plugins/offTopic.js.map +1 -1
  163. package/dist/src/redteam/providers/goat.d.ts +8 -5
  164. package/dist/src/redteam/providers/goat.d.ts.map +1 -1
  165. package/dist/src/redteam/providers/goat.js +15 -20
  166. package/dist/src/redteam/providers/goat.js.map +1 -1
  167. package/dist/src/redteam/strategies/mathPrompt.d.ts.map +1 -1
  168. package/dist/src/redteam/strategies/mathPrompt.js +14 -1
  169. package/dist/src/redteam/strategies/mathPrompt.js.map +1 -1
  170. package/dist/src/redteam/strategies/multilingual.d.ts +0 -1
  171. package/dist/src/redteam/strategies/multilingual.d.ts.map +1 -1
  172. package/dist/src/redteam/strategies/multilingual.js +0 -5
  173. package/dist/src/redteam/strategies/multilingual.js.map +1 -1
  174. package/dist/src/server/routes/modelAudit.d.ts +2 -0
  175. package/dist/src/server/routes/modelAudit.d.ts.map +1 -0
  176. package/dist/src/server/routes/modelAudit.js +260 -0
  177. package/dist/src/server/routes/modelAudit.js.map +1 -0
  178. package/dist/src/server/server.d.ts +12 -0
  179. package/dist/src/server/server.d.ts.map +1 -1
  180. package/dist/src/server/server.js +33 -15
  181. package/dist/src/server/server.js.map +1 -1
  182. package/dist/src/types/index.d.ts +570 -10
  183. package/dist/src/types/index.d.ts.map +1 -1
  184. package/dist/src/types/index.js +52 -2
  185. package/dist/src/types/index.js.map +1 -1
  186. package/dist/src/types/shared.d.ts +68 -0
  187. package/dist/src/types/shared.d.ts.map +1 -1
  188. package/dist/src/types/shared.js +9 -0
  189. package/dist/src/types/shared.js.map +1 -1
  190. package/dist/src/util/cloud.d.ts +12 -0
  191. package/dist/src/util/cloud.d.ts.map +1 -1
  192. package/dist/src/util/cloud.js +61 -0
  193. package/dist/src/util/cloud.js.map +1 -1
  194. package/dist/src/util/config/load.d.ts.map +1 -1
  195. package/dist/src/util/config/load.js +16 -3
  196. package/dist/src/util/config/load.js.map +1 -1
  197. package/dist/src/util/convertEvalResultsToTable.d.ts +1 -15
  198. package/dist/src/util/convertEvalResultsToTable.d.ts.map +1 -1
  199. package/dist/src/util/convertEvalResultsToTable.js +0 -28
  200. package/dist/src/util/convertEvalResultsToTable.js.map +1 -1
  201. package/dist/src/util/database.d.ts +13 -2
  202. package/dist/src/util/database.d.ts.map +1 -1
  203. package/dist/src/util/database.js +25 -9
  204. package/dist/src/util/database.js.map +1 -1
  205. package/dist/src/util/exportToFile/getHeaderForTable.d.ts +6 -0
  206. package/dist/src/util/exportToFile/getHeaderForTable.d.ts.map +1 -1
  207. package/dist/src/util/exportToFile/getHeaderForTable.js +19 -3
  208. package/dist/src/util/exportToFile/getHeaderForTable.js.map +1 -1
  209. package/dist/src/util/file.d.ts +1 -0
  210. package/dist/src/util/file.d.ts.map +1 -1
  211. package/dist/src/util/file.js +14 -0
  212. package/dist/src/util/file.js.map +1 -1
  213. package/dist/src/util/index.d.ts +1 -27
  214. package/dist/src/util/index.d.ts.map +1 -1
  215. package/dist/src/util/index.js +0 -100
  216. package/dist/src/util/index.js.map +1 -1
  217. package/dist/src/util/json.d.ts +53 -0
  218. package/dist/src/util/json.d.ts.map +1 -1
  219. package/dist/src/util/json.js +129 -5
  220. package/dist/src/util/json.js.map +1 -1
  221. package/dist/src/util/json.test.d.ts +2 -0
  222. package/dist/src/util/json.test.d.ts.map +1 -0
  223. package/dist/src/util/json.test.js +222 -0
  224. package/dist/src/util/json.test.js.map +1 -0
  225. package/dist/src/util/templates.d.ts +0 -1
  226. package/dist/src/util/templates.d.ts.map +1 -1
  227. package/dist/src/util/templates.js +0 -15
  228. package/dist/src/util/templates.js.map +1 -1
  229. package/dist/src/util/testCaseReader.d.ts +1 -1
  230. package/dist/src/util/testCaseReader.d.ts.map +1 -1
  231. package/dist/src/util/testCaseReader.js +15 -3
  232. package/dist/src/util/testCaseReader.js.map +1 -1
  233. package/dist/src/util/tokenUsage.d.ts +83 -0
  234. package/dist/src/util/tokenUsage.d.ts.map +1 -0
  235. package/dist/src/util/tokenUsage.js +214 -0
  236. package/dist/src/util/tokenUsage.js.map +1 -0
  237. package/dist/src/validators/providers.d.ts +156 -0
  238. package/dist/src/validators/providers.d.ts.map +1 -1
  239. package/dist/tsconfig.tsbuildinfo +1 -1
  240. package/package.json +14 -14
package/dist/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "promptfoo",
3
3
  "description": "LLM eval & testing toolkit",
4
4
  "author": "Ian Webster",
5
- "version": "0.114.7",
5
+ "version": "0.115.0",
6
6
  "license": "MIT",
7
7
  "type": "commonjs",
8
8
  "repository": {
@@ -114,13 +114,13 @@
114
114
  "sharp": "^0.34.2"
115
115
  },
116
116
  "devDependencies": {
117
- "@aws-sdk/client-bedrock-runtime": "^3.821.0",
118
- "@aws-sdk/credential-provider-sso": "^3.821.0",
117
+ "@aws-sdk/client-bedrock-runtime": "^3.826.0",
118
+ "@aws-sdk/credential-provider-sso": "^3.826.0",
119
119
  "@azure/identity": "^4.10.0",
120
120
  "@eslint/js": "^9.28.0",
121
- "@libsql/client": "^0.15.8",
121
+ "@libsql/client": "^0.15.9",
122
122
  "@swc/cli": "^0.7.7",
123
- "@swc/core": "^1.11.29",
123
+ "@swc/core": "^1.11.31",
124
124
  "@swc/jest": "^0.2.38",
125
125
  "@trivago/prettier-plugin-sort-imports": "^5.2.2",
126
126
  "@types/async": "^3.2.24",
@@ -128,11 +128,11 @@
128
128
  "@types/cache-manager": "^4.0.6",
129
129
  "@types/cache-manager-fs-hash": "^0.0.5",
130
130
  "@types/cli-progress": "^3.11.6",
131
- "@types/compression": "^1.8.0",
132
- "@types/cors": "^2.8.18",
131
+ "@types/compression": "^1.8.1",
132
+ "@types/cors": "^2.8.19",
133
133
  "@types/debounce": "^1.2.4",
134
134
  "@types/diff": "^7.0.2",
135
- "@types/express": "^5.0.2",
135
+ "@types/express": "^5.0.3",
136
136
  "@types/glob": "^8.1.0",
137
137
  "@types/inquirer": "^9.0.8",
138
138
  "@types/jest": "^29.5.14",
@@ -152,7 +152,7 @@
152
152
  "concurrently": "^9.1.2",
153
153
  "drizzle-kit": "^0.31.1",
154
154
  "eslint": "^9.28.0",
155
- "eslint-plugin-jest": "^28.12.0",
155
+ "eslint-plugin-jest": "^28.13.0",
156
156
  "eslint-plugin-react-hooks": "^5.2.0",
157
157
  "eslint-plugin-react-refresh": "^0.4.20",
158
158
  "eslint-plugin-unicorn": "^59.0.1",
@@ -167,11 +167,11 @@
167
167
  "supertest": "^7.1.1",
168
168
  "ts-node": "^10.9.2",
169
169
  "typescript": "^5.8.3",
170
- "typescript-eslint": "^8.33.0",
170
+ "typescript-eslint": "^8.34.0",
171
171
  "zod-to-json-schema": "^3.24.5"
172
172
  },
173
173
  "dependencies": {
174
- "@anthropic-ai/sdk": "^0.53.0",
174
+ "@anthropic-ai/sdk": "^0.54.0",
175
175
  "@apidevtools/json-schema-ref-parser": "^12.0.2",
176
176
  "@googleapis/sheets": "^9.8.0",
177
177
  "@modelcontextprotocol/sdk": "^1.12.1",
@@ -195,7 +195,7 @@
195
195
  "dedent": "^1.6.0",
196
196
  "dotenv": "^16.5.0",
197
197
  "drizzle-orm": "^0.39.3",
198
- "express": "^4.21.2",
198
+ "express": "^5.1.0",
199
199
  "fast-deep-equal": "^3.1.3",
200
200
  "fast-xml-parser": "^4.5.3",
201
201
  "fastest-levenshtein": "^1.0.16",
@@ -207,7 +207,7 @@
207
207
  "mathjs": "^14.5.2",
208
208
  "node-cache": "^5.1.2",
209
209
  "nunjucks": "^3.2.4",
210
- "openai": "^5.0.1",
210
+ "openai": "^5.2.0",
211
211
  "opener": "^1.5.2",
212
212
  "proxy-agent": "^6.5.0",
213
213
  "proxy-from-env": "^1.1.0",
@@ -222,7 +222,7 @@
222
222
  "uuid": "^11.1.0",
223
223
  "winston": "^3.17.0",
224
224
  "ws": "^8.18.2",
225
- "zod": "^3.25.46",
225
+ "zod": "^3.25.57",
226
226
  "zod-validation-error": "^3.4.1"
227
227
  },
228
228
  "madge": {