agentv 4.29.2-next.1 → 4.30.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{artifact-writer-RQXU4LZV.js → artifact-writer-JJLJUUUY.js} +4 -4
- package/dist/{chunk-VTOY4SMC.js → chunk-L3FMZXCD.js} +130 -37
- package/dist/chunk-L3FMZXCD.js.map +1 -0
- package/dist/{chunk-VZMGBDJD.js → chunk-LUZRCQNH.js} +2 -2
- package/dist/{chunk-62SD2XKL.js → chunk-NZ6WEUYC.js} +9 -8
- package/dist/{chunk-62SD2XKL.js.map → chunk-NZ6WEUYC.js.map} +1 -1
- package/dist/{chunk-7SGY7PPE.js → chunk-XKA7FIRU.js} +15 -29
- package/dist/chunk-XKA7FIRU.js.map +1 -0
- package/dist/{chunk-OS67VZUO.js → chunk-YFVD6FC6.js} +3 -3
- package/dist/cli.js +5 -5
- package/dist/{dist-HLU6WIYL.js → dist-GYCHDLTZ.js} +3 -3
- package/dist/index.js +5 -5
- package/dist/{interactive-SOVRCWPF.js → interactive-Y3NO72BW.js} +5 -5
- package/dist/skills/agentv-eval-writer/references/eval-schema.json +12 -0
- package/dist/{ts-eval-loader-EMSGL2BQ-P5RV35TE.js → ts-eval-loader-JL5DGTJL-U5LTKGOE.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-7SGY7PPE.js.map +0 -1
- package/dist/chunk-VTOY4SMC.js.map +0 -1
- /package/dist/{artifact-writer-RQXU4LZV.js.map → artifact-writer-JJLJUUUY.js.map} +0 -0
- /package/dist/{chunk-VZMGBDJD.js.map → chunk-LUZRCQNH.js.map} +0 -0
- /package/dist/{chunk-OS67VZUO.js.map → chunk-YFVD6FC6.js.map} +0 -0
- /package/dist/{dist-HLU6WIYL.js.map → dist-GYCHDLTZ.js.map} +0 -0
- /package/dist/{interactive-SOVRCWPF.js.map → interactive-Y3NO72BW.js.map} +0 -0
- /package/dist/{ts-eval-loader-EMSGL2BQ-P5RV35TE.js.map → ts-eval-loader-JL5DGTJL-U5LTKGOE.js.map} +0 -0
|
@@ -14,11 +14,11 @@ import {
|
|
|
14
14
|
writeArtifactsFromResults,
|
|
15
15
|
writeInitialBenchmarkArtifact,
|
|
16
16
|
writePerTestArtifacts
|
|
17
|
-
} from "./chunk-
|
|
18
|
-
import "./chunk-
|
|
17
|
+
} from "./chunk-YFVD6FC6.js";
|
|
18
|
+
import "./chunk-LUZRCQNH.js";
|
|
19
19
|
import "./chunk-QOBQ5XYF.js";
|
|
20
20
|
import "./chunk-BPGJ4HBU.js";
|
|
21
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-L3FMZXCD.js";
|
|
22
22
|
import "./chunk-NPVGBFF6.js";
|
|
23
23
|
import "./chunk-M7BUKBAF.js";
|
|
24
24
|
import "./chunk-5H446C7X.js";
|
|
@@ -38,4 +38,4 @@ export {
|
|
|
38
38
|
writeInitialBenchmarkArtifact,
|
|
39
39
|
writePerTestArtifacts
|
|
40
40
|
};
|
|
41
|
-
//# sourceMappingURL=artifact-writer-
|
|
41
|
+
//# sourceMappingURL=artifact-writer-JJLJUUUY.js.map
|
|
@@ -4056,7 +4056,7 @@ var coerce = {
|
|
|
4056
4056
|
};
|
|
4057
4057
|
var NEVER = INVALID;
|
|
4058
4058
|
|
|
4059
|
-
// ../../packages/core/dist/chunk-
|
|
4059
|
+
// ../../packages/core/dist/chunk-5RQMJZDJ.js
|
|
4060
4060
|
import { parse } from "yaml";
|
|
4061
4061
|
import { constants } from "node:fs";
|
|
4062
4062
|
import { access, readFile } from "node:fs/promises";
|
|
@@ -5783,6 +5783,8 @@ function resolveOptionalNumberArray(source, description) {
|
|
|
5783
5783
|
return resolved.length > 0 ? resolved : void 0;
|
|
5784
5784
|
}
|
|
5785
5785
|
var ENV_VAR_PATTERN = /\$\{\{\s*([A-Za-z_][A-Za-z0-9_]*)\s*\}\}/g;
|
|
5786
|
+
var TEMPLATE_VAR_PATTERN = /\{\{\s*([A-Za-z_][A-Za-z0-9_.]*)\s*\}\}/g;
|
|
5787
|
+
var WHOLE_TEMPLATE_VAR_PATTERN = /^\{\{\s*([A-Za-z_][A-Za-z0-9_.]*)\s*\}\}$/;
|
|
5786
5788
|
var WHOLE_VAR_PATTERN = /^\$\{\{\s*([A-Za-z_][A-Za-z0-9_]*)\s*\}\}$/;
|
|
5787
5789
|
var PLAIN_NUMBER_PATTERN = /^-?(?:0|[1-9]\d*)(?:\.\d+)?$/;
|
|
5788
5790
|
function coercePrimitive(value) {
|
|
@@ -5791,6 +5793,35 @@ function coercePrimitive(value) {
|
|
|
5791
5793
|
if (PLAIN_NUMBER_PATTERN.test(value)) return Number(value);
|
|
5792
5794
|
return value;
|
|
5793
5795
|
}
|
|
5796
|
+
function isPlainObject(value) {
|
|
5797
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
5798
|
+
}
|
|
5799
|
+
function cloneTemplateValue(value) {
|
|
5800
|
+
if (Array.isArray(value)) {
|
|
5801
|
+
return value.map((item) => cloneTemplateValue(item));
|
|
5802
|
+
}
|
|
5803
|
+
if (isPlainObject(value)) {
|
|
5804
|
+
const result = {};
|
|
5805
|
+
for (const [key, nested] of Object.entries(value)) {
|
|
5806
|
+
result[key] = cloneTemplateValue(nested);
|
|
5807
|
+
}
|
|
5808
|
+
return result;
|
|
5809
|
+
}
|
|
5810
|
+
return value;
|
|
5811
|
+
}
|
|
5812
|
+
function stringifyTemplateValue(value) {
|
|
5813
|
+
if (typeof value === "string") return value;
|
|
5814
|
+
return JSON.stringify(value);
|
|
5815
|
+
}
|
|
5816
|
+
function lookupTemplateVar(vars, expression) {
|
|
5817
|
+
if (!expression) return void 0;
|
|
5818
|
+
return expression.split(".").reduce((current, segment) => {
|
|
5819
|
+
if (!isPlainObject(current)) {
|
|
5820
|
+
return void 0;
|
|
5821
|
+
}
|
|
5822
|
+
return current[segment];
|
|
5823
|
+
}, vars);
|
|
5824
|
+
}
|
|
5794
5825
|
function interpolateEnv(value, env) {
|
|
5795
5826
|
if (typeof value === "string") {
|
|
5796
5827
|
const wholeMatch = WHOLE_VAR_PATTERN.exec(value);
|
|
@@ -5812,6 +5843,30 @@ function interpolateEnv(value, env) {
|
|
|
5812
5843
|
}
|
|
5813
5844
|
return value;
|
|
5814
5845
|
}
|
|
5846
|
+
function interpolateTemplateVars(value, vars) {
|
|
5847
|
+
if (typeof value === "string") {
|
|
5848
|
+
const wholeMatch = WHOLE_TEMPLATE_VAR_PATTERN.exec(value);
|
|
5849
|
+
if (wholeMatch) {
|
|
5850
|
+
const resolved = lookupTemplateVar(vars, wholeMatch[1]);
|
|
5851
|
+
return resolved === void 0 ? value : cloneTemplateValue(resolved);
|
|
5852
|
+
}
|
|
5853
|
+
return value.replace(TEMPLATE_VAR_PATTERN, (match, expression) => {
|
|
5854
|
+
const resolved = lookupTemplateVar(vars, expression);
|
|
5855
|
+
return resolved === void 0 ? match : stringifyTemplateValue(resolved);
|
|
5856
|
+
});
|
|
5857
|
+
}
|
|
5858
|
+
if (Array.isArray(value)) {
|
|
5859
|
+
return value.map((item) => interpolateTemplateVars(item, vars));
|
|
5860
|
+
}
|
|
5861
|
+
if (isPlainObject(value)) {
|
|
5862
|
+
const result = {};
|
|
5863
|
+
for (const [key, nested] of Object.entries(value)) {
|
|
5864
|
+
result[key] = interpolateTemplateVars(nested, vars);
|
|
5865
|
+
}
|
|
5866
|
+
return result;
|
|
5867
|
+
}
|
|
5868
|
+
return value;
|
|
5869
|
+
}
|
|
5815
5870
|
var ANSI_YELLOW = "\x1B[33m";
|
|
5816
5871
|
var ANSI_RESET = "\x1B[0m";
|
|
5817
5872
|
var FILE_PROTOCOL = "file://";
|
|
@@ -5982,7 +6037,7 @@ async function expandFileReferences(tests, evalFileDir) {
|
|
|
5982
6037
|
return expanded;
|
|
5983
6038
|
}
|
|
5984
6039
|
|
|
5985
|
-
// ../../packages/core/dist/chunk-
|
|
6040
|
+
// ../../packages/core/dist/chunk-Z2BBOGE4.js
|
|
5986
6041
|
import path46 from "node:path";
|
|
5987
6042
|
import { pathToFileURL as pathToFileURL2 } from "node:url";
|
|
5988
6043
|
import { existsSync as existsSync6 } from "node:fs";
|
|
@@ -6609,7 +6664,7 @@ __export(util_exports, {
|
|
|
6609
6664
|
getParsedType: () => getParsedType2,
|
|
6610
6665
|
getSizableOrigin: () => getSizableOrigin,
|
|
6611
6666
|
isObject: () => isObject,
|
|
6612
|
-
isPlainObject: () =>
|
|
6667
|
+
isPlainObject: () => isPlainObject2,
|
|
6613
6668
|
issue: () => issue,
|
|
6614
6669
|
joinValues: () => joinValues,
|
|
6615
6670
|
jsonStringifyReplacer: () => jsonStringifyReplacer,
|
|
@@ -6757,7 +6812,7 @@ var allowsEval = cached(() => {
|
|
|
6757
6812
|
return false;
|
|
6758
6813
|
}
|
|
6759
6814
|
});
|
|
6760
|
-
function
|
|
6815
|
+
function isPlainObject2(o) {
|
|
6761
6816
|
if (isObject(o) === false)
|
|
6762
6817
|
return false;
|
|
6763
6818
|
const ctor = o.constructor;
|
|
@@ -6942,7 +6997,7 @@ function omit(schema, mask) {
|
|
|
6942
6997
|
});
|
|
6943
6998
|
}
|
|
6944
6999
|
function extend(schema, shape) {
|
|
6945
|
-
if (!
|
|
7000
|
+
if (!isPlainObject2(shape)) {
|
|
6946
7001
|
throw new Error("Invalid input to extend: expected a plain object");
|
|
6947
7002
|
}
|
|
6948
7003
|
const def = {
|
|
@@ -8939,7 +8994,7 @@ function mergeValues2(a, b) {
|
|
|
8939
8994
|
if (a instanceof Date && b instanceof Date && +a === +b) {
|
|
8940
8995
|
return { valid: true, data: a };
|
|
8941
8996
|
}
|
|
8942
|
-
if (
|
|
8997
|
+
if (isPlainObject2(a) && isPlainObject2(b)) {
|
|
8943
8998
|
const bKeys = Object.keys(b);
|
|
8944
8999
|
const sharedKeys = Object.keys(a).filter((key) => bKeys.indexOf(key) !== -1);
|
|
8945
9000
|
const newObj = { ...a, ...b };
|
|
@@ -9069,7 +9124,7 @@ var $ZodRecord = /* @__PURE__ */ $constructor("$ZodRecord", (inst, def) => {
|
|
|
9069
9124
|
$ZodType.init(inst, def);
|
|
9070
9125
|
inst._zod.parse = (payload, ctx) => {
|
|
9071
9126
|
const input = payload.value;
|
|
9072
|
-
if (!
|
|
9127
|
+
if (!isPlainObject2(input)) {
|
|
9073
9128
|
payload.issues.push({
|
|
9074
9129
|
expected: "record",
|
|
9075
9130
|
code: "invalid_type",
|
|
@@ -18649,7 +18704,7 @@ var RequestError = class _RequestError extends Error {
|
|
|
18649
18704
|
}
|
|
18650
18705
|
};
|
|
18651
18706
|
|
|
18652
|
-
// ../../packages/core/dist/chunk-
|
|
18707
|
+
// ../../packages/core/dist/chunk-Z2BBOGE4.js
|
|
18653
18708
|
import { exec as execCallback } from "node:child_process";
|
|
18654
18709
|
import { readdirSync, statSync } from "node:fs";
|
|
18655
18710
|
import { readFile as readFile22, readdir as readdir2, stat as stat2 } from "node:fs/promises";
|
|
@@ -34032,6 +34087,41 @@ function resolveTests(suite) {
|
|
|
34032
34087
|
}
|
|
34033
34088
|
return void 0;
|
|
34034
34089
|
}
|
|
34090
|
+
function interpolateCaseField(value, vars) {
|
|
34091
|
+
if (!vars || value === void 0) {
|
|
34092
|
+
return value;
|
|
34093
|
+
}
|
|
34094
|
+
return interpolateTemplateVars(value, vars);
|
|
34095
|
+
}
|
|
34096
|
+
function interpolateCaseTurns(turns, vars) {
|
|
34097
|
+
if (!vars || !Array.isArray(turns)) {
|
|
34098
|
+
return turns;
|
|
34099
|
+
}
|
|
34100
|
+
return turns.map((rawTurn) => {
|
|
34101
|
+
if (!isJsonObject(rawTurn)) {
|
|
34102
|
+
return rawTurn;
|
|
34103
|
+
}
|
|
34104
|
+
return {
|
|
34105
|
+
...rawTurn,
|
|
34106
|
+
input: interpolateCaseField(rawTurn.input, vars),
|
|
34107
|
+
expected_output: interpolateCaseField(rawTurn.expected_output, vars)
|
|
34108
|
+
};
|
|
34109
|
+
});
|
|
34110
|
+
}
|
|
34111
|
+
function interpolateRawEvalCase(raw, vars) {
|
|
34112
|
+
if (!vars) {
|
|
34113
|
+
return raw;
|
|
34114
|
+
}
|
|
34115
|
+
return {
|
|
34116
|
+
...raw,
|
|
34117
|
+
...raw.criteria !== void 0 ? { criteria: interpolateCaseField(raw.criteria, vars) } : {},
|
|
34118
|
+
...raw.expected_outcome !== void 0 ? { expected_outcome: interpolateCaseField(raw.expected_outcome, vars) } : {},
|
|
34119
|
+
...raw.input !== void 0 ? { input: interpolateCaseField(raw.input, vars) } : {},
|
|
34120
|
+
...raw.input_files !== void 0 ? { input_files: interpolateCaseField(raw.input_files, vars) } : {},
|
|
34121
|
+
...raw.expected_output !== void 0 ? { expected_output: interpolateCaseField(raw.expected_output, vars) } : {},
|
|
34122
|
+
...raw.turns !== void 0 ? { turns: interpolateCaseTurns(raw.turns, vars) } : {}
|
|
34123
|
+
};
|
|
34124
|
+
}
|
|
34035
34125
|
async function readTestSuiteMetadata(testFilePath) {
|
|
34036
34126
|
try {
|
|
34037
34127
|
const absolutePath = path43.resolve(testFilePath);
|
|
@@ -34059,7 +34149,7 @@ async function loadTestSuite(evalFilePath, repoRoot, options) {
|
|
|
34059
34149
|
return { tests: await loadTestsFromAgentSkills(evalFilePath) };
|
|
34060
34150
|
}
|
|
34061
34151
|
if (format === "typescript") {
|
|
34062
|
-
const { loadTsEvalSuite: loadTsEvalSuite2 } = await import("./ts-eval-loader-
|
|
34152
|
+
const { loadTsEvalSuite: loadTsEvalSuite2 } = await import("./ts-eval-loader-JL5DGTJL-U5LTKGOE.js");
|
|
34063
34153
|
return loadTsEvalSuite2(evalFilePath, resolveToAbsolutePath(repoRoot), options);
|
|
34064
34154
|
}
|
|
34065
34155
|
const { tests, parsed, suiteWorkspacePath } = await loadTestsFromYaml(
|
|
@@ -34094,7 +34184,7 @@ async function loadTests(evalFilePath, repoRoot, options) {
|
|
|
34094
34184
|
return loadTestsFromAgentSkills(evalFilePath);
|
|
34095
34185
|
}
|
|
34096
34186
|
if (format === "typescript") {
|
|
34097
|
-
const { loadTsEvalSuite: loadTsEvalSuite2 } = await import("./ts-eval-loader-
|
|
34187
|
+
const { loadTsEvalSuite: loadTsEvalSuite2 } = await import("./ts-eval-loader-JL5DGTJL-U5LTKGOE.js");
|
|
34098
34188
|
const suite = await loadTsEvalSuite2(evalFilePath, resolveToAbsolutePath(repoRoot), options);
|
|
34099
34189
|
return suite.tests;
|
|
34100
34190
|
}
|
|
@@ -34148,8 +34238,8 @@ async function loadTestsFromYaml(evalFilePath, repoRoot, options) {
|
|
|
34148
34238
|
}
|
|
34149
34239
|
const suiteWorkspace = await resolveWorkspaceConfig(suite.workspace, evalFileDir);
|
|
34150
34240
|
const suiteGovernance = extractSuiteGovernance(suite);
|
|
34151
|
-
const
|
|
34152
|
-
const
|
|
34241
|
+
const rawSuiteInput = suite.input;
|
|
34242
|
+
const rawSuiteInputFiles = suite.input_files;
|
|
34153
34243
|
const rawGlobalExecution = isJsonObject(suite.execution) ? suite.execution : void 0;
|
|
34154
34244
|
const _globalTarget = asString5(rawGlobalExecution?.target) ?? asString5(suite.target);
|
|
34155
34245
|
const suiteAssertions = suite.assertions ?? suite.assert;
|
|
@@ -34168,30 +34258,33 @@ async function loadTestsFromYaml(evalFilePath, repoRoot, options) {
|
|
|
34168
34258
|
if (filterPattern && (!id || !matchesFilter2(id, filterPattern))) {
|
|
34169
34259
|
continue;
|
|
34170
34260
|
}
|
|
34171
|
-
const
|
|
34172
|
-
|
|
34173
|
-
|
|
34174
|
-
|
|
34261
|
+
const caseVars = isJsonObject(testCaseConfig.vars) ? testCaseConfig.vars : void 0;
|
|
34262
|
+
const renderedCase = interpolateRawEvalCase(testCaseConfig, caseVars);
|
|
34263
|
+
const conversationId = asString5(renderedCase.conversation_id);
|
|
34264
|
+
let outcome = asString5(renderedCase.criteria);
|
|
34265
|
+
if (!outcome && renderedCase.expected_outcome !== void 0) {
|
|
34266
|
+
outcome = asString5(renderedCase.expected_outcome);
|
|
34175
34267
|
if (outcome) {
|
|
34176
34268
|
logWarning5(
|
|
34177
|
-
`Test '${asString5(
|
|
34269
|
+
`Test '${asString5(renderedCase.id) ?? "unknown"}': 'expected_outcome' is deprecated. Use 'criteria' instead.`
|
|
34178
34270
|
);
|
|
34179
34271
|
}
|
|
34180
34272
|
}
|
|
34181
|
-
const caseExecution = isJsonObject(
|
|
34273
|
+
const caseExecution = isJsonObject(renderedCase.execution) ? renderedCase.execution : void 0;
|
|
34182
34274
|
const skipDefaults = caseExecution?.skip_defaults === true;
|
|
34183
34275
|
const caseThreshold = typeof caseExecution?.threshold === "number" && caseExecution.threshold >= 0 && caseExecution.threshold <= 1 ? caseExecution.threshold : void 0;
|
|
34184
|
-
const effectiveSuiteInputFiles =
|
|
34185
|
-
const testInputMessages = resolveInputMessages(
|
|
34186
|
-
const expectedMessages = resolveExpectedMessages(
|
|
34187
|
-
const hasEvaluationSpec = !!outcome || expectedMessages.length > 0 ||
|
|
34276
|
+
const effectiveSuiteInputFiles = rawSuiteInputFiles && !skipDefaults ? interpolateCaseField(rawSuiteInputFiles, caseVars) : void 0;
|
|
34277
|
+
const testInputMessages = resolveInputMessages(renderedCase, effectiveSuiteInputFiles);
|
|
34278
|
+
const expectedMessages = resolveExpectedMessages(renderedCase) ?? [];
|
|
34279
|
+
const hasEvaluationSpec = !!outcome || expectedMessages.length > 0 || renderedCase.assertions !== void 0 || renderedCase.assert !== void 0 || Array.isArray(renderedCase.turns) && renderedCase.turns.length > 0;
|
|
34188
34280
|
if (!id || !hasEvaluationSpec || !testInputMessages || testInputMessages.length === 0) {
|
|
34189
34281
|
logError3(
|
|
34190
34282
|
`Skipping incomplete test: ${id ?? "unknown"}. Missing required fields: id, input, and at least one of criteria/expected_output/assertions/turns`
|
|
34191
34283
|
);
|
|
34192
34284
|
continue;
|
|
34193
34285
|
}
|
|
34194
|
-
const
|
|
34286
|
+
const effectiveSuiteInputValue = rawSuiteInput && !skipDefaults ? interpolateCaseField(rawSuiteInput, caseVars) : void 0;
|
|
34287
|
+
const effectiveSuiteInputMessages = expandInputShorthand(effectiveSuiteInputValue);
|
|
34195
34288
|
const hasExpectedMessages = expectedMessages.length > 0;
|
|
34196
34289
|
const inputTextParts = [];
|
|
34197
34290
|
const suiteResolvedInputMessages = effectiveSuiteInputMessages ? await processMessages({
|
|
@@ -34231,11 +34324,11 @@ async function loadTestsFromYaml(evalFilePath, repoRoot, options) {
|
|
|
34231
34324
|
}
|
|
34232
34325
|
}
|
|
34233
34326
|
const question = inputTextParts.map((part) => part.trim()).filter((part) => part.length > 0).join(" ");
|
|
34234
|
-
const testCaseEvaluatorKind = coerceEvaluator(
|
|
34327
|
+
const testCaseEvaluatorKind = coerceEvaluator(renderedCase.evaluator, id) ?? globalEvaluator;
|
|
34235
34328
|
let evaluators;
|
|
34236
34329
|
try {
|
|
34237
34330
|
evaluators = await parseGraders(
|
|
34238
|
-
|
|
34331
|
+
renderedCase,
|
|
34239
34332
|
globalExecution,
|
|
34240
34333
|
searchRoots,
|
|
34241
34334
|
id ?? "unknown",
|
|
@@ -34246,7 +34339,7 @@ async function loadTestsFromYaml(evalFilePath, repoRoot, options) {
|
|
|
34246
34339
|
logError3(`Skipping test '${id}': ${message}`);
|
|
34247
34340
|
continue;
|
|
34248
34341
|
}
|
|
34249
|
-
const inlineRubrics =
|
|
34342
|
+
const inlineRubrics = renderedCase.rubrics;
|
|
34250
34343
|
if (inlineRubrics !== void 0 && Array.isArray(inlineRubrics)) {
|
|
34251
34344
|
const rubricEvaluator = parseInlineRubrics(inlineRubrics);
|
|
34252
34345
|
if (rubricEvaluator) {
|
|
@@ -34255,25 +34348,25 @@ async function loadTestsFromYaml(evalFilePath, repoRoot, options) {
|
|
|
34255
34348
|
}
|
|
34256
34349
|
warnUnconsumedCriteria(outcome, evaluators, id ?? "unknown");
|
|
34257
34350
|
const userFilePaths = collectResolvedInputFilePaths(inputMessages);
|
|
34258
|
-
const caseWorkspace = await resolveWorkspaceConfig(
|
|
34351
|
+
const caseWorkspace = await resolveWorkspaceConfig(renderedCase.workspace, evalFileDir);
|
|
34259
34352
|
const mergedWorkspace = mergeWorkspaceConfigs(suiteWorkspace, caseWorkspace);
|
|
34260
|
-
const rawCaseMetadata = isJsonObject(
|
|
34353
|
+
const rawCaseMetadata = isJsonObject(renderedCase.metadata) ? renderedCase.metadata : void 0;
|
|
34261
34354
|
const suitePayload = suiteGovernance !== void 0 ? { governance: suiteGovernance } : void 0;
|
|
34262
34355
|
const metadata = mergeSuiteMetadataPayload(rawCaseMetadata, suitePayload);
|
|
34263
|
-
const caseTargets = extractTargetsFromTestCase(
|
|
34264
|
-
const dependsOn = Array.isArray(
|
|
34356
|
+
const caseTargets = extractTargetsFromTestCase(renderedCase);
|
|
34357
|
+
const dependsOn = Array.isArray(renderedCase.depends_on) ? renderedCase.depends_on.filter(
|
|
34265
34358
|
(v) => typeof v === "string"
|
|
34266
34359
|
) : void 0;
|
|
34267
|
-
const onDependencyFailureRaw = asString5(
|
|
34360
|
+
const onDependencyFailureRaw = asString5(renderedCase.on_dependency_failure);
|
|
34268
34361
|
const onDependencyFailure = onDependencyFailureRaw === "skip" || onDependencyFailureRaw === "fail" || onDependencyFailureRaw === "run" ? onDependencyFailureRaw : void 0;
|
|
34269
|
-
const modeRaw = asString5(
|
|
34362
|
+
const modeRaw = asString5(renderedCase.mode);
|
|
34270
34363
|
const mode = modeRaw === "conversation" ? "conversation" : void 0;
|
|
34271
|
-
const turns = Array.isArray(
|
|
34272
|
-
const aggregationRaw = asString5(
|
|
34364
|
+
const turns = Array.isArray(renderedCase.turns) ? parseTurns(renderedCase.turns) : void 0;
|
|
34365
|
+
const aggregationRaw = asString5(renderedCase.aggregation);
|
|
34273
34366
|
const aggregation = aggregationRaw === "mean" || aggregationRaw === "min" || aggregationRaw === "max" ? aggregationRaw : void 0;
|
|
34274
|
-
const onTurnFailureRaw = asString5(
|
|
34367
|
+
const onTurnFailureRaw = asString5(renderedCase.on_turn_failure);
|
|
34275
34368
|
const onTurnFailure = onTurnFailureRaw === "continue" || onTurnFailureRaw === "stop" ? onTurnFailureRaw : void 0;
|
|
34276
|
-
const windowSize = typeof
|
|
34369
|
+
const windowSize = typeof renderedCase.window_size === "number" && renderedCase.window_size >= 1 ? renderedCase.window_size : void 0;
|
|
34277
34370
|
const testCase = {
|
|
34278
34371
|
id,
|
|
34279
34372
|
suite: suiteName,
|
|
@@ -37991,4 +38084,4 @@ export {
|
|
|
37991
38084
|
loadTsEvalFile,
|
|
37992
38085
|
loadTsEvalSuite
|
|
37993
38086
|
};
|
|
37994
|
-
//# sourceMappingURL=chunk-
|
|
38087
|
+
//# sourceMappingURL=chunk-L3FMZXCD.js.map
|