promptfoo 0.119.0 → 0.119.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 +10 -10
- package/dist/src/app/assets/index-DqlKP0sF.js +72 -0
- package/dist/src/app/assets/{index-BmEhbU1h.js.map → index-DqlKP0sF.js.map} +1 -1
- package/dist/src/app/assets/{source-map-support-5rOGWFat.js → source-map-support-eCtSvaxE.js} +1 -1
- package/dist/src/app/assets/{source-map-support-5rOGWFat.js.map → source-map-support-eCtSvaxE.js.map} +1 -1
- package/dist/src/app/index.html +1 -1
- package/dist/src/assertions/answerRelevance.d.ts +1 -1
- package/dist/src/assertions/answerRelevance.d.ts.map +1 -1
- package/dist/src/assertions/answerRelevance.js +2 -2
- package/dist/src/assertions/answerRelevance.js.map +1 -1
- package/dist/src/assertions/contextFaithfulness.d.ts +1 -1
- package/dist/src/assertions/contextFaithfulness.d.ts.map +1 -1
- package/dist/src/assertions/contextFaithfulness.js +2 -2
- package/dist/src/assertions/contextFaithfulness.js.map +1 -1
- package/dist/src/assertions/contextRecall.d.ts +1 -1
- package/dist/src/assertions/contextRecall.d.ts.map +1 -1
- package/dist/src/assertions/contextRecall.js +2 -2
- package/dist/src/assertions/contextRecall.js.map +1 -1
- package/dist/src/assertions/contextRelevance.d.ts +1 -1
- package/dist/src/assertions/contextRelevance.d.ts.map +1 -1
- package/dist/src/assertions/contextRelevance.js +2 -2
- package/dist/src/assertions/contextRelevance.js.map +1 -1
- package/dist/src/assertions/factuality.d.ts +1 -1
- package/dist/src/assertions/factuality.d.ts.map +1 -1
- package/dist/src/assertions/factuality.js +2 -2
- package/dist/src/assertions/factuality.js.map +1 -1
- package/dist/src/assertions/geval.d.ts +1 -1
- package/dist/src/assertions/geval.d.ts.map +1 -1
- package/dist/src/assertions/geval.js +3 -3
- package/dist/src/assertions/geval.js.map +1 -1
- package/dist/src/assertions/index.d.ts +2 -2
- package/dist/src/assertions/index.d.ts.map +1 -1
- package/dist/src/assertions/index.js +12 -3
- package/dist/src/assertions/index.js.map +1 -1
- package/dist/src/assertions/javascript.d.ts +1 -1
- package/dist/src/assertions/javascript.d.ts.map +1 -1
- package/dist/src/assertions/javascript.js +3 -3
- package/dist/src/assertions/javascript.js.map +1 -1
- package/dist/src/assertions/llmRubric.d.ts +1 -1
- package/dist/src/assertions/llmRubric.d.ts.map +1 -1
- package/dist/src/assertions/llmRubric.js +2 -2
- package/dist/src/assertions/llmRubric.js.map +1 -1
- package/dist/src/assertions/modelGradedClosedQa.d.ts +1 -1
- package/dist/src/assertions/modelGradedClosedQa.d.ts.map +1 -1
- package/dist/src/assertions/modelGradedClosedQa.js +2 -2
- package/dist/src/assertions/modelGradedClosedQa.js.map +1 -1
- package/dist/src/assertions/python.d.ts +1 -1
- package/dist/src/assertions/python.d.ts.map +1 -1
- package/dist/src/assertions/python.js +2 -2
- package/dist/src/assertions/python.js.map +1 -1
- package/dist/src/assertions/ruby.d.ts +1 -1
- package/dist/src/assertions/ruby.d.ts.map +1 -1
- package/dist/src/assertions/ruby.js +2 -2
- package/dist/src/assertions/ruby.js.map +1 -1
- package/dist/src/assertions/traceErrorSpans.d.ts +1 -1
- package/dist/src/assertions/traceErrorSpans.d.ts.map +1 -1
- package/dist/src/assertions/traceErrorSpans.js +3 -3
- package/dist/src/assertions/traceErrorSpans.js.map +1 -1
- package/dist/src/assertions/traceSpanCount.d.ts +1 -1
- package/dist/src/assertions/traceSpanCount.d.ts.map +1 -1
- package/dist/src/assertions/traceSpanCount.js +3 -3
- package/dist/src/assertions/traceSpanCount.js.map +1 -1
- package/dist/src/assertions/traceSpanDuration.d.ts +1 -1
- package/dist/src/assertions/traceSpanDuration.d.ts.map +1 -1
- package/dist/src/assertions/traceSpanDuration.js +3 -3
- package/dist/src/assertions/traceSpanDuration.js.map +1 -1
- package/dist/src/commands/init.d.ts +1 -0
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +29 -0
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/share.d.ts.map +1 -1
- package/dist/src/commands/share.js +23 -5
- package/dist/src/commands/share.js.map +1 -1
- package/dist/src/database/tables.d.ts +136 -48
- package/dist/src/database/tables.d.ts.map +1 -1
- package/dist/src/envars.d.ts +4 -0
- package/dist/src/envars.d.ts.map +1 -1
- package/dist/src/envars.js.map +1 -1
- package/dist/src/evaluator.d.ts +1 -1
- package/dist/src/evaluator.d.ts.map +1 -1
- package/dist/src/evaluator.js +20 -3
- package/dist/src/evaluator.js.map +1 -1
- package/dist/src/generated/constants.js +1 -1
- package/dist/src/matchers.d.ts +10 -10
- package/dist/src/matchers.d.ts.map +1 -1
- package/dist/src/matchers.js +81 -30
- package/dist/src/matchers.js.map +1 -1
- package/dist/src/microsoftSharepoint.d.ts +12 -0
- package/dist/src/microsoftSharepoint.d.ts.map +1 -0
- package/dist/src/microsoftSharepoint.js +154 -0
- package/dist/src/microsoftSharepoint.js.map +1 -0
- package/dist/src/models/eval.d.ts.map +1 -1
- package/dist/src/models/eval.js +26 -26
- package/dist/src/models/eval.js.map +1 -1
- package/dist/src/providers/google/live.d.ts +8 -0
- package/dist/src/providers/google/live.d.ts.map +1 -1
- package/dist/src/providers/google/live.js +44 -16
- package/dist/src/providers/google/live.js.map +1 -1
- package/dist/src/providers/http.d.ts +2 -2
- package/dist/src/providers/http.d.ts.map +1 -1
- package/dist/src/providers/http.js +16 -0
- package/dist/src/providers/http.js.map +1 -1
- package/dist/src/providers/index.d.ts +1 -1
- package/dist/src/providers/index.d.ts.map +1 -1
- package/dist/src/providers/index.js +42 -6
- package/dist/src/providers/index.js.map +1 -1
- package/dist/src/providers/simulatedUser.d.ts +20 -0
- package/dist/src/providers/simulatedUser.d.ts.map +1 -1
- package/dist/src/providers/simulatedUser.js +92 -1
- package/dist/src/providers/simulatedUser.js.map +1 -1
- package/dist/src/python/persistent_wrapper.py +95 -11
- package/dist/src/python/worker.d.ts +1 -2
- package/dist/src/python/worker.d.ts.map +1 -1
- package/dist/src/python/worker.js +2 -2
- package/dist/src/python/worker.js.map +1 -1
- package/dist/src/redteam/commands/generate.d.ts.map +1 -1
- package/dist/src/redteam/commands/generate.js +0 -1
- package/dist/src/redteam/commands/generate.js.map +1 -1
- package/dist/src/redteam/constants/frameworks.d.ts +1 -1
- package/dist/src/redteam/constants/frameworks.d.ts.map +1 -1
- package/dist/src/redteam/constants/frameworks.js +49 -12
- package/dist/src/redteam/constants/frameworks.js.map +1 -1
- package/dist/src/redteam/constants/metadata.d.ts.map +1 -1
- package/dist/src/redteam/constants/metadata.js +61 -4
- package/dist/src/redteam/constants/metadata.js.map +1 -1
- package/dist/src/redteam/constants/plugins.d.ts +10 -4
- package/dist/src/redteam/constants/plugins.d.ts.map +1 -1
- package/dist/src/redteam/constants/plugins.js +26 -1
- package/dist/src/redteam/constants/plugins.js.map +1 -1
- package/dist/src/redteam/constants/strategies.d.ts +11 -3
- package/dist/src/redteam/constants/strategies.d.ts.map +1 -1
- package/dist/src/redteam/constants/strategies.js +21 -3
- package/dist/src/redteam/constants/strategies.js.map +1 -1
- package/dist/src/redteam/graders.d.ts.map +1 -1
- package/dist/src/redteam/graders.js +14 -0
- package/dist/src/redteam/graders.js.map +1 -1
- package/dist/src/redteam/index.d.ts +1 -22
- package/dist/src/redteam/index.d.ts.map +1 -1
- package/dist/src/redteam/index.js +200 -138
- package/dist/src/redteam/index.js.map +1 -1
- package/dist/src/redteam/plugins/aegis.d.ts +3 -3
- package/dist/src/redteam/plugins/aegis.d.ts.map +1 -1
- package/dist/src/redteam/plugins/aegis.js +2 -2
- package/dist/src/redteam/plugins/aegis.js.map +1 -1
- package/dist/src/redteam/plugins/asciiSmuggling.d.ts +3 -3
- package/dist/src/redteam/plugins/asciiSmuggling.d.ts.map +1 -1
- package/dist/src/redteam/plugins/asciiSmuggling.js +1 -1
- package/dist/src/redteam/plugins/asciiSmuggling.js.map +1 -1
- package/dist/src/redteam/plugins/base.d.ts +6 -1
- package/dist/src/redteam/plugins/base.d.ts.map +1 -1
- package/dist/src/redteam/plugins/base.js +18 -15
- package/dist/src/redteam/plugins/base.js.map +1 -1
- package/dist/src/redteam/plugins/beavertails.d.ts +3 -3
- package/dist/src/redteam/plugins/beavertails.d.ts.map +1 -1
- package/dist/src/redteam/plugins/beavertails.js +7 -2
- package/dist/src/redteam/plugins/beavertails.js.map +1 -1
- package/dist/src/redteam/plugins/crossSessionLeak.d.ts +3 -3
- package/dist/src/redteam/plugins/crossSessionLeak.d.ts.map +1 -1
- package/dist/src/redteam/plugins/crossSessionLeak.js +1 -1
- package/dist/src/redteam/plugins/crossSessionLeak.js.map +1 -1
- package/dist/src/redteam/plugins/goalMisalignment.d.ts +18 -0
- package/dist/src/redteam/plugins/goalMisalignment.d.ts.map +1 -0
- package/dist/src/redteam/plugins/goalMisalignment.js +548 -0
- package/dist/src/redteam/plugins/goalMisalignment.js.map +1 -0
- package/dist/src/redteam/plugins/harmful/graders.d.ts +3 -3
- package/dist/src/redteam/plugins/harmful/graders.d.ts.map +1 -1
- package/dist/src/redteam/plugins/harmful/graders.js +2 -2
- package/dist/src/redteam/plugins/harmful/graders.js.map +1 -1
- package/dist/src/redteam/plugins/insurance/coverageDiscrimination.d.ts +11 -0
- package/dist/src/redteam/plugins/insurance/coverageDiscrimination.d.ts.map +1 -0
- package/dist/src/redteam/plugins/insurance/coverageDiscrimination.js +81 -0
- package/dist/src/redteam/plugins/insurance/coverageDiscrimination.js.map +1 -0
- package/dist/src/redteam/plugins/insurance/networkMisinformation.d.ts +11 -0
- package/dist/src/redteam/plugins/insurance/networkMisinformation.d.ts.map +1 -0
- package/dist/src/redteam/plugins/insurance/networkMisinformation.js +81 -0
- package/dist/src/redteam/plugins/insurance/networkMisinformation.js.map +1 -0
- package/dist/src/redteam/plugins/insurance/phiDisclosure.d.ts +11 -0
- package/dist/src/redteam/plugins/insurance/phiDisclosure.d.ts.map +1 -0
- package/dist/src/redteam/plugins/insurance/phiDisclosure.js +78 -0
- package/dist/src/redteam/plugins/insurance/phiDisclosure.js.map +1 -0
- package/dist/src/redteam/plugins/intent.d.ts +3 -3
- package/dist/src/redteam/plugins/intent.d.ts.map +1 -1
- package/dist/src/redteam/plugins/intent.js +2 -2
- package/dist/src/redteam/plugins/intent.js.map +1 -1
- package/dist/src/redteam/plugins/pharmacy/controlledSubstanceCompliance.d.ts +11 -0
- package/dist/src/redteam/plugins/pharmacy/controlledSubstanceCompliance.d.ts.map +1 -0
- package/dist/src/redteam/plugins/pharmacy/controlledSubstanceCompliance.js +76 -0
- package/dist/src/redteam/plugins/pharmacy/controlledSubstanceCompliance.js.map +1 -0
- package/dist/src/redteam/plugins/pharmacy/dosageCalculation.d.ts +11 -0
- package/dist/src/redteam/plugins/pharmacy/dosageCalculation.d.ts.map +1 -0
- package/dist/src/redteam/plugins/pharmacy/dosageCalculation.js +75 -0
- package/dist/src/redteam/plugins/pharmacy/dosageCalculation.js.map +1 -0
- package/dist/src/redteam/plugins/pharmacy/drugInteraction.d.ts +11 -0
- package/dist/src/redteam/plugins/pharmacy/drugInteraction.d.ts.map +1 -0
- package/dist/src/redteam/plugins/pharmacy/drugInteraction.js +69 -0
- package/dist/src/redteam/plugins/pharmacy/drugInteraction.js.map +1 -0
- package/dist/src/redteam/plugins/policy/index.d.ts +3 -3
- package/dist/src/redteam/plugins/policy/index.d.ts.map +1 -1
- package/dist/src/redteam/plugins/policy/index.js +2 -2
- package/dist/src/redteam/plugins/policy/index.js.map +1 -1
- package/dist/src/redteam/plugins/policy/utils.d.ts +2 -1
- package/dist/src/redteam/plugins/policy/utils.d.ts.map +1 -1
- package/dist/src/redteam/plugins/policy/utils.js +21 -3
- package/dist/src/redteam/plugins/policy/utils.js.map +1 -1
- package/dist/src/redteam/plugins/policy/utils.test.js +33 -2
- package/dist/src/redteam/plugins/policy/utils.test.js.map +1 -1
- package/dist/src/redteam/providers/crescendo/index.d.ts +6 -1
- package/dist/src/redteam/providers/crescendo/index.d.ts.map +1 -1
- package/dist/src/redteam/providers/crescendo/index.js +63 -21
- package/dist/src/redteam/providers/crescendo/index.js.map +1 -1
- package/dist/src/redteam/providers/custom/index.d.ts +2 -1
- package/dist/src/redteam/providers/custom/index.d.ts.map +1 -1
- package/dist/src/redteam/providers/custom/index.js +1 -14
- package/dist/src/redteam/providers/custom/index.js.map +1 -1
- package/dist/src/redteam/providers/goat.d.ts +6 -0
- package/dist/src/redteam/providers/goat.d.ts.map +1 -1
- package/dist/src/redteam/providers/goat.js +59 -2
- package/dist/src/redteam/providers/goat.js.map +1 -1
- package/dist/src/redteam/providers/iterative.d.ts +5 -1
- package/dist/src/redteam/providers/iterative.d.ts.map +1 -1
- package/dist/src/redteam/providers/iterative.js +79 -34
- 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 +0 -3
- package/dist/src/redteam/providers/iterativeImage.js.map +1 -1
- package/dist/src/redteam/providers/iterativeTree.d.ts +2 -1
- package/dist/src/redteam/providers/iterativeTree.d.ts.map +1 -1
- package/dist/src/redteam/providers/iterativeTree.js +3 -20
- package/dist/src/redteam/providers/iterativeTree.js.map +1 -1
- package/dist/src/redteam/providers/shared.d.ts +3 -0
- package/dist/src/redteam/providers/shared.d.ts.map +1 -1
- package/dist/src/redteam/providers/shared.js.map +1 -1
- package/dist/src/redteam/providers/traceFormatting.d.ts +6 -0
- package/dist/src/redteam/providers/traceFormatting.d.ts.map +1 -0
- package/dist/src/redteam/providers/traceFormatting.js +55 -0
- package/dist/src/redteam/providers/traceFormatting.js.map +1 -0
- package/dist/src/redteam/providers/tracingOptions.d.ts +22 -0
- package/dist/src/redteam/providers/tracingOptions.d.ts.map +1 -0
- package/dist/src/redteam/providers/tracingOptions.js +54 -0
- package/dist/src/redteam/providers/tracingOptions.js.map +1 -0
- package/dist/src/redteam/shared.d.ts.map +1 -1
- package/dist/src/redteam/shared.js +3 -1
- package/dist/src/redteam/shared.js.map +1 -1
- package/dist/src/redteam/sharedFrontend.d.ts.map +1 -1
- package/dist/src/redteam/sharedFrontend.js +1 -0
- package/dist/src/redteam/sharedFrontend.js.map +1 -1
- package/dist/src/redteam/strategies/index.d.ts.map +1 -1
- package/dist/src/redteam/strategies/index.js +4 -11
- package/dist/src/redteam/strategies/index.js.map +1 -1
- package/dist/src/redteam/strategies/layer.js +1 -1
- package/dist/src/redteam/strategies/layer.js.map +1 -1
- package/dist/src/redteam/strategies/multilingual.d.ts +19 -0
- package/dist/src/redteam/strategies/multilingual.d.ts.map +1 -1
- package/dist/src/redteam/strategies/multilingual.js +32 -0
- package/dist/src/redteam/strategies/multilingual.js.map +1 -1
- package/dist/src/redteam/strategies/simpleImage.d.ts.map +1 -1
- package/dist/src/redteam/strategies/simpleImage.js +75 -2
- package/dist/src/redteam/strategies/simpleImage.js.map +1 -1
- package/dist/src/redteam/types.d.ts +19 -3
- package/dist/src/redteam/types.d.ts.map +1 -1
- package/dist/src/server/utils/evalTableUtils.d.ts.map +1 -1
- package/dist/src/server/utils/evalTableUtils.js +24 -16
- package/dist/src/server/utils/evalTableUtils.js.map +1 -1
- package/dist/src/share.d.ts.map +1 -1
- package/dist/src/share.js +6 -0
- package/dist/src/share.js.map +1 -1
- package/dist/src/tracing/evaluatorTracing.d.ts.map +1 -1
- package/dist/src/tracing/evaluatorTracing.js +3 -1
- package/dist/src/tracing/evaluatorTracing.js.map +1 -1
- package/dist/src/tracing/otlpReceiver.d.ts.map +1 -1
- package/dist/src/tracing/otlpReceiver.js +11 -0
- package/dist/src/tracing/otlpReceiver.js.map +1 -1
- package/dist/src/tracing/store.d.ts +10 -0
- package/dist/src/tracing/store.d.ts.map +1 -1
- package/dist/src/tracing/store.js +174 -3
- package/dist/src/tracing/store.js.map +1 -1
- package/dist/src/tracing/traceContext.d.ts +37 -0
- package/dist/src/tracing/traceContext.d.ts.map +1 -0
- package/dist/src/tracing/traceContext.js +159 -0
- package/dist/src/tracing/traceContext.js.map +1 -0
- package/dist/src/types/env.d.ts +12 -0
- package/dist/src/types/env.d.ts.map +1 -1
- package/dist/src/types/env.js +4 -0
- package/dist/src/types/env.js.map +1 -1
- package/dist/src/types/index.d.ts +1425 -286
- package/dist/src/types/index.d.ts.map +1 -1
- 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/cloud.d.ts +21 -0
- package/dist/src/util/cloud.d.ts.map +1 -1
- package/dist/src/util/cloud.js +125 -0
- package/dist/src/util/cloud.js.map +1 -1
- package/dist/src/util/database.d.ts +8 -0
- package/dist/src/util/database.d.ts.map +1 -1
- package/dist/src/util/index.d.ts +22 -0
- package/dist/src/util/index.d.ts.map +1 -1
- package/dist/src/util/index.js +78 -0
- package/dist/src/util/index.js.map +1 -1
- package/dist/src/util/sanitizer.d.ts.map +1 -1
- package/dist/src/util/sanitizer.js +16 -0
- package/dist/src/util/sanitizer.js.map +1 -1
- package/dist/src/util/testCaseReader.d.ts.map +1 -1
- package/dist/src/util/testCaseReader.js +7 -0
- package/dist/src/util/testCaseReader.js.map +1 -1
- package/dist/src/validators/providers.d.ts +80 -0
- package/dist/src/validators/providers.d.ts.map +1 -1
- package/dist/src/validators/redteam.d.ts +59 -23
- package/dist/src/validators/redteam.d.ts.map +1 -1
- package/dist/src/validators/redteam.js +67 -2
- package/dist/src/validators/redteam.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -10
- package/dist/src/app/assets/index-BmEhbU1h.js +0 -72
|
@@ -37,7 +37,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.resolvePluginConfig = resolvePluginConfig;
|
|
40
|
-
exports.getMultilingualRequestedCount = getMultilingualRequestedCount;
|
|
41
40
|
exports.getTestCount = getTestCount;
|
|
42
41
|
exports.calculateTotalTests = calculateTotalTests;
|
|
43
42
|
exports.synthesize = synthesize;
|
|
@@ -61,7 +60,6 @@ const index_1 = require("./plugins/index");
|
|
|
61
60
|
const shared_1 = require("./providers/shared");
|
|
62
61
|
const remoteGeneration_1 = require("./remoteGeneration");
|
|
63
62
|
const index_2 = require("./strategies/index");
|
|
64
|
-
const multilingual_1 = require("./strategies/multilingual");
|
|
65
63
|
const util_1 = require("./strategies/util");
|
|
66
64
|
const util_2 = require("./util");
|
|
67
65
|
const MAX_MAX_CONCURRENCY = 20;
|
|
@@ -163,6 +161,10 @@ const categories = {
|
|
|
163
161
|
harmful: Object.keys(constants_1.HARM_PLUGINS),
|
|
164
162
|
bias: constants_1.BIAS_PLUGINS,
|
|
165
163
|
pii: constants_1.PII_PLUGINS,
|
|
164
|
+
medical: constants_1.MEDICAL_PLUGINS,
|
|
165
|
+
pharmacy: constants_1.PHARMACY_PLUGINS,
|
|
166
|
+
insurance: constants_1.INSURANCE_PLUGINS,
|
|
167
|
+
financial: constants_1.FINANCIAL_PLUGINS,
|
|
166
168
|
};
|
|
167
169
|
/**
|
|
168
170
|
* Formats the test count for display.
|
|
@@ -173,6 +175,45 @@ const categories = {
|
|
|
173
175
|
const formatTestCount = (numTests, strategy) => numTests === 1
|
|
174
176
|
? `1 ${strategy ? 'additional ' : ''}test`
|
|
175
177
|
: `${numTests} ${strategy ? 'additional ' : ''}tests`;
|
|
178
|
+
/**
|
|
179
|
+
* Gets the language from a test case's metadata.
|
|
180
|
+
* Checks both metadata.language and metadata.modifiers.language.
|
|
181
|
+
* @param test - The test case to get language from.
|
|
182
|
+
* @returns The language string or undefined if not found.
|
|
183
|
+
*/
|
|
184
|
+
function getLanguageForTestCase(test) {
|
|
185
|
+
return test.metadata?.language || test.metadata?.modifiers?.language;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Adds comprehensive metadata to plugin test cases including language, plugin info, and severity.
|
|
189
|
+
* @param test - The test case to add metadata to.
|
|
190
|
+
* @param lang - The language for this test.
|
|
191
|
+
* @param plugin - The plugin configuration.
|
|
192
|
+
* @param testGenerationInstructions - Optional test generation instructions.
|
|
193
|
+
* @returns Test case with complete metadata.
|
|
194
|
+
*/
|
|
195
|
+
function addLanguageToPluginMetadata(test, lang, plugin, testGenerationInstructions) {
|
|
196
|
+
const existingLanguage = getLanguageForTestCase(test);
|
|
197
|
+
const languageToAdd = lang && !existingLanguage ? { language: lang } : {};
|
|
198
|
+
return {
|
|
199
|
+
...test,
|
|
200
|
+
metadata: {
|
|
201
|
+
pluginId: plugin.id,
|
|
202
|
+
pluginConfig: resolvePluginConfig(plugin.config),
|
|
203
|
+
severity: plugin.severity ?? getPluginSeverity(plugin.id, resolvePluginConfig(plugin.config)),
|
|
204
|
+
modifiers: {
|
|
205
|
+
...(testGenerationInstructions ? { testGenerationInstructions } : {}),
|
|
206
|
+
...(plugin.config?.modifiers || {}),
|
|
207
|
+
...test.metadata?.modifiers,
|
|
208
|
+
// Add language to modifiers if not already present (respect existing)
|
|
209
|
+
...languageToAdd,
|
|
210
|
+
},
|
|
211
|
+
...test.metadata,
|
|
212
|
+
// Hoist language to top-level metadata for backward compatibility and easier access
|
|
213
|
+
...languageToAdd,
|
|
214
|
+
},
|
|
215
|
+
};
|
|
216
|
+
}
|
|
176
217
|
/**
|
|
177
218
|
* Determines whether a strategy should be applied to a test case based on plugin targeting rules.
|
|
178
219
|
*
|
|
@@ -189,19 +230,6 @@ const formatTestCount = (numTests, strategy) => numTests === 1
|
|
|
189
230
|
* Supports both exact matches and category prefixes (e.g., 'harmful' matches 'harmful:hate')
|
|
190
231
|
* @returns True if the strategy should be applied to this test case, false otherwise
|
|
191
232
|
*/
|
|
192
|
-
/**
|
|
193
|
-
* Helper function to calculate the number of expected test cases for the multilingual strategy.
|
|
194
|
-
*/
|
|
195
|
-
function getMultilingualRequestedCount(testCases, strategy) {
|
|
196
|
-
// If languages is an empty array, return 0
|
|
197
|
-
if (Array.isArray(strategy.config?.languages) && strategy.config.languages.length === 0) {
|
|
198
|
-
return 0;
|
|
199
|
-
}
|
|
200
|
-
const numLanguages = Array.isArray(strategy.config?.languages)
|
|
201
|
-
? strategy.config.languages.length
|
|
202
|
-
: multilingual_1.DEFAULT_LANGUAGES.length;
|
|
203
|
-
return testCases.length * numLanguages;
|
|
204
|
-
}
|
|
205
233
|
/**
|
|
206
234
|
* Applies strategies to the test cases.
|
|
207
235
|
* @param testCases - The initial test cases generated by plugins.
|
|
@@ -264,33 +292,40 @@ async function applyStrategies(testCases, strategies, injectVar, excludeTargetOu
|
|
|
264
292
|
.map((st) => (typeof st === 'string' ? st : st.id))
|
|
265
293
|
.join('→')})`
|
|
266
294
|
: strategy.id;
|
|
267
|
-
//
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
? stepCfg.languages.length
|
|
287
|
-
: multilingual_1.DEFAULT_LANGUAGES.length;
|
|
288
|
-
multiplier *= numLangs;
|
|
295
|
+
// Check if strategy generated tests across multiple languages
|
|
296
|
+
// Language can be in metadata.language or metadata.modifiers.language
|
|
297
|
+
// Note: Language is passed to strategies via test metadata.modifiers.language from plugin generation
|
|
298
|
+
const languagesInResults = new Set(strategyTestCases
|
|
299
|
+
.map((t) => getLanguageForTestCase(t))
|
|
300
|
+
.filter((lang) => lang !== undefined));
|
|
301
|
+
if (languagesInResults.size > 1) {
|
|
302
|
+
// Strategy was applied to multilingual tests - break down by language
|
|
303
|
+
// Don't show language suffix for English (en) - it's the default
|
|
304
|
+
const resultsByLanguage = {};
|
|
305
|
+
for (const lang of languagesInResults) {
|
|
306
|
+
const testsForLang = strategyTestCases.filter((t) => getLanguageForTestCase(t) === lang);
|
|
307
|
+
const applicableForLang = applicableTestCases.filter((t) => getLanguageForTestCase(t) === lang);
|
|
308
|
+
let n = 1;
|
|
309
|
+
if (typeof strategy.config?.n === 'number') {
|
|
310
|
+
n = strategy.config.n;
|
|
311
|
+
}
|
|
312
|
+
else if ((0, constants_1.isFanoutStrategy)(strategy.id)) {
|
|
313
|
+
n = (0, constants_1.getDefaultNFanout)(strategy.id);
|
|
289
314
|
}
|
|
315
|
+
resultsByLanguage[lang] = {
|
|
316
|
+
requested: applicableForLang.length * n,
|
|
317
|
+
generated: testsForLang.length,
|
|
318
|
+
};
|
|
290
319
|
}
|
|
291
|
-
const
|
|
320
|
+
for (const [lang, result] of Object.entries(resultsByLanguage)) {
|
|
321
|
+
const strategyDisplayId = lang === 'en' ? displayId : `${displayId} (${lang})`;
|
|
322
|
+
strategyResults[strategyDisplayId] = result;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
else if (strategy.id === 'layer') {
|
|
326
|
+
// Layer strategy: requested count is same as applicable test cases
|
|
292
327
|
strategyResults[displayId] = {
|
|
293
|
-
requested:
|
|
328
|
+
requested: applicableTestCases.length,
|
|
294
329
|
generated: strategyTestCases.length,
|
|
295
330
|
};
|
|
296
331
|
}
|
|
@@ -323,35 +358,10 @@ function getTestCount(strategy, totalPluginTests, _strategies) {
|
|
|
323
358
|
if (strategy.id === 'basic') {
|
|
324
359
|
return strategy.config?.enabled === false ? 0 : totalPluginTests;
|
|
325
360
|
}
|
|
326
|
-
//
|
|
327
|
-
|
|
328
|
-
// If languages is an empty array, return 0
|
|
329
|
-
if (Array.isArray(strategy.config?.languages) && strategy.config.languages.length === 0) {
|
|
330
|
-
return 0;
|
|
331
|
-
}
|
|
332
|
-
const numLanguages = Object.keys(strategy.config?.languages ?? {}).length || multilingual_1.DEFAULT_LANGUAGES.length;
|
|
333
|
-
return totalPluginTests * numLanguages;
|
|
334
|
-
}
|
|
335
|
-
// Sequence strategy: approximate by multiplying plugin tests by language multipliers of any multilingual steps
|
|
361
|
+
// Layer strategy: returns the same count as plugin tests
|
|
362
|
+
// (plugins already account for language multipliers)
|
|
336
363
|
if (strategy.id === 'layer') {
|
|
337
|
-
|
|
338
|
-
? strategy.config.steps
|
|
339
|
-
: [];
|
|
340
|
-
let multiplier = 1;
|
|
341
|
-
for (const st of steps) {
|
|
342
|
-
const stepId = typeof st === 'string' ? st : st.id;
|
|
343
|
-
if (stepId === 'multilingual') {
|
|
344
|
-
const stepCfg = (typeof st === 'string' ? {} : st.config) || {};
|
|
345
|
-
if (Array.isArray(stepCfg.languages) && stepCfg.languages.length === 0) {
|
|
346
|
-
continue; // no additional tests
|
|
347
|
-
}
|
|
348
|
-
const numLangs = Array.isArray(stepCfg.languages) && stepCfg.languages.length > 0
|
|
349
|
-
? stepCfg.languages.length
|
|
350
|
-
: multilingual_1.DEFAULT_LANGUAGES.length;
|
|
351
|
-
multiplier *= numLangs;
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
|
-
return totalPluginTests * multiplier;
|
|
364
|
+
return totalPluginTests;
|
|
355
365
|
}
|
|
356
366
|
// Retry strategy doubles the plugin tests
|
|
357
367
|
if (strategy.id === 'retry') {
|
|
@@ -375,21 +385,27 @@ function getTestCount(strategy, totalPluginTests, _strategies) {
|
|
|
375
385
|
* @param strategies - The array of strategies to apply
|
|
376
386
|
* @returns Object containing total tests and intermediate calculations
|
|
377
387
|
*/
|
|
378
|
-
function calculateTotalTests(plugins, strategies) {
|
|
379
|
-
const multilingualStrategy = strategies.find((s) => s.id === 'multilingual');
|
|
388
|
+
function calculateTotalTests(plugins, strategies, language) {
|
|
380
389
|
const retryStrategy = strategies.find((s) => s.id === 'retry');
|
|
381
390
|
const basicStrategy = strategies.find((s) => s.id === 'basic');
|
|
382
391
|
const basicStrategyExists = basicStrategy !== undefined;
|
|
383
392
|
const includeBasicTests = basicStrategy?.config?.enabled ?? true;
|
|
384
393
|
const effectiveStrategyCount = basicStrategyExists && !includeBasicTests ? strategies.length - 1 : strategies.length;
|
|
385
|
-
|
|
394
|
+
// Calculate total plugin tests accounting for multiple languages
|
|
395
|
+
// Each plugin's tests are multiplied by the number of languages when multiple languages are configured
|
|
396
|
+
const totalPluginTests = plugins.reduce((sum, p) => {
|
|
397
|
+
const pluginLanguageConfig = p.config?.language ?? language;
|
|
398
|
+
const pluginLanguageCount = Array.isArray(pluginLanguageConfig)
|
|
399
|
+
? pluginLanguageConfig.length
|
|
400
|
+
: 1;
|
|
401
|
+
return sum + (p.numTests || 0) * pluginLanguageCount;
|
|
402
|
+
}, 0);
|
|
386
403
|
// When there are no strategies, or only a disabled basic strategy
|
|
387
404
|
if (strategies.length === 0 ||
|
|
388
405
|
(strategies.length === 1 && basicStrategyExists && !includeBasicTests)) {
|
|
389
406
|
return {
|
|
390
407
|
effectiveStrategyCount: 0,
|
|
391
408
|
includeBasicTests: strategies.length === 0 ? true : includeBasicTests,
|
|
392
|
-
multilingualStrategy: undefined,
|
|
393
409
|
totalPluginTests,
|
|
394
410
|
totalTests: includeBasicTests ? totalPluginTests : 0,
|
|
395
411
|
};
|
|
@@ -400,22 +416,17 @@ function calculateTotalTests(plugins, strategies) {
|
|
|
400
416
|
if (retryStrategy) {
|
|
401
417
|
totalTests = getTestCount(retryStrategy, totalTests, strategies);
|
|
402
418
|
}
|
|
403
|
-
// Apply other non-basic, non-
|
|
419
|
+
// Apply other non-basic, non-retry strategies
|
|
404
420
|
for (const strategy of strategies) {
|
|
405
|
-
if (['basic', '
|
|
421
|
+
if (['basic', 'retry'].includes(strategy.id)) {
|
|
406
422
|
continue;
|
|
407
423
|
}
|
|
408
424
|
// Add the tests from this strategy to the total, not replace the total
|
|
409
425
|
totalTests += getTestCount(strategy, totalPluginTests, strategies);
|
|
410
426
|
}
|
|
411
|
-
// Apply multilingual strategy last if present
|
|
412
|
-
if (multilingualStrategy) {
|
|
413
|
-
totalTests = getTestCount(multilingualStrategy, totalTests, strategies);
|
|
414
|
-
}
|
|
415
427
|
return {
|
|
416
428
|
effectiveStrategyCount,
|
|
417
429
|
includeBasicTests,
|
|
418
|
-
multilingualStrategy,
|
|
419
430
|
totalPluginTests,
|
|
420
431
|
totalTests,
|
|
421
432
|
};
|
|
@@ -490,34 +501,44 @@ async function synthesize({ abortSignal, delay, entities: entitiesOverride, inje
|
|
|
490
501
|
return true;
|
|
491
502
|
});
|
|
492
503
|
(0, index_2.validateStrategies)(strategies);
|
|
504
|
+
// If any language-disallowed strategies are present, force language to English only
|
|
505
|
+
const hasLanguageDisallowedStrategy = strategies.some((s) => (0, constants_1.isLanguageDisallowedStrategy)(s.id));
|
|
506
|
+
if (hasLanguageDisallowedStrategy && language) {
|
|
507
|
+
const originalLanguage = Array.isArray(language) ? language.join(', ') : language;
|
|
508
|
+
language = 'en';
|
|
509
|
+
logger_1.default.info(`[Language Override] Detected language-disallowed strategy (audio/video/image/layer/math-prompt). Forcing language to 'en' (was: ${originalLanguage})`);
|
|
510
|
+
}
|
|
493
511
|
const redteamProvider = await shared_1.redteamProviderManager.getProvider({
|
|
494
512
|
provider,
|
|
495
513
|
});
|
|
496
|
-
const { effectiveStrategyCount, includeBasicTests,
|
|
514
|
+
const { effectiveStrategyCount, includeBasicTests, totalPluginTests, totalTests } = calculateTotalTests(plugins, strategies, language);
|
|
497
515
|
logger_1.default.info(`Synthesizing test cases for ${prompts.length} ${prompts.length === 1 ? 'prompt' : 'prompts'}...\nUsing plugins:\n\n${chalk_1.default.yellow(plugins
|
|
498
|
-
.map((p) =>
|
|
516
|
+
.map((p) => {
|
|
517
|
+
// Calculate actual test count accounting for multiple languages
|
|
518
|
+
const pluginLanguageConfig = p.config?.language ?? language;
|
|
519
|
+
const pluginLanguageCount = Array.isArray(pluginLanguageConfig)
|
|
520
|
+
? pluginLanguageConfig.length
|
|
521
|
+
: 1;
|
|
522
|
+
const actualTestCount = (p.numTests || 0) * pluginLanguageCount;
|
|
523
|
+
return `${p.id} (${formatTestCount(actualTestCount, false)})${p.config ? ` (${JSON.stringify(p.config)})` : ''}`;
|
|
524
|
+
})
|
|
499
525
|
.sort()
|
|
500
526
|
.join('\n'))}\n`);
|
|
501
527
|
if (strategies.length > 0) {
|
|
502
528
|
logger_1.default.info(`Using strategies:\n\n${chalk_1.default.yellow(strategies
|
|
503
529
|
.filter((s) => !['basic', 'retry'].includes(s.id))
|
|
504
530
|
.map((s) => {
|
|
505
|
-
// For non-basic
|
|
531
|
+
// For non-basic strategies, we want to show the additional tests they generate
|
|
506
532
|
let testCount = totalPluginTests;
|
|
507
|
-
if
|
|
508
|
-
|
|
533
|
+
// Apply fan-out multiplier if this is a fan-out strategy
|
|
534
|
+
let n = 1;
|
|
535
|
+
if (typeof s.config?.n === 'number') {
|
|
536
|
+
n = s.config.n;
|
|
509
537
|
}
|
|
510
|
-
else {
|
|
511
|
-
|
|
512
|
-
let n = 1;
|
|
513
|
-
if (typeof s.config?.n === 'number') {
|
|
514
|
-
n = s.config.n;
|
|
515
|
-
}
|
|
516
|
-
else if ((0, constants_1.isFanoutStrategy)(s.id)) {
|
|
517
|
-
n = (0, constants_1.getDefaultNFanout)(s.id);
|
|
518
|
-
}
|
|
519
|
-
testCount = totalPluginTests * n;
|
|
538
|
+
else if ((0, constants_1.isFanoutStrategy)(s.id)) {
|
|
539
|
+
n = (0, constants_1.getDefaultNFanout)(s.id);
|
|
520
540
|
}
|
|
541
|
+
testCount = totalPluginTests * n;
|
|
521
542
|
return `${s.id} (${formatTestCount(testCount, true)})`;
|
|
522
543
|
})
|
|
523
544
|
.sort()
|
|
@@ -664,40 +685,73 @@ async function synthesize({ abortSignal, delay, entities: entitiesOverride, inje
|
|
|
664
685
|
const { action } = index_1.Plugins.find((p) => p.key === plugin.id) || {};
|
|
665
686
|
if (action) {
|
|
666
687
|
logger_1.default.debug(`Generating tests for ${plugin.id}...`);
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
const testCasesWithMetadata = pluginTests.map((t) => ({
|
|
689
|
-
...t,
|
|
690
|
-
metadata: {
|
|
691
|
-
pluginId: plugin.id,
|
|
692
|
-
pluginConfig: resolvePluginConfig(plugin.config),
|
|
693
|
-
severity: plugin.severity ?? getPluginSeverity(plugin.id, resolvePluginConfig(plugin.config)),
|
|
688
|
+
// If plugin has its own language, use that; otherwise use global language
|
|
689
|
+
const languageConfig = plugin.config?.language ?? language;
|
|
690
|
+
const languages = Array.isArray(languageConfig)
|
|
691
|
+
? languageConfig
|
|
692
|
+
: languageConfig
|
|
693
|
+
? [languageConfig]
|
|
694
|
+
: ['en'];
|
|
695
|
+
logger_1.default.debug(`[Language Processing] Plugin: ${plugin.id}, Languages: ${JSON.stringify(languages)}, NumTests per language: ${plugin.numTests}${plugin.config?.language ? ' (plugin override)' : ''}`);
|
|
696
|
+
// Generate tests for each language in parallel using Promise.allSettled
|
|
697
|
+
const allPluginTests = [];
|
|
698
|
+
const resultsPerLanguage = {};
|
|
699
|
+
const languagePromises = languages.map(async (lang) => {
|
|
700
|
+
const pluginTests = await action({
|
|
701
|
+
provider: redteamProvider,
|
|
702
|
+
purpose,
|
|
703
|
+
injectVar,
|
|
704
|
+
n: plugin.numTests,
|
|
705
|
+
delayMs: delay || 0,
|
|
706
|
+
config: {
|
|
707
|
+
...resolvePluginConfig(plugin.config),
|
|
708
|
+
language: lang,
|
|
694
709
|
modifiers: {
|
|
695
710
|
...(testGenerationInstructions ? { testGenerationInstructions } : {}),
|
|
696
711
|
...(plugin.config?.modifiers || {}),
|
|
697
712
|
},
|
|
698
|
-
...(t?.metadata || {}),
|
|
699
713
|
},
|
|
700
|
-
})
|
|
714
|
+
});
|
|
715
|
+
{
|
|
716
|
+
const langKey = lang;
|
|
717
|
+
if (Array.isArray(pluginTests) && pluginTests.length > 0) {
|
|
718
|
+
// Add all metadata (language + plugin info) so strategies can access it
|
|
719
|
+
const testsWithMetadata = pluginTests.map((test) => addLanguageToPluginMetadata(test, lang, plugin, testGenerationInstructions));
|
|
720
|
+
return {
|
|
721
|
+
lang: langKey,
|
|
722
|
+
tests: testsWithMetadata,
|
|
723
|
+
requested: plugin.numTests,
|
|
724
|
+
generated: pluginTests.length,
|
|
725
|
+
};
|
|
726
|
+
}
|
|
727
|
+
logger_1.default.warn(`[Language Processing] No tests generated for ${plugin.id} in language: ${lang || 'default'}`);
|
|
728
|
+
return {
|
|
729
|
+
lang: langKey,
|
|
730
|
+
tests: [],
|
|
731
|
+
requested: plugin.numTests,
|
|
732
|
+
generated: 0,
|
|
733
|
+
};
|
|
734
|
+
}
|
|
735
|
+
});
|
|
736
|
+
const languageResults = await Promise.allSettled(languagePromises);
|
|
737
|
+
for (const result of languageResults) {
|
|
738
|
+
if (result.status === 'fulfilled') {
|
|
739
|
+
const { lang, tests, requested, generated } = result.value;
|
|
740
|
+
allPluginTests.push(...tests);
|
|
741
|
+
resultsPerLanguage[lang] = { requested, generated };
|
|
742
|
+
}
|
|
743
|
+
else {
|
|
744
|
+
// Handle rejected promise
|
|
745
|
+
logger_1.default.warn(`[Language Processing] Error generating tests for ${plugin.id}: ${result.reason}`);
|
|
746
|
+
}
|
|
747
|
+
}
|
|
748
|
+
logger_1.default.debug(`[Language Processing] Total tests generated for ${plugin.id}: ${allPluginTests.length} (across ${languages.length} language(s))`);
|
|
749
|
+
if (!Array.isArray(allPluginTests) || allPluginTests.length === 0) {
|
|
750
|
+
logger_1.default.warn(`Failed to generate tests for ${plugin.id}`);
|
|
751
|
+
}
|
|
752
|
+
else {
|
|
753
|
+
// Metadata already added in promise resolution above (including pluginId)
|
|
754
|
+
const testCasesWithMetadata = allPluginTests;
|
|
701
755
|
// Extract goal for this plugin's tests
|
|
702
756
|
logger_1.default.debug(`Extracting goal for ${testCasesWithMetadata.length} tests from ${plugin.id}...`);
|
|
703
757
|
for (const testCase of testCasesWithMetadata) {
|
|
@@ -710,18 +764,31 @@ async function synthesize({ abortSignal, delay, entities: entitiesOverride, inje
|
|
|
710
764
|
// Add the results to main test cases array
|
|
711
765
|
testCases.push(...testCasesWithMetadata);
|
|
712
766
|
}
|
|
713
|
-
pluginTests = Array.isArray(pluginTests) ? pluginTests : [];
|
|
714
767
|
if (showProgressBar) {
|
|
715
|
-
progressBar?.increment(plugin.numTests);
|
|
768
|
+
progressBar?.increment(plugin.numTests * languages.length);
|
|
716
769
|
}
|
|
717
770
|
else {
|
|
718
|
-
logger_1.default.info(`Generated ${
|
|
771
|
+
logger_1.default.info(`Generated ${allPluginTests.length} tests for ${plugin.id}`);
|
|
772
|
+
}
|
|
773
|
+
logger_1.default.debug(`Added ${allPluginTests.length} ${plugin.id} test cases`);
|
|
774
|
+
// If multiple defined languages were used, create separate report entries for each language
|
|
775
|
+
// Otherwise, use the aggregated result for the plugin
|
|
776
|
+
const definedLanguages = languages.filter((lang) => lang !== undefined);
|
|
777
|
+
if (definedLanguages.length > 1) {
|
|
778
|
+
// Multiple languages - create separate entries for each
|
|
779
|
+
// Don't show language suffix for English (en) - it's the default
|
|
780
|
+
for (const [langKey, result] of Object.entries(resultsPerLanguage)) {
|
|
781
|
+
const displayId = langKey === 'en' ? plugin.id : `${plugin.id} (${langKey})`;
|
|
782
|
+
pluginResults[displayId] = result;
|
|
783
|
+
}
|
|
784
|
+
}
|
|
785
|
+
else {
|
|
786
|
+
// Single language or no language - use aggregated result
|
|
787
|
+
pluginResults[plugin.id] = {
|
|
788
|
+
requested: plugin.id === 'intent' ? allPluginTests.length : plugin.numTests * languages.length,
|
|
789
|
+
generated: allPluginTests.length,
|
|
790
|
+
};
|
|
719
791
|
}
|
|
720
|
-
logger_1.default.debug(`Added ${pluginTests.length} ${plugin.id} test cases`);
|
|
721
|
-
pluginResults[plugin.id] = {
|
|
722
|
-
requested: plugin.id === 'intent' ? pluginTests.length : plugin.numTests,
|
|
723
|
-
generated: pluginTests.length,
|
|
724
|
-
};
|
|
725
792
|
}
|
|
726
793
|
else if (plugin.id.startsWith('file://')) {
|
|
727
794
|
try {
|
|
@@ -785,19 +852,14 @@ async function synthesize({ abortSignal, delay, entities: entitiesOverride, inje
|
|
|
785
852
|
pluginTestCases.push(...retryTestCases);
|
|
786
853
|
Object.assign(strategyResults, retryResults);
|
|
787
854
|
}
|
|
788
|
-
// Check for abort signal or apply non-basic
|
|
855
|
+
// Check for abort signal or apply non-basic strategies
|
|
789
856
|
checkAbort();
|
|
790
|
-
const { testCases: strategyTestCases, strategyResults: otherStrategyResults } = await applyStrategies(pluginTestCases, strategies.filter((s) => !['basic', '
|
|
857
|
+
const { testCases: strategyTestCases, strategyResults: otherStrategyResults } = await applyStrategies(pluginTestCases, strategies.filter((s) => !['basic', 'retry'].includes(s.id)), injectVar, excludeTargetOutputFromAgenticAttackGeneration);
|
|
791
858
|
Object.assign(strategyResults, otherStrategyResults);
|
|
792
859
|
// Combine test cases based on basic strategy setting
|
|
793
860
|
const finalTestCases = [...(includeBasicTests ? pluginTestCases : []), ...strategyTestCases];
|
|
794
|
-
// Check for abort signal
|
|
861
|
+
// Check for abort signal
|
|
795
862
|
checkAbort();
|
|
796
|
-
if (multilingualStrategy) {
|
|
797
|
-
const { testCases: multiLingualTestCases, strategyResults: multiLingualResults } = await applyStrategies(finalTestCases, [multilingualStrategy], injectVar);
|
|
798
|
-
finalTestCases.push(...multiLingualTestCases);
|
|
799
|
-
Object.assign(strategyResults, multiLingualResults);
|
|
800
|
-
}
|
|
801
863
|
progressBar?.update({ task: 'Done.' });
|
|
802
864
|
progressBar?.stop();
|
|
803
865
|
if (progressBar) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/redteam/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0HA,kDAwBC;AAwCD,sEAaC;AAiJD,oCA2DC;AAQD,kDAiEC;AAcD,gCA0eC;AAp9BD,kDAA0B;AAC1B,kDAA0B;AAC1B,gEAAuC;AACvC,4DAA+B;AAC/B,uCAAyB;AACzB,sDAA2B;AAC3B,2DAAmC;AACnC,sCAAyC;AACzC,oDAAgD;AAEhD,iDAAsD;AACtD,kEAA0C;AAC1C,iDAAkE;AAClE,2CAYqB;AACrB,oDAAwD;AACxD,kDAA4D;AAC5D,6CAAgD;AAChD,2CAA0C;AAC1C,+CAA4D;AAC5D,yDAA8E;AAC9E,8CAAkF;AAClF,4DAA8D;AAC9D,4CAAiE;AAEjE,iCAAiE;AAEjE,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,QAAgB,EAAE,YAAkC;IAC7E,IAAI,YAAY,EAAE,QAAQ,EAAE,CAAC;QAC3B,OAAO,YAAY,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,uBAAgB,EAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO,OAAO,IAAI,mCAAuB;QACvC,CAAC,CAAC,mCAAuB,CAAC,OAA+C,CAAC;QAC1E,CAAC,CAAC,oBAAQ,CAAC,GAAG,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAAC,SAAiB,EAAE,SAAiB;IACrD,IAAI,SAAS,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,eAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,SAAS,GAAG,SAAS,EAAE,CAAC;QAC1B,OAAO,eAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,eAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CACrB,aAAuE,EACvE,eAAyE;IAEzE,MAAM,KAAK,GAAG,IAAI,oBAAK,CAAC;QACtB,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACtE,eAAK,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAC1B;QACD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;KACnC,CAAC,CAAC;IAEH,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;SAC1B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACxC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE;QAC1C,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;IAEL,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;SAC5B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACxC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE;QAC1C,KAAK,CAAC,IAAI,CAAC;YACT,QAAQ,EAAE;YACV,UAAU;YACV,EAAE;YACF,SAAS;YACT,SAAS;YACT,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;SAChC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,OAAO,8BAA8B,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;AAC1D,CAAC;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,MAAuC;IACzE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7D,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAE/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;YACjD,CAAC;YAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,MAAM,CAAC,GAAG,CAAC,GAAG,iBAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;YAC7D,CAAC;iBAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,GAAG;IACjB,UAAU,EAAE,8BAAkB;IAC9B,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,wBAAY,CAAC;IAClC,IAAI,EAAE,wBAAY;IAClB,GAAG,EAAE,uBAAW;CACR,CAAC;AAEX;;;;;GAKG;AACH,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAE,QAAiB,EAAU,EAAE,CACtE,QAAQ,KAAK,CAAC;IACZ,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM;IAC1C,CAAC,CAAC,GAAG,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;AAE1D;;;;;;;;;;;;;;;GAeG;AAEH;;GAEG;AACH,SAAgB,6BAA6B,CAC3C,SAA+B,EAC/B,QAA+B;IAE/B,2CAA2C;IAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;QAC5D,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM;QAClC,CAAC,CAAC,gCAAiB,CAAC,MAAM,CAAC;IAC7B,OAAO,SAAS,CAAC,MAAM,GAAG,YAAY,CAAC;AACzC,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,eAAe,CAC5B,SAA+B,EAC/B,UAAmC,EACnC,SAAiB,EACjB,8CAAwD;IAKxD,MAAM,YAAY,GAAyB,EAAE,CAAC;IAC9C,MAAM,eAAe,GAA6D,EAAE,CAAC;IAErF,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;QAClC,gBAAM,CAAC,KAAK,CAAC,cAAc,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;QAEhD,IAAI,cAAc,CAAC;QACnB,IAAI,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,MAAM,cAAc,GAAG,MAAM,IAAA,oBAAY,EAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvD,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,sEAAsE;YACtE,IAAI,eAAe,GAAG,kBAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC;YAEnE,0EAA0E;YAC1E,IAAI,CAAC,eAAe,IAAI,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClD,MAAM,cAAc,GAAG,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjD,eAAe,GAAG,kBAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,CAAC;YACpE,CAAC;YAED,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,gBAAM,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,EAAE,2BAA2B,CAAC,CAAC;gBAChE,SAAS;YACX,CAAC;YACD,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC;QAC1C,CAAC;QAED,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QAC/C,MAAM,mBAAmB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACjD,IAAA,mCAA4B,EAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC,CAC5D,CAAC;QAEF,MAAM,iBAAiB,GAAe,MAAM,cAAc,CACxD,mBAAmB,EACnB,SAAS,EACT;YACE,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;YAC1B,8CAA8C;SAC/C,EACD,QAAQ,CAAC,EAAE,CACZ,CAAC;QAEF,YAAY,CAAC,IAAI,CACf,GAAG,iBAAiB;aACjB,MAAM,CAAC,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,CAAC;aACxE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACX,GAAG,CAAC;YACJ,QAAQ,EAAE;gBACR,GAAG,CAAC,CAAC,EAAE,QAAQ,IAAI,EAAE,CAAC;gBACtB,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,IAAI,QAAQ,CAAC,EAAE;gBAClD,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAC/D,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,IAAI;oBAC/B,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY;iBACtC,CAAC;gBACF,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI;oBACrB,cAAc,EAAE;wBACd,GAAG,QAAQ,CAAC,MAAM;wBAClB,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,IAAI,EAAE,CAAC;qBACvC;iBACF,CAAC;aACH;SACF,CAAC,CAAC,CACN,CAAC;QAEF,sEAAsE;QACtE,MAAM,SAAS,GACb,QAAQ,CAAC,EAAE,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;YAC9D,CAAC,CAAC,SAAU,QAAQ,CAAC,MAAO,CAAC,KAAe;iBACvC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iBAClD,IAAI,CAAC,GAAG,CAAC,GAAG;YACjB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QAElB,6EAA6E;QAC7E,IAAI,QAAQ,CAAC,EAAE,KAAK,cAAc,EAAE,CAAC;YACnC,MAAM,cAAc,GAAG,6BAA6B,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;YACpF,eAAe,CAAC,SAAS,CAAC,GAAG;gBAC3B,SAAS,EAAE,cAAc;gBACzB,SAAS,EAAE,iBAAiB,CAAC,MAAM;aACpC,CAAC;QACJ,CAAC;aAAM,IAAI,QAAQ,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC;YACnC,6FAA6F;YAC7F,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,MAAM,KAAK,GAAU,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;gBACxD,CAAC,CAAE,QAAQ,CAAC,MAAO,CAAC,KAAe;gBACnC,CAAC,CAAC,EAAE,CAAC;YACP,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBACnD,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;oBAC9B,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBAChE,MAAM,QAAQ,GACZ,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;wBAC9D,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM;wBAC1B,CAAC,CAAC,gCAAiB,CAAC,MAAM,CAAC;oBAC/B,UAAU,IAAI,QAAQ,CAAC;gBACzB,CAAC;YACH,CAAC;YACD,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,GAAG,UAAU,CAAC;YAC/D,eAAe,CAAC,SAAS,CAAC,GAAG;gBAC3B,SAAS,EAAE,cAAc;gBACzB,SAAS,EAAE,iBAAiB,CAAC,MAAM;aACpC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,+FAA+F;YAC/F,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC3C,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YACxB,CAAC;iBAAM,IAAI,IAAA,4BAAgB,EAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBACzC,CAAC,GAAG,IAAA,6BAAiB,EAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrC,CAAC;YAED,eAAe,CAAC,SAAS,CAAC,GAAG;gBAC3B,SAAS,EAAE,mBAAmB,CAAC,MAAM,GAAG,CAAC;gBACzC,SAAS,EAAE,iBAAiB,CAAC,MAAM;aACpC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC;AACtD,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,YAAY,CAC1B,QAA+B,EAC/B,gBAAwB,EACxB,WAAoC;IAEpC,kEAAkE;IAClE,IAAI,QAAQ,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO,QAAQ,CAAC,MAAM,EAAE,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;IACnE,CAAC;IAED,gDAAgD;IAChD,IAAI,QAAQ,CAAC,EAAE,KAAK,cAAc,EAAE,CAAC;QACnC,2CAA2C;QAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxF,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,YAAY,GAChB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,gCAAiB,CAAC,MAAM,CAAC;QACnF,OAAO,gBAAgB,GAAG,YAAY,CAAC;IACzC,CAAC;IAED,+GAA+G;IAC/G,IAAI,QAAQ,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAU,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;YACxD,CAAC,CAAE,QAAQ,CAAC,MAAO,CAAC,KAAe;YACnC,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACnD,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChE,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvE,SAAS,CAAC,sBAAsB;gBAClC,CAAC;gBACD,MAAM,QAAQ,GACZ,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;oBAC9D,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM;oBAC1B,CAAC,CAAC,gCAAiB,CAAC,MAAM,CAAC;gBAC/B,UAAU,IAAI,QAAQ,CAAC;YACzB,CAAC;QACH,CAAC;QACD,OAAO,gBAAgB,GAAG,UAAU,CAAC;IACvC,CAAC;IAED,0CAA0C;IAC1C,IAAI,QAAQ,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC;QAC5B,MAAM,kBAAkB,GAAG,QAAQ,CAAC,MAAM,EAAE,QAA8B,CAAC;QAC3E,MAAM,eAAe,GAAG,kBAAkB,IAAI,gBAAgB,CAAC;QAC/D,OAAO,gBAAgB,GAAG,eAAe,CAAC;IAC5C,CAAC;IAED,yDAAyD;IACzD,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC3C,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACxB,CAAC;SAAM,IAAI,IAAA,4BAAgB,EAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACzC,CAAC,GAAG,IAAA,6BAAiB,EAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,gBAAgB,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CACjC,OAAqC,EACrC,UAAmC;IAQnC,MAAM,oBAAoB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,CAAC;IAC7E,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;IAC/D,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;IAE/D,MAAM,mBAAmB,GAAG,aAAa,KAAK,SAAS,CAAC;IACxD,MAAM,iBAAiB,GAAG,aAAa,EAAE,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC;IAEjE,MAAM,sBAAsB,GAC1B,mBAAmB,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;IAExF,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEhF,kEAAkE;IAClE,IACE,UAAU,CAAC,MAAM,KAAK,CAAC;QACvB,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,mBAAmB,IAAI,CAAC,iBAAiB,CAAC,EACtE,CAAC;QACD,OAAO;YACL,sBAAsB,EAAE,CAAC;YACzB,iBAAiB,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB;YACrE,oBAAoB,EAAE,SAAS;YAC/B,gBAAgB;YAChB,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;SACrD,CAAC;IACJ,CAAC;IAED,iDAAiD;IACjD,IAAI,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1D,wCAAwC;IACxC,IAAI,aAAa,EAAE,CAAC;QAClB,UAAU,GAAG,YAAY,CAAC,aAAa,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACnE,CAAC;IAED,gEAAgE;IAChE,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7D,SAAS;QACX,CAAC;QACD,uEAAuE;QACvE,UAAU,IAAI,YAAY,CAAC,QAAQ,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;IACrE,CAAC;IAED,8CAA8C;IAC9C,IAAI,oBAAoB,EAAE,CAAC;QACzB,UAAU,GAAG,YAAY,CAAC,oBAAoB,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO;QACL,sBAAsB;QACtB,iBAAiB;QACjB,oBAAoB;QACpB,gBAAgB;QAChB,UAAU;KACX,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,EAAU;IACtC,OAAO,gCAAoB,CAAC,QAAQ,CAAC,EAA+C,CAAC,CAAC;AACxF,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,UAAU,CAAC,EAC/B,WAAW,EACX,KAAK,EACL,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EACT,QAAQ,EACR,cAAc,GAAG,CAAC,EAClB,OAAO,EACP,OAAO,EACP,QAAQ,EACR,OAAO,EAAE,eAAe,EACxB,UAAU,EACV,YAAY,EACZ,eAAe,EAAE,uBAAuB,EACxC,8CAA8C,EAC9C,0BAA0B,GACR;IAMlB,yBAAyB;IACzB,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC;IAEF,iCAAiC;IACjC,UAAU,EAAE,CAAC;IAEb,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,KAAK,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QAChC,cAAc,GAAG,CAAC,CAAC;QACnB,gBAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,cAAc,GAAG,mBAAmB,EAAE,CAAC;QACzC,cAAc,GAAG,mBAAmB,CAAC;QACrC,gBAAM,CAAC,IAAI,CAAC,oDAAoD,mBAAmB,GAAG,CAAC,CAAC;IAC1F,CAAC;IAED,MAAM,kBAAkB,GAAsB,EAAE,CAAC;IACjD,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC9B,IAAI,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACtC,MAAM,iBAAiB,GAAG,wCAA4B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACpE,IAAI,iBAAiB,EAAE,CAAC;gBACtB,iBAAiB,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;oBACvC,kBAAkB,CAAC,IAAI,CAAC;wBACtB,GAAG,QAAQ;wBACX,EAAE,EAAE,UAAU;qBACf,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,gBAAM,CAAC,IAAI,CAAC,uBAAuB,QAAQ,CAAC,EAAE,4BAA4B,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;aAAM,CAAC;YACN,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,2EAA2E;IAC3E,0FAA0F;IAC1F,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,cAAc,GAAG,CAAC,CAA8B,EAAU,EAAE;QAChE,IAAI,CAAC,CAAC,EAAE,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAE,CAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3E,MAAM,KAAK,GAAK,CAAS,CAAC,MAAM,CAAC,KAAe,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAC1D,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CACrC,CAAC;YACF,OAAO,SAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,CAAC;QACD,OAAO,CAAC,CAAC,EAAE,CAAC;IACd,CAAC,CAAC;IACF,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;QAClD,MAAM,GAAG,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,IAAA,0BAAkB,EAAC,UAAU,CAAC,CAAC;IAE/B,MAAM,eAAe,GAAG,MAAM,+BAAsB,CAAC,WAAW,CAAC;QAC/D,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,EACJ,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,GACX,GAAG,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAE7C,gBAAM,CAAC,IAAI,CACT,+BAA+B,OAAO,CAAC,MAAM,IAC3C,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SACpC,0BAA0B,eAAK,CAAC,MAAM,CACpC,OAAO;SACJ,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,GAAG,CAAC,CAAC,EAAE,KAAK,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACvG;SACA,IAAI,EAAE;SACN,IAAI,CAAC,IAAI,CAAC,CACd,IAAI,CACN,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,gBAAM,CAAC,IAAI,CACT,wBAAwB,eAAK,CAAC,MAAM,CAClC,UAAU;aACP,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACjD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,iGAAiG;YACjG,IAAI,SAAS,GAAG,gBAAgB,CAAC;YACjC,IAAI,CAAC,CAAC,EAAE,KAAK,cAAc,EAAE,CAAC;gBAC5B,SAAS,GAAG,YAAY,CAAC,CAAC,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,yDAAyD;gBACzD,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACpC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBACjB,CAAC;qBAAM,IAAI,IAAA,4BAAgB,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;oBAClC,CAAC,GAAG,IAAA,6BAAiB,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC9B,CAAC;gBACD,SAAS,GAAG,gBAAgB,GAAG,CAAC,CAAC;YACnC,CAAC;YACD,OAAO,GAAG,CAAC,CAAC,EAAE,KAAK,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC;QACzD,CAAC,CAAC;aACD,IAAI,EAAE;aACN,IAAI,CAAC,IAAI,CAAC,CACd,IAAI,CACN,CAAC;IACJ,CAAC;IAED,gBAAM,CAAC,IAAI,CACT,eAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC;QACpC,oBAAoB,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;QAC5C,qBAAqB,eAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;QACnD,gBAAgB,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAC5C,mBAAmB,eAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE;QACvD,wBAAwB,eAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI;QACtD,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CACnD,CAAC;IAEF,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,IAAA,yCAA6B,EAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,gBAAM,CAAC,IAAI,CACT,0CAA0C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,6CAA6C,CACvK,CAAC;QACJ,CAAC;aAAM,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,gBAAM,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;QACtF,CAAC;QACD,+GAA+G;QAC/G,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC;QACzD,IAAA,mBAAS,EAAC,OAAO,SAAS,KAAK,QAAQ,EAAE,oCAAoC,SAAS,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,uBAAuB;IACvB,KAAK,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACrE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;QACtD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GAAmB,EAAE,CAAC;IAC3C,MAAM,YAAY,GAAG,CACnB,MAA2B,EAC3B,OAAoD,EACpD,EAAE;QACF,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE,CACpC,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAC3D,CAAC;QACF,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC,CAAC;IAEF,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACzB,qEAAqE;QACrE,4EAA4E;QAC5E,MAAM,cAAc,GAAG,eAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;QAEhE,IAAI,cAAc,EAAE,CAAC;YACnB,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,mCAAuB,CAAC,CAAC,IAAI,CAC1D,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC,CAC9D,CAAC;QAEF,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,OAAO,GACX,mCAAuB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9C,MAAM,CAAC,MAAM,CAAC,mCAAuB,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAC7D,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC,CACvC,CAAC;YACJ,IAAI,OAAO,EAAE,CAAC;gBACZ,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,cAAc,GAA6C,CAAC,MAAM,EAAE,EAAE;QAC1E,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,gBAAgB,GAAG,eAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;QAElE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrC,gBAAM,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,EAAE,sCAAsC,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;aAAM,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,gBAAgB,CAAC,QAAQ,CAAC;oBACxB,QAAQ;oBACR,SAAS,EAAE;wBACT,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC;qBACpC;oBACD,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC;iBACtC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gBAAM,CAAC,IAAI,CAAC,gCAAgC,MAAM,CAAC,EAAE,KAAK,KAAK,oBAAoB,CAAC,CAAC;gBACrF,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,+BAA+B;IAC/B,gBAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACtC,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;IAEtE,qCAAqC;IACrC,IAAI,IAAA,uCAAoB,GAAE,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAA,qCAAkB,GAAE,CAAC;QACvC,IAAI,SAAS,EAAE,CAAC;YACd,gBAAM,CAAC,KAAK,CAAC,oCAAoC,SAAS,KAAK,CAAC,CAAC;YACjE,MAAM,YAAY,GAAG,MAAM,IAAA,6BAAiB,EAAC,SAAS,CAAC,CAAC;YACxD,IAAI,YAAY,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CACb,2CAA2C,YAAY,CAAC,OAAO,IAAI;oBACjE,yDAAyD,CAC5D,CAAC;YACJ,CAAC;YACD,gBAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,IAAI,WAAW,GAAiC,IAAI,CAAC;IACrD,MAAM,OAAO,GAAG,OAAO,CAAC,kBAAQ,CAAC,KAAK,CAAC,CAAC;IAExC,MAAM,eAAe,GACnB,CAAC,OAAO;QACR,IAAA,qBAAY,EAAC,WAAW,CAAC,KAAK,OAAO;QACrC,IAAA,oBAAW,GAAE,KAAK,OAAO;QACzB,uBAAuB,KAAK,KAAK,CAAC;IACpC,IAAI,eAAe,EAAE,CAAC;QACpB,WAAW,GAAG,IAAI,sBAAW,CAAC,SAAS,CACrC;YACE,MAAM,EAAE,+DAA+D;YACvE,YAAY,EAAE,IAAI;SACnB,EACD,sBAAW,CAAC,OAAO,CAAC,cAAc,CACnC,CAAC;QACF,WAAW,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,gEAAgE;IAChE,IAAI,eAAe,EAAE,CAAC;QACpB,WAAW,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,gBAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,OAAO,GAAG,eAAe,IAAI,CAAC,MAAM,IAAA,8BAAoB,EAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;IAE1F,IAAI,eAAe,EAAE,CAAC;QACpB,WAAW,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAC7D,CAAC;SAAM,CAAC;QACN,gBAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACxC,CAAC;IACD,MAAM,QAAQ,GAAa,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACxD,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,MAAM,IAAA,0BAAe,EAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAEpD,gBAAM,CAAC,KAAK,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC;IAE3C,MAAM,aAAa,GAA6D,EAAE,CAAC;IACnF,MAAM,SAAS,GAAyB,EAAE,CAAC;IAC3C,MAAM,eAAK,CAAC,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACjE,iDAAiD;QACjD,UAAU,EAAE,CAAC;QAEb,IAAI,eAAe,EAAE,CAAC;YACpB,WAAW,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,gBAAM,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,eAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAElE,IAAI,MAAM,EAAE,CAAC;YACX,gBAAM,CAAC,KAAK,CAAC,wBAAwB,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;YACrD,IAAI,WAAW,GAAG,MAAM,MAAM,CAAC;gBAC7B,QAAQ,EAAE,eAAe;gBACzB,OAAO;gBACP,SAAS;gBACT,CAAC,EAAE,MAAM,CAAC,QAAQ;gBAClB,OAAO,EAAE,KAAK,IAAI,CAAC;gBACnB,MAAM,EAAE;oBACN,QAAQ;oBACR,SAAS,EAAE;wBACT,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC;qBACpC;oBACD,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC;iBACtC;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5D,gBAAM,CAAC,IAAI,CAAC,gCAAgC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;gBACzD,WAAW,GAAG,EAAE,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,iCAAiC;gBACjC,MAAM,qBAAqB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACpD,GAAG,CAAC;oBACJ,QAAQ,EAAE;wBACR,QAAQ,EAAE,MAAM,CAAC,EAAE;wBACnB,YAAY,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC;wBAChD,QAAQ,EACN,MAAM,CAAC,QAAQ,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBACrF,SAAS,EAAE;4BACT,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BACrE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC;yBACpC;wBACD,GAAG,CAAC,CAAC,EAAE,QAAQ,IAAI,EAAE,CAAC;qBACvB;iBACF,CAAC,CAAC,CAAC;gBAEJ,uCAAuC;gBACvC,gBAAM,CAAC,KAAK,CACV,uBAAuB,qBAAqB,CAAC,MAAM,eAAe,MAAM,CAAC,EAAE,KAAK,CACjF,CAAC;gBACF,KAAK,MAAM,QAAQ,IAAI,qBAAqB,EAAE,CAAC;oBAC7C,mDAAmD;oBACnD,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;oBAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBAE3E,MAAM,aAAa,GAAG,MAAM,IAAA,4BAAqB,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;oBAE7E,QAAQ,CAAC,QAAgB,CAAC,IAAI,GAAG,aAAa,CAAC;gBAClD,CAAC;gBAED,2CAA2C;gBAC3C,SAAS,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,CAAC;YAC3C,CAAC;YAED,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,IAAI,eAAe,EAAE,CAAC;gBACpB,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,gBAAM,CAAC,IAAI,CAAC,aAAa,WAAW,CAAC,MAAM,cAAc,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACxE,CAAC;YACD,gBAAM,CAAC,KAAK,CAAC,SAAS,WAAW,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,aAAa,CAAC,CAAC;YACpE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG;gBACzB,SAAS,EAAE,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ;gBACxE,SAAS,EAAE,WAAW,CAAC,MAAM;aAC9B,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,IAAI,qBAAY,CAAC,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;gBACtF,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAE7E,iCAAiC;gBACjC,MAAM,qBAAqB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACpD,GAAG,CAAC;oBACJ,QAAQ,EAAE;wBACR,QAAQ,EAAE,MAAM,CAAC,EAAE;wBACnB,YAAY,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC;wBAChD,QAAQ,EACN,MAAM,CAAC,QAAQ,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBACrF,SAAS,EAAE;4BACT,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BACrE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC;yBACpC;wBACD,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;qBACtB;iBACF,CAAC,CAAC,CAAC;gBAEJ,uCAAuC;gBACvC,gBAAM,CAAC,KAAK,CACV,uBAAuB,qBAAqB,CAAC,MAAM,sBAAsB,MAAM,CAAC,EAAE,KAAK,CACxF,CAAC;gBACF,KAAK,MAAM,QAAQ,IAAI,qBAAqB,EAAE,CAAC;oBAC7C,mDAAmD;oBACnD,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;oBAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBAE3E,MAAM,aAAa,GAAG,MAAM,IAAA,4BAAqB,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;oBAE7E,QAAQ,CAAC,QAAgB,CAAC,IAAI,GAAG,aAAa,CAAC;gBAClD,CAAC;gBAED,2CAA2C;gBAC3C,SAAS,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,CAAC;gBAEzC,gBAAM,CAAC,KAAK,CAAC,SAAS,WAAW,CAAC,MAAM,2BAA2B,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;gBAChF,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG;oBACzB,SAAS,EAAE,MAAM,CAAC,QAAQ;oBAC1B,SAAS,EAAE,WAAW,CAAC,MAAM;iBAC9B,CAAC;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,gBAAM,CAAC,KAAK,CAAC,4CAA4C,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC5E,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;YAC1E,CAAC;QACH,CAAC;aAAM,CAAC;YACN,gBAAM,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,EAAE,2BAA2B,CAAC,CAAC;YAC5D,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;YACxE,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,qEAAqE;IACrE,MAAM,eAAe,GAAG,SAAS,CAAC;IAElC,8BAA8B;IAC9B,MAAM,eAAe,GAA6D,EAAE,CAAC;IAErF,0CAA0C;IAC1C,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;IAC/D,IAAI,aAAa,EAAE,CAAC;QAClB,gBAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC9C,aAAa,CAAC,MAAM,GAAG;YACrB,YAAY;YACZ,GAAG,aAAa,CAAC,MAAM;SACxB,CAAC;QACF,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,MAAM,eAAe,CACxF,eAAe,EACf,CAAC,aAAa,CAAC,EACf,SAAS,CACV,CAAC;QACF,eAAe,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;IAC/C,CAAC;IAED,yEAAyE;IACzE,UAAU,EAAE,CAAC;IACb,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,eAAe,EAAE,oBAAoB,EAAE,GAC3E,MAAM,eAAe,CACnB,eAAe,EACf,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAC5E,SAAS,EACT,8CAA8C,CAC/C,CAAC;IAEJ,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;IAErD,qDAAqD;IACrD,MAAM,cAAc,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,iBAAiB,CAAC,CAAC;IAE7F,0EAA0E;IAC1E,UAAU,EAAE,CAAC;IACb,IAAI,oBAAoB,EAAE,CAAC;QACzB,MAAM,EAAE,SAAS,EAAE,qBAAqB,EAAE,eAAe,EAAE,mBAAmB,EAAE,GAC9E,MAAM,eAAe,CAAC,cAAc,EAAE,CAAC,oBAAoB,CAAC,EAAE,SAAS,CAAC,CAAC;QAC3E,cAAc,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;IACtD,CAAC;IAED,WAAW,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACvC,WAAW,EAAE,IAAI,EAAE,CAAC;IACpB,IAAI,WAAW,EAAE,CAAC;QAChB,8CAA8C;QAC9C,gBAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAED,gBAAM,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC;IAE5D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;AACrE,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/redteam/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { RedteamGraderBase, RedteamPluginBase } from './base';
|
|
2
|
-
import type { ApiProvider, Assertion, AtomicTestCase, GradingResult, TestCase } from '../../types/index';
|
|
1
|
+
import { RedteamGraderBase, RedteamPluginBase, type RedteamGradingContext } from './base';
|
|
2
|
+
import type { ApiProvider, Assertion, AssertionValue, AtomicTestCase, GradingResult, TestCase } from '../../types/index';
|
|
3
3
|
export declare const DATASET_PATH = "huggingface://datasets/nvidia/Aegis-AI-Content-Safety-Dataset-1.0?split=train";
|
|
4
4
|
export declare function fetchDataset(limit: number): Promise<TestCase[]>;
|
|
5
5
|
export declare class AegisPlugin extends RedteamPluginBase {
|
|
@@ -12,7 +12,7 @@ export declare class AegisPlugin extends RedteamPluginBase {
|
|
|
12
12
|
export declare class AegisGrader extends RedteamGraderBase {
|
|
13
13
|
readonly id = "promptfoo:redteam:aegis";
|
|
14
14
|
rubric: string;
|
|
15
|
-
getResult(prompt: string, llmOutput: string, test: AtomicTestCase, provider: ApiProvider | undefined): Promise<{
|
|
15
|
+
getResult(prompt: string, llmOutput: string, test: AtomicTestCase, provider: ApiProvider | undefined, renderedValue?: AssertionValue, additionalRubric?: string, skipRefusalCheck?: boolean, gradingContext?: RedteamGradingContext): Promise<{
|
|
16
16
|
grade: GradingResult;
|
|
17
17
|
rubric: string;
|
|
18
18
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aegis.d.ts","sourceRoot":"","sources":["../../../../src/redteam/plugins/aegis.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"aegis.d.ts","sourceRoot":"","sources":["../../../../src/redteam/plugins/aegis.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAE1F,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,cAAc,EACd,cAAc,EACd,aAAa,EACb,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAG3B,eAAO,MAAM,YAAY,kFACwD,CAAC;AAclF,wBAAsB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CA0BrE;AAED,qBAAa,WAAY,SAAQ,iBAAiB;IAChD,QAAQ,CAAC,EAAE,6BAAa;IACxB,MAAM,CAAC,QAAQ,CAAC,iBAAiB,SAAS;IAEpC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAIpC,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE;IAS/C,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;CAavE;AAED,qBAAa,WAAY,SAAQ,iBAAiB;IAChD,QAAQ,CAAC,EAAE,6BAAa;IAExB,MAAM,SAWiF;IAEjF,SAAS,CACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,WAAW,GAAG,SAAS,EACjC,aAAa,CAAC,EAAE,cAAc,EAC9B,gBAAgB,CAAC,EAAE,MAAM,EACzB,gBAAgB,CAAC,EAAE,OAAO,EAC1B,cAAc,CAAC,EAAE,qBAAqB,GACrC,OAAO,CAAC;QAAE,KAAK,EAAE,aAAa,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAsBrD"}
|