@vercel/agent-eval 2.4.1 → 2.5.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/cli.js +27 -21
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +8 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/agents/claude-code/agent.d.ts.map +1 -1
- package/dist/lib/agents/claude-code/agent.js +5 -1
- package/dist/lib/agents/claude-code/agent.js.map +1 -1
- package/dist/lib/agents/codex/agent.d.ts.map +1 -1
- package/dist/lib/agents/codex/agent.js +5 -1
- package/dist/lib/agents/codex/agent.js.map +1 -1
- package/dist/lib/agents/cursor/agent.d.ts.map +1 -1
- package/dist/lib/agents/cursor/agent.js +5 -0
- package/dist/lib/agents/cursor/agent.js.map +1 -1
- package/dist/lib/agents/fx/agent.d.ts.map +1 -1
- package/dist/lib/agents/fx/agent.js +3 -0
- package/dist/lib/agents/fx/agent.js.map +1 -1
- package/dist/lib/agents/fx/run.mjs +26 -0
- package/dist/lib/agents/gemini/agent.d.ts.map +1 -1
- package/dist/lib/agents/gemini/agent.js +5 -1
- package/dist/lib/agents/gemini/agent.js.map +1 -1
- package/dist/lib/agents/index.d.ts +1 -0
- package/dist/lib/agents/index.d.ts.map +1 -1
- package/dist/lib/agents/index.js +2 -0
- package/dist/lib/agents/index.js.map +1 -1
- package/dist/lib/agents/opencode/agent.d.ts.map +1 -1
- package/dist/lib/agents/opencode/agent.js +6 -0
- package/dist/lib/agents/opencode/agent.js.map +1 -1
- package/dist/lib/agents/plugin/contract.d.ts +40 -0
- package/dist/lib/agents/plugin/contract.d.ts.map +1 -1
- package/dist/lib/agents/plugin/contract.js.map +1 -1
- package/dist/lib/agents/plugin/orchestrator.d.ts +19 -0
- package/dist/lib/agents/plugin/orchestrator.d.ts.map +1 -1
- package/dist/lib/agents/plugin/orchestrator.js +265 -52
- package/dist/lib/agents/plugin/orchestrator.js.map +1 -1
- package/dist/lib/agents/redact.d.ts +34 -3
- package/dist/lib/agents/redact.d.ts.map +1 -1
- package/dist/lib/agents/redact.js +148 -35
- package/dist/lib/agents/redact.js.map +1 -1
- package/dist/lib/agents/shared.d.ts +24 -1
- package/dist/lib/agents/shared.d.ts.map +1 -1
- package/dist/lib/agents/shared.js +48 -13
- package/dist/lib/agents/shared.js.map +1 -1
- package/dist/lib/agents/types.d.ts +24 -1
- package/dist/lib/agents/types.d.ts.map +1 -1
- package/dist/lib/agents/verifier.d.ts +96 -0
- package/dist/lib/agents/verifier.d.ts.map +1 -0
- package/dist/lib/agents/verifier.js +176 -0
- package/dist/lib/agents/verifier.js.map +1 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +23 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/dashboard.d.ts +3 -1
- package/dist/lib/dashboard.d.ts.map +1 -1
- package/dist/lib/dashboard.js +12 -1
- package/dist/lib/dashboard.js.map +1 -1
- package/dist/lib/docker-sandbox.d.ts +9 -0
- package/dist/lib/docker-sandbox.d.ts.map +1 -1
- package/dist/lib/docker-sandbox.js +15 -0
- package/dist/lib/docker-sandbox.js.map +1 -1
- package/dist/lib/fingerprint.d.ts +3 -0
- package/dist/lib/fingerprint.d.ts.map +1 -1
- package/dist/lib/fingerprint.js +34 -0
- package/dist/lib/fingerprint.js.map +1 -1
- package/dist/lib/o11y/index.d.ts +2 -2
- package/dist/lib/o11y/index.d.ts.map +1 -1
- package/dist/lib/o11y/index.js +1 -1
- package/dist/lib/o11y/index.js.map +1 -1
- package/dist/lib/o11y/parsers/claude-code.d.ts +19 -1
- package/dist/lib/o11y/parsers/claude-code.d.ts.map +1 -1
- package/dist/lib/o11y/parsers/claude-code.js +72 -1
- package/dist/lib/o11y/parsers/claude-code.js.map +1 -1
- package/dist/lib/o11y/parsers/codex.d.ts +13 -1
- package/dist/lib/o11y/parsers/codex.d.ts.map +1 -1
- package/dist/lib/o11y/parsers/codex.js +68 -1
- package/dist/lib/o11y/parsers/codex.js.map +1 -1
- package/dist/lib/o11y/parsers/fx.d.ts +2 -1
- package/dist/lib/o11y/parsers/fx.d.ts.map +1 -1
- package/dist/lib/o11y/parsers/fx.js +21 -1
- package/dist/lib/o11y/parsers/fx.js.map +1 -1
- package/dist/lib/o11y/parsers/gemini.d.ts +13 -1
- package/dist/lib/o11y/parsers/gemini.d.ts.map +1 -1
- package/dist/lib/o11y/parsers/gemini.js +35 -1
- package/dist/lib/o11y/parsers/gemini.js.map +1 -1
- package/dist/lib/o11y/parsers/index.d.ts +6 -1
- package/dist/lib/o11y/parsers/index.d.ts.map +1 -1
- package/dist/lib/o11y/parsers/index.js +13 -1
- package/dist/lib/o11y/parsers/index.js.map +1 -1
- package/dist/lib/o11y/parsers/opencode.d.ts +17 -1
- package/dist/lib/o11y/parsers/opencode.d.ts.map +1 -1
- package/dist/lib/o11y/parsers/opencode.js +47 -4
- package/dist/lib/o11y/parsers/opencode.js.map +1 -1
- package/dist/lib/o11y/types.d.ts +30 -0
- package/dist/lib/o11y/types.d.ts.map +1 -1
- package/dist/lib/o11y/usage.d.ts +27 -0
- package/dist/lib/o11y/usage.d.ts.map +1 -0
- package/dist/lib/o11y/usage.js +75 -0
- package/dist/lib/o11y/usage.js.map +1 -0
- package/dist/lib/reporters.d.ts +101 -0
- package/dist/lib/reporters.d.ts.map +1 -0
- package/dist/lib/reporters.js +176 -0
- package/dist/lib/reporters.js.map +1 -0
- package/dist/lib/results.d.ts +15 -2
- package/dist/lib/results.d.ts.map +1 -1
- package/dist/lib/results.js +75 -4
- package/dist/lib/results.js.map +1 -1
- package/dist/lib/runner.d.ts +16 -1
- package/dist/lib/runner.d.ts.map +1 -1
- package/dist/lib/runner.js +85 -3
- package/dist/lib/runner.js.map +1 -1
- package/dist/lib/sandbox.d.ts +9 -0
- package/dist/lib/sandbox.d.ts.map +1 -1
- package/dist/lib/sandbox.js +14 -1
- package/dist/lib/sandbox.js.map +1 -1
- package/dist/lib/types.d.ts +184 -0
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/types.js.map +1 -1
- package/dist/lib/version.d.ts +7 -0
- package/dist/lib/version.d.ts.map +1 -0
- package/dist/lib/version.js +8 -0
- package/dist/lib/version.js.map +1 -0
- package/package.json +1 -1
|
@@ -14,8 +14,10 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import { readFileSync } from 'node:fs';
|
|
16
16
|
import { fileURLToPath } from 'node:url';
|
|
17
|
-
import { createSandbox, collectLocalFiles, splitTestFiles, verifyNoTestFiles, } from '../../sandbox.js';
|
|
18
|
-
import {
|
|
17
|
+
import { createSandbox, collectLocalFiles, resolveBackend, splitTestFiles, verifyNoTestFiles, ENV_VAR_NAME_PATTERN, } from '../../sandbox.js';
|
|
18
|
+
import { AGENT_EVAL_VERSION } from '../../version.js';
|
|
19
|
+
import { runValidation, captureGeneratedFiles, createVitestConfig, initGitAndCommit, injectTranscriptContext, prepareNeutralWorkspace, resolveAgentApiKey, NEUTRAL_WORKSPACE_ENV, EVAL_HELPER_PATH, JUDGE_TRANSCRIPT_FILE, JUDGE_CONFIG_PATH, JUDGE_RUNNER_PATH, } from '../shared.js';
|
|
20
|
+
import { agentInstallSteps, applyAgentChanges, captureAgentChanges, createProtectedPathMatcher, findTampering, fixtureUsesJudge, pathsChangedSince, projectInstallSteps, snapshotWorkspace, VERIFIER_PROTECTED_PATHS, } from '../verifier.js';
|
|
19
21
|
import { redactRunResult } from '../redact.js';
|
|
20
22
|
import { getAgent } from '../registry.js';
|
|
21
23
|
import { assertBundledSkillsControl, assertCrossAgentJudgeSupport, assertWebResearchControl, } from './contract.js';
|
|
@@ -84,11 +86,55 @@ export function resolveJudgeRuntime(def, options) {
|
|
|
84
86
|
};
|
|
85
87
|
}
|
|
86
88
|
/**
|
|
87
|
-
*
|
|
89
|
+
* Every credential a run injects: the codegen agent's key, every `agentEnv`
|
|
90
|
+
* value, and, when the judge is pinned to a different agent, the judge's own
|
|
91
|
+
* key (it can reach the transcript too). Redaction scrubs these from everything
|
|
92
|
+
* a run hands back.
|
|
93
|
+
*
|
|
94
|
+
* Resolving the judge can throw (an unregistered agent, a missing runner file).
|
|
95
|
+
* That is the run's failure to report, not redaction's, so the judge key is then
|
|
96
|
+
* left out rather than turning redaction into a throw.
|
|
97
|
+
*/
|
|
98
|
+
export function runCredentials(def, options) {
|
|
99
|
+
const credentials = [options.apiKey, ...Object.values(options.agentEnv ?? {})];
|
|
100
|
+
try {
|
|
101
|
+
const judgeApiKey = resolveJudgeRuntime(def, options).judgeOptions.apiKey;
|
|
102
|
+
if (judgeApiKey && judgeApiKey !== options.apiKey)
|
|
103
|
+
credentials.push(judgeApiKey);
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
// See above: fall back to the credentials we know.
|
|
107
|
+
}
|
|
108
|
+
return credentials;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Reject an `agentEnv` that would change what the agent is authenticated as or
|
|
112
|
+
* which workspace identity it sees. The variables the orchestrator sets itself
|
|
113
|
+
* (the agent's auth env and the neutral workspace identity) must win, and a
|
|
114
|
+
* silent override would make the run measure something other than what was
|
|
115
|
+
* configured, so any collision is an error rather than a precedence rule.
|
|
116
|
+
*/
|
|
117
|
+
export function assertAgentEnv(def, options) {
|
|
118
|
+
const agentEnv = options.agentEnv;
|
|
119
|
+
if (!agentEnv)
|
|
120
|
+
return;
|
|
121
|
+
const invalid = Object.keys(agentEnv).filter((key) => !ENV_VAR_NAME_PATTERN.test(key));
|
|
122
|
+
if (invalid.length > 0) {
|
|
123
|
+
throw new Error(`agentEnv has invalid environment variable names: ${invalid.join(', ')}`);
|
|
124
|
+
}
|
|
125
|
+
const reserved = new Set([...Object.keys(def.authEnv(options)), ...Object.keys(NEUTRAL_WORKSPACE_ENV)]);
|
|
126
|
+
const collisions = Object.keys(agentEnv).filter((key) => reserved.has(key)).sort();
|
|
127
|
+
if (collisions.length > 0) {
|
|
128
|
+
throw new Error(`agentEnv cannot set ${collisions.join(', ')}: reserved for ${def.displayName} authentication ` +
|
|
129
|
+
`or the sandbox workspace identity`);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Run install steps, reproducing the old per-step error wording.
|
|
88
134
|
* Throws on final failure so the caller's catch turns it into an error result.
|
|
89
135
|
*/
|
|
90
|
-
async function runInstallSteps(sandbox,
|
|
91
|
-
for (const step of
|
|
136
|
+
async function runInstallSteps(sandbox, steps) {
|
|
137
|
+
for (const step of steps) {
|
|
92
138
|
const exec = () => step.kind === 'shell'
|
|
93
139
|
? sandbox.runShell(step.script ?? '')
|
|
94
140
|
: sandbox.runCommand(step.cmd ?? '', step.args ?? []);
|
|
@@ -109,6 +155,53 @@ async function runInstallSteps(sandbox, def, options) {
|
|
|
109
155
|
}
|
|
110
156
|
}
|
|
111
157
|
}
|
|
158
|
+
/** How long a version command may run before it is abandoned. */
|
|
159
|
+
const DEFAULT_VERSION_COMMAND_TIMEOUT_MS = 30_000;
|
|
160
|
+
/**
|
|
161
|
+
* `sh -c` script that runs its arguments after the first under coreutils
|
|
162
|
+
* `timeout` (first argument: seconds, then a KILL 5 seconds later) when the
|
|
163
|
+
* sandbox has it, and as-is otherwise.
|
|
164
|
+
*/
|
|
165
|
+
const BOUNDED_COMMAND = 'secs=$1; shift; if command -v timeout >/dev/null 2>&1; then exec timeout -k 5 "$secs" "$@"; fi; exec "$@"';
|
|
166
|
+
/**
|
|
167
|
+
* Run the definition's version command and return its trimmed stdout. Any
|
|
168
|
+
* failure (no command, non-zero exit, empty output, an error from the sandbox,
|
|
169
|
+
* or running past its timeout) returns undefined: provenance is a record of the
|
|
170
|
+
* run, never a reason to fail or stall it.
|
|
171
|
+
*/
|
|
172
|
+
async function readAgentCliVersion(sandbox, def, options) {
|
|
173
|
+
let timer;
|
|
174
|
+
try {
|
|
175
|
+
const command = def.versionCommand?.(options);
|
|
176
|
+
if (!command)
|
|
177
|
+
return undefined;
|
|
178
|
+
const timeoutMs = command.timeoutMs !== undefined && Number.isFinite(command.timeoutMs) && command.timeoutMs > 0
|
|
179
|
+
? command.timeoutMs
|
|
180
|
+
: DEFAULT_VERSION_COMMAND_TIMEOUT_MS;
|
|
181
|
+
const argv = command.kind === 'shell' ? ['bash', '-c', command.script] : [command.cmd, ...(command.args ?? [])];
|
|
182
|
+
// Two bounds, because a hung version command would otherwise hold the run
|
|
183
|
+
// until the attempt's own timeout fails it: coreutils `timeout` kills the
|
|
184
|
+
// process in the sandbox when it's installed, and a host-side timer stops
|
|
185
|
+
// waiting either way. The abandoned command's eventual result (or rejection,
|
|
186
|
+
// once the sandbox stops) is swallowed.
|
|
187
|
+
const run = sandbox
|
|
188
|
+
.runCommand('sh', ['-c', BOUNDED_COMMAND, 'sh', String(timeoutMs / 1000), ...argv])
|
|
189
|
+
.catch(() => undefined);
|
|
190
|
+
const timedOut = new Promise((resolve) => {
|
|
191
|
+
timer = setTimeout(() => resolve(undefined), timeoutMs);
|
|
192
|
+
});
|
|
193
|
+
const result = await Promise.race([run, timedOut]);
|
|
194
|
+
const version = result?.stdout.trim();
|
|
195
|
+
return result?.exitCode === 0 && version ? version : undefined;
|
|
196
|
+
}
|
|
197
|
+
catch {
|
|
198
|
+
return undefined;
|
|
199
|
+
}
|
|
200
|
+
finally {
|
|
201
|
+
if (timer)
|
|
202
|
+
clearTimeout(timer);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
112
205
|
/** Write the agent's config files into the sandbox (codex TOML, opencode.json, …). */
|
|
113
206
|
async function writeConfigFiles(sandbox, def, options) {
|
|
114
207
|
for (const cf of def.configFiles(options)) {
|
|
@@ -121,6 +214,35 @@ async function writeConfigFiles(sandbox, def, options) {
|
|
|
121
214
|
}
|
|
122
215
|
}
|
|
123
216
|
}
|
|
217
|
+
/**
|
|
218
|
+
* Upload what validation needs (tests, vitest config, transcript context, judge
|
|
219
|
+
* runtime) and run it. Shared by both verifiers so the grading environment is
|
|
220
|
+
* built the same way in the agent's sandbox and in a separate one.
|
|
221
|
+
*/
|
|
222
|
+
async function validate(sandbox, testFiles, transcript, def, options, judgeRuntime, workspaceEnv, usage) {
|
|
223
|
+
// The JUDGE's auth env is set on the eval process so EVAL.ts judge matchers can
|
|
224
|
+
// re-invoke the agent in-sandbox (the vitest process inherits it to children).
|
|
225
|
+
// By default the judge is the codegen agent+model; options.judge pins a fixed one.
|
|
226
|
+
const validationEnv = { ...judgeRuntime.authEnv, ...workspaceEnv };
|
|
227
|
+
if (options.validation !== 'none') {
|
|
228
|
+
await sandbox.uploadFiles(testFiles);
|
|
229
|
+
await createVitestConfig(sandbox);
|
|
230
|
+
await injectTranscriptContext(sandbox, transcript, def.o11yAgentName, options.model, usage);
|
|
231
|
+
// Judge runtime: ship the eval helper, materialize the raw transcript as a
|
|
232
|
+
// file the judge agent can read by path, record the judge config, and — only
|
|
233
|
+
// when the judge is a DIFFERENT agent — ship its runner alongside run.mjs.
|
|
234
|
+
const judgeFiles = {
|
|
235
|
+
[EVAL_HELPER_PATH]: readFileSync(EVAL_HELPER_DISK_PATH, 'utf8'),
|
|
236
|
+
[JUDGE_TRANSCRIPT_FILE]: transcript ?? '',
|
|
237
|
+
[JUDGE_CONFIG_PATH]: JSON.stringify(judgeRuntime.config),
|
|
238
|
+
};
|
|
239
|
+
if (judgeRuntime.runnerSource) {
|
|
240
|
+
judgeFiles[JUDGE_RUNNER_PATH] = judgeRuntime.runnerSource;
|
|
241
|
+
}
|
|
242
|
+
await sandbox.writeFiles(judgeFiles);
|
|
243
|
+
}
|
|
244
|
+
return runValidation(sandbox, options.scripts ?? [], options.validation, validationEnv);
|
|
245
|
+
}
|
|
124
246
|
/**
|
|
125
247
|
* Read the RunnerResult the in-sandbox run.mjs produced.
|
|
126
248
|
*
|
|
@@ -176,30 +298,30 @@ async function readRunnerResult(sandbox, resultPath, nodeResult) {
|
|
|
176
298
|
export async function runWithDefinition(def, fixturePath, options) {
|
|
177
299
|
assertBundledSkillsControl(def, options.disableBundledSkills);
|
|
178
300
|
assertWebResearchControl(def, options.webResearch);
|
|
179
|
-
|
|
180
|
-
//
|
|
181
|
-
//
|
|
182
|
-
//
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
catch {
|
|
190
|
-
judgeApiKey = undefined;
|
|
191
|
-
}
|
|
192
|
-
return redactRunResult(result, [options.apiKey, judgeApiKey]);
|
|
301
|
+
assertAgentEnv(def, options);
|
|
302
|
+
// Provenance is attached here rather than at each of runOnce's returns, for the
|
|
303
|
+
// same reason redaction is: a later return can't drop it by omission. runOnce
|
|
304
|
+
// fills in what it observes (the sandbox's image and user, the CLI version).
|
|
305
|
+
const provenance = {
|
|
306
|
+
agentEvalVersion: AGENT_EVAL_VERSION,
|
|
307
|
+
sandboxBackend: resolveBackend({ backend: options.sandbox }),
|
|
308
|
+
};
|
|
309
|
+
const result = { ...(await runOnce(def, fixturePath, options, provenance)), provenance };
|
|
310
|
+
return redactRunResult(result, runCredentials(def, options));
|
|
193
311
|
}
|
|
194
|
-
async function runOnce(def, fixturePath, options) {
|
|
312
|
+
async function runOnce(def, fixturePath, options, provenance) {
|
|
195
313
|
const startTime = Date.now();
|
|
196
314
|
let sandbox = null;
|
|
197
315
|
let agentOutput = '';
|
|
198
316
|
let transcript;
|
|
199
317
|
let observedModel;
|
|
200
318
|
let modelRepair;
|
|
319
|
+
let usage;
|
|
201
320
|
let aborted = false;
|
|
202
321
|
let sandboxStopped = false;
|
|
322
|
+
// The separate verifier's sandbox, when options.verifier is 'separate'.
|
|
323
|
+
let verifier = null;
|
|
324
|
+
let verifierStopped = false;
|
|
203
325
|
// --- abort wiring (identical to the old adapter) ---------------------------
|
|
204
326
|
const abortHandler = () => {
|
|
205
327
|
aborted = true;
|
|
@@ -207,6 +329,10 @@ async function runOnce(def, fixturePath, options) {
|
|
|
207
329
|
sandboxStopped = true;
|
|
208
330
|
sandbox.stop().catch(() => { });
|
|
209
331
|
}
|
|
332
|
+
if (verifier && !verifierStopped) {
|
|
333
|
+
verifierStopped = true;
|
|
334
|
+
verifier.stop().catch(() => { });
|
|
335
|
+
}
|
|
210
336
|
};
|
|
211
337
|
if (options.signal) {
|
|
212
338
|
if (options.signal.aborted) {
|
|
@@ -225,15 +351,22 @@ async function runOnce(def, fixturePath, options) {
|
|
|
225
351
|
// re-invocation of the runner (eval-helper.mjs); codex's shell-canary
|
|
226
352
|
// memoization (~/.codex/agent-eval-canary.json, see codex/run.mjs) relies
|
|
227
353
|
// on that shared lifetime — a sandbox-per-invocation change would make
|
|
228
|
-
// every judge assertion re-pay the canary exec.
|
|
229
|
-
|
|
354
|
+
// every judge assertion re-pay the canary exec. (With verifier: 'separate'
|
|
355
|
+
// the judge runs in the verifier instead, which pays the canary once.)
|
|
356
|
+
const sandboxOptions = {
|
|
230
357
|
timeout: options.timeout,
|
|
231
358
|
// `image` and `runtime` are mutually exclusive; keep the legacy runtime
|
|
232
359
|
// default unless the caller opted into an image.
|
|
233
360
|
...(options.sandboxImage ? { image: options.sandboxImage } : { runtime: 'node24' }),
|
|
234
361
|
user: options.sandboxUser,
|
|
235
362
|
backend: options.sandbox,
|
|
236
|
-
}
|
|
363
|
+
};
|
|
364
|
+
sandbox = await createSandbox(sandboxOptions);
|
|
365
|
+
provenance.sandboxBackend = sandbox.backend;
|
|
366
|
+
if (sandbox.image)
|
|
367
|
+
provenance.sandboxImage = sandbox.image;
|
|
368
|
+
if (sandbox.username)
|
|
369
|
+
provenance.sandboxUser = sandbox.username;
|
|
237
370
|
if (aborted) {
|
|
238
371
|
return {
|
|
239
372
|
success: false,
|
|
@@ -252,14 +385,17 @@ async function runOnce(def, fixturePath, options) {
|
|
|
252
385
|
}
|
|
253
386
|
const neutralWorkspace = await prepareNeutralWorkspace(sandbox);
|
|
254
387
|
// 4. SETUP from the definition: install (project deps + CLI) then config files.
|
|
255
|
-
await runInstallSteps(sandbox, def
|
|
388
|
+
await runInstallSteps(sandbox, def.install(options));
|
|
256
389
|
await writeConfigFiles(sandbox, def, options);
|
|
390
|
+
const agentCliVersion = await readAgentCliVersion(sandbox, def, options);
|
|
391
|
+
if (agentCliVersion)
|
|
392
|
+
provenance.agentCliVersion = agentCliVersion;
|
|
257
393
|
// 4b. If the agentic judge is pinned to a DIFFERENT agent, install its CLI +
|
|
258
394
|
// config too — the codegen setup above only installed the codegen agent.
|
|
259
395
|
// (npm install of project deps re-runs idempotently; the CLI is the point.)
|
|
260
396
|
const judgeRuntime = resolveJudgeRuntime(def, options);
|
|
261
397
|
if (!judgeRuntime.isSelf) {
|
|
262
|
-
await runInstallSteps(sandbox, judgeRuntime.judgeDef
|
|
398
|
+
await runInstallSteps(sandbox, judgeRuntime.judgeDef.install(judgeRuntime.judgeOptions));
|
|
263
399
|
await writeConfigFiles(sandbox, judgeRuntime.judgeDef, judgeRuntime.judgeOptions);
|
|
264
400
|
}
|
|
265
401
|
// 5. Guard: no stray test files leaked into the workspace before the agent runs.
|
|
@@ -268,9 +404,16 @@ async function runOnce(def, fixturePath, options) {
|
|
|
268
404
|
// (next to the compiled definition) and write it into the sandbox.
|
|
269
405
|
const runnerSource = readFileSync(def.runnerPath, 'utf8');
|
|
270
406
|
await sandbox.writeFiles({ [RUNNER_PATH]: runnerSource });
|
|
407
|
+
// 6b. Tampering detection (separate verifier or protectedPaths only): snapshot
|
|
408
|
+
// the workspace so only changes made by the agent itself are reported.
|
|
409
|
+
const separate = options.verifier === 'separate';
|
|
410
|
+
const tracksTampering = separate || (options.protectedPaths?.length ?? 0) > 0;
|
|
411
|
+
const preAgentTree = tracksTampering ? await snapshotWorkspace(sandbox) : undefined;
|
|
271
412
|
// 7. INVOKE the runner. Auth + neutral env are set on the node process (merged,
|
|
272
413
|
// neutral overrides — same precedence as the old adapter). The apiKey rides
|
|
273
|
-
// in env only, never in the argv JSON.
|
|
414
|
+
// in env only, never in the argv JSON. The caller's agentEnv joins them here
|
|
415
|
+
// and nowhere else: validation and judge runs never receive it. Collisions
|
|
416
|
+
// were rejected up front, so listing it first changes no precedence.
|
|
274
417
|
const input = {
|
|
275
418
|
prompt: options.prompt,
|
|
276
419
|
model: options.model,
|
|
@@ -284,7 +427,7 @@ async function runOnce(def, fixturePath, options) {
|
|
|
284
427
|
// that must match the TOML config). Omitted entirely for agents without it.
|
|
285
428
|
extra: def.runnerExtra?.(options),
|
|
286
429
|
};
|
|
287
|
-
const runEnv = { ...def.authEnv(options), ...neutralWorkspace.env };
|
|
430
|
+
const runEnv = { ...options.agentEnv, ...def.authEnv(options), ...neutralWorkspace.env };
|
|
288
431
|
const nodeResult = await sandbox.runCommand('node', [RUNNER_PATH, JSON.stringify(input)], { env: runEnv });
|
|
289
432
|
// 8. Read the runner's result (file → marker → throw-on-crash).
|
|
290
433
|
const runnerResult = await readRunnerResult(sandbox, RESULT_PATH, nodeResult);
|
|
@@ -292,6 +435,7 @@ async function runOnce(def, fixturePath, options) {
|
|
|
292
435
|
transcript = runnerResult.transcript ?? undefined;
|
|
293
436
|
observedModel = runnerResult.observedModel ?? undefined;
|
|
294
437
|
modelRepair = runnerResult.modelRepair ?? undefined;
|
|
438
|
+
usage = runnerResult.usage ?? undefined;
|
|
295
439
|
if (aborted) {
|
|
296
440
|
return {
|
|
297
441
|
success: false,
|
|
@@ -314,34 +458,93 @@ async function runOnce(def, fixturePath, options) {
|
|
|
314
458
|
sandboxId: sandbox.sandboxId,
|
|
315
459
|
observedModel,
|
|
316
460
|
modelRepair,
|
|
461
|
+
...(usage ? { usage } : {}),
|
|
462
|
+
};
|
|
463
|
+
}
|
|
464
|
+
// 10. VALIDATION. Protected paths the agent changed are worked out first,
|
|
465
|
+
// before anything else is written to the workspace.
|
|
466
|
+
const isProtected = createProtectedPathMatcher([
|
|
467
|
+
...(separate ? VERIFIER_PROTECTED_PATHS : []),
|
|
468
|
+
...(options.protectedPaths ?? []),
|
|
469
|
+
]);
|
|
470
|
+
const tampering = preAgentTree
|
|
471
|
+
? findTampering(await pathsChangedSince(sandbox, preAgentTree), isProtected)
|
|
472
|
+
: undefined;
|
|
473
|
+
if (!separate) {
|
|
474
|
+
// Shared verifier (the default): grade in the agent's own sandbox. With
|
|
475
|
+
// protectedPaths set, tampering is only reported; grading is unchanged.
|
|
476
|
+
const validationResults = await validate(sandbox, testFiles, transcript, def, options, judgeRuntime, neutralWorkspace.env, usage);
|
|
477
|
+
// 11. Capture generated/deleted files (git diff).
|
|
478
|
+
const { generatedFiles, deletedFiles } = await captureGeneratedFiles(sandbox);
|
|
479
|
+
return {
|
|
480
|
+
success: validationResults.allPassed,
|
|
481
|
+
output: agentOutput,
|
|
482
|
+
transcript,
|
|
483
|
+
duration: Date.now() - startTime,
|
|
484
|
+
testResult: validationResults.test,
|
|
485
|
+
scriptsResults: validationResults.scripts,
|
|
486
|
+
sandboxId: sandbox.sandboxId,
|
|
487
|
+
generatedFiles,
|
|
488
|
+
deletedFiles,
|
|
489
|
+
observedModel,
|
|
490
|
+
modelRepair,
|
|
491
|
+
...(usage ? { usage } : {}),
|
|
492
|
+
...(tampering ? { tampering } : {}),
|
|
317
493
|
};
|
|
318
494
|
}
|
|
319
|
-
//
|
|
320
|
-
//
|
|
321
|
-
//
|
|
322
|
-
//
|
|
323
|
-
//
|
|
324
|
-
const
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
495
|
+
// 10s. SEPARATE VERIFIER. Grade in a fresh sandbox that receives only the
|
|
496
|
+
// agent's file changes, so nothing else the agent did can reach the grader.
|
|
497
|
+
// a. Capture the changes while the agent's sandbox still exists. The
|
|
498
|
+
// capture is untrusted (it runs git where the agent could replace it),
|
|
499
|
+
// so anything it reports beyond the snapshot comparison is checked too.
|
|
500
|
+
const changes = await captureAgentChanges(sandbox);
|
|
501
|
+
const verifierTampering = findTampering([
|
|
502
|
+
...(tampering ?? []),
|
|
503
|
+
...Object.keys(changes.generatedFiles),
|
|
504
|
+
...changes.deletedFiles,
|
|
505
|
+
...changes.rejectedPaths,
|
|
506
|
+
], isProtected);
|
|
507
|
+
// b. Stop the agent's sandbox: its processes and installs end with it. A
|
|
508
|
+
// failed stop can't affect a different sandbox, so it doesn't fail the run.
|
|
509
|
+
sandboxStopped = true;
|
|
510
|
+
await sandbox.stop().catch(() => { });
|
|
511
|
+
// c. Same backend, image or runtime, and user as the agent's sandbox.
|
|
512
|
+
verifier = await createSandbox(sandboxOptions);
|
|
513
|
+
if (aborted) {
|
|
514
|
+
return {
|
|
515
|
+
success: false,
|
|
516
|
+
output: agentOutput,
|
|
517
|
+
transcript,
|
|
518
|
+
error: 'Aborted',
|
|
519
|
+
duration: Date.now() - startTime,
|
|
520
|
+
sandboxId: sandbox.sandboxId,
|
|
336
521
|
};
|
|
337
|
-
|
|
338
|
-
|
|
522
|
+
}
|
|
523
|
+
// d. Rebuild the workspace the way the agent's started: the original files,
|
|
524
|
+
// the git baseline, the user's setup, and the neutral workspace. Setup
|
|
525
|
+
// runs before the replay because its file writes landed after the
|
|
526
|
+
// baseline, so they are already part of the agent's diff.
|
|
527
|
+
await verifier.uploadFiles(workspaceFiles);
|
|
528
|
+
await initGitAndCommit(verifier);
|
|
529
|
+
if (options.setup) {
|
|
530
|
+
await options.setup(verifier);
|
|
531
|
+
}
|
|
532
|
+
const verifierWorkspace = await prepareNeutralWorkspace(verifier);
|
|
533
|
+
// e. Replay the agent's changes, minus protected paths.
|
|
534
|
+
await applyAgentChanges(verifier, changes, isProtected);
|
|
535
|
+
// f. Fresh project dependencies, and the judge's CLI only when the eval
|
|
536
|
+
// can call the judge (a self-grading judge also re-runs run.mjs).
|
|
537
|
+
await runInstallSteps(verifier, projectInstallSteps(def.install(options)));
|
|
538
|
+
if (options.validation !== 'none' && fixtureUsesJudge(allFiles)) {
|
|
539
|
+
const { judgeDef, judgeOptions } = judgeRuntime;
|
|
540
|
+
await runInstallSteps(verifier, agentInstallSteps(judgeDef.install(judgeOptions)));
|
|
541
|
+
await writeConfigFiles(verifier, judgeDef, judgeOptions);
|
|
542
|
+
if (judgeRuntime.isSelf) {
|
|
543
|
+
await verifier.writeFiles({ [RUNNER_PATH]: runnerSource });
|
|
339
544
|
}
|
|
340
|
-
await sandbox.writeFiles(judgeFiles);
|
|
341
545
|
}
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
const { generatedFiles, deletedFiles } = await captureGeneratedFiles(sandbox);
|
|
546
|
+
// g. Grade.
|
|
547
|
+
const validationResults = await validate(verifier, testFiles, transcript, def, options, judgeRuntime, verifierWorkspace.env, usage);
|
|
345
548
|
return {
|
|
346
549
|
success: validationResults.allPassed,
|
|
347
550
|
output: agentOutput,
|
|
@@ -350,10 +553,14 @@ async function runOnce(def, fixturePath, options) {
|
|
|
350
553
|
testResult: validationResults.test,
|
|
351
554
|
scriptsResults: validationResults.scripts,
|
|
352
555
|
sandboxId: sandbox.sandboxId,
|
|
353
|
-
generatedFiles,
|
|
354
|
-
deletedFiles,
|
|
556
|
+
generatedFiles: changes.generatedFiles,
|
|
557
|
+
deletedFiles: changes.deletedFiles,
|
|
355
558
|
observedModel,
|
|
356
559
|
modelRepair,
|
|
560
|
+
...(usage ? { usage } : {}),
|
|
561
|
+
verifier: 'separate',
|
|
562
|
+
verifierSandboxId: verifier.sandboxId,
|
|
563
|
+
tampering: verifierTampering,
|
|
357
564
|
};
|
|
358
565
|
}
|
|
359
566
|
catch (error) {
|
|
@@ -377,6 +584,8 @@ async function runOnce(def, fixturePath, options) {
|
|
|
377
584
|
sandboxId: sandbox?.sandboxId,
|
|
378
585
|
observedModel,
|
|
379
586
|
modelRepair,
|
|
587
|
+
...(usage ? { usage } : {}),
|
|
588
|
+
...(verifier ? { verifier: 'separate', verifierSandboxId: verifier.sandboxId } : {}),
|
|
380
589
|
};
|
|
381
590
|
}
|
|
382
591
|
finally {
|
|
@@ -387,6 +596,10 @@ async function runOnce(def, fixturePath, options) {
|
|
|
387
596
|
sandboxStopped = true;
|
|
388
597
|
await sandbox.stop();
|
|
389
598
|
}
|
|
599
|
+
if (verifier && !verifierStopped) {
|
|
600
|
+
verifierStopped = true;
|
|
601
|
+
await verifier.stop();
|
|
602
|
+
}
|
|
390
603
|
}
|
|
391
604
|
}
|
|
392
605
|
//# sourceMappingURL=orchestrator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../../src/lib/agents/plugin/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../../src/lib/agents/plugin/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,10 +23,30 @@
|
|
|
23
23
|
* JWT prefix match flags). The tradeoff is that a credential the framework never
|
|
24
24
|
* saw is not covered: if a run refreshes its own token mid-flight, only the value
|
|
25
25
|
* we started with is redacted.
|
|
26
|
+
*
|
|
27
|
+
* "Exact" includes the forms a JSON encoder gives the value. Transcripts are
|
|
28
|
+
* JSON: a credential containing a quote, a backslash, a newline, or non-ASCII
|
|
29
|
+
* text appears escaped there (`a\"b`, `line1\nline2`, `\u00e9`), and a literal
|
|
30
|
+
* match on the raw value would miss it while anyone could decode it back. See
|
|
31
|
+
* {@link encodedForms}.
|
|
26
32
|
*/
|
|
27
33
|
import type { AgentRunResult } from './types.js';
|
|
28
34
|
export declare const REDACTED = "[REDACTED]";
|
|
29
|
-
/**
|
|
35
|
+
/**
|
|
36
|
+
* The text a secret can turn into inside JSON output: as written, escaped once
|
|
37
|
+
* by the encoders the agent CLIs and common tools use, and escaped twice (JSON
|
|
38
|
+
* inside a JSON string, such as a tool's JSON output recorded in a JSONL
|
|
39
|
+
* transcript).
|
|
40
|
+
*
|
|
41
|
+
* Encoders agree on quotes, backslashes, and control characters but differ on
|
|
42
|
+
* the rest, so each style is covered: plain (JavaScript, Rust), ASCII-only with
|
|
43
|
+
* `\u` escapes for every non-ASCII character (Python's default), HTML-safe
|
|
44
|
+
* `<`, `>`, `&`, U+2028, and U+2029 (Go's default), and escaped slashes. Hex
|
|
45
|
+
* digits appear in both cases. A secret made only of characters no encoder
|
|
46
|
+
* escapes has a single form: itself.
|
|
47
|
+
*/
|
|
48
|
+
export declare function encodedForms(secret: string): string[];
|
|
49
|
+
/** Replace every occurrence of each secret, in any of its {@link encodedForms}, with {@link REDACTED}. */
|
|
30
50
|
export declare function redactSecrets(text: string, secrets: readonly (string | undefined)[]): string;
|
|
31
51
|
/**
|
|
32
52
|
* Buffer-level equivalent of {@link redactSecrets}.
|
|
@@ -37,8 +57,8 @@ export declare function redactSecrets(text: string, secrets: readonly (string |
|
|
|
37
57
|
* exactly the files byte-fidelity exists to protect. Passing a Buffer to
|
|
38
58
|
* {@link redactSecrets} is worse still — Buffer has no `split`, so it throws.
|
|
39
59
|
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
60
|
+
* Each secret form's UTF-8 byte sequence is located and spliced out directly,
|
|
61
|
+
* and every other byte is copied through untouched.
|
|
42
62
|
*/
|
|
43
63
|
export declare function redactSecretsBuffer(content: Buffer, secrets: readonly (string | undefined)[]): Buffer;
|
|
44
64
|
/**
|
|
@@ -52,4 +72,15 @@ export declare function redactSecretsBuffer(content: Buffer, secrets: readonly (
|
|
|
52
72
|
* model names, deleted-file paths — are passed through untouched.
|
|
53
73
|
*/
|
|
54
74
|
export declare function redactRunResult(result: AgentRunResult, secrets: readonly (string | undefined)[]): AgentRunResult;
|
|
75
|
+
/**
|
|
76
|
+
* Redact every string (and Buffer) inside an arbitrary value. Used for payloads
|
|
77
|
+
* that leave the run as plain data, such as reporter events, where the value
|
|
78
|
+
* carries user-attached fields (`analysis`, `metadata`) that
|
|
79
|
+
* {@link redactRunResult} never saw.
|
|
80
|
+
*
|
|
81
|
+
* Returns a copy: arrays and plain objects are rebuilt, strings and Buffers are
|
|
82
|
+
* redacted, and everything else (numbers, functions, class instances such as
|
|
83
|
+
* Date) is passed through by reference. The input is not mutated.
|
|
84
|
+
*/
|
|
85
|
+
export declare function redactValue<T>(value: T, secrets: readonly (string | undefined)[]): T;
|
|
55
86
|
//# sourceMappingURL=redact.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redact.d.ts","sourceRoot":"","sources":["../../../src/lib/agents/redact.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"redact.d.ts","sourceRoot":"","sources":["../../../src/lib/agents/redact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,YAAY,CAAC;AAE/D,eAAO,MAAM,QAAQ,eAAe,CAAC;AA0CrC;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAYrD;AA+CD,0GAA0G;AAC1G,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GACvC,MAAM,CAER;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GACvC,MAAM,CAER;AAMD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GACvC,cAAc,CAoChB;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,CAAC,CA4BpF"}
|