@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.
- package/.claude/skills/write-e2e-test/SKILL.md +7 -2
- package/.claude/skills/write-e2e-test-ground/SKILL.md +7 -2
- package/CHANGELOG.md +159 -3
- package/README.md +2 -1
- package/dist/config/schema.d.ts +139 -118
- package/dist/config/schema.js +1 -1
- package/dist/driver/index.d.ts +2 -2
- package/dist/driver/index.js +1 -1
- package/dist/dsl/index.d.ts +36 -4
- package/dist/dsl/index.js +1 -1
- package/dist/dsl/web-dsl-language-service.d.ts +1 -1
- package/dist/dsl/web-dsl-language-service.js +1 -1
- package/dist/inspection/page-inject.d.ts +1 -1
- package/dist/{interfaces-LE6GsJ0c.d.ts → interfaces-CTMGjJIs.d.ts} +8 -0
- package/dist/{linter-BWSAYBQy.d.ts → linter-RrjB1n9R.d.ts} +5 -0
- package/dist/mcp/server.js +1 -1
- package/dist/runner/cli.d.ts +1 -1
- package/dist/runner/cli.js +1 -1
- package/dist/runner/init/chrome-probe.js +1 -1
- package/dist/runner/init.d.ts +6 -1
- package/dist/runner/init.js +1 -1
- package/dist/runner/install-chromium.js +1 -1
- package/dist/runner/prepare-fix.js +1 -1
- package/dist/runner/scaffold-workspace.js +1 -1
- package/dist/runner/serve-fixture.js +1 -1
- package/dist/runner/web-runner-adapter.js +1 -1
- package/guides/dsl-reference.md +128 -30
- package/package.json +8 -8
- package/src/mcp/prompts/agent-test-author.md +10 -7
- package/types/unotest-dsl.d.ts +4 -4
package/dist/config/schema.d.ts
CHANGED
|
@@ -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: ("
|
|
52
|
+
on: ("transient" | "network" | "crash")[];
|
|
46
53
|
}, {
|
|
47
54
|
count: number;
|
|
48
|
-
on: ("
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
325
|
+
url: string;
|
|
320
326
|
reuseExistingServer?: boolean | undefined;
|
|
327
|
+
timeoutMs?: number | undefined;
|
|
321
328
|
} | {
|
|
322
|
-
url: string;
|
|
323
329
|
command: string;
|
|
324
|
-
|
|
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
|
-
|
|
340
|
+
url: string;
|
|
335
341
|
reuseExistingServer?: boolean | undefined;
|
|
342
|
+
timeoutMs?: number | undefined;
|
|
336
343
|
} | {
|
|
337
|
-
url: string;
|
|
338
344
|
command: string;
|
|
339
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
425
|
+
url: string;
|
|
420
426
|
reuseExistingServer?: boolean | undefined;
|
|
427
|
+
timeoutMs?: number | undefined;
|
|
421
428
|
} | {
|
|
422
|
-
url: string;
|
|
423
429
|
command: string;
|
|
424
|
-
|
|
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
|
-
|
|
440
|
+
url: string;
|
|
435
441
|
reuseExistingServer?: boolean | undefined;
|
|
442
|
+
timeoutMs?: number | undefined;
|
|
436
443
|
} | {
|
|
437
|
-
url: string;
|
|
438
444
|
command: string;
|
|
439
|
-
|
|
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: ("
|
|
515
|
+
on: ("transient" | "network" | "crash")[];
|
|
499
516
|
}, {
|
|
500
517
|
count: number;
|
|
501
|
-
on: ("
|
|
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
|
-
|
|
713
|
-
|
|
729
|
+
env: {
|
|
730
|
+
shared: string[];
|
|
731
|
+
};
|
|
714
732
|
browsers: ("chromium" | "firefox" | "webkit")[];
|
|
715
733
|
retry: {
|
|
716
734
|
count: number;
|
|
717
|
-
on: ("
|
|
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
|
-
|
|
737
|
-
|
|
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
|
-
|
|
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
|
-
|
|
792
|
-
|
|
809
|
+
env: {
|
|
810
|
+
shared?: string[] | undefined;
|
|
811
|
+
};
|
|
793
812
|
browsers: ("chromium" | "firefox" | "webkit")[];
|
|
794
813
|
retry: {
|
|
795
814
|
count: number;
|
|
796
|
-
on: ("
|
|
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
|
-
|
|
816
|
-
|
|
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
|
-
|
|
859
|
+
url: string;
|
|
846
860
|
reuseExistingServer?: boolean | undefined;
|
|
861
|
+
timeoutMs?: number | undefined;
|
|
847
862
|
} | {
|
|
848
|
-
url: string;
|
|
849
863
|
command: string;
|
|
850
|
-
|
|
864
|
+
url: string;
|
|
851
865
|
reuseExistingServer?: boolean | undefined;
|
|
866
|
+
timeoutMs?: number | undefined;
|
|
852
867
|
}[] | undefined;
|
|
853
|
-
|
|
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
|
-
|
|
876
|
-
|
|
894
|
+
env: {
|
|
895
|
+
shared: string[];
|
|
896
|
+
};
|
|
877
897
|
browsers: ("chromium" | "firefox" | "webkit")[];
|
|
878
898
|
retry: {
|
|
879
899
|
count: number;
|
|
880
|
-
on: ("
|
|
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
|
-
|
|
900
|
-
|
|
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
|
-
|
|
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
|
-
|
|
955
|
-
|
|
974
|
+
env: {
|
|
975
|
+
shared?: string[] | undefined;
|
|
976
|
+
};
|
|
956
977
|
browsers: ("chromium" | "firefox" | "webkit")[];
|
|
957
978
|
retry: {
|
|
958
979
|
count: number;
|
|
959
|
-
on: ("
|
|
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
|
-
|
|
979
|
-
|
|
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
|
-
|
|
1024
|
+
url: string;
|
|
1009
1025
|
reuseExistingServer?: boolean | undefined;
|
|
1026
|
+
timeoutMs?: number | undefined;
|
|
1010
1027
|
} | {
|
|
1011
|
-
url: string;
|
|
1012
1028
|
command: string;
|
|
1013
|
-
|
|
1029
|
+
url: string;
|
|
1014
1030
|
reuseExistingServer?: boolean | undefined;
|
|
1031
|
+
timeoutMs?: number | undefined;
|
|
1015
1032
|
}[] | undefined;
|
|
1016
|
-
|
|
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 };
|