promptfoo 0.94.0 → 0.94.2
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.
- package/dist/package.json +9 -9
- package/dist/src/app/assets/index-DzFOW2sr.js +769 -0
- package/dist/src/app/assets/{index.es-BExeKHIA.js → index.es-DHZ-d3WX.js} +1 -1
- package/dist/src/app/assets/{sync-B6HKT-pd.js → sync-BXQkLspz.js} +1 -1
- package/dist/src/app/index.html +2 -2
- package/dist/src/cache.d.ts +2 -0
- package/dist/src/cache.d.ts.map +1 -1
- package/dist/src/cache.js +16 -3
- package/dist/src/cache.js.map +1 -1
- package/dist/src/commands/eval.d.ts.map +1 -1
- package/dist/src/commands/eval.js +8 -2
- package/dist/src/commands/eval.js.map +1 -1
- package/dist/src/database/tables.d.ts +171 -40
- package/dist/src/database/tables.d.ts.map +1 -1
- package/dist/src/fetch.d.ts.map +1 -1
- package/dist/src/fetch.js +14 -2
- package/dist/src/fetch.js.map +1 -1
- package/dist/src/onboarding.d.ts +1 -1
- package/dist/src/onboarding.d.ts.map +1 -1
- package/dist/src/onboarding.js +5 -1
- package/dist/src/onboarding.js.map +1 -1
- package/dist/src/providers/browser.d.ts.map +1 -1
- package/dist/src/providers/browser.js +10 -2
- package/dist/src/providers/browser.js.map +1 -1
- package/dist/src/providers/http.d.ts +2 -1
- package/dist/src/providers/http.d.ts.map +1 -1
- package/dist/src/providers/http.js +58 -23
- package/dist/src/providers/http.js.map +1 -1
- package/dist/src/providers/openai.d.ts.map +1 -1
- package/dist/src/providers/openai.js +10 -4
- package/dist/src/providers/openai.js.map +1 -1
- package/dist/src/providers/promptfoo.d.ts.map +1 -1
- package/dist/src/providers/promptfoo.js +4 -2
- package/dist/src/providers/promptfoo.js.map +1 -1
- package/dist/src/redteam/commands/init.d.ts.map +1 -1
- package/dist/src/redteam/commands/init.js +5 -2
- package/dist/src/redteam/commands/init.js.map +1 -1
- package/dist/src/redteam/constants.d.ts +27 -26
- package/dist/src/redteam/constants.d.ts.map +1 -1
- package/dist/src/redteam/constants.js +136 -129
- package/dist/src/redteam/constants.js.map +1 -1
- package/dist/src/redteam/extraction/util.d.ts.map +1 -1
- package/dist/src/redteam/extraction/util.js +4 -2
- package/dist/src/redteam/extraction/util.js.map +1 -1
- package/dist/src/redteam/plugins/index.d.ts.map +1 -1
- package/dist/src/redteam/plugins/index.js +9 -4
- package/dist/src/redteam/plugins/index.js.map +1 -1
- package/dist/src/redteam/providers/crescendo/index.d.ts.map +1 -1
- package/dist/src/redteam/providers/crescendo/index.js +14 -10
- package/dist/src/redteam/providers/crescendo/index.js.map +1 -1
- package/dist/src/redteam/providers/iterative.d.ts.map +1 -1
- package/dist/src/redteam/providers/iterative.js +10 -9
- package/dist/src/redteam/providers/iterative.js.map +1 -1
- package/dist/src/redteam/providers/iterativeImage.d.ts.map +1 -1
- package/dist/src/redteam/providers/iterativeImage.js +6 -0
- package/dist/src/redteam/providers/iterativeImage.js.map +1 -1
- package/dist/src/redteam/providers/iterativeTree.d.ts +0 -7
- package/dist/src/redteam/providers/iterativeTree.d.ts.map +1 -1
- package/dist/src/redteam/providers/iterativeTree.js +11 -16
- package/dist/src/redteam/providers/iterativeTree.js.map +1 -1
- package/dist/src/redteam/providers/shared.d.ts +9 -2
- package/dist/src/redteam/providers/shared.d.ts.map +1 -1
- package/dist/src/redteam/providers/shared.js +25 -0
- package/dist/src/redteam/providers/shared.js.map +1 -1
- package/dist/src/redteam/strategies/index.js +35 -35
- package/dist/src/redteam/strategies/index.js.map +1 -1
- package/dist/src/redteam/util.d.ts +1 -0
- package/dist/src/redteam/util.d.ts.map +1 -1
- package/dist/src/redteam/util.js +5 -3
- package/dist/src/redteam/util.js.map +1 -1
- package/dist/src/server/routes/user.js +15 -0
- package/dist/src/server/routes/user.js.map +1 -1
- package/dist/src/telemetry.d.ts +1 -1
- package/dist/src/telemetry.d.ts.map +1 -1
- package/dist/src/telemetry.js +2 -2
- package/dist/src/telemetry.js.map +1 -1
- package/dist/src/testCases.js +2 -2
- package/dist/src/testCases.js.map +1 -1
- package/dist/src/types/index.d.ts +4892 -56
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/index.js +16 -0
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/providers.d.ts +1 -0
- package/dist/src/types/providers.d.ts.map +1 -1
- package/dist/src/types/providers.js.map +1 -1
- package/dist/src/util/config/load.d.ts.map +1 -1
- package/dist/src/util/config/load.js +7 -0
- package/dist/src/util/config/load.js.map +1 -1
- package/dist/src/util/config/manage.d.ts.map +1 -1
- package/dist/src/util/config/manage.js +8 -1
- package/dist/src/util/config/manage.js.map +1 -1
- package/dist/test/assertions/index.test.d.ts +2 -0
- package/dist/test/assertions/index.test.d.ts.map +1 -0
- package/dist/test/{assertions.test.js → assertions/index.test.js} +19 -19
- package/dist/test/assertions/index.test.js.map +1 -0
- package/dist/test/assertions/utils.test.d.ts +2 -0
- package/dist/test/assertions/utils.test.d.ts.map +1 -0
- package/dist/test/{assertions.utils.test.js → assertions/utils.test.js} +4 -4
- package/dist/test/assertions/utils.test.js.map +1 -0
- package/dist/test/cache.test.js +12 -7
- package/dist/test/cache.test.js.map +1 -1
- package/dist/test/factories/evalFactory.d.ts +171 -40
- package/dist/test/factories/evalFactory.d.ts.map +1 -1
- package/dist/test/matchers.test.js +1 -1
- package/dist/test/matchers.test.js.map +1 -1
- package/dist/test/prompts/index.test.d.ts +2 -0
- package/dist/test/prompts/index.test.d.ts.map +1 -0
- package/dist/test/{prompts.test.js → prompts/index.test.js} +10 -10
- package/dist/test/prompts/index.test.js.map +1 -0
- package/dist/test/prompts/processors/javascript.test.d.ts +2 -0
- package/dist/test/prompts/processors/javascript.test.d.ts.map +1 -0
- package/dist/test/{prompts.processors.javascript.test.js → prompts/processors/javascript.test.js} +4 -4
- package/dist/test/prompts/processors/javascript.test.js.map +1 -0
- package/dist/test/prompts/processors/json.test.d.ts +2 -0
- package/dist/test/prompts/processors/json.test.d.ts.map +1 -0
- package/dist/test/{prompts.processors.json.test.js → prompts/processors/json.test.js} +2 -2
- package/dist/test/prompts/processors/json.test.js.map +1 -0
- package/dist/test/prompts/processors/jsonl.test.d.ts +2 -0
- package/dist/test/prompts/processors/jsonl.test.d.ts.map +1 -0
- package/dist/test/{prompts.processors.jsonl.test.js → prompts/processors/jsonl.test.js} +2 -2
- package/dist/test/prompts/processors/jsonl.test.js.map +1 -0
- package/dist/test/prompts/processors/markdown.test.d.ts +2 -0
- package/dist/test/prompts/processors/markdown.test.d.ts.map +1 -0
- package/dist/test/{prompts.processors.markdown.test.js → prompts/processors/markdown.test.js} +2 -2
- package/dist/test/prompts/processors/markdown.test.js.map +1 -0
- package/dist/test/prompts/processors/python.test.d.ts +2 -0
- package/dist/test/prompts/processors/python.test.d.ts.map +1 -0
- package/dist/test/{prompts.processors.python.test.js → prompts/processors/python.test.js} +4 -4
- package/dist/test/prompts/processors/python.test.js.map +1 -0
- package/dist/test/prompts/processors/python.utils.test.d.ts +2 -0
- package/dist/test/prompts/processors/python.utils.test.d.ts.map +1 -0
- package/dist/test/{prompts.processors.python.utils.test.js → prompts/processors/python.utils.test.js} +6 -6
- package/dist/test/prompts/processors/python.utils.test.js.map +1 -0
- package/dist/test/prompts/processors/string.test.d.ts +2 -0
- package/dist/test/prompts/processors/string.test.d.ts.map +1 -0
- package/dist/test/{prompts.processors.string.test.js → prompts/processors/string.test.js} +2 -2
- package/dist/test/prompts/processors/string.test.js.map +1 -0
- package/dist/test/prompts/processors/text.test.d.ts +2 -0
- package/dist/test/prompts/processors/text.test.d.ts.map +1 -0
- package/dist/test/{prompts.processors.text.test.js → prompts/processors/text.test.js} +3 -3
- package/dist/test/prompts/processors/text.test.js.map +1 -0
- package/dist/test/prompts/processors/yaml.test.d.ts +2 -0
- package/dist/test/prompts/processors/yaml.test.d.ts.map +1 -0
- package/dist/test/{prompts.processors.yaml.test.js → prompts/processors/yaml.test.js} +2 -2
- package/dist/test/prompts/processors/yaml.test.js.map +1 -0
- package/dist/test/prompts/utils.test.d.ts +2 -0
- package/dist/test/prompts/utils.test.d.ts.map +1 -0
- package/dist/test/{prompts.utils.test.js → prompts/utils.test.js} +2 -2
- package/dist/test/prompts/utils.test.js.map +1 -0
- package/dist/test/providers/anthropic.test.d.ts +2 -0
- package/dist/test/providers/anthropic.test.d.ts.map +1 -0
- package/dist/test/{providers.anthropic.test.js → providers/anthropic.test.js} +4 -4
- package/dist/test/providers/anthropic.test.js.map +1 -0
- package/dist/test/providers/azure.test.d.ts +2 -0
- package/dist/test/providers/azure.test.d.ts.map +1 -0
- package/dist/test/{providers.azure.test.js → providers/azure.test.js} +7 -7
- package/dist/test/providers/azure.test.js.map +1 -0
- package/dist/test/providers/bedrock.test.d.ts +2 -0
- package/dist/test/providers/bedrock.test.d.ts.map +1 -0
- package/dist/test/{providers.bedrock.test.js → providers/bedrock.test.js} +4 -4
- package/dist/test/providers/bedrock.test.js.map +1 -0
- package/dist/test/providers/groq.test.d.ts +2 -0
- package/dist/test/providers/groq.test.d.ts.map +1 -0
- package/dist/test/{providers.groq.test.js → providers/groq.test.js} +6 -6
- package/dist/test/providers/groq.test.js.map +1 -0
- package/dist/test/providers/http.test.d.ts +2 -0
- package/dist/test/providers/http.test.d.ts.map +1 -0
- package/dist/test/{providers.http.test.js → providers/http.test.js} +260 -30
- package/dist/test/providers/http.test.js.map +1 -0
- package/dist/test/providers/index.test.d.ts +2 -0
- package/dist/test/providers/index.test.d.ts.map +1 -0
- package/dist/test/{providers.test.js → providers/index.test.js} +28 -27
- package/dist/test/providers/index.test.js.map +1 -0
- package/dist/test/providers/llama.test.d.ts +2 -0
- package/dist/test/providers/llama.test.d.ts.map +1 -0
- package/dist/test/{providers.llama.test.js → providers/llama.test.js} +15 -10
- package/dist/test/providers/llama.test.js.map +1 -0
- package/dist/test/providers/mistral.test.d.ts +2 -0
- package/dist/test/providers/mistral.test.d.ts.map +1 -0
- package/dist/test/{providers.mistral.test.js → providers/mistral.test.js} +32 -16
- package/dist/test/providers/mistral.test.js.map +1 -0
- package/dist/test/providers/packageParser.test.d.ts +2 -0
- package/dist/test/providers/packageParser.test.d.ts.map +1 -0
- package/dist/test/{providers.packageParser.test.js → providers/packageParser.test.js} +5 -5
- package/dist/test/providers/packageParser.test.js.map +1 -0
- package/dist/test/providers/palm.test.d.ts +2 -0
- package/dist/test/providers/palm.test.d.ts.map +1 -0
- package/dist/test/{providers.palm.test.js → providers/palm.test.js} +7 -7
- package/dist/test/providers/palm.test.js.map +1 -0
- package/dist/test/providers/pythonCompletion.test.d.ts +2 -0
- package/dist/test/providers/pythonCompletion.test.d.ts.map +1 -0
- package/dist/test/{providers.pythonCompletion.test.js → providers/pythonCompletion.test.js} +8 -8
- package/dist/test/providers/pythonCompletion.test.js.map +1 -0
- package/dist/test/providers/scriptCompletion.test.d.ts +2 -0
- package/dist/test/providers/scriptCompletion.test.d.ts.map +1 -0
- package/dist/test/{providers.scriptCompletion.test.js → providers/scriptCompletion.test.js} +5 -5
- package/dist/test/providers/scriptCompletion.test.js.map +1 -0
- package/dist/test/providers/shared.test.d.ts +2 -0
- package/dist/test/providers/shared.test.d.ts.map +1 -0
- package/dist/test/{providers.shared.test.js → providers/shared.test.js} +4 -4
- package/dist/test/providers/shared.test.js.map +1 -0
- package/dist/test/providers/togetherai.test.d.ts +2 -0
- package/dist/test/providers/togetherai.test.d.ts.map +1 -0
- package/dist/test/{providers.togetherai.test.js → providers/togetherai.test.js} +4 -4
- package/dist/test/providers/togetherai.test.js.map +1 -0
- package/dist/test/providers/vertex.test.d.ts +2 -0
- package/dist/test/providers/vertex.test.d.ts.map +1 -0
- package/dist/test/{providers.vertex.test.js → providers/vertex.test.js} +9 -9
- package/dist/test/providers/vertex.test.js.map +1 -0
- package/dist/test/providers/watsonx.test.d.ts +2 -0
- package/dist/test/providers/watsonx.test.d.ts.map +1 -0
- package/dist/test/{providers.watsonx.test.js → providers/watsonx.test.js} +8 -8
- package/dist/test/providers/watsonx.test.js.map +1 -0
- package/dist/test/providers/xai.test.d.ts +2 -0
- package/dist/test/providers/xai.test.d.ts.map +1 -0
- package/dist/test/{providers.xai.test.js → providers/xai.test.js} +4 -4
- package/dist/test/providers/xai.test.js.map +1 -0
- package/dist/test/redteam/extraction/entities.test.js +8 -1
- package/dist/test/redteam/extraction/entities.test.js.map +1 -1
- package/dist/test/redteam/extraction/purpose.test.js +8 -1
- package/dist/test/redteam/extraction/purpose.test.js.map +1 -1
- package/dist/test/redteam/extraction/util.test.js +17 -2
- package/dist/test/redteam/extraction/util.test.js.map +1 -1
- package/dist/test/redteam/providers/iterativeTree.test.js +3 -18
- package/dist/test/redteam/providers/iterativeTree.test.js.map +1 -1
- package/dist/test/redteam/util.test.js +55 -0
- package/dist/test/redteam/util.test.js.map +1 -1
- package/dist/test/testCases.test.js +4 -0
- package/dist/test/testCases.test.js.map +1 -1
- package/dist/test/types.test.js +1 -12
- package/dist/test/types.test.js.map +1 -1
- package/dist/test/util/config/default.test.d.ts +2 -0
- package/dist/test/util/config/default.test.d.ts.map +1 -0
- package/dist/test/{util.config.default.test.js → util/config/default.test.js} +4 -4
- package/dist/test/util/config/default.test.js.map +1 -0
- package/dist/test/util/config/load.test.d.ts +2 -0
- package/dist/test/util/config/load.test.d.ts.map +1 -0
- package/dist/test/{util.config.load.test.js → util/config/load.test.js} +13 -13
- package/dist/test/util/config/load.test.js.map +1 -0
- package/dist/test/util/config/main.test.d.ts +2 -0
- package/dist/test/util/config/main.test.d.ts.map +1 -0
- package/dist/test/{util.config.main.test.js → util/config/main.test.js} +9 -5
- package/dist/test/util/config/main.test.js.map +1 -0
- package/dist/test/util/deleteAll.test.d.ts +2 -0
- package/dist/test/util/deleteAll.test.d.ts.map +1 -0
- package/dist/test/{util.deleteAll.test.js → util/deleteAll.test.js} +5 -5
- package/dist/test/util/deleteAll.test.js.map +1 -0
- package/dist/test/util/file.test.d.ts +2 -0
- package/dist/test/util/file.test.d.ts.map +1 -0
- package/dist/test/{util.file.test.js → util/file.test.js} +2 -2
- package/dist/test/util/file.test.js.map +1 -0
- package/dist/test/util/generation.test.d.ts +2 -0
- package/dist/test/util/generation.test.d.ts.map +1 -0
- package/dist/test/{util.generation.test.js → util/generation.test.js} +3 -3
- package/dist/test/{util.generation.test.js.map → util/generation.test.js.map} +1 -1
- package/dist/test/util/index.test.d.ts +2 -0
- package/dist/test/util/index.test.d.ts.map +1 -0
- package/dist/test/{util.test.js → util/index.test.js} +10 -10
- package/dist/test/util/index.test.js.map +1 -0
- package/dist/test/util/json.test.d.ts +2 -0
- package/dist/test/util/json.test.d.ts.map +1 -0
- package/dist/test/{util.json.test.js → util/json.test.js} +2 -2
- package/dist/test/util/json.test.js.map +1 -0
- package/dist/test/util/listPrevious.test.d.ts +2 -0
- package/dist/test/util/listPrevious.test.d.ts.map +1 -0
- package/dist/test/{util.listPrevious.test.js → util/listPrevious.test.js} +4 -4
- package/dist/test/util/listPrevious.test.js.map +1 -0
- package/dist/test/util/templates.test.d.ts +2 -0
- package/dist/test/util/templates.test.d.ts.map +1 -0
- package/dist/test/{util.templates.test.js → util/templates.test.js} +2 -2
- package/dist/test/util/templates.test.js.map +1 -0
- package/dist/test/util/transform.test.d.ts +2 -0
- package/dist/test/util/transform.test.d.ts.map +1 -0
- package/dist/test/{util.transform.test.js → util/transform.test.js} +6 -6
- package/dist/test/util/transform.test.js.map +1 -0
- package/dist/test/{utils.d.ts → util/utils.d.ts} +1 -1
- package/dist/test/util/utils.d.ts.map +1 -0
- package/dist/test/util/utils.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -9
- package/dist/src/app/assets/index-D0jdLrEN.js +0 -769
- package/dist/test/assertions.test.d.ts +0 -2
- package/dist/test/assertions.test.d.ts.map +0 -1
- package/dist/test/assertions.test.js.map +0 -1
- package/dist/test/assertions.utils.test.d.ts +0 -2
- package/dist/test/assertions.utils.test.d.ts.map +0 -1
- package/dist/test/assertions.utils.test.js.map +0 -1
- package/dist/test/prompts.processors.javascript.test.d.ts +0 -2
- package/dist/test/prompts.processors.javascript.test.d.ts.map +0 -1
- package/dist/test/prompts.processors.javascript.test.js.map +0 -1
- package/dist/test/prompts.processors.json.test.d.ts +0 -2
- package/dist/test/prompts.processors.json.test.d.ts.map +0 -1
- package/dist/test/prompts.processors.json.test.js.map +0 -1
- package/dist/test/prompts.processors.jsonl.test.d.ts +0 -2
- package/dist/test/prompts.processors.jsonl.test.d.ts.map +0 -1
- package/dist/test/prompts.processors.jsonl.test.js.map +0 -1
- package/dist/test/prompts.processors.markdown.test.d.ts +0 -2
- package/dist/test/prompts.processors.markdown.test.d.ts.map +0 -1
- package/dist/test/prompts.processors.markdown.test.js.map +0 -1
- package/dist/test/prompts.processors.python.test.d.ts +0 -2
- package/dist/test/prompts.processors.python.test.d.ts.map +0 -1
- package/dist/test/prompts.processors.python.test.js.map +0 -1
- package/dist/test/prompts.processors.python.utils.test.d.ts +0 -2
- package/dist/test/prompts.processors.python.utils.test.d.ts.map +0 -1
- package/dist/test/prompts.processors.python.utils.test.js.map +0 -1
- package/dist/test/prompts.processors.string.test.d.ts +0 -2
- package/dist/test/prompts.processors.string.test.d.ts.map +0 -1
- package/dist/test/prompts.processors.string.test.js.map +0 -1
- package/dist/test/prompts.processors.text.test.d.ts +0 -2
- package/dist/test/prompts.processors.text.test.d.ts.map +0 -1
- package/dist/test/prompts.processors.text.test.js.map +0 -1
- package/dist/test/prompts.processors.yaml.test.d.ts +0 -2
- package/dist/test/prompts.processors.yaml.test.d.ts.map +0 -1
- package/dist/test/prompts.processors.yaml.test.js.map +0 -1
- package/dist/test/prompts.test.d.ts +0 -2
- package/dist/test/prompts.test.d.ts.map +0 -1
- package/dist/test/prompts.test.js.map +0 -1
- package/dist/test/prompts.utils.test.d.ts +0 -2
- package/dist/test/prompts.utils.test.d.ts.map +0 -1
- package/dist/test/prompts.utils.test.js.map +0 -1
- package/dist/test/providers.anthropic.test.d.ts +0 -2
- package/dist/test/providers.anthropic.test.d.ts.map +0 -1
- package/dist/test/providers.anthropic.test.js.map +0 -1
- package/dist/test/providers.azure.test.d.ts +0 -2
- package/dist/test/providers.azure.test.d.ts.map +0 -1
- package/dist/test/providers.azure.test.js.map +0 -1
- package/dist/test/providers.bedrock.test.d.ts +0 -2
- package/dist/test/providers.bedrock.test.d.ts.map +0 -1
- package/dist/test/providers.bedrock.test.js.map +0 -1
- package/dist/test/providers.groq.test.d.ts +0 -2
- package/dist/test/providers.groq.test.d.ts.map +0 -1
- package/dist/test/providers.groq.test.js.map +0 -1
- package/dist/test/providers.http.test.d.ts +0 -2
- package/dist/test/providers.http.test.d.ts.map +0 -1
- package/dist/test/providers.http.test.js.map +0 -1
- package/dist/test/providers.llama.test.d.ts +0 -2
- package/dist/test/providers.llama.test.d.ts.map +0 -1
- package/dist/test/providers.llama.test.js.map +0 -1
- package/dist/test/providers.mistral.test.d.ts +0 -2
- package/dist/test/providers.mistral.test.d.ts.map +0 -1
- package/dist/test/providers.mistral.test.js.map +0 -1
- package/dist/test/providers.packageParser.test.d.ts +0 -2
- package/dist/test/providers.packageParser.test.d.ts.map +0 -1
- package/dist/test/providers.packageParser.test.js.map +0 -1
- package/dist/test/providers.palm.test.d.ts +0 -2
- package/dist/test/providers.palm.test.d.ts.map +0 -1
- package/dist/test/providers.palm.test.js.map +0 -1
- package/dist/test/providers.pythonCompletion.test.d.ts +0 -2
- package/dist/test/providers.pythonCompletion.test.d.ts.map +0 -1
- package/dist/test/providers.pythonCompletion.test.js.map +0 -1
- package/dist/test/providers.scriptCompletion.test.d.ts +0 -2
- package/dist/test/providers.scriptCompletion.test.d.ts.map +0 -1
- package/dist/test/providers.scriptCompletion.test.js.map +0 -1
- package/dist/test/providers.shared.test.d.ts +0 -2
- package/dist/test/providers.shared.test.d.ts.map +0 -1
- package/dist/test/providers.shared.test.js.map +0 -1
- package/dist/test/providers.test.d.ts +0 -2
- package/dist/test/providers.test.d.ts.map +0 -1
- package/dist/test/providers.test.js.map +0 -1
- package/dist/test/providers.togetherai.test.d.ts +0 -2
- package/dist/test/providers.togetherai.test.d.ts.map +0 -1
- package/dist/test/providers.togetherai.test.js.map +0 -1
- package/dist/test/providers.vertex.test.d.ts +0 -2
- package/dist/test/providers.vertex.test.d.ts.map +0 -1
- package/dist/test/providers.vertex.test.js.map +0 -1
- package/dist/test/providers.watsonx.test.d.ts +0 -2
- package/dist/test/providers.watsonx.test.d.ts.map +0 -1
- package/dist/test/providers.watsonx.test.js.map +0 -1
- package/dist/test/providers.xai.test.d.ts +0 -2
- package/dist/test/providers.xai.test.d.ts.map +0 -1
- package/dist/test/providers.xai.test.js.map +0 -1
- package/dist/test/util.config.default.test.d.ts +0 -2
- package/dist/test/util.config.default.test.d.ts.map +0 -1
- package/dist/test/util.config.default.test.js.map +0 -1
- package/dist/test/util.config.load.test.d.ts +0 -2
- package/dist/test/util.config.load.test.d.ts.map +0 -1
- package/dist/test/util.config.load.test.js.map +0 -1
- package/dist/test/util.config.main.test.d.ts +0 -2
- package/dist/test/util.config.main.test.d.ts.map +0 -1
- package/dist/test/util.config.main.test.js.map +0 -1
- package/dist/test/util.deleteAll.test.d.ts +0 -2
- package/dist/test/util.deleteAll.test.d.ts.map +0 -1
- package/dist/test/util.deleteAll.test.js.map +0 -1
- package/dist/test/util.file.test.d.ts +0 -2
- package/dist/test/util.file.test.d.ts.map +0 -1
- package/dist/test/util.file.test.js.map +0 -1
- package/dist/test/util.generation.test.d.ts +0 -2
- package/dist/test/util.generation.test.d.ts.map +0 -1
- package/dist/test/util.json.test.d.ts +0 -2
- package/dist/test/util.json.test.d.ts.map +0 -1
- package/dist/test/util.json.test.js.map +0 -1
- package/dist/test/util.listPrevious.test.d.ts +0 -2
- package/dist/test/util.listPrevious.test.d.ts.map +0 -1
- package/dist/test/util.listPrevious.test.js.map +0 -1
- package/dist/test/util.templates.test.d.ts +0 -2
- package/dist/test/util.templates.test.d.ts.map +0 -1
- package/dist/test/util.templates.test.js.map +0 -1
- package/dist/test/util.test.d.ts +0 -2
- package/dist/test/util.test.d.ts.map +0 -1
- package/dist/test/util.test.js.map +0 -1
- package/dist/test/util.transform.test.d.ts +0 -2
- package/dist/test/util.transform.test.d.ts.map +0 -1
- package/dist/test/util.transform.test.js.map +0 -1
- package/dist/test/utils.d.ts.map +0 -1
- package/dist/test/utils.js.map +0 -1
- /package/dist/src/app/assets/{index-CKeaKcHn.css → index-DPkfMrKn.css} +0 -0
- /package/dist/test/{utils.js → util/utils.js} +0 -0
|
@@ -5,18 +5,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const dedent_1 = __importDefault(require("dedent"));
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
|
-
const cache_1 = require("
|
|
9
|
-
const esm_1 = require("
|
|
10
|
-
const http_1 = require("
|
|
11
|
-
const util_1 = require("
|
|
12
|
-
jest.mock('
|
|
8
|
+
const cache_1 = require("../../src/cache");
|
|
9
|
+
const esm_1 = require("../../src/esm");
|
|
10
|
+
const http_1 = require("../../src/providers/http");
|
|
11
|
+
const util_1 = require("../../src/util");
|
|
12
|
+
jest.mock('../../src/cache', () => ({
|
|
13
13
|
fetchWithCache: jest.fn(),
|
|
14
14
|
}));
|
|
15
|
-
jest.mock('
|
|
16
|
-
...jest.requireActual('
|
|
15
|
+
jest.mock('../../src/util', () => ({
|
|
16
|
+
...jest.requireActual('../../src/util'),
|
|
17
17
|
maybeLoadFromExternalFile: jest.fn((input) => input),
|
|
18
18
|
}));
|
|
19
|
-
jest.mock('
|
|
19
|
+
jest.mock('../../src/esm', () => ({
|
|
20
20
|
importModule: jest.fn(async (modulePath, functionName) => {
|
|
21
21
|
const mockModule = {
|
|
22
22
|
default: jest.fn((data) => data.defaultField),
|
|
@@ -28,7 +28,7 @@ jest.mock('../src/esm', () => ({
|
|
|
28
28
|
return mockModule;
|
|
29
29
|
}),
|
|
30
30
|
}));
|
|
31
|
-
jest.mock('
|
|
31
|
+
jest.mock('../../src/cliState', () => ({
|
|
32
32
|
basePath: '/mock/base/path',
|
|
33
33
|
}));
|
|
34
34
|
describe('HttpProvider', () => {
|
|
@@ -48,6 +48,8 @@ describe('HttpProvider', () => {
|
|
|
48
48
|
});
|
|
49
49
|
const mockResponse = {
|
|
50
50
|
data: JSON.stringify({ result: 'response text' }),
|
|
51
|
+
status: 200,
|
|
52
|
+
statusText: 'OK',
|
|
51
53
|
cached: false,
|
|
52
54
|
};
|
|
53
55
|
jest.mocked(cache_1.fetchWithCache).mockResolvedValueOnce(mockResponse);
|
|
@@ -85,7 +87,12 @@ describe('HttpProvider', () => {
|
|
|
85
87
|
responseParser: (data) => data,
|
|
86
88
|
},
|
|
87
89
|
});
|
|
88
|
-
const mockResponse = {
|
|
90
|
+
const mockResponse = {
|
|
91
|
+
data: 'custom response',
|
|
92
|
+
status: 200,
|
|
93
|
+
statusText: 'OK',
|
|
94
|
+
cached: false,
|
|
95
|
+
};
|
|
89
96
|
jest.mocked(cache_1.fetchWithCache).mockResolvedValueOnce(mockResponse);
|
|
90
97
|
await provider.callApi('test prompt');
|
|
91
98
|
expect(cache_1.fetchWithCache).toHaveBeenCalledWith(`${mockUrl}?foo=bar`, expect.objectContaining({
|
|
@@ -109,6 +116,8 @@ describe('HttpProvider', () => {
|
|
|
109
116
|
});
|
|
110
117
|
const mockResponse = {
|
|
111
118
|
data: JSON.stringify({ result: 'parsed', custom: 'parsed' }),
|
|
119
|
+
status: 200,
|
|
120
|
+
statusText: 'OK',
|
|
112
121
|
cached: false,
|
|
113
122
|
};
|
|
114
123
|
jest.mocked(cache_1.fetchWithCache).mockResolvedValueOnce(mockResponse);
|
|
@@ -125,7 +134,12 @@ describe('HttpProvider', () => {
|
|
|
125
134
|
responseParser: (data) => data,
|
|
126
135
|
},
|
|
127
136
|
});
|
|
128
|
-
const mockResponse = {
|
|
137
|
+
const mockResponse = {
|
|
138
|
+
data: 'custom response',
|
|
139
|
+
cached: false,
|
|
140
|
+
status: 200,
|
|
141
|
+
statusText: 'OK',
|
|
142
|
+
};
|
|
129
143
|
jest.mocked(cache_1.fetchWithCache).mockResolvedValueOnce(mockResponse);
|
|
130
144
|
await provider.callApi('test prompt');
|
|
131
145
|
expect(cache_1.fetchWithCache).toHaveBeenCalledWith(mockUrl, {
|
|
@@ -160,7 +174,12 @@ describe('HttpProvider', () => {
|
|
|
160
174
|
responseParser: (data) => data,
|
|
161
175
|
},
|
|
162
176
|
});
|
|
163
|
-
const mockResponse = {
|
|
177
|
+
const mockResponse = {
|
|
178
|
+
data: 'response data',
|
|
179
|
+
status: 200,
|
|
180
|
+
statusText: 'OK',
|
|
181
|
+
cached: false,
|
|
182
|
+
};
|
|
164
183
|
jest.mocked(cache_1.fetchWithCache).mockResolvedValueOnce(mockResponse);
|
|
165
184
|
await provider.callApi('test prompt');
|
|
166
185
|
expect(cache_1.fetchWithCache).toHaveBeenCalledWith(`${mockUrl}?q=test+prompt&foo=bar`, expect.objectContaining({
|
|
@@ -183,6 +202,8 @@ describe('HttpProvider', () => {
|
|
|
183
202
|
const mockResponse = {
|
|
184
203
|
data: JSON.stringify({ result: 'success' }),
|
|
185
204
|
cached: false,
|
|
205
|
+
status: 200,
|
|
206
|
+
statusText: 'OK',
|
|
186
207
|
};
|
|
187
208
|
jest.mocked(cache_1.fetchWithCache).mockResolvedValueOnce(mockResponse);
|
|
188
209
|
const result = await provider.callApi('test prompt');
|
|
@@ -212,6 +233,8 @@ describe('HttpProvider', () => {
|
|
|
212
233
|
const mockResponse = {
|
|
213
234
|
data: JSON.stringify({ result: 'received' }),
|
|
214
235
|
cached: false,
|
|
236
|
+
status: 200,
|
|
237
|
+
statusText: 'OK',
|
|
215
238
|
};
|
|
216
239
|
jest.mocked(cache_1.fetchWithCache).mockResolvedValueOnce(mockResponse);
|
|
217
240
|
const result = await provider.callApi('test data');
|
|
@@ -240,6 +263,8 @@ describe('HttpProvider', () => {
|
|
|
240
263
|
});
|
|
241
264
|
const mockResponse = {
|
|
242
265
|
data: JSON.stringify({ result: 'success' }),
|
|
266
|
+
status: 200,
|
|
267
|
+
statusText: 'OK',
|
|
243
268
|
cached: false,
|
|
244
269
|
};
|
|
245
270
|
jest.mocked(cache_1.fetchWithCache).mockResolvedValueOnce(mockResponse);
|
|
@@ -262,11 +287,11 @@ describe('HttpProvider', () => {
|
|
|
262
287
|
await expect(provider.callApi('test prompt')).rejects.toThrow('Error parsing raw HTTP request');
|
|
263
288
|
});
|
|
264
289
|
});
|
|
265
|
-
describe('
|
|
290
|
+
describe('processJsonBody', () => {
|
|
266
291
|
it('should process simple key-value pairs', () => {
|
|
267
292
|
const body = { key: 'value', prompt: '{{ prompt }}' };
|
|
268
293
|
const vars = { prompt: 'test prompt' };
|
|
269
|
-
const result = (0, http_1.
|
|
294
|
+
const result = (0, http_1.processJsonBody)(body, vars);
|
|
270
295
|
expect(result).toEqual({ key: 'value', prompt: 'test prompt' });
|
|
271
296
|
});
|
|
272
297
|
it('should process nested objects', () => {
|
|
@@ -277,7 +302,7 @@ describe('HttpProvider', () => {
|
|
|
277
302
|
},
|
|
278
303
|
};
|
|
279
304
|
const vars = { prompt: 'test prompt' };
|
|
280
|
-
const result = (0, http_1.
|
|
305
|
+
const result = (0, http_1.processJsonBody)(body, vars);
|
|
281
306
|
expect(result).toEqual({
|
|
282
307
|
outer: {
|
|
283
308
|
inner: 'test prompt',
|
|
@@ -290,14 +315,14 @@ describe('HttpProvider', () => {
|
|
|
290
315
|
list: ['{{ prompt }}', 'static', '{{ prompt }}'],
|
|
291
316
|
};
|
|
292
317
|
const vars = { prompt: 'test prompt' };
|
|
293
|
-
const result = (0, http_1.
|
|
318
|
+
const result = (0, http_1.processJsonBody)(body, vars);
|
|
294
319
|
expect(result).toEqual({
|
|
295
320
|
list: ['test prompt', 'static', 'test prompt'],
|
|
296
321
|
});
|
|
297
322
|
});
|
|
298
323
|
it('should handle empty vars', () => {
|
|
299
324
|
const body = { key: '{{ prompt }}' };
|
|
300
|
-
const result = (0, http_1.
|
|
325
|
+
const result = (0, http_1.processJsonBody)(body, {});
|
|
301
326
|
expect(result).toEqual({ key: '' });
|
|
302
327
|
});
|
|
303
328
|
it('should handle complex nested structures', () => {
|
|
@@ -309,13 +334,13 @@ describe('HttpProvider', () => {
|
|
|
309
334
|
jsonArray: '[1, 2, "{{ prompt }}"]',
|
|
310
335
|
};
|
|
311
336
|
const vars = { prompt: 'test prompt' };
|
|
312
|
-
const result = (0, http_1.
|
|
337
|
+
const result = (0, http_1.processJsonBody)(body, vars);
|
|
313
338
|
expect(result).toEqual({
|
|
314
339
|
outer: {
|
|
315
340
|
inner: ['test prompt', { nestedKey: 'test prompt' }],
|
|
316
341
|
static: 'value',
|
|
317
342
|
},
|
|
318
|
-
jsonArray:
|
|
343
|
+
jsonArray: [1, 2, 'test prompt'],
|
|
319
344
|
});
|
|
320
345
|
});
|
|
321
346
|
});
|
|
@@ -328,7 +353,12 @@ describe('HttpProvider', () => {
|
|
|
328
353
|
responseParser: functionParser,
|
|
329
354
|
},
|
|
330
355
|
});
|
|
331
|
-
const mockResponse = {
|
|
356
|
+
const mockResponse = {
|
|
357
|
+
data: JSON.stringify({ result: 'success' }),
|
|
358
|
+
status: 200,
|
|
359
|
+
statusText: 'OK',
|
|
360
|
+
cached: false,
|
|
361
|
+
};
|
|
332
362
|
jest.mocked(cache_1.fetchWithCache).mockResolvedValueOnce(mockResponse);
|
|
333
363
|
const result = await provider.callApi('test prompt');
|
|
334
364
|
expect(result.output).toBe('success');
|
|
@@ -351,7 +381,12 @@ describe('HttpProvider', () => {
|
|
|
351
381
|
responseParser: 'json.result',
|
|
352
382
|
},
|
|
353
383
|
});
|
|
354
|
-
const mockResponse = {
|
|
384
|
+
const mockResponse = {
|
|
385
|
+
data: JSON.stringify({ result: 'parsed' }),
|
|
386
|
+
status: 200,
|
|
387
|
+
statusText: 'OK',
|
|
388
|
+
cached: false,
|
|
389
|
+
};
|
|
355
390
|
jest.mocked(cache_1.fetchWithCache).mockResolvedValueOnce(mockResponse);
|
|
356
391
|
const result = await provider.callApi('test prompt');
|
|
357
392
|
expect(result.output).toBe('parsed');
|
|
@@ -390,6 +425,8 @@ describe('HttpProvider', () => {
|
|
|
390
425
|
});
|
|
391
426
|
const mockResponse = {
|
|
392
427
|
data: JSON.stringify({ key: 'value' }),
|
|
428
|
+
status: 200,
|
|
429
|
+
statusText: 'OK',
|
|
393
430
|
cached: false,
|
|
394
431
|
};
|
|
395
432
|
jest.mocked(cache_1.fetchWithCache).mockResolvedValueOnce(mockResponse);
|
|
@@ -403,7 +440,12 @@ describe('HttpProvider', () => {
|
|
|
403
440
|
responseParser: (json, text) => ({ custom: json.result }),
|
|
404
441
|
},
|
|
405
442
|
});
|
|
406
|
-
const mockResponse = {
|
|
443
|
+
const mockResponse = {
|
|
444
|
+
data: JSON.stringify({ result: 'success' }),
|
|
445
|
+
status: 200,
|
|
446
|
+
statusText: 'OK',
|
|
447
|
+
cached: false,
|
|
448
|
+
};
|
|
407
449
|
jest.mocked(cache_1.fetchWithCache).mockResolvedValueOnce(mockResponse);
|
|
408
450
|
const result = await provider.callApi('test prompt');
|
|
409
451
|
expect(result.output).toEqual({ custom: 'success' });
|
|
@@ -421,10 +463,10 @@ describe('HttpProvider', () => {
|
|
|
421
463
|
const result = provider['getDefaultHeaders']({ key: 'value' });
|
|
422
464
|
expect(result).toEqual({ 'content-type': 'application/json' });
|
|
423
465
|
});
|
|
424
|
-
it('should return
|
|
466
|
+
it('should return application/x-www-form-urlencoded for string body', () => {
|
|
425
467
|
const provider = new http_1.HttpProvider(mockUrl, { config: { method: 'POST', body: 'test' } });
|
|
426
468
|
const result = provider['getDefaultHeaders']('string body');
|
|
427
|
-
expect(result).toEqual({});
|
|
469
|
+
expect(result).toEqual({ 'content-type': 'application/x-www-form-urlencoded' });
|
|
428
470
|
});
|
|
429
471
|
});
|
|
430
472
|
describe('validateContentTypeAndBody', () => {
|
|
@@ -437,7 +479,7 @@ describe('HttpProvider', () => {
|
|
|
437
479
|
it('should throw for non-json content-type with object body', () => {
|
|
438
480
|
const provider = new http_1.HttpProvider(mockUrl, { config: { body: 'test' } });
|
|
439
481
|
expect(() => {
|
|
440
|
-
provider['validateContentTypeAndBody']({ 'content-type': '
|
|
482
|
+
provider['validateContentTypeAndBody']({ 'content-type': 'application/x-www-form-urlencoded' }, { key: 'value' });
|
|
441
483
|
}).toThrow('Content-Type is not application/json, but body is an object or array');
|
|
442
484
|
});
|
|
443
485
|
});
|
|
@@ -493,7 +535,12 @@ describe('HttpProvider', () => {
|
|
|
493
535
|
body: { key: '{{ prompt }}' },
|
|
494
536
|
},
|
|
495
537
|
});
|
|
496
|
-
const mockResponse = {
|
|
538
|
+
const mockResponse = {
|
|
539
|
+
data: JSON.stringify({ result: 'success' }),
|
|
540
|
+
status: 200,
|
|
541
|
+
statusText: 'OK',
|
|
542
|
+
cached: false,
|
|
543
|
+
};
|
|
497
544
|
jest.mocked(cache_1.fetchWithCache).mockResolvedValueOnce(mockResponse);
|
|
498
545
|
await provider.callApi('test prompt');
|
|
499
546
|
expect(cache_1.fetchWithCache).toHaveBeenCalledWith(mockUrl, expect.objectContaining({
|
|
@@ -505,19 +552,24 @@ describe('HttpProvider', () => {
|
|
|
505
552
|
body: JSON.stringify({ key: 'test prompt' }),
|
|
506
553
|
}), expect.any(Number), 'text', undefined);
|
|
507
554
|
});
|
|
508
|
-
it('should
|
|
555
|
+
it('should default to application/x-www-form-urlencoded for content-type if body is not an object', async () => {
|
|
509
556
|
const provider = new http_1.HttpProvider(mockUrl, {
|
|
510
557
|
config: {
|
|
511
558
|
method: 'POST',
|
|
512
559
|
body: 'test',
|
|
513
560
|
},
|
|
514
561
|
});
|
|
515
|
-
const mockResponse = {
|
|
562
|
+
const mockResponse = {
|
|
563
|
+
data: JSON.stringify({ result: 'success' }),
|
|
564
|
+
status: 200,
|
|
565
|
+
statusText: 'OK',
|
|
566
|
+
cached: false,
|
|
567
|
+
};
|
|
516
568
|
jest.mocked(cache_1.fetchWithCache).mockResolvedValueOnce(mockResponse);
|
|
517
569
|
await provider.callApi('test prompt');
|
|
518
570
|
expect(cache_1.fetchWithCache).toHaveBeenCalledWith(mockUrl, expect.objectContaining({
|
|
519
571
|
method: 'POST',
|
|
520
|
-
headers: {},
|
|
572
|
+
headers: { 'content-type': 'application/x-www-form-urlencoded' },
|
|
521
573
|
body: 'test',
|
|
522
574
|
}), expect.any(Number), 'text', undefined);
|
|
523
575
|
});
|
|
@@ -531,5 +583,183 @@ describe('HttpProvider', () => {
|
|
|
531
583
|
});
|
|
532
584
|
await expect(provider.callApi('test prompt')).rejects.toThrow('Content-Type is not application/json, but body is an object or array');
|
|
533
585
|
});
|
|
586
|
+
describe('Content-Type and body handling', () => {
|
|
587
|
+
it('should render string body when content-type is not set', async () => {
|
|
588
|
+
const provider = new http_1.HttpProvider(mockUrl, {
|
|
589
|
+
config: {
|
|
590
|
+
method: 'POST',
|
|
591
|
+
body: 'Hello {{ prompt }}',
|
|
592
|
+
},
|
|
593
|
+
});
|
|
594
|
+
const mockResponse = {
|
|
595
|
+
data: 'response',
|
|
596
|
+
status: 200,
|
|
597
|
+
statusText: 'OK',
|
|
598
|
+
cached: false,
|
|
599
|
+
};
|
|
600
|
+
jest.mocked(cache_1.fetchWithCache).mockResolvedValueOnce(mockResponse);
|
|
601
|
+
await provider.callApi('world');
|
|
602
|
+
expect(cache_1.fetchWithCache).toHaveBeenCalledWith(mockUrl, expect.objectContaining({
|
|
603
|
+
method: 'POST',
|
|
604
|
+
headers: { 'content-type': 'application/x-www-form-urlencoded' },
|
|
605
|
+
body: 'Hello world',
|
|
606
|
+
}), expect.any(Number), 'text', undefined);
|
|
607
|
+
});
|
|
608
|
+
it('should default to JSON when content-type is not set and body is an object', async () => {
|
|
609
|
+
const provider = new http_1.HttpProvider(mockUrl, {
|
|
610
|
+
config: {
|
|
611
|
+
method: 'POST',
|
|
612
|
+
body: { key: 'test' },
|
|
613
|
+
},
|
|
614
|
+
});
|
|
615
|
+
const mockResponse = {
|
|
616
|
+
data: 'response',
|
|
617
|
+
status: 200,
|
|
618
|
+
statusText: 'OK',
|
|
619
|
+
cached: false,
|
|
620
|
+
};
|
|
621
|
+
jest.mocked(cache_1.fetchWithCache).mockResolvedValueOnce(mockResponse);
|
|
622
|
+
await provider.callApi('test');
|
|
623
|
+
expect(cache_1.fetchWithCache).toHaveBeenCalledWith(mockUrl, expect.objectContaining({
|
|
624
|
+
method: 'POST',
|
|
625
|
+
headers: { 'content-type': 'application/json' },
|
|
626
|
+
body: JSON.stringify({ key: 'test' }),
|
|
627
|
+
}), expect.any(Number), 'text', undefined);
|
|
628
|
+
});
|
|
629
|
+
it('should render object body when content-type is application/json', async () => {
|
|
630
|
+
const provider = new http_1.HttpProvider(mockUrl, {
|
|
631
|
+
config: {
|
|
632
|
+
method: 'POST',
|
|
633
|
+
headers: { 'Content-Type': 'application/json' },
|
|
634
|
+
body: { key: '{{ prompt }}' },
|
|
635
|
+
},
|
|
636
|
+
});
|
|
637
|
+
const mockResponse = {
|
|
638
|
+
data: 'response',
|
|
639
|
+
status: 200,
|
|
640
|
+
statusText: 'OK',
|
|
641
|
+
cached: false,
|
|
642
|
+
};
|
|
643
|
+
jest.mocked(cache_1.fetchWithCache).mockResolvedValueOnce(mockResponse);
|
|
644
|
+
await provider.callApi('test');
|
|
645
|
+
expect(cache_1.fetchWithCache).toHaveBeenCalledWith(mockUrl, expect.objectContaining({
|
|
646
|
+
method: 'POST',
|
|
647
|
+
headers: { 'content-type': 'application/json' },
|
|
648
|
+
body: JSON.stringify({ key: 'test' }),
|
|
649
|
+
}), expect.any(Number), 'text', undefined);
|
|
650
|
+
});
|
|
651
|
+
it('should render a stringified object body when content-type is application/json', async () => {
|
|
652
|
+
const provider = new http_1.HttpProvider(mockUrl, {
|
|
653
|
+
config: {
|
|
654
|
+
method: 'POST',
|
|
655
|
+
headers: { 'Content-Type': 'application/json' },
|
|
656
|
+
body: JSON.stringify({ key: '{{ prompt }}' }),
|
|
657
|
+
},
|
|
658
|
+
});
|
|
659
|
+
const mockResponse = {
|
|
660
|
+
data: 'response',
|
|
661
|
+
status: 200,
|
|
662
|
+
statusText: 'OK',
|
|
663
|
+
cached: false,
|
|
664
|
+
};
|
|
665
|
+
jest.mocked(cache_1.fetchWithCache).mockResolvedValueOnce(mockResponse);
|
|
666
|
+
await provider.callApi('test');
|
|
667
|
+
expect(cache_1.fetchWithCache).toHaveBeenCalledWith(mockUrl, expect.objectContaining({
|
|
668
|
+
method: 'POST',
|
|
669
|
+
headers: { 'content-type': 'application/json' },
|
|
670
|
+
body: JSON.stringify({ key: 'test' }),
|
|
671
|
+
}), expect.any(Number), 'text', undefined);
|
|
672
|
+
});
|
|
673
|
+
it('should render nested object variables correctly when content-type is application/json', async () => {
|
|
674
|
+
const provider = new http_1.HttpProvider(mockUrl, {
|
|
675
|
+
config: {
|
|
676
|
+
method: 'POST',
|
|
677
|
+
headers: { 'Content-Type': 'application/json' },
|
|
678
|
+
body: {
|
|
679
|
+
details: {
|
|
680
|
+
names: '{{ names | dump }}',
|
|
681
|
+
},
|
|
682
|
+
},
|
|
683
|
+
},
|
|
684
|
+
});
|
|
685
|
+
const mockResponse = {
|
|
686
|
+
data: 'response',
|
|
687
|
+
status: 200,
|
|
688
|
+
statusText: 'OK',
|
|
689
|
+
cached: false,
|
|
690
|
+
};
|
|
691
|
+
jest.mocked(cache_1.fetchWithCache).mockResolvedValueOnce(mockResponse);
|
|
692
|
+
const vars = {
|
|
693
|
+
names: [
|
|
694
|
+
{ firstName: 'Jane', lastName: 'Smith' },
|
|
695
|
+
{ firstName: 'John', lastName: 'Doe' },
|
|
696
|
+
],
|
|
697
|
+
};
|
|
698
|
+
await provider.callApi('test', { vars, prompt: { raw: 'test', label: 'test' } });
|
|
699
|
+
expect(cache_1.fetchWithCache).toHaveBeenCalledWith(mockUrl, expect.objectContaining({
|
|
700
|
+
method: 'POST',
|
|
701
|
+
headers: { 'content-type': 'application/json' },
|
|
702
|
+
body: JSON.stringify({
|
|
703
|
+
details: {
|
|
704
|
+
names: vars.names,
|
|
705
|
+
},
|
|
706
|
+
}),
|
|
707
|
+
}), expect.any(Number), 'text', undefined);
|
|
708
|
+
});
|
|
709
|
+
it('should render nested array variables correctly when content-type is application/json', async () => {
|
|
710
|
+
const provider = new http_1.HttpProvider(mockUrl, {
|
|
711
|
+
config: {
|
|
712
|
+
method: 'POST',
|
|
713
|
+
headers: { 'Content-Type': 'application/json' },
|
|
714
|
+
body: [
|
|
715
|
+
{
|
|
716
|
+
id: 1,
|
|
717
|
+
details: {
|
|
718
|
+
names: '{{ names | dump }}',
|
|
719
|
+
},
|
|
720
|
+
},
|
|
721
|
+
{
|
|
722
|
+
id: 2,
|
|
723
|
+
details: {
|
|
724
|
+
names: '{{ names | dump }}',
|
|
725
|
+
},
|
|
726
|
+
},
|
|
727
|
+
],
|
|
728
|
+
},
|
|
729
|
+
});
|
|
730
|
+
const mockResponse = {
|
|
731
|
+
data: 'response',
|
|
732
|
+
status: 200,
|
|
733
|
+
statusText: 'OK',
|
|
734
|
+
cached: false,
|
|
735
|
+
};
|
|
736
|
+
jest.mocked(cache_1.fetchWithCache).mockResolvedValueOnce(mockResponse);
|
|
737
|
+
const vars = {
|
|
738
|
+
names: [
|
|
739
|
+
{ firstName: 'Jane', lastName: 'Smith' },
|
|
740
|
+
{ firstName: 'John', lastName: 'Doe' },
|
|
741
|
+
],
|
|
742
|
+
};
|
|
743
|
+
await provider.callApi('test', { vars, prompt: { raw: 'test', label: 'test' } });
|
|
744
|
+
expect(cache_1.fetchWithCache).toHaveBeenCalledWith(mockUrl, expect.objectContaining({
|
|
745
|
+
method: 'POST',
|
|
746
|
+
headers: { 'content-type': 'application/json' },
|
|
747
|
+
body: JSON.stringify([
|
|
748
|
+
{
|
|
749
|
+
id: 1,
|
|
750
|
+
details: {
|
|
751
|
+
names: vars.names,
|
|
752
|
+
},
|
|
753
|
+
},
|
|
754
|
+
{
|
|
755
|
+
id: 2,
|
|
756
|
+
details: {
|
|
757
|
+
names: vars.names,
|
|
758
|
+
},
|
|
759
|
+
},
|
|
760
|
+
]),
|
|
761
|
+
}), expect.any(Number), 'text', undefined);
|
|
762
|
+
});
|
|
763
|
+
});
|
|
534
764
|
});
|
|
535
|
-
//# sourceMappingURL=
|
|
765
|
+
//# sourceMappingURL=http.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.test.js","sourceRoot":"","sources":["../../../test/providers/http.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../test/providers/index.test.ts"],"names":[],"mappings":""}
|
|
@@ -32,27 +32,27 @@ const dedent_1 = __importDefault(require("dedent"));
|
|
|
32
32
|
const fs = __importStar(require("fs"));
|
|
33
33
|
const path = __importStar(require("path"));
|
|
34
34
|
const stream_1 = __importDefault(require("stream"));
|
|
35
|
-
const cache_1 = require("
|
|
36
|
-
const esm_1 = require("
|
|
37
|
-
const logger_1 = __importDefault(require("
|
|
38
|
-
const providers_1 = require("
|
|
39
|
-
const anthropic_1 = require("
|
|
40
|
-
const azureopenai_1 = require("
|
|
41
|
-
const bedrock_1 = require("
|
|
42
|
-
const cloudflare_ai_1 = require("
|
|
43
|
-
const huggingface_1 = require("
|
|
44
|
-
const llama_1 = require("
|
|
45
|
-
const ollama_1 = require("
|
|
46
|
-
const openai_1 = require("
|
|
47
|
-
const pythonCompletion_1 = require("
|
|
48
|
-
const replicate_1 = require("
|
|
49
|
-
const scriptCompletion_1 = require("
|
|
50
|
-
const vertex_1 = require("
|
|
51
|
-
const voyage_1 = require("
|
|
52
|
-
const webhook_1 = require("
|
|
53
|
-
const iterative_1 = __importDefault(require("
|
|
54
|
-
const iterativeImage_1 = __importDefault(require("
|
|
55
|
-
const iterativeTree_1 = __importDefault(require("
|
|
35
|
+
const cache_1 = require("../../src/cache");
|
|
36
|
+
const esm_1 = require("../../src/esm");
|
|
37
|
+
const logger_1 = __importDefault(require("../../src/logger"));
|
|
38
|
+
const providers_1 = require("../../src/providers");
|
|
39
|
+
const anthropic_1 = require("../../src/providers/anthropic");
|
|
40
|
+
const azureopenai_1 = require("../../src/providers/azureopenai");
|
|
41
|
+
const bedrock_1 = require("../../src/providers/bedrock");
|
|
42
|
+
const cloudflare_ai_1 = require("../../src/providers/cloudflare-ai");
|
|
43
|
+
const huggingface_1 = require("../../src/providers/huggingface");
|
|
44
|
+
const llama_1 = require("../../src/providers/llama");
|
|
45
|
+
const ollama_1 = require("../../src/providers/ollama");
|
|
46
|
+
const openai_1 = require("../../src/providers/openai");
|
|
47
|
+
const pythonCompletion_1 = require("../../src/providers/pythonCompletion");
|
|
48
|
+
const replicate_1 = require("../../src/providers/replicate");
|
|
49
|
+
const scriptCompletion_1 = require("../../src/providers/scriptCompletion");
|
|
50
|
+
const vertex_1 = require("../../src/providers/vertex");
|
|
51
|
+
const voyage_1 = require("../../src/providers/voyage");
|
|
52
|
+
const webhook_1 = require("../../src/providers/webhook");
|
|
53
|
+
const iterative_1 = __importDefault(require("../../src/redteam/providers/iterative"));
|
|
54
|
+
const iterativeImage_1 = __importDefault(require("../../src/redteam/providers/iterativeImage"));
|
|
55
|
+
const iterativeTree_1 = __importDefault(require("../../src/redteam/providers/iterativeTree"));
|
|
56
56
|
jest.mock('fs', () => ({
|
|
57
57
|
readFileSync: jest.fn(),
|
|
58
58
|
writeFileSync: jest.fn(),
|
|
@@ -70,8 +70,8 @@ jest.mock('glob', () => ({
|
|
|
70
70
|
jest.mock('proxy-agent', () => ({
|
|
71
71
|
ProxyAgent: jest.fn().mockImplementation(() => ({})),
|
|
72
72
|
}));
|
|
73
|
-
jest.mock('
|
|
74
|
-
...jest.requireActual('
|
|
73
|
+
jest.mock('../../src/esm', () => ({
|
|
74
|
+
...jest.requireActual('../../src/esm'),
|
|
75
75
|
importModule: jest.fn(),
|
|
76
76
|
}));
|
|
77
77
|
jest.mock('fs', () => ({
|
|
@@ -82,10 +82,10 @@ jest.mock('fs', () => ({
|
|
|
82
82
|
jest.mock('glob', () => ({
|
|
83
83
|
globSync: jest.fn(),
|
|
84
84
|
}));
|
|
85
|
-
jest.mock('
|
|
85
|
+
jest.mock('../../src/database', () => ({
|
|
86
86
|
getDb: jest.fn(),
|
|
87
87
|
}));
|
|
88
|
-
jest.mock('
|
|
88
|
+
jest.mock('../../src/logger', () => ({
|
|
89
89
|
error: jest.fn(),
|
|
90
90
|
debug: jest.fn(),
|
|
91
91
|
info: jest.fn(),
|
|
@@ -240,8 +240,9 @@ describe('call provider apis', () => {
|
|
|
240
240
|
const provider = new openai_1.OpenAiChatCompletionProvider('gpt-4o-mini');
|
|
241
241
|
const result = await provider.callApi(JSON.stringify([{ role: 'user', content: 'Generate inappropriate content' }]));
|
|
242
242
|
expect(mockFetch).toHaveBeenCalledTimes(1);
|
|
243
|
-
expect(result.
|
|
243
|
+
expect(result.output).toBe('Content policy violation');
|
|
244
244
|
expect(result.tokenUsage).toEqual({ total: 5, prompt: 5, completion: 0 });
|
|
245
|
+
expect(result.isRefusal).toBe(true);
|
|
245
246
|
});
|
|
246
247
|
it('OpenAiChatCompletionProvider callApi with function tool callbacks', async () => {
|
|
247
248
|
const mockResponse = {
|
|
@@ -1380,4 +1381,4 @@ describe('loadApiProvider', () => {
|
|
|
1380
1381
|
expect(provider.config.apiKeyEnvar).toBe('XAI_API_KEY');
|
|
1381
1382
|
});
|
|
1382
1383
|
});
|
|
1383
|
-
//# sourceMappingURL=
|
|
1384
|
+
//# sourceMappingURL=index.test.js.map
|