agentv 4.34.1-next.1 → 4.35.0
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-UWZX5JKX.js → artifact-writer-G57MG52C.js} +3 -3
- package/dist/{chunk-4Y6LH2Q5.js → chunk-6NMAI6I6.js} +17 -6
- package/dist/{chunk-4Y6LH2Q5.js.map → chunk-6NMAI6I6.js.map} +1 -1
- package/dist/{chunk-GPRZ7XSC.js → chunk-KJGYL3M3.js} +2 -2
- package/dist/{chunk-KP4SPQ2M.js → chunk-KNF3AGCI.js} +24 -22
- package/dist/chunk-KNF3AGCI.js.map +1 -0
- package/dist/{chunk-HRN7BFMP.js → chunk-Q6LNXSP2.js} +131 -11
- package/dist/chunk-Q6LNXSP2.js.map +1 -0
- package/dist/cli.js +4 -4
- package/dist/dashboard/assets/{index-B4alzfKh.js → index-BWO0UcxG.js} +1 -1
- package/dist/dashboard/assets/{index-CM9L4pya.js → index-Bdk-9a_8.js} +1 -1
- package/dist/dashboard/index.html +1 -1
- package/dist/{dist-Z5VWSDOO.js → dist-M4B77IW4.js} +2 -2
- package/dist/index.js +4 -4
- package/dist/{interactive-VQPUNWH2.js → interactive-GFD5XV35.js} +4 -4
- package/package.json +1 -1
- package/dist/chunk-HRN7BFMP.js.map +0 -1
- package/dist/chunk-KP4SPQ2M.js.map +0 -1
- /package/dist/{artifact-writer-UWZX5JKX.js.map → artifact-writer-G57MG52C.js.map} +0 -0
- /package/dist/{chunk-GPRZ7XSC.js.map → chunk-KJGYL3M3.js.map} +0 -0
- /package/dist/{dist-Z5VWSDOO.js.map → dist-M4B77IW4.js.map} +0 -0
- /package/dist/{interactive-VQPUNWH2.js.map → interactive-GFD5XV35.js.map} +0 -0
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
toSnakeCaseDeep,
|
|
17
17
|
writeArtifactsFromResults,
|
|
18
18
|
writeInitialBenchmarkArtifact
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-KJGYL3M3.js";
|
|
20
20
|
import {
|
|
21
21
|
RunBudgetTracker,
|
|
22
22
|
deriveCategory,
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
normalizeResultsConfig,
|
|
32
32
|
resolveResultsRepoRunsDir,
|
|
33
33
|
syncResultsRepoForProject
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-KNF3AGCI.js";
|
|
35
35
|
import {
|
|
36
36
|
CLI_PLACEHOLDERS,
|
|
37
37
|
COMMON_TARGET_SETTINGS,
|
|
@@ -183,7 +183,7 @@ async function findRepoRoot(start) {
|
|
|
183
183
|
// package.json
|
|
184
184
|
var package_default = {
|
|
185
185
|
name: "agentv",
|
|
186
|
-
version: "4.
|
|
186
|
+
version: "4.35.0",
|
|
187
187
|
description: "CLI entry point for AgentV",
|
|
188
188
|
type: "module",
|
|
189
189
|
repository: {
|
|
@@ -1389,10 +1389,10 @@ async function loadNormalizedResultsConfig(cwd, projectId) {
|
|
|
1389
1389
|
const config = await loadConfig(path7.join(cwd, "_"), repoRoot);
|
|
1390
1390
|
const project = projectId !== void 0 ? getProject(projectId) : getProjectForPath(repoRoot) ?? getProjectForPath(cwd);
|
|
1391
1391
|
const projectResults = project?.results ? {
|
|
1392
|
-
mode:
|
|
1393
|
-
repo: project.results.
|
|
1392
|
+
mode: "github",
|
|
1393
|
+
repo: project.results.repoUrl,
|
|
1394
1394
|
path: project.results.path,
|
|
1395
|
-
auto_push: project.results.autoPush,
|
|
1395
|
+
auto_push: project.results.sync?.autoPush,
|
|
1396
1396
|
branch_prefix: project.results.branchPrefix
|
|
1397
1397
|
} : void 0;
|
|
1398
1398
|
const resultsConfig = projectResults ?? resolveResultsConfigForProject(config, project?.id);
|
|
@@ -3915,7 +3915,29 @@ function validateProjects(errors, filePath, projects) {
|
|
|
3915
3915
|
validateRequiredString(errors, filePath, projectRecord.id, `${location}.id`);
|
|
3916
3916
|
validateRequiredString(errors, filePath, projectRecord.name, `${location}.name`);
|
|
3917
3917
|
validateRequiredString(errors, filePath, projectRecord.path, `${location}.path`);
|
|
3918
|
-
|
|
3918
|
+
if (projectRecord.source !== void 0) {
|
|
3919
|
+
errors.push({
|
|
3920
|
+
severity: "error",
|
|
3921
|
+
filePath,
|
|
3922
|
+
location: `${location}.source`,
|
|
3923
|
+
message: `Field '${location}.source' was removed. Move 'source.url' to '${location}.repo_url' and move 'source.ref' to '${location}.ref'. Use a Git remote URL such as https://github.com/example/repo.git or git@github.com:example/repo.git.`
|
|
3924
|
+
});
|
|
3925
|
+
}
|
|
3926
|
+
if (projectRecord.repository !== void 0) {
|
|
3927
|
+
errors.push({
|
|
3928
|
+
severity: "error",
|
|
3929
|
+
filePath,
|
|
3930
|
+
location: `${location}.repository`,
|
|
3931
|
+
message: `Field '${location}.repository' was removed. Use '${location}.repo_url' with a Git remote URL instead.`
|
|
3932
|
+
});
|
|
3933
|
+
}
|
|
3934
|
+
if (projectRecord.repo_url !== void 0) {
|
|
3935
|
+
validateGitRemoteUrl(errors, filePath, projectRecord.repo_url, `${location}.repo_url`);
|
|
3936
|
+
}
|
|
3937
|
+
if (projectRecord.ref !== void 0) {
|
|
3938
|
+
validateRequiredString(errors, filePath, projectRecord.ref, `${location}.ref`);
|
|
3939
|
+
}
|
|
3940
|
+
validateProjectResultsConfig(errors, filePath, projectRecord.results, `${location}.results`);
|
|
3919
3941
|
});
|
|
3920
3942
|
}
|
|
3921
3943
|
function validateRequiredString(errors, filePath, value, location) {
|
|
@@ -3928,6 +3950,104 @@ function validateRequiredString(errors, filePath, value, location) {
|
|
|
3928
3950
|
});
|
|
3929
3951
|
}
|
|
3930
3952
|
}
|
|
3953
|
+
function validateGitRemoteUrl(errors, filePath, value, location) {
|
|
3954
|
+
if (typeof value !== "string" || value.trim().length === 0) {
|
|
3955
|
+
errors.push({
|
|
3956
|
+
severity: "error",
|
|
3957
|
+
filePath,
|
|
3958
|
+
location,
|
|
3959
|
+
message: `Field '${location}' must be a non-empty Git remote URL (e.g., https://github.com/EntityProcess/agentv.git or git@github.com:EntityProcess/agentv.git)`
|
|
3960
|
+
});
|
|
3961
|
+
return;
|
|
3962
|
+
}
|
|
3963
|
+
const repoUrl = value.trim();
|
|
3964
|
+
if (!/^(https?:\/\/|ssh:\/\/|git@|file:\/\/).+/.test(repoUrl)) {
|
|
3965
|
+
errors.push({
|
|
3966
|
+
severity: "error",
|
|
3967
|
+
filePath,
|
|
3968
|
+
location,
|
|
3969
|
+
message: `Field '${location}' must be a Git remote URL, not an owner/name shorthand. Use https://github.com/owner/repo.git or git@github.com:owner/repo.git.`
|
|
3970
|
+
});
|
|
3971
|
+
}
|
|
3972
|
+
}
|
|
3973
|
+
function validateProjectResultsConfig(errors, filePath, rawResults, location) {
|
|
3974
|
+
if (rawResults === void 0) {
|
|
3975
|
+
return;
|
|
3976
|
+
}
|
|
3977
|
+
if (typeof rawResults !== "object" || rawResults === null || Array.isArray(rawResults)) {
|
|
3978
|
+
errors.push({
|
|
3979
|
+
severity: "error",
|
|
3980
|
+
filePath,
|
|
3981
|
+
location,
|
|
3982
|
+
message: `Field '${location}' must be an object`
|
|
3983
|
+
});
|
|
3984
|
+
return;
|
|
3985
|
+
}
|
|
3986
|
+
const resultsRecord = rawResults;
|
|
3987
|
+
const removedFields = {
|
|
3988
|
+
mode: `Remove '${location}.mode'; project results use '${location}.repo_url' as the Git remote URL.`,
|
|
3989
|
+
repo: `Field '${location}.repo' was removed. Use '${location}.repo_url' with a Git remote URL instead.`,
|
|
3990
|
+
repository: `Field '${location}.repository' was removed. Use '${location}.repo_url' with a Git remote URL instead.`,
|
|
3991
|
+
local_path: `Field '${location}.local_path' was removed. Use '${location}.path' for the local clone path instead.`,
|
|
3992
|
+
auto_push: `Field '${location}.auto_push' was removed. Use '${location}.sync.auto_push' instead.`
|
|
3993
|
+
};
|
|
3994
|
+
for (const [field, message] of Object.entries(removedFields)) {
|
|
3995
|
+
if (resultsRecord[field] !== void 0) {
|
|
3996
|
+
errors.push({
|
|
3997
|
+
severity: "error",
|
|
3998
|
+
filePath,
|
|
3999
|
+
location: `${location}.${field}`,
|
|
4000
|
+
message
|
|
4001
|
+
});
|
|
4002
|
+
}
|
|
4003
|
+
}
|
|
4004
|
+
validateGitRemoteUrl(errors, filePath, resultsRecord.repo_url, `${location}.repo_url`);
|
|
4005
|
+
if (resultsRecord.path !== void 0) {
|
|
4006
|
+
if (typeof resultsRecord.path !== "string" || resultsRecord.path.trim().length === 0) {
|
|
4007
|
+
errors.push({
|
|
4008
|
+
severity: "error",
|
|
4009
|
+
filePath,
|
|
4010
|
+
location: `${location}.path`,
|
|
4011
|
+
message: `Field '${location}.path' must be a non-empty string`
|
|
4012
|
+
});
|
|
4013
|
+
} else if (!isFilesystemPath(resultsRecord.path.trim())) {
|
|
4014
|
+
errors.push({
|
|
4015
|
+
severity: "error",
|
|
4016
|
+
filePath,
|
|
4017
|
+
location: `${location}.path`,
|
|
4018
|
+
message: `'${location}.path' must be an absolute or home-relative filesystem path (e.g., ~/data/agentv-results).`
|
|
4019
|
+
});
|
|
4020
|
+
}
|
|
4021
|
+
}
|
|
4022
|
+
if (resultsRecord.sync !== void 0) {
|
|
4023
|
+
if (typeof resultsRecord.sync !== "object" || resultsRecord.sync === null || Array.isArray(resultsRecord.sync)) {
|
|
4024
|
+
errors.push({
|
|
4025
|
+
severity: "error",
|
|
4026
|
+
filePath,
|
|
4027
|
+
location: `${location}.sync`,
|
|
4028
|
+
message: `Field '${location}.sync' must be an object`
|
|
4029
|
+
});
|
|
4030
|
+
} else {
|
|
4031
|
+
const syncRecord = resultsRecord.sync;
|
|
4032
|
+
if (syncRecord.auto_push !== void 0 && typeof syncRecord.auto_push !== "boolean") {
|
|
4033
|
+
errors.push({
|
|
4034
|
+
severity: "error",
|
|
4035
|
+
filePath,
|
|
4036
|
+
location: `${location}.sync.auto_push`,
|
|
4037
|
+
message: `Field '${location}.sync.auto_push' must be a boolean`
|
|
4038
|
+
});
|
|
4039
|
+
}
|
|
4040
|
+
}
|
|
4041
|
+
}
|
|
4042
|
+
if (resultsRecord.branch_prefix !== void 0 && (typeof resultsRecord.branch_prefix !== "string" || resultsRecord.branch_prefix.trim().length === 0)) {
|
|
4043
|
+
errors.push({
|
|
4044
|
+
severity: "error",
|
|
4045
|
+
filePath,
|
|
4046
|
+
location: `${location}.branch_prefix`,
|
|
4047
|
+
message: `Field '${location}.branch_prefix' must be a non-empty string`
|
|
4048
|
+
});
|
|
4049
|
+
}
|
|
4050
|
+
}
|
|
3931
4051
|
function validateResultsConfig(errors, filePath, rawResults, location) {
|
|
3932
4052
|
if (rawResults === void 0) {
|
|
3933
4053
|
return;
|
|
@@ -5258,7 +5378,7 @@ async function runEvalCommand(input) {
|
|
|
5258
5378
|
const useFileExport = !!options.otelFile;
|
|
5259
5379
|
if (options.exportOtel || useFileExport) {
|
|
5260
5380
|
try {
|
|
5261
|
-
const { OtelTraceExporter, OTEL_BACKEND_PRESETS } = await import("./dist-
|
|
5381
|
+
const { OtelTraceExporter, OTEL_BACKEND_PRESETS } = await import("./dist-M4B77IW4.js");
|
|
5262
5382
|
let endpoint = process.env.OTEL_EXPORTER_OTLP_ENDPOINT;
|
|
5263
5383
|
let headers = {};
|
|
5264
5384
|
if (options.otelBackend) {
|
|
@@ -5451,7 +5571,7 @@ async function runEvalCommand(input) {
|
|
|
5451
5571
|
const activeTestFiles = resolvedTestFiles.filter((f) => fileMetadata.has(f));
|
|
5452
5572
|
let transcriptProviderFactory;
|
|
5453
5573
|
if (options.transcript) {
|
|
5454
|
-
const { TranscriptProvider } = await import("./dist-
|
|
5574
|
+
const { TranscriptProvider } = await import("./dist-M4B77IW4.js");
|
|
5455
5575
|
const transcriptProvider = await TranscriptProvider.fromFile(options.transcript);
|
|
5456
5576
|
const totalTests = [...fileMetadata.values()].reduce(
|
|
5457
5577
|
(sum, meta) => sum + meta.testCases.length,
|
|
@@ -5635,7 +5755,7 @@ async function runEvalCommand(input) {
|
|
|
5635
5755
|
);
|
|
5636
5756
|
const taskBundleTargets = buildTaskBundleTargetSelections(activeTestFiles, fileMetadata);
|
|
5637
5757
|
if (isResumeAppend) {
|
|
5638
|
-
const { writePerTestArtifacts } = await import("./artifact-writer-
|
|
5758
|
+
const { writePerTestArtifacts } = await import("./artifact-writer-G57MG52C.js");
|
|
5639
5759
|
await writePerTestArtifacts(allResults, runDir, {
|
|
5640
5760
|
experiment: normalizeExperimentName(options.experiment),
|
|
5641
5761
|
cwd,
|
|
@@ -5863,4 +5983,4 @@ export {
|
|
|
5863
5983
|
getCategories,
|
|
5864
5984
|
filterByCategory
|
|
5865
5985
|
};
|
|
5866
|
-
//# sourceMappingURL=chunk-
|
|
5986
|
+
//# sourceMappingURL=chunk-Q6LNXSP2.js.map
|