promptfoo 0.93.2 → 0.94.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 (267) hide show
  1. package/dist/drizzle/0008_broad_boomer.sql +2 -0
  2. package/dist/drizzle/0009_strong_marten_broadcloak.sql +19 -0
  3. package/dist/drizzle/meta/0008_snapshot.json +732 -0
  4. package/dist/drizzle/meta/0009_snapshot.json +622 -0
  5. package/dist/drizzle/meta/_journal.json +14 -0
  6. package/dist/package.json +16 -19
  7. package/dist/src/app/assets/index-CKeaKcHn.css +1 -0
  8. package/dist/src/app/assets/index-D0jdLrEN.js +769 -0
  9. package/dist/src/app/assets/{index.es-C_NMLMrz.js → index.es-BExeKHIA.js} +1 -1
  10. package/dist/src/app/assets/{sync-C0Slgwbm.js → sync-B6HKT-pd.js} +1 -1
  11. package/dist/src/app/index.html +3 -3
  12. package/dist/src/{assertions.d.ts → assertions/index.d.ts} +4 -4
  13. package/dist/src/assertions/index.d.ts.map +1 -0
  14. package/dist/src/{assertions.js → assertions/index.js} +33 -45
  15. package/dist/src/assertions/index.js.map +1 -0
  16. package/dist/src/assertions/utils.d.ts +4 -0
  17. package/dist/src/assertions/utils.d.ts.map +1 -0
  18. package/dist/src/assertions/utils.js +39 -0
  19. package/dist/src/assertions/utils.js.map +1 -0
  20. package/dist/src/cache.d.ts +0 -1
  21. package/dist/src/cache.d.ts.map +1 -1
  22. package/dist/src/cache.js.map +1 -1
  23. package/dist/src/commands/auth.d.ts.map +1 -1
  24. package/dist/src/commands/auth.js +25 -18
  25. package/dist/src/commands/auth.js.map +1 -1
  26. package/dist/src/commands/config.d.ts.map +1 -1
  27. package/dist/src/commands/config.js +41 -8
  28. package/dist/src/commands/config.js.map +1 -1
  29. package/dist/src/commands/eval.d.ts.map +1 -1
  30. package/dist/src/commands/eval.js +37 -19
  31. package/dist/src/commands/eval.js.map +1 -1
  32. package/dist/src/commands/init.d.ts.map +1 -1
  33. package/dist/src/commands/init.js +3 -4
  34. package/dist/src/commands/init.js.map +1 -1
  35. package/dist/src/database/index.d.ts.map +1 -1
  36. package/dist/src/database/index.js +4 -1
  37. package/dist/src/database/index.js.map +1 -1
  38. package/dist/src/database/tables.d.ts +0 -114
  39. package/dist/src/database/tables.d.ts.map +1 -1
  40. package/dist/src/database/tables.js +7 -34
  41. package/dist/src/database/tables.js.map +1 -1
  42. package/dist/src/envars.d.ts +8 -5
  43. package/dist/src/envars.d.ts.map +1 -1
  44. package/dist/src/envars.js.map +1 -1
  45. package/dist/src/evaluator.d.ts.map +1 -1
  46. package/dist/src/evaluator.js +0 -5
  47. package/dist/src/evaluator.js.map +1 -1
  48. package/dist/src/fetch.d.ts +0 -1
  49. package/dist/src/fetch.d.ts.map +1 -1
  50. package/dist/src/fetch.js +3 -4
  51. package/dist/src/fetch.js.map +1 -1
  52. package/dist/src/globalConfig/cloud.d.ts +22 -1
  53. package/dist/src/globalConfig/cloud.d.ts.map +1 -1
  54. package/dist/src/globalConfig/cloud.js +5 -0
  55. package/dist/src/globalConfig/cloud.js.map +1 -1
  56. package/dist/src/googleSheets.d.ts.map +1 -1
  57. package/dist/src/googleSheets.js +13 -2
  58. package/dist/src/googleSheets.js.map +1 -1
  59. package/dist/src/integrations/portkey.d.ts.map +1 -1
  60. package/dist/src/integrations/portkey.js +1 -2
  61. package/dist/src/integrations/portkey.js.map +1 -1
  62. package/dist/src/models/eval.d.ts +1 -3
  63. package/dist/src/models/eval.d.ts.map +1 -1
  64. package/dist/src/models/eval.js +5 -21
  65. package/dist/src/models/eval.js.map +1 -1
  66. package/dist/src/models/evalResult.d.ts +2 -0
  67. package/dist/src/models/evalResult.d.ts.map +1 -1
  68. package/dist/src/models/evalResult.js +4 -1
  69. package/dist/src/models/evalResult.js.map +1 -1
  70. package/dist/src/onboarding.d.ts +1 -1
  71. package/dist/src/onboarding.d.ts.map +1 -1
  72. package/dist/src/onboarding.js +8 -2
  73. package/dist/src/onboarding.js.map +1 -1
  74. package/dist/src/prompts/processors/javascript.d.ts +1 -0
  75. package/dist/src/prompts/processors/javascript.d.ts.map +1 -1
  76. package/dist/src/prompts/processors/javascript.js +6 -2
  77. package/dist/src/prompts/processors/javascript.js.map +1 -1
  78. package/dist/src/prompts/processors/python.d.ts +2 -0
  79. package/dist/src/prompts/processors/python.d.ts.map +1 -1
  80. package/dist/src/prompts/processors/python.js +4 -2
  81. package/dist/src/prompts/processors/python.js.map +1 -1
  82. package/dist/src/providers/anthropic.js +1 -1
  83. package/dist/src/providers/anthropic.js.map +1 -1
  84. package/dist/src/providers/bedrock.d.ts +4 -0
  85. package/dist/src/providers/bedrock.d.ts.map +1 -1
  86. package/dist/src/providers/bedrock.js +12 -0
  87. package/dist/src/providers/bedrock.js.map +1 -1
  88. package/dist/src/providers/fal.d.ts.map +1 -1
  89. package/dist/src/providers/fal.js +1 -2
  90. package/dist/src/providers/fal.js.map +1 -1
  91. package/dist/src/providers/http.d.ts +6 -2
  92. package/dist/src/providers/http.d.ts.map +1 -1
  93. package/dist/src/providers/http.js +70 -29
  94. package/dist/src/providers/http.js.map +1 -1
  95. package/dist/src/providers/openai.d.ts.map +1 -1
  96. package/dist/src/providers/openai.js +39 -30
  97. package/dist/src/providers/openai.js.map +1 -1
  98. package/dist/src/providers/palm.d.ts.map +1 -1
  99. package/dist/src/providers/palm.js +3 -1
  100. package/dist/src/providers/palm.js.map +1 -1
  101. package/dist/src/providers/replicate.d.ts.map +1 -1
  102. package/dist/src/providers/replicate.js +2 -3
  103. package/dist/src/providers/replicate.js.map +1 -1
  104. package/dist/src/providers/togetherai.d.ts +7 -0
  105. package/dist/src/providers/togetherai.d.ts.map +1 -0
  106. package/dist/src/providers/togetherai.js +33 -0
  107. package/dist/src/providers/togetherai.js.map +1 -0
  108. package/dist/src/providers/vertex.d.ts.map +1 -1
  109. package/dist/src/providers/vertex.js +4 -4
  110. package/dist/src/providers/vertex.js.map +1 -1
  111. package/dist/src/providers/vertexUtil.d.ts +78 -1
  112. package/dist/src/providers/vertexUtil.d.ts.map +1 -1
  113. package/dist/src/providers/vertexUtil.js +57 -15
  114. package/dist/src/providers/vertexUtil.js.map +1 -1
  115. package/dist/src/providers/watsonx.d.ts +39 -4
  116. package/dist/src/providers/watsonx.d.ts.map +1 -1
  117. package/dist/src/providers/watsonx.js +293 -22
  118. package/dist/src/providers/watsonx.js.map +1 -1
  119. package/dist/src/providers/xai.d.ts +7 -0
  120. package/dist/src/providers/xai.d.ts.map +1 -0
  121. package/dist/src/providers/xai.js +23 -0
  122. package/dist/src/providers/xai.js.map +1 -0
  123. package/dist/src/providers.d.ts.map +1 -1
  124. package/dist/src/providers.js +26 -0
  125. package/dist/src/providers.js.map +1 -1
  126. package/dist/src/python/pythonUtils.js +2 -2
  127. package/dist/src/python/pythonUtils.js.map +1 -1
  128. package/dist/src/redteam/commands/init.d.ts.map +1 -1
  129. package/dist/src/redteam/commands/init.js +8 -3
  130. package/dist/src/redteam/commands/init.js.map +1 -1
  131. package/dist/src/redteam/constants.d.ts +25 -2
  132. package/dist/src/redteam/constants.d.ts.map +1 -1
  133. package/dist/src/redteam/constants.js +361 -27
  134. package/dist/src/redteam/constants.js.map +1 -1
  135. package/dist/src/redteam/strategies/index.d.ts.map +1 -1
  136. package/dist/src/redteam/strategies/index.js +10 -0
  137. package/dist/src/redteam/strategies/index.js.map +1 -1
  138. package/dist/src/redteam/strategies/mathPrompt.d.ts +5 -0
  139. package/dist/src/redteam/strategies/mathPrompt.d.ts.map +1 -0
  140. package/dist/src/redteam/strategies/mathPrompt.js +140 -0
  141. package/dist/src/redteam/strategies/mathPrompt.js.map +1 -0
  142. package/dist/src/server/apiSchemas.d.ts +59 -0
  143. package/dist/src/server/apiSchemas.d.ts.map +1 -0
  144. package/dist/src/server/apiSchemas.js +37 -0
  145. package/dist/src/server/apiSchemas.js.map +1 -0
  146. package/dist/src/server/routes/eval.d.ts +2 -0
  147. package/dist/src/server/routes/eval.d.ts.map +1 -0
  148. package/dist/src/server/routes/eval.js +160 -0
  149. package/dist/src/server/routes/eval.js.map +1 -0
  150. package/dist/src/server/routes/providers.d.ts.map +1 -1
  151. package/dist/src/server/routes/providers.js.map +1 -1
  152. package/dist/src/server/routes/redteam.d.ts +2 -0
  153. package/dist/src/server/routes/redteam.d.ts.map +1 -0
  154. package/dist/src/server/routes/redteam.js +43 -0
  155. package/dist/src/server/routes/redteam.js.map +1 -0
  156. package/dist/src/server/routes/user.d.ts +2 -0
  157. package/dist/src/server/routes/user.d.ts.map +1 -0
  158. package/dist/src/server/routes/user.js +60 -0
  159. package/dist/src/server/routes/user.js.map +1 -0
  160. package/dist/src/server/server.d.ts.map +1 -1
  161. package/dist/src/server/server.js +25 -141
  162. package/dist/src/server/server.js.map +1 -1
  163. package/dist/src/share.d.ts.map +1 -1
  164. package/dist/src/share.js.map +1 -1
  165. package/dist/src/telemetry.d.ts +21 -6
  166. package/dist/src/telemetry.d.ts.map +1 -1
  167. package/dist/src/telemetry.js +28 -11
  168. package/dist/src/telemetry.js.map +1 -1
  169. package/dist/src/testCases.d.ts.map +1 -1
  170. package/dist/src/testCases.js +9 -0
  171. package/dist/src/testCases.js.map +1 -1
  172. package/dist/src/types/index.d.ts.map +1 -1
  173. package/dist/src/types/index.js +1 -0
  174. package/dist/src/types/index.js.map +1 -1
  175. package/dist/src/types/prompts.d.ts +1 -0
  176. package/dist/src/types/prompts.d.ts.map +1 -1
  177. package/dist/src/types/providers.d.ts +3 -2
  178. package/dist/src/types/providers.d.ts.map +1 -1
  179. package/dist/src/types/providers.js.map +1 -1
  180. package/dist/src/util/config/default.d.ts +1 -0
  181. package/dist/src/util/config/default.d.ts.map +1 -1
  182. package/dist/src/util/config/default.js +4 -0
  183. package/dist/src/util/config/default.js.map +1 -1
  184. package/dist/src/util/index.d.ts +0 -1
  185. package/dist/src/util/index.d.ts.map +1 -1
  186. package/dist/src/util/index.js +1 -10
  187. package/dist/src/util/index.js.map +1 -1
  188. package/dist/src/validators/redteam.d.ts +6 -3
  189. package/dist/src/validators/redteam.d.ts.map +1 -1
  190. package/dist/src/validators/redteam.js +15 -14
  191. package/dist/src/validators/redteam.js.map +1 -1
  192. package/dist/test/assertions.test.js +191 -113
  193. package/dist/test/assertions.test.js.map +1 -1
  194. package/dist/test/assertions.utils.test.d.ts +2 -0
  195. package/dist/test/assertions.utils.test.d.ts.map +1 -0
  196. package/dist/test/assertions.utils.test.js +124 -0
  197. package/dist/test/assertions.utils.test.js.map +1 -0
  198. package/dist/test/cache.test.js +10 -16
  199. package/dist/test/cache.test.js.map +1 -1
  200. package/dist/test/commands/init.test.js +14 -11
  201. package/dist/test/commands/init.test.js.map +1 -1
  202. package/dist/test/evaluator.test.js +0 -1
  203. package/dist/test/evaluator.test.js.map +1 -1
  204. package/dist/test/evaluatorHelpers.test.js +0 -1
  205. package/dist/test/evaluatorHelpers.test.js.map +1 -1
  206. package/dist/test/models/eval.test.js +30 -1
  207. package/dist/test/models/eval.test.js.map +1 -1
  208. package/dist/test/onboarding.test.js +1 -1
  209. package/dist/test/prompts.processors.javascript.test.js +54 -1
  210. package/dist/test/prompts.processors.javascript.test.js.map +1 -1
  211. package/dist/test/prompts.processors.python.test.js +15 -0
  212. package/dist/test/prompts.processors.python.test.js.map +1 -1
  213. package/dist/test/prompts.processors.python.utils.test.js +2 -0
  214. package/dist/test/prompts.processors.python.utils.test.js.map +1 -1
  215. package/dist/test/prompts.test.js +2 -0
  216. package/dist/test/prompts.test.js.map +1 -1
  217. package/dist/test/providers.bedrock.test.js +58 -6
  218. package/dist/test/providers.bedrock.test.js.map +1 -1
  219. package/dist/test/providers.http.test.js +127 -31
  220. package/dist/test/providers.http.test.js.map +1 -1
  221. package/dist/test/providers.palm.test.d.ts +2 -0
  222. package/dist/test/providers.palm.test.d.ts.map +1 -0
  223. package/dist/test/providers.palm.test.js +131 -0
  224. package/dist/test/providers.palm.test.js.map +1 -0
  225. package/dist/test/providers.test.js +165 -73
  226. package/dist/test/providers.test.js.map +1 -1
  227. package/dist/test/providers.togetherai.test.d.ts +2 -0
  228. package/dist/test/providers.togetherai.test.d.ts.map +1 -0
  229. package/dist/test/providers.togetherai.test.js +53 -0
  230. package/dist/test/providers.togetherai.test.js.map +1 -0
  231. package/dist/test/providers.vertex.test.js +103 -1
  232. package/dist/test/providers.vertex.test.js.map +1 -1
  233. package/dist/test/providers.watsonx.test.js +81 -10
  234. package/dist/test/providers.watsonx.test.js.map +1 -1
  235. package/dist/test/providers.xai.test.d.ts +2 -0
  236. package/dist/test/providers.xai.test.d.ts.map +1 -0
  237. package/dist/test/providers.xai.test.js +47 -0
  238. package/dist/test/providers.xai.test.js.map +1 -0
  239. package/dist/test/rateLimit.test.js +18 -28
  240. package/dist/test/rateLimit.test.js.map +1 -1
  241. package/dist/test/redteam/plugins/pluginDocumentation.test.d.ts +2 -0
  242. package/dist/test/redteam/plugins/pluginDocumentation.test.d.ts.map +1 -0
  243. package/dist/test/redteam/plugins/pluginDocumentation.test.js +38 -0
  244. package/dist/test/redteam/plugins/pluginDocumentation.test.js.map +1 -0
  245. package/dist/test/redteam/validators.test.js +1 -0
  246. package/dist/test/redteam/validators.test.js.map +1 -1
  247. package/dist/test/server/providers.test.js +13 -1
  248. package/dist/test/server/providers.test.js.map +1 -1
  249. package/dist/test/testCases.test.js +8 -1
  250. package/dist/test/testCases.test.js.map +1 -1
  251. package/dist/test/util.config.load.test.d.ts +2 -0
  252. package/dist/test/util.config.load.test.d.ts.map +1 -0
  253. package/dist/test/{util.config.load.test.ts.js → util.config.load.test.js} +1 -26
  254. package/dist/test/util.config.load.test.js.map +1 -0
  255. package/dist/tsconfig.tsbuildinfo +1 -1
  256. package/package.json +16 -19
  257. package/dist/src/app/assets/index-CkOXAWT6.js +0 -767
  258. package/dist/src/app/assets/index-DSMggY6i.css +0 -1
  259. package/dist/src/assertions.d.ts.map +0 -1
  260. package/dist/src/assertions.js.map +0 -1
  261. package/dist/src/models/provider.d.ts +0 -11
  262. package/dist/src/models/provider.d.ts.map +0 -1
  263. package/dist/src/models/provider.js +0 -52
  264. package/dist/src/models/provider.js.map +0 -1
  265. package/dist/test/util.config.load.test.ts.d.ts +0 -2
  266. package/dist/test/util.config.load.test.ts.d.ts.map +0 -1
  267. package/dist/test/util.config.load.test.ts.js.map +0 -1
package/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.93.2",
5
+ "version": "0.94.0",
6
6
  "license": "MIT",
7
7
  "type": "commonjs",
8
8
  "repository": {
@@ -51,6 +51,7 @@
51
51
  "format": "prettier -w .",
52
52
  "format:check": "prettier --check .",
53
53
  "db:migrate": "npx tsx src/migrate.ts",
54
+ "citation:generate": "ts-node scripts/generateCitation.ts",
54
55
  "db:generate": "npx drizzle-kit generate",
55
56
  "jsonSchema:generate": "npx -y tsx scripts/generateJsonSchema.ts > site/static/config-schema.json",
56
57
  "audit:fix": "npm audit fix && npm audit fix --prefix src/app && npm audit fix --prefix site",
@@ -60,10 +61,7 @@
60
61
  "dev": "concurrently \"npm run dev:server\" \"npm run dev:app\""
61
62
  },
62
63
  "overrides": {
63
- "uri-js": "npm:uri-js-replace",
64
- "node-fetch": {
65
- "whatwg-url": "14.x"
66
- }
64
+ "uri-js": "npm:uri-js-replace"
67
65
  },
68
66
  "peerDependencies": {
69
67
  "@aws-sdk/client-bedrock-runtime": "^3.602.0",
@@ -83,12 +81,12 @@
83
81
  "puppeteer-extra-plugin-stealth": "^2.11.2"
84
82
  },
85
83
  "devDependencies": {
86
- "@aws-sdk/client-bedrock-runtime": "^3.670.0",
87
- "@azure/identity": "^4.4.1",
88
- "@eslint/js": "^9.12.0",
84
+ "@aws-sdk/client-bedrock-runtime": "^3.677.0",
85
+ "@azure/identity": "^4.5.0",
86
+ "@eslint/js": "^9.13.0",
89
87
  "@libsql/client": "^0.14.0",
90
88
  "@swc/cli": "^0.4.0",
91
- "@swc/core": "^1.7.35",
89
+ "@swc/core": "^1.7.39",
92
90
  "@swc/jest": "^0.2.36",
93
91
  "@trivago/prettier-plugin-sort-imports": "^4.3.0",
94
92
  "@types/async": "^3.2.24",
@@ -105,7 +103,6 @@
105
103
  "@types/inquirer": "^9.0.7",
106
104
  "@types/jest": "^29.5.13",
107
105
  "@types/js-yaml": "^4.0.9",
108
- "@types/node-fetch": "^2.6.11",
109
106
  "@types/nunjucks": "^3.2.6",
110
107
  "@types/opener": "^1.4.3",
111
108
  "@types/semver": "^7.5.8",
@@ -114,11 +111,12 @@
114
111
  "check-dependency-version-consistency": "^4.1.0",
115
112
  "cloudflare": "3.4.0",
116
113
  "concurrently": "^9.0.1",
117
- "drizzle-kit": "^0.25.0",
114
+ "drizzle-kit": "^0.26.2",
118
115
  "esbuild": "^0.24.0",
119
- "eslint": "^9.12.0",
116
+ "eslint": "^9.13.0",
120
117
  "eslint-plugin-jest": "^28.8.3",
121
118
  "eslint-plugin-react-hooks": "^5.1.0-rc.0",
119
+ "eslint-plugin-react-refresh": "^0.4.13",
122
120
  "eslint-plugin-unicorn": "^56.0.0",
123
121
  "eslint-plugin-unused-imports": "^4.1.4",
124
122
  "jest": "^29.7.0",
@@ -132,20 +130,20 @@
132
130
  "ts-node": "^10.9.2",
133
131
  "tsconfig-paths": "^4.2.0",
134
132
  "typescript": "^5.6.3",
135
- "typescript-eslint": "^8.9.0",
133
+ "typescript-eslint": "^8.11.0",
136
134
  "zod-to-json-schema": "^3.23.3"
137
135
  },
138
136
  "dependencies": {
139
- "@anthropic-ai/sdk": "^0.29.0",
137
+ "@anthropic-ai/sdk": "^0.30.0",
140
138
  "@apidevtools/json-schema-ref-parser": "^11.7.2",
141
139
  "@emotion/react": "^11.13.3",
142
140
  "@emotion/styled": "^11.13.0",
143
141
  "@googleapis/sheets": "^9.3.1",
144
- "@mui/material": "^6.1.3",
142
+ "@mui/material": "^6.1.4",
145
143
  "ajv": "^8.17.1",
146
144
  "ajv-formats": "^3.0.1",
147
145
  "async": "^3.2.6",
148
- "better-sqlite3": "^11.3.0",
146
+ "better-sqlite3": "^11.4.0",
149
147
  "cache-manager": "^4.1.0",
150
148
  "cache-manager-fs-hash": "^1.0.0",
151
149
  "chalk": "^4.1.2",
@@ -160,7 +158,7 @@
160
158
  "debounce": "^1.2.1",
161
159
  "dedent": "^1.5.3",
162
160
  "dotenv": "^16.4.5",
163
- "drizzle-orm": "^0.34.1",
161
+ "drizzle-orm": "^0.35.2",
164
162
  "express": "^4.21.1",
165
163
  "fast-deep-equal": "^3.1.3",
166
164
  "fast-xml-parser": "^4.5.0",
@@ -173,9 +171,8 @@
173
171
  "js-yaml": "^4.1.0",
174
172
  "mathjs": "^13.2.0",
175
173
  "node-cache": "^5.1.2",
176
- "node-fetch": "^2.6.7",
177
174
  "nunjucks": "^3.2.4",
178
- "openai": "^4.67.3",
175
+ "openai": "^4.68.2",
179
176
  "opener": "^1.5.2",
180
177
  "proxy-agent": "^6.4.0",
181
178
  "python-shell": "^5.0.0",