promptfoo 0.95.0 → 0.96.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/README.md +2 -1
  2. package/dist/package.json +13 -11
  3. package/dist/src/app/assets/{index-zXzgAsKj.js → index-Dwt7E2K_.js} +178 -178
  4. package/dist/src/app/assets/{index.es-Jztl1qad.js → index.es-CooNf3HB.js} +1 -1
  5. package/dist/src/app/assets/{sync-BJBBGzPI.js → sync-Bj1WJrHQ.js} +1 -1
  6. package/dist/src/app/index.html +1 -1
  7. package/dist/src/assertions/bleu.d.ts +33 -0
  8. package/dist/src/assertions/bleu.d.ts.map +1 -0
  9. package/dist/src/assertions/bleu.js +116 -0
  10. package/dist/src/assertions/bleu.js.map +1 -0
  11. package/dist/src/assertions/index.d.ts +1 -12
  12. package/dist/src/assertions/index.d.ts.map +1 -1
  13. package/dist/src/assertions/index.js +20 -250
  14. package/dist/src/assertions/index.js.map +1 -1
  15. package/dist/src/assertions/json.d.ts +8 -0
  16. package/dist/src/assertions/json.d.ts.map +1 -0
  17. package/dist/src/assertions/json.js +121 -0
  18. package/dist/src/assertions/json.js.map +1 -0
  19. package/dist/src/assertions/perplexity.d.ts +4 -0
  20. package/dist/src/assertions/perplexity.d.ts.map +1 -0
  21. package/dist/src/assertions/perplexity.js +40 -0
  22. package/dist/src/assertions/perplexity.js.map +1 -0
  23. package/dist/src/assertions/sql.d.ts +4 -0
  24. package/dist/src/assertions/sql.d.ts.map +1 -0
  25. package/dist/src/assertions/sql.js +87 -0
  26. package/dist/src/assertions/sql.js.map +1 -0
  27. package/dist/src/assertions/xml.d.ts +9 -0
  28. package/dist/src/assertions/xml.d.ts.map +1 -0
  29. package/dist/src/assertions/xml.js +57 -0
  30. package/dist/src/assertions/xml.js.map +1 -0
  31. package/dist/src/commands/eval/filterTests.d.ts +1 -0
  32. package/dist/src/commands/eval/filterTests.d.ts.map +1 -1
  33. package/dist/src/commands/eval/filterTests.js +14 -1
  34. package/dist/src/commands/eval/filterTests.js.map +1 -1
  35. package/dist/src/commands/eval.d.ts.map +1 -1
  36. package/dist/src/commands/eval.js +14 -3
  37. package/dist/src/commands/eval.js.map +1 -1
  38. package/dist/src/commands/import.d.ts.map +1 -1
  39. package/dist/src/commands/import.js +1 -0
  40. package/dist/src/commands/import.js.map +1 -1
  41. package/dist/src/commands/list.d.ts.map +1 -1
  42. package/dist/src/commands/list.js +15 -0
  43. package/dist/src/commands/list.js.map +1 -1
  44. package/dist/src/csv.d.ts.map +1 -1
  45. package/dist/src/csv.js +9 -4
  46. package/dist/src/csv.js.map +1 -1
  47. package/dist/src/database/tables.d.ts +189 -1
  48. package/dist/src/database/tables.d.ts.map +1 -1
  49. package/dist/src/envars.d.ts +9 -0
  50. package/dist/src/envars.d.ts.map +1 -1
  51. package/dist/src/envars.js.map +1 -1
  52. package/dist/src/evaluator.js +2 -2
  53. package/dist/src/evaluator.js.map +1 -1
  54. package/dist/src/evaluatorHelpers.d.ts.map +1 -1
  55. package/dist/src/evaluatorHelpers.js +4 -0
  56. package/dist/src/evaluatorHelpers.js.map +1 -1
  57. package/dist/src/globalConfig/accounts.d.ts +1 -0
  58. package/dist/src/globalConfig/accounts.d.ts.map +1 -1
  59. package/dist/src/globalConfig/accounts.js +24 -0
  60. package/dist/src/globalConfig/accounts.js.map +1 -1
  61. package/dist/src/index.d.ts +74 -68
  62. package/dist/src/index.d.ts.map +1 -1
  63. package/dist/src/onboarding.js +8 -8
  64. package/dist/src/onboarding.js.map +1 -1
  65. package/dist/src/providers/adaline.gateway.d.ts.map +1 -1
  66. package/dist/src/providers/adaline.gateway.js +4 -4
  67. package/dist/src/providers/adaline.gateway.js.map +1 -1
  68. package/dist/src/providers/anthropic.d.ts.map +1 -1
  69. package/dist/src/providers/anthropic.js +21 -0
  70. package/dist/src/providers/anthropic.js.map +1 -1
  71. package/dist/src/providers/{azureopenai.d.ts → azure.d.ts} +13 -13
  72. package/dist/src/providers/azure.d.ts.map +1 -0
  73. package/dist/src/providers/{azureopenai.js → azure.js} +64 -42
  74. package/dist/src/providers/azure.js.map +1 -0
  75. package/dist/src/providers/{azureopenaiUtil.d.ts → azureUtil.d.ts} +1 -1
  76. package/dist/src/providers/azureUtil.d.ts.map +1 -0
  77. package/dist/src/providers/{azureopenaiUtil.js → azureUtil.js} +3 -3
  78. package/dist/src/providers/azureUtil.js.map +1 -0
  79. package/dist/src/providers/bedrock.d.ts +5 -3
  80. package/dist/src/providers/bedrock.d.ts.map +1 -1
  81. package/dist/src/providers/bedrock.js +37 -8
  82. package/dist/src/providers/bedrock.js.map +1 -1
  83. package/dist/src/providers/defaults.d.ts.map +1 -1
  84. package/dist/src/providers/defaults.js +36 -0
  85. package/dist/src/providers/defaults.js.map +1 -1
  86. package/dist/src/providers/portkey.d.ts +3 -2
  87. package/dist/src/providers/portkey.d.ts.map +1 -1
  88. package/dist/src/providers/portkey.js +17 -10
  89. package/dist/src/providers/portkey.js.map +1 -1
  90. package/dist/src/providers/promptfoo.js +2 -2
  91. package/dist/src/providers/promptfoo.js.map +1 -1
  92. package/dist/src/providers.d.ts +9 -5
  93. package/dist/src/providers.d.ts.map +1 -1
  94. package/dist/src/providers.js +16 -11
  95. package/dist/src/providers.js.map +1 -1
  96. package/dist/src/redteam/commands/generate.d.ts.map +1 -1
  97. package/dist/src/redteam/commands/generate.js +5 -1
  98. package/dist/src/redteam/commands/generate.js.map +1 -1
  99. package/dist/src/redteam/commands/init.d.ts +11 -0
  100. package/dist/src/redteam/commands/init.d.ts.map +1 -1
  101. package/dist/src/redteam/commands/init.js +47 -12
  102. package/dist/src/redteam/commands/init.js.map +1 -1
  103. package/dist/src/redteam/commands/poison.d.ts +3 -0
  104. package/dist/src/redteam/commands/poison.d.ts.map +1 -0
  105. package/dist/src/redteam/commands/poison.js +165 -0
  106. package/dist/src/redteam/commands/poison.js.map +1 -0
  107. package/dist/src/redteam/commands/run.d.ts.map +1 -1
  108. package/dist/src/redteam/commands/run.js +2 -0
  109. package/dist/src/redteam/commands/run.js.map +1 -1
  110. package/dist/src/redteam/constants.d.ts +2 -2
  111. package/dist/src/redteam/constants.d.ts.map +1 -1
  112. package/dist/src/redteam/constants.js +13 -4
  113. package/dist/src/redteam/constants.js.map +1 -1
  114. package/dist/src/redteam/extraction/util.js +1 -1
  115. package/dist/src/redteam/extraction/util.js.map +1 -1
  116. package/dist/src/redteam/graders.d.ts +34 -32
  117. package/dist/src/redteam/graders.d.ts.map +1 -1
  118. package/dist/src/redteam/graders.js +34 -33
  119. package/dist/src/redteam/graders.js.map +1 -1
  120. package/dist/src/redteam/index.d.ts.map +1 -1
  121. package/dist/src/redteam/index.js +9 -2
  122. package/dist/src/redteam/index.js.map +1 -1
  123. package/dist/src/redteam/plugins/bfla.d.ts.map +1 -1
  124. package/dist/src/redteam/plugins/bfla.js +5 -3
  125. package/dist/src/redteam/plugins/bfla.js.map +1 -1
  126. package/dist/src/redteam/plugins/bola.js +3 -3
  127. package/dist/src/redteam/plugins/index.d.ts.map +1 -1
  128. package/dist/src/redteam/plugins/index.js +3 -2
  129. package/dist/src/redteam/plugins/index.js.map +1 -1
  130. package/dist/src/redteam/plugins/intent.d.ts +22 -0
  131. package/dist/src/redteam/plugins/intent.d.ts.map +1 -0
  132. package/dist/src/redteam/plugins/intent.js +100 -0
  133. package/dist/src/redteam/plugins/intent.js.map +1 -0
  134. package/dist/src/redteam/plugins/pii.d.ts.map +1 -1
  135. package/dist/src/redteam/plugins/pii.js +21 -14
  136. package/dist/src/redteam/plugins/pii.js.map +1 -1
  137. package/dist/src/redteam/plugins/rbac.d.ts.map +1 -1
  138. package/dist/src/redteam/plugins/rbac.js +5 -4
  139. package/dist/src/redteam/plugins/rbac.js.map +1 -1
  140. package/dist/src/redteam/plugins/sqlInjection.d.ts.map +1 -1
  141. package/dist/src/redteam/plugins/sqlInjection.js +13 -4
  142. package/dist/src/redteam/plugins/sqlInjection.js.map +1 -1
  143. package/dist/src/redteam/providers/crescendo/index.d.ts.map +1 -1
  144. package/dist/src/redteam/providers/crescendo/index.js +6 -4
  145. package/dist/src/redteam/providers/crescendo/index.js.map +1 -1
  146. package/dist/src/redteam/providers/goat.js +1 -1
  147. package/dist/src/redteam/providers/goat.js.map +1 -1
  148. package/dist/src/redteam/providers/iterative.d.ts.map +1 -1
  149. package/dist/src/redteam/providers/iterative.js +4 -2
  150. package/dist/src/redteam/providers/iterative.js.map +1 -1
  151. package/dist/src/redteam/providers/iterativeImage.d.ts.map +1 -1
  152. package/dist/src/redteam/providers/iterativeImage.js +4 -2
  153. package/dist/src/redteam/providers/iterativeImage.js.map +1 -1
  154. package/dist/src/redteam/providers/iterativeTree.d.ts +3 -1
  155. package/dist/src/redteam/providers/iterativeTree.d.ts.map +1 -1
  156. package/dist/src/redteam/providers/iterativeTree.js +5 -3
  157. package/dist/src/redteam/providers/iterativeTree.js.map +1 -1
  158. package/dist/src/redteam/providers/shared.d.ts +2 -2
  159. package/dist/src/redteam/providers/shared.d.ts.map +1 -1
  160. package/dist/src/redteam/providers/shared.js +2 -2
  161. package/dist/src/redteam/providers/shared.js.map +1 -1
  162. package/dist/src/redteam/strategies/mathPrompt.js +1 -1
  163. package/dist/src/redteam/strategies/mathPrompt.js.map +1 -1
  164. package/dist/src/redteam/strategies/multilingual.js +1 -1
  165. package/dist/src/redteam/strategies/multilingual.js.map +1 -1
  166. package/dist/src/redteam/types.d.ts +1 -0
  167. package/dist/src/redteam/types.d.ts.map +1 -1
  168. package/dist/src/remoteGrading.js +1 -1
  169. package/dist/src/remoteGrading.js.map +1 -1
  170. package/dist/src/telemetry.d.ts +2 -2
  171. package/dist/src/types/index.d.ts +4630 -11
  172. package/dist/src/types/index.d.ts.map +1 -1
  173. package/dist/src/types/index.js +2 -0
  174. package/dist/src/types/index.js.map +1 -1
  175. package/dist/src/types/providers.d.ts +12 -0
  176. package/dist/src/types/providers.d.ts.map +1 -1
  177. package/dist/src/types/providers.js.map +1 -1
  178. package/dist/src/util/config/load.d.ts +1 -1
  179. package/dist/src/util/config/load.d.ts.map +1 -1
  180. package/dist/src/util/config/load.js +14 -2
  181. package/dist/src/util/config/load.js.map +1 -1
  182. package/dist/src/util/index.d.ts +34 -0
  183. package/dist/src/util/index.d.ts.map +1 -1
  184. package/dist/src/validators/providers.d.ts +391 -0
  185. package/dist/src/validators/providers.d.ts.map +1 -1
  186. package/dist/src/validators/providers.js +18 -0
  187. package/dist/src/validators/providers.js.map +1 -1
  188. package/dist/src/validators/redteam.d.ts +136 -0
  189. package/dist/src/validators/redteam.d.ts.map +1 -1
  190. package/dist/test/assertions/bleu.test.d.ts +2 -0
  191. package/dist/test/assertions/bleu.test.d.ts.map +1 -0
  192. package/dist/test/assertions/bleu.test.js +137 -0
  193. package/dist/test/assertions/bleu.test.js.map +1 -0
  194. package/dist/test/assertions/index.test.js +276 -297
  195. package/dist/test/assertions/index.test.js.map +1 -1
  196. package/dist/test/assertions/json.test.d.ts +2 -0
  197. package/dist/test/assertions/json.test.d.ts.map +1 -0
  198. package/dist/test/assertions/json.test.js +36 -0
  199. package/dist/test/assertions/json.test.js.map +1 -0
  200. package/dist/test/assertions/sql.test.d.ts +2 -0
  201. package/dist/test/assertions/sql.test.d.ts.map +1 -0
  202. package/dist/test/{is-sql-tests/node-sql-parser.test.js → assertions/sql.test.js} +13 -13
  203. package/dist/test/assertions/sql.test.js.map +1 -0
  204. package/dist/test/commands/eval/filterTests.test.js +30 -0
  205. package/dist/test/commands/eval/filterTests.test.js.map +1 -1
  206. package/dist/test/factories/evalFactory.d.ts +155 -1
  207. package/dist/test/factories/evalFactory.d.ts.map +1 -1
  208. package/dist/test/onboarding.test.js +126 -1
  209. package/dist/test/onboarding.test.js.map +1 -1
  210. package/dist/test/providers/anthropic.test.js +81 -0
  211. package/dist/test/providers/anthropic.test.js.map +1 -1
  212. package/dist/test/providers/azure.test.js +22 -25
  213. package/dist/test/providers/azure.test.js.map +1 -1
  214. package/dist/test/providers/bedrock.test.js +178 -55
  215. package/dist/test/providers/bedrock.test.js.map +1 -1
  216. package/dist/test/providers/index.test.js +7 -7
  217. package/dist/test/providers/index.test.js.map +1 -1
  218. package/dist/test/providers/portkey.test.d.ts +2 -0
  219. package/dist/test/providers/portkey.test.d.ts.map +1 -0
  220. package/dist/test/providers/portkey.test.js +46 -0
  221. package/dist/test/providers/portkey.test.js.map +1 -0
  222. package/dist/test/redteam/commands/init.test.d.ts +2 -0
  223. package/dist/test/redteam/commands/init.test.d.ts.map +1 -0
  224. package/dist/test/redteam/commands/init.test.js +109 -0
  225. package/dist/test/redteam/commands/init.test.js.map +1 -0
  226. package/dist/test/redteam/plugins/pluginDocumentation.test.js +4 -1
  227. package/dist/test/redteam/plugins/pluginDocumentation.test.js.map +1 -1
  228. package/dist/test/redteam/providers/goat.test.js +1 -1
  229. package/dist/test/redteam/providers/goat.test.js.map +1 -1
  230. package/dist/test/redteam/providers/iterativeTree.test.js +8 -3
  231. package/dist/test/redteam/providers/iterativeTree.test.js.map +1 -1
  232. package/dist/tsconfig.tsbuildinfo +1 -1
  233. package/package.json +13 -11
  234. package/dist/src/providers/azureopenai.d.ts.map +0 -1
  235. package/dist/src/providers/azureopenai.js.map +0 -1
  236. package/dist/src/providers/azureopenaiUtil.d.ts.map +0 -1
  237. package/dist/src/providers/azureopenaiUtil.js.map +0 -1
  238. package/dist/test/is-sql-tests/node-sql-parser.test.d.ts +0 -2
  239. package/dist/test/is-sql-tests/node-sql-parser.test.d.ts.map +0 -1
  240. package/dist/test/is-sql-tests/node-sql-parser.test.js.map +0 -1
package/README.md CHANGED
@@ -146,7 +146,8 @@ Deterministic eval metrics
146
146
  | `javascript` | provided Javascript function validates the output |
147
147
  | `python` | provided Python function validates the output |
148
148
  | `webhook` | provided webhook returns `{pass: true}` |
149
- | `rouge-n` | Rouge-N score is above a given threshold |
149
+ | `rouge-n` | Rouge-N score is above a given threshold (default 0.75) |
150
+ | `bleu` | BLEU score is above a given threshold (default 0.5) |
150
151
  | `levenshtein` | Levenshtein distance is below a threshold |
151
152
  | `latency` | Latency is below a threshold (milliseconds) |
152
153
  | `perplexity` | Perplexity is below a threshold |
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.95.0",
5
+ "version": "0.96.0",
6
6
  "license": "MIT",
7
7
  "type": "commonjs",
8
8
  "repository": {
@@ -36,7 +36,7 @@
36
36
  "bin": "dist/src/main.js",
37
37
  "tsc": "tsc",
38
38
  "l": "git diff --name-only --diff-filter=ACMRTUXB origin/main | grep -E '\\.(js|ts|tsx)$' | xargs eslint --max-warnings=0 --fix",
39
- "f": "git diff --name-only --diff-filter=ACMRTUXB origin/main | grep -E '\\.(js|jsx|mjs|cjs|ts|tsx|json|css|scss|html|md|yaml|yml)$' | xargs prettier --write",
39
+ "f": "git diff --name-only --diff-filter=ACMRTUXB origin/main | grep -E '\\.(js|jsx|mjs|cjs|ts|tsx|json|css|scss|html|md|mdx|yaml|yml)$' | xargs prettier --write",
40
40
  "lint": "eslint . --max-warnings=0",
41
41
  "local": "ts-node --cwdMode --transpileOnly src/main.ts",
42
42
  "local:web": "npm run dev --prefix src/app",
@@ -65,6 +65,7 @@
65
65
  },
66
66
  "peerDependencies": {
67
67
  "@aws-sdk/client-bedrock-runtime": "^3.602.0",
68
+ "@aws-sdk/credential-provider-sso": "^3.686.0",
68
69
  "@azure/identity": "^4.0.0",
69
70
  "@azure/openai-assistants": "^1.0.0-beta.5",
70
71
  "@fal-ai/serverless-client": "^0.14.3",
@@ -81,7 +82,8 @@
81
82
  "puppeteer-extra-plugin-stealth": "^2.11.2"
82
83
  },
83
84
  "devDependencies": {
84
- "@aws-sdk/client-bedrock-runtime": "^3.682.0",
85
+ "@aws-sdk/client-bedrock-runtime": "^3.686.0",
86
+ "@aws-sdk/credential-provider-sso": "^3.686.0",
85
87
  "@azure/identity": "^4.5.0",
86
88
  "@eslint/js": "^9.14.0",
87
89
  "@libsql/client": "^0.14.0",
@@ -134,18 +136,18 @@
134
136
  "zod-to-json-schema": "^3.23.5"
135
137
  },
136
138
  "dependencies": {
137
- "@adaline/types": "0.15.0",
138
- "@adaline/provider": "0.17.0",
139
+ "@adaline/anthropic": "0.19.0",
140
+ "@adaline/azure": "0.9.1",
139
141
  "@adaline/gateway": "0.23.0",
140
- "@adaline/openai": "0.21.0",
141
- "@adaline/open-router": "0.8.0",
142
142
  "@adaline/google": "0.8.0",
143
- "@adaline/vertex": "0.8.1",
144
- "@adaline/azure": "0.9.1",
145
- "@adaline/anthropic": "0.19.0",
146
143
  "@adaline/groq": "0.8.1",
144
+ "@adaline/open-router": "0.8.0",
145
+ "@adaline/openai": "0.21.0",
146
+ "@adaline/provider": "0.17.0",
147
147
  "@adaline/together-ai": "0.8.0",
148
- "@anthropic-ai/sdk": "^0.31.0",
148
+ "@adaline/types": "0.15.0",
149
+ "@adaline/vertex": "0.8.1",
150
+ "@anthropic-ai/sdk": "^0.32.0",
149
151
  "@apidevtools/json-schema-ref-parser": "^11.7.2",
150
152
  "@emotion/react": "^11.13.3",
151
153
  "@emotion/styled": "^11.13.0",