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
@@ -29,13 +29,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const child_process_1 = require("child_process");
30
30
  const crypto_1 = __importDefault(require("crypto"));
31
31
  const fs_1 = __importDefault(require("fs"));
32
- const cacheModule = __importStar(require("../src/cache"));
33
- const scriptCompletion_1 = require("../src/providers/scriptCompletion");
32
+ const cacheModule = __importStar(require("../../src/cache"));
33
+ const scriptCompletion_1 = require("../../src/providers/scriptCompletion");
34
34
  jest.mock('fs');
35
35
  jest.mock('crypto');
36
36
  jest.mock('child_process');
37
- jest.mock('../src/cache');
38
- jest.mock('../src/logger');
37
+ jest.mock('../../src/cache');
38
+ jest.mock('../../src/logger');
39
39
  describe('parseScriptParts', () => {
40
40
  it('should parse script parts correctly', () => {
41
41
  const scriptPath = `node script.js "arg with 'spaces'" 'another arg' simple_arg`;
@@ -187,4 +187,4 @@ describe('ScriptCompletionProvider', () => {
187
187
  expect(result.output).toBe(strippedOutput);
188
188
  });
189
189
  });
190
- //# sourceMappingURL=providers.scriptCompletion.test.js.map
190
+ //# sourceMappingURL=scriptCompletion.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scriptCompletion.test.js","sourceRoot":"","sources":["../../../test/providers/scriptCompletion.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=shared.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.test.d.ts","sourceRoot":"","sources":["../../../test/providers/shared.test.ts"],"names":[],"mappings":""}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const envars_1 = require("../src/envars");
4
- const shared_1 = require("../src/providers/shared");
5
- jest.mock('../src/envars');
3
+ const envars_1 = require("../../src/envars");
4
+ const shared_1 = require("../../src/providers/shared");
5
+ jest.mock('../../src/envars');
6
6
  describe('Shared Provider Functions', () => {
7
7
  describe('parseChatPrompt', () => {
8
8
  it('should parse YAML prompt', () => {
@@ -89,4 +89,4 @@ describe('Shared Provider Functions', () => {
89
89
  });
90
90
  });
91
91
  });
92
- //# sourceMappingURL=providers.shared.test.js.map
92
+ //# sourceMappingURL=shared.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.test.js","sourceRoot":"","sources":["../../../test/providers/shared.test.ts"],"names":[],"mappings":";;AAAA,6CAA8C;AAC9C,uDAAyF;AAEzF,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAE9B,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;YAClC,MAAM,UAAU,GAAG;;;;;OAKlB,CAAC;YACF,MAAM,MAAM,GAAG,IAAA,wBAAe,EAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;gBAClC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE;aAC5C,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;YAClC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;gBAChC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;gBAClC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE;aAC5C,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,wBAAe,EAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;gBAClC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE;aAC5C,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACnE,MAAM,YAAY,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,IAAA,wBAAe,EAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC;YACtE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,WAAW,GAAG,8BAA8B,CAAC;YACnD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,wBAAe,EAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CACpD,mDAAmD,CACpD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;YACzF,IAAI,CAAC,MAAM,CAAC,mBAAU,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,WAAW,GAAG,sCAAsC,CAAC,CAAC,yBAAyB;YACrF,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,wBAAe,EAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CACpD,mDAAmD,CACpD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;YAC5E,IAAI,CAAC,MAAM,CAAC,mBAAU,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,sBAAsB,CAAC;YAC3C,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,wBAAe,EAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CACpD,mDAAmD,CACpD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,CAAC,IAAA,oBAAW,EAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACvD,MAAM,CAAC,IAAA,oBAAW,EAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACjE,MAAM,CAAC,IAAA,oBAAW,EAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,CAAC,IAAA,oBAAW,EAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACnC,MAAM,CAAC,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,MAAM,MAAM,GAAG;YACb,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;YACvD,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;SACxD,CAAC;QAEF,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,IAAI,GAAG,IAAA,sBAAa,EAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;YAC5D,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,iCAAiC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,IAAI,GAAG,IAAA,sBAAa,EAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;YACzE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,iCAAiC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,IAAI,GAAG,IAAA,sBAAa,EAAC,aAAa,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;YACjE,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,MAAM,CAAC,IAAA,sBAAa,EAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;YAC7E,MAAM,CAAC,IAAA,sBAAa,EAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QAC9E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,CAAC,IAAA,sBAAa,EAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;YAC5E,MAAM,CAAC,IAAA,sBAAa,EAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QAC/E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=togetherai.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"togetherai.test.d.ts","sourceRoot":"","sources":["../../../test/providers/togetherai.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const openai_1 = require("../../src/providers/openai");
4
+ const togetherai_1 = require("../../src/providers/togetherai");
5
+ jest.mock('../../src/providers/openai');
6
+ describe('createTogetherAiProvider', () => {
7
+ beforeEach(() => {
8
+ jest.clearAllMocks();
9
+ });
10
+ it('should create a chat completion provider when type is chat', () => {
11
+ const provider = (0, togetherai_1.createTogetherAiProvider)('togetherai:chat:model-name');
12
+ expect(provider).toBeInstanceOf(openai_1.OpenAiChatCompletionProvider);
13
+ expect(openai_1.OpenAiChatCompletionProvider).toHaveBeenCalledWith('model-name', expect.any(Object));
14
+ });
15
+ it('should create a completion provider when type is completion', () => {
16
+ const provider = (0, togetherai_1.createTogetherAiProvider)('togetherai:completion:model-name');
17
+ expect(provider).toBeInstanceOf(openai_1.OpenAiCompletionProvider);
18
+ expect(openai_1.OpenAiCompletionProvider).toHaveBeenCalledWith('model-name', expect.any(Object));
19
+ });
20
+ it('should create an embedding provider when type is embedding', () => {
21
+ const provider = (0, togetherai_1.createTogetherAiProvider)('togetherai:embedding:model-name');
22
+ expect(provider).toBeInstanceOf(openai_1.OpenAiEmbeddingProvider);
23
+ expect(openai_1.OpenAiEmbeddingProvider).toHaveBeenCalledWith('model-name', expect.any(Object));
24
+ });
25
+ it('should create an embedding provider when type is embeddings', () => {
26
+ const provider = (0, togetherai_1.createTogetherAiProvider)('togetherai:embeddings:model-name');
27
+ expect(provider).toBeInstanceOf(openai_1.OpenAiEmbeddingProvider);
28
+ expect(openai_1.OpenAiEmbeddingProvider).toHaveBeenCalledWith('model-name', expect.any(Object));
29
+ });
30
+ it('should default to chat completion provider when no type is specified', () => {
31
+ const provider = (0, togetherai_1.createTogetherAiProvider)('togetherai:model-name');
32
+ expect(provider).toBeInstanceOf(openai_1.OpenAiChatCompletionProvider);
33
+ expect(openai_1.OpenAiChatCompletionProvider).toHaveBeenCalledWith('model-name', expect.any(Object));
34
+ });
35
+ it('should pass correct configuration to the provider', () => {
36
+ const options = {
37
+ id: 'custom-id',
38
+ };
39
+ (0, togetherai_1.createTogetherAiProvider)('togetherai:chat:model-name', options);
40
+ expect(openai_1.OpenAiChatCompletionProvider).toHaveBeenCalledWith('model-name', expect.objectContaining({
41
+ config: {
42
+ apiBaseUrl: 'https://api.together.xyz/v1',
43
+ apiKeyEnvar: 'TOGETHER_API_KEY',
44
+ },
45
+ id: 'custom-id',
46
+ }));
47
+ });
48
+ it('should handle model names with colons', () => {
49
+ (0, togetherai_1.createTogetherAiProvider)('togetherai:chat:org:model:name');
50
+ expect(openai_1.OpenAiChatCompletionProvider).toHaveBeenCalledWith('org:model:name', expect.any(Object));
51
+ });
52
+ });
53
+ //# sourceMappingURL=togetherai.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"togetherai.test.js","sourceRoot":"","sources":["../../../test/providers/togetherai.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=vertex.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vertex.test.d.ts","sourceRoot":"","sources":["../../../test/providers/vertex.test.ts"],"names":[],"mappings":""}
@@ -22,22 +22,26 @@ 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
- const cache_1 = require("../src/cache");
27
- const vertex_1 = require("../src/providers/vertex");
28
- const vertexUtil = __importStar(require("../src/providers/vertexUtil"));
29
- jest.mock('../src/cache', () => ({
29
+ const cache_1 = require("../../src/cache");
30
+ const logger_1 = __importDefault(require("../../src/logger"));
31
+ const vertex_1 = require("../../src/providers/vertex");
32
+ const vertexUtil = __importStar(require("../../src/providers/vertexUtil"));
33
+ jest.mock('../../src/cache', () => ({
30
34
  getCache: jest.fn().mockReturnValue({
31
35
  get: jest.fn(),
32
36
  set: jest.fn(),
33
37
  }),
34
38
  isCacheEnabled: jest.fn(),
35
39
  }));
36
- jest.mock('../src/providers/vertexUtil', () => ({
37
- ...jest.requireActual('../src/providers/vertexUtil'),
40
+ jest.mock('../../src/providers/vertexUtil', () => ({
41
+ ...jest.requireActual('../../src/providers/vertexUtil'),
38
42
  getGoogleClient: jest.fn(),
39
43
  }));
40
- jest.mock('../src/logger');
44
+ jest.mock('../../src/logger');
41
45
  describe('VertexChatProvider.callGeminiApi', () => {
42
46
  let provider;
43
47
  beforeEach(() => {
@@ -78,9 +82,10 @@ describe('VertexChatProvider.callGeminiApi', () => {
78
82
  },
79
83
  ],
80
84
  };
85
+ const mockRequest = jest.fn().mockResolvedValue(mockResponse);
81
86
  jest.spyOn(vertexUtil, 'getGoogleClient').mockResolvedValue({
82
87
  client: {
83
- request: jest.fn().mockResolvedValue(mockResponse),
88
+ request: mockRequest,
84
89
  },
85
90
  projectId: 'test-project-id',
86
91
  });
@@ -94,6 +99,15 @@ describe('VertexChatProvider.callGeminiApi', () => {
94
99
  completion: 5,
95
100
  },
96
101
  });
102
+ expect(vertexUtil.getGoogleClient).toHaveBeenCalledWith();
103
+ expect(mockRequest).toHaveBeenCalledWith({
104
+ url: expect.any(String),
105
+ method: 'POST',
106
+ data: expect.objectContaining({
107
+ contents: [{ parts: { text: 'test prompt' }, role: 'user' }],
108
+ }),
109
+ timeout: expect.any(Number),
110
+ });
97
111
  });
98
112
  it('should return cached response if available', async () => {
99
113
  const mockCachedResponse = {
@@ -151,4 +165,91 @@ describe('VertexChatProvider.callGeminiApi', () => {
151
165
  });
152
166
  });
153
167
  });
154
- //# sourceMappingURL=providers.vertex.test.js.map
168
+ describe('maybeCoerceToGeminiFormat', () => {
169
+ it('should return unmodified content if it matches GeminiFormat', () => {
170
+ const input = [
171
+ {
172
+ role: 'user',
173
+ parts: [{ text: 'Hello, Gemini!' }],
174
+ },
175
+ ];
176
+ const result = vertexUtil.maybeCoerceToGeminiFormat(input);
177
+ expect(result).toEqual({
178
+ contents: input,
179
+ coerced: false,
180
+ systemInstruction: undefined,
181
+ });
182
+ });
183
+ it('should coerce OpenAI chat format to GeminiFormat', () => {
184
+ const input = [
185
+ { role: 'user', content: 'Hello' },
186
+ { role: 'user', content: ', ' },
187
+ { role: 'user', content: 'Gemini!' },
188
+ ];
189
+ const expected = [
190
+ {
191
+ role: 'user',
192
+ parts: [{ text: 'Hello' }],
193
+ },
194
+ {
195
+ role: 'user',
196
+ parts: [{ text: ', ' }],
197
+ },
198
+ {
199
+ role: 'user',
200
+ parts: [{ text: 'Gemini!' }],
201
+ },
202
+ ];
203
+ const result = vertexUtil.maybeCoerceToGeminiFormat(input);
204
+ expect(result).toEqual({
205
+ contents: expected,
206
+ coerced: true,
207
+ systemInstruction: undefined,
208
+ });
209
+ });
210
+ it('should coerce string input to GeminiFormat', () => {
211
+ const input = 'Hello, Gemini!';
212
+ const expected = [
213
+ {
214
+ parts: [{ text: 'Hello, Gemini!' }],
215
+ },
216
+ ];
217
+ const result = vertexUtil.maybeCoerceToGeminiFormat(input);
218
+ expect(result).toEqual({
219
+ contents: expected,
220
+ coerced: true,
221
+ systemInstruction: undefined,
222
+ });
223
+ });
224
+ it('should handle system messages and create systemInstruction', () => {
225
+ const input = [
226
+ { role: 'system', content: 'You are a helpful assistant.' },
227
+ { role: 'user', content: 'Hello!' },
228
+ ];
229
+ const result = vertexUtil.maybeCoerceToGeminiFormat(input);
230
+ expect(result).toEqual({
231
+ contents: [
232
+ {
233
+ role: 'user',
234
+ parts: [{ text: 'Hello!' }],
235
+ },
236
+ ],
237
+ coerced: true,
238
+ systemInstruction: {
239
+ parts: [{ text: 'You are a helpful assistant.' }],
240
+ },
241
+ });
242
+ });
243
+ it('should log a warning and return the input for unknown formats', () => {
244
+ const loggerSpy = jest.spyOn(logger_1.default, 'warn');
245
+ const input = { unknownFormat: 'test' };
246
+ const result = vertexUtil.maybeCoerceToGeminiFormat(input);
247
+ expect(result).toEqual({
248
+ contents: input,
249
+ coerced: false,
250
+ systemInstruction: undefined,
251
+ });
252
+ expect(loggerSpy).toHaveBeenCalledWith(`Unknown format for Gemini: ${JSON.stringify(input)}`);
253
+ });
254
+ });
255
+ //# sourceMappingURL=vertex.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vertex.test.js","sourceRoot":"","sources":["../../../test/providers/vertex.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=watsonx.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watsonx.test.d.ts","sourceRoot":"","sources":["../../../test/providers/watsonx.test.ts"],"names":[],"mappings":""}
@@ -28,10 +28,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const watsonx_ai_1 = require("@ibm-cloud/watsonx-ai");
30
30
  const ibm_cloud_sdk_core_1 = require("ibm-cloud-sdk-core");
31
- const cache_1 = require("../src/cache");
32
- const envarsModule = __importStar(require("../src/envars"));
33
- const logger_1 = __importDefault(require("../src/logger"));
34
- const watsonx_1 = require("../src/providers/watsonx");
31
+ const cache_1 = require("../../src/cache");
32
+ const envarsModule = __importStar(require("../../src/envars"));
33
+ const logger_1 = __importDefault(require("../../src/logger"));
34
+ const watsonx_1 = require("../../src/providers/watsonx");
35
35
  jest.mock('@ibm-cloud/watsonx-ai', () => ({
36
36
  WatsonXAI: {
37
37
  newInstance: jest.fn(),
@@ -41,16 +41,16 @@ jest.mock('ibm-cloud-sdk-core', () => ({
41
41
  IamAuthenticator: jest.fn(),
42
42
  BearerTokenAuthenticator: jest.fn(),
43
43
  }));
44
- jest.mock('../src/cache', () => ({
44
+ jest.mock('../../src/cache', () => ({
45
45
  getCache: jest.fn(),
46
46
  isCacheEnabled: jest.fn(),
47
47
  }));
48
- jest.mock('../src/logger', () => ({
48
+ jest.mock('../../src/logger', () => ({
49
49
  debug: jest.fn(),
50
50
  error: jest.fn(),
51
51
  info: jest.fn(),
52
52
  }));
53
- jest.mock('../src/envars', () => ({
53
+ jest.mock('../../src/envars', () => ({
54
54
  getEnvString: jest.fn(),
55
55
  getEnvInt: jest.fn(),
56
56
  }));
@@ -67,7 +67,7 @@ describe('WatsonXProvider', () => {
67
67
  jest.clearAllMocks();
68
68
  });
69
69
  describe('constructor', () => {
70
- it('should initialize with modelName and config', () => {
70
+ it('should initialize with modelName and config', async () => {
71
71
  const mockedWatsonXAIClient = {
72
72
  generateText: jest.fn(),
73
73
  };
@@ -75,6 +75,8 @@ describe('WatsonXProvider', () => {
75
75
  const provider = new watsonx_1.WatsonXProvider(modelName, { config });
76
76
  expect(provider.modelName).toBe(modelName);
77
77
  expect(provider.options.config).toEqual(config);
78
+ // Get client to trigger authentication
79
+ await provider.getClient();
78
80
  expect(logger_1.default.info).toHaveBeenCalledWith('Using IAM Authentication.');
79
81
  });
80
82
  it('should initialize with default id based on modelName', () => {
@@ -107,13 +109,13 @@ describe('WatsonXProvider', () => {
107
109
  });
108
110
  });
109
111
  describe('getClient', () => {
110
- it('should initialize WatsonXAI client with correct parameters', () => {
112
+ it('should initialize WatsonXAI client with correct parameters', async () => {
111
113
  const mockedWatsonXAIClient = {
112
114
  generateText: jest.fn(),
113
115
  };
114
116
  jest.mocked(watsonx_ai_1.WatsonXAI.newInstance).mockReturnValue(mockedWatsonXAIClient);
115
117
  const provider = new watsonx_1.WatsonXProvider(modelName, { config });
116
- const client = provider.getClient();
118
+ const client = await provider.getClient();
117
119
  expect(watsonx_ai_1.WatsonXAI.newInstance).toHaveBeenCalledWith({
118
120
  version: '2023-05-29',
119
121
  serviceUrl: 'https://us-south.ml.cloud.ibm.com',
@@ -122,17 +124,16 @@ describe('WatsonXProvider', () => {
122
124
  expect(ibm_cloud_sdk_core_1.IamAuthenticator).toHaveBeenCalledWith({ apikey: 'test-api-key' });
123
125
  expect(client).toBe(mockedWatsonXAIClient);
124
126
  });
125
- it('should throw an error if neither API key nor Bearer Token is set', () => {
127
+ it('should throw an error if neither API key nor Bearer Token is set', async () => {
126
128
  jest.spyOn(envarsModule, 'getEnvString').mockReturnValue(undefined);
127
- expect(() => {
128
- new watsonx_1.WatsonXProvider(modelName, {
129
- config: { ...config, apiKey: undefined, apiBearerToken: undefined },
130
- });
131
- }).toThrow(/Authentication credentials not provided\. Please set either `WATSONX_AI_APIKEY` for IAM Authentication or `WATSONX_AI_BEARER_TOKEN` for Bearer Token Authentication\./);
129
+ const provider = new watsonx_1.WatsonXProvider(modelName, {
130
+ config: { ...config, apiKey: undefined, apiBearerToken: undefined },
131
+ });
132
+ await expect(provider.getClient()).rejects.toThrow(/Authentication credentials not provided\. Please set either `WATSONX_AI_APIKEY` for IAM Authentication or `WATSONX_AI_BEARER_TOKEN` for Bearer Token Authentication\./);
132
133
  });
133
134
  });
134
135
  describe('constructor with Bearer Token', () => {
135
- it('should use Bearer Token Authentication when apiKey is not provided', () => {
136
+ it('should use Bearer Token Authentication when apiKey is not provided', async () => {
136
137
  const bearerTokenConfig = {
137
138
  ...config,
138
139
  apiKey: undefined,
@@ -143,28 +144,28 @@ describe('WatsonXProvider', () => {
143
144
  };
144
145
  jest.mocked(watsonx_ai_1.WatsonXAI.newInstance).mockReturnValue(mockedWatsonXAIClient);
145
146
  const provider = new watsonx_1.WatsonXProvider(modelName, { config: bearerTokenConfig });
147
+ await provider.getClient();
146
148
  expect(logger_1.default.info).toHaveBeenCalledWith('Using Bearer Token Authentication.');
147
149
  expect(watsonx_ai_1.WatsonXAI.newInstance).toHaveBeenCalledWith({
148
150
  version: '2023-05-29',
149
151
  serviceUrl: 'https://us-south.ml.cloud.ibm.com',
150
152
  authenticator: expect.any(ibm_cloud_sdk_core_1.BearerTokenAuthenticator),
151
153
  });
152
- expect(provider.getClient()).toBe(mockedWatsonXAIClient);
153
154
  });
154
- it('should prefer API Key Authentication over Bearer Token Authentication when both are provided', () => {
155
+ it('should prefer API Key Authentication over Bearer Token Authentication when both are provided', async () => {
155
156
  const dualAuthConfig = { ...config, apiBearerToken: 'test-bearer-token' };
156
157
  const mockedWatsonXAIClient = {
157
158
  generateText: jest.fn(),
158
159
  };
159
160
  jest.mocked(watsonx_ai_1.WatsonXAI.newInstance).mockReturnValue(mockedWatsonXAIClient);
160
161
  const provider = new watsonx_1.WatsonXProvider(modelName, { config: dualAuthConfig });
162
+ await provider.getClient();
161
163
  expect(logger_1.default.info).toHaveBeenCalledWith('Using IAM Authentication.');
162
164
  expect(watsonx_ai_1.WatsonXAI.newInstance).toHaveBeenCalledWith({
163
165
  version: '2023-05-29',
164
166
  serviceUrl: 'https://us-south.ml.cloud.ibm.com',
165
167
  authenticator: expect.any(ibm_cloud_sdk_core_1.IamAuthenticator),
166
168
  });
167
- expect(provider.getClient()).toBe(mockedWatsonXAIClient);
168
169
  });
169
170
  });
170
171
  describe('callApi', () => {
@@ -246,7 +247,7 @@ describe('WatsonXProvider', () => {
246
247
  jest.mocked(cache_1.getCache).mockReturnValue(cache);
247
248
  jest.mocked(cache_1.isCacheEnabled).mockReturnValue(true);
248
249
  const provider = new watsonx_1.WatsonXProvider(modelName, { config });
249
- const generateTextSpy = jest.spyOn(provider.getClient(), 'generateText');
250
+ const generateTextSpy = jest.spyOn(await provider.getClient(), 'generateText');
250
251
  const response = await provider.callApi(prompt);
251
252
  expect(cache.get).toHaveBeenCalledWith(cacheKey);
252
253
  expect(response).toEqual(cachedResponse);
@@ -278,4 +279,4 @@ describe('WatsonXProvider', () => {
278
279
  });
279
280
  });
280
281
  });
281
- //# sourceMappingURL=providers.watsonx.test.js.map
282
+ //# sourceMappingURL=watsonx.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watsonx.test.js","sourceRoot":"","sources":["../../../test/providers/watsonx.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=xai.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xai.test.d.ts","sourceRoot":"","sources":["../../../test/providers/xai.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const openai_1 = require("../../src/providers/openai");
4
+ const xai_1 = require("../../src/providers/xai");
5
+ jest.mock('../../src/providers/openai');
6
+ describe('xAI Provider', () => {
7
+ beforeEach(() => {
8
+ jest.clearAllMocks();
9
+ });
10
+ it('throws an error if no model name is provided', () => {
11
+ expect(() => (0, xai_1.createXAIProvider)('xai:')).toThrow('Model name is required');
12
+ });
13
+ it('creates an xAI provider with specified model', () => {
14
+ const provider = (0, xai_1.createXAIProvider)('xai:grok-2');
15
+ expect(provider).toBeInstanceOf(openai_1.OpenAiChatCompletionProvider);
16
+ expect(openai_1.OpenAiChatCompletionProvider).toHaveBeenCalledWith('grok-2', expect.any(Object));
17
+ });
18
+ it('sets the correct API base URL and API key environment variable', () => {
19
+ (0, xai_1.createXAIProvider)('xai:grok-2');
20
+ expect(openai_1.OpenAiChatCompletionProvider).toHaveBeenCalledWith(expect.any(String), expect.objectContaining({
21
+ config: expect.objectContaining({
22
+ apiBaseUrl: 'https://api.x.ai/v1',
23
+ apiKeyEnvar: 'XAI_API_KEY',
24
+ }),
25
+ }));
26
+ });
27
+ it('merges provided options with xAI-specific config', () => {
28
+ const options = {
29
+ config: {
30
+ temperature: 0.7,
31
+ max_tokens: 100,
32
+ },
33
+ id: 'custom-id',
34
+ };
35
+ (0, xai_1.createXAIProvider)('xai:grok-2', options);
36
+ expect(openai_1.OpenAiChatCompletionProvider).toHaveBeenCalledWith('grok-2', expect.objectContaining({
37
+ config: expect.objectContaining({
38
+ apiBaseUrl: 'https://api.x.ai/v1',
39
+ apiKeyEnvar: 'XAI_API_KEY',
40
+ temperature: 0.7,
41
+ max_tokens: 100,
42
+ }),
43
+ id: 'custom-id',
44
+ }));
45
+ });
46
+ });
47
+ //# sourceMappingURL=xai.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xai.test.js","sourceRoot":"","sources":["../../../test/providers/xai.test.ts"],"names":[],"mappings":";;AAAA,uDAA0E;AAC1E,iDAA4D;AAG5D,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;AAExC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,uBAAiB,EAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,QAAQ,GAAG,IAAA,uBAAiB,EAAC,YAAY,CAAC,CAAC;QACjD,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,qCAA4B,CAAC,CAAC;QAC9D,MAAM,CAAC,qCAA4B,CAAC,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,IAAA,uBAAiB,EAAC,YAAY,CAAC,CAAC;QAChC,MAAM,CAAC,qCAA4B,CAAC,CAAC,oBAAoB,CACvD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAClB,MAAM,CAAC,gBAAgB,CAAC;YACtB,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC;gBAC9B,UAAU,EAAE,qBAAqB;gBACjC,WAAW,EAAE,aAAa;aAC3B,CAAC;SACH,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,OAAO,GAAoB;YAC/B,MAAM,EAAE;gBACN,WAAW,EAAE,GAAG;gBAChB,UAAU,EAAE,GAAG;aAChB;YACD,EAAE,EAAE,WAAW;SAChB,CAAC;QACF,IAAA,uBAAiB,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACzC,MAAM,CAAC,qCAA4B,CAAC,CAAC,oBAAoB,CACvD,QAAQ,EACR,MAAM,CAAC,gBAAgB,CAAC;YACtB,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC;gBAC9B,UAAU,EAAE,qBAAqB;gBACjC,WAAW,EAAE,aAAa;gBAC1B,WAAW,EAAE,GAAG;gBAChB,UAAU,EAAE,GAAG;aAChB,CAAC;YACF,EAAE,EAAE,WAAW;SAChB,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}