@e2edev/e2e 0.7.0 → 0.9.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/README.md +8 -3
- package/dist/agent/act-validation.d.ts +7 -4
- package/dist/agent/act-validation.d.ts.map +1 -1
- package/dist/agent/act-validation.js +18 -3
- package/dist/agent/act-validation.js.map +1 -1
- package/dist/agent/act.d.ts +2 -2
- package/dist/agent/act.d.ts.map +1 -1
- package/dist/agent/act.js +228 -51
- package/dist/agent/act.js.map +1 -1
- package/dist/agent/default-agent.d.ts +1 -1
- package/dist/agent/default-agent.d.ts.map +1 -1
- package/dist/agent/default-agent.js +19 -84
- package/dist/agent/default-agent.js.map +1 -1
- package/dist/agent/executor.d.ts +7 -0
- package/dist/agent/executor.d.ts.map +1 -1
- package/dist/agent/executor.js.map +1 -1
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +14 -6
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/invocation.d.ts +1 -8
- package/dist/agent/invocation.d.ts.map +1 -1
- package/dist/agent/invocation.js +7 -51
- package/dist/agent/invocation.js.map +1 -1
- package/dist/agent/ledger.d.ts.map +1 -1
- package/dist/agent/ledger.js +10 -1
- package/dist/agent/ledger.js.map +1 -1
- package/dist/agent/loop-guards.d.ts +21 -0
- package/dist/agent/loop-guards.d.ts.map +1 -1
- package/dist/agent/loop-guards.js +48 -0
- package/dist/agent/loop-guards.js.map +1 -1
- package/dist/agent/model/sdk.d.ts +18 -0
- package/dist/agent/model/sdk.d.ts.map +1 -1
- package/dist/agent/model/sdk.js +9 -3
- package/dist/agent/model/sdk.js.map +1 -1
- package/dist/agent/observation-budget.d.ts +27 -0
- package/dist/agent/observation-budget.d.ts.map +1 -0
- package/dist/agent/observation-budget.js +43 -0
- package/dist/agent/observation-budget.js.map +1 -0
- package/dist/agent/observation.d.ts +40 -7
- package/dist/agent/observation.d.ts.map +1 -1
- package/dist/agent/observation.js +56 -11
- package/dist/agent/observation.js.map +1 -1
- package/dist/agent/phases.d.ts +1 -1
- package/dist/agent/phases.d.ts.map +1 -1
- package/dist/agent/phases.js +11 -13
- package/dist/agent/phases.js.map +1 -1
- package/dist/agent/primitives.d.ts +14 -2
- package/dist/agent/primitives.d.ts.map +1 -1
- package/dist/agent/primitives.js +98 -54
- package/dist/agent/primitives.js.map +1 -1
- package/dist/agent/screen-update.d.ts +47 -0
- package/dist/agent/screen-update.d.ts.map +1 -0
- package/dist/agent/screen-update.js +222 -0
- package/dist/agent/screen-update.js.map +1 -0
- package/dist/agent/step-cache.d.ts +38 -10
- package/dist/agent/step-cache.d.ts.map +1 -1
- package/dist/agent/step-cache.js +86 -45
- package/dist/agent/step-cache.js.map +1 -1
- package/dist/agent/tool-loop.d.ts.map +1 -1
- package/dist/agent/tool-loop.js +27 -4
- package/dist/agent/tool-loop.js.map +1 -1
- package/dist/cache/decide.d.ts +4 -3
- package/dist/cache/decide.d.ts.map +1 -1
- package/dist/cache/decide.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/engines.d.ts +2 -3
- package/dist/cli/init/engines.d.ts.map +1 -1
- package/dist/cli/init/engines.js +3 -4
- package/dist/cli/init/engines.js.map +1 -1
- package/dist/cli/signals.d.ts +3 -3
- package/dist/cli/signals.js +3 -3
- package/dist/config/agent.d.ts +6 -2
- package/dist/config/agent.d.ts.map +1 -1
- package/dist/config/agent.js +6 -2
- package/dist/config/agent.js.map +1 -1
- package/dist/config/app.d.ts +4 -4
- package/dist/config/app.d.ts.map +1 -1
- package/dist/config/load.d.ts +2 -2
- package/dist/config/load.js +2 -2
- package/dist/config/resolve.d.ts +21 -6
- package/dist/config/resolve.d.ts.map +1 -1
- package/dist/config/resolve.js +165 -54
- package/dist/config/resolve.js.map +1 -1
- package/dist/engine/contract.d.ts +6 -1
- package/dist/engine/contract.d.ts.map +1 -1
- package/dist/engine/contract.js.map +1 -1
- package/dist/engine/index.d.ts +69 -6
- package/dist/engine/index.d.ts.map +1 -1
- package/dist/engine/index.js +25 -5
- package/dist/engine/index.js.map +1 -1
- package/dist/engine/session.d.ts.map +1 -1
- package/dist/engine/session.js +6 -0
- package/dist/engine/session.js.map +1 -1
- package/dist/engine/surface.d.ts +6 -2
- package/dist/engine/surface.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/internal/options.d.ts +9 -0
- package/dist/internal/options.d.ts.map +1 -0
- package/dist/internal/options.js +27 -0
- package/dist/internal/options.js.map +1 -0
- package/dist/locator/expression.js +1 -1
- package/dist/locator/expression.js.map +1 -1
- package/dist/locator/screen.d.ts.map +1 -1
- package/dist/locator/screen.js +4 -2
- package/dist/locator/screen.js.map +1 -1
- package/dist/report/build.d.ts +2 -1
- package/dist/report/build.d.ts.map +1 -1
- package/dist/report/build.js +2 -0
- package/dist/report/build.js.map +1 -1
- package/dist/report/json.d.ts +4 -0
- package/dist/report/json.d.ts.map +1 -0
- package/dist/report/json.js +8 -0
- package/dist/report/json.js.map +1 -0
- package/dist/report/junit.d.ts +7 -0
- package/dist/report/junit.d.ts.map +1 -1
- package/dist/report/junit.js +17 -0
- package/dist/report/junit.js.map +1 -1
- package/dist/report/list-model.d.ts +8 -5
- package/dist/report/list-model.d.ts.map +1 -1
- package/dist/report/list.d.ts +19 -4
- package/dist/report/list.d.ts.map +1 -1
- package/dist/report/list.js +67 -19
- package/dist/report/list.js.map +1 -1
- package/dist/report/running-tree.d.ts +5 -4
- package/dist/report/running-tree.d.ts.map +1 -1
- package/dist/report/running-tree.js +8 -7
- package/dist/report/running-tree.js.map +1 -1
- package/dist/run/artifacts.d.ts.map +1 -1
- package/dist/run/artifacts.js +20 -2
- package/dist/run/artifacts.js.map +1 -1
- package/dist/run/events.d.ts +14 -9
- package/dist/run/events.d.ts.map +1 -1
- package/dist/run/events.js +7 -7
- package/dist/run/events.js.map +1 -1
- package/dist/run/execute.d.ts +24 -5
- package/dist/run/execute.d.ts.map +1 -1
- package/dist/run/execute.js +67 -25
- package/dist/run/execute.js.map +1 -1
- package/dist/run/fixtures.d.ts +6 -1
- package/dist/run/fixtures.d.ts.map +1 -1
- package/dist/run/fixtures.js +0 -1
- package/dist/run/fixtures.js.map +1 -1
- package/dist/run/in-process.d.ts +1 -1
- package/dist/run/in-process.d.ts.map +1 -1
- package/dist/run/in-process.js +6 -3
- package/dist/run/in-process.js.map +1 -1
- package/dist/run/managed-process.d.ts.map +1 -1
- package/dist/run/managed-process.js +6 -2
- package/dist/run/managed-process.js.map +1 -1
- package/dist/run/records.d.ts +14 -1
- package/dist/run/records.d.ts.map +1 -1
- package/dist/run/runner.d.ts +17 -9
- package/dist/run/runner.d.ts.map +1 -1
- package/dist/run/runner.js +180 -101
- package/dist/run/runner.js.map +1 -1
- package/dist/run/scheduler.d.ts +4 -6
- package/dist/run/scheduler.d.ts.map +1 -1
- package/dist/run/scheduler.js +51 -23
- package/dist/run/scheduler.js.map +1 -1
- package/dist/run/serial.d.ts +2 -4
- package/dist/run/serial.d.ts.map +1 -1
- package/dist/run/serial.js +4 -2
- package/dist/run/serial.js.map +1 -1
- package/dist/run/steps.d.ts +25 -0
- package/dist/run/steps.d.ts.map +1 -1
- package/dist/run/steps.js +12 -0
- package/dist/run/steps.js.map +1 -1
- package/dist/run/unit-runner.d.ts +7 -2
- package/dist/run/unit-runner.d.ts.map +1 -1
- package/dist/run/units.d.ts +10 -0
- package/dist/run/units.d.ts.map +1 -1
- package/dist/run/units.js +11 -0
- package/dist/run/units.js.map +1 -1
- package/dist/run/worker/entry.js +1 -0
- package/dist/run/worker/entry.js.map +1 -1
- package/dist/run/worker/handle.d.ts +1 -1
- package/dist/run/worker/handle.d.ts.map +1 -1
- package/dist/run/worker/handle.js +1 -1
- package/dist/run/worker/handle.js.map +1 -1
- package/dist/run/worker/protocol.d.ts +2 -0
- package/dist/run/worker/protocol.d.ts.map +1 -1
- package/dist/run/worker/protocol.js.map +1 -1
- package/dist/run/worker/session.d.ts +2 -0
- package/dist/run/worker/session.d.ts.map +1 -1
- package/dist/run/worker/session.js +1 -0
- package/dist/run/worker/session.js.map +1 -1
- package/dist/telemetry/telemetry.d.ts +2 -3
- package/dist/telemetry/telemetry.d.ts.map +1 -1
- package/dist/telemetry/telemetry.js +2 -3
- package/dist/telemetry/telemetry.js.map +1 -1
- package/dist/types.d.ts +159 -37
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -6
- package/skills/e2e/SKILL.md +0 -2
- package/skills/e2e/references/agent.md +20 -12
- package/skills/e2e/references/debugging.md +3 -1
- package/skills/e2e/references/running.md +4 -3
- package/skills/e2e/references/setup.md +13 -10
- package/skills/e2e/references/writing-tests.md +6 -5
- package/dist/internal/trace.d.ts +0 -18
- package/dist/internal/trace.d.ts.map +0 -1
- package/dist/internal/trace.js +0 -46
- package/dist/internal/trace.js.map +0 -1
- package/dist/run/public.d.ts +0 -19
- package/dist/run/public.d.ts.map +0 -1
- package/dist/run/public.js +0 -11
- package/dist/run/public.js.map +0 -1
package/dist/run/runner.js
CHANGED
|
@@ -4,24 +4,29 @@ import { discoverConfig, loadConfigModule, missingConfigError } from '../config/
|
|
|
4
4
|
import { isCiMode, resolveConfig, } from '../config/resolve.js';
|
|
5
5
|
import { collect } from '../collect/collect.js';
|
|
6
6
|
import { select, selectTargets } from '../collect/select.js';
|
|
7
|
-
import { classifyError, combineExitCodes, ConfigurationError, E2EError, errorMessage, exitCodeForCategory, serializeError, translateProvisioningError, } from '../internal/errors.js';
|
|
7
|
+
import { classifyError, combineExitCodes, ConfigurationError, InfrastructureError, E2EError, errorMessage, exitCodeForCategory, serializeError, translateProvisioningError, } from '../internal/errors.js';
|
|
8
8
|
import { loadAiSdk } from '../agent/ai-sdk.js';
|
|
9
9
|
import { AiTraceCollector, AiTraceRecorder, registerAiTraceRecorder } from '../internal/ai-trace.js';
|
|
10
10
|
import { DebugTrace } from '../internal/debug.js';
|
|
11
11
|
import { timestamp, uuidv7 } from '../internal/ids.js';
|
|
12
12
|
import { buildReport, describeTarget } from '../report/build.js';
|
|
13
13
|
import { agentStepTable } from '../report/debug-steps.js';
|
|
14
|
-
import {
|
|
14
|
+
import { jsonReporter } from '../report/json.js';
|
|
15
|
+
import { junitReporter } from '../report/junit.js';
|
|
15
16
|
import { ListReporter } from '../report/list.js';
|
|
16
|
-
import { writeJsonReport
|
|
17
|
+
import { writeJsonReport } from '../report/write.js';
|
|
17
18
|
import { ManagedProcess, ServiceStack } from './managed-process.js';
|
|
18
19
|
import { createRunEventEmitter, toEventResult } from './events.js';
|
|
19
20
|
import { inProcessSpawner } from './in-process.js';
|
|
20
21
|
import { runUnits } from './scheduler.js';
|
|
22
|
+
import { buildWorkPlans, plannedSlots } from './units.js';
|
|
21
23
|
import { SessionStore } from './sessions.js';
|
|
22
24
|
import { childProcessSpawner } from './worker/handle.js';
|
|
23
25
|
import { setCredentialRegistry } from '../credentials.js';
|
|
26
|
+
import { withAbort } from '../internal/time.js';
|
|
24
27
|
import { declaredProcesses } from './declared-processes.js';
|
|
28
|
+
/** How long a reporter's `onRunFinished` may take before the run stops waiting for it. */
|
|
29
|
+
const REPORTER_TIMEOUT_MS = 60_000;
|
|
25
30
|
/**
|
|
26
31
|
* Collects and selects like `run` and stops there: no app process, no engine
|
|
27
32
|
* prepare, no worker. The pairs are the ones `run` would report, in report
|
|
@@ -95,22 +100,29 @@ export async function run(options = {}) {
|
|
|
95
100
|
cli.reporters = options.reporters;
|
|
96
101
|
if (options.noCache === true)
|
|
97
102
|
cli.cache = 'off';
|
|
103
|
+
if (options.video === true)
|
|
104
|
+
cli.video = true;
|
|
98
105
|
// Config resolves before anything is emitted, and its failure is kept rather
|
|
99
106
|
// than thrown: the reporter set is config truth (CLI overrides merge during
|
|
100
107
|
// resolution), so the emitter below is built exactly once from the set
|
|
101
108
|
// actually in force. When config itself failed, the CLI's own value is the
|
|
102
109
|
// best available, and the failure still renders through it.
|
|
103
110
|
const loaded = await debug.time('config.load', () => loadRunConfig(options, cwd, env, cli)).then((config) => ({ config, error: undefined }), (cause) => ({ config: undefined, error: classifyError(cause) }));
|
|
104
|
-
//
|
|
105
|
-
//
|
|
106
|
-
//
|
|
107
|
-
const
|
|
111
|
+
// Every reporter, built-in or configured, is one `Reporter` on one spine:
|
|
112
|
+
// the ids name the shipped ones, and a config failure still leaves the ids
|
|
113
|
+
// the CLI asked for, so the failure renders through them.
|
|
114
|
+
const reporterIds = loaded.config?.reporters ?? options.reporters ?? ['list'];
|
|
115
|
+
const listReporter = options.quiet === true || !reporterIds.includes('list') ? undefined : new ListReporter();
|
|
116
|
+
const activeReporters = [
|
|
117
|
+
...(listReporter === undefined ? [] : [listReporter]),
|
|
118
|
+
...(reporterIds.includes('json') ? [jsonReporter] : []),
|
|
119
|
+
...(reporterIds.includes('junit') ? [junitReporter] : []),
|
|
120
|
+
...(loaded.config?.customReporters ?? []),
|
|
121
|
+
];
|
|
108
122
|
const emit = createRunEventEmitter([
|
|
109
|
-
|
|
123
|
+
...activeReporters.map((reporter) => reporter.onEvent === undefined ? undefined : reporter.onEvent.bind(reporter)),
|
|
110
124
|
options.onEvent,
|
|
111
125
|
]);
|
|
112
|
-
const jsonReport = reporters.includes('json');
|
|
113
|
-
const junitReport = reporters.includes('junit');
|
|
114
126
|
/** Records one run-level error once: into the report and onto the stream. */
|
|
115
127
|
const recordRunError = (runError) => {
|
|
116
128
|
runErrors.push(runError);
|
|
@@ -175,24 +187,6 @@ export async function run(options = {}) {
|
|
|
175
187
|
return undefined;
|
|
176
188
|
}
|
|
177
189
|
};
|
|
178
|
-
/**
|
|
179
|
-
* Writes the JUnit rendering of one document next to the canonical report.
|
|
180
|
-
* Same terms: the path is returned only once the file exists, and a lost
|
|
181
|
-
* file is a recorded run error.
|
|
182
|
-
*/
|
|
183
|
-
const writeJunitReport = async (config, document) => {
|
|
184
|
-
if (!junitReport)
|
|
185
|
-
return undefined;
|
|
186
|
-
const target = path.join(path.dirname(resolveArtifactsRoot(config, options.artifactsDir)), 'junit.xml');
|
|
187
|
-
try {
|
|
188
|
-
await writeTextReport(target, renderJunitReport(document));
|
|
189
|
-
return target;
|
|
190
|
-
}
|
|
191
|
-
catch (cause) {
|
|
192
|
-
recordFailure(new E2EError('infrastructure', 'REPORT_WRITE_FAILED', `the JUnit report could not be written: ${errorMessage(cause)}`, { cause }), 'report');
|
|
193
|
-
return undefined;
|
|
194
|
-
}
|
|
195
|
-
};
|
|
196
190
|
/**
|
|
197
191
|
* Writes the AI trace next to the report, on the same terms: the path is
|
|
198
192
|
* returned only once the file exists, and a lost trace is a recorded run
|
|
@@ -219,22 +213,14 @@ export async function run(options = {}) {
|
|
|
219
213
|
};
|
|
220
214
|
const finish = async () => {
|
|
221
215
|
const aiTracePath = loaded.config === undefined ? undefined : await writeAiTrace(loaded.config);
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
// the exit code, the outcome, and run-finished alike. When the rendering
|
|
229
|
-
// succeeds nothing was recorded in between, and the canonical report is
|
|
230
|
-
// that very document.
|
|
231
|
-
const document = buildRunReport(currentExitCode());
|
|
232
|
-
const recorded = runErrors.length;
|
|
233
|
-
junitPath = await writeJunitReport(loaded.config, document);
|
|
234
|
-
reportPath = await writeCanonicalReport(loaded.config, runErrors.length === recorded ? document : buildRunReport(currentExitCode()));
|
|
235
|
-
}
|
|
216
|
+
// One document: what is written is what the reporters and the outcome
|
|
217
|
+
// see, so a reporter uploading `report` ships the file byte for byte.
|
|
218
|
+
// Only a failed write, itself a run error, forces a rebuild that records it.
|
|
219
|
+
const document = buildRunReport(currentExitCode());
|
|
220
|
+
const recorded = runErrors.length;
|
|
221
|
+
const reportPath = loaded.config === undefined ? undefined : await writeCanonicalReport(loaded.config, document);
|
|
236
222
|
const exitCode = currentExitCode();
|
|
237
|
-
const report = buildRunReport(exitCode);
|
|
223
|
+
const report = runErrors.length === recorded ? document : buildRunReport(exitCode);
|
|
238
224
|
// Read back from the report rather than recomputed: the report derives
|
|
239
225
|
// `blocked` from the results, and the outcome and the event must agree
|
|
240
226
|
// with the file a host reads afterwards.
|
|
@@ -245,17 +231,29 @@ export async function run(options = {}) {
|
|
|
245
231
|
status,
|
|
246
232
|
exitCode,
|
|
247
233
|
...(reportPath === undefined ? {} : { reportPath }),
|
|
248
|
-
...(junitPath === undefined ? {} : { junitPath }),
|
|
249
234
|
...(aiTracePath === undefined ? {} : { aiTracePath }),
|
|
250
235
|
});
|
|
251
|
-
if (jsonReport) {
|
|
252
|
-
process.stdout.write(`${JSON.stringify(report, null, 2)}\n`);
|
|
253
|
-
}
|
|
254
236
|
if (debug.enabled) {
|
|
255
237
|
process.stderr.write(debug.summary());
|
|
256
238
|
process.stderr.write(agentStepTable(results, serialGroups));
|
|
257
239
|
}
|
|
258
|
-
|
|
240
|
+
// `onRunFinished` runs last, after everything the terminal shows, so
|
|
241
|
+
// nothing reading it waits on a slow reporter; the rows they resolve with
|
|
242
|
+
// print under the summary. A config that never loaded still has the
|
|
243
|
+
// built-in reporters, resolved against the working directory.
|
|
244
|
+
const rows = await runReporters(activeReporters, {
|
|
245
|
+
report,
|
|
246
|
+
status,
|
|
247
|
+
exitCode,
|
|
248
|
+
projectRoot: loaded.config?.projectRoot ?? cwd,
|
|
249
|
+
reportPath,
|
|
250
|
+
artifactsRoot: loaded.config === undefined
|
|
251
|
+
? path.resolve(cwd, options.artifactsDir ?? path.join('.e2e', 'artifacts'))
|
|
252
|
+
: resolveArtifactsRoot(loaded.config, options.artifactsDir),
|
|
253
|
+
aiTracePath,
|
|
254
|
+
}, options.reporterTimeout ?? REPORTER_TIMEOUT_MS, forceController.signal);
|
|
255
|
+
listReporter?.rows(rows);
|
|
256
|
+
return { exitCode, status, report, reportPath, aiTracePath, results };
|
|
259
257
|
};
|
|
260
258
|
if (loaded.config === undefined) {
|
|
261
259
|
recordFailure(loaded.error, 'config');
|
|
@@ -268,11 +266,11 @@ export async function run(options = {}) {
|
|
|
268
266
|
runId,
|
|
269
267
|
projectId: config.projectId,
|
|
270
268
|
projectRoot: config.projectRoot,
|
|
269
|
+
artifactsRoot: resolveArtifactsRoot(config, options.artifactsDir),
|
|
271
270
|
ci: isCiMode(env),
|
|
272
271
|
targets: config.targets.map((target) => target.name),
|
|
273
|
-
...(config.agent.model === undefined
|
|
274
|
-
|
|
275
|
-
: { model: `${config.agent.model.provider}/${config.agent.model.id}` }),
|
|
272
|
+
...(config.agent.model === undefined ? {} : { model: modelName(config.agent.model) }),
|
|
273
|
+
...(config.agent.visionModel === undefined ? {} : { visionModel: modelName(config.agent.visionModel) }),
|
|
276
274
|
});
|
|
277
275
|
const executeRun = async () => {
|
|
278
276
|
const interrupted = interruptController.signal;
|
|
@@ -330,6 +328,14 @@ export async function run(options = {}) {
|
|
|
330
328
|
for (const { target } of selection.perTarget) {
|
|
331
329
|
targetProvenance.set(target.name, validateEngine(target, config));
|
|
332
330
|
}
|
|
331
|
+
// The work units, built once: the same plans tell each engine's `prepare`
|
|
332
|
+
// how many worker slots to provision and the scheduler what to dispatch.
|
|
333
|
+
let plans = buildWorkPlans(selection, collection, config.projectRoot);
|
|
334
|
+
// Workers re-load the config module themselves, so a file-backed config
|
|
335
|
+
// runs across processes. A supplied `rawConfig` cannot cross a process
|
|
336
|
+
// boundary (it may hold live engine handles), so it runs in-process
|
|
337
|
+
// against one worker.
|
|
338
|
+
const runWorkers = config.configPath === undefined ? 1 : config.workers;
|
|
333
339
|
// Provisioning: an engine that must fetch something onto this machine (a
|
|
334
340
|
// first-run browser download) does it here, once per target, before the
|
|
335
341
|
// app starts and before the run's clock starts. Only an interrupt cuts it
|
|
@@ -337,7 +343,7 @@ export async function run(options = {}) {
|
|
|
337
343
|
// stream as `notice` events under it, so the reporter prints them instead
|
|
338
344
|
// of a worker's stderr fighting the live status block.
|
|
339
345
|
try {
|
|
340
|
-
await debug.time('engine.prepare', () => prepareEngines(
|
|
346
|
+
plans = await debug.time('engine.prepare', () => prepareEngines(plans, runWorkers, { runId, env, signal: interrupted }, emit));
|
|
341
347
|
}
|
|
342
348
|
catch (cause) {
|
|
343
349
|
if (!interrupted.aborted)
|
|
@@ -389,52 +395,42 @@ export async function run(options = {}) {
|
|
|
389
395
|
const sessionsRoot = path.join(config.projectRoot, '.e2e', 'sessions');
|
|
390
396
|
const store = SessionStore.create(runId, sessionsRoot);
|
|
391
397
|
sessionStore = store;
|
|
392
|
-
//
|
|
393
|
-
//
|
|
394
|
-
// boundary (it may hold live engine handles), so it runs in-process
|
|
395
|
-
// against one worker. Either way the scheduler is the only engine.
|
|
398
|
+
// Both transports are reached through `SpawnUnitRunner`: the scheduler is
|
|
399
|
+
// the only engine either way.
|
|
396
400
|
if (aiTrace !== undefined && config.configPath === undefined) {
|
|
397
401
|
// In-process execution shares this process with the runner, so the
|
|
398
402
|
// recorder lives here and is drained straight into the collector.
|
|
399
403
|
aiTraceRecorder = new AiTraceRecorder();
|
|
400
404
|
await registerAiTraceRecorder(aiTraceRecorder, loadAiSdk);
|
|
401
405
|
}
|
|
402
|
-
const
|
|
403
|
-
? {
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
sessionKeyBase64: store.exportKeyForWorker(),
|
|
427
|
-
debug: debug.enabled,
|
|
428
|
-
aiTrace: aiTrace !== undefined,
|
|
429
|
-
env,
|
|
430
|
-
}),
|
|
431
|
-
};
|
|
406
|
+
const spawn = config.configPath === undefined
|
|
407
|
+
? inProcessSpawner({
|
|
408
|
+
config,
|
|
409
|
+
selection,
|
|
410
|
+
runId,
|
|
411
|
+
artifactsRoot,
|
|
412
|
+
sessionStore: store,
|
|
413
|
+
headed: options.headed ?? false,
|
|
414
|
+
debug,
|
|
415
|
+
})
|
|
416
|
+
: childProcessSpawner({
|
|
417
|
+
configPath: config.configPath,
|
|
418
|
+
projectRoot: config.projectRoot,
|
|
419
|
+
configDigest: config.configDigest,
|
|
420
|
+
cli,
|
|
421
|
+
runId,
|
|
422
|
+
artifactsRoot,
|
|
423
|
+
headed: options.headed ?? false,
|
|
424
|
+
sessionsRoot,
|
|
425
|
+
sessionKeyBase64: store.exportKeyForWorker(),
|
|
426
|
+
debug: debug.enabled,
|
|
427
|
+
aiTrace: aiTrace !== undefined,
|
|
428
|
+
env,
|
|
429
|
+
});
|
|
432
430
|
await debug.time('scheduler', () => runUnits({
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
workers: transport.workers,
|
|
437
|
-
spawn: transport.spawn,
|
|
431
|
+
plans,
|
|
432
|
+
workers: runWorkers,
|
|
433
|
+
spawn,
|
|
438
434
|
interruptGraceMs: config.timeout + config.cleanupTimeout,
|
|
439
435
|
interruptSignal: interrupted,
|
|
440
436
|
forceSignal: forceController.signal,
|
|
@@ -521,22 +517,27 @@ export async function run(options = {}) {
|
|
|
521
517
|
* provisioning the same toolchain would race, and the notices of one download
|
|
522
518
|
* read better than two interleaved.
|
|
523
519
|
*/
|
|
524
|
-
async function prepareEngines(
|
|
525
|
-
|
|
520
|
+
async function prepareEngines(plans, runWorkers, scope, emit) {
|
|
521
|
+
const prepared = [];
|
|
522
|
+
for (const plan of plans) {
|
|
523
|
+
const { target } = plan;
|
|
526
524
|
const engine = target.engine;
|
|
527
|
-
if (engine?.prepare === undefined)
|
|
525
|
+
if (engine?.prepare === undefined || scope.signal.aborted) {
|
|
526
|
+
prepared.push(plan);
|
|
528
527
|
continue;
|
|
529
|
-
|
|
530
|
-
return;
|
|
528
|
+
}
|
|
531
529
|
const step = { kind: 'prepare', target: target.name, engine: engine.name };
|
|
532
530
|
emit({ type: 'setup', step, state: 'started' });
|
|
533
531
|
const startedMs = Date.now();
|
|
532
|
+
const slots = plannedSlots(plan, runWorkers);
|
|
533
|
+
let result;
|
|
534
534
|
try {
|
|
535
535
|
// The same `env` the workers are started with: what prepare provisions
|
|
536
536
|
// must be where a worker's launch will look for it.
|
|
537
|
-
await engine.prepare({
|
|
537
|
+
result = await engine.prepare({
|
|
538
538
|
runId: scope.runId,
|
|
539
539
|
targetName: target.name,
|
|
540
|
+
slots,
|
|
540
541
|
env: scope.env,
|
|
541
542
|
signal: scope.signal,
|
|
542
543
|
log: (line) => emit({ type: 'notice', target: target.name, message: line }),
|
|
@@ -545,10 +546,29 @@ async function prepareEngines(targets, scope, emit) {
|
|
|
545
546
|
catch (cause) {
|
|
546
547
|
throw translateProvisioningError(cause, ` while preparing engine ${engine.name} for target "${target.name}"`);
|
|
547
548
|
}
|
|
549
|
+
prepared.push(withPreparedWorkers(plan, engine.name, slots, result));
|
|
548
550
|
if (!scope.signal.aborted) {
|
|
549
551
|
emit({ type: 'setup', step, state: 'finished', durationMs: Date.now() - startedMs });
|
|
550
552
|
}
|
|
551
553
|
}
|
|
554
|
+
return prepared;
|
|
555
|
+
}
|
|
556
|
+
/**
|
|
557
|
+
* Applies the worker cap `prepare` reported to the plan. The engine may only
|
|
558
|
+
* narrow what the run planned: a cap outside `1..slots` is an engine defect.
|
|
559
|
+
*/
|
|
560
|
+
function withPreparedWorkers(plan, engineName, slots, result) {
|
|
561
|
+
const workers = result?.workers;
|
|
562
|
+
if (workers === undefined)
|
|
563
|
+
return plan;
|
|
564
|
+
if (!Number.isSafeInteger(workers) || workers < 1 || workers > Math.max(1, slots)) {
|
|
565
|
+
throw new InfrastructureError('ENGINE_FAILURE', `engine ${engineName} reported ${String(workers)} workers from prepare for target "${plan.target.name}"; it was asked to provision ${slots}`);
|
|
566
|
+
}
|
|
567
|
+
return { ...plan, workers };
|
|
568
|
+
}
|
|
569
|
+
/** A configured model as `run-started` and the reporter name it. */
|
|
570
|
+
function modelName(model) {
|
|
571
|
+
return `${model.provider}/${model.id}`;
|
|
552
572
|
}
|
|
553
573
|
function selectionFilters(options) {
|
|
554
574
|
return {
|
|
@@ -607,10 +627,10 @@ function statusOf(exitCode) {
|
|
|
607
627
|
*/
|
|
608
628
|
function validateEngine(target, config) {
|
|
609
629
|
const provenance = describeTarget(target);
|
|
610
|
-
//
|
|
611
|
-
//
|
|
612
|
-
for (const artifact of config.
|
|
613
|
-
if (!provenance.artifactCapabilities.includes(artifact)) {
|
|
630
|
+
// A best-effort kind is captured when the engine can; a required one is a
|
|
631
|
+
// contract the engine must be able to honour before any test starts.
|
|
632
|
+
for (const [artifact, policy] of config.artifacts) {
|
|
633
|
+
if (policy === 'required' && !provenance.artifactCapabilities.includes(artifact)) {
|
|
614
634
|
throw new ConfigurationError('UNSUPPORTED_ARTIFACT', `target "${target.name}" (engine ${provenance.engine.name}) does not support the configured "${artifact}" artifact`);
|
|
615
635
|
}
|
|
616
636
|
}
|
|
@@ -637,6 +657,65 @@ function resultExitCodes(results) {
|
|
|
637
657
|
}
|
|
638
658
|
return codes;
|
|
639
659
|
}
|
|
660
|
+
/** Why a reporter's `onRunFinished` was given up on: the message is the stderr line. */
|
|
661
|
+
class ReporterAbandoned extends Error {
|
|
662
|
+
}
|
|
663
|
+
/**
|
|
664
|
+
* Awaits every reporter's `onRunFinished` at once, each within `timeoutMs`
|
|
665
|
+
* and until a forced interrupt, and collects the summary rows they resolve
|
|
666
|
+
* with. Each reporter gets a signal that aborts on either, so a well-behaved
|
|
667
|
+
* one cancels its own work and leaves no handle holding the process. A
|
|
668
|
+
* reporter that throws, runs out of time, or returns something other than
|
|
669
|
+
* rows is one line on stderr; it can never change the run's outcome.
|
|
670
|
+
*/
|
|
671
|
+
async function runReporters(reporters, finished, timeoutMs, force) {
|
|
672
|
+
const warn = (reporter, detail) => {
|
|
673
|
+
process.stderr.write(`e2e: reporter "${reporter.name}" ${detail}\n`);
|
|
674
|
+
};
|
|
675
|
+
const budget = timeoutMs >= 1000 ? `${Math.round(timeoutMs / 1000)}s` : `${timeoutMs}ms`;
|
|
676
|
+
const outcomes = await Promise.all(reporters.map(async (reporter) => {
|
|
677
|
+
const { onRunFinished } = reporter;
|
|
678
|
+
if (onRunFinished === undefined)
|
|
679
|
+
return [];
|
|
680
|
+
const abandon = new AbortController();
|
|
681
|
+
const timer = setTimeout(() => abandon.abort(new ReporterAbandoned(`did not finish within ${budget}`)), timeoutMs);
|
|
682
|
+
const onForce = () => abandon.abort(new ReporterAbandoned('abandoned: the run was forced to stop'));
|
|
683
|
+
if (force.aborted)
|
|
684
|
+
onForce();
|
|
685
|
+
else
|
|
686
|
+
force.addEventListener('abort', onForce, { once: true });
|
|
687
|
+
try {
|
|
688
|
+
const result = await withAbort(() => Promise.resolve(onRunFinished.call(reporter, finished, abandon.signal)), abandon.signal, () => abandon.signal.reason);
|
|
689
|
+
if (result === undefined)
|
|
690
|
+
return [];
|
|
691
|
+
if (!Array.isArray(result)) {
|
|
692
|
+
warn(reporter, 'returned something other than summary rows; dropped');
|
|
693
|
+
return [];
|
|
694
|
+
}
|
|
695
|
+
const rows = result.filter(isSummaryRow);
|
|
696
|
+
const dropped = result.length - rows.length;
|
|
697
|
+
if (dropped > 0)
|
|
698
|
+
warn(reporter, `returned ${dropped} row(s) without a label and text; dropped`);
|
|
699
|
+
return rows;
|
|
700
|
+
}
|
|
701
|
+
catch (cause) {
|
|
702
|
+
warn(reporter, cause instanceof ReporterAbandoned ? cause.message : `failed: ${errorMessage(cause)}`);
|
|
703
|
+
return [];
|
|
704
|
+
}
|
|
705
|
+
finally {
|
|
706
|
+
clearTimeout(timer);
|
|
707
|
+
force.removeEventListener('abort', onForce);
|
|
708
|
+
}
|
|
709
|
+
}));
|
|
710
|
+
return outcomes.flat();
|
|
711
|
+
}
|
|
712
|
+
/** A row is a non-empty label and non-empty text; anything else came from untyped code. */
|
|
713
|
+
function isSummaryRow(value) {
|
|
714
|
+
if (typeof value !== 'object' || value === null)
|
|
715
|
+
return false;
|
|
716
|
+
const { label, text } = value;
|
|
717
|
+
return typeof label === 'string' && label.length > 0 && typeof text === 'string' && text.length > 0;
|
|
718
|
+
}
|
|
640
719
|
function resolveArtifactsRoot(config, override) {
|
|
641
720
|
if (override !== undefined)
|
|
642
721
|
return path.resolve(config.projectRoot, override);
|
package/dist/run/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/run/runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/run/runner.ts"],"names":[],"mappings":"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"}
|
package/dist/run/scheduler.d.ts
CHANGED
|
@@ -7,13 +7,12 @@
|
|
|
7
7
|
* gating, and reporting logic covers both child-process and in-process
|
|
8
8
|
* execution.
|
|
9
9
|
*/
|
|
10
|
-
import type { Collection } from '../collect/collect.ts';
|
|
11
|
-
import type { Selection } from '../collect/select.ts';
|
|
12
10
|
import type { AiTraceSnapshot } from '../internal/ai-trace.ts';
|
|
13
11
|
import type { DebugSnapshot } from '../internal/debug.ts';
|
|
14
12
|
import type { ResultRecord, RunError, SerialGroupRecord } from './records.ts';
|
|
15
13
|
import type { StepProgress } from './steps.ts';
|
|
16
14
|
import type { SpawnUnitRunner } from './unit-runner.ts';
|
|
15
|
+
import { type TargetWorkPlan } from './units.ts';
|
|
17
16
|
import { type PairStart } from './worker/protocol.ts';
|
|
18
17
|
export interface SchedulerEvents {
|
|
19
18
|
onResult(result: ResultRecord): void;
|
|
@@ -31,9 +30,8 @@ export interface SchedulerEvents {
|
|
|
31
30
|
onAiTrace?(snapshot: AiTraceSnapshot): void;
|
|
32
31
|
}
|
|
33
32
|
export interface RunUnitsOptions {
|
|
34
|
-
|
|
35
|
-
readonly
|
|
36
|
-
readonly projectRoot: string;
|
|
33
|
+
/** Per-target work, built once by the runner; see `buildWorkPlans`. */
|
|
34
|
+
readonly plans: readonly TargetWorkPlan[];
|
|
37
35
|
/** Maximum workers alive at once across all targets. */
|
|
38
36
|
readonly workers: number;
|
|
39
37
|
/** Budget for a worker to finish an in-flight unit after an interrupt. */
|
|
@@ -50,6 +48,6 @@ export interface RunUnitsOptions {
|
|
|
50
48
|
readonly spawn: SpawnUnitRunner;
|
|
51
49
|
readonly events: SchedulerEvents;
|
|
52
50
|
}
|
|
53
|
-
/** Runs every
|
|
51
|
+
/** Runs every planned unit and streams records. */
|
|
54
52
|
export declare function runUnits(options: RunUnitsOptions): Promise<void>;
|
|
55
53
|
//# sourceMappingURL=scheduler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/run/scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/run/scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAc,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAML,KAAK,cAAc,EAEpB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,KAAK,SAAS,EAIf,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC9C,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IAClC,4EAA4E;IAC5E,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IAClC,qDAAqD;IACrD,WAAW,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACzD,iDAAiD;IACjD,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAC9E,mEAAmE;IACnE,OAAO,CAAC,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IACxC,iEAAiE;IACjE,SAAS,CAAC,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IAC1C,wDAAwD;IACxD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,0EAA0E;IAC1E,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC;IACtC;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,0EAA0E;IAC1E,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;CAClC;AAQD,mDAAmD;AACnD,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtE"}
|