@e2edev/e2e 0.7.0 → 0.8.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.
Files changed (195) hide show
  1. package/README.md +8 -3
  2. package/dist/agent/act-validation.d.ts +7 -4
  3. package/dist/agent/act-validation.d.ts.map +1 -1
  4. package/dist/agent/act-validation.js +18 -3
  5. package/dist/agent/act-validation.js.map +1 -1
  6. package/dist/agent/act.d.ts +2 -2
  7. package/dist/agent/act.d.ts.map +1 -1
  8. package/dist/agent/act.js +228 -51
  9. package/dist/agent/act.js.map +1 -1
  10. package/dist/agent/default-agent.d.ts +1 -1
  11. package/dist/agent/default-agent.d.ts.map +1 -1
  12. package/dist/agent/default-agent.js +19 -84
  13. package/dist/agent/default-agent.js.map +1 -1
  14. package/dist/agent/executor.d.ts +7 -0
  15. package/dist/agent/executor.d.ts.map +1 -1
  16. package/dist/agent/executor.js.map +1 -1
  17. package/dist/agent/index.d.ts.map +1 -1
  18. package/dist/agent/index.js +14 -6
  19. package/dist/agent/index.js.map +1 -1
  20. package/dist/agent/invocation.d.ts +1 -8
  21. package/dist/agent/invocation.d.ts.map +1 -1
  22. package/dist/agent/invocation.js +7 -51
  23. package/dist/agent/invocation.js.map +1 -1
  24. package/dist/agent/ledger.d.ts.map +1 -1
  25. package/dist/agent/ledger.js +10 -1
  26. package/dist/agent/ledger.js.map +1 -1
  27. package/dist/agent/loop-guards.d.ts +21 -0
  28. package/dist/agent/loop-guards.d.ts.map +1 -1
  29. package/dist/agent/loop-guards.js +48 -0
  30. package/dist/agent/loop-guards.js.map +1 -1
  31. package/dist/agent/model/sdk.d.ts +18 -0
  32. package/dist/agent/model/sdk.d.ts.map +1 -1
  33. package/dist/agent/model/sdk.js +9 -3
  34. package/dist/agent/model/sdk.js.map +1 -1
  35. package/dist/agent/observation-budget.d.ts +27 -0
  36. package/dist/agent/observation-budget.d.ts.map +1 -0
  37. package/dist/agent/observation-budget.js +43 -0
  38. package/dist/agent/observation-budget.js.map +1 -0
  39. package/dist/agent/observation.d.ts +40 -7
  40. package/dist/agent/observation.d.ts.map +1 -1
  41. package/dist/agent/observation.js +56 -11
  42. package/dist/agent/observation.js.map +1 -1
  43. package/dist/agent/phases.d.ts +1 -1
  44. package/dist/agent/phases.d.ts.map +1 -1
  45. package/dist/agent/phases.js +11 -13
  46. package/dist/agent/phases.js.map +1 -1
  47. package/dist/agent/primitives.d.ts +14 -2
  48. package/dist/agent/primitives.d.ts.map +1 -1
  49. package/dist/agent/primitives.js +98 -54
  50. package/dist/agent/primitives.js.map +1 -1
  51. package/dist/agent/screen-update.d.ts +47 -0
  52. package/dist/agent/screen-update.d.ts.map +1 -0
  53. package/dist/agent/screen-update.js +222 -0
  54. package/dist/agent/screen-update.js.map +1 -0
  55. package/dist/agent/step-cache.d.ts +38 -10
  56. package/dist/agent/step-cache.d.ts.map +1 -1
  57. package/dist/agent/step-cache.js +86 -45
  58. package/dist/agent/step-cache.js.map +1 -1
  59. package/dist/agent/tool-loop.d.ts.map +1 -1
  60. package/dist/agent/tool-loop.js +27 -4
  61. package/dist/agent/tool-loop.js.map +1 -1
  62. package/dist/cache/decide.d.ts +4 -3
  63. package/dist/cache/decide.d.ts.map +1 -1
  64. package/dist/cache/decide.js.map +1 -1
  65. package/dist/cli/index.d.ts.map +1 -1
  66. package/dist/cli/index.js +2 -0
  67. package/dist/cli/index.js.map +1 -1
  68. package/dist/cli/init/engines.d.ts +2 -3
  69. package/dist/cli/init/engines.d.ts.map +1 -1
  70. package/dist/cli/init/engines.js +3 -4
  71. package/dist/cli/init/engines.js.map +1 -1
  72. package/dist/cli/signals.d.ts +3 -3
  73. package/dist/cli/signals.js +3 -3
  74. package/dist/config/agent.d.ts +6 -2
  75. package/dist/config/agent.d.ts.map +1 -1
  76. package/dist/config/agent.js +6 -2
  77. package/dist/config/agent.js.map +1 -1
  78. package/dist/config/load.d.ts +2 -2
  79. package/dist/config/load.js +2 -2
  80. package/dist/config/resolve.d.ts +16 -4
  81. package/dist/config/resolve.d.ts.map +1 -1
  82. package/dist/config/resolve.js +105 -39
  83. package/dist/config/resolve.js.map +1 -1
  84. package/dist/engine/contract.d.ts +6 -1
  85. package/dist/engine/contract.d.ts.map +1 -1
  86. package/dist/engine/contract.js.map +1 -1
  87. package/dist/engine/index.d.ts +56 -4
  88. package/dist/engine/index.d.ts.map +1 -1
  89. package/dist/engine/index.js +25 -5
  90. package/dist/engine/index.js.map +1 -1
  91. package/dist/engine/session.d.ts.map +1 -1
  92. package/dist/engine/session.js +6 -0
  93. package/dist/engine/session.js.map +1 -1
  94. package/dist/engine/surface.d.ts +6 -2
  95. package/dist/engine/surface.d.ts.map +1 -1
  96. package/dist/internal/options.d.ts +9 -0
  97. package/dist/internal/options.d.ts.map +1 -0
  98. package/dist/internal/options.js +27 -0
  99. package/dist/internal/options.js.map +1 -0
  100. package/dist/locator/expression.js +1 -1
  101. package/dist/locator/expression.js.map +1 -1
  102. package/dist/locator/screen.d.ts.map +1 -1
  103. package/dist/locator/screen.js +4 -2
  104. package/dist/locator/screen.js.map +1 -1
  105. package/dist/report/build.d.ts +2 -1
  106. package/dist/report/build.d.ts.map +1 -1
  107. package/dist/report/build.js +2 -0
  108. package/dist/report/build.js.map +1 -1
  109. package/dist/report/list-model.d.ts +8 -5
  110. package/dist/report/list-model.d.ts.map +1 -1
  111. package/dist/report/list.d.ts +12 -2
  112. package/dist/report/list.d.ts.map +1 -1
  113. package/dist/report/list.js +54 -16
  114. package/dist/report/list.js.map +1 -1
  115. package/dist/report/running-tree.d.ts +5 -4
  116. package/dist/report/running-tree.d.ts.map +1 -1
  117. package/dist/report/running-tree.js +8 -7
  118. package/dist/report/running-tree.js.map +1 -1
  119. package/dist/run/artifacts.d.ts.map +1 -1
  120. package/dist/run/artifacts.js +20 -2
  121. package/dist/run/artifacts.js.map +1 -1
  122. package/dist/run/events.d.ts +14 -7
  123. package/dist/run/events.d.ts.map +1 -1
  124. package/dist/run/events.js +7 -7
  125. package/dist/run/events.js.map +1 -1
  126. package/dist/run/execute.d.ts +24 -5
  127. package/dist/run/execute.d.ts.map +1 -1
  128. package/dist/run/execute.js +67 -25
  129. package/dist/run/execute.js.map +1 -1
  130. package/dist/run/fixtures.d.ts +6 -1
  131. package/dist/run/fixtures.d.ts.map +1 -1
  132. package/dist/run/fixtures.js +0 -1
  133. package/dist/run/fixtures.js.map +1 -1
  134. package/dist/run/in-process.d.ts +1 -1
  135. package/dist/run/in-process.d.ts.map +1 -1
  136. package/dist/run/in-process.js +6 -3
  137. package/dist/run/in-process.js.map +1 -1
  138. package/dist/run/records.d.ts +14 -1
  139. package/dist/run/records.d.ts.map +1 -1
  140. package/dist/run/runner.d.ts +13 -5
  141. package/dist/run/runner.d.ts.map +1 -1
  142. package/dist/run/runner.js +58 -52
  143. package/dist/run/runner.js.map +1 -1
  144. package/dist/run/scheduler.d.ts +4 -6
  145. package/dist/run/scheduler.d.ts.map +1 -1
  146. package/dist/run/scheduler.js +50 -23
  147. package/dist/run/scheduler.js.map +1 -1
  148. package/dist/run/serial.d.ts +2 -4
  149. package/dist/run/serial.d.ts.map +1 -1
  150. package/dist/run/serial.js +4 -2
  151. package/dist/run/serial.js.map +1 -1
  152. package/dist/run/steps.d.ts +25 -0
  153. package/dist/run/steps.d.ts.map +1 -1
  154. package/dist/run/steps.js +12 -0
  155. package/dist/run/steps.js.map +1 -1
  156. package/dist/run/unit-runner.d.ts +7 -2
  157. package/dist/run/unit-runner.d.ts.map +1 -1
  158. package/dist/run/units.d.ts +8 -0
  159. package/dist/run/units.d.ts.map +1 -1
  160. package/dist/run/units.js +11 -0
  161. package/dist/run/units.js.map +1 -1
  162. package/dist/run/worker/entry.js +1 -0
  163. package/dist/run/worker/entry.js.map +1 -1
  164. package/dist/run/worker/handle.d.ts +1 -1
  165. package/dist/run/worker/handle.d.ts.map +1 -1
  166. package/dist/run/worker/handle.js +1 -1
  167. package/dist/run/worker/handle.js.map +1 -1
  168. package/dist/run/worker/protocol.d.ts +2 -0
  169. package/dist/run/worker/protocol.d.ts.map +1 -1
  170. package/dist/run/worker/protocol.js.map +1 -1
  171. package/dist/run/worker/session.d.ts +2 -0
  172. package/dist/run/worker/session.d.ts.map +1 -1
  173. package/dist/run/worker/session.js +1 -0
  174. package/dist/run/worker/session.js.map +1 -1
  175. package/dist/telemetry/telemetry.d.ts +2 -3
  176. package/dist/telemetry/telemetry.d.ts.map +1 -1
  177. package/dist/telemetry/telemetry.js +2 -3
  178. package/dist/telemetry/telemetry.js.map +1 -1
  179. package/dist/types.d.ts +103 -35
  180. package/dist/types.d.ts.map +1 -1
  181. package/package.json +2 -6
  182. package/skills/e2e/SKILL.md +0 -2
  183. package/skills/e2e/references/agent.md +20 -12
  184. package/skills/e2e/references/debugging.md +3 -1
  185. package/skills/e2e/references/running.md +4 -3
  186. package/skills/e2e/references/setup.md +11 -9
  187. package/skills/e2e/references/writing-tests.md +6 -5
  188. package/dist/internal/trace.d.ts +0 -18
  189. package/dist/internal/trace.d.ts.map +0 -1
  190. package/dist/internal/trace.js +0 -46
  191. package/dist/internal/trace.js.map +0 -1
  192. package/dist/run/public.d.ts +0 -19
  193. package/dist/run/public.d.ts.map +0 -1
  194. package/dist/run/public.js +0 -11
  195. package/dist/run/public.js.map +0 -1
@@ -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: [{ name, platform, engine }]',
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,7 +100,7 @@ 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, artifactsExplicit, artifactStore } = resolveArtifactsConfig(raw);
103
+ const { artifacts, artifactStore, videoRetain } = resolveArtifactsConfig(raw, cli);
104
104
  const reporters = cli.reporters ?? raw.reporters ?? ['list'];
105
105
  if (!Array.isArray(reporters)) {
106
106
  throw new ConfigurationError('INVALID_CONFIG', 'reporters must be an array of reporter ids');
@@ -138,8 +138,8 @@ export function resolveConfig(raw, options) {
138
138
  retries,
139
139
  workers,
140
140
  artifacts,
141
- artifactsExplicit,
142
141
  artifactStore,
142
+ videoRetain,
143
143
  reporters,
144
144
  testIdAttribute,
145
145
  agent,
@@ -207,21 +207,28 @@ function resolveCacheConfig(raw, ci, projectRoot, cliMode) {
207
207
  dir: path.resolve(projectRoot, dir ?? path.join('.e2e', 'cache')),
208
208
  };
209
209
  }
210
- const ARTIFACT_KINDS = ['screenshot', 'trace'];
211
- const ARTIFACTS_KEYS = new Set(['kinds', 'store']);
210
+ /** The default artifact set. `video` is opt-in and never part of it. */
211
+ const DEFAULT_ARTIFACT_KINDS = ['screenshot', 'trace'];
212
+ const ARTIFACT_KINDS = ['screenshot', 'trace', 'video'];
213
+ const ARTIFACTS_KEYS = new Set(['kinds', 'store', 'video']);
214
+ const VIDEO_KEYS = new Set(['retain']);
215
+ const VIDEO_RETAIN_VALUES = ['all', 'on-failure'];
212
216
  /**
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 to
215
- *. Kinds default to screenshot and trace; a store is a
216
- * live value validated structurally, like `cache.store`.
217
+ * Resolves the `artifacts` key: a bare array of kinds, or `{ kinds, store,
218
+ * video }` where `store` is the host seam every produced artifact is handed
219
+ * to and `video` holds the recording options. Named kinds are required; the
220
+ * default set (screenshot and trace) is best-effort; `--video` adds video as
221
+ * a required kind on top of either. A store is a live value validated
222
+ * structurally, like `cache.store`.
217
223
  */
218
- function resolveArtifactsConfig(raw) {
224
+ function resolveArtifactsConfig(raw, cli) {
219
225
  const value = raw.artifacts;
220
226
  let kinds = value;
221
227
  let store;
228
+ let video;
222
229
  if (value !== undefined && !Array.isArray(value)) {
223
230
  if (!isArtifactsObject(value)) {
224
- throw new ConfigurationError('INVALID_CONFIG', 'artifacts must be an array of artifact kinds or { kinds, store }');
231
+ throw new ConfigurationError('INVALID_CONFIG', 'artifacts must be an array of artifact kinds or { kinds, store, video }');
225
232
  }
226
233
  for (const key of Object.keys(value)) {
227
234
  if (!ARTIFACTS_KEYS.has(key)) {
@@ -230,12 +237,12 @@ function resolveArtifactsConfig(raw) {
230
237
  }
231
238
  kinds = value.kinds;
232
239
  store = value.store;
240
+ video = value.video;
233
241
  if (store !== undefined && !isArtifactStore(store)) {
234
242
  throw new ConfigurationError('INVALID_CONFIG', 'artifacts.store must implement ArtifactStore: { put(artifact) }');
235
243
  }
236
244
  }
237
- const explicit = kinds !== undefined;
238
- const resolved = (kinds ?? ARTIFACT_KINDS);
245
+ const resolved = (kinds ?? DEFAULT_ARTIFACT_KINDS);
239
246
  if (!Array.isArray(resolved)) {
240
247
  throw new ConfigurationError('INVALID_CONFIG', 'artifacts kinds must be an array of artifact kinds');
241
248
  }
@@ -244,11 +251,34 @@ function resolveArtifactsConfig(raw) {
244
251
  throw new ConfigurationError('INVALID_CONFIG', `unknown artifact kind "${String(artifact)}"`);
245
252
  }
246
253
  }
247
- return {
248
- artifacts: resolved,
249
- artifactsExplicit: explicit,
250
- artifactStore: store,
251
- };
254
+ // Video is never in the default set, so its presence is always a request,
255
+ // whether the config named it or `--video` added it. Copied, never pushed:
256
+ // `resolved` may be the default constant or the caller's own array.
257
+ const policy = kinds === undefined ? 'best-effort' : 'required';
258
+ const artifacts = new Map(resolved.map((kind) => [kind, policy]));
259
+ if (cli.video === true)
260
+ artifacts.set('video', 'required');
261
+ return { artifacts, artifactStore: store, videoRetain: resolveVideoRetain(video) };
262
+ }
263
+ /** Validates the `artifacts.video` block; absent means every attempt keeps its recording. */
264
+ function resolveVideoRetain(value) {
265
+ if (value === undefined)
266
+ return 'all';
267
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
268
+ throw new ConfigurationError('INVALID_CONFIG', 'artifacts.video must be an object');
269
+ }
270
+ for (const key of Object.keys(value)) {
271
+ if (!VIDEO_KEYS.has(key)) {
272
+ throw new ConfigurationError('INVALID_CONFIG', `unknown artifacts.video config key "${key}"${didYouMean(key, [...VIDEO_KEYS])}`);
273
+ }
274
+ }
275
+ const retain = value.retain;
276
+ if (retain === undefined)
277
+ return 'all';
278
+ if (!VIDEO_RETAIN_VALUES.includes(retain)) {
279
+ throw new ConfigurationError('INVALID_CONFIG', `artifacts.video.retain must be one of ${VIDEO_RETAIN_VALUES.join(', ')}, got ${JSON.stringify(retain)}`);
280
+ }
281
+ return retain;
252
282
  }
253
283
  /** The `{ kinds, store }` form, as opposed to the bare kinds array. */
254
284
  function isArtifactsObject(value) {
@@ -271,44 +301,73 @@ function isTraceCacheStore(value) {
271
301
  function resolveTargets(raw, projectRoot) {
272
302
  if (raw.targets === undefined) {
273
303
  throw new ConfigurationError('INVALID_CONFIG', 'targets is required: declare at least one target and the engine that drives it, ' +
274
- 'e.g. targets: [{ name, platform, engine }]');
304
+ 'e.g. targets: [{ engine }]');
275
305
  }
276
306
  if (!Array.isArray(raw.targets) || raw.targets.length === 0) {
277
307
  throw new ConfigurationError('INVALID_CONFIG', 'targets must be a non-empty array');
278
308
  }
279
309
  const seen = new Set();
310
+ const defaulted = new Set();
280
311
  return raw.targets.map((target, index) => {
281
- if (typeof target.name !== 'string' || !TARGET_NAME_PATTERN.test(target.name)) {
282
- throw new ConfigurationError('INVALID_CONFIG', `target names are required and limited to ASCII letters, numbers, "_", "-", and "."`);
283
- }
284
- if (seen.has(target.name)) {
285
- throw new ConfigurationError('INVALID_CONFIG', `duplicate target name "${target.name}"`);
286
- }
287
- seen.add(target.name);
312
+ // Errors raised before the name settles point at the entry itself.
313
+ const where = typeof target.name === 'string' ? `target "${target.name}"` : `targets[${index}]`;
288
314
  for (const key of Object.keys(target)) {
289
315
  if (!TARGET_KEYS.has(key)) {
290
316
  const hint = FOREIGN_TARGET_KEYS.has(key)
291
317
  ? `; ${APP_BELONGS_TO_ENGINE}`
292
318
  : didYouMean(key, [...TARGET_KEYS]);
293
- throw new ConfigurationError('INVALID_CONFIG', `target "${target.name}" has unknown key "${key}"; a target is { name, platform, engine? }${hint}`);
319
+ throw new ConfigurationError('INVALID_CONFIG', `${where} has unknown key "${key}"; a target is { name?, platform?, engine? }${hint}`);
294
320
  }
295
321
  }
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
322
  if (target.engine !== undefined && !isEngineHandle(target.engine)) {
300
323
  const got = typeof target.engine === 'string' ? `the string ${JSON.stringify(target.engine)}` : `a ${typeof target.engine}`;
301
- throw new ConfigurationError('INVALID_CONFIG', `target "${target.name}" 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(...)`);
324
+ 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(...)`);
302
325
  }
326
+ const platform = resolvePlatform(target, where);
327
+ const name = target.name === undefined ? platform : target.name;
328
+ if (typeof name !== 'string' || !TARGET_NAME_PATTERN.test(name)) {
329
+ const source = target.name === undefined ? ' (defaulted from the platform)' : '';
330
+ throw new ConfigurationError('INVALID_CONFIG', `invalid target name ${JSON.stringify(name)}${source}; target names are limited to ASCII letters, numbers, "_", "-", and "."`);
331
+ }
332
+ if (seen.has(name)) {
333
+ const hint = target.name === undefined || defaulted.has(name)
334
+ ? '; a target without a name is named after its platform, so name one of them'
335
+ : '';
336
+ throw new ConfigurationError('INVALID_CONFIG', `duplicate target name "${name}"${hint}`);
337
+ }
338
+ seen.add(name);
339
+ if (target.name === undefined)
340
+ defaulted.add(name);
303
341
  return {
304
- name: target.name,
342
+ name,
305
343
  index,
306
- platform: target.platform,
344
+ platform,
307
345
  engine: target.engine,
308
- app: resolveTargetApp(target.name, target.engine, projectRoot),
346
+ app: resolveTargetApp(name, target.engine, projectRoot),
309
347
  };
310
348
  });
311
349
  }
350
+ /**
351
+ * The target's platform: its own label, else the engine's declaration. Tool
352
+ * packs are offered by the engine's platform while tests filter by the
353
+ * target's, so a target that names one while its engine declares another is a
354
+ * mistake, not an override.
355
+ */
356
+ function resolvePlatform(target, where) {
357
+ const declared = target.platform;
358
+ if (declared !== undefined && (typeof declared !== 'string' || declared.trim() === '')) {
359
+ throw new ConfigurationError('INVALID_CONFIG', `${where} platform must be a non-empty string`);
360
+ }
361
+ const inherited = target.engine?.platform;
362
+ if (declared !== undefined && inherited !== undefined && declared !== inherited) {
363
+ 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`);
364
+ }
365
+ const platform = declared ?? inherited;
366
+ if (platform === undefined) {
367
+ 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`);
368
+ }
369
+ return platform;
370
+ }
312
371
  function normalizeTests(tests) {
313
372
  const list = tests === undefined ? ['tests/**/*.e2e.ts'] : typeof tests === 'string' ? [tests] : tests;
314
373
  if (list.length === 0) {
@@ -397,9 +456,12 @@ function computeConfigDigest(raw, projectId) {
397
456
  };
398
457
  // An artifact store is a live value: only the kinds are configuration, so
399
458
  // 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];
459
+ // enters the digest. Nor does video: recording a run must never invalidate
460
+ // the traces it would otherwise replay, so the digest reads the same kinds
461
+ // with or without it and ignores the `video` options block.
462
+ if (raw.artifacts !== undefined) {
463
+ const kinds = isArtifactsObject(raw.artifacts) ? raw.artifacts.kinds : raw.artifacts;
464
+ sanitized['artifacts'] = (kinds ?? [...DEFAULT_ARTIFACT_KINDS]).filter((kind) => kind !== 'video');
403
465
  }
404
466
  if (raw.credentials !== undefined) {
405
467
  sanitized['credentials'] = Object.fromEntries(Object.entries(raw.credentials).map(([name, credential]) => [
@@ -416,8 +478,10 @@ function computeConfigDigest(raw, projectId) {
416
478
  if (raw.targets !== undefined) {
417
479
  sanitized['targets'] = raw.targets.map((target) => {
418
480
  // An engine handle holds live functions; its digest identity is the
419
- // declaration - name, version, contract version, capability set, and
420
- // what it declares about the app under test.
481
+ // declaration - name, version, contract version, the platform it
482
+ // drives (a named target inherits it, so two workers whose engines
483
+ // declare different platforms must not agree on the digest), capability
484
+ // set, and what it declares about the app under test.
421
485
  if (isEngineHandle(target.engine)) {
422
486
  const { engine, ...rest } = target;
423
487
  return {
@@ -426,6 +490,8 @@ function computeConfigDigest(raw, projectId) {
426
490
  name: engine.name,
427
491
  ...(engine.version === undefined ? {} : { version: engine.version }),
428
492
  spiVersion: engine.spiVersion,
493
+ ...(engine.platform === undefined ? {} : { platform: engine.platform }),
494
+ ...(engine.workers === undefined ? {} : { workers: engine.workers }),
429
495
  capabilities: [...engine.capabilities].toSorted(),
430
496
  app: digestAppDeclaration(engine.app ?? {}),
431
497
  },
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"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"}
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
- readonly states?: Readonly<Partial<Record<'checked' | 'disabled' | 'selected' | 'expanded' | 'hidden', boolean>>>;
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":"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"}
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;AAuEpC;;;;;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"}
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"}
@@ -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: no platform noun
14
- * appears here. A document engine, a simulator engine, and a desktop engine
15
- * fill in the same members with different bodies.
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
@@ -247,6 +270,14 @@ export interface EngineApp extends EngineAppDeclaration {
247
270
  export interface EnginePrepareInfo {
248
271
  readonly runId: string;
249
272
  readonly targetName: string;
273
+ /**
274
+ * The worker slots the run will start for this target, `0` to `slots - 1`:
275
+ * the run's worker cap, the engine's declared `workers`, and the work units
276
+ * selected for the target, whichever is smallest; `0` when nothing runs on
277
+ * it. Provision for exactly these slots (boot that many devices of a pool);
278
+ * `init` then finds them ready.
279
+ */
280
+ readonly slots: number;
250
281
  /**
251
282
  * The run's environment: what every worker is started with. A host may hand
252
283
  * the run an environment other than the runner process's own, so anything
@@ -284,6 +315,13 @@ export interface EngineInitInfo {
284
315
  readonly testIdAttribute: string;
285
316
  /** Whether the run asked for a visible surface (`--headed`). */
286
317
  readonly headed: boolean;
318
+ /**
319
+ * This worker's 0-based slot among the target's workers: the lowest slot
320
+ * free when the worker was spawned, so a replacement worker takes over the
321
+ * slot of the one that exited. An engine with several devices hands each
322
+ * slot its own; `config.workers` bounds the slots a target can reach.
323
+ */
324
+ readonly workerSlot: number;
287
325
  /** Aborts on interrupt and when init exceeds the launch timeout; init must stop promptly. */
288
326
  readonly signal: AbortSignal;
289
327
  }
@@ -350,6 +388,20 @@ export interface Engine {
350
388
  * changed required semantics do.
351
389
  */
352
390
  readonly spiVersion: EngineSpiVersion;
391
+ /**
392
+ * Platform this engine drives (`web`, `ios`, `android`, or a label of the
393
+ * engine's own). A target inherits it; a target that names a platform of
394
+ * its own must agree with it.
395
+ */
396
+ readonly platform?: Platform;
397
+ /**
398
+ * The most workers this engine can serve at once for one target: one per
399
+ * surface it drives concurrently (a device pool's size; 1 for a single
400
+ * simulator). The scheduler never runs more workers for the target, whatever
401
+ * `config.workers` allows, so a device target shares a run with browser
402
+ * targets without being over-subscribed. Omit when there is no such bound.
403
+ */
404
+ readonly workers?: number;
353
405
  /** capability: observation. */
354
406
  observe?(context: OperationContext, options?: EngineObserveOptions): Promise<EngineSnapshot>;
355
407
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":"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"}
@@ -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: no platform noun
14
- * appears here. A document engine, a simulator engine, and a desktop engine
15
- * fill in the same members with different bodies.
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
@@ -20,6 +22,7 @@
20
22
  */
21
23
  import { engineBrand } from '../internal/brands.js';
22
24
  import { ConfigurationError } from '../internal/errors.js';
25
+ import { obj } from '../internal/objects.js';
23
26
  // Semantics the spec requires every engine and contributed fixture to
24
27
  // reproduce exactly, exported so an engine never carries its own copy: the
25
28
  // runner error taxonomy, text-pattern matching,
@@ -39,6 +42,8 @@ const KNOWN_KEYS = [
39
42
  'name',
40
43
  'version',
41
44
  'spiVersion',
45
+ 'platform',
46
+ 'workers',
42
47
  'observe',
43
48
  'locate',
44
49
  'perform',
@@ -57,7 +62,7 @@ const KNOWN_KEYS = [
57
62
  /** Keys of the nested manifests, closed like the top level. */
58
63
  const NESTED_KEYS = {
59
64
  state: ['capture', 'restore'],
60
- artifacts: ['screenshot', 'startTrace', 'stopTrace'],
65
+ artifacts: ['screenshot', 'startTrace', 'stopTrace', 'startVideo', 'stopVideo'],
61
66
  app: ['navigate', 'back', 'restart', 'clearState'],
62
67
  };
63
68
  /**
@@ -155,6 +160,9 @@ export function defineEngine(spec) {
155
160
  if (spec.spiVersion !== ENGINE_SPI_VERSION) {
156
161
  throw invalid(name, `declares spiVersion ${String(spec.spiVersion)}; this runner supports ${ENGINE_SPI_VERSION}`);
157
162
  }
163
+ if (spec.platform !== undefined && (typeof spec.platform !== 'string' || spec.platform.trim() === '')) {
164
+ throw invalid(name, 'platform must be a non-empty string when declared');
165
+ }
158
166
  // A literal's unknown key is a misspelling or a misplaced tool; a class
159
167
  // instance's own fields are its state, so only literals are checked.
160
168
  if (Object.getPrototypeOf(spec) === Object.prototype) {
@@ -170,6 +178,9 @@ export function defineEngine(spec) {
170
178
  throw invalid(name, `${member} must be a function`);
171
179
  }
172
180
  }
181
+ if (spec.workers !== undefined && (!Number.isSafeInteger(spec.workers) || spec.workers < 1)) {
182
+ throw invalid(name, 'workers must be a positive safe integer: the most workers the engine serves per target');
183
+ }
173
184
  const capabilities = new Set();
174
185
  if (spec.observe !== undefined)
175
186
  capabilities.add('observation');
@@ -188,7 +199,13 @@ export function defineEngine(spec) {
188
199
  if (spec.swipe !== undefined && !capabilities.has('observation')) {
189
200
  throw invalid(name, 'declares swipe without observe');
190
201
  }
191
- const handle = { name, version: spec.version, spiVersion: spec.spiVersion };
202
+ const handle = obj({
203
+ name,
204
+ version: spec.version,
205
+ spiVersion: spec.spiVersion,
206
+ platform: spec.platform,
207
+ workers: spec.workers,
208
+ });
192
209
  for (const member of FUNCTION_MEMBERS) {
193
210
  const fn = spec[member];
194
211
  if (fn !== undefined)
@@ -226,6 +243,9 @@ export function defineEngine(spec) {
226
243
  if ((artifacts['startTrace'] === undefined) !== (artifacts['stopTrace'] === undefined)) {
227
244
  throw invalid(name, 'artifacts.startTrace and stopTrace must be declared together');
228
245
  }
246
+ if ((artifacts['startVideo'] === undefined) !== (artifacts['stopVideo'] === undefined)) {
247
+ throw invalid(name, 'artifacts.startVideo and stopVideo must be declared together');
248
+ }
229
249
  handle['artifacts'] = artifacts;
230
250
  capabilities.add('artifacts');
231
251
  }