@unotest/web 0.47.0 → 0.49.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.
@@ -35,6 +35,13 @@ declare const ViewportSchema: z.ZodObject<{
35
35
  deviceScaleFactor?: number | undefined;
36
36
  }>;
37
37
  type Viewport = z.infer<typeof ViewportSchema>;
38
+ /** Why `viewport` cannot stand next to `device`, or undefined when it can.
39
+ * A preset IS a size and a scale: next to the real window it would
40
+ * either be ignored or break it. One wording for the config and for a
41
+ * collection's `viewport: null` over a project that names a device. */
42
+ declare function viewportDeviceConflict(viewport: Viewport | null | undefined, device: string | undefined,
43
+ /** Whose `viewport: null` it is, as the message names it. */
44
+ subject?: string): string | undefined;
38
45
  declare const RetryReasonSchema: z.ZodEnum<["transient", "network", "crash"]>;
39
46
  type RetryReason = z.infer<typeof RetryReasonSchema>;
40
47
  declare const RetryConfigSchema: z.ZodObject<{
@@ -42,10 +49,10 @@ declare const RetryConfigSchema: z.ZodObject<{
42
49
  on: z.ZodArray<z.ZodEnum<["transient", "network", "crash"]>, "many">;
43
50
  }, "strict", z.ZodTypeAny, {
44
51
  count: number;
45
- on: ("network" | "transient" | "crash")[];
52
+ on: ("transient" | "network" | "crash")[];
46
53
  }, {
47
54
  count: number;
48
- on: ("network" | "transient" | "crash")[];
55
+ on: ("transient" | "network" | "crash")[];
49
56
  }>;
50
57
  type RetryConfig = z.infer<typeof RetryConfigSchema>;
51
58
  declare const FailureBundleConfigSchema: z.ZodObject<{
@@ -109,19 +116,19 @@ declare const FailureBundleConfigSchema: z.ZodObject<{
109
116
  type FailureBundleConfig = z.infer<typeof FailureBundleConfigSchema>;
110
117
  declare const DialogPolicySchema: z.ZodEnum<["accept", "dismiss", "manual"]>;
111
118
  type DialogPolicy = z.infer<typeof DialogPolicySchema>;
112
- declare const LinterRuleIdSchema: z.ZodEnum<["lint:deep-css", "lint:xpath", "lint:obfuscated-class", "lint:pause-explicit", "lint:disambig-by-index", "lint:evaluate-discouraged", "lint:scenario-in-root", "lint:mustache-in-dsl", "lint:goto-concat", "lint:regex-invalid", "lint:echo-assert", "lint:api-call-file-body", "lint:lint-ok-missing-reason", "lint:flow-returns-value", "lint:legacy-layout", "lint:external-variable-undeclared", "lint:env-host-from-base", "lint:one-test-per-file", "lint:shadows-dsl-function", "lint:skip-outside-test", "lint:set-test-timeout-outside-test", "validator:unknown-function", "validator:arity", "validator:arg-kind", "validator:step-coverage", "validator:step-shape", "validator:meta-shape", "validator:function-shape", "validator:for-shape", "validator:if-shape", "validator:var-shape", "validator:unsupported-statement", "validator:unsupported-expression", "validator:string-concat", "validator:semantic-loss", "validator:list-arg", "validator:wrapped-format"]>;
119
+ declare const LinterRuleIdSchema: z.ZodEnum<["lint:deep-css", "lint:xpath", "lint:obfuscated-class", "lint:pause-explicit", "lint:disambig-by-index", "lint:evaluate-discouraged", "lint:scenario-in-root", "lint:mustache-in-dsl", "lint:goto-concat", "lint:regex-invalid", "lint:echo-assert", "lint:api-call-file-body", "lint:lint-ok-missing-reason", "lint:flow-returns-value", "lint:legacy-layout", "lint:external-variable-undeclared", "lint:env-host-from-base", "lint:one-test-per-file", "lint:shadows-dsl-function", "lint:skip-outside-test", "lint:set-test-timeout-outside-test", "lint:filter-unknown-option", "validator:unknown-function", "validator:arity", "validator:arg-kind", "validator:step-coverage", "validator:step-shape", "validator:meta-shape", "validator:function-shape", "validator:for-shape", "validator:if-shape", "validator:var-shape", "validator:unsupported-statement", "validator:unsupported-expression", "validator:string-concat", "validator:semantic-loss", "validator:list-arg", "validator:wrapped-format"]>;
113
120
  type LinterRuleId = z.infer<typeof LinterRuleIdSchema>;
114
121
  declare const LinterSeveritySchema: z.ZodEnum<["off", "warn", "error"]>;
115
122
  type LinterSeverity = z.infer<typeof LinterSeveritySchema>;
116
123
  declare const LinterConfigSchema: z.ZodObject<{
117
124
  enabled: z.ZodBoolean;
118
- rules: z.ZodRecord<z.ZodEnum<["lint:deep-css", "lint:xpath", "lint:obfuscated-class", "lint:pause-explicit", "lint:disambig-by-index", "lint:evaluate-discouraged", "lint:scenario-in-root", "lint:mustache-in-dsl", "lint:goto-concat", "lint:regex-invalid", "lint:echo-assert", "lint:api-call-file-body", "lint:lint-ok-missing-reason", "lint:flow-returns-value", "lint:legacy-layout", "lint:external-variable-undeclared", "lint:env-host-from-base", "lint:one-test-per-file", "lint:shadows-dsl-function", "lint:skip-outside-test", "lint:set-test-timeout-outside-test", "validator:unknown-function", "validator:arity", "validator:arg-kind", "validator:step-coverage", "validator:step-shape", "validator:meta-shape", "validator:function-shape", "validator:for-shape", "validator:if-shape", "validator:var-shape", "validator:unsupported-statement", "validator:unsupported-expression", "validator:string-concat", "validator:semantic-loss", "validator:list-arg", "validator:wrapped-format"]>, z.ZodEnum<["off", "warn", "error"]>>;
125
+ rules: z.ZodRecord<z.ZodEnum<["lint:deep-css", "lint:xpath", "lint:obfuscated-class", "lint:pause-explicit", "lint:disambig-by-index", "lint:evaluate-discouraged", "lint:scenario-in-root", "lint:mustache-in-dsl", "lint:goto-concat", "lint:regex-invalid", "lint:echo-assert", "lint:api-call-file-body", "lint:lint-ok-missing-reason", "lint:flow-returns-value", "lint:legacy-layout", "lint:external-variable-undeclared", "lint:env-host-from-base", "lint:one-test-per-file", "lint:shadows-dsl-function", "lint:skip-outside-test", "lint:set-test-timeout-outside-test", "lint:filter-unknown-option", "validator:unknown-function", "validator:arity", "validator:arg-kind", "validator:step-coverage", "validator:step-shape", "validator:meta-shape", "validator:function-shape", "validator:for-shape", "validator:if-shape", "validator:var-shape", "validator:unsupported-statement", "validator:unsupported-expression", "validator:string-concat", "validator:semantic-loss", "validator:list-arg", "validator:wrapped-format"]>, z.ZodEnum<["off", "warn", "error"]>>;
119
126
  }, "strict", z.ZodTypeAny, {
120
127
  enabled: boolean;
121
- rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "lint:flow-returns-value" | "lint:legacy-layout" | "lint:external-variable-undeclared" | "lint:env-host-from-base" | "lint:one-test-per-file" | "lint:shadows-dsl-function" | "lint:skip-outside-test" | "lint:set-test-timeout-outside-test" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
128
+ rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "lint:flow-returns-value" | "lint:legacy-layout" | "lint:external-variable-undeclared" | "lint:env-host-from-base" | "lint:one-test-per-file" | "lint:shadows-dsl-function" | "lint:skip-outside-test" | "lint:set-test-timeout-outside-test" | "lint:filter-unknown-option" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
122
129
  }, {
123
130
  enabled: boolean;
124
- rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "lint:flow-returns-value" | "lint:legacy-layout" | "lint:external-variable-undeclared" | "lint:env-host-from-base" | "lint:one-test-per-file" | "lint:shadows-dsl-function" | "lint:skip-outside-test" | "lint:set-test-timeout-outside-test" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
131
+ rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "lint:flow-returns-value" | "lint:legacy-layout" | "lint:external-variable-undeclared" | "lint:env-host-from-base" | "lint:one-test-per-file" | "lint:shadows-dsl-function" | "lint:skip-outside-test" | "lint:set-test-timeout-outside-test" | "lint:filter-unknown-option" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
125
132
  }>;
126
133
  type LinterConfig = z.infer<typeof LinterConfigSchema>;
127
134
  declare const QueueConfigSchema: z.ZodObject<{
@@ -241,15 +248,15 @@ declare const WebServerConfigSchema: z.ZodObject<{
241
248
  /** How long to wait for the URL to come up after spawning. */
242
249
  timeoutMs: z.ZodDefault<z.ZodNumber>;
243
250
  }, "strict", z.ZodTypeAny, {
244
- url: string;
245
- timeoutMs: number;
246
251
  command: string;
252
+ url: string;
247
253
  reuseExistingServer: boolean;
254
+ timeoutMs: number;
248
255
  }, {
249
- url: string;
250
256
  command: string;
251
- timeoutMs?: number | undefined;
257
+ url: string;
252
258
  reuseExistingServer?: boolean | undefined;
259
+ timeoutMs?: number | undefined;
253
260
  }>;
254
261
  type WebServerConfig = z.infer<typeof WebServerConfigSchema>;
255
262
  /** `webServer`: one server, or several (a front and its fake backends),
@@ -273,15 +280,15 @@ declare const WebServersConfigSchema: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.Zo
273
280
  /** How long to wait for the URL to come up after spawning. */
274
281
  timeoutMs: z.ZodDefault<z.ZodNumber>;
275
282
  }, "strict", z.ZodTypeAny, {
276
- url: string;
277
- timeoutMs: number;
278
283
  command: string;
284
+ url: string;
279
285
  reuseExistingServer: boolean;
286
+ timeoutMs: number;
280
287
  }, {
281
- url: string;
282
288
  command: string;
283
- timeoutMs?: number | undefined;
289
+ url: string;
284
290
  reuseExistingServer?: boolean | undefined;
291
+ timeoutMs?: number | undefined;
285
292
  }>, z.ZodArray<z.ZodObject<{
286
293
  /** Shell command that starts the app under test (`npm run dev`,
287
294
  * `python manage.py runserver`, …). Runs in the user's shell from the
@@ -299,45 +306,45 @@ declare const WebServersConfigSchema: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.Zo
299
306
  /** How long to wait for the URL to come up after spawning. */
300
307
  timeoutMs: z.ZodDefault<z.ZodNumber>;
301
308
  }, "strict", z.ZodTypeAny, {
302
- url: string;
303
- timeoutMs: number;
304
309
  command: string;
310
+ url: string;
305
311
  reuseExistingServer: boolean;
312
+ timeoutMs: number;
306
313
  }, {
307
- url: string;
308
314
  command: string;
309
- timeoutMs?: number | undefined;
315
+ url: string;
310
316
  reuseExistingServer?: boolean | undefined;
317
+ timeoutMs?: number | undefined;
311
318
  }>, "many">]>, {
312
- url: string;
313
- timeoutMs: number;
314
319
  command: string;
320
+ url: string;
315
321
  reuseExistingServer: boolean;
322
+ timeoutMs: number;
316
323
  }[], {
317
- url: string;
318
324
  command: string;
319
- timeoutMs?: number | undefined;
325
+ url: string;
320
326
  reuseExistingServer?: boolean | undefined;
327
+ timeoutMs?: number | undefined;
321
328
  } | {
322
- url: string;
323
329
  command: string;
324
- timeoutMs?: number | undefined;
330
+ url: string;
325
331
  reuseExistingServer?: boolean | undefined;
332
+ timeoutMs?: number | undefined;
326
333
  }[]>, {
327
- url: string;
328
- timeoutMs: number;
329
334
  command: string;
335
+ url: string;
330
336
  reuseExistingServer: boolean;
337
+ timeoutMs: number;
331
338
  }[], {
332
- url: string;
333
339
  command: string;
334
- timeoutMs?: number | undefined;
340
+ url: string;
335
341
  reuseExistingServer?: boolean | undefined;
342
+ timeoutMs?: number | undefined;
336
343
  } | {
337
- url: string;
338
344
  command: string;
339
- timeoutMs?: number | undefined;
345
+ url: string;
340
346
  reuseExistingServer?: boolean | undefined;
347
+ timeoutMs?: number | undefined;
341
348
  }[]>;
342
349
  declare const EnvConfigSchema: z.ZodObject<{
343
350
  /** Variable names whose base `.env` value is deliberately shared by
@@ -373,15 +380,15 @@ declare const UnotestConfigSchema: z.ZodEffects<z.ZodObject<{
373
380
  /** How long to wait for the URL to come up after spawning. */
374
381
  timeoutMs: z.ZodDefault<z.ZodNumber>;
375
382
  }, "strict", z.ZodTypeAny, {
376
- url: string;
377
- timeoutMs: number;
378
383
  command: string;
384
+ url: string;
379
385
  reuseExistingServer: boolean;
386
+ timeoutMs: number;
380
387
  }, {
381
- url: string;
382
388
  command: string;
383
- timeoutMs?: number | undefined;
389
+ url: string;
384
390
  reuseExistingServer?: boolean | undefined;
391
+ timeoutMs?: number | undefined;
385
392
  }>, z.ZodArray<z.ZodObject<{
386
393
  /** Shell command that starts the app under test (`npm run dev`,
387
394
  * `python manage.py runserver`, …). Runs in the user's shell from the
@@ -399,46 +406,56 @@ declare const UnotestConfigSchema: z.ZodEffects<z.ZodObject<{
399
406
  /** How long to wait for the URL to come up after spawning. */
400
407
  timeoutMs: z.ZodDefault<z.ZodNumber>;
401
408
  }, "strict", z.ZodTypeAny, {
402
- url: string;
403
- timeoutMs: number;
404
409
  command: string;
410
+ url: string;
405
411
  reuseExistingServer: boolean;
412
+ timeoutMs: number;
406
413
  }, {
407
- url: string;
408
414
  command: string;
409
- timeoutMs?: number | undefined;
415
+ url: string;
410
416
  reuseExistingServer?: boolean | undefined;
417
+ timeoutMs?: number | undefined;
411
418
  }>, "many">]>, {
412
- url: string;
413
- timeoutMs: number;
414
419
  command: string;
420
+ url: string;
415
421
  reuseExistingServer: boolean;
422
+ timeoutMs: number;
416
423
  }[], {
417
- url: string;
418
424
  command: string;
419
- timeoutMs?: number | undefined;
425
+ url: string;
420
426
  reuseExistingServer?: boolean | undefined;
427
+ timeoutMs?: number | undefined;
421
428
  } | {
422
- url: string;
423
429
  command: string;
424
- timeoutMs?: number | undefined;
430
+ url: string;
425
431
  reuseExistingServer?: boolean | undefined;
432
+ timeoutMs?: number | undefined;
426
433
  }[]>, {
427
- url: string;
428
- timeoutMs: number;
429
434
  command: string;
435
+ url: string;
430
436
  reuseExistingServer: boolean;
437
+ timeoutMs: number;
431
438
  }[], {
432
- url: string;
433
439
  command: string;
434
- timeoutMs?: number | undefined;
440
+ url: string;
435
441
  reuseExistingServer?: boolean | undefined;
442
+ timeoutMs?: number | undefined;
436
443
  } | {
437
- url: string;
438
444
  command: string;
439
- timeoutMs?: number | undefined;
445
+ url: string;
440
446
  reuseExistingServer?: boolean | undefined;
447
+ timeoutMs?: number | undefined;
441
448
  }[]>>;
449
+ /** A shell command that writes `unotest/generated/` from the
450
+ * application's own source (constants, label tables, schemas), so the
451
+ * scenarios read them with `readJson()` instead of a hand-made copy.
452
+ * Runs in the project root — the same base as `prepare` and
453
+ * `webServer.command` — before every local `e2e` / `collection` and
454
+ * before `bundle push`, which then carries the folder although it is
455
+ * git-ignored. Not on a box (the snapshot arrived in the bundle) and
456
+ * not in `lint` (linting runs no project commands). A failure refuses
457
+ * the run; `--no-generate` skips it for one run. */
458
+ generate: z.ZodOptional<z.ZodString>;
442
459
  browsers: z.ZodArray<z.ZodEnum<["chromium", "firefox", "webkit"]>, "many">;
443
460
  channel: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["chrome", "msedge", "chrome-beta", "chromium"]>, z.ZodEffects<z.ZodLiteral<"bundled">, null, "bundled">, z.ZodNull]>>;
444
461
  viewport: z.ZodOptional<z.ZodNullable<z.ZodObject<{
@@ -482,23 +499,23 @@ declare const UnotestConfigSchema: z.ZodEffects<z.ZodObject<{
482
499
  profile: z.ZodOptional<z.ZodLiteral<"per-test">>;
483
500
  args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
484
501
  }, "strict", z.ZodTypeAny, {
485
- args?: string[] | undefined;
486
502
  userDataDir?: string | undefined;
487
503
  profile?: "per-test" | undefined;
488
- }, {
489
504
  args?: string[] | undefined;
505
+ }, {
490
506
  userDataDir?: string | undefined;
491
507
  profile?: "per-test" | undefined;
508
+ args?: string[] | undefined;
492
509
  }>>;
493
510
  retry: z.ZodObject<{
494
511
  count: z.ZodNumber;
495
512
  on: z.ZodArray<z.ZodEnum<["transient", "network", "crash"]>, "many">;
496
513
  }, "strict", z.ZodTypeAny, {
497
514
  count: number;
498
- on: ("network" | "transient" | "crash")[];
515
+ on: ("transient" | "network" | "crash")[];
499
516
  }, {
500
517
  count: number;
501
- on: ("network" | "transient" | "crash")[];
518
+ on: ("transient" | "network" | "crash")[];
502
519
  }>;
503
520
  failureBundle: z.ZodObject<{
504
521
  /** Tier 1 is always on by D-16. Schema lock — not user-toggleable. */
@@ -603,13 +620,13 @@ declare const UnotestConfigSchema: z.ZodEffects<z.ZodObject<{
603
620
  }>;
604
621
  linter: z.ZodObject<{
605
622
  enabled: z.ZodBoolean;
606
- rules: z.ZodRecord<z.ZodEnum<["lint:deep-css", "lint:xpath", "lint:obfuscated-class", "lint:pause-explicit", "lint:disambig-by-index", "lint:evaluate-discouraged", "lint:scenario-in-root", "lint:mustache-in-dsl", "lint:goto-concat", "lint:regex-invalid", "lint:echo-assert", "lint:api-call-file-body", "lint:lint-ok-missing-reason", "lint:flow-returns-value", "lint:legacy-layout", "lint:external-variable-undeclared", "lint:env-host-from-base", "lint:one-test-per-file", "lint:shadows-dsl-function", "lint:skip-outside-test", "lint:set-test-timeout-outside-test", "validator:unknown-function", "validator:arity", "validator:arg-kind", "validator:step-coverage", "validator:step-shape", "validator:meta-shape", "validator:function-shape", "validator:for-shape", "validator:if-shape", "validator:var-shape", "validator:unsupported-statement", "validator:unsupported-expression", "validator:string-concat", "validator:semantic-loss", "validator:list-arg", "validator:wrapped-format"]>, z.ZodEnum<["off", "warn", "error"]>>;
623
+ rules: z.ZodRecord<z.ZodEnum<["lint:deep-css", "lint:xpath", "lint:obfuscated-class", "lint:pause-explicit", "lint:disambig-by-index", "lint:evaluate-discouraged", "lint:scenario-in-root", "lint:mustache-in-dsl", "lint:goto-concat", "lint:regex-invalid", "lint:echo-assert", "lint:api-call-file-body", "lint:lint-ok-missing-reason", "lint:flow-returns-value", "lint:legacy-layout", "lint:external-variable-undeclared", "lint:env-host-from-base", "lint:one-test-per-file", "lint:shadows-dsl-function", "lint:skip-outside-test", "lint:set-test-timeout-outside-test", "lint:filter-unknown-option", "validator:unknown-function", "validator:arity", "validator:arg-kind", "validator:step-coverage", "validator:step-shape", "validator:meta-shape", "validator:function-shape", "validator:for-shape", "validator:if-shape", "validator:var-shape", "validator:unsupported-statement", "validator:unsupported-expression", "validator:string-concat", "validator:semantic-loss", "validator:list-arg", "validator:wrapped-format"]>, z.ZodEnum<["off", "warn", "error"]>>;
607
624
  }, "strict", z.ZodTypeAny, {
608
625
  enabled: boolean;
609
- rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "lint:flow-returns-value" | "lint:legacy-layout" | "lint:external-variable-undeclared" | "lint:env-host-from-base" | "lint:one-test-per-file" | "lint:shadows-dsl-function" | "lint:skip-outside-test" | "lint:set-test-timeout-outside-test" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
626
+ rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "lint:flow-returns-value" | "lint:legacy-layout" | "lint:external-variable-undeclared" | "lint:env-host-from-base" | "lint:one-test-per-file" | "lint:shadows-dsl-function" | "lint:skip-outside-test" | "lint:set-test-timeout-outside-test" | "lint:filter-unknown-option" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
610
627
  }, {
611
628
  enabled: boolean;
612
- rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "lint:flow-returns-value" | "lint:legacy-layout" | "lint:external-variable-undeclared" | "lint:env-host-from-base" | "lint:one-test-per-file" | "lint:shadows-dsl-function" | "lint:skip-outside-test" | "lint:set-test-timeout-outside-test" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
629
+ rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "lint:flow-returns-value" | "lint:legacy-layout" | "lint:external-variable-undeclared" | "lint:env-host-from-base" | "lint:one-test-per-file" | "lint:shadows-dsl-function" | "lint:skip-outside-test" | "lint:set-test-timeout-outside-test" | "lint:filter-unknown-option" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
613
630
  }>;
614
631
  mcp: z.ZodObject<{
615
632
  transport: z.ZodLiteral<"stdio">;
@@ -709,12 +726,13 @@ declare const UnotestConfigSchema: z.ZodEffects<z.ZodObject<{
709
726
  readRoots?: string[] | undefined;
710
727
  }>;
711
728
  }, "strict", z.ZodTypeAny, {
712
- defaultTimeoutMs: number;
713
- defaultNavigationTimeoutMs: number;
729
+ env: {
730
+ shared: string[];
731
+ };
714
732
  browsers: ("chromium" | "firefox" | "webkit")[];
715
733
  retry: {
716
734
  count: number;
717
- on: ("network" | "transient" | "crash")[];
735
+ on: ("transient" | "network" | "crash")[];
718
736
  };
719
737
  failureBundle: {
720
738
  tier1: true;
@@ -733,12 +751,11 @@ declare const UnotestConfigSchema: z.ZodEffects<z.ZodObject<{
733
751
  dialogPolicy: "accept" | "dismiss" | "manual";
734
752
  testDir: string;
735
753
  helpersDir: string;
736
- env: {
737
- shared: string[];
738
- };
754
+ defaultTimeoutMs: number;
755
+ defaultNavigationTimeoutMs: number;
739
756
  linter: {
740
757
  enabled: boolean;
741
- rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "lint:flow-returns-value" | "lint:legacy-layout" | "lint:external-variable-undeclared" | "lint:env-host-from-base" | "lint:one-test-per-file" | "lint:shadows-dsl-function" | "lint:skip-outside-test" | "lint:set-test-timeout-outside-test" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
758
+ rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "lint:flow-returns-value" | "lint:legacy-layout" | "lint:external-variable-undeclared" | "lint:env-host-from-base" | "lint:one-test-per-file" | "lint:shadows-dsl-function" | "lint:skip-outside-test" | "lint:set-test-timeout-outside-test" | "lint:filter-unknown-option" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
742
759
  };
743
760
  mcp: {
744
761
  transport: "stdio";
@@ -762,38 +779,40 @@ declare const UnotestConfigSchema: z.ZodEffects<z.ZodObject<{
762
779
  uploadDir?: string | undefined;
763
780
  readRoots?: string[] | undefined;
764
781
  };
765
- locale?: string | undefined;
766
- timezone?: string | undefined;
767
- testTimeoutMs?: number | undefined;
768
782
  baseUrl?: string | undefined;
769
783
  webServer?: {
770
- url: string;
771
- timeoutMs: number;
772
784
  command: string;
785
+ url: string;
773
786
  reuseExistingServer: boolean;
787
+ timeoutMs: number;
774
788
  }[] | undefined;
775
- channel?: "chrome" | "msedge" | "chrome-beta" | "chromium" | null | undefined;
789
+ generate?: string | undefined;
790
+ channel?: "chromium" | "chrome" | "msedge" | "chrome-beta" | null | undefined;
776
791
  viewport?: {
777
792
  width?: number | undefined;
778
793
  height?: number | undefined;
779
794
  deviceScaleFactor?: number | undefined;
780
795
  } | null | undefined;
781
796
  device?: string | undefined;
797
+ timezone?: string | undefined;
798
+ locale?: string | undefined;
782
799
  maxContexts?: number | undefined;
783
800
  launch?: {
784
- args?: string[] | undefined;
785
801
  userDataDir?: string | undefined;
786
802
  profile?: "per-test" | undefined;
803
+ args?: string[] | undefined;
787
804
  } | undefined;
788
805
  storageState?: string | undefined;
789
806
  teardownTimeoutMs?: number | undefined;
807
+ testTimeoutMs?: number | undefined;
790
808
  }, {
791
- defaultTimeoutMs: number;
792
- defaultNavigationTimeoutMs: number;
809
+ env: {
810
+ shared?: string[] | undefined;
811
+ };
793
812
  browsers: ("chromium" | "firefox" | "webkit")[];
794
813
  retry: {
795
814
  count: number;
796
- on: ("network" | "transient" | "crash")[];
815
+ on: ("transient" | "network" | "crash")[];
797
816
  };
798
817
  failureBundle: {
799
818
  tier2: boolean;
@@ -812,12 +831,11 @@ declare const UnotestConfigSchema: z.ZodEffects<z.ZodObject<{
812
831
  dialogPolicy: "accept" | "dismiss" | "manual";
813
832
  testDir: string;
814
833
  helpersDir: string;
815
- env: {
816
- shared?: string[] | undefined;
817
- };
834
+ defaultTimeoutMs: number;
835
+ defaultNavigationTimeoutMs: number;
818
836
  linter: {
819
837
  enabled: boolean;
820
- rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "lint:flow-returns-value" | "lint:legacy-layout" | "lint:external-variable-undeclared" | "lint:env-host-from-base" | "lint:one-test-per-file" | "lint:shadows-dsl-function" | "lint:skip-outside-test" | "lint:set-test-timeout-outside-test" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
838
+ rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "lint:flow-returns-value" | "lint:legacy-layout" | "lint:external-variable-undeclared" | "lint:env-host-from-base" | "lint:one-test-per-file" | "lint:shadows-dsl-function" | "lint:skip-outside-test" | "lint:set-test-timeout-outside-test" | "lint:filter-unknown-option" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
821
839
  };
822
840
  mcp: {
823
841
  transport: "stdio";
@@ -835,36 +853,37 @@ declare const UnotestConfigSchema: z.ZodEffects<z.ZodObject<{
835
853
  uploadDir?: string | undefined;
836
854
  readRoots?: string[] | undefined;
837
855
  };
838
- locale?: string | undefined;
839
- timezone?: string | undefined;
840
- testTimeoutMs?: number | undefined;
841
856
  baseUrl?: string | undefined;
842
857
  webServer?: {
843
- url: string;
844
858
  command: string;
845
- timeoutMs?: number | undefined;
859
+ url: string;
846
860
  reuseExistingServer?: boolean | undefined;
861
+ timeoutMs?: number | undefined;
847
862
  } | {
848
- url: string;
849
863
  command: string;
850
- timeoutMs?: number | undefined;
864
+ url: string;
851
865
  reuseExistingServer?: boolean | undefined;
866
+ timeoutMs?: number | undefined;
852
867
  }[] | undefined;
853
- channel?: "chrome" | "msedge" | "chrome-beta" | "chromium" | "bundled" | null | undefined;
868
+ generate?: string | undefined;
869
+ channel?: "chromium" | "chrome" | "msedge" | "chrome-beta" | "bundled" | null | undefined;
854
870
  viewport?: {
855
871
  width?: number | undefined;
856
872
  height?: number | undefined;
857
873
  deviceScaleFactor?: number | undefined;
858
874
  } | null | undefined;
859
875
  device?: string | undefined;
876
+ timezone?: string | undefined;
877
+ locale?: string | undefined;
860
878
  maxContexts?: number | undefined;
861
879
  launch?: {
862
- args?: string[] | undefined;
863
880
  userDataDir?: string | undefined;
864
881
  profile?: "per-test" | undefined;
882
+ args?: string[] | undefined;
865
883
  } | undefined;
866
884
  storageState?: string | undefined;
867
885
  teardownTimeoutMs?: number | undefined;
886
+ testTimeoutMs?: number | undefined;
868
887
  schedules?: {
869
888
  collection: string;
870
889
  cron: string;
@@ -872,12 +891,13 @@ declare const UnotestConfigSchema: z.ZodEffects<z.ZodObject<{
872
891
  prepare?: string | undefined;
873
892
  }[] | undefined;
874
893
  }>, {
875
- defaultTimeoutMs: number;
876
- defaultNavigationTimeoutMs: number;
894
+ env: {
895
+ shared: string[];
896
+ };
877
897
  browsers: ("chromium" | "firefox" | "webkit")[];
878
898
  retry: {
879
899
  count: number;
880
- on: ("network" | "transient" | "crash")[];
900
+ on: ("transient" | "network" | "crash")[];
881
901
  };
882
902
  failureBundle: {
883
903
  tier1: true;
@@ -896,12 +916,11 @@ declare const UnotestConfigSchema: z.ZodEffects<z.ZodObject<{
896
916
  dialogPolicy: "accept" | "dismiss" | "manual";
897
917
  testDir: string;
898
918
  helpersDir: string;
899
- env: {
900
- shared: string[];
901
- };
919
+ defaultTimeoutMs: number;
920
+ defaultNavigationTimeoutMs: number;
902
921
  linter: {
903
922
  enabled: boolean;
904
- rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "lint:flow-returns-value" | "lint:legacy-layout" | "lint:external-variable-undeclared" | "lint:env-host-from-base" | "lint:one-test-per-file" | "lint:shadows-dsl-function" | "lint:skip-outside-test" | "lint:set-test-timeout-outside-test" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
923
+ rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "lint:flow-returns-value" | "lint:legacy-layout" | "lint:external-variable-undeclared" | "lint:env-host-from-base" | "lint:one-test-per-file" | "lint:shadows-dsl-function" | "lint:skip-outside-test" | "lint:set-test-timeout-outside-test" | "lint:filter-unknown-option" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
905
924
  };
906
925
  mcp: {
907
926
  transport: "stdio";
@@ -925,38 +944,40 @@ declare const UnotestConfigSchema: z.ZodEffects<z.ZodObject<{
925
944
  uploadDir?: string | undefined;
926
945
  readRoots?: string[] | undefined;
927
946
  };
928
- locale?: string | undefined;
929
- timezone?: string | undefined;
930
- testTimeoutMs?: number | undefined;
931
947
  baseUrl?: string | undefined;
932
948
  webServer?: {
933
- url: string;
934
- timeoutMs: number;
935
949
  command: string;
950
+ url: string;
936
951
  reuseExistingServer: boolean;
952
+ timeoutMs: number;
937
953
  }[] | undefined;
938
- channel?: "chrome" | "msedge" | "chrome-beta" | "chromium" | null | undefined;
954
+ generate?: string | undefined;
955
+ channel?: "chromium" | "chrome" | "msedge" | "chrome-beta" | null | undefined;
939
956
  viewport?: {
940
957
  width?: number | undefined;
941
958
  height?: number | undefined;
942
959
  deviceScaleFactor?: number | undefined;
943
960
  } | null | undefined;
944
961
  device?: string | undefined;
962
+ timezone?: string | undefined;
963
+ locale?: string | undefined;
945
964
  maxContexts?: number | undefined;
946
965
  launch?: {
947
- args?: string[] | undefined;
948
966
  userDataDir?: string | undefined;
949
967
  profile?: "per-test" | undefined;
968
+ args?: string[] | undefined;
950
969
  } | undefined;
951
970
  storageState?: string | undefined;
952
971
  teardownTimeoutMs?: number | undefined;
972
+ testTimeoutMs?: number | undefined;
953
973
  }, {
954
- defaultTimeoutMs: number;
955
- defaultNavigationTimeoutMs: number;
974
+ env: {
975
+ shared?: string[] | undefined;
976
+ };
956
977
  browsers: ("chromium" | "firefox" | "webkit")[];
957
978
  retry: {
958
979
  count: number;
959
- on: ("network" | "transient" | "crash")[];
980
+ on: ("transient" | "network" | "crash")[];
960
981
  };
961
982
  failureBundle: {
962
983
  tier2: boolean;
@@ -975,12 +996,11 @@ declare const UnotestConfigSchema: z.ZodEffects<z.ZodObject<{
975
996
  dialogPolicy: "accept" | "dismiss" | "manual";
976
997
  testDir: string;
977
998
  helpersDir: string;
978
- env: {
979
- shared?: string[] | undefined;
980
- };
999
+ defaultTimeoutMs: number;
1000
+ defaultNavigationTimeoutMs: number;
981
1001
  linter: {
982
1002
  enabled: boolean;
983
- rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "lint:flow-returns-value" | "lint:legacy-layout" | "lint:external-variable-undeclared" | "lint:env-host-from-base" | "lint:one-test-per-file" | "lint:shadows-dsl-function" | "lint:skip-outside-test" | "lint:set-test-timeout-outside-test" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
1003
+ rules: Partial<Record<"lint:deep-css" | "lint:xpath" | "lint:obfuscated-class" | "lint:pause-explicit" | "lint:disambig-by-index" | "lint:evaluate-discouraged" | "lint:scenario-in-root" | "lint:mustache-in-dsl" | "lint:goto-concat" | "lint:regex-invalid" | "lint:echo-assert" | "lint:api-call-file-body" | "lint:lint-ok-missing-reason" | "lint:flow-returns-value" | "lint:legacy-layout" | "lint:external-variable-undeclared" | "lint:env-host-from-base" | "lint:one-test-per-file" | "lint:shadows-dsl-function" | "lint:skip-outside-test" | "lint:set-test-timeout-outside-test" | "lint:filter-unknown-option" | "validator:unknown-function" | "validator:arity" | "validator:arg-kind" | "validator:step-coverage" | "validator:step-shape" | "validator:meta-shape" | "validator:function-shape" | "validator:for-shape" | "validator:if-shape" | "validator:var-shape" | "validator:unsupported-statement" | "validator:unsupported-expression" | "validator:string-concat" | "validator:semantic-loss" | "validator:list-arg" | "validator:wrapped-format", "off" | "warn" | "error">>;
984
1004
  };
985
1005
  mcp: {
986
1006
  transport: "stdio";
@@ -998,36 +1018,37 @@ declare const UnotestConfigSchema: z.ZodEffects<z.ZodObject<{
998
1018
  uploadDir?: string | undefined;
999
1019
  readRoots?: string[] | undefined;
1000
1020
  };
1001
- locale?: string | undefined;
1002
- timezone?: string | undefined;
1003
- testTimeoutMs?: number | undefined;
1004
1021
  baseUrl?: string | undefined;
1005
1022
  webServer?: {
1006
- url: string;
1007
1023
  command: string;
1008
- timeoutMs?: number | undefined;
1024
+ url: string;
1009
1025
  reuseExistingServer?: boolean | undefined;
1026
+ timeoutMs?: number | undefined;
1010
1027
  } | {
1011
- url: string;
1012
1028
  command: string;
1013
- timeoutMs?: number | undefined;
1029
+ url: string;
1014
1030
  reuseExistingServer?: boolean | undefined;
1031
+ timeoutMs?: number | undefined;
1015
1032
  }[] | undefined;
1016
- channel?: "chrome" | "msedge" | "chrome-beta" | "chromium" | "bundled" | null | undefined;
1033
+ generate?: string | undefined;
1034
+ channel?: "chromium" | "chrome" | "msedge" | "chrome-beta" | "bundled" | null | undefined;
1017
1035
  viewport?: {
1018
1036
  width?: number | undefined;
1019
1037
  height?: number | undefined;
1020
1038
  deviceScaleFactor?: number | undefined;
1021
1039
  } | null | undefined;
1022
1040
  device?: string | undefined;
1041
+ timezone?: string | undefined;
1042
+ locale?: string | undefined;
1023
1043
  maxContexts?: number | undefined;
1024
1044
  launch?: {
1025
- args?: string[] | undefined;
1026
1045
  userDataDir?: string | undefined;
1027
1046
  profile?: "per-test" | undefined;
1047
+ args?: string[] | undefined;
1028
1048
  } | undefined;
1029
1049
  storageState?: string | undefined;
1030
1050
  teardownTimeoutMs?: number | undefined;
1051
+ testTimeoutMs?: number | undefined;
1031
1052
  schedules?: {
1032
1053
  collection: string;
1033
1054
  cron: string;
@@ -1039,4 +1060,4 @@ type UnotestConfig = z.infer<typeof UnotestConfigSchema>;
1039
1060
  type UnotestConfigInput = z.input<typeof UnotestConfigSchema>;
1040
1061
  declare const DEFAULT_CONFIG: UnotestConfig;
1041
1062
 
1042
- export { BROWSER_CHANNEL_WORDS, type Browser, type BrowserChannel, BrowserChannelSchema, BrowserSchema, DEFAULT_CONFIG, type DialogPolicy, DialogPolicySchema, type EnvConfig, EnvConfigSchema, type FailureBundleConfig, FailureBundleConfigSchema, type LinterConfig, LinterConfigSchema, type LinterRuleId, LinterRuleIdSchema, type LinterSeverity, LinterSeveritySchema, type McpConfig, McpConfigSchema, type QueueConfig, QueueConfigSchema, type RetryConfig, RetryConfigSchema, type RetryReason, RetryReasonSchema, SYSTEM_BROWSER_CHANNELS, type SandboxConfig, SandboxConfigSchema, type ScheduleConfig, ScheduleSchema, type UnotestConfig, type UnotestConfigInput, UnotestConfigSchema, type Viewport, ViewportSchema, type WebServerConfig, WebServerConfigSchema, WebServersConfigSchema };
1063
+ export { BROWSER_CHANNEL_WORDS, type Browser, type BrowserChannel, BrowserChannelSchema, BrowserSchema, DEFAULT_CONFIG, type DialogPolicy, DialogPolicySchema, type EnvConfig, EnvConfigSchema, type FailureBundleConfig, FailureBundleConfigSchema, type LinterConfig, LinterConfigSchema, type LinterRuleId, LinterRuleIdSchema, type LinterSeverity, LinterSeveritySchema, type McpConfig, McpConfigSchema, type QueueConfig, QueueConfigSchema, type RetryConfig, RetryConfigSchema, type RetryReason, RetryReasonSchema, SYSTEM_BROWSER_CHANNELS, type SandboxConfig, SandboxConfigSchema, type ScheduleConfig, ScheduleSchema, type UnotestConfig, type UnotestConfigInput, UnotestConfigSchema, type Viewport, ViewportSchema, type WebServerConfig, WebServerConfigSchema, WebServersConfigSchema, viewportDeviceConflict };