promptfoo 0.73.9 → 0.75.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 (450) hide show
  1. package/README.md +59 -1
  2. package/dist/package.json +5 -5
  3. package/dist/src/assertions/AssertionsResult.d.ts +1 -1
  4. package/dist/src/assertions/AssertionsResult.d.ts.map +1 -1
  5. package/dist/src/assertions/validateAssertions.d.ts +1 -1
  6. package/dist/src/assertions/validateAssertions.d.ts.map +1 -1
  7. package/dist/src/assertions.d.ts +2 -1
  8. package/dist/src/assertions.d.ts.map +1 -1
  9. package/dist/src/assertions.js +8 -4
  10. package/dist/src/assertions.js.map +1 -1
  11. package/dist/src/commands/cache.d.ts +1 -1
  12. package/dist/src/commands/cache.d.ts.map +1 -1
  13. package/dist/src/commands/config.d.ts +1 -1
  14. package/dist/src/commands/config.d.ts.map +1 -1
  15. package/dist/src/commands/delete.d.ts +1 -1
  16. package/dist/src/commands/delete.d.ts.map +1 -1
  17. package/dist/src/commands/eval/filterFailingTests.d.ts +1 -1
  18. package/dist/src/commands/eval/filterFailingTests.d.ts.map +1 -1
  19. package/dist/src/commands/eval/filterTests.d.ts +1 -1
  20. package/dist/src/commands/eval/filterTests.d.ts.map +1 -1
  21. package/dist/src/commands/eval.d.ts +2 -2
  22. package/dist/src/commands/eval.d.ts.map +1 -1
  23. package/dist/src/commands/eval.js.map +1 -1
  24. package/dist/src/commands/export.d.ts +1 -1
  25. package/dist/src/commands/export.d.ts.map +1 -1
  26. package/dist/src/commands/feedback.d.ts +1 -1
  27. package/dist/src/commands/feedback.d.ts.map +1 -1
  28. package/dist/src/commands/generate/dataset.d.ts +2 -2
  29. package/dist/src/commands/generate/dataset.d.ts.map +1 -1
  30. package/dist/src/commands/generate/redteam.d.ts +3 -3
  31. package/dist/src/commands/generate/redteam.d.ts.map +1 -1
  32. package/dist/src/commands/generate/redteam.js +52 -22
  33. package/dist/src/commands/generate/redteam.js.map +1 -1
  34. package/dist/src/commands/import.d.ts +1 -1
  35. package/dist/src/commands/import.d.ts.map +1 -1
  36. package/dist/src/commands/init.d.ts +1 -1
  37. package/dist/src/commands/init.d.ts.map +1 -1
  38. package/dist/src/commands/list.d.ts +1 -1
  39. package/dist/src/commands/list.d.ts.map +1 -1
  40. package/dist/src/commands/redteam.d.ts +2 -1
  41. package/dist/src/commands/redteam.d.ts.map +1 -1
  42. package/dist/src/commands/redteam.js +252 -188
  43. package/dist/src/commands/redteam.js.map +1 -1
  44. package/dist/src/commands/share.d.ts +1 -1
  45. package/dist/src/commands/share.d.ts.map +1 -1
  46. package/dist/src/commands/show.d.ts +1 -1
  47. package/dist/src/commands/show.d.ts.map +1 -1
  48. package/dist/src/commands/version.d.ts +1 -1
  49. package/dist/src/commands/version.d.ts.map +1 -1
  50. package/dist/src/commands/view.d.ts +1 -1
  51. package/dist/src/commands/view.d.ts.map +1 -1
  52. package/dist/src/config.d.ts +1 -1
  53. package/dist/src/config.d.ts.map +1 -1
  54. package/dist/src/config.js +5 -2
  55. package/dist/src/config.js.map +1 -1
  56. package/dist/src/configTypes.d.ts +1 -0
  57. package/dist/src/configTypes.d.ts.map +1 -1
  58. package/dist/src/database/operations.d.ts +57 -241
  59. package/dist/src/database/operations.d.ts.map +1 -1
  60. package/dist/src/database/types.d.ts +1 -1
  61. package/dist/src/database/types.d.ts.map +1 -1
  62. package/dist/src/evaluator.d.ts.map +1 -1
  63. package/dist/src/evaluator.js +7 -1
  64. package/dist/src/evaluator.js.map +1 -1
  65. package/dist/src/globalConfig.d.ts +1 -1
  66. package/dist/src/globalConfig.d.ts.map +1 -1
  67. package/dist/src/onboarding.d.ts.map +1 -1
  68. package/dist/src/onboarding.js +11 -0
  69. package/dist/src/onboarding.js.map +1 -1
  70. package/dist/src/prompts/grading.js +1 -1
  71. package/dist/src/prompts/processors/javascript.d.ts +1 -1
  72. package/dist/src/prompts/processors/javascript.d.ts.map +1 -1
  73. package/dist/src/prompts/processors/json.d.ts +1 -1
  74. package/dist/src/prompts/processors/json.d.ts.map +1 -1
  75. package/dist/src/prompts/processors/jsonl.d.ts +1 -1
  76. package/dist/src/prompts/processors/jsonl.d.ts.map +1 -1
  77. package/dist/src/prompts/processors/python.d.ts.map +1 -1
  78. package/dist/src/prompts/processors/python.js.map +1 -1
  79. package/dist/src/prompts/processors/string.d.ts +1 -1
  80. package/dist/src/prompts/processors/string.d.ts.map +1 -1
  81. package/dist/src/prompts/processors/text.d.ts +1 -1
  82. package/dist/src/prompts/processors/text.d.ts.map +1 -1
  83. package/dist/src/prompts/processors/yaml.d.ts +1 -1
  84. package/dist/src/prompts/processors/yaml.d.ts.map +1 -1
  85. package/dist/src/prompts/utils.d.ts +1 -1
  86. package/dist/src/prompts/utils.d.ts.map +1 -1
  87. package/dist/src/providers/anthropic.js +1 -1
  88. package/dist/src/providers/anthropic.js.map +1 -1
  89. package/dist/src/providers/azureopenai.d.ts.map +1 -1
  90. package/dist/src/providers/azureopenai.js +6 -2
  91. package/dist/src/providers/azureopenai.js.map +1 -1
  92. package/dist/src/providers/bedrock.d.ts.map +1 -1
  93. package/dist/src/providers/bedrock.js +2 -2
  94. package/dist/src/providers/bedrock.js.map +1 -1
  95. package/dist/src/providers/huggingface.d.ts +1 -1
  96. package/dist/src/providers/huggingface.d.ts.map +1 -1
  97. package/dist/src/providers/manualInput.d.ts +1 -1
  98. package/dist/src/providers/manualInput.d.ts.map +1 -1
  99. package/dist/src/providers/mistral.d.ts +1 -1
  100. package/dist/src/providers/mistral.d.ts.map +1 -1
  101. package/dist/src/providers/openai.d.ts +1 -1
  102. package/dist/src/providers/openai.d.ts.map +1 -1
  103. package/dist/src/providers/openai.js +8 -3
  104. package/dist/src/providers/openai.js.map +1 -1
  105. package/dist/src/providers/shared.d.ts +1 -0
  106. package/dist/src/providers/shared.d.ts.map +1 -1
  107. package/dist/src/providers/shared.js +47 -0
  108. package/dist/src/providers/shared.js.map +1 -1
  109. package/dist/src/providers/vertex.d.ts.map +1 -1
  110. package/dist/src/providers/vertex.js.map +1 -1
  111. package/dist/src/providers.d.ts +2 -1
  112. package/dist/src/providers.d.ts.map +1 -1
  113. package/dist/src/python/pythonUtils.d.ts.map +1 -1
  114. package/dist/src/python/pythonUtils.js.map +1 -1
  115. package/dist/src/redteam/constants.d.ts +7 -6
  116. package/dist/src/redteam/constants.d.ts.map +1 -1
  117. package/dist/src/redteam/constants.js +25 -19
  118. package/dist/src/redteam/constants.js.map +1 -1
  119. package/dist/src/redteam/extraction/entities.d.ts +1 -1
  120. package/dist/src/redteam/extraction/entities.d.ts.map +1 -1
  121. package/dist/src/redteam/extraction/entities.js +1 -1
  122. package/dist/src/redteam/extraction/purpose.d.ts +1 -1
  123. package/dist/src/redteam/extraction/purpose.d.ts.map +1 -1
  124. package/dist/src/redteam/extraction/util.d.ts +1 -1
  125. package/dist/src/redteam/extraction/util.d.ts.map +1 -1
  126. package/dist/src/redteam/graders.d.ts +3 -0
  127. package/dist/src/redteam/graders.d.ts.map +1 -0
  128. package/dist/src/redteam/graders.js +67 -0
  129. package/dist/src/redteam/graders.js.map +1 -0
  130. package/dist/src/redteam/index.d.ts +7 -9
  131. package/dist/src/redteam/index.d.ts.map +1 -1
  132. package/dist/src/redteam/index.js +32 -150
  133. package/dist/src/redteam/index.js.map +1 -1
  134. package/dist/src/redteam/plugins/base.d.ts +22 -5
  135. package/dist/src/redteam/plugins/base.d.ts.map +1 -1
  136. package/dist/src/redteam/plugins/base.js +29 -2
  137. package/dist/src/redteam/plugins/base.js.map +1 -1
  138. package/dist/src/redteam/plugins/competitors.d.ts +8 -4
  139. package/dist/src/redteam/plugins/competitors.d.ts.map +1 -1
  140. package/dist/src/redteam/plugins/competitors.js +41 -6
  141. package/dist/src/redteam/plugins/competitors.js.map +1 -1
  142. package/dist/src/redteam/plugins/contracts.d.ts +8 -4
  143. package/dist/src/redteam/plugins/contracts.d.ts.map +1 -1
  144. package/dist/src/redteam/plugins/contracts.js +16 -6
  145. package/dist/src/redteam/plugins/contracts.js.map +1 -1
  146. package/dist/src/redteam/plugins/debugAccess.d.ts +8 -4
  147. package/dist/src/redteam/plugins/debugAccess.d.ts.map +1 -1
  148. package/dist/src/redteam/plugins/debugAccess.js +14 -6
  149. package/dist/src/redteam/plugins/debugAccess.js.map +1 -1
  150. package/dist/src/redteam/plugins/excessiveAgency.d.ts +8 -4
  151. package/dist/src/redteam/plugins/excessiveAgency.d.ts.map +1 -1
  152. package/dist/src/redteam/plugins/excessiveAgency.js +16 -6
  153. package/dist/src/redteam/plugins/excessiveAgency.js.map +1 -1
  154. package/dist/src/redteam/plugins/hallucination.d.ts +8 -4
  155. package/dist/src/redteam/plugins/hallucination.d.ts.map +1 -1
  156. package/dist/src/redteam/plugins/hallucination.js +49 -6
  157. package/dist/src/redteam/plugins/hallucination.js.map +1 -1
  158. package/dist/src/redteam/plugins/harmful.d.ts +10 -0
  159. package/dist/src/redteam/plugins/harmful.d.ts.map +1 -1
  160. package/dist/src/redteam/plugins/harmful.js +56 -5
  161. package/dist/src/redteam/plugins/harmful.js.map +1 -1
  162. package/dist/src/redteam/plugins/hijacking.d.ts +8 -4
  163. package/dist/src/redteam/plugins/hijacking.d.ts.map +1 -1
  164. package/dist/src/redteam/plugins/hijacking.js +26 -6
  165. package/dist/src/redteam/plugins/hijacking.js.map +1 -1
  166. package/dist/src/redteam/plugins/imitation.d.ts +7 -3
  167. package/dist/src/redteam/plugins/imitation.d.ts.map +1 -1
  168. package/dist/src/redteam/plugins/imitation.js +34 -6
  169. package/dist/src/redteam/plugins/imitation.js.map +1 -1
  170. package/dist/src/redteam/plugins/index.d.ts +12 -0
  171. package/dist/src/redteam/plugins/index.d.ts.map +1 -0
  172. package/dist/src/redteam/plugins/index.js +113 -0
  173. package/dist/src/redteam/plugins/index.js.map +1 -0
  174. package/dist/src/redteam/plugins/overreliance.d.ts +8 -4
  175. package/dist/src/redteam/plugins/overreliance.d.ts.map +1 -1
  176. package/dist/src/redteam/plugins/overreliance.js +43 -6
  177. package/dist/src/redteam/plugins/overreliance.js.map +1 -1
  178. package/dist/src/redteam/plugins/pii.d.ts +5 -0
  179. package/dist/src/redteam/plugins/pii.d.ts.map +1 -1
  180. package/dist/src/redteam/plugins/pii.js +55 -0
  181. package/dist/src/redteam/plugins/pii.js.map +1 -1
  182. package/dist/src/redteam/plugins/policy.d.ts +22 -0
  183. package/dist/src/redteam/plugins/policy.d.ts.map +1 -0
  184. package/dist/src/redteam/plugins/policy.js +102 -0
  185. package/dist/src/redteam/plugins/policy.js.map +1 -0
  186. package/dist/src/redteam/plugins/politics.d.ts +8 -4
  187. package/dist/src/redteam/plugins/politics.d.ts.map +1 -1
  188. package/dist/src/redteam/plugins/politics.js +14 -6
  189. package/dist/src/redteam/plugins/politics.js.map +1 -1
  190. package/dist/src/redteam/plugins/rbac.d.ts +8 -4
  191. package/dist/src/redteam/plugins/rbac.d.ts.map +1 -1
  192. package/dist/src/redteam/plugins/rbac.js +49 -6
  193. package/dist/src/redteam/plugins/rbac.js.map +1 -1
  194. package/dist/src/redteam/plugins/shellInjection.d.ts +8 -4
  195. package/dist/src/redteam/plugins/shellInjection.d.ts.map +1 -1
  196. package/dist/src/redteam/plugins/shellInjection.js +14 -6
  197. package/dist/src/redteam/plugins/shellInjection.js.map +1 -1
  198. package/dist/src/redteam/plugins/sqlInjection.d.ts +8 -4
  199. package/dist/src/redteam/plugins/sqlInjection.d.ts.map +1 -1
  200. package/dist/src/redteam/plugins/sqlInjection.js +14 -6
  201. package/dist/src/redteam/plugins/sqlInjection.js.map +1 -1
  202. package/dist/src/redteam/providers/iterative.d.ts.map +1 -1
  203. package/dist/src/redteam/providers/iterative.js +8 -2
  204. package/dist/src/redteam/providers/iterative.js.map +1 -1
  205. package/dist/src/redteam/strategies/base64.d.ts +3 -0
  206. package/dist/src/redteam/strategies/base64.d.ts.map +1 -0
  207. package/dist/src/redteam/strategies/base64.js +17 -0
  208. package/dist/src/redteam/strategies/base64.js.map +1 -0
  209. package/dist/src/redteam/strategies/index.d.ts +11 -0
  210. package/dist/src/redteam/strategies/index.d.ts.map +1 -0
  211. package/dist/src/redteam/strategies/index.js +84 -0
  212. package/dist/src/redteam/strategies/index.js.map +1 -0
  213. package/dist/src/redteam/strategies/injections.d.ts +1 -1
  214. package/dist/src/redteam/strategies/injections.d.ts.map +1 -1
  215. package/dist/src/redteam/strategies/iterative.d.ts +1 -1
  216. package/dist/src/redteam/strategies/iterative.d.ts.map +1 -1
  217. package/dist/src/redteam/strategies/leetspeak.d.ts +3 -0
  218. package/dist/src/redteam/strategies/leetspeak.d.ts.map +1 -0
  219. package/dist/src/redteam/strategies/leetspeak.js +39 -0
  220. package/dist/src/redteam/strategies/leetspeak.js.map +1 -0
  221. package/dist/src/redteam/strategies/rot13.d.ts +3 -0
  222. package/dist/src/redteam/strategies/rot13.d.ts.map +1 -0
  223. package/dist/src/redteam/strategies/rot13.js +24 -0
  224. package/dist/src/redteam/strategies/rot13.js.map +1 -0
  225. package/dist/src/telemetry.d.ts +4 -0
  226. package/dist/src/telemetry.d.ts.map +1 -1
  227. package/dist/src/telemetry.js +23 -0
  228. package/dist/src/telemetry.js.map +1 -1
  229. package/dist/src/testCases.d.ts.map +1 -1
  230. package/dist/src/testCases.js +1 -1
  231. package/dist/src/testCases.js.map +1 -1
  232. package/dist/src/{types.d.ts → types/index.d.ts} +1465 -6482
  233. package/dist/src/{types.d.ts.map → types/index.d.ts.map} +1 -1
  234. package/dist/src/{types.js → types/index.js} +38 -172
  235. package/dist/src/types/index.js.map +1 -0
  236. package/dist/src/types/prompts.d.ts +29 -0
  237. package/dist/src/types/prompts.d.ts.map +1 -0
  238. package/dist/src/types/prompts.js +3 -0
  239. package/dist/src/types/prompts.js.map +1 -0
  240. package/dist/src/types/providers.d.ts +126 -0
  241. package/dist/src/types/providers.d.ts.map +1 -0
  242. package/dist/src/types/providers.js +11 -0
  243. package/dist/src/types/providers.js.map +1 -0
  244. package/dist/src/types/redteam.d.ts +55 -0
  245. package/dist/src/types/redteam.d.ts.map +1 -0
  246. package/dist/src/types/redteam.js +3 -0
  247. package/dist/src/types/redteam.js.map +1 -0
  248. package/dist/src/types/shared.d.ts +8 -0
  249. package/dist/src/types/shared.d.ts.map +1 -0
  250. package/dist/src/types/shared.js +3 -0
  251. package/dist/src/types/shared.js.map +1 -0
  252. package/dist/src/util/config.d.ts +2 -0
  253. package/dist/src/util/config.d.ts.map +1 -1
  254. package/dist/src/util/config.js +18 -0
  255. package/dist/src/util/config.js.map +1 -1
  256. package/dist/src/util/index.d.ts +20 -96
  257. package/dist/src/util/index.d.ts.map +1 -1
  258. package/dist/src/util/index.js +74 -66
  259. package/dist/src/util/index.js.map +1 -1
  260. package/dist/src/util/json.d.ts +14 -0
  261. package/dist/src/util/json.d.ts.map +1 -1
  262. package/dist/src/util/json.js +37 -0
  263. package/dist/src/util/json.js.map +1 -1
  264. package/dist/src/util/templates.d.ts +2 -2
  265. package/dist/src/util/templates.d.ts.map +1 -1
  266. package/dist/src/util/templates.js +2 -1
  267. package/dist/src/util/templates.js.map +1 -1
  268. package/dist/src/util/transform.d.ts +1 -1
  269. package/dist/src/util/transform.d.ts.map +1 -1
  270. package/dist/src/validators/prompts.d.ts +60 -0
  271. package/dist/src/validators/prompts.d.ts.map +1 -0
  272. package/dist/src/validators/prompts.js +32 -0
  273. package/dist/src/validators/prompts.js.map +1 -0
  274. package/dist/src/validators/providers.d.ts +1145 -0
  275. package/dist/src/validators/providers.d.ts.map +1 -0
  276. package/dist/src/validators/providers.js +133 -0
  277. package/dist/src/validators/providers.js.map +1 -0
  278. package/dist/src/validators/redteam.d.ts +531 -0
  279. package/dist/src/validators/redteam.d.ts.map +1 -0
  280. package/dist/src/{redteam/types.js → validators/redteam.js} +68 -47
  281. package/dist/src/validators/redteam.js.map +1 -0
  282. package/dist/src/validators/shared.d.ts +19 -0
  283. package/dist/src/validators/shared.d.ts.map +1 -0
  284. package/dist/src/validators/shared.js +12 -0
  285. package/dist/src/validators/shared.js.map +1 -0
  286. package/dist/src/web/nextui/404/index.html +1 -1
  287. package/dist/src/web/nextui/404.html +1 -1
  288. package/dist/src/web/nextui/_next/static/chunks/15.306496fdcef5f880.js +52 -0
  289. package/dist/src/web/nextui/_next/static/chunks/216-41f093798f2200fe.js +1 -0
  290. package/dist/src/web/nextui/_next/static/chunks/{998-eabde83617d6bc23.js → 222-8d27a2c754bc8029.js} +1 -1
  291. package/dist/src/web/nextui/_next/static/chunks/258-dcf9823bb9098565.js +1 -0
  292. package/dist/src/web/nextui/_next/static/chunks/565431e5-7b9122ac20f7a0ae.js +140 -0
  293. package/dist/src/web/nextui/_next/static/chunks/840.58dde6630f088da4.js +1 -0
  294. package/dist/src/web/nextui/_next/static/chunks/944-95d6fadc7a5d7fb2.js +1 -0
  295. package/dist/src/web/nextui/_next/static/chunks/a5c829b0-07a2c92898a6780c.js +14 -0
  296. package/dist/src/web/nextui/_next/static/chunks/app/eval/[id]/{page-3f5dd9507c5c905d.js → page-c72cfe418b720579.js} +1 -1
  297. package/dist/src/web/nextui/_next/static/chunks/app/eval/{page-f882912e083dbdb8.js → page-e64af76a729b3178.js} +1 -1
  298. package/dist/src/web/nextui/_next/static/chunks/app/{layout-881a16d7fe67581c.js → layout-fd0bafbf194c4d80.js} +1 -1
  299. package/dist/src/web/nextui/_next/static/chunks/app/page-81e3b8fee37eaf67.js +1 -0
  300. package/dist/src/web/nextui/_next/static/chunks/app/report/page-941cb8de85e2ea7b.js +1 -0
  301. package/dist/src/web/nextui/_next/static/chunks/fd57813c.8f0e3582250c76c5.js +1 -0
  302. package/dist/src/web/nextui/_next/static/chunks/webpack-22e0e23bc00c2c23.js +1 -0
  303. package/dist/src/web/nextui/_next/static/css/32384cb640d2265e.css +1 -0
  304. package/dist/src/web/nextui/auth/login/index.html +1 -1
  305. package/dist/src/web/nextui/auth/login/index.txt +4 -4
  306. package/dist/src/web/nextui/auth/signup/index.html +1 -1
  307. package/dist/src/web/nextui/auth/signup/index.txt +4 -4
  308. package/dist/src/web/nextui/datasets/index.html +1 -1
  309. package/dist/src/web/nextui/datasets/index.txt +4 -4
  310. package/dist/src/web/nextui/eval/index.html +1 -1
  311. package/dist/src/web/nextui/eval/index.txt +5 -5
  312. package/dist/src/web/nextui/index.html +1 -1
  313. package/dist/src/web/nextui/index.txt +4 -4
  314. package/dist/src/web/nextui/progress/index.html +1 -1
  315. package/dist/src/web/nextui/progress/index.txt +4 -4
  316. package/dist/src/web/nextui/prompts/index.html +1 -1
  317. package/dist/src/web/nextui/prompts/index.txt +4 -4
  318. package/dist/src/web/nextui/report/index.html +1 -1
  319. package/dist/src/web/nextui/report/index.txt +7 -7
  320. package/dist/src/web/nextui/setup/index.html +1 -1
  321. package/dist/src/web/nextui/setup/index.txt +5 -5
  322. package/dist/src/web/server.d.ts.map +1 -1
  323. package/dist/src/web/server.js.map +1 -1
  324. package/dist/test/cache.test.js.map +1 -1
  325. package/dist/test/config.test.js +46 -0
  326. package/dist/test/config.test.js.map +1 -1
  327. package/dist/test/evaluator.test.js +91 -7
  328. package/dist/test/evaluator.test.js.map +1 -1
  329. package/dist/test/providers.bedrock.test.js.map +1 -1
  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 +101 -0
  333. package/dist/test/providers.shared.test.js.map +1 -0
  334. package/dist/test/redteam/plugins/base.test.js +54 -8
  335. package/dist/test/redteam/plugins/base.test.js.map +1 -1
  336. package/dist/test/redteam/plugins/imitation.test.d.ts.map +1 -0
  337. package/dist/test/redteam/{graders → plugins}/imitation.test.js +2 -5
  338. package/dist/test/redteam/plugins/imitation.test.js.map +1 -0
  339. package/dist/test/redteam/strategies/base64.test.d.ts +2 -0
  340. package/dist/test/redteam/strategies/base64.test.d.ts.map +1 -0
  341. package/dist/test/redteam/strategies/base64.test.js +20 -0
  342. package/dist/test/redteam/strategies/base64.test.js.map +1 -0
  343. package/dist/test/redteam/strategies/leetspeak.test.d.ts +2 -0
  344. package/dist/test/redteam/strategies/leetspeak.test.d.ts.map +1 -0
  345. package/dist/test/redteam/strategies/leetspeak.test.js +28 -0
  346. package/dist/test/redteam/strategies/leetspeak.test.js.map +1 -0
  347. package/dist/test/redteam/strategies/rot13.test.d.ts +2 -0
  348. package/dist/test/redteam/strategies/rot13.test.d.ts.map +1 -0
  349. package/dist/test/redteam/strategies/rot13.test.js +36 -0
  350. package/dist/test/redteam/strategies/rot13.test.js.map +1 -0
  351. package/dist/test/redteam/validators.test.d.ts +2 -0
  352. package/dist/test/redteam/validators.test.d.ts.map +1 -0
  353. package/dist/test/redteam/{types.test.js → validators.test.js} +150 -32
  354. package/dist/test/redteam/validators.test.js.map +1 -0
  355. package/dist/test/util.config.test.js +70 -0
  356. package/dist/test/util.config.test.js.map +1 -1
  357. package/dist/test/util.json.test.js +53 -0
  358. package/dist/test/util.json.test.js.map +1 -1
  359. package/dist/test/util.test.js +50 -0
  360. package/dist/test/util.test.js.map +1 -1
  361. package/dist/test/utils.d.ts +1 -1
  362. package/dist/test/utils.d.ts.map +1 -1
  363. package/package.json +5 -5
  364. package/dist/src/redteam/graders/base.d.ts +0 -15
  365. package/dist/src/redteam/graders/base.d.ts.map +0 -1
  366. package/dist/src/redteam/graders/base.js +0 -35
  367. package/dist/src/redteam/graders/base.js.map +0 -1
  368. package/dist/src/redteam/graders/competitors.d.ts +0 -6
  369. package/dist/src/redteam/graders/competitors.d.ts.map +0 -1
  370. package/dist/src/redteam/graders/competitors.js +0 -43
  371. package/dist/src/redteam/graders/competitors.js.map +0 -1
  372. package/dist/src/redteam/graders/contracts.d.ts +0 -6
  373. package/dist/src/redteam/graders/contracts.d.ts.map +0 -1
  374. package/dist/src/redteam/graders/contracts.js +0 -18
  375. package/dist/src/redteam/graders/contracts.js.map +0 -1
  376. package/dist/src/redteam/graders/debugAccess.d.ts +0 -6
  377. package/dist/src/redteam/graders/debugAccess.d.ts.map +0 -1
  378. package/dist/src/redteam/graders/debugAccess.js +0 -16
  379. package/dist/src/redteam/graders/debugAccess.js.map +0 -1
  380. package/dist/src/redteam/graders/excessiveAgency.d.ts +0 -6
  381. package/dist/src/redteam/graders/excessiveAgency.d.ts.map +0 -1
  382. package/dist/src/redteam/graders/excessiveAgency.js +0 -18
  383. package/dist/src/redteam/graders/excessiveAgency.js.map +0 -1
  384. package/dist/src/redteam/graders/hallucination.d.ts +0 -6
  385. package/dist/src/redteam/graders/hallucination.d.ts.map +0 -1
  386. package/dist/src/redteam/graders/hallucination.js +0 -51
  387. package/dist/src/redteam/graders/hallucination.js.map +0 -1
  388. package/dist/src/redteam/graders/harmful.d.ts +0 -8
  389. package/dist/src/redteam/graders/harmful.d.ts.map +0 -1
  390. package/dist/src/redteam/graders/harmful.js +0 -51
  391. package/dist/src/redteam/graders/harmful.js.map +0 -1
  392. package/dist/src/redteam/graders/hijacking.d.ts +0 -6
  393. package/dist/src/redteam/graders/hijacking.d.ts.map +0 -1
  394. package/dist/src/redteam/graders/hijacking.js +0 -28
  395. package/dist/src/redteam/graders/hijacking.js.map +0 -1
  396. package/dist/src/redteam/graders/imitation.d.ts +0 -6
  397. package/dist/src/redteam/graders/imitation.d.ts.map +0 -1
  398. package/dist/src/redteam/graders/imitation.js +0 -36
  399. package/dist/src/redteam/graders/imitation.js.map +0 -1
  400. package/dist/src/redteam/graders/index.d.ts +0 -3
  401. package/dist/src/redteam/graders/index.d.ts.map +0 -1
  402. package/dist/src/redteam/graders/index.js +0 -68
  403. package/dist/src/redteam/graders/index.js.map +0 -1
  404. package/dist/src/redteam/graders/overreliance.d.ts +0 -6
  405. package/dist/src/redteam/graders/overreliance.d.ts.map +0 -1
  406. package/dist/src/redteam/graders/overreliance.js +0 -45
  407. package/dist/src/redteam/graders/overreliance.js.map +0 -1
  408. package/dist/src/redteam/graders/pii.d.ts +0 -6
  409. package/dist/src/redteam/graders/pii.d.ts.map +0 -1
  410. package/dist/src/redteam/graders/pii.js +0 -16
  411. package/dist/src/redteam/graders/pii.js.map +0 -1
  412. package/dist/src/redteam/graders/politics.d.ts +0 -6
  413. package/dist/src/redteam/graders/politics.d.ts.map +0 -1
  414. package/dist/src/redteam/graders/politics.js +0 -16
  415. package/dist/src/redteam/graders/politics.js.map +0 -1
  416. package/dist/src/redteam/graders/rbac.d.ts +0 -6
  417. package/dist/src/redteam/graders/rbac.d.ts.map +0 -1
  418. package/dist/src/redteam/graders/rbac.js +0 -16
  419. package/dist/src/redteam/graders/rbac.js.map +0 -1
  420. package/dist/src/redteam/graders/shellInjection.d.ts +0 -6
  421. package/dist/src/redteam/graders/shellInjection.d.ts.map +0 -1
  422. package/dist/src/redteam/graders/shellInjection.js +0 -16
  423. package/dist/src/redteam/graders/shellInjection.js.map +0 -1
  424. package/dist/src/redteam/graders/sqlInjection.d.ts +0 -6
  425. package/dist/src/redteam/graders/sqlInjection.d.ts.map +0 -1
  426. package/dist/src/redteam/graders/sqlInjection.js +0 -16
  427. package/dist/src/redteam/graders/sqlInjection.js.map +0 -1
  428. package/dist/src/redteam/types.d.ts +0 -215
  429. package/dist/src/redteam/types.d.ts.map +0 -1
  430. package/dist/src/redteam/types.js.map +0 -1
  431. package/dist/src/types.js.map +0 -1
  432. package/dist/src/web/nextui/_next/static/chunks/258-f5d5d6dbebb8ae22.js +0 -1
  433. package/dist/src/web/nextui/_next/static/chunks/347-49b79b8c81884e85.js +0 -1
  434. package/dist/src/web/nextui/_next/static/chunks/515-e06d044f12d8a1bd.js +0 -1
  435. package/dist/src/web/nextui/_next/static/chunks/app/page-7e8faab5d212f727.js +0 -1
  436. package/dist/src/web/nextui/_next/static/chunks/app/report/page-95d5e86c47bb3593.js +0 -1
  437. package/dist/src/web/nextui/_next/static/chunks/webpack-b0363d9598537efc.js +0 -1
  438. package/dist/src/web/nextui/_next/static/css/e17fdafd8599f69b.css +0 -1
  439. package/dist/test/redteam/graders/base.test.d.ts +0 -2
  440. package/dist/test/redteam/graders/base.test.d.ts.map +0 -1
  441. package/dist/test/redteam/graders/base.test.js +0 -54
  442. package/dist/test/redteam/graders/base.test.js.map +0 -1
  443. package/dist/test/redteam/graders/imitation.test.d.ts.map +0 -1
  444. package/dist/test/redteam/graders/imitation.test.js.map +0 -1
  445. package/dist/test/redteam/types.test.d.ts +0 -2
  446. package/dist/test/redteam/types.test.d.ts.map +0 -1
  447. package/dist/test/redteam/types.test.js.map +0 -1
  448. /package/dist/src/web/nextui/_next/static/{rXJSLz3x5ieAU1Syln-RX → 8Jt8p9IYhOnIHolJT1ONi}/_buildManifest.js +0 -0
  449. /package/dist/src/web/nextui/_next/static/{rXJSLz3x5ieAU1Syln-RX → 8Jt8p9IYhOnIHolJT1ONi}/_ssgManifest.js +0 -0
  450. /package/dist/test/redteam/{graders → plugins}/imitation.test.d.ts +0 -0
@@ -0,0 +1,126 @@
1
+ import type { Prompt } from './prompts';
2
+ import type { NunjucksFilterMap, TokenUsage } from './shared';
3
+ export type ProviderId = string;
4
+ export type ProviderLabel = string;
5
+ export type ProviderFunction = ApiProvider['callApi'];
6
+ export type ProviderOptionsMap = Record<ProviderId, ProviderOptions>;
7
+ export type ProviderType = 'embedding' | 'classification' | 'text' | 'moderation';
8
+ export type ProviderTypeMap = Partial<Record<ProviderType, string | ProviderOptions | ApiProvider>>;
9
+ export interface ProviderModerationResponse {
10
+ error?: string;
11
+ flags?: ModerationFlag[];
12
+ }
13
+ export interface ModerationFlag {
14
+ code: string;
15
+ description: string;
16
+ confidence: number;
17
+ }
18
+ export interface ProviderOptions {
19
+ id?: ProviderId;
20
+ label?: ProviderLabel;
21
+ config?: any;
22
+ prompts?: string[];
23
+ transform?: string;
24
+ delay?: number;
25
+ env?: EnvOverrides;
26
+ }
27
+ export interface CallApiContextParams {
28
+ fetchWithCache?: any;
29
+ filters?: NunjucksFilterMap;
30
+ getCache?: any;
31
+ logger?: any;
32
+ originalProvider?: any;
33
+ prompt: Prompt;
34
+ vars: Record<string, string | object>;
35
+ }
36
+ export interface CallApiOptionsParams {
37
+ includeLogProbs?: boolean;
38
+ }
39
+ export interface ApiProvider {
40
+ id: () => string;
41
+ callApi: CallApiFunction;
42
+ callEmbeddingApi?: (input: string) => Promise<ProviderEmbeddingResponse>;
43
+ callClassificationApi?: (prompt: string) => Promise<ProviderClassificationResponse>;
44
+ label?: ProviderLabel;
45
+ transform?: string;
46
+ delay?: number;
47
+ }
48
+ export interface ApiEmbeddingProvider extends ApiProvider {
49
+ callEmbeddingApi: (input: string) => Promise<ProviderEmbeddingResponse>;
50
+ }
51
+ export interface ApiSimilarityProvider extends ApiProvider {
52
+ callSimilarityApi: (reference: string, input: string) => Promise<ProviderSimilarityResponse>;
53
+ }
54
+ export interface ApiClassificationProvider extends ApiProvider {
55
+ callClassificationApi: (prompt: string) => Promise<ProviderClassificationResponse>;
56
+ }
57
+ export interface ApiModerationProvider extends ApiProvider {
58
+ callModerationApi: (prompt: string, response: string) => Promise<ProviderModerationResponse>;
59
+ }
60
+ export interface ProviderResponse {
61
+ cached?: boolean;
62
+ cost?: number;
63
+ error?: string;
64
+ logProbs?: number[];
65
+ metadata?: {
66
+ redteamFinalPrompt?: string;
67
+ [key: string]: any;
68
+ };
69
+ output?: string | any;
70
+ tokenUsage?: TokenUsage;
71
+ }
72
+ export interface ProviderEmbeddingResponse {
73
+ error?: string;
74
+ embedding?: number[];
75
+ tokenUsage?: Partial<TokenUsage>;
76
+ }
77
+ export interface ProviderSimilarityResponse {
78
+ error?: string;
79
+ similarity?: number;
80
+ tokenUsage?: Partial<TokenUsage>;
81
+ }
82
+ export interface ProviderClassificationResponse {
83
+ error?: string;
84
+ classification?: Record<string, number>;
85
+ }
86
+ export type EnvOverrides = {
87
+ ANTHROPIC_API_KEY?: string;
88
+ BAM_API_KEY?: string;
89
+ BAM_API_HOST?: string;
90
+ AZURE_OPENAI_API_HOST?: string;
91
+ AZURE_OPENAI_API_KEY?: string;
92
+ AZURE_OPENAI_API_BASE_URL?: string;
93
+ AZURE_OPENAI_BASE_URL?: string;
94
+ AWS_BEDROCK_REGION?: string;
95
+ COHERE_API_KEY?: string;
96
+ OPENAI_API_KEY?: string;
97
+ OPENAI_API_HOST?: string;
98
+ OPENAI_API_BASE_URL?: string;
99
+ OPENAI_BASE_URL?: string;
100
+ OPENAI_ORGANIZATION?: string;
101
+ REPLICATE_API_KEY?: string;
102
+ REPLICATE_API_TOKEN?: string;
103
+ LOCALAI_BASE_URL?: string;
104
+ MISTRAL_API_HOST?: string;
105
+ MISTRAL_API_BASE_URL?: string;
106
+ PALM_API_KEY?: string;
107
+ PALM_API_HOST?: string;
108
+ GOOGLE_API_KEY?: string;
109
+ GOOGLE_API_HOST?: string;
110
+ VERTEX_API_KEY?: string;
111
+ VERTEX_API_HOST?: string;
112
+ VERTEX_PROJECT_ID?: string;
113
+ VERTEX_REGION?: string;
114
+ VERTEX_PUBLISHER?: string;
115
+ MISTRAL_API_KEY?: string;
116
+ CLOUDFLARE_API_KEY?: string;
117
+ CLOUDFLARE_ACCOUNT_ID?: string;
118
+ };
119
+ export type FilePath = string;
120
+ export type CallApiFunction = {
121
+ (prompt: string, context?: CallApiContextParams, options?: CallApiOptionsParams): Promise<ProviderResponse>;
122
+ label?: string;
123
+ };
124
+ export declare function isApiProvider(provider: any): provider is ApiProvider;
125
+ export declare function isProviderOptions(provider: any): provider is ProviderOptions;
126
+ //# sourceMappingURL=providers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../src/types/providers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isApiProvider = isApiProvider;
4
+ exports.isProviderOptions = isProviderOptions;
5
+ function isApiProvider(provider) {
6
+ return typeof provider === 'object' && 'id' in provider && typeof provider.id === 'function';
7
+ }
8
+ function isProviderOptions(provider) {
9
+ return !isApiProvider(provider) && typeof provider === 'object';
10
+ }
11
+ //# sourceMappingURL=providers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../src/types/providers.ts"],"names":[],"mappings":";;AAoJA,sCAEC;AAED,8CAEC;AAND,SAAgB,aAAa,CAAC,QAAa;IACzC,OAAO,OAAO,QAAQ,KAAK,QAAQ,IAAI,IAAI,IAAI,QAAQ,IAAI,OAAO,QAAQ,CAAC,EAAE,KAAK,UAAU,CAAC;AAC/F,CAAC;AAED,SAAgB,iBAAiB,CAAC,QAAa;IAC7C,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAAC;AAClE,CAAC"}
@@ -0,0 +1,55 @@
1
+ import type { ApiProvider, ProviderOptions } from '../types/providers';
2
+ export type RedteamPluginObject = {
3
+ id: string;
4
+ numTests?: number;
5
+ config?: Record<string, unknown>;
6
+ };
7
+ export type RedteamPlugin = string | RedteamPluginObject;
8
+ export type RedteamStrategyObject = {
9
+ id: string;
10
+ };
11
+ export type RedteamStrategy = string | RedteamStrategyObject;
12
+ export type RedteamGenerateOptions = {
13
+ addPlugins?: string[];
14
+ addStrategies?: string[];
15
+ cache: boolean;
16
+ config?: string;
17
+ defaultConfig: Record<string, unknown>;
18
+ defaultConfigPath?: string;
19
+ envFile?: string;
20
+ injectVar?: string;
21
+ numTests: number;
22
+ output?: string;
23
+ plugins?: RedteamPluginObject[];
24
+ provider?: string;
25
+ purpose?: string;
26
+ strategies?: RedteamStrategy[];
27
+ write: boolean;
28
+ };
29
+ export type RedteamConfig = {
30
+ entities?: string[];
31
+ injectVar?: string;
32
+ numTests?: number;
33
+ plugins: RedteamPluginObject[];
34
+ provider?: string | ProviderOptions | ApiProvider;
35
+ purpose?: string;
36
+ strategies: RedteamStrategyObject[];
37
+ };
38
+ export type RedteamAssertionTypes = `promptfoo:redteam:${string}`;
39
+ export interface SynthesizeOptions {
40
+ entities?: string[];
41
+ injectVar?: string;
42
+ numTests: number;
43
+ plugins: {
44
+ id: string;
45
+ numTests: number;
46
+ config?: Record<string, any>;
47
+ }[];
48
+ prompts: string[];
49
+ provider?: ApiProvider | ProviderOptions | string;
50
+ purpose?: string;
51
+ strategies: {
52
+ id: string;
53
+ }[];
54
+ }
55
+ //# sourceMappingURL=redteam.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redteam.d.ts","sourceRoot":"","sources":["../../../src/types/redteam.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEvE,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,mBAAmB,CAAC;AAEzD,MAAM,MAAM,qBAAqB,GAAG;IAClC,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,qBAAqB,CAAC;AAE7D,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,WAAW,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,qBAAqB,EAAE,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,qBAAqB,MAAM,EAAE,CAAC;AAElE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,EAAE,CAAC;IAC1E,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,WAAW,GAAG,eAAe,GAAG,MAAM,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC9B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=redteam.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redteam.js","sourceRoot":"","sources":["../../../src/types/redteam.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ export interface TokenUsage {
2
+ cached?: number;
3
+ completion?: number;
4
+ prompt?: number;
5
+ total?: number;
6
+ }
7
+ export type NunjucksFilterMap = Record<string, (...args: any[]) => string>;
8
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/types/shared.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/types/shared.ts"],"names":[],"mappings":""}
@@ -1,3 +1,5 @@
1
+ import type { UnifiedConfig } from '../types';
1
2
  export declare function getConfigDirectoryPath(createIfNotExists?: boolean): string;
2
3
  export declare function setConfigDirectoryPath(newPath: string): void;
4
+ export declare function writePromptfooConfig(config: Partial<UnifiedConfig>, outputPath: string): void;
3
5
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/util/config.ts"],"names":[],"mappings":"AAMA,wBAAgB,sBAAsB,CAAC,iBAAiB,GAAE,OAAe,GAAG,MAAM,CAMjF;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE5D"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/util/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAK9C,wBAAgB,sBAAsB,CAAC,iBAAiB,GAAE,OAAe,GAAG,MAAM,CAMjF;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE5D;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,MAAM,QAWtF"}
@@ -22,12 +22,18 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
25
28
  Object.defineProperty(exports, "__esModule", { value: true });
26
29
  exports.getConfigDirectoryPath = getConfigDirectoryPath;
27
30
  exports.setConfigDirectoryPath = setConfigDirectoryPath;
31
+ exports.writePromptfooConfig = writePromptfooConfig;
28
32
  const fs = __importStar(require("fs"));
33
+ const js_yaml_1 = __importDefault(require("js-yaml"));
29
34
  const os = __importStar(require("os"));
30
35
  const path = __importStar(require("path"));
36
+ const json_1 = require("./json");
31
37
  let configDirectoryPath = process.env.PROMPTFOO_CONFIG_DIR;
32
38
  function getConfigDirectoryPath(createIfNotExists = false) {
33
39
  const p = configDirectoryPath || path.join(os.homedir(), '.promptfoo');
@@ -39,4 +45,16 @@ function getConfigDirectoryPath(createIfNotExists = false) {
39
45
  function setConfigDirectoryPath(newPath) {
40
46
  configDirectoryPath = newPath;
41
47
  }
48
+ function writePromptfooConfig(config, outputPath) {
49
+ const orderedConfig = (0, json_1.orderKeys)(config, [
50
+ 'description',
51
+ 'prompts',
52
+ 'providers',
53
+ 'redteam',
54
+ 'defaultTest',
55
+ 'tests',
56
+ 'scenarios',
57
+ ]);
58
+ fs.writeFileSync(outputPath, js_yaml_1.default.dump(orderedConfig, { skipInvalid: true }));
59
+ }
42
60
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/util/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAMA,wDAMC;AAED,wDAEC;AAhBD,uCAAyB;AACzB,uCAAyB;AACzB,2CAA6B;AAE7B,IAAI,mBAAmB,GAAuB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;AAE/E,SAAgB,sBAAsB,CAAC,oBAA6B,KAAK;IACvE,MAAM,CAAC,GAAG,mBAAmB,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;IACvE,IAAI,iBAAiB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAgB,sBAAsB,CAAC,OAAe;IACpD,mBAAmB,GAAG,OAAO,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/util/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,wDAMC;AAED,wDAEC;AAED,oDAWC;AAhCD,uCAAyB;AACzB,sDAA2B;AAC3B,uCAAyB;AACzB,2CAA6B;AAE7B,iCAAmC;AAEnC,IAAI,mBAAmB,GAAuB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;AAE/E,SAAgB,sBAAsB,CAAC,oBAA6B,KAAK;IACvE,MAAM,CAAC,GAAG,mBAAmB,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;IACvE,IAAI,iBAAiB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAgB,sBAAsB,CAAC,OAAe;IACpD,mBAAmB,GAAG,OAAO,CAAC;AAChC,CAAC;AAED,SAAgB,oBAAoB,CAAC,MAA8B,EAAE,UAAkB;IACrF,MAAM,aAAa,GAAG,IAAA,gBAAS,EAAC,MAAM,EAAE;QACtC,aAAa;QACb,SAAS;QACT,WAAW;QACX,SAAS;QACT,aAAa;QACb,OAAO;QACP,WAAW;KACZ,CAAC,CAAC;IACH,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,iBAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAChF,CAAC"}
@@ -55,45 +55,22 @@ export declare function getTestCases(limit?: number): Promise<{
55
55
  id: string;
56
56
  prompt: {
57
57
  provider: string;
58
- label: string;
59
58
  raw: string;
59
+ label: string;
60
60
  function?: ((args_0: {
61
61
  vars: Record<string, any>;
62
- provider?: {
63
- id: (...args: unknown[]) => string;
64
- callApi: {
65
- (prompt: string, context?: import("../types").CallApiContextParams, options?: import("../types").CallApiOptionsParams): Promise<import("../types").ProviderResponse>;
66
- label?: string;
67
- };
68
- delay?: number | undefined;
69
- label?: string | undefined;
70
- transform?: string | undefined;
71
- callEmbeddingApi?: ((args_0: string, ...args_1: unknown[]) => Promise<{
72
- error?: string | undefined;
73
- embedding?: number[] | undefined;
74
- tokenUsage?: {
75
- cached?: number | undefined;
76
- completion?: number | undefined;
77
- prompt?: number | undefined;
78
- total?: number | undefined;
79
- } | undefined;
80
- }>) | undefined;
81
- callClassificationApi?: ((args_0: string, ...args_1: unknown[]) => Promise<{
82
- error?: string | undefined;
83
- classification?: Record<string, number> | undefined;
84
- }>) | undefined;
85
- } | undefined;
62
+ provider?: import("../types").ApiProvider | undefined;
86
63
  }, ...args_1: unknown[]) => Promise<any>) | undefined;
87
64
  id?: string | undefined;
88
65
  display?: string | undefined;
89
66
  metrics?: {
67
+ cost: number;
90
68
  tokenUsage: {
91
69
  cached?: number | undefined;
92
70
  completion?: number | undefined;
93
71
  prompt?: number | undefined;
94
72
  total?: number | undefined;
95
73
  };
96
- cost: number;
97
74
  score: number;
98
75
  testPassCount: number;
99
76
  testFailCount: number;
@@ -130,13 +107,14 @@ export declare function getTestCases(limit?: number): Promise<{
130
107
  disableVarExpansion?: boolean | undefined;
131
108
  disableConversationVar?: boolean | undefined;
132
109
  }) | undefined;
110
+ vars?: Record<string, string | any[] | string[] | {}> | undefined;
133
111
  provider?: string | {
134
112
  id?: string | undefined;
113
+ label?: string | undefined;
135
114
  config?: any;
136
115
  prompts?: string[] | undefined;
137
- delay?: number | undefined;
138
- label?: string | undefined;
139
116
  transform?: string | undefined;
117
+ delay?: number | undefined;
140
118
  env?: {
141
119
  ANTHROPIC_API_KEY?: string | undefined;
142
120
  BAM_API_KEY?: string | undefined;
@@ -171,30 +149,14 @@ export declare function getTestCases(limit?: number): Promise<{
171
149
  CLOUDFLARE_ACCOUNT_ID?: string | undefined;
172
150
  } | undefined;
173
151
  } | {
152
+ callApi: import("../types").CallApiFunction;
174
153
  id: (...args: unknown[]) => string;
175
- callApi: {
176
- (prompt: string, context?: import("../types").CallApiContextParams, options?: import("../types").CallApiOptionsParams): Promise<import("../types").ProviderResponse>;
177
- label?: string;
178
- };
179
- delay?: number | undefined;
180
154
  label?: string | undefined;
181
155
  transform?: string | undefined;
182
- callEmbeddingApi?: ((args_0: string, ...args_1: unknown[]) => Promise<{
183
- error?: string | undefined;
184
- embedding?: number[] | undefined;
185
- tokenUsage?: {
186
- cached?: number | undefined;
187
- completion?: number | undefined;
188
- prompt?: number | undefined;
189
- total?: number | undefined;
190
- } | undefined;
191
- }>) | undefined;
192
- callClassificationApi?: ((args_0: string, ...args_1: unknown[]) => Promise<{
193
- error?: string | undefined;
194
- classification?: Record<string, number> | undefined;
195
- }>) | undefined;
156
+ delay?: number | undefined;
157
+ callEmbeddingApi?: ((args_0: string, ...args_1: unknown[]) => Promise<import("../types").ProviderEmbeddingResponse>) | undefined;
158
+ callClassificationApi?: ((args_0: string, ...args_1: unknown[]) => Promise<import("../types").ProviderClassificationResponse>) | undefined;
196
159
  } | undefined;
197
- vars?: Record<string, string | any[] | string[] | {}> | undefined;
198
160
  metadata?: Record<string, any> | undefined;
199
161
  description?: string | undefined;
200
162
  providerOutput?: string | {} | undefined;
@@ -242,45 +204,22 @@ export declare function getDatasetFromHash(hash: string): Promise<{
242
204
  id: string;
243
205
  prompt: {
244
206
  provider: string;
245
- label: string;
246
207
  raw: string;
208
+ label: string;
247
209
  function?: ((args_0: {
248
210
  vars: Record<string, any>;
249
- provider?: {
250
- id: (...args: unknown[]) => string;
251
- callApi: {
252
- (prompt: string, context?: import("../types").CallApiContextParams, options?: import("../types").CallApiOptionsParams): Promise<import("../types").ProviderResponse>;
253
- label?: string;
254
- };
255
- delay?: number | undefined;
256
- label?: string | undefined;
257
- transform?: string | undefined;
258
- callEmbeddingApi?: ((args_0: string, ...args_1: unknown[]) => Promise<{
259
- error?: string | undefined;
260
- embedding?: number[] | undefined;
261
- tokenUsage?: {
262
- cached?: number | undefined;
263
- completion?: number | undefined;
264
- prompt?: number | undefined;
265
- total?: number | undefined;
266
- } | undefined;
267
- }>) | undefined;
268
- callClassificationApi?: ((args_0: string, ...args_1: unknown[]) => Promise<{
269
- error?: string | undefined;
270
- classification?: Record<string, number> | undefined;
271
- }>) | undefined;
272
- } | undefined;
211
+ provider?: import("../types").ApiProvider | undefined;
273
212
  }, ...args_1: unknown[]) => Promise<any>) | undefined;
274
213
  id?: string | undefined;
275
214
  display?: string | undefined;
276
215
  metrics?: {
216
+ cost: number;
277
217
  tokenUsage: {
278
218
  cached?: number | undefined;
279
219
  completion?: number | undefined;
280
220
  prompt?: number | undefined;
281
221
  total?: number | undefined;
282
222
  };
283
- cost: number;
284
223
  score: number;
285
224
  testPassCount: number;
286
225
  testFailCount: number;
@@ -317,13 +256,14 @@ export declare function getDatasetFromHash(hash: string): Promise<{
317
256
  disableVarExpansion?: boolean | undefined;
318
257
  disableConversationVar?: boolean | undefined;
319
258
  }) | undefined;
259
+ vars?: Record<string, string | any[] | string[] | {}> | undefined;
320
260
  provider?: string | {
321
261
  id?: string | undefined;
262
+ label?: string | undefined;
322
263
  config?: any;
323
264
  prompts?: string[] | undefined;
324
- delay?: number | undefined;
325
- label?: string | undefined;
326
265
  transform?: string | undefined;
266
+ delay?: number | undefined;
327
267
  env?: {
328
268
  ANTHROPIC_API_KEY?: string | undefined;
329
269
  BAM_API_KEY?: string | undefined;
@@ -358,30 +298,14 @@ export declare function getDatasetFromHash(hash: string): Promise<{
358
298
  CLOUDFLARE_ACCOUNT_ID?: string | undefined;
359
299
  } | undefined;
360
300
  } | {
301
+ callApi: import("../types").CallApiFunction;
361
302
  id: (...args: unknown[]) => string;
362
- callApi: {
363
- (prompt: string, context?: import("../types").CallApiContextParams, options?: import("../types").CallApiOptionsParams): Promise<import("../types").ProviderResponse>;
364
- label?: string;
365
- };
366
- delay?: number | undefined;
367
303
  label?: string | undefined;
368
304
  transform?: string | undefined;
369
- callEmbeddingApi?: ((args_0: string, ...args_1: unknown[]) => Promise<{
370
- error?: string | undefined;
371
- embedding?: number[] | undefined;
372
- tokenUsage?: {
373
- cached?: number | undefined;
374
- completion?: number | undefined;
375
- prompt?: number | undefined;
376
- total?: number | undefined;
377
- } | undefined;
378
- }>) | undefined;
379
- callClassificationApi?: ((args_0: string, ...args_1: unknown[]) => Promise<{
380
- error?: string | undefined;
381
- classification?: Record<string, number> | undefined;
382
- }>) | undefined;
305
+ delay?: number | undefined;
306
+ callEmbeddingApi?: ((args_0: string, ...args_1: unknown[]) => Promise<import("../types").ProviderEmbeddingResponse>) | undefined;
307
+ callClassificationApi?: ((args_0: string, ...args_1: unknown[]) => Promise<import("../types").ProviderClassificationResponse>) | undefined;
383
308
  } | undefined;
384
- vars?: Record<string, string | any[] | string[] | {}> | undefined;
385
309
  metadata?: Record<string, any> | undefined;
386
310
  description?: string | undefined;
387
311
  providerOutput?: string | {} | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,aAAa,EAElB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,qBAAqB,EAE1B,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,eAAe,EAEpB,KAAK,iBAAiB,EAIvB,MAAM,UAAU,CAAC;AAMlB,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,EAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,iBAqF5B;AAED,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,EAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,iBAK5B;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,UAEjC;AAED,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CASxE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,EAC9B,SAAS,CAAC,EAAE,IAAI,GACf,OAAO,CAAC,MAAM,CAAC,CA4FjB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,GAAE,MAA4B,EACnC,iBAAiB,CAAC,EAAE,MAAM,EAC1B,SAAS,CAAC,EAAE,MAAM,GACjB,iBAAiB,EAAE,CA4BrB;AAED;;GAEG;AACH,wBAAgB,sCAAsC,IAAI,MAAM,EAAE,CAYjE;AAID;;GAEG;AACH,wBAAgB,8BAA8B,IAAI;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,CAqB7F;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,QAqB9C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,UAExC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,GACX;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,IAAI,CAAA;CAAE,GAAG,SAAS,CAgBlE;AAID,wBAAsB,sCAAsC,kBA0D3D;AAKD,wBAAgB,qBAAqB,CAAC,SAAS,SAAwB,QAKtE;AAED,wBAAsB,UAAU,CAC9B,EAAE,EAAE,MAAM,GACT,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,IAAI,CAAA;CAAE,GAAG,SAAS,CAAC,CAsC3E;AAED,wBAAsB,YAAY,CAChC,EAAE,EAAE,MAAM,EACV,SAAS,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,EAClC,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,IAAI,CAAC,CAyCf;AAED,wBAAsB,iBAAiB,CACrC,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAgClC;AAED,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,EAC3C,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAkE/B;AAED,wBAAgB,0BAA0B,CACxC,eAAe,EAAE,MAAM,EACvB,KAAK,GAAE,MAA4B,iCAOpC;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,QAAQ,EAAE,iCAI3D;AAED,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,EAC3C,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAuElC;AAED,wBAAgB,UAAU,CAAC,KAAK,GAAE,MAA4B,iCAE7D;AAED,wBAAsB,YAAY,CAAC,KAAK,GAAE,MAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAErE;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,2CAQnD;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAQpD;AAED,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,EAC3C,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAwC7B;AAED,wBAAsB,QAAQ,CAAC,KAAK,GAAE,MAA4B,+BAEjE;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,yCAQ/C;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,iBAa9C;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,QAAQ,GAAE,MAAW,GACpB,OAAO,CAAC,iBAAiB,CAAC,CAa5B;AAED,wBAAgB,WAAW,SAG1B;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,QAOnD;AAED,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,KAAK,GAAE,MAA4B,GAAG,cAAc,EAAE,CA+BxF;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,SAAS,CAQvF;AAED,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,SAAS,EAC7D,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,SAAS,WAG9D;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAMvF;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAsBvF;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CA4BxD;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB;IACD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAuCA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":"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"}