agentv 4.41.4 → 4.41.6-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.
@@ -6156,7 +6156,7 @@ async function expandFileReferences(tests, evalFileDir) {
6156
6156
  return expanded;
6157
6157
  }
6158
6158
 
6159
- // ../../packages/core/dist/chunk-7MDLZQ2R.js
6159
+ // ../../packages/core/dist/chunk-WKBRUYYT.js
6160
6160
  import path50 from "node:path";
6161
6161
  import { pathToFileURL as pathToFileURL2 } from "node:url";
6162
6162
  import { existsSync as existsSync7 } from "node:fs";
@@ -18820,7 +18820,7 @@ var RequestError = class _RequestError extends Error {
18820
18820
  }
18821
18821
  };
18822
18822
 
18823
- // ../../packages/core/dist/chunk-7MDLZQ2R.js
18823
+ // ../../packages/core/dist/chunk-WKBRUYYT.js
18824
18824
  import { exec as execCallback } from "node:child_process";
18825
18825
  import { readdirSync, statSync } from "node:fs";
18826
18826
  import { readFile as readFile32, readdir as readdir2, stat as stat2 } from "node:fs/promises";
@@ -22990,15 +22990,15 @@ var SkillTriggerGrader = class {
22990
22990
  for (const toolCall of allToolCalls) {
22991
22991
  const toolName = toolCall.tool ?? "";
22992
22992
  const input = toolCall.input ?? {};
22993
- if (toolName === "Skill") {
22993
+ if (toolName.toLowerCase() === "skill") {
22994
22994
  const skillArg = String(input.skill ?? "");
22995
22995
  if (skillArg.includes(skillName)) {
22996
22996
  triggered = true;
22997
22997
  evidence = `Skill tool invoked with skill="${skillArg}"`;
22998
22998
  break;
22999
22999
  }
23000
- } else if (toolName === "Read") {
23001
- const filePath = String(input.file_path ?? "");
23000
+ } else if (toolName.toLowerCase() === "read") {
23001
+ const filePath = String(input.file_path ?? input.path ?? "");
23002
23002
  if (filePath.includes(`skills/${skillName}/`)) {
23003
23003
  triggered = true;
23004
23004
  evidence = `Read tool loaded skill file: ${filePath}`;
@@ -38727,7 +38727,7 @@ async function loadTestSuite(evalFilePath, repoRoot, options) {
38727
38727
  return { tests: await loadTestsFromAgentSkills(evalFilePath) };
38728
38728
  }
38729
38729
  if (format === "typescript") {
38730
- const { loadTsEvalSuite: loadTsEvalSuite2 } = await import("./ts-eval-loader-UPFWPMQO-SKZNUXPB.js");
38730
+ const { loadTsEvalSuite: loadTsEvalSuite2 } = await import("./ts-eval-loader-IVMSOI7K-JUPHBJM7.js");
38731
38731
  return loadTsEvalSuite2(evalFilePath, resolveToAbsolutePath(repoRoot), options);
38732
38732
  }
38733
38733
  const { tests, parsed, suiteWorkspacePath } = await loadTestsFromYaml(
@@ -38735,24 +38735,18 @@ async function loadTestSuite(evalFilePath, repoRoot, options) {
38735
38735
  repoRoot,
38736
38736
  options
38737
38737
  );
38738
- const metadata = parseMetadata(parsed);
38739
- const failOnError = extractFailOnError(parsed);
38740
- const threshold = extractThreshold(parsed);
38741
- return {
38742
- tests,
38743
- trials: extractTrialsConfig(parsed),
38744
- targets: extractTargetsFromSuite(parsed),
38745
- targetRefs: extractTargetRefsFromSuite(parsed),
38746
- workers: extractWorkersFromSuite(parsed),
38747
- cacheConfig: extractCacheConfig(parsed),
38748
- budgetUsd: extractBudgetUsd(parsed),
38749
- ...metadata !== void 0 && { metadata },
38750
- ...failOnError !== void 0 && { failOnError },
38751
- ...threshold !== void 0 && { threshold },
38752
- ...suiteWorkspacePath !== void 0 && { workspacePath: suiteWorkspacePath }
38753
- };
38738
+ return buildEvalSuiteResult(parsed, tests, suiteWorkspacePath);
38754
38739
  }
38755
38740
  var loadEvalSuite = loadTestSuite;
38741
+ async function loadTestSuiteFromYamlObject(evalFilePath, suiteObject, repoRoot, options) {
38742
+ const { tests, parsed, suiteWorkspacePath } = await loadTestsFromParsedYamlValue(
38743
+ suiteObject,
38744
+ evalFilePath,
38745
+ repoRoot,
38746
+ options
38747
+ );
38748
+ return buildEvalSuiteResult(parsed, tests, suiteWorkspacePath);
38749
+ }
38756
38750
  async function loadTests(evalFilePath, repoRoot, options) {
38757
38751
  const format = detectFormat(evalFilePath);
38758
38752
  if (format === "jsonl") {
@@ -38762,7 +38756,7 @@ async function loadTests(evalFilePath, repoRoot, options) {
38762
38756
  return loadTestsFromAgentSkills(evalFilePath);
38763
38757
  }
38764
38758
  if (format === "typescript") {
38765
- const { loadTsEvalSuite: loadTsEvalSuite2 } = await import("./ts-eval-loader-UPFWPMQO-SKZNUXPB.js");
38759
+ const { loadTsEvalSuite: loadTsEvalSuite2 } = await import("./ts-eval-loader-IVMSOI7K-JUPHBJM7.js");
38766
38760
  const suite = await loadTsEvalSuite2(evalFilePath, resolveToAbsolutePath(repoRoot), options);
38767
38761
  return suite.tests;
38768
38762
  }
@@ -38771,14 +38765,17 @@ async function loadTests(evalFilePath, repoRoot, options) {
38771
38765
  }
38772
38766
  var loadEvalCases = loadTests;
38773
38767
  async function loadTestsFromYaml(evalFilePath, repoRoot, options) {
38768
+ const absoluteTestPath = path46.resolve(evalFilePath);
38769
+ const rawFile = await readFile18(absoluteTestPath, "utf8");
38770
+ return loadTestsFromParsedYamlValue(parseYamlValue(rawFile), evalFilePath, repoRoot, options);
38771
+ }
38772
+ async function loadTestsFromParsedYamlValue(rawParsed, evalFilePath, repoRoot, options) {
38774
38773
  const verbose = options?.verbose ?? false;
38775
38774
  const filterPattern = options?.filter;
38776
38775
  const absoluteTestPath = path46.resolve(evalFilePath);
38777
38776
  const repoRootPath = resolveToAbsolutePath(repoRoot);
38778
38777
  const searchRoots = buildSearchRoots2(absoluteTestPath, repoRootPath);
38779
38778
  const config2 = await loadConfig(absoluteTestPath, repoRootPath);
38780
- const rawFile = await readFile18(absoluteTestPath, "utf8");
38781
- const rawParsed = parseYamlValue(rawFile);
38782
38779
  const rawCaseSnapshots = buildRawInlineTestSnapshots(rawParsed);
38783
38780
  const interpolated = interpolateEnv(rawParsed, process.env);
38784
38781
  if (!isJsonObject(interpolated)) {
@@ -38993,6 +38990,24 @@ async function loadTestsFromYaml(evalFilePath, repoRoot, options) {
38993
38990
  }
38994
38991
  return { tests: results, parsed: suite, suiteWorkspacePath: suiteWorkspace?.path };
38995
38992
  }
38993
+ function buildEvalSuiteResult(parsed, tests, suiteWorkspacePath) {
38994
+ const metadata = parseMetadata(parsed);
38995
+ const failOnError = extractFailOnError(parsed);
38996
+ const threshold = extractThreshold(parsed);
38997
+ return {
38998
+ tests,
38999
+ trials: extractTrialsConfig(parsed),
39000
+ targets: extractTargetsFromSuite(parsed),
39001
+ targetRefs: extractTargetRefsFromSuite(parsed),
39002
+ workers: extractWorkersFromSuite(parsed),
39003
+ cacheConfig: extractCacheConfig(parsed),
39004
+ budgetUsd: extractBudgetUsd(parsed),
39005
+ ...metadata !== void 0 && { metadata },
39006
+ ...failOnError !== void 0 && { failOnError },
39007
+ ...threshold !== void 0 && { threshold },
39008
+ ...suiteWorkspacePath !== void 0 && { workspacePath: suiteWorkspacePath }
39009
+ };
39010
+ }
38996
39011
  var SOURCE_SECRET_KEY_PATTERN = /(api[_-]?key|authorization|bearer|credential|password|private[_-]?key|secret|token)/i;
38997
39012
  var REDACTED_SOURCE_VALUE = "[redacted]";
38998
39013
  function buildRawInlineTestSnapshots(rawParsed) {
@@ -43629,6 +43644,8 @@ async function loadEnvHierarchy(repoRoot, startPath) {
43629
43644
  }
43630
43645
  }
43631
43646
  var EXPORT_NAMES = ["default", "config", "evalConfig"];
43647
+ var SDK_EVAL_SUITE_SYMBOL = Symbol.for("@agentv/sdk/eval-suite");
43648
+ var SDK_TO_EVAL_YAML_OBJECT_SYMBOL = Symbol.for("@agentv/sdk/to-eval-yaml-object");
43632
43649
  async function loadTsEvalFile(filePath) {
43633
43650
  const absolutePath = path50.resolve(filePath);
43634
43651
  const moduleUrl = pathToFileURL2(absolutePath).href;
@@ -43636,20 +43653,28 @@ async function loadTsEvalFile(filePath) {
43636
43653
  let config2;
43637
43654
  for (const name of EXPORT_NAMES) {
43638
43655
  const candidate = module[name];
43639
- if (isEvalConfigLike(candidate)) {
43656
+ if (isSupportedTsEvalExport(candidate)) {
43640
43657
  config2 = candidate;
43641
43658
  break;
43642
43659
  }
43643
43660
  }
43644
43661
  if (!config2) {
43645
43662
  throw new Error(
43646
- `${filePath}: no EvalConfig export found. Export an EvalConfig as default, 'config', or 'evalConfig'.`
43663
+ `${filePath}: no supported eval export found. Export defineEval(...) or an EvalConfig as default, 'config', or 'evalConfig'.`
43647
43664
  );
43648
43665
  }
43649
43666
  return { config: config2, filePath: absolutePath };
43650
43667
  }
43651
43668
  async function loadTsEvalSuite(filePath, repoRoot, options) {
43652
43669
  const { config: config2, filePath: absolutePath } = await loadTsEvalFile(filePath);
43670
+ if (isSdkEvalSuiteExport(config2)) {
43671
+ return loadTestSuiteFromYamlObject(
43672
+ absolutePath,
43673
+ config2[SDK_TO_EVAL_YAML_OBJECT_SYMBOL](),
43674
+ repoRoot,
43675
+ options
43676
+ );
43677
+ }
43653
43678
  const materialized = await materializeEvalConfig(config2, {
43654
43679
  repoRoot,
43655
43680
  baseDir: path50.dirname(absolutePath),
@@ -43680,6 +43705,12 @@ async function loadTsEvalSuite(filePath, repoRoot, options) {
43680
43705
  }
43681
43706
  };
43682
43707
  }
43708
+ function isSdkEvalSuiteExport(value) {
43709
+ return !!value && typeof value === "object" && value[SDK_EVAL_SUITE_SYMBOL] === true && typeof value[SDK_TO_EVAL_YAML_OBJECT_SYMBOL] === "function";
43710
+ }
43711
+ function isSupportedTsEvalExport(value) {
43712
+ return isSdkEvalSuiteExport(value) || isEvalConfigLike(value);
43713
+ }
43683
43714
  function isEvalConfigLike(value) {
43684
43715
  if (!value || typeof value !== "object") return false;
43685
43716
  const obj = value;
@@ -43920,6 +43951,7 @@ export {
43920
43951
  readTestSuiteMetadata,
43921
43952
  loadTestSuite,
43922
43953
  loadEvalSuite,
43954
+ loadTestSuiteFromYamlObject,
43923
43955
  loadTests,
43924
43956
  loadEvalCases,
43925
43957
  loadTestById,
@@ -43954,4 +43986,4 @@ export {
43954
43986
  loadTsEvalFile,
43955
43987
  loadTsEvalSuite
43956
43988
  };
43957
- //# sourceMappingURL=chunk-QCF3LUI7.js.map
43989
+ //# sourceMappingURL=chunk-CGMO3QA7.js.map