@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/config/resolve.js
CHANGED
|
@@ -46,7 +46,7 @@ const FOREIGN_TOP_LEVEL_KEYS = {
|
|
|
46
46
|
baseUrl: APP_BELONGS_TO_ENGINE,
|
|
47
47
|
webServer: 'the runner starts the app from the engine options: playwright({ url, command: { executable, args } })',
|
|
48
48
|
use: 'browser and app options are engine options: engine: playwright({ ... })',
|
|
49
|
-
projects: 'one target per browser or device: targets: [{
|
|
49
|
+
projects: 'one target per browser or device: targets: [{ engine }]',
|
|
50
50
|
};
|
|
51
51
|
/** Keys authors put on a target that belong to its engine. */
|
|
52
52
|
const FOREIGN_TARGET_KEYS = new Set([
|
|
@@ -100,19 +100,8 @@ export function resolveConfig(raw, options) {
|
|
|
100
100
|
const workers = boundedInt(cli.workers, '--workers', 1, 1024) ??
|
|
101
101
|
boundedInt(raw.workers, 'workers', 1, 1024) ??
|
|
102
102
|
(ci ? 1 : Math.max(1, Math.floor(os.availableParallelism() / 2)));
|
|
103
|
-
const { artifacts,
|
|
104
|
-
const reporters
|
|
105
|
-
if (!Array.isArray(reporters)) {
|
|
106
|
-
throw new ConfigurationError('INVALID_CONFIG', 'reporters must be an array of reporter ids');
|
|
107
|
-
}
|
|
108
|
-
for (const reporter of reporters) {
|
|
109
|
-
if (!['list', 'json', 'junit'].includes(reporter)) {
|
|
110
|
-
throw new ConfigurationError('INVALID_CONFIG', `unknown reporter "${reporter}"; reporters are list, json, and junit${didYouMean(reporter, ['list', 'json', 'junit'])}`);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
if (reporters.includes('json') && reporters.includes('list')) {
|
|
114
|
-
throw new ConfigurationError('INVALID_CONFIG', 'the json renderer cannot be combined with list');
|
|
115
|
-
}
|
|
103
|
+
const { artifacts, artifactStore, videoRetain } = resolveArtifactsConfig(raw, cli);
|
|
104
|
+
const { reporters, customReporters } = resolveReporters(raw, cli);
|
|
116
105
|
const testIdAttribute = raw.screen?.testIdAttribute ?? 'data-testid';
|
|
117
106
|
const projectId = resolveProjectId(raw.projectId, options.projectRoot);
|
|
118
107
|
const credentials = resolveCredentials(raw, env);
|
|
@@ -138,9 +127,10 @@ export function resolveConfig(raw, options) {
|
|
|
138
127
|
retries,
|
|
139
128
|
workers,
|
|
140
129
|
artifacts,
|
|
141
|
-
artifactsExplicit,
|
|
142
130
|
artifactStore,
|
|
131
|
+
videoRetain,
|
|
143
132
|
reporters,
|
|
133
|
+
customReporters,
|
|
144
134
|
testIdAttribute,
|
|
145
135
|
agent,
|
|
146
136
|
cache,
|
|
@@ -207,21 +197,28 @@ function resolveCacheConfig(raw, ci, projectRoot, cliMode) {
|
|
|
207
197
|
dir: path.resolve(projectRoot, dir ?? path.join('.e2e', 'cache')),
|
|
208
198
|
};
|
|
209
199
|
}
|
|
210
|
-
|
|
211
|
-
const
|
|
200
|
+
/** The default artifact set. `video` is opt-in and never part of it. */
|
|
201
|
+
const DEFAULT_ARTIFACT_KINDS = ['screenshot', 'trace'];
|
|
202
|
+
const ARTIFACT_KINDS = ['screenshot', 'trace', 'video'];
|
|
203
|
+
const ARTIFACTS_KEYS = new Set(['kinds', 'store', 'video']);
|
|
204
|
+
const VIDEO_KEYS = new Set(['retain']);
|
|
205
|
+
const VIDEO_RETAIN_VALUES = ['all', 'on-failure'];
|
|
212
206
|
/**
|
|
213
|
-
* Resolves the `artifacts` key: a bare array of kinds, or `{ kinds, store
|
|
214
|
-
* where `store` is the host seam every produced artifact is handed
|
|
215
|
-
|
|
216
|
-
*
|
|
207
|
+
* Resolves the `artifacts` key: a bare array of kinds, or `{ kinds, store,
|
|
208
|
+
* video }` where `store` is the host seam every produced artifact is handed
|
|
209
|
+
* to and `video` holds the recording options. Named kinds are required; the
|
|
210
|
+
* default set (screenshot and trace) is best-effort; `--video` adds video as
|
|
211
|
+
* a required kind on top of either. A store is a live value validated
|
|
212
|
+
* structurally, like `cache.store`.
|
|
217
213
|
*/
|
|
218
|
-
function resolveArtifactsConfig(raw) {
|
|
214
|
+
function resolveArtifactsConfig(raw, cli) {
|
|
219
215
|
const value = raw.artifacts;
|
|
220
216
|
let kinds = value;
|
|
221
217
|
let store;
|
|
218
|
+
let video;
|
|
222
219
|
if (value !== undefined && !Array.isArray(value)) {
|
|
223
220
|
if (!isArtifactsObject(value)) {
|
|
224
|
-
throw new ConfigurationError('INVALID_CONFIG', 'artifacts must be an array of artifact kinds or { kinds, store }');
|
|
221
|
+
throw new ConfigurationError('INVALID_CONFIG', 'artifacts must be an array of artifact kinds or { kinds, store, video }');
|
|
225
222
|
}
|
|
226
223
|
for (const key of Object.keys(value)) {
|
|
227
224
|
if (!ARTIFACTS_KEYS.has(key)) {
|
|
@@ -230,12 +227,12 @@ function resolveArtifactsConfig(raw) {
|
|
|
230
227
|
}
|
|
231
228
|
kinds = value.kinds;
|
|
232
229
|
store = value.store;
|
|
230
|
+
video = value.video;
|
|
233
231
|
if (store !== undefined && !isArtifactStore(store)) {
|
|
234
232
|
throw new ConfigurationError('INVALID_CONFIG', 'artifacts.store must implement ArtifactStore: { put(artifact) }');
|
|
235
233
|
}
|
|
236
234
|
}
|
|
237
|
-
const
|
|
238
|
-
const resolved = (kinds ?? ARTIFACT_KINDS);
|
|
235
|
+
const resolved = (kinds ?? DEFAULT_ARTIFACT_KINDS);
|
|
239
236
|
if (!Array.isArray(resolved)) {
|
|
240
237
|
throw new ConfigurationError('INVALID_CONFIG', 'artifacts kinds must be an array of artifact kinds');
|
|
241
238
|
}
|
|
@@ -244,16 +241,83 @@ function resolveArtifactsConfig(raw) {
|
|
|
244
241
|
throw new ConfigurationError('INVALID_CONFIG', `unknown artifact kind "${String(artifact)}"`);
|
|
245
242
|
}
|
|
246
243
|
}
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
244
|
+
// Video is never in the default set, so its presence is always a request,
|
|
245
|
+
// whether the config named it or `--video` added it. Copied, never pushed:
|
|
246
|
+
// `resolved` may be the default constant or the caller's own array.
|
|
247
|
+
const policy = kinds === undefined ? 'best-effort' : 'required';
|
|
248
|
+
const artifacts = new Map(resolved.map((kind) => [kind, policy]));
|
|
249
|
+
if (cli.video === true)
|
|
250
|
+
artifacts.set('video', 'required');
|
|
251
|
+
return { artifacts, artifactStore: store, videoRetain: resolveVideoRetain(video) };
|
|
252
|
+
}
|
|
253
|
+
/** Validates the `artifacts.video` block; absent means every attempt keeps its recording. */
|
|
254
|
+
function resolveVideoRetain(value) {
|
|
255
|
+
if (value === undefined)
|
|
256
|
+
return 'all';
|
|
257
|
+
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
258
|
+
throw new ConfigurationError('INVALID_CONFIG', 'artifacts.video must be an object');
|
|
259
|
+
}
|
|
260
|
+
for (const key of Object.keys(value)) {
|
|
261
|
+
if (!VIDEO_KEYS.has(key)) {
|
|
262
|
+
throw new ConfigurationError('INVALID_CONFIG', `unknown artifacts.video config key "${key}"${didYouMean(key, [...VIDEO_KEYS])}`);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
const retain = value.retain;
|
|
266
|
+
if (retain === undefined)
|
|
267
|
+
return 'all';
|
|
268
|
+
if (!VIDEO_RETAIN_VALUES.includes(retain)) {
|
|
269
|
+
throw new ConfigurationError('INVALID_CONFIG', `artifacts.video.retain must be one of ${VIDEO_RETAIN_VALUES.join(', ')}, got ${JSON.stringify(retain)}`);
|
|
270
|
+
}
|
|
271
|
+
return retain;
|
|
252
272
|
}
|
|
253
273
|
/** The `{ kinds, store }` form, as opposed to the bare kinds array. */
|
|
254
274
|
function isArtifactsObject(value) {
|
|
255
275
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
256
276
|
}
|
|
277
|
+
const BUILTIN_REPORTERS = ['list', 'json', 'junit'];
|
|
278
|
+
/**
|
|
279
|
+
* Splits `reporters` into the built-in ids and the reporter objects.
|
|
280
|
+
* `--reporter` replaces the ids only: an object has no id to name on the
|
|
281
|
+
* command line, so a CI flag choosing `list,junit` never drops the upload a
|
|
282
|
+
* config asked for.
|
|
283
|
+
*/
|
|
284
|
+
function resolveReporters(raw, cli) {
|
|
285
|
+
const configured = raw.reporters ?? ['list'];
|
|
286
|
+
if (!Array.isArray(configured)) {
|
|
287
|
+
throw new ConfigurationError('INVALID_CONFIG', 'reporters must be an array of reporter ids and reporter objects');
|
|
288
|
+
}
|
|
289
|
+
const ids = [];
|
|
290
|
+
const customReporters = [];
|
|
291
|
+
for (const reporter of configured) {
|
|
292
|
+
if (typeof reporter === 'string') {
|
|
293
|
+
if (!BUILTIN_REPORTERS.includes(reporter)) {
|
|
294
|
+
throw new ConfigurationError('INVALID_CONFIG', `unknown reporter "${reporter}"; reporters are list, json, and junit${didYouMean(reporter, BUILTIN_REPORTERS)}`);
|
|
295
|
+
}
|
|
296
|
+
ids.push(reporter);
|
|
297
|
+
}
|
|
298
|
+
else if (isReporter(reporter)) {
|
|
299
|
+
customReporters.push(reporter);
|
|
300
|
+
}
|
|
301
|
+
else {
|
|
302
|
+
throw new ConfigurationError('INVALID_CONFIG', 'a reporter is a built-in id (list, json, junit) or an object with a name and an onEvent or onRunFinished method');
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
const reporters = cli.reporters ?? ids;
|
|
306
|
+
if (reporters.includes('json') && reporters.includes('list')) {
|
|
307
|
+
throw new ConfigurationError('INVALID_CONFIG', 'the json renderer cannot be combined with list');
|
|
308
|
+
}
|
|
309
|
+
return { reporters, customReporters };
|
|
310
|
+
}
|
|
311
|
+
/** Structural reporter check: a non-empty name and at least one handler, each a function when present. */
|
|
312
|
+
function isReporter(value) {
|
|
313
|
+
if (typeof value !== 'object' || value === null)
|
|
314
|
+
return false;
|
|
315
|
+
const { name, onEvent, onRunFinished } = value;
|
|
316
|
+
if (typeof name !== 'string' || name.length === 0)
|
|
317
|
+
return false;
|
|
318
|
+
const optionalFunction = (handler) => handler === undefined || typeof handler === 'function';
|
|
319
|
+
return optionalFunction(onEvent) && optionalFunction(onRunFinished) && (onEvent ?? onRunFinished) !== undefined;
|
|
320
|
+
}
|
|
257
321
|
function isArtifactStore(value) {
|
|
258
322
|
return (typeof value === 'object' &&
|
|
259
323
|
value !== null &&
|
|
@@ -271,44 +335,73 @@ function isTraceCacheStore(value) {
|
|
|
271
335
|
function resolveTargets(raw, projectRoot) {
|
|
272
336
|
if (raw.targets === undefined) {
|
|
273
337
|
throw new ConfigurationError('INVALID_CONFIG', 'targets is required: declare at least one target and the engine that drives it, ' +
|
|
274
|
-
'e.g. targets: [{
|
|
338
|
+
'e.g. targets: [{ engine }]');
|
|
275
339
|
}
|
|
276
340
|
if (!Array.isArray(raw.targets) || raw.targets.length === 0) {
|
|
277
341
|
throw new ConfigurationError('INVALID_CONFIG', 'targets must be a non-empty array');
|
|
278
342
|
}
|
|
279
343
|
const seen = new Set();
|
|
344
|
+
const defaulted = new Set();
|
|
280
345
|
return raw.targets.map((target, index) => {
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
}
|
|
284
|
-
if (seen.has(target.name)) {
|
|
285
|
-
throw new ConfigurationError('INVALID_CONFIG', `duplicate target name "${target.name}"`);
|
|
286
|
-
}
|
|
287
|
-
seen.add(target.name);
|
|
346
|
+
// Errors raised before the name settles point at the entry itself.
|
|
347
|
+
const where = typeof target.name === 'string' ? `target "${target.name}"` : `targets[${index}]`;
|
|
288
348
|
for (const key of Object.keys(target)) {
|
|
289
349
|
if (!TARGET_KEYS.has(key)) {
|
|
290
350
|
const hint = FOREIGN_TARGET_KEYS.has(key)
|
|
291
351
|
? `; ${APP_BELONGS_TO_ENGINE}`
|
|
292
352
|
: didYouMean(key, [...TARGET_KEYS]);
|
|
293
|
-
throw new ConfigurationError('INVALID_CONFIG',
|
|
353
|
+
throw new ConfigurationError('INVALID_CONFIG', `${where} has unknown key "${key}"; a target is { name?, platform?, engine? }${hint}`);
|
|
294
354
|
}
|
|
295
355
|
}
|
|
296
|
-
if (typeof target.platform !== 'string' || target.platform.trim() === '') {
|
|
297
|
-
throw new ConfigurationError('INVALID_CONFIG', `target "${target.name}" requires a non-empty platform`);
|
|
298
|
-
}
|
|
299
356
|
if (target.engine !== undefined && !isEngineHandle(target.engine)) {
|
|
300
357
|
const got = typeof target.engine === 'string' ? `the string ${JSON.stringify(target.engine)}` : `a ${typeof target.engine}`;
|
|
301
|
-
throw new ConfigurationError('INVALID_CONFIG',
|
|
358
|
+
throw new ConfigurationError('INVALID_CONFIG', `${where} engine must be an engine handle, got ${got}; call the engine's factory: playwright({ url }) from @e2edev/playwright, agentDevice({ platform, app }) from @e2edev/agent-device, or your own defineEngine(...)`);
|
|
359
|
+
}
|
|
360
|
+
const platform = resolvePlatform(target, where);
|
|
361
|
+
const name = target.name === undefined ? platform : target.name;
|
|
362
|
+
if (typeof name !== 'string' || !TARGET_NAME_PATTERN.test(name)) {
|
|
363
|
+
const source = target.name === undefined ? ' (defaulted from the platform)' : '';
|
|
364
|
+
throw new ConfigurationError('INVALID_CONFIG', `invalid target name ${JSON.stringify(name)}${source}; target names are limited to ASCII letters, numbers, "_", "-", and "."`);
|
|
302
365
|
}
|
|
366
|
+
if (seen.has(name)) {
|
|
367
|
+
const hint = target.name === undefined || defaulted.has(name)
|
|
368
|
+
? '; a target without a name is named after its platform, so name one of them'
|
|
369
|
+
: '';
|
|
370
|
+
throw new ConfigurationError('INVALID_CONFIG', `duplicate target name "${name}"${hint}`);
|
|
371
|
+
}
|
|
372
|
+
seen.add(name);
|
|
373
|
+
if (target.name === undefined)
|
|
374
|
+
defaulted.add(name);
|
|
303
375
|
return {
|
|
304
|
-
name
|
|
376
|
+
name,
|
|
305
377
|
index,
|
|
306
|
-
platform
|
|
378
|
+
platform,
|
|
307
379
|
engine: target.engine,
|
|
308
|
-
app: resolveTargetApp(
|
|
380
|
+
app: resolveTargetApp(name, target.engine, projectRoot),
|
|
309
381
|
};
|
|
310
382
|
});
|
|
311
383
|
}
|
|
384
|
+
/**
|
|
385
|
+
* The target's platform: its own label, else the engine's declaration. Tool
|
|
386
|
+
* packs are offered by the engine's platform while tests filter by the
|
|
387
|
+
* target's, so a target that names one while its engine declares another is a
|
|
388
|
+
* mistake, not an override.
|
|
389
|
+
*/
|
|
390
|
+
function resolvePlatform(target, where) {
|
|
391
|
+
const declared = target.platform;
|
|
392
|
+
if (declared !== undefined && (typeof declared !== 'string' || declared.trim() === '')) {
|
|
393
|
+
throw new ConfigurationError('INVALID_CONFIG', `${where} platform must be a non-empty string`);
|
|
394
|
+
}
|
|
395
|
+
const inherited = target.engine?.platform;
|
|
396
|
+
if (declared !== undefined && inherited !== undefined && declared !== inherited) {
|
|
397
|
+
throw new ConfigurationError('INVALID_CONFIG', `${where} declares platform "${declared}" but its engine ${target.engine?.name} drives "${inherited}"; drop the target's platform or make them agree`);
|
|
398
|
+
}
|
|
399
|
+
const platform = declared ?? inherited;
|
|
400
|
+
if (platform === undefined) {
|
|
401
|
+
throw new ConfigurationError('INVALID_CONFIG', `${where} needs a platform: ${target.engine === undefined ? 'it has no engine to inherit one from' : `engine ${target.engine.name} declares none`}; set platform on the target`);
|
|
402
|
+
}
|
|
403
|
+
return platform;
|
|
404
|
+
}
|
|
312
405
|
function normalizeTests(tests) {
|
|
313
406
|
const list = tests === undefined ? ['tests/**/*.e2e.ts'] : typeof tests === 'string' ? [tests] : tests;
|
|
314
407
|
if (list.length === 0) {
|
|
@@ -371,14 +464,34 @@ function modelIdentity(model) {
|
|
|
371
464
|
specificationVersion: model.specificationVersion,
|
|
372
465
|
};
|
|
373
466
|
}
|
|
467
|
+
/** The artifact kinds as the digest sees them: no store, no video. */
|
|
468
|
+
function digestedArtifactKinds(artifacts) {
|
|
469
|
+
const kinds = isArtifactsObject(artifacts) ? artifacts.kinds : artifacts;
|
|
470
|
+
return (kinds ?? [...DEFAULT_ARTIFACT_KINDS]).filter((kind) => kind !== 'video');
|
|
471
|
+
}
|
|
374
472
|
function computeConfigDigest(raw, projectId) {
|
|
375
473
|
// `agent` may be the executor itself; its digest identity is name/version,
|
|
376
474
|
// which is exactly what survives the function-stripping JSON clone below.
|
|
377
475
|
// Every model slot is reduced to its identity: a live instance carries
|
|
378
476
|
// provider settings (and possibly credentials) that must never be digested.
|
|
477
|
+
// Live values are reduced before the clone, not after: a store or a
|
|
478
|
+
// reporter may hold a client whose object graph JSON cannot serialize.
|
|
479
|
+
//
|
|
480
|
+
// An artifact store is a live value: only the kinds are configuration, so
|
|
481
|
+
// the array and object forms digest identically and a host store never
|
|
482
|
+
// enters the digest. Nor does video: recording a run must never invalidate
|
|
483
|
+
// the traces it would otherwise replay, so the digest reads the same kinds
|
|
484
|
+
// with or without it and ignores the `video` options block. A reporter
|
|
485
|
+
// object changes nothing about what a run records, so it never enters the
|
|
486
|
+
// digest either; the built-in ids digest as they always have, so adding a
|
|
487
|
+
// reporter to a config leaves its cache valid.
|
|
379
488
|
const rawAgent = raw.agent;
|
|
380
489
|
const forClone = {
|
|
381
490
|
...raw,
|
|
491
|
+
...(raw.artifacts === undefined ? {} : { artifacts: digestedArtifactKinds(raw.artifacts) }),
|
|
492
|
+
...(Array.isArray(raw.reporters)
|
|
493
|
+
? { reporters: raw.reporters.filter((reporter) => typeof reporter === 'string') }
|
|
494
|
+
: {}),
|
|
382
495
|
...(rawAgent === undefined || isStepExecutor(rawAgent)
|
|
383
496
|
? {}
|
|
384
497
|
: {
|
|
@@ -395,12 +508,6 @@ function computeConfigDigest(raw, projectId) {
|
|
|
395
508
|
...structuredCloneJsonSafe(forClone),
|
|
396
509
|
projectId,
|
|
397
510
|
};
|
|
398
|
-
// An artifact store is a live value: only the kinds are configuration, so
|
|
399
|
-
// the array and object forms digest identically and a host store never
|
|
400
|
-
// enters the digest.
|
|
401
|
-
if (isArtifactsObject(raw.artifacts)) {
|
|
402
|
-
sanitized['artifacts'] = raw.artifacts.kinds ?? [...ARTIFACT_KINDS];
|
|
403
|
-
}
|
|
404
511
|
if (raw.credentials !== undefined) {
|
|
405
512
|
sanitized['credentials'] = Object.fromEntries(Object.entries(raw.credentials).map(([name, credential]) => [
|
|
406
513
|
name,
|
|
@@ -416,8 +523,10 @@ function computeConfigDigest(raw, projectId) {
|
|
|
416
523
|
if (raw.targets !== undefined) {
|
|
417
524
|
sanitized['targets'] = raw.targets.map((target) => {
|
|
418
525
|
// An engine handle holds live functions; its digest identity is the
|
|
419
|
-
// declaration - name, version, contract version,
|
|
420
|
-
//
|
|
526
|
+
// declaration - name, version, contract version, the platform it
|
|
527
|
+
// drives (a named target inherits it, so two workers whose engines
|
|
528
|
+
// declare different platforms must not agree on the digest), capability
|
|
529
|
+
// set, and what it declares about the app under test.
|
|
421
530
|
if (isEngineHandle(target.engine)) {
|
|
422
531
|
const { engine, ...rest } = target;
|
|
423
532
|
return {
|
|
@@ -426,6 +535,8 @@ function computeConfigDigest(raw, projectId) {
|
|
|
426
535
|
name: engine.name,
|
|
427
536
|
...(engine.version === undefined ? {} : { version: engine.version }),
|
|
428
537
|
spiVersion: engine.spiVersion,
|
|
538
|
+
...(engine.platform === undefined ? {} : { platform: engine.platform }),
|
|
539
|
+
...(engine.workers === undefined ? {} : { workers: engine.workers }),
|
|
429
540
|
capabilities: [...engine.capabilities].toSorted(),
|
|
430
541
|
app: digestAppDeclaration(engine.app ?? {}),
|
|
431
542
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"AAAA,mDAAmD;AAEnD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAWxD,OAAO,EAAE,cAAc,EAAqB,MAAM,oBAAoB,CAAC;AACvE,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,aAAa,GAGd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAoB,MAAM,UAAU,CAAC;AA8EpF,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AAEhD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE5D,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,aAAa;IACb,WAAW;IACX,SAAS;IACT,OAAO;IACP,SAAS;IACT,eAAe;IACf,eAAe;IACf,kBAAkB;IAClB,gBAAgB;IAChB,SAAS;IACT,SAAS;IACT,WAAW;IACX,WAAW;IACX,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,aAAa;CACd,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AACrD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;AAEhE,MAAM,qBAAqB,GACzB,sIAAsI,CAAC;AAEzI,mFAAmF;AACnF,MAAM,sBAAsB,GAAqC;IAC/D,OAAO,EAAE,sEAAsE;IAC/E,SAAS,EAAE,sEAAsE;IACjF,GAAG,EAAE,qBAAqB;IAC1B,GAAG,EAAE,qBAAqB;IAC1B,OAAO,EAAE,qBAAqB;IAC9B,OAAO,EAAE,qBAAqB;IAC9B,SAAS,EAAE,uGAAuG;IAClH,GAAG,EAAE,yEAAyE;IAC9E,QAAQ,EAAE,yEAAyE;CACpF,CAAC;AAEF,8DAA8D;AAC9D,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC;IACvD,KAAK;IACL,KAAK;IACL,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,SAAS;IACT,QAAQ;CACT,CAAC,CAAC;AAEH,oFAAoF;AACpF,SAAS,sBAAsB,CAAC,GAAW;IACzC,MAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAC5C,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;AACvF,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,QAAQ,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG;IAC3D,OAAO,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,aAAa,CAC3B,GAAc,EACd,OAKC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC;IAC9B,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAEzB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,kBAAkB,CAAC,gBAAgB,EAAE,0BAA0B,CAAC,CAAC;IAC7E,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,kBAAkB,CAC1B,gBAAgB,EAChB,uBAAuB,GAAG,IAAI,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAC5D,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,GAAG,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;QAC/D,MAAM,IAAI,kBAAkB,CAC1B,gBAAgB,EAChB,2BAA2B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,8BAA8B,CACzF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAExC,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,OAAO,CAAC;IAC/E,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,aAAa,EAAE,eAAe,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC;IAChG,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,aAAa,EAAE,eAAe,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC;IAChG,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,cAAc,CAAC,IAAI,KAAK,CAAC;IACxG,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE,gBAAgB,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC;IAEnG,wEAAwE;IACxE,mEAAmE;IACnE,MAAM,OAAO,GACX,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACf,MAAM,OAAO,GACX,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,CAAC;QAC7C,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC;QAC3C,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACpF,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,IAAK,CAAC,MAAM,CAAW,CAAC;IACxE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,kBAAkB,CAAC,gBAAgB,EAAE,4CAA4C,CAAC,CAAC;IAC/F,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,kBAAkB,CAC1B,gBAAgB,EAChB,qBAAqB,QAAQ,yCAAyC,UAAU,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CACxH,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,kBAAkB,CAC1B,gBAAgB,EAChB,gDAAgD,CACjD,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,EAAE,eAAe,IAAI,aAAa,CAAC;IACrE,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjD,2EAA2E;IAC3E,qEAAqE;IACrE,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAmB,EAAE,GAAG,UAAU,EAAE,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAAE,CAAC;IACjG,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAE1E,MAAM,QAAQ,GAAmB;QAC/B,WAAW,EAAE,KAAK;QAClB,SAAS;QACT,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,EAAE;QACF,OAAO;QACP,KAAK;QACL,OAAO;QACP,aAAa;QACb,aAAa;QACb,gBAAgB;QAChB,cAAc;QACd,OAAO;QACP,OAAO;QACP,SAAS;QACT,iBAAiB;QACjB,aAAa;QACb,SAAS;QACT,eAAe;QACf,KAAK;QACL,KAAK;QACL,MAAM;QACN,WAAW;QACX,YAAY,EAAE,mBAAmB,CAAC,GAAG,EAAE,SAAS,CAAC;KAClD,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,kBAAkB,CACzB,GAAc,EACd,EAAW,EACX,WAAmB,EACnB,OAA8B;IAE9B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IACxB,IAAI,IAAI,GAAc,YAAY,CAAC;IACnC,+EAA+E;IAC/E,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,KAAkC,CAAC;IACvC,IAAI,GAAuB,CAAC;IAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,GAAG,KAAK,CAAC;QACb,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;SAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,kBAAkB,CAC1B,gBAAgB,EAChB,sEAAsE,CACvE,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,kBAAkB,CAC1B,gBAAgB,EAChB,6BAA6B,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CACvE,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,YAAY,CAAC;QAClC,QAAQ,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC;QACpC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACpB,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,kBAAkB,CAC1B,gBAAgB,EAChB,kGAAkG,CACnG,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC7D,MAAM,IAAI,kBAAkB,CAAC,gBAAgB,EAAE,oCAAoC,CAAC,CAAC;YACvF,CAAC;YACD,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QAClB,CAAC;IACH,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,kBAAkB,CAC1B,gBAAgB,EAChB,+DAA+D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CACtF,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,KAAK,SAAS;QAAE,IAAI,GAAG,OAAO,CAAC;IAC1C,IAAI,EAAE,IAAI,IAAI,KAAK,YAAY,IAAI,CAAC,QAAQ,IAAI,KAAK,KAAK,SAAS;QAAE,IAAI,GAAG,WAAW,CAAC;IACxF,OAAO;QACL,IAAI;QACJ,KAAK;QACL,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClE,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,YAAY,EAAE,OAAO,CAAU,CAAC;AACxD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAEnD;;;;;GAKG;AACH,SAAS,sBAAsB,CAAC,GAAc;IAK5C,MAAM,KAAK,GAAY,GAAG,CAAC,SAAS,CAAC;IACrC,IAAI,KAAK,GAAY,KAAK,CAAC;IAC3B,IAAI,KAAgC,CAAC;IACrC,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,kBAAkB,CAC1B,gBAAgB,EAChB,kEAAkE,CACnE,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,kBAAkB,CAC1B,gBAAgB,EAChB,iCAAiC,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAC/E,CAAC;YACJ,CAAC;QACH,CAAC;QACD,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACpB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACpB,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,kBAAkB,CAC1B,gBAAgB,EAChB,iEAAiE,CAClE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,KAAK,SAAS,CAAC;IACrC,MAAM,QAAQ,GAAG,CAAC,KAAK,IAAI,cAAc,CAAuB,CAAC;IACjE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,kBAAkB,CAAC,gBAAgB,EAAE,oDAAoD,CAAC,CAAC;IACvG,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAE,cAAqC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,kBAAkB,CAAC,gBAAgB,EAAE,0BAA0B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IACD,OAAO;QACL,SAAS,EAAE,QAA+C;QAC1D,iBAAiB,EAAE,QAAQ;QAC3B,aAAa,EAAE,KAAK;KACrB,CAAC;AACJ,CAAC;AAED,uEAAuE;AACvE,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAQ,KAA2B,CAAC,GAAG,KAAK,UAAU,CACvD,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,SAAS,GAAG,KAAgC,CAAC;IACnD,OAAO,CACL,OAAO,SAAS,CAAC,UAAU,CAAC,KAAK,SAAS;QAC1C,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,UAAU;QACvC,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,UAAU,CACzC,CAAC;AACJ,CAAC;AAGD,SAAS,cAAc,CAAC,GAAc,EAAE,WAAmB;IACzD,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,kBAAkB,CAC1B,gBAAgB,EAChB,kFAAkF;YAChF,4CAA4C,CAC/C,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,kBAAkB,CAAC,gBAAgB,EAAE,mCAAmC,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACvC,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,kBAAkB,CAC1B,gBAAgB,EAChB,oFAAoF,CACrF,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,kBAAkB,CAAC,gBAAgB,EAAE,0BAA0B,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC;oBACvC,CAAC,CAAC,KAAK,qBAAqB,EAAE;oBAC9B,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;gBACtC,MAAM,IAAI,kBAAkB,CAC1B,gBAAgB,EAChB,WAAW,MAAM,CAAC,IAAI,sBAAsB,GAAG,6CAA6C,IAAI,EAAE,CACnG,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACzE,MAAM,IAAI,kBAAkB,CAC1B,gBAAgB,EAChB,WAAW,MAAM,CAAC,IAAI,iCAAiC,CACxD,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAClE,MAAM,GAAG,GAAG,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5H,MAAM,IAAI,kBAAkB,CAC1B,gBAAgB,EAChB,WAAW,MAAM,CAAC,IAAI,0CAA0C,GAAG,mKAAmK,CACvO,CAAC;QACJ,CAAC;QACD,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK;YACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,EAAE,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;SAC/D,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,KAAyB;IAC/C,MAAM,IAAI,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACvG,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,kBAAkB,CAAC,gBAAgB,EAAE,yBAAyB,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,gBAAgB,CAAC,QAA4B,EAAE,WAAmB;IACzE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACnD,MAAM,IAAI,kBAAkB,CAAC,gBAAgB,EAAE,4CAA4C,CAAC,CAAC;QAC/F,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAC/D,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAuB,CAAC;YACvF,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,MAAM,CAAC,IAAI,CAAC;QACpF,CAAC;QAAC,MAAM,CAAC;YACP,kCAAkC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,cAAc,SAAS,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED,SAAS,kBAAkB,CACzB,GAAc,EACd,GAAsB;IAEtB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAC;IACvD,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;QACvE,MAAM,SAAS,GAAG,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC;QACjF,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,SAAS,WAAW,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC;QACrE,uEAAuE;QACvE,qEAAqE;QACrE,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,SAAS,WAAW,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC;QACrE,IAAI,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,UAAU,CAAC,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;YACxF,MAAM,IAAI,kBAAkB,CAC1B,gBAAgB,EAChB,eAAe,IAAI,8DAA8D,CAClF,CAAC;QACJ,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE;YACjB,IAAI;YACJ,QAAQ;YACR,QAAQ;YACR,cAAc,EAAE,UAAU,CAAC,cAAc;SAC1C,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,2DAA2D;AAC3D,SAAS,aAAa,CAAC,KAAoB;IACzC,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;KACjD,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAc,EAAE,SAAiB;IAC5D,2EAA2E;IAC3E,0EAA0E;IAC1E,uEAAuE;IACvE,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;IAC3B,MAAM,QAAQ,GAA4B;QACxC,GAAG,GAAG;QACN,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,cAAc,CAAC,QAAQ,CAAC;YACpD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,KAAK,EAAE;oBACL,GAAG,QAAQ;oBACX,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpF,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC;wBACvC,CAAC,CAAC,EAAE,WAAW,EAAE,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;wBACtD,CAAC,CAAC,EAAE,CAAC;iBACR;aACF,CAAC;KACP,CAAC;IACF,MAAM,SAAS,GAA4B;QACzC,GAAI,uBAAuB,CAAC,QAAQ,CAA6B;QACjE,SAAS;KACV,CAAC;IACF,0EAA0E;IAC1E,uEAAuE;IACvE,qBAAqB;IACrB,IAAI,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACrC,SAAS,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAClC,SAAS,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,WAAW,CAC3C,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC;YAC1D,IAAI;YACJ;gBACE,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;gBAC9B,GAAG,CAAC,UAAU,CAAC,cAAc,KAAK,SAAS;oBACzC,CAAC,CAAC,EAAE,cAAc,EAAE,UAAU,CAAC,cAAc,EAAE;oBAC/C,CAAC,CAAC,EAAE,CAAC;aACR;SACF,CAAC,CACH,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9B,SAAS,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAChD,oEAAoE;YACpE,qEAAqE;YACrE,6CAA6C;YAC7C,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;gBACnC,OAAO;oBACL,GAAG,IAAI;oBACP,MAAM,EAAE;wBACN,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;wBACpE,UAAU,EAAE,MAAM,CAAC,UAAU;wBAC7B,YAAY,EAAE,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE;wBACjD,GAAG,EAAE,oBAAoB,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;qBAC5C;iBACF,CAAC;YACJ,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,OAAO,IAAI,CAAC,KAAK,CACf,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAa,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7F,MAAM,CACT,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,7 +34,12 @@ export interface SemanticQuery {
|
|
|
34
34
|
readonly kind: QueryKind;
|
|
35
35
|
readonly value: TextPattern;
|
|
36
36
|
readonly name?: TextPattern;
|
|
37
|
-
|
|
37
|
+
/**
|
|
38
|
+
* States a role query requires. A role query never matches a node whose
|
|
39
|
+
* `states.hidden` is true, as a browser's role selector never does; there is
|
|
40
|
+
* no state that widens it to hidden nodes.
|
|
41
|
+
*/
|
|
42
|
+
readonly states?: Readonly<Partial<Record<'checked' | 'disabled' | 'selected' | 'expanded', boolean>>>;
|
|
38
43
|
/**
|
|
39
44
|
* When true, an engine MUST exclude every match whose `states.hidden` would
|
|
40
45
|
* be true, using the same predicate its `SemanticNode` reports, so that the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/engine/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3E,sDAAsD;AACtD,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,MAAM,MAAM,gBAAgB,GAAG,OAAO,kBAAkB,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,uDAAuD;IACvD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC5E;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjF,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,aAAa,GAAG,MAAM,GAAG,cAAc,GAAG,QAAQ,CAAC;AAE9F,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CACxB,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/engine/contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/engine/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,sDAAsD;AACtD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/engine/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,sDAAsD;AACtD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AA4EpC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAgGvC,8FAA8F;AAC9F,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,YAAY;IACZ,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAChB,2BAA2B;IAC3B,mBAAmB;IACnB,WAAW;IACX,wBAAwB;IACxB,eAAe;IACf,gBAAgB;CACR,CAAC;AAIX;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAiC,IAAI,GAAG,CAAC;IAChF,YAAY;IACZ,iBAAiB;CAClB,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IAC3B,IAAI,CAAkB;IACtB,SAAS,CAAU;IAE5B,YACE,IAAqB,EACrB,OAAe,EACf,OAAgD;QAEhD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACrC,CAAC;CACF"}
|
package/dist/engine/index.d.ts
CHANGED
|
@@ -10,9 +10,11 @@
|
|
|
10
10
|
* model-facing vocabulary is an agent-side `defineTool`; a target with no
|
|
11
11
|
* engine at all is valid and simply runs everything opaque.
|
|
12
12
|
*
|
|
13
|
-
* Core knows this contract and never an engine's internals
|
|
14
|
-
*
|
|
15
|
-
*
|
|
13
|
+
* Core knows this contract and never an engine's internals. The one platform
|
|
14
|
+
* noun here is `platform`, the label an engine declares it drives and its
|
|
15
|
+
* target inherits; no member's shape depends on it. A document engine, a
|
|
16
|
+
* simulator engine, and a desktop engine fill in the same members with
|
|
17
|
+
* different bodies.
|
|
16
18
|
*
|
|
17
19
|
* `defineEngine` is the loud manifest: capability detection happens here,
|
|
18
20
|
* synchronously, at config load - a malformed engine fails the run instead
|
|
@@ -27,7 +29,7 @@ export { raceAbort } from './timing.ts';
|
|
|
27
29
|
export { Deadline, pollCondition, withTimeout, withinCleanupBudget, type PollConditionOptions } from '../internal/time.ts';
|
|
28
30
|
export { urlMatches } from '../internal/urls.ts';
|
|
29
31
|
export { obj, type WithoutUndefined } from '../internal/objects.ts';
|
|
30
|
-
import type { CommandConfig, Expectable, Locator, Momentum, Screen, ScrollDirection, ServiceConfig } from '../types.ts';
|
|
32
|
+
import type { CommandConfig, Expectable, Locator, Momentum, Platform, Screen, ScrollDirection, ServiceConfig } from '../types.ts';
|
|
31
33
|
import { type EngineSpiVersion, type LocatorAction, type LocatorExpression, type NodeRef, type ObservationPixels, type OperationContext, type SemanticNode } from './contract.ts';
|
|
32
34
|
export type * from './contract.ts';
|
|
33
35
|
export { ENGINE_ERROR_CODES, ENGINE_SPI_VERSION, EngineError, OBSERVED_NAME_LIMIT, OBSERVED_TEXT_LIMIT, RETRYABLE_ENGINE_ERROR_CODES, } from './contract.ts';
|
|
@@ -220,6 +222,27 @@ export interface EngineArtifacts {
|
|
|
220
222
|
startTrace?(context: OperationContext): Promise<void>;
|
|
221
223
|
/** Stops the trace and returns its relative path. */
|
|
222
224
|
stopTrace?(context: OperationContext): Promise<string>;
|
|
225
|
+
/**
|
|
226
|
+
* Starts recording the surface for the attempt. Declared together with
|
|
227
|
+
* `stopVideo`. A surface that has nothing to show yet (no page open) may
|
|
228
|
+
* defer the actual capture to the moment it does; the segments returned by
|
|
229
|
+
* `stopVideo` say when each one began.
|
|
230
|
+
*/
|
|
231
|
+
startVideo?(context: OperationContext): Promise<void>;
|
|
232
|
+
/**
|
|
233
|
+
* Stops recording and returns every segment written, in order. One segment
|
|
234
|
+
* is the common case; a surface whose recording is bound to a page returns
|
|
235
|
+
* one per page the attempt showed (a restart or a state reset opens a new
|
|
236
|
+
* one). An attempt that never showed anything returns none.
|
|
237
|
+
*/
|
|
238
|
+
stopVideo?(context: OperationContext): Promise<readonly VideoSegment[]>;
|
|
239
|
+
}
|
|
240
|
+
/** One recorded video file of an attempt. */
|
|
241
|
+
export interface VideoSegment {
|
|
242
|
+
/** Path relative to the attempt artifact directory. */
|
|
243
|
+
readonly path: string;
|
|
244
|
+
/** When the segment started recording, as an ISO timestamp; its first frame is at or just after it. */
|
|
245
|
+
readonly startedAt: string;
|
|
223
246
|
}
|
|
224
247
|
/**
|
|
225
248
|
* The app under test: what the engine declares about it
|
|
@@ -244,9 +267,26 @@ export interface EngineApp extends EngineAppDeclaration {
|
|
|
244
267
|
* Facts handed to `prepare`, once per run and target in the runner process,
|
|
245
268
|
* before any worker exists.
|
|
246
269
|
*/
|
|
270
|
+
/**
|
|
271
|
+
* What `prepare` learned that the run must honour. `workers` replaces the
|
|
272
|
+
* engine's declared cap for this target and run: the surfaces the engine
|
|
273
|
+
* actually provisioned, `1` to `info.slots`. Declared `workers` stays the
|
|
274
|
+
* static answer for engines that know it up front.
|
|
275
|
+
*/
|
|
276
|
+
export interface EnginePrepareResult {
|
|
277
|
+
readonly workers?: number;
|
|
278
|
+
}
|
|
247
279
|
export interface EnginePrepareInfo {
|
|
248
280
|
readonly runId: string;
|
|
249
281
|
readonly targetName: string;
|
|
282
|
+
/**
|
|
283
|
+
* The worker slots the run will start for this target, `0` to `slots - 1`:
|
|
284
|
+
* the run's worker cap, the engine's declared `workers`, and the work units
|
|
285
|
+
* selected for the target, whichever is smallest; `0` when nothing runs on
|
|
286
|
+
* it. Provision for exactly these slots (boot that many devices of a pool);
|
|
287
|
+
* `init` then finds them ready.
|
|
288
|
+
*/
|
|
289
|
+
readonly slots: number;
|
|
250
290
|
/**
|
|
251
291
|
* The run's environment: what every worker is started with. A host may hand
|
|
252
292
|
* the run an environment other than the runner process's own, so anything
|
|
@@ -284,6 +324,13 @@ export interface EngineInitInfo {
|
|
|
284
324
|
readonly testIdAttribute: string;
|
|
285
325
|
/** Whether the run asked for a visible surface (`--headed`). */
|
|
286
326
|
readonly headed: boolean;
|
|
327
|
+
/**
|
|
328
|
+
* This worker's 0-based slot among the target's workers: the lowest slot
|
|
329
|
+
* free when the worker was spawned, so a replacement worker takes over the
|
|
330
|
+
* slot of the one that exited. An engine with several devices hands each
|
|
331
|
+
* slot its own; `config.workers` bounds the slots a target can reach.
|
|
332
|
+
*/
|
|
333
|
+
readonly workerSlot: number;
|
|
287
334
|
/** Aborts on interrupt and when init exceeds the launch timeout; init must stop promptly. */
|
|
288
335
|
readonly signal: AbortSignal;
|
|
289
336
|
}
|
|
@@ -350,6 +397,20 @@ export interface Engine {
|
|
|
350
397
|
* changed required semantics do.
|
|
351
398
|
*/
|
|
352
399
|
readonly spiVersion: EngineSpiVersion;
|
|
400
|
+
/**
|
|
401
|
+
* Platform this engine drives (`web`, `ios`, `android`, or a label of the
|
|
402
|
+
* engine's own). A target inherits it; a target that names a platform of
|
|
403
|
+
* its own must agree with it.
|
|
404
|
+
*/
|
|
405
|
+
readonly platform?: Platform;
|
|
406
|
+
/**
|
|
407
|
+
* The most workers this engine can serve at once for one target: one per
|
|
408
|
+
* surface it drives concurrently (a device pool's size; 1 for a single
|
|
409
|
+
* simulator). The scheduler never runs more workers for the target, whatever
|
|
410
|
+
* `config.workers` allows, so a device target shares a run with browser
|
|
411
|
+
* targets without being over-subscribed. Omit when there is no such bound.
|
|
412
|
+
*/
|
|
413
|
+
readonly workers?: number;
|
|
353
414
|
/** capability: observation. */
|
|
354
415
|
observe?(context: OperationContext, options?: EngineObserveOptions): Promise<EngineSnapshot>;
|
|
355
416
|
/**
|
|
@@ -404,9 +465,11 @@ export interface Engine {
|
|
|
404
465
|
* starts: `plan` is emitted, the report's `startedAt` taken, and the app
|
|
405
466
|
* started only once every target is prepared, so a download is never part
|
|
406
467
|
* of a run's duration. Failure is infrastructure and ends the run before
|
|
407
|
-
* any test executes.
|
|
468
|
+
* any test executes. The result may lower the target's worker cap for this
|
|
469
|
+
* run, for an engine that only learns its capacity here (a device pool
|
|
470
|
+
* discovered from the booted devices).
|
|
408
471
|
*/
|
|
409
|
-
prepare?(info: EnginePrepareInfo): Promise<void>;
|
|
472
|
+
prepare?(info: EnginePrepareInfo): Promise<void | EnginePrepareResult>;
|
|
410
473
|
/**
|
|
411
474
|
* Once per worker, before the first step; boot devices here, not in a step
|
|
412
475
|
* budget. The same handle can be booted again after `dispose`: a config-held
|