promptfoo 0.119.8 → 0.119.10

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 (91) hide show
  1. package/README.md +2 -0
  2. package/dist/package.json +77 -76
  3. package/dist/src/app/assets/index-Dn6NT1A2.js +51 -0
  4. package/dist/src/app/assets/index-M7TScuK-.css +1 -0
  5. package/dist/src/app/assets/source-map-support-XzfnsDIg.js +1 -0
  6. package/dist/src/app/assets/sync-DEOWtRCV.js +1 -0
  7. package/dist/src/app/assets/vendor-charts-BJZTQN7x.js +1 -0
  8. package/dist/src/app/assets/vendor-markdown-Dc61yFKa.js +1 -0
  9. package/dist/src/app/assets/vendor-mui-core-CEgokKtq.js +183 -0
  10. package/dist/src/app/assets/vendor-mui-icons-D5X7GWS7.js +1 -0
  11. package/dist/src/app/assets/vendor-mui-x-BU3nLhQd.css +1 -0
  12. package/dist/src/app/assets/vendor-mui-x-C0Zq2q0Y.js +45 -0
  13. package/dist/src/app/assets/vendor-utils-BMvINN7E.js +1 -0
  14. package/dist/src/app/index.html +9 -8
  15. package/dist/src/codeScan/scanner/index.js +2 -2
  16. package/dist/src/commands/validate.js +1 -1
  17. package/dist/src/database/tables.d.ts +420 -24
  18. package/dist/src/generated/constants.js +1 -1
  19. package/dist/src/globalConfig/accounts.d.ts +5 -0
  20. package/dist/src/globalConfig/accounts.js +29 -2
  21. package/dist/src/main.js +8 -8
  22. package/dist/src/microsoftSharepoint.d.ts +1 -1
  23. package/dist/src/prompts/processors/executable.d.ts +1 -1
  24. package/dist/src/providers/azure/foundry-agent.d.ts +1 -1
  25. package/dist/src/providers/azure/foundry-agent.js +3 -3
  26. package/dist/src/providers/azure/responses.d.ts +1 -1
  27. package/dist/src/providers/azure/responses.js +8 -8
  28. package/dist/src/providers/claude-agent-sdk.d.ts +1 -1
  29. package/dist/src/providers/google/live.js +2 -2
  30. package/dist/src/providers/http.d.ts +2 -2
  31. package/dist/src/providers/http.js +7 -5
  32. package/dist/src/providers/openai/agents-tracing.js +2 -2
  33. package/dist/src/providers/openai/chat.js +1 -1
  34. package/dist/src/providers/openai/responses.js +2 -2
  35. package/dist/src/providers/registry.js +14 -14
  36. package/dist/src/providers/responses/processor.d.ts +1 -1
  37. package/dist/src/providers/slack.d.ts +1 -1
  38. package/dist/src/python/persistent_wrapper.py +9 -7
  39. package/dist/src/python/worker.js +2 -1
  40. package/dist/src/redteam/constants/strategies.d.ts +4 -1
  41. package/dist/src/redteam/constants/strategies.js +7 -1
  42. package/dist/src/redteam/graders.js +2 -2
  43. package/dist/src/redteam/plugins/index.js +2 -2
  44. package/dist/src/redteam/providers/agentic/memoryPoisoning.js +2 -2
  45. package/dist/src/redteam/providers/goat.d.ts +1 -1
  46. package/dist/src/redteam/providers/hydra/index.d.ts +1 -1
  47. package/dist/src/redteam/providers/iterative.d.ts +1 -1
  48. package/dist/src/redteam/providers/iterativeImage.d.ts +1 -1
  49. package/dist/src/redteam/providers/iterativeMeta.d.ts +1 -1
  50. package/dist/src/redteam/providers/iterativeTree.d.ts +1 -1
  51. package/dist/src/redteam/providers/mischievousUser.d.ts +2 -2
  52. package/dist/src/redteam/providers/shared.d.ts +1 -1
  53. package/dist/src/redteam/providers/shared.js +3 -3
  54. package/dist/src/redteam/providers/simba.d.ts +1 -1
  55. package/dist/src/redteam/providers/simba.js +5 -5
  56. package/dist/src/redteam/providers/tracingOptions.d.ts +1 -1
  57. package/dist/src/redteam/strategies/layer.d.ts +1 -1
  58. package/dist/src/redteam/strategies/simba.d.ts +1 -1
  59. package/dist/src/redteam/strategies/util.d.ts +1 -1
  60. package/dist/src/redteam/strategies/util.js +2 -2
  61. package/dist/src/redteam/types.d.ts +130 -29
  62. package/dist/src/redteam/types.js +53 -1
  63. package/dist/src/redteam/util.d.ts +1 -1
  64. package/dist/src/server/routes/providers.js +1 -1
  65. package/dist/src/server/routes/redteam.js +205 -76
  66. package/dist/src/server/services/redteamTestCaseGenerationService.d.ts +34 -0
  67. package/dist/src/server/services/redteamTestCaseGenerationService.js +407 -0
  68. package/dist/src/server/utils/evalTableUtils.d.ts +1 -1
  69. package/dist/src/server/utils/evalTableUtils.js +2 -2
  70. package/dist/src/telemetry.js +1 -0
  71. package/dist/src/types/index.d.ts +5795 -317
  72. package/dist/src/util/apiHealth.js +2 -2
  73. package/dist/src/util/cloud.js +3 -3
  74. package/dist/src/util/database.d.ts +70 -4
  75. package/dist/src/util/server.js +3 -3
  76. package/dist/src/util/xlsx.d.ts +1 -1
  77. package/dist/src/validators/redteam.d.ts +10 -10
  78. package/dist/src/validators/testProvider.d.ts +1 -1
  79. package/dist/src/validators/testProvider.js +6 -4
  80. package/dist/tsconfig.tsbuildinfo +1 -1
  81. package/package.json +77 -76
  82. package/dist/src/app/assets/index-C2eAYIz5.css +0 -1
  83. package/dist/src/app/assets/index-DcG0DpZ5.js +0 -44
  84. package/dist/src/app/assets/source-map-support-CEw_IGAd.js +0 -1
  85. package/dist/src/app/assets/sync-DafcBa1a.js +0 -1
  86. package/dist/src/app/assets/vendor-charts-s1ef_4a9.js +0 -1
  87. package/dist/src/app/assets/vendor-markdown-AIYkRcpF.js +0 -1
  88. package/dist/src/app/assets/vendor-mui-core-CBQB7vyG.js +0 -183
  89. package/dist/src/app/assets/vendor-mui-icons-CPDXMfYO.js +0 -1
  90. package/dist/src/app/assets/vendor-mui-x-B285qkCy.js +0 -1
  91. package/dist/src/app/assets/vendor-utils-BTlF8pFa.js +0 -1
package/README.md CHANGED
@@ -38,6 +38,7 @@ See [Getting Started](https://www.promptfoo.dev/docs/getting-started/) (evals) o
38
38
  - **Secure your LLM apps** with [red teaming](https://www.promptfoo.dev/docs/red-team/) and vulnerability scanning
39
39
  - **Compare models** side-by-side (OpenAI, Anthropic, Azure, Bedrock, Ollama, and [more](https://www.promptfoo.dev/docs/providers/))
40
40
  - **Automate checks** in [CI/CD](https://www.promptfoo.dev/docs/integrations/ci-cd/)
41
+ - **Review pull requests** for LLM-related security and compliance issues with [code scanning](https://www.promptfoo.dev/docs/code-scanning/)
41
42
  - **Share results** with your team
42
43
 
43
44
  Here's what it looks like in action:
@@ -69,6 +70,7 @@ It also can generate [security vulnerability reports](https://www.promptfoo.dev/
69
70
  - 💻 [CLI Usage](https://www.promptfoo.dev/docs/usage/command-line/)
70
71
  - 📦 [Node.js Package](https://www.promptfoo.dev/docs/usage/node-package/)
71
72
  - 🤖 [Supported Models](https://www.promptfoo.dev/docs/providers/)
73
+ - 🔬 [Code Scanning Guide](https://www.promptfoo.dev/docs/code-scanning/)
72
74
 
73
75
  ## Contributing
74
76
 
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.119.8",
5
+ "version": "0.119.10",
6
6
  "license": "MIT",
7
7
  "type": "commonjs",
8
8
  "repository": {
@@ -60,6 +60,8 @@
60
60
  "lint:site": "npx @biomejs/biome lint site",
61
61
  "lint:src": "npx @biomejs/biome lint src",
62
62
  "lint:tests": "npx @biomejs/biome lint test",
63
+ "lint:index": "node scripts/check-index-imports.js",
64
+ "lint:index:fix": "node scripts/fix-index-imports.js",
63
65
  "lint": "npm run lint:src",
64
66
  "local:web": "npm run dev --prefix src/app",
65
67
  "local": "ts-node --cwdMode --transpileOnly src/main.ts",
@@ -78,19 +80,19 @@
78
80
  "overrides": {
79
81
  "uri-js": "npm:uri-js-replace",
80
82
  "chokidar": "4.0.3",
81
- "whatwg-url": "14.2.0",
82
- "esbuild": "0.25.9",
83
+ "whatwg-url": "15.1.0",
84
+ "esbuild": "0.27.0",
83
85
  "react": "19.2.0",
84
86
  "react-dom": "19.2.0",
85
- "react-is": "^18.3.1",
87
+ "react-is": "^19.0.0",
86
88
  "*": {
87
- "whatwg-url": "14.2.0",
89
+ "whatwg-url": "15.1.0",
88
90
  "chokidar": "4.0.3",
89
- "esbuild": "0.25.9",
91
+ "esbuild": "0.27.0",
90
92
  "react": "19.2.0",
91
93
  "react-dom": "19.2.0"
92
94
  },
93
- "gaxios": "^6.0.0",
95
+ "gaxios": "^7.0.0",
94
96
  "https-proxy-agent": "^7.0.0",
95
97
  "mongoose": {
96
98
  "gcp-metadata": "^8.1.2"
@@ -98,30 +100,30 @@
98
100
  },
99
101
  "devDependencies": {
100
102
  "@adaline/anthropic": "1.8.0",
101
- "@adaline/azure": "1.6.2",
103
+ "@adaline/azure": "1.7.0",
102
104
  "@adaline/gateway": "1.10.0",
103
- "@adaline/google": "1.9.0",
104
- "@adaline/groq": "1.8.2",
105
- "@adaline/open-router": "1.5.1",
106
- "@adaline/openai": "1.10.0",
105
+ "@adaline/google": "1.10.0",
106
+ "@adaline/groq": "1.9.0",
107
+ "@adaline/open-router": "1.6.0",
108
+ "@adaline/openai": "1.11.0",
107
109
  "@adaline/provider": "1.5.1",
108
- "@adaline/together-ai": "1.5.1",
110
+ "@adaline/together-ai": "1.6.0",
109
111
  "@adaline/types": "1.9.1",
110
- "@adaline/vertex": "1.7.2",
111
- "@anthropic-ai/claude-agent-sdk": "^0.1.42",
112
- "@aws-sdk/client-bedrock-agent-runtime": "^3.927.0",
113
- "@aws-sdk/client-bedrock-runtime": "^3.927.0",
114
- "@aws-sdk/client-sagemaker-runtime": "^3.927.0",
115
- "@aws-sdk/credential-provider-sso": "^3.927.0",
116
- "@aws-sdk/types": "^3.922.0",
112
+ "@adaline/vertex": "1.9.0",
113
+ "@anthropic-ai/claude-agent-sdk": "^0.1.47",
114
+ "@aws-sdk/client-bedrock-agent-runtime": "^3.936.0",
115
+ "@aws-sdk/client-bedrock-runtime": "^3.936.0",
116
+ "@aws-sdk/client-sagemaker-runtime": "^3.936.0",
117
+ "@aws-sdk/credential-provider-sso": "^3.936.0",
118
+ "@aws-sdk/types": "^3.936.0",
117
119
  "@azure/identity": "^4.13.0",
118
120
  "@azure/openai-assistants": "^1.0.0-beta.6",
119
- "@biomejs/biome": "^2.3.4",
121
+ "@biomejs/biome": "^2.3.7",
120
122
  "@fal-ai/client": "^1.7.2",
121
- "@ibm-cloud/watsonx-ai": "^1.7.2",
123
+ "@ibm-cloud/watsonx-ai": "^1.7.3",
122
124
  "@ibm-generative-ai/node-sdk": "^3.2.4",
123
125
  "@jest/globals": "^30.2.0",
124
- "@swc/core": "^1.15.1",
126
+ "@swc/core": "^1.15.3",
125
127
  "@swc/jest": "^0.2.39",
126
128
  "@types/async": "^3.2.25",
127
129
  "@types/better-sqlite3": "^7.6.13",
@@ -135,7 +137,7 @@
135
137
  "@types/jest": "^30.0.0",
136
138
  "@types/js-yaml": "^4.0.9",
137
139
  "@types/jsdom": "^21.1.7",
138
- "@types/node": "^24.10.0",
140
+ "@types/node": "^24.10.1",
139
141
  "@types/nunjucks": "^3.2.6",
140
142
  "@types/opener": "^1.4.3",
141
143
  "@types/pdf-parse": "^1.1.5",
@@ -144,18 +146,17 @@
144
146
  "@types/semver": "^7.7.1",
145
147
  "@types/source-map-support": "^0.5.10",
146
148
  "@types/supertest": "^6.0.3",
147
- "@types/uuid": "^10.0.0",
148
149
  "concurrently": "^9.2.1",
149
150
  "depcheck": "^1.4.7",
150
- "drizzle-kit": "^0.31.6",
151
- "ibm-cloud-sdk-core": "^5.4.3",
151
+ "drizzle-kit": "^0.31.7",
152
+ "ibm-cloud-sdk-core": "^5.4.4",
152
153
  "jest": "^30.2.0",
153
- "knip": "^5.68.0",
154
+ "knip": "^5.70.1",
154
155
  "langfuse": "^3.38.6",
155
156
  "madge": "^8.0.0",
156
157
  "nock": "^14.0.10",
157
158
  "node-sql-parser": "^5.3.13",
158
- "nodemon": "^3.1.10",
159
+ "nodemon": "^3.1.11",
159
160
  "pdf-parse": "^1.1.4",
160
161
  "playwright": "^1.56.1",
161
162
  "playwright-extra": "^4.3.6",
@@ -170,49 +171,49 @@
170
171
  "typescript": "^5.9.3",
171
172
  "winston-transport": "^4.9.0",
172
173
  "xlsx": "^0.18.5",
173
- "zod-to-json-schema": "^3.24.6"
174
+ "zod-to-json-schema": "^3.25.0"
174
175
  },
175
176
  "optionalDependencies": {
176
177
  "@adaline/anthropic": "1.8.0",
177
- "@adaline/azure": "1.6.2",
178
+ "@adaline/azure": "1.7.0",
178
179
  "@adaline/gateway": "1.10.0",
179
- "@adaline/google": "1.9.0",
180
- "@adaline/groq": "1.8.2",
181
- "@adaline/open-router": "1.5.1",
182
- "@adaline/openai": "1.10.0",
180
+ "@adaline/google": "1.10.0",
181
+ "@adaline/groq": "1.9.0",
182
+ "@adaline/open-router": "1.6.0",
183
+ "@adaline/openai": "1.11.0",
183
184
  "@adaline/provider": "1.5.1",
184
- "@adaline/together-ai": "1.5.1",
185
+ "@adaline/together-ai": "1.6.0",
185
186
  "@adaline/types": "1.9.1",
186
- "@adaline/vertex": "1.7.2",
187
- "@anthropic-ai/claude-agent-sdk": "^0.1.42",
188
- "@aws-sdk/client-bedrock-agent-runtime": "^3.927.0",
189
- "@aws-sdk/client-bedrock-runtime": "^3.927.0",
190
- "@aws-sdk/client-sagemaker-runtime": "^3.927.0",
191
- "@aws-sdk/credential-provider-sso": "^3.927.0",
187
+ "@adaline/vertex": "1.9.0",
188
+ "@anthropic-ai/claude-agent-sdk": "^0.1.47",
189
+ "@aws-sdk/client-bedrock-agent-runtime": "^3.936.0",
190
+ "@aws-sdk/client-bedrock-runtime": "^3.936.0",
191
+ "@aws-sdk/client-sagemaker-runtime": "^3.936.0",
192
+ "@aws-sdk/credential-provider-sso": "^3.936.0",
192
193
  "@azure/ai-projects": "^1.0.1",
193
194
  "@azure/identity": "^4.13.0",
194
- "@azure/msal-node": "^3.8.1",
195
+ "@azure/msal-node": "^3.8.3",
195
196
  "@azure/openai-assistants": "^1.0.0-beta.6",
196
- "@biomejs/cli-darwin-arm64": "2.3.4",
197
- "@biomejs/cli-darwin-x64": "2.3.4",
198
- "@biomejs/cli-linux-x64": "2.3.4",
199
- "@biomejs/cli-linux-x64-musl": "2.3.4",
200
- "@biomejs/cli-win32-x64": "2.3.4",
197
+ "@biomejs/cli-darwin-arm64": "2.3.7",
198
+ "@biomejs/cli-darwin-x64": "2.3.7",
199
+ "@biomejs/cli-linux-x64": "2.3.7",
200
+ "@biomejs/cli-linux-x64-musl": "2.3.7",
201
+ "@biomejs/cli-win32-x64": "2.3.7",
201
202
  "@fal-ai/client": "^1.7.2",
202
- "@ibm-cloud/watsonx-ai": "^1.7.2",
203
+ "@ibm-cloud/watsonx-ai": "^1.7.3",
203
204
  "@ibm-generative-ai/node-sdk": "^3.2.4",
204
205
  "@playwright/browser-chromium": "^1.56.1",
205
- "@rollup/rollup-linux-x64-gnu": "^4.53.1",
206
+ "@rollup/rollup-linux-x64-gnu": "^4.53.3",
206
207
  "@slack/web-api": "^7.12.0",
207
- "@smithy/node-http-handler": "^4.4.4",
208
- "@swc/core-darwin-arm64": "^1.15.1",
209
- "@swc/core-darwin-x64": "^1.15.1",
210
- "@swc/core-linux-x64-gnu": "^1.15.1",
211
- "@swc/core-linux-x64-musl": "^1.15.1",
212
- "@swc/core-win32-x64-msvc": "^1.15.1",
208
+ "@smithy/node-http-handler": "^4.4.5",
209
+ "@swc/core-darwin-arm64": "^1.15.3",
210
+ "@swc/core-darwin-x64": "^1.15.3",
211
+ "@swc/core-linux-x64-gnu": "^1.15.3",
212
+ "@swc/core-linux-x64-musl": "^1.15.3",
213
+ "@swc/core-win32-x64-msvc": "^1.15.3",
213
214
  "fluent-ffmpeg": "^2.1.3",
214
215
  "google-auth-library": "^10.5.0",
215
- "ibm-cloud-sdk-core": "^5.4.3",
216
+ "ibm-cloud-sdk-core": "^5.4.4",
216
217
  "langfuse": "^3.38.6",
217
218
  "natural": "^8.1.0",
218
219
  "node-sql-parser": "^5.3.13",
@@ -224,23 +225,22 @@
224
225
  "xlsx": "^0.18.5"
225
226
  },
226
227
  "dependencies": {
227
- "@anthropic-ai/sdk": "^0.69.0",
228
+ "@anthropic-ai/sdk": "^0.70.1",
228
229
  "@apidevtools/json-schema-ref-parser": "^12.0.2",
229
230
  "@googleapis/sheets": "^12.0.0",
230
- "gcp-metadata": "^8.1.2",
231
- "@inquirer/checkbox": "^4.3.1",
232
- "@inquirer/confirm": "^5.1.20",
233
- "@inquirer/core": "^10.3.1",
234
- "@inquirer/editor": "^4.2.22",
235
- "@inquirer/input": "^4.3.0",
236
- "@inquirer/select": "^4.4.1",
237
- "@modelcontextprotocol/sdk": "^1.21.1",
238
- "@openai/agents": "^0.3.0",
231
+ "@inquirer/checkbox": "^4.3.2",
232
+ "@inquirer/confirm": "^5.1.21",
233
+ "@inquirer/core": "^10.3.2",
234
+ "@inquirer/editor": "^4.2.23",
235
+ "@inquirer/input": "^4.3.1",
236
+ "@inquirer/select": "^4.4.2",
237
+ "@modelcontextprotocol/sdk": "^1.22.0",
238
+ "@openai/agents": "^0.3.2",
239
239
  "@types/ws": "^8.18.1",
240
240
  "ajv": "^8.17.1",
241
241
  "ajv-formats": "^3.0.1",
242
242
  "async": "^3.2.6",
243
- "better-sqlite3": "12.4.1",
243
+ "better-sqlite3": "12.4.6",
244
244
  "binary-extensions": "^3.1.0",
245
245
  "cache-manager": "^4.1.0",
246
246
  "cache-manager-fs-hash": "^3.0.0",
@@ -261,25 +261,26 @@
261
261
  "express": "^5.1.0",
262
262
  "fast-deep-equal": "^3.1.3",
263
263
  "fast-safe-stringify": "^2.1.1",
264
- "fast-xml-parser": "^5.3.1",
264
+ "fast-xml-parser": "^5.3.2",
265
265
  "fastest-levenshtein": "^1.0.16",
266
- "glob": "^11.0.3",
267
- "http-z": "^7.1.3",
266
+ "gcp-metadata": "^8.1.2",
267
+ "glob": "^13.0.0",
268
+ "http-z": "^8.1.1",
268
269
  "istextorbinary": "^9.5.0",
269
270
  "jks-js": "^1.1.4",
270
271
  "js-rouge": "^3.0.0",
271
- "js-yaml": "^4.1.0",
272
+ "js-yaml": "^4.1.1",
272
273
  "jsdom": "^26.1.0",
273
274
  "lru-cache": "^11.2.2",
274
- "mathjs": "^14.9.1",
275
+ "mathjs": "^15.1.0",
275
276
  "minimatch": "^10.1.1",
276
277
  "node-cache": "^5.1.2",
277
278
  "nunjucks": "^3.2.4",
278
- "openai": "^6.9.0",
279
+ "openai": "^6.9.1",
279
280
  "opener": "^1.5.2",
280
281
  "ora": "^5.4.1",
281
- "pem": "^1.14.8",
282
- "posthog-node": "^5.11.2",
282
+ "pem": "^1.15.1",
283
+ "posthog-node": "^5.13.2",
283
284
  "proxy-agent": "^6.5.0",
284
285
  "proxy-from-env": "^1.1.0",
285
286
  "python-shell": "^5.0.0",