promptfoo 0.93.3 → 0.94.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 (541) 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 +17 -20
  7. package/dist/src/app/assets/index-4JjOSsmx.js +769 -0
  8. package/dist/src/app/assets/{index.es-9tmWNumA.js → index.es-DOb6N_qo.js} +1 -1
  9. package/dist/src/app/assets/{sync-BdPRE9yh.js → sync-MiL88_Tb.js} +1 -1
  10. package/dist/src/app/index.html +1 -1
  11. package/dist/src/{assertions.d.ts → assertions/index.d.ts} +4 -5
  12. package/dist/src/assertions/index.d.ts.map +1 -0
  13. package/dist/src/{assertions.js → assertions/index.js} +24 -50
  14. package/dist/src/assertions/index.js.map +1 -0
  15. package/dist/src/assertions/utils.d.ts +4 -0
  16. package/dist/src/assertions/utils.d.ts.map +1 -0
  17. package/dist/src/assertions/utils.js +39 -0
  18. package/dist/src/assertions/utils.js.map +1 -0
  19. package/dist/src/cache.d.ts +2 -1
  20. package/dist/src/cache.d.ts.map +1 -1
  21. package/dist/src/cache.js +16 -3
  22. package/dist/src/cache.js.map +1 -1
  23. package/dist/src/commands/config.d.ts.map +1 -1
  24. package/dist/src/commands/config.js +41 -8
  25. package/dist/src/commands/config.js.map +1 -1
  26. package/dist/src/commands/eval.d.ts.map +1 -1
  27. package/dist/src/commands/eval.js +43 -19
  28. package/dist/src/commands/eval.js.map +1 -1
  29. package/dist/src/commands/init.d.ts.map +1 -1
  30. package/dist/src/commands/init.js +3 -4
  31. package/dist/src/commands/init.js.map +1 -1
  32. package/dist/src/database/index.d.ts.map +1 -1
  33. package/dist/src/database/index.js +4 -1
  34. package/dist/src/database/index.js.map +1 -1
  35. package/dist/src/database/tables.d.ts +171 -154
  36. package/dist/src/database/tables.d.ts.map +1 -1
  37. package/dist/src/database/tables.js +7 -34
  38. package/dist/src/database/tables.js.map +1 -1
  39. package/dist/src/envars.d.ts +5 -3
  40. package/dist/src/envars.d.ts.map +1 -1
  41. package/dist/src/envars.js.map +1 -1
  42. package/dist/src/evaluator.d.ts.map +1 -1
  43. package/dist/src/evaluator.js +0 -5
  44. package/dist/src/evaluator.js.map +1 -1
  45. package/dist/src/fetch.d.ts +0 -1
  46. package/dist/src/fetch.d.ts.map +1 -1
  47. package/dist/src/fetch.js +17 -6
  48. package/dist/src/fetch.js.map +1 -1
  49. package/dist/src/googleSheets.d.ts.map +1 -1
  50. package/dist/src/googleSheets.js +13 -2
  51. package/dist/src/googleSheets.js.map +1 -1
  52. package/dist/src/integrations/portkey.d.ts.map +1 -1
  53. package/dist/src/integrations/portkey.js +1 -2
  54. package/dist/src/integrations/portkey.js.map +1 -1
  55. package/dist/src/models/eval.d.ts +1 -3
  56. package/dist/src/models/eval.d.ts.map +1 -1
  57. package/dist/src/models/eval.js +5 -21
  58. package/dist/src/models/eval.js.map +1 -1
  59. package/dist/src/models/evalResult.d.ts +2 -0
  60. package/dist/src/models/evalResult.d.ts.map +1 -1
  61. package/dist/src/models/evalResult.js +4 -1
  62. package/dist/src/models/evalResult.js.map +1 -1
  63. package/dist/src/onboarding.d.ts +2 -2
  64. package/dist/src/onboarding.d.ts.map +1 -1
  65. package/dist/src/onboarding.js +2 -2
  66. package/dist/src/onboarding.js.map +1 -1
  67. package/dist/src/prompts/processors/javascript.d.ts +1 -0
  68. package/dist/src/prompts/processors/javascript.d.ts.map +1 -1
  69. package/dist/src/prompts/processors/javascript.js +6 -2
  70. package/dist/src/prompts/processors/javascript.js.map +1 -1
  71. package/dist/src/prompts/processors/python.d.ts +2 -0
  72. package/dist/src/prompts/processors/python.d.ts.map +1 -1
  73. package/dist/src/prompts/processors/python.js +4 -2
  74. package/dist/src/prompts/processors/python.js.map +1 -1
  75. package/dist/src/providers/anthropic.js +1 -1
  76. package/dist/src/providers/anthropic.js.map +1 -1
  77. package/dist/src/providers/bedrock.d.ts +4 -0
  78. package/dist/src/providers/bedrock.d.ts.map +1 -1
  79. package/dist/src/providers/bedrock.js +12 -0
  80. package/dist/src/providers/bedrock.js.map +1 -1
  81. package/dist/src/providers/fal.d.ts.map +1 -1
  82. package/dist/src/providers/fal.js +1 -2
  83. package/dist/src/providers/fal.js.map +1 -1
  84. package/dist/src/providers/http.d.ts +6 -2
  85. package/dist/src/providers/http.d.ts.map +1 -1
  86. package/dist/src/providers/http.js +70 -29
  87. package/dist/src/providers/http.js.map +1 -1
  88. package/dist/src/providers/openai.d.ts.map +1 -1
  89. package/dist/src/providers/openai.js +48 -33
  90. package/dist/src/providers/openai.js.map +1 -1
  91. package/dist/src/providers/palm.d.ts.map +1 -1
  92. package/dist/src/providers/palm.js +3 -1
  93. package/dist/src/providers/palm.js.map +1 -1
  94. package/dist/src/providers/promptfoo.d.ts.map +1 -1
  95. package/dist/src/providers/promptfoo.js +4 -2
  96. package/dist/src/providers/promptfoo.js.map +1 -1
  97. package/dist/src/providers/replicate.d.ts.map +1 -1
  98. package/dist/src/providers/replicate.js +2 -3
  99. package/dist/src/providers/replicate.js.map +1 -1
  100. package/dist/src/providers/togetherai.d.ts +7 -0
  101. package/dist/src/providers/togetherai.d.ts.map +1 -0
  102. package/dist/src/providers/togetherai.js +33 -0
  103. package/dist/src/providers/togetherai.js.map +1 -0
  104. package/dist/src/providers/vertex.d.ts.map +1 -1
  105. package/dist/src/providers/vertex.js +4 -4
  106. package/dist/src/providers/vertex.js.map +1 -1
  107. package/dist/src/providers/vertexUtil.d.ts +78 -1
  108. package/dist/src/providers/vertexUtil.d.ts.map +1 -1
  109. package/dist/src/providers/vertexUtil.js +57 -15
  110. package/dist/src/providers/vertexUtil.js.map +1 -1
  111. package/dist/src/providers/watsonx.d.ts +5 -4
  112. package/dist/src/providers/watsonx.d.ts.map +1 -1
  113. package/dist/src/providers/watsonx.js +48 -21
  114. package/dist/src/providers/watsonx.js.map +1 -1
  115. package/dist/src/providers/xai.d.ts +7 -0
  116. package/dist/src/providers/xai.d.ts.map +1 -0
  117. package/dist/src/providers/xai.js +23 -0
  118. package/dist/src/providers/xai.js.map +1 -0
  119. package/dist/src/providers.d.ts.map +1 -1
  120. package/dist/src/providers.js +26 -0
  121. package/dist/src/providers.js.map +1 -1
  122. package/dist/src/python/pythonUtils.js +2 -2
  123. package/dist/src/python/pythonUtils.js.map +1 -1
  124. package/dist/src/redteam/commands/init.d.ts.map +1 -1
  125. package/dist/src/redteam/commands/init.js +10 -4
  126. package/dist/src/redteam/commands/init.js.map +1 -1
  127. package/dist/src/redteam/constants.d.ts +25 -2
  128. package/dist/src/redteam/constants.d.ts.map +1 -1
  129. package/dist/src/redteam/constants.js +335 -3
  130. package/dist/src/redteam/constants.js.map +1 -1
  131. package/dist/src/redteam/extraction/util.d.ts.map +1 -1
  132. package/dist/src/redteam/extraction/util.js +4 -2
  133. package/dist/src/redteam/extraction/util.js.map +1 -1
  134. package/dist/src/redteam/plugins/index.d.ts.map +1 -1
  135. package/dist/src/redteam/plugins/index.js +9 -4
  136. package/dist/src/redteam/plugins/index.js.map +1 -1
  137. package/dist/src/redteam/providers/crescendo/index.d.ts.map +1 -1
  138. package/dist/src/redteam/providers/crescendo/index.js +14 -10
  139. package/dist/src/redteam/providers/crescendo/index.js.map +1 -1
  140. package/dist/src/redteam/providers/iterative.d.ts.map +1 -1
  141. package/dist/src/redteam/providers/iterative.js +10 -9
  142. package/dist/src/redteam/providers/iterative.js.map +1 -1
  143. package/dist/src/redteam/providers/iterativeImage.d.ts.map +1 -1
  144. package/dist/src/redteam/providers/iterativeImage.js +6 -0
  145. package/dist/src/redteam/providers/iterativeImage.js.map +1 -1
  146. package/dist/src/redteam/providers/iterativeTree.d.ts +0 -7
  147. package/dist/src/redteam/providers/iterativeTree.d.ts.map +1 -1
  148. package/dist/src/redteam/providers/iterativeTree.js +11 -16
  149. package/dist/src/redteam/providers/iterativeTree.js.map +1 -1
  150. package/dist/src/redteam/providers/shared.d.ts +9 -2
  151. package/dist/src/redteam/providers/shared.d.ts.map +1 -1
  152. package/dist/src/redteam/providers/shared.js +25 -0
  153. package/dist/src/redteam/providers/shared.js.map +1 -1
  154. package/dist/src/redteam/util.d.ts +1 -0
  155. package/dist/src/redteam/util.d.ts.map +1 -1
  156. package/dist/src/redteam/util.js +5 -3
  157. package/dist/src/redteam/util.js.map +1 -1
  158. package/dist/src/server/apiSchemas.d.ts +59 -0
  159. package/dist/src/server/apiSchemas.d.ts.map +1 -0
  160. package/dist/src/server/apiSchemas.js +37 -0
  161. package/dist/src/server/apiSchemas.js.map +1 -0
  162. package/dist/src/server/routes/eval.d.ts +2 -0
  163. package/dist/src/server/routes/eval.d.ts.map +1 -0
  164. package/dist/src/server/routes/eval.js +160 -0
  165. package/dist/src/server/routes/eval.js.map +1 -0
  166. package/dist/src/server/routes/providers.d.ts.map +1 -1
  167. package/dist/src/server/routes/providers.js.map +1 -1
  168. package/dist/src/server/routes/redteam.d.ts +2 -0
  169. package/dist/src/server/routes/redteam.d.ts.map +1 -0
  170. package/dist/src/server/routes/redteam.js +43 -0
  171. package/dist/src/server/routes/redteam.js.map +1 -0
  172. package/dist/src/server/routes/user.d.ts +2 -0
  173. package/dist/src/server/routes/user.d.ts.map +1 -0
  174. package/dist/src/server/routes/user.js +60 -0
  175. package/dist/src/server/routes/user.js.map +1 -0
  176. package/dist/src/server/server.d.ts.map +1 -1
  177. package/dist/src/server/server.js +25 -141
  178. package/dist/src/server/server.js.map +1 -1
  179. package/dist/src/share.d.ts.map +1 -1
  180. package/dist/src/share.js.map +1 -1
  181. package/dist/src/telemetry.d.ts +21 -6
  182. package/dist/src/telemetry.d.ts.map +1 -1
  183. package/dist/src/telemetry.js +28 -11
  184. package/dist/src/telemetry.js.map +1 -1
  185. package/dist/src/testCases.d.ts.map +1 -1
  186. package/dist/src/testCases.js +9 -0
  187. package/dist/src/testCases.js.map +1 -1
  188. package/dist/src/types/index.d.ts +4892 -56
  189. package/dist/src/types/index.d.ts.map +1 -1
  190. package/dist/src/types/index.js +17 -0
  191. package/dist/src/types/index.js.map +1 -1
  192. package/dist/src/types/prompts.d.ts +1 -0
  193. package/dist/src/types/prompts.d.ts.map +1 -1
  194. package/dist/src/types/providers.d.ts +1 -0
  195. package/dist/src/types/providers.d.ts.map +1 -1
  196. package/dist/src/types/providers.js.map +1 -1
  197. package/dist/src/util/config/default.d.ts +1 -0
  198. package/dist/src/util/config/default.d.ts.map +1 -1
  199. package/dist/src/util/config/default.js +4 -0
  200. package/dist/src/util/config/default.js.map +1 -1
  201. package/dist/src/util/config/load.d.ts.map +1 -1
  202. package/dist/src/util/config/load.js +7 -0
  203. package/dist/src/util/config/load.js.map +1 -1
  204. package/dist/src/util/config/manage.d.ts.map +1 -1
  205. package/dist/src/util/config/manage.js +12 -1
  206. package/dist/src/util/config/manage.js.map +1 -1
  207. package/dist/src/util/index.d.ts +0 -1
  208. package/dist/src/util/index.d.ts.map +1 -1
  209. package/dist/src/util/index.js +1 -10
  210. package/dist/src/util/index.js.map +1 -1
  211. package/dist/src/validators/redteam.d.ts +6 -3
  212. package/dist/src/validators/redteam.d.ts.map +1 -1
  213. package/dist/src/validators/redteam.js +15 -14
  214. package/dist/src/validators/redteam.js.map +1 -1
  215. package/dist/test/assertions/index.test.d.ts +2 -0
  216. package/dist/test/assertions/index.test.d.ts.map +1 -0
  217. package/dist/test/{assertions.test.js → assertions/index.test.js} +22 -23
  218. package/dist/test/assertions/index.test.js.map +1 -0
  219. package/dist/test/assertions/utils.test.d.ts +2 -0
  220. package/dist/test/assertions/utils.test.d.ts.map +1 -0
  221. package/dist/test/{assertions.utils.test.js → assertions/utils.test.js} +58 -8
  222. package/dist/test/assertions/utils.test.js.map +1 -0
  223. package/dist/test/cache.test.js +22 -23
  224. package/dist/test/cache.test.js.map +1 -1
  225. package/dist/test/commands/init.test.js +14 -11
  226. package/dist/test/commands/init.test.js.map +1 -1
  227. package/dist/test/evaluator.test.js +0 -1
  228. package/dist/test/evaluator.test.js.map +1 -1
  229. package/dist/test/evaluatorHelpers.test.js +0 -1
  230. package/dist/test/evaluatorHelpers.test.js.map +1 -1
  231. package/dist/test/factories/evalFactory.d.ts +171 -40
  232. package/dist/test/factories/evalFactory.d.ts.map +1 -1
  233. package/dist/test/matchers.test.js +1 -1
  234. package/dist/test/matchers.test.js.map +1 -1
  235. package/dist/test/models/eval.test.js +30 -1
  236. package/dist/test/models/eval.test.js.map +1 -1
  237. package/dist/test/onboarding.test.js +1 -1
  238. package/dist/test/prompts/index.test.d.ts +2 -0
  239. package/dist/test/prompts/index.test.d.ts.map +1 -0
  240. package/dist/test/{prompts.test.js → prompts/index.test.js} +12 -10
  241. package/dist/test/prompts/index.test.js.map +1 -0
  242. package/dist/test/prompts/processors/javascript.test.d.ts +2 -0
  243. package/dist/test/prompts/processors/javascript.test.d.ts.map +1 -0
  244. package/dist/test/{prompts.processors.javascript.test.js → prompts/processors/javascript.test.js} +58 -5
  245. package/dist/test/prompts/processors/javascript.test.js.map +1 -0
  246. package/dist/test/prompts/processors/json.test.d.ts +2 -0
  247. package/dist/test/prompts/processors/json.test.d.ts.map +1 -0
  248. package/dist/test/{prompts.processors.json.test.js → prompts/processors/json.test.js} +2 -2
  249. package/dist/test/prompts/processors/json.test.js.map +1 -0
  250. package/dist/test/prompts/processors/jsonl.test.d.ts +2 -0
  251. package/dist/test/prompts/processors/jsonl.test.d.ts.map +1 -0
  252. package/dist/test/{prompts.processors.jsonl.test.js → prompts/processors/jsonl.test.js} +2 -2
  253. package/dist/test/prompts/processors/jsonl.test.js.map +1 -0
  254. package/dist/test/prompts/processors/markdown.test.d.ts +2 -0
  255. package/dist/test/prompts/processors/markdown.test.d.ts.map +1 -0
  256. package/dist/test/{prompts.processors.markdown.test.js → prompts/processors/markdown.test.js} +2 -2
  257. package/dist/test/prompts/processors/markdown.test.js.map +1 -0
  258. package/dist/test/prompts/processors/python.test.d.ts +2 -0
  259. package/dist/test/prompts/processors/python.test.d.ts.map +1 -0
  260. package/dist/test/{prompts.processors.python.test.js → prompts/processors/python.test.js} +19 -4
  261. package/dist/test/prompts/processors/python.test.js.map +1 -0
  262. package/dist/test/prompts/processors/python.utils.test.d.ts +2 -0
  263. package/dist/test/prompts/processors/python.utils.test.d.ts.map +1 -0
  264. package/dist/test/{prompts.processors.python.utils.test.js → prompts/processors/python.utils.test.js} +8 -6
  265. package/dist/test/prompts/processors/python.utils.test.js.map +1 -0
  266. package/dist/test/prompts/processors/string.test.d.ts +2 -0
  267. package/dist/test/prompts/processors/string.test.d.ts.map +1 -0
  268. package/dist/test/{prompts.processors.string.test.js → prompts/processors/string.test.js} +2 -2
  269. package/dist/test/prompts/processors/string.test.js.map +1 -0
  270. package/dist/test/prompts/processors/text.test.d.ts +2 -0
  271. package/dist/test/prompts/processors/text.test.d.ts.map +1 -0
  272. package/dist/test/{prompts.processors.text.test.js → prompts/processors/text.test.js} +3 -3
  273. package/dist/test/prompts/processors/text.test.js.map +1 -0
  274. package/dist/test/prompts/processors/yaml.test.d.ts +2 -0
  275. package/dist/test/prompts/processors/yaml.test.d.ts.map +1 -0
  276. package/dist/test/{prompts.processors.yaml.test.js → prompts/processors/yaml.test.js} +2 -2
  277. package/dist/test/prompts/processors/yaml.test.js.map +1 -0
  278. package/dist/test/prompts/utils.test.d.ts +2 -0
  279. package/dist/test/prompts/utils.test.d.ts.map +1 -0
  280. package/dist/test/{prompts.utils.test.js → prompts/utils.test.js} +2 -2
  281. package/dist/test/prompts/utils.test.js.map +1 -0
  282. package/dist/test/providers/anthropic.test.d.ts +2 -0
  283. package/dist/test/providers/anthropic.test.d.ts.map +1 -0
  284. package/dist/test/{providers.anthropic.test.js → providers/anthropic.test.js} +4 -4
  285. package/dist/test/providers/anthropic.test.js.map +1 -0
  286. package/dist/test/providers/azure.test.d.ts +2 -0
  287. package/dist/test/providers/azure.test.d.ts.map +1 -0
  288. package/dist/test/{providers.azure.test.js → providers/azure.test.js} +7 -7
  289. package/dist/test/providers/azure.test.js.map +1 -0
  290. package/dist/test/providers/bedrock.test.d.ts +2 -0
  291. package/dist/test/providers/bedrock.test.d.ts.map +1 -0
  292. package/dist/test/{providers.bedrock.test.js → providers/bedrock.test.js} +62 -10
  293. package/dist/test/providers/bedrock.test.js.map +1 -0
  294. package/dist/test/providers/groq.test.d.ts +2 -0
  295. package/dist/test/providers/groq.test.d.ts.map +1 -0
  296. package/dist/test/{providers.groq.test.js → providers/groq.test.js} +6 -6
  297. package/dist/test/providers/groq.test.js.map +1 -0
  298. package/dist/test/providers/http.test.d.ts +2 -0
  299. package/dist/test/providers/http.test.d.ts.map +1 -0
  300. package/dist/test/{providers.http.test.js → providers/http.test.js} +195 -47
  301. package/dist/test/providers/http.test.js.map +1 -0
  302. package/dist/test/providers/index.test.d.ts +2 -0
  303. package/dist/test/providers/index.test.d.ts.map +1 -0
  304. package/dist/test/{providers.test.js → providers/index.test.js} +193 -100
  305. package/dist/test/providers/index.test.js.map +1 -0
  306. package/dist/test/providers/llama.test.d.ts +2 -0
  307. package/dist/test/providers/llama.test.d.ts.map +1 -0
  308. package/dist/test/{providers.llama.test.js → providers/llama.test.js} +15 -10
  309. package/dist/test/providers/llama.test.js.map +1 -0
  310. package/dist/test/providers/mistral.test.d.ts +2 -0
  311. package/dist/test/providers/mistral.test.d.ts.map +1 -0
  312. package/dist/test/{providers.mistral.test.js → providers/mistral.test.js} +32 -16
  313. package/dist/test/providers/mistral.test.js.map +1 -0
  314. package/dist/test/providers/packageParser.test.d.ts +2 -0
  315. package/dist/test/providers/packageParser.test.d.ts.map +1 -0
  316. package/dist/test/{providers.packageParser.test.js → providers/packageParser.test.js} +5 -5
  317. package/dist/test/providers/packageParser.test.js.map +1 -0
  318. package/dist/test/providers/palm.test.d.ts +2 -0
  319. package/dist/test/providers/palm.test.d.ts.map +1 -0
  320. package/dist/test/providers/palm.test.js +131 -0
  321. package/dist/test/providers/palm.test.js.map +1 -0
  322. package/dist/test/providers/pythonCompletion.test.d.ts +2 -0
  323. package/dist/test/providers/pythonCompletion.test.d.ts.map +1 -0
  324. package/dist/test/{providers.pythonCompletion.test.js → providers/pythonCompletion.test.js} +8 -8
  325. package/dist/test/providers/pythonCompletion.test.js.map +1 -0
  326. package/dist/test/providers/scriptCompletion.test.d.ts +2 -0
  327. package/dist/test/providers/scriptCompletion.test.d.ts.map +1 -0
  328. package/dist/test/{providers.scriptCompletion.test.js → providers/scriptCompletion.test.js} +5 -5
  329. package/dist/test/providers/scriptCompletion.test.js.map +1 -0
  330. package/dist/test/providers/shared.test.d.ts +2 -0
  331. package/dist/test/providers/shared.test.d.ts.map +1 -0
  332. package/dist/test/{providers.shared.test.js → providers/shared.test.js} +4 -4
  333. package/dist/test/providers/shared.test.js.map +1 -0
  334. package/dist/test/providers/togetherai.test.d.ts +2 -0
  335. package/dist/test/providers/togetherai.test.d.ts.map +1 -0
  336. package/dist/test/providers/togetherai.test.js +53 -0
  337. package/dist/test/providers/togetherai.test.js.map +1 -0
  338. package/dist/test/providers/vertex.test.d.ts +2 -0
  339. package/dist/test/providers/vertex.test.d.ts.map +1 -0
  340. package/dist/test/{providers.vertex.test.js → providers/vertex.test.js} +110 -9
  341. package/dist/test/providers/vertex.test.js.map +1 -0
  342. package/dist/test/providers/watsonx.test.d.ts +2 -0
  343. package/dist/test/providers/watsonx.test.d.ts.map +1 -0
  344. package/dist/test/{providers.watsonx.test.js → providers/watsonx.test.js} +23 -22
  345. package/dist/test/providers/watsonx.test.js.map +1 -0
  346. package/dist/test/providers/xai.test.d.ts +2 -0
  347. package/dist/test/providers/xai.test.d.ts.map +1 -0
  348. package/dist/test/providers/xai.test.js +47 -0
  349. package/dist/test/providers/xai.test.js.map +1 -0
  350. package/dist/test/rateLimit.test.js +18 -28
  351. package/dist/test/rateLimit.test.js.map +1 -1
  352. package/dist/test/redteam/extraction/entities.test.js +8 -1
  353. package/dist/test/redteam/extraction/entities.test.js.map +1 -1
  354. package/dist/test/redteam/extraction/purpose.test.js +8 -1
  355. package/dist/test/redteam/extraction/purpose.test.js.map +1 -1
  356. package/dist/test/redteam/extraction/util.test.js +17 -2
  357. package/dist/test/redteam/extraction/util.test.js.map +1 -1
  358. package/dist/test/redteam/providers/iterativeTree.test.js +3 -18
  359. package/dist/test/redteam/providers/iterativeTree.test.js.map +1 -1
  360. package/dist/test/redteam/util.test.js +55 -0
  361. package/dist/test/redteam/util.test.js.map +1 -1
  362. package/dist/test/redteam/validators.test.js +1 -0
  363. package/dist/test/redteam/validators.test.js.map +1 -1
  364. package/dist/test/server/providers.test.js +13 -1
  365. package/dist/test/server/providers.test.js.map +1 -1
  366. package/dist/test/testCases.test.js +12 -1
  367. package/dist/test/testCases.test.js.map +1 -1
  368. package/dist/test/types.test.js +1 -12
  369. package/dist/test/types.test.js.map +1 -1
  370. package/dist/test/util/config/default.test.d.ts +2 -0
  371. package/dist/test/util/config/default.test.d.ts.map +1 -0
  372. package/dist/test/{util.config.default.test.js → util/config/default.test.js} +4 -4
  373. package/dist/test/util/config/default.test.js.map +1 -0
  374. package/dist/test/util/config/load.test.d.ts +2 -0
  375. package/dist/test/util/config/load.test.d.ts.map +1 -0
  376. package/dist/test/{util.config.load.test.ts.js → util/config/load.test.js} +13 -38
  377. package/dist/test/util/config/load.test.js.map +1 -0
  378. package/dist/test/util/config/main.test.d.ts +2 -0
  379. package/dist/test/util/config/main.test.d.ts.map +1 -0
  380. package/dist/test/{util.config.main.test.js → util/config/main.test.js} +13 -5
  381. package/dist/test/util/config/main.test.js.map +1 -0
  382. package/dist/test/util/deleteAll.test.d.ts +2 -0
  383. package/dist/test/util/deleteAll.test.d.ts.map +1 -0
  384. package/dist/test/{util.deleteAll.test.js → util/deleteAll.test.js} +5 -5
  385. package/dist/test/util/deleteAll.test.js.map +1 -0
  386. package/dist/test/util/file.test.d.ts +2 -0
  387. package/dist/test/util/file.test.d.ts.map +1 -0
  388. package/dist/test/{util.file.test.js → util/file.test.js} +2 -2
  389. package/dist/test/util/file.test.js.map +1 -0
  390. package/dist/test/util/generation.test.d.ts +2 -0
  391. package/dist/test/util/generation.test.d.ts.map +1 -0
  392. package/dist/test/{util.generation.test.js → util/generation.test.js} +3 -3
  393. package/dist/test/{util.generation.test.js.map → util/generation.test.js.map} +1 -1
  394. package/dist/test/util/index.test.d.ts +2 -0
  395. package/dist/test/util/index.test.d.ts.map +1 -0
  396. package/dist/test/{util.test.js → util/index.test.js} +10 -10
  397. package/dist/test/util/index.test.js.map +1 -0
  398. package/dist/test/util/json.test.d.ts +2 -0
  399. package/dist/test/util/json.test.d.ts.map +1 -0
  400. package/dist/test/{util.json.test.js → util/json.test.js} +2 -2
  401. package/dist/test/util/json.test.js.map +1 -0
  402. package/dist/test/util/listPrevious.test.d.ts +2 -0
  403. package/dist/test/util/listPrevious.test.d.ts.map +1 -0
  404. package/dist/test/{util.listPrevious.test.js → util/listPrevious.test.js} +4 -4
  405. package/dist/test/util/listPrevious.test.js.map +1 -0
  406. package/dist/test/util/templates.test.d.ts +2 -0
  407. package/dist/test/util/templates.test.d.ts.map +1 -0
  408. package/dist/test/{util.templates.test.js → util/templates.test.js} +2 -2
  409. package/dist/test/util/templates.test.js.map +1 -0
  410. package/dist/test/util/transform.test.d.ts +2 -0
  411. package/dist/test/util/transform.test.d.ts.map +1 -0
  412. package/dist/test/{util.transform.test.js → util/transform.test.js} +6 -6
  413. package/dist/test/util/transform.test.js.map +1 -0
  414. package/dist/test/{utils.d.ts → util/utils.d.ts} +1 -1
  415. package/dist/test/util/utils.d.ts.map +1 -0
  416. package/dist/test/util/utils.js.map +1 -0
  417. package/dist/tsconfig.tsbuildinfo +1 -1
  418. package/package.json +17 -20
  419. package/dist/src/app/assets/index-x0TdnK0A.js +0 -767
  420. package/dist/src/assertions.d.ts.map +0 -1
  421. package/dist/src/assertions.js.map +0 -1
  422. package/dist/src/models/provider.d.ts +0 -11
  423. package/dist/src/models/provider.d.ts.map +0 -1
  424. package/dist/src/models/provider.js +0 -52
  425. package/dist/src/models/provider.js.map +0 -1
  426. package/dist/test/assertions.test.d.ts +0 -2
  427. package/dist/test/assertions.test.d.ts.map +0 -1
  428. package/dist/test/assertions.test.js.map +0 -1
  429. package/dist/test/assertions.utils.test.d.ts +0 -2
  430. package/dist/test/assertions.utils.test.d.ts.map +0 -1
  431. package/dist/test/assertions.utils.test.js.map +0 -1
  432. package/dist/test/prompts.processors.javascript.test.d.ts +0 -2
  433. package/dist/test/prompts.processors.javascript.test.d.ts.map +0 -1
  434. package/dist/test/prompts.processors.javascript.test.js.map +0 -1
  435. package/dist/test/prompts.processors.json.test.d.ts +0 -2
  436. package/dist/test/prompts.processors.json.test.d.ts.map +0 -1
  437. package/dist/test/prompts.processors.json.test.js.map +0 -1
  438. package/dist/test/prompts.processors.jsonl.test.d.ts +0 -2
  439. package/dist/test/prompts.processors.jsonl.test.d.ts.map +0 -1
  440. package/dist/test/prompts.processors.jsonl.test.js.map +0 -1
  441. package/dist/test/prompts.processors.markdown.test.d.ts +0 -2
  442. package/dist/test/prompts.processors.markdown.test.d.ts.map +0 -1
  443. package/dist/test/prompts.processors.markdown.test.js.map +0 -1
  444. package/dist/test/prompts.processors.python.test.d.ts +0 -2
  445. package/dist/test/prompts.processors.python.test.d.ts.map +0 -1
  446. package/dist/test/prompts.processors.python.test.js.map +0 -1
  447. package/dist/test/prompts.processors.python.utils.test.d.ts +0 -2
  448. package/dist/test/prompts.processors.python.utils.test.d.ts.map +0 -1
  449. package/dist/test/prompts.processors.python.utils.test.js.map +0 -1
  450. package/dist/test/prompts.processors.string.test.d.ts +0 -2
  451. package/dist/test/prompts.processors.string.test.d.ts.map +0 -1
  452. package/dist/test/prompts.processors.string.test.js.map +0 -1
  453. package/dist/test/prompts.processors.text.test.d.ts +0 -2
  454. package/dist/test/prompts.processors.text.test.d.ts.map +0 -1
  455. package/dist/test/prompts.processors.text.test.js.map +0 -1
  456. package/dist/test/prompts.processors.yaml.test.d.ts +0 -2
  457. package/dist/test/prompts.processors.yaml.test.d.ts.map +0 -1
  458. package/dist/test/prompts.processors.yaml.test.js.map +0 -1
  459. package/dist/test/prompts.test.d.ts +0 -2
  460. package/dist/test/prompts.test.d.ts.map +0 -1
  461. package/dist/test/prompts.test.js.map +0 -1
  462. package/dist/test/prompts.utils.test.d.ts +0 -2
  463. package/dist/test/prompts.utils.test.d.ts.map +0 -1
  464. package/dist/test/prompts.utils.test.js.map +0 -1
  465. package/dist/test/providers.anthropic.test.d.ts +0 -2
  466. package/dist/test/providers.anthropic.test.d.ts.map +0 -1
  467. package/dist/test/providers.anthropic.test.js.map +0 -1
  468. package/dist/test/providers.azure.test.d.ts +0 -2
  469. package/dist/test/providers.azure.test.d.ts.map +0 -1
  470. package/dist/test/providers.azure.test.js.map +0 -1
  471. package/dist/test/providers.bedrock.test.d.ts +0 -2
  472. package/dist/test/providers.bedrock.test.d.ts.map +0 -1
  473. package/dist/test/providers.bedrock.test.js.map +0 -1
  474. package/dist/test/providers.groq.test.d.ts +0 -2
  475. package/dist/test/providers.groq.test.d.ts.map +0 -1
  476. package/dist/test/providers.groq.test.js.map +0 -1
  477. package/dist/test/providers.http.test.d.ts +0 -2
  478. package/dist/test/providers.http.test.d.ts.map +0 -1
  479. package/dist/test/providers.http.test.js.map +0 -1
  480. package/dist/test/providers.llama.test.d.ts +0 -2
  481. package/dist/test/providers.llama.test.d.ts.map +0 -1
  482. package/dist/test/providers.llama.test.js.map +0 -1
  483. package/dist/test/providers.mistral.test.d.ts +0 -2
  484. package/dist/test/providers.mistral.test.d.ts.map +0 -1
  485. package/dist/test/providers.mistral.test.js.map +0 -1
  486. package/dist/test/providers.packageParser.test.d.ts +0 -2
  487. package/dist/test/providers.packageParser.test.d.ts.map +0 -1
  488. package/dist/test/providers.packageParser.test.js.map +0 -1
  489. package/dist/test/providers.pythonCompletion.test.d.ts +0 -2
  490. package/dist/test/providers.pythonCompletion.test.d.ts.map +0 -1
  491. package/dist/test/providers.pythonCompletion.test.js.map +0 -1
  492. package/dist/test/providers.scriptCompletion.test.d.ts +0 -2
  493. package/dist/test/providers.scriptCompletion.test.d.ts.map +0 -1
  494. package/dist/test/providers.scriptCompletion.test.js.map +0 -1
  495. package/dist/test/providers.shared.test.d.ts +0 -2
  496. package/dist/test/providers.shared.test.d.ts.map +0 -1
  497. package/dist/test/providers.shared.test.js.map +0 -1
  498. package/dist/test/providers.test.d.ts +0 -2
  499. package/dist/test/providers.test.d.ts.map +0 -1
  500. package/dist/test/providers.test.js.map +0 -1
  501. package/dist/test/providers.vertex.test.d.ts +0 -2
  502. package/dist/test/providers.vertex.test.d.ts.map +0 -1
  503. package/dist/test/providers.vertex.test.js.map +0 -1
  504. package/dist/test/providers.watsonx.test.d.ts +0 -2
  505. package/dist/test/providers.watsonx.test.d.ts.map +0 -1
  506. package/dist/test/providers.watsonx.test.js.map +0 -1
  507. package/dist/test/util.config.default.test.d.ts +0 -2
  508. package/dist/test/util.config.default.test.d.ts.map +0 -1
  509. package/dist/test/util.config.default.test.js.map +0 -1
  510. package/dist/test/util.config.load.test.ts.d.ts +0 -2
  511. package/dist/test/util.config.load.test.ts.d.ts.map +0 -1
  512. package/dist/test/util.config.load.test.ts.js.map +0 -1
  513. package/dist/test/util.config.main.test.d.ts +0 -2
  514. package/dist/test/util.config.main.test.d.ts.map +0 -1
  515. package/dist/test/util.config.main.test.js.map +0 -1
  516. package/dist/test/util.deleteAll.test.d.ts +0 -2
  517. package/dist/test/util.deleteAll.test.d.ts.map +0 -1
  518. package/dist/test/util.deleteAll.test.js.map +0 -1
  519. package/dist/test/util.file.test.d.ts +0 -2
  520. package/dist/test/util.file.test.d.ts.map +0 -1
  521. package/dist/test/util.file.test.js.map +0 -1
  522. package/dist/test/util.generation.test.d.ts +0 -2
  523. package/dist/test/util.generation.test.d.ts.map +0 -1
  524. package/dist/test/util.json.test.d.ts +0 -2
  525. package/dist/test/util.json.test.d.ts.map +0 -1
  526. package/dist/test/util.json.test.js.map +0 -1
  527. package/dist/test/util.listPrevious.test.d.ts +0 -2
  528. package/dist/test/util.listPrevious.test.d.ts.map +0 -1
  529. package/dist/test/util.listPrevious.test.js.map +0 -1
  530. package/dist/test/util.templates.test.d.ts +0 -2
  531. package/dist/test/util.templates.test.d.ts.map +0 -1
  532. package/dist/test/util.templates.test.js.map +0 -1
  533. package/dist/test/util.test.d.ts +0 -2
  534. package/dist/test/util.test.d.ts.map +0 -1
  535. package/dist/test/util.test.js.map +0 -1
  536. package/dist/test/util.transform.test.d.ts +0 -2
  537. package/dist/test/util.transform.test.d.ts.map +0 -1
  538. package/dist/test/util.transform.test.js.map +0 -1
  539. package/dist/test/utils.d.ts.map +0 -1
  540. package/dist/test/utils.js.map +0 -1
  541. /package/dist/test/{utils.js → util/utils.js} +0 -0
@@ -1,15 +1,30 @@
1
- export type EventValue = string | number | boolean | string[];
2
- type TelemetryEventTypes = 'eval_ran' | 'assertion_used' | 'command_used' | 'funnel' | 'feature_used';
1
+ import { z } from 'zod';
2
+ export declare const TelemetryEventSchema: z.ZodObject<{
3
+ event: z.ZodEnum<["assertion_used", "command_used", "eval_ran", "feature_used", "funnel", "webui_api", "webui_page_view"]>;
4
+ packageVersion: z.ZodDefault<z.ZodOptional<z.ZodString>>;
5
+ properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString, "many">]>>;
6
+ }, "strip", z.ZodTypeAny, {
7
+ properties: Record<string, string | number | boolean | string[]>;
8
+ event: "assertion_used" | "command_used" | "eval_ran" | "feature_used" | "funnel" | "webui_api" | "webui_page_view";
9
+ packageVersion: string;
10
+ }, {
11
+ properties: Record<string, string | number | boolean | string[]>;
12
+ event: "assertion_used" | "command_used" | "eval_ran" | "feature_used" | "funnel" | "webui_api" | "webui_page_view";
13
+ packageVersion?: string | undefined;
14
+ }>;
15
+ export type TelemetryEvent = z.infer<typeof TelemetryEventSchema>;
16
+ export type TelemetryEventTypes = TelemetryEvent['event'];
17
+ export type EventProperties = TelemetryEvent['properties'];
3
18
  export declare class Telemetry {
4
19
  private events;
5
20
  private telemetryDisabledRecorded;
6
21
  get disabled(): boolean;
7
22
  private recordTelemetryDisabled;
8
- record(eventName: TelemetryEventTypes, properties: Record<string, EventValue>): void;
23
+ record(eventName: TelemetryEventTypes, properties: EventProperties): void;
9
24
  private recordedEvents;
10
- recordOnce(eventName: TelemetryEventTypes, properties: Record<string, EventValue>): void;
11
- recordAndSend(eventName: TelemetryEventTypes, properties: Record<string, EventValue>): Promise<void>;
12
- recordAndSendOnce(eventName: TelemetryEventTypes, properties: Record<string, EventValue>): Promise<void>;
25
+ recordOnce(eventName: TelemetryEventTypes, properties: EventProperties): void;
26
+ recordAndSend(eventName: TelemetryEventTypes, properties: EventProperties): Promise<void>;
27
+ recordAndSendOnce(eventName: TelemetryEventTypes, properties: EventProperties): Promise<void>;
13
28
  send(): Promise<void>;
14
29
  /**
15
30
  * This is a separate endpoint to save consent used only for redteam data synthesis for "harmful" plugins.
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,CAAC;AAO9D,KAAK,mBAAmB,GACpB,UAAU,GACV,gBAAgB,GAChB,cAAc,GACd,QAAQ,GACR,cAAc,CAAC;AAOnB,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,yBAAyB,CAAS;IAE1C,IAAI,QAAQ,YAEX;IAED,OAAO,CAAC,uBAAuB;IAW/B,MAAM,CAAC,SAAS,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,IAAI;IAYpF,OAAO,CAAC,cAAc,CAA0B;IAEhD,UAAU,CAAC,SAAS,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,IAAI;IAgBlF,aAAa,CACjB,SAAS,EAAE,mBAAmB,EAC9B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GACrC,OAAO,CAAC,IAAI,CAAC;IAKV,iBAAiB,CACrB,SAAS,EAAE,mBAAmB,EAC9B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GACrC,OAAO,CAAC,IAAI,CAAC;IASV,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA6B3B;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAqBhD;AAED,QAAA,MAAM,SAAS,WAAkB,CAAC;AAClC,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAY/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;AAC1D,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;AAO3D,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,yBAAyB,CAAS;IAE1C,IAAI,QAAQ,YAEX;IAED,OAAO,CAAC,uBAAuB;IAW/B,MAAM,CAAC,SAAS,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,GAAG,IAAI;IAmBzE,OAAO,CAAC,cAAc,CAA0B;IAEhD,UAAU,CAAC,SAAS,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,GAAG,IAAI;IAYvE,aAAa,CAAC,SAAS,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzF,iBAAiB,CACrB,SAAS,EAAE,mBAAmB,EAC9B,UAAU,EAAE,eAAe,GAC1B,OAAO,CAAC,IAAI,CAAC;IASV,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA6B3B;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAqBhD;AAED,QAAA,MAAM,SAAS,WAAkB,CAAC;AAClC,eAAe,SAAS,CAAC"}
@@ -3,11 +3,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Telemetry = void 0;
7
- const package_json_1 = __importDefault(require("../package.json"));
6
+ exports.Telemetry = exports.TelemetryEventSchema = void 0;
7
+ const zod_1 = require("zod");
8
+ const constants_1 = require("./constants");
8
9
  const envars_1 = require("./envars");
9
10
  const fetch_1 = require("./fetch");
10
11
  const logger_1 = __importDefault(require("./logger"));
12
+ exports.TelemetryEventSchema = zod_1.z.object({
13
+ event: zod_1.z.enum([
14
+ 'assertion_used',
15
+ 'command_used',
16
+ 'eval_ran',
17
+ 'feature_used',
18
+ 'funnel',
19
+ 'webui_api',
20
+ 'webui_page_view',
21
+ ]),
22
+ packageVersion: zod_1.z.string().optional().default(constants_1.VERSION),
23
+ properties: zod_1.z.record(zod_1.z.union([zod_1.z.string(), zod_1.z.number(), zod_1.z.boolean(), zod_1.z.array(zod_1.z.string())])),
24
+ });
11
25
  const TELEMETRY_ENDPOINT = 'https://api.promptfoo.dev/telemetry';
12
26
  const CONSENT_ENDPOINT = 'https://api.promptfoo.dev/consent';
13
27
  const TELEMETRY_TIMEOUT_MS = 1000;
@@ -24,7 +38,7 @@ class Telemetry {
24
38
  if (!this.telemetryDisabledRecorded) {
25
39
  this.events.push({
26
40
  event: 'feature_used',
27
- packageVersion: package_json_1.default.version,
41
+ packageVersion: constants_1.VERSION,
28
42
  properties: { feature: 'telemetry disabled' },
29
43
  });
30
44
  this.telemetryDisabledRecorded = true;
@@ -35,11 +49,18 @@ class Telemetry {
35
49
  this.recordTelemetryDisabled();
36
50
  }
37
51
  else {
38
- this.events.push({
52
+ const event = {
39
53
  event: eventName,
40
- packageVersion: package_json_1.default.version,
54
+ packageVersion: constants_1.VERSION,
41
55
  properties,
42
- });
56
+ };
57
+ const result = exports.TelemetryEventSchema.safeParse(event);
58
+ if (result.success) {
59
+ this.events.push(result.data);
60
+ }
61
+ else {
62
+ logger_1.default.warn(`Invalid telemetry event: ${result.error}`);
63
+ }
43
64
  }
44
65
  }
45
66
  recordOnce(eventName, properties) {
@@ -49,11 +70,7 @@ class Telemetry {
49
70
  else {
50
71
  const eventKey = JSON.stringify({ eventName, properties });
51
72
  if (!this.recordedEvents.has(eventKey)) {
52
- this.events.push({
53
- event: eventName,
54
- packageVersion: package_json_1.default.version,
55
- properties,
56
- });
73
+ this.record(eventName, properties);
57
74
  this.recordedEvents.add(eventKey);
58
75
  }
59
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"testCases.d.ts","sourceRoot":"","sources":["../../src/testCases.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAEV,QAAQ,EACR,oBAAoB,EACpB,SAAS,EACT,eAAe,EACf,UAAU,EAGX,MAAM,SAAS,CAAC;AAajB,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,EAC9B,QAAQ,GAAE,MAAW,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAmBrD;AAED,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,MAAW,GACpB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAkCrB;AAeD,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,MAAM,GAAG,oBAAoB,EACnC,QAAQ,GAAE,MAAW,GACpB,OAAO,CAAC,QAAQ,CAAC,CAoCnB;AAED,wBAAsB,SAAS,CAC7B,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,EAC/B,QAAQ,GAAE,MAAW,GACpB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAwFrB;AAED,UAAU,iBAAiB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAWrF;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,QAAQ,EAAE,EACjB,sBAAsB,EAAE,MAAM,EAC9B,SAAS,EAAE,MAAM,EAAE,EACnB,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAiDR;AAED,wBAAsB,UAAU,CAAC,EAC/B,OAAO,EACP,YAAY,EACZ,KAAK,EACL,WAAW,EACX,sBAAsB,EACtB,QAAQ,GACT,EAAE,iBAAiB,yBAsHnB;AAED,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,yBAOpC"}
1
+ {"version":3,"file":"testCases.d.ts","sourceRoot":"","sources":["../../src/testCases.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAEV,QAAQ,EACR,oBAAoB,EACpB,SAAS,EACT,eAAe,EACf,UAAU,EAGX,MAAM,SAAS,CAAC;AAajB,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,EAC9B,QAAQ,GAAE,MAAW,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAmBrD;AAED,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,MAAW,GACpB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAkCrB;AAeD,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,MAAM,GAAG,oBAAoB,EACnC,QAAQ,GAAE,MAAW,GACpB,OAAO,CAAC,QAAQ,CAAC,CAoCnB;AAED,wBAAsB,SAAS,CAC7B,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,EAC/B,QAAQ,GAAE,MAAW,GACpB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAgGrB;AAED,UAAU,iBAAiB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAWrF;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,QAAQ,EAAE,EACjB,sBAAsB,EAAE,MAAM,EAC9B,SAAS,EAAE,MAAM,EAAE,EACnB,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAiDR;AAED,wBAAsB,UAAU,CAAC,EAC/B,OAAO,EACP,YAAY,EACZ,KAAK,EACL,WAAW,EACX,sBAAsB,EACtB,QAAQ,GACT,EAAE,iBAAiB,yBAsHnB;AAED,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,yBAOpC"}
@@ -221,6 +221,15 @@ async function readTests(tests, basePath = '') {
221
221
  }
222
222
  }
223
223
  }
224
+ else if (tests !== undefined && tests !== null) {
225
+ logger_1.default.warn((0, dedent_1.default) `
226
+ Warning: Unsupported 'tests' format in promptfooconfig.yaml.
227
+ Expected: string, string[], or TestCase[], but received: ${typeof tests}
228
+
229
+ Please check your configuration file and ensure the 'tests' field is correctly formatted.
230
+ For more information, visit: https://promptfoo.dev/docs/configuration/reference/#test-case
231
+ `);
232
+ }
224
233
  if (ret.some((testCase) => testCase.vars?.assert) &&
225
234
  !(0, envars_1.getEnvBool)('PROMPTFOO_NO_TESTCASE_ASSERT_WARNING')) {
226
235
  logger_1.default.warn((0, dedent_1.default) `
@@ -1 +1 @@
1
- {"version":3,"file":"testCases.js","sourceRoot":"","sources":["../../src/testCases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testCases.js","sourceRoot":"","sources":["../../src/testCases.ts"],"names":[],"mappings":"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"}