@agentv/core 4.22.0 → 4.24.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/{chunk-LKX4QW3G.js → chunk-4VLOUBFL.js} +11 -4
- package/dist/chunk-4VLOUBFL.js.map +1 -0
- package/dist/{chunk-B3BLJRYI.js → chunk-CUVG5O5P.js} +71 -26
- package/dist/chunk-CUVG5O5P.js.map +1 -0
- package/dist/evaluation/validation/index.cjs +22 -19
- package/dist/evaluation/validation/index.cjs.map +1 -1
- package/dist/evaluation/validation/index.js +14 -18
- package/dist/evaluation/validation/index.js.map +1 -1
- package/dist/index.cjs +108 -40
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +22 -4
- package/dist/index.d.ts +22 -4
- package/dist/index.js +9 -9
- package/dist/index.js.map +1 -1
- package/dist/{ts-eval-loader-PA4YFM5D.js → ts-eval-loader-SYQYQPMC.js} +3 -3
- package/package.json +1 -1
- package/dist/chunk-B3BLJRYI.js.map +0 -1
- package/dist/chunk-LKX4QW3G.js.map +0 -1
- /package/dist/{ts-eval-loader-PA4YFM5D.js.map → ts-eval-loader-SYQYQPMC.js.map} +0 -0
|
@@ -45,14 +45,22 @@ module.exports = __toCommonJS(validation_exports);
|
|
|
45
45
|
// src/evaluation/validation/file-type.ts
|
|
46
46
|
var import_promises = require("fs/promises");
|
|
47
47
|
var import_node_path = __toESM(require("path"), 1);
|
|
48
|
+
|
|
49
|
+
// src/evaluation/yaml-loader.ts
|
|
48
50
|
var import_yaml = require("yaml");
|
|
51
|
+
var PARSE_OPTIONS = { merge: true };
|
|
52
|
+
function parseYamlValue(content) {
|
|
53
|
+
return (0, import_yaml.parse)(content, PARSE_OPTIONS);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// src/evaluation/validation/file-type.ts
|
|
49
57
|
var SCHEMA_EVAL_V2 = "agentv-eval-v2";
|
|
50
58
|
var SCHEMA_TARGETS_V2 = "agentv-targets-v2.2";
|
|
51
59
|
var SCHEMA_CONFIG_V2 = "agentv-config-v2";
|
|
52
60
|
async function detectFileType(filePath) {
|
|
53
61
|
try {
|
|
54
62
|
const content = await (0, import_promises.readFile)(filePath, "utf8");
|
|
55
|
-
const parsed = (
|
|
63
|
+
const parsed = parseYamlValue(content);
|
|
56
64
|
if (Array.isArray(parsed)) {
|
|
57
65
|
return "cases";
|
|
58
66
|
}
|
|
@@ -114,7 +122,6 @@ function getExpectedSchema(fileType) {
|
|
|
114
122
|
// src/evaluation/validation/eval-validator.ts
|
|
115
123
|
var import_promises3 = require("fs/promises");
|
|
116
124
|
var import_node_path3 = __toESM(require("path"), 1);
|
|
117
|
-
var import_yaml3 = require("yaml");
|
|
118
125
|
|
|
119
126
|
// src/evaluation/interpolation.ts
|
|
120
127
|
var ENV_VAR_PATTERN = /\$\{\{\s*([A-Za-z_][A-Za-z0-9_]*)\s*\}\}/g;
|
|
@@ -139,7 +146,6 @@ function interpolateEnv(value, env) {
|
|
|
139
146
|
var import_promises2 = require("fs/promises");
|
|
140
147
|
var import_node_path2 = __toESM(require("path"), 1);
|
|
141
148
|
var import_fast_glob = __toESM(require("fast-glob"), 1);
|
|
142
|
-
var import_yaml2 = require("yaml");
|
|
143
149
|
|
|
144
150
|
// src/evaluation/types.ts
|
|
145
151
|
var TEST_MESSAGE_ROLE_VALUES = ["system", "user", "assistant", "tool"];
|
|
@@ -197,7 +203,7 @@ function isGraderKind(value) {
|
|
|
197
203
|
var ANSI_YELLOW = "\x1B[33m";
|
|
198
204
|
var ANSI_RESET = "\x1B[0m";
|
|
199
205
|
function parseYamlCases(content, filePath) {
|
|
200
|
-
const raw = (
|
|
206
|
+
const raw = parseYamlValue(content);
|
|
201
207
|
const parsed = interpolateEnv(raw, process.env);
|
|
202
208
|
if (!Array.isArray(parsed)) {
|
|
203
209
|
throw new Error(
|
|
@@ -292,7 +298,7 @@ async function loadCasesFromDirectory(dirPath) {
|
|
|
292
298
|
throw new Error(`Cannot read case file: ${caseFilePath}
|
|
293
299
|
${message}`);
|
|
294
300
|
}
|
|
295
|
-
const raw = (
|
|
301
|
+
const raw = parseYamlValue(content);
|
|
296
302
|
const parsed = interpolateEnv(raw, process.env);
|
|
297
303
|
if (!isJsonObject(parsed)) {
|
|
298
304
|
throw new Error(
|
|
@@ -352,7 +358,9 @@ var KNOWN_TOP_LEVEL_FIELDS = /* @__PURE__ */ new Set([
|
|
|
352
358
|
"assertions",
|
|
353
359
|
"evaluators",
|
|
354
360
|
"preprocessors",
|
|
355
|
-
"workspace"
|
|
361
|
+
"workspace",
|
|
362
|
+
"metadata",
|
|
363
|
+
"governance"
|
|
356
364
|
]);
|
|
357
365
|
var DEPRECATED_TOP_LEVEL_FIELDS = /* @__PURE__ */ new Map([
|
|
358
366
|
["eval_cases", "'eval_cases' is deprecated. Use 'tests' instead."],
|
|
@@ -427,7 +435,7 @@ async function validateEvalFile(filePath) {
|
|
|
427
435
|
let parsed;
|
|
428
436
|
try {
|
|
429
437
|
const content = await (0, import_promises3.readFile)(absolutePath, "utf8");
|
|
430
|
-
parsed = interpolateEnv((
|
|
438
|
+
parsed = interpolateEnv(parseYamlValue(content), process.env);
|
|
431
439
|
} catch (error) {
|
|
432
440
|
errors.push({
|
|
433
441
|
severity: "error",
|
|
@@ -703,7 +711,7 @@ async function validateWorkspaceConfig(workspace, evalFilePath, errors, location
|
|
|
703
711
|
const workspacePath = import_node_path3.default.resolve(import_node_path3.default.dirname(evalFilePath), workspace);
|
|
704
712
|
try {
|
|
705
713
|
const workspaceContent = await (0, import_promises3.readFile)(workspacePath, "utf8");
|
|
706
|
-
const parsedWorkspace = interpolateEnv((
|
|
714
|
+
const parsedWorkspace = interpolateEnv(parseYamlValue(workspaceContent), process.env);
|
|
707
715
|
if (!isObject(parsedWorkspace)) {
|
|
708
716
|
errors.push({
|
|
709
717
|
severity: "error",
|
|
@@ -1100,7 +1108,6 @@ function validateConversationMode(evalCase, location, filePath, errors) {
|
|
|
1100
1108
|
// src/evaluation/validation/cases-validator.ts
|
|
1101
1109
|
var import_promises4 = require("fs/promises");
|
|
1102
1110
|
var import_node_path4 = __toESM(require("path"), 1);
|
|
1103
|
-
var import_yaml4 = require("yaml");
|
|
1104
1111
|
function isObject2(value) {
|
|
1105
1112
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
1106
1113
|
}
|
|
@@ -1110,7 +1117,7 @@ async function validateCasesFile(filePath) {
|
|
|
1110
1117
|
let parsed;
|
|
1111
1118
|
try {
|
|
1112
1119
|
const content = await (0, import_promises4.readFile)(absolutePath, "utf8");
|
|
1113
|
-
parsed = (
|
|
1120
|
+
parsed = parseYamlValue(content);
|
|
1114
1121
|
} catch (error) {
|
|
1115
1122
|
errors.push({
|
|
1116
1123
|
severity: "error",
|
|
@@ -1176,7 +1183,6 @@ async function validateCasesFile(filePath) {
|
|
|
1176
1183
|
// src/evaluation/validation/targets-validator.ts
|
|
1177
1184
|
var import_promises5 = require("fs/promises");
|
|
1178
1185
|
var import_node_path6 = __toESM(require("path"), 1);
|
|
1179
|
-
var import_yaml5 = require("yaml");
|
|
1180
1186
|
|
|
1181
1187
|
// src/evaluation/providers/targets.ts
|
|
1182
1188
|
var import_node_fs = require("fs");
|
|
@@ -1619,7 +1625,7 @@ async function validateTargetsFile(filePath) {
|
|
|
1619
1625
|
let parsed;
|
|
1620
1626
|
try {
|
|
1621
1627
|
const content = await (0, import_promises5.readFile)(absolutePath, "utf8");
|
|
1622
|
-
parsed = (
|
|
1628
|
+
parsed = parseYamlValue(content);
|
|
1623
1629
|
} catch (error) {
|
|
1624
1630
|
errors.push({
|
|
1625
1631
|
severity: "error",
|
|
@@ -1833,12 +1839,11 @@ async function validateTargetsFile(filePath) {
|
|
|
1833
1839
|
|
|
1834
1840
|
// src/evaluation/validation/config-validator.ts
|
|
1835
1841
|
var import_promises6 = require("fs/promises");
|
|
1836
|
-
var import_yaml6 = require("yaml");
|
|
1837
1842
|
async function validateConfigFile(filePath) {
|
|
1838
1843
|
const errors = [];
|
|
1839
1844
|
try {
|
|
1840
1845
|
const content = await (0, import_promises6.readFile)(filePath, "utf8");
|
|
1841
|
-
const parsed = (
|
|
1846
|
+
const parsed = parseYamlValue(content);
|
|
1842
1847
|
if (typeof parsed !== "object" || parsed === null) {
|
|
1843
1848
|
errors.push({
|
|
1844
1849
|
severity: "error",
|
|
@@ -1976,7 +1981,6 @@ async function validateConfigFile(filePath) {
|
|
|
1976
1981
|
// src/evaluation/validation/file-reference-validator.ts
|
|
1977
1982
|
var import_promises8 = require("fs/promises");
|
|
1978
1983
|
var import_node_path8 = __toESM(require("path"), 1);
|
|
1979
|
-
var import_yaml7 = require("yaml");
|
|
1980
1984
|
|
|
1981
1985
|
// src/evaluation/file-utils.ts
|
|
1982
1986
|
var import_node_fs2 = require("fs");
|
|
@@ -2078,7 +2082,7 @@ async function validateFileReferences(evalFilePath) {
|
|
|
2078
2082
|
let parsed;
|
|
2079
2083
|
try {
|
|
2080
2084
|
const content = await (0, import_promises8.readFile)(absolutePath, "utf8");
|
|
2081
|
-
parsed = (
|
|
2085
|
+
parsed = parseYamlValue(content);
|
|
2082
2086
|
} catch {
|
|
2083
2087
|
return errors;
|
|
2084
2088
|
}
|
|
@@ -2190,7 +2194,6 @@ async function validateMessagesFileRefs(messages, location, searchRoots, filePat
|
|
|
2190
2194
|
// src/evaluation/validation/workspace-path-validator.ts
|
|
2191
2195
|
var import_promises9 = require("fs/promises");
|
|
2192
2196
|
var import_node_path9 = __toESM(require("path"), 1);
|
|
2193
|
-
var import_yaml8 = require("yaml");
|
|
2194
2197
|
function isObject5(value) {
|
|
2195
2198
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
2196
2199
|
}
|
|
@@ -2201,7 +2204,7 @@ async function validateWorkspacePaths(evalFilePath) {
|
|
|
2201
2204
|
let parsed;
|
|
2202
2205
|
try {
|
|
2203
2206
|
const content = await (0, import_promises9.readFile)(absolutePath, "utf8");
|
|
2204
|
-
parsed = (
|
|
2207
|
+
parsed = parseYamlValue(content);
|
|
2205
2208
|
} catch {
|
|
2206
2209
|
return errors;
|
|
2207
2210
|
}
|
|
@@ -2212,7 +2215,7 @@ async function validateWorkspacePaths(evalFilePath) {
|
|
|
2212
2215
|
const workspaceFilePath = import_node_path9.default.resolve(evalDir, workspaceRaw);
|
|
2213
2216
|
try {
|
|
2214
2217
|
const wsContent = await (0, import_promises9.readFile)(workspaceFilePath, "utf8");
|
|
2215
|
-
const wsParsed = (
|
|
2218
|
+
const wsParsed = parseYamlValue(wsContent);
|
|
2216
2219
|
if (isObject5(wsParsed)) {
|
|
2217
2220
|
const wsDir = import_node_path9.default.dirname(workspaceFilePath);
|
|
2218
2221
|
await validateWorkspaceObject(wsParsed, wsDir, absolutePath, "workspace", errors);
|