@unotest/web 0.42.0 → 0.43.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/CHANGELOG.md +423 -3
- package/README.md +37 -5
- package/dist/config/schema.d.ts +98 -63
- package/dist/config/schema.js +1 -1
- package/dist/driver/index.js +1 -1
- package/dist/dsl/index.d.ts +66 -2
- 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/{linter-Yf4gPe5J.d.ts → linter-BWSAYBQy.d.ts} +24 -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.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/agent-integration.md +105 -6
- package/guides/dsl-reference.md +19 -0
- package/package.json +8 -8
package/dist/config/schema.d.ts
CHANGED
|
@@ -10,12 +10,19 @@ type Browser = z.infer<typeof BrowserSchema>;
|
|
|
10
10
|
* Ignored for firefox / webkit browsers (Playwright has no system
|
|
11
11
|
* channel for those). Chosen at init time via the browser prompt;
|
|
12
12
|
* user can flip later in unotest.config.{mjs,js,ts}. */
|
|
13
|
-
declare const
|
|
13
|
+
declare const SYSTEM_BROWSER_CHANNELS: readonly ["chrome", "msedge", "chrome-beta", "chromium"];
|
|
14
|
+
/** Every word either input accepts, in one place: this schema and the
|
|
15
|
+
* reader of `UNOTEST_BROWSER_CHANNEL` (`runner-env.ts`) take the same
|
|
16
|
+
* list. They used to keep two — `bundled` was a word the variable knew
|
|
17
|
+
* and the config refused, while the `.env` template promised the
|
|
18
|
+
* variable merely "overrides channel" (#209). */
|
|
19
|
+
declare const BROWSER_CHANNEL_WORDS: readonly ["chrome", "msedge", "chrome-beta", "chromium", "bundled"];
|
|
20
|
+
declare const BrowserChannelSchema: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["chrome", "msedge", "chrome-beta", "chromium"]>, z.ZodEffects<z.ZodLiteral<"bundled">, null, "bundled">, z.ZodNull]>>;
|
|
14
21
|
type BrowserChannel = z.infer<typeof BrowserChannelSchema>;
|
|
15
22
|
declare const ViewportSchema: z.ZodObject<{
|
|
16
23
|
width: z.ZodNumber;
|
|
17
24
|
height: z.ZodNumber;
|
|
18
|
-
}, "
|
|
25
|
+
}, "strict", z.ZodTypeAny, {
|
|
19
26
|
width: number;
|
|
20
27
|
height: number;
|
|
21
28
|
}, {
|
|
@@ -28,12 +35,12 @@ type RetryReason = z.infer<typeof RetryReasonSchema>;
|
|
|
28
35
|
declare const RetryConfigSchema: z.ZodObject<{
|
|
29
36
|
count: z.ZodNumber;
|
|
30
37
|
on: z.ZodArray<z.ZodEnum<["transient", "network", "crash"]>, "many">;
|
|
31
|
-
}, "
|
|
38
|
+
}, "strict", z.ZodTypeAny, {
|
|
32
39
|
count: number;
|
|
33
|
-
on: ("
|
|
40
|
+
on: ("transient" | "network" | "crash")[];
|
|
34
41
|
}, {
|
|
35
42
|
count: number;
|
|
36
|
-
on: ("
|
|
43
|
+
on: ("transient" | "network" | "crash")[];
|
|
37
44
|
}>;
|
|
38
45
|
type RetryConfig = z.infer<typeof RetryConfigSchema>;
|
|
39
46
|
declare const FailureBundleConfigSchema: z.ZodObject<{
|
|
@@ -44,7 +51,7 @@ declare const FailureBundleConfigSchema: z.ZodObject<{
|
|
|
44
51
|
tier3: z.ZodObject<{
|
|
45
52
|
network: z.ZodBoolean;
|
|
46
53
|
video: z.ZodBoolean;
|
|
47
|
-
}, "
|
|
54
|
+
}, "strict", z.ZodTypeAny, {
|
|
48
55
|
network: boolean;
|
|
49
56
|
video: boolean;
|
|
50
57
|
}, {
|
|
@@ -54,7 +61,7 @@ declare const FailureBundleConfigSchema: z.ZodObject<{
|
|
|
54
61
|
retention: z.ZodObject<{
|
|
55
62
|
runs: z.ZodNumber;
|
|
56
63
|
days: z.ZodNumber;
|
|
57
|
-
}, "
|
|
64
|
+
}, "strict", z.ZodTypeAny, {
|
|
58
65
|
runs: number;
|
|
59
66
|
days: number;
|
|
60
67
|
}, {
|
|
@@ -62,7 +69,7 @@ declare const FailureBundleConfigSchema: z.ZodObject<{
|
|
|
62
69
|
days: number;
|
|
63
70
|
}>;
|
|
64
71
|
storageDir: z.ZodString;
|
|
65
|
-
}, "
|
|
72
|
+
}, "strict", z.ZodTypeAny, {
|
|
66
73
|
tier1: true;
|
|
67
74
|
tier2: boolean;
|
|
68
75
|
tier3: {
|
|
@@ -90,19 +97,19 @@ declare const FailureBundleConfigSchema: z.ZodObject<{
|
|
|
90
97
|
type FailureBundleConfig = z.infer<typeof FailureBundleConfigSchema>;
|
|
91
98
|
declare const DialogPolicySchema: z.ZodEnum<["accept", "dismiss", "manual"]>;
|
|
92
99
|
type DialogPolicy = z.infer<typeof DialogPolicySchema>;
|
|
93
|
-
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:one-test-per-file", "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"]>;
|
|
100
|
+
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", "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"]>;
|
|
94
101
|
type LinterRuleId = z.infer<typeof LinterRuleIdSchema>;
|
|
95
102
|
declare const LinterSeveritySchema: z.ZodEnum<["off", "warn", "error"]>;
|
|
96
103
|
type LinterSeverity = z.infer<typeof LinterSeveritySchema>;
|
|
97
104
|
declare const LinterConfigSchema: z.ZodObject<{
|
|
98
105
|
enabled: z.ZodBoolean;
|
|
99
|
-
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:one-test-per-file", "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"]>>;
|
|
100
|
-
}, "
|
|
106
|
+
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", "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"]>>;
|
|
107
|
+
}, "strict", z.ZodTypeAny, {
|
|
101
108
|
enabled: boolean;
|
|
102
|
-
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:one-test-per-file" | "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">>;
|
|
109
|
+
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" | "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">>;
|
|
103
110
|
}, {
|
|
104
111
|
enabled: boolean;
|
|
105
|
-
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:one-test-per-file" | "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">>;
|
|
112
|
+
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" | "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">>;
|
|
106
113
|
}>;
|
|
107
114
|
type LinterConfig = z.infer<typeof LinterConfigSchema>;
|
|
108
115
|
declare const QueueConfigSchema: z.ZodObject<{
|
|
@@ -112,7 +119,7 @@ declare const QueueConfigSchema: z.ZodObject<{
|
|
|
112
119
|
/** How many runs may be in flight for one environment. 1 (the default)
|
|
113
120
|
* is strict FIFO — the machine runs one thing at a time. */
|
|
114
121
|
concurrency: z.ZodDefault<z.ZodNumber>;
|
|
115
|
-
}, "
|
|
122
|
+
}, "strict", z.ZodTypeAny, {
|
|
116
123
|
enabled: boolean;
|
|
117
124
|
concurrency: number;
|
|
118
125
|
}, {
|
|
@@ -136,7 +143,7 @@ declare const ScheduleSchema: z.ZodObject<{
|
|
|
136
143
|
* — seeding a database, resetting a fixture. Its failure is reported
|
|
137
144
|
* as "the environment was not prepared", not as a red suite. */
|
|
138
145
|
prepare: z.ZodOptional<z.ZodString>;
|
|
139
|
-
}, "
|
|
146
|
+
}, "strict", z.ZodTypeAny, {
|
|
140
147
|
collection: string;
|
|
141
148
|
cron: string;
|
|
142
149
|
env?: string | undefined;
|
|
@@ -150,7 +157,7 @@ declare const ScheduleSchema: z.ZodObject<{
|
|
|
150
157
|
type ScheduleConfig = z.infer<typeof ScheduleSchema>;
|
|
151
158
|
declare const McpConfigSchema: z.ZodObject<{
|
|
152
159
|
transport: z.ZodLiteral<"stdio">;
|
|
153
|
-
}, "
|
|
160
|
+
}, "strict", z.ZodTypeAny, {
|
|
154
161
|
transport: "stdio";
|
|
155
162
|
}, {
|
|
156
163
|
transport: "stdio";
|
|
@@ -182,7 +189,7 @@ declare const SandboxConfigSchema: z.ZodObject<{
|
|
|
182
189
|
* against it and may not escape it. Defaults to the project root
|
|
183
190
|
* (the runner's cwd). */
|
|
184
191
|
uploadDir: z.ZodOptional<z.ZodString>;
|
|
185
|
-
}, "
|
|
192
|
+
}, "strict", z.ZodTypeAny, {
|
|
186
193
|
shellCwd?: string | undefined;
|
|
187
194
|
shellTimeoutMs?: number | undefined;
|
|
188
195
|
exportSecrets?: string[] | undefined;
|
|
@@ -214,18 +221,29 @@ declare const WebServerConfigSchema: z.ZodObject<{
|
|
|
214
221
|
reuseExistingServer: z.ZodDefault<z.ZodBoolean>;
|
|
215
222
|
/** How long to wait for the URL to come up after spawning. */
|
|
216
223
|
timeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
217
|
-
}, "
|
|
218
|
-
url: string;
|
|
219
|
-
timeoutMs: number;
|
|
224
|
+
}, "strict", z.ZodTypeAny, {
|
|
220
225
|
command: string;
|
|
226
|
+
url: string;
|
|
221
227
|
reuseExistingServer: boolean;
|
|
228
|
+
timeoutMs: number;
|
|
222
229
|
}, {
|
|
223
|
-
url: string;
|
|
224
230
|
command: string;
|
|
225
|
-
|
|
231
|
+
url: string;
|
|
226
232
|
reuseExistingServer?: boolean | undefined;
|
|
233
|
+
timeoutMs?: number | undefined;
|
|
227
234
|
}>;
|
|
228
235
|
type WebServerConfig = z.infer<typeof WebServerConfigSchema>;
|
|
236
|
+
declare const EnvConfigSchema: z.ZodObject<{
|
|
237
|
+
/** Variable names whose base `.env` value is deliberately shared by
|
|
238
|
+
* every environment. Only names that become a HOST are checked, so
|
|
239
|
+
* listing anything else has no effect. */
|
|
240
|
+
shared: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
241
|
+
}, "strict", z.ZodTypeAny, {
|
|
242
|
+
shared: string[];
|
|
243
|
+
}, {
|
|
244
|
+
shared?: string[] | undefined;
|
|
245
|
+
}>;
|
|
246
|
+
type EnvConfig = z.infer<typeof EnvConfigSchema>;
|
|
229
247
|
declare const UnotestConfigSchema: z.ZodObject<{
|
|
230
248
|
baseUrl: z.ZodOptional<z.ZodString>;
|
|
231
249
|
/** Dev-server lifecycle for the app under test (M-12). Unset → the app
|
|
@@ -248,23 +266,23 @@ declare const UnotestConfigSchema: z.ZodObject<{
|
|
|
248
266
|
reuseExistingServer: z.ZodDefault<z.ZodBoolean>;
|
|
249
267
|
/** How long to wait for the URL to come up after spawning. */
|
|
250
268
|
timeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
251
|
-
}, "
|
|
252
|
-
url: string;
|
|
253
|
-
timeoutMs: number;
|
|
269
|
+
}, "strict", z.ZodTypeAny, {
|
|
254
270
|
command: string;
|
|
271
|
+
url: string;
|
|
255
272
|
reuseExistingServer: boolean;
|
|
273
|
+
timeoutMs: number;
|
|
256
274
|
}, {
|
|
257
|
-
url: string;
|
|
258
275
|
command: string;
|
|
259
|
-
|
|
276
|
+
url: string;
|
|
260
277
|
reuseExistingServer?: boolean | undefined;
|
|
278
|
+
timeoutMs?: number | undefined;
|
|
261
279
|
}>>;
|
|
262
280
|
browsers: z.ZodArray<z.ZodEnum<["chromium", "firefox", "webkit"]>, "many">;
|
|
263
|
-
channel: z.ZodOptional<z.ZodUnion<[z.
|
|
281
|
+
channel: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["chrome", "msedge", "chrome-beta", "chromium"]>, z.ZodEffects<z.ZodLiteral<"bundled">, null, "bundled">, z.ZodNull]>>;
|
|
264
282
|
viewport: z.ZodObject<{
|
|
265
283
|
width: z.ZodNumber;
|
|
266
284
|
height: z.ZodNumber;
|
|
267
|
-
}, "
|
|
285
|
+
}, "strict", z.ZodTypeAny, {
|
|
268
286
|
width: number;
|
|
269
287
|
height: number;
|
|
270
288
|
}, {
|
|
@@ -278,21 +296,21 @@ declare const UnotestConfigSchema: z.ZodObject<{
|
|
|
278
296
|
userDataDir: z.ZodOptional<z.ZodString>;
|
|
279
297
|
args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
280
298
|
}, "strict", z.ZodTypeAny, {
|
|
281
|
-
args?: string[] | undefined;
|
|
282
299
|
userDataDir?: string | undefined;
|
|
283
|
-
}, {
|
|
284
300
|
args?: string[] | undefined;
|
|
301
|
+
}, {
|
|
285
302
|
userDataDir?: string | undefined;
|
|
303
|
+
args?: string[] | undefined;
|
|
286
304
|
}>>;
|
|
287
305
|
retry: z.ZodObject<{
|
|
288
306
|
count: z.ZodNumber;
|
|
289
307
|
on: z.ZodArray<z.ZodEnum<["transient", "network", "crash"]>, "many">;
|
|
290
|
-
}, "
|
|
308
|
+
}, "strict", z.ZodTypeAny, {
|
|
291
309
|
count: number;
|
|
292
|
-
on: ("
|
|
310
|
+
on: ("transient" | "network" | "crash")[];
|
|
293
311
|
}, {
|
|
294
312
|
count: number;
|
|
295
|
-
on: ("
|
|
313
|
+
on: ("transient" | "network" | "crash")[];
|
|
296
314
|
}>;
|
|
297
315
|
failureBundle: z.ZodObject<{
|
|
298
316
|
/** Tier 1 is always on by D-16. Schema lock — not user-toggleable. */
|
|
@@ -302,7 +320,7 @@ declare const UnotestConfigSchema: z.ZodObject<{
|
|
|
302
320
|
tier3: z.ZodObject<{
|
|
303
321
|
network: z.ZodBoolean;
|
|
304
322
|
video: z.ZodBoolean;
|
|
305
|
-
}, "
|
|
323
|
+
}, "strict", z.ZodTypeAny, {
|
|
306
324
|
network: boolean;
|
|
307
325
|
video: boolean;
|
|
308
326
|
}, {
|
|
@@ -312,7 +330,7 @@ declare const UnotestConfigSchema: z.ZodObject<{
|
|
|
312
330
|
retention: z.ZodObject<{
|
|
313
331
|
runs: z.ZodNumber;
|
|
314
332
|
days: z.ZodNumber;
|
|
315
|
-
}, "
|
|
333
|
+
}, "strict", z.ZodTypeAny, {
|
|
316
334
|
runs: number;
|
|
317
335
|
days: number;
|
|
318
336
|
}, {
|
|
@@ -320,7 +338,7 @@ declare const UnotestConfigSchema: z.ZodObject<{
|
|
|
320
338
|
days: number;
|
|
321
339
|
}>;
|
|
322
340
|
storageDir: z.ZodString;
|
|
323
|
-
}, "
|
|
341
|
+
}, "strict", z.ZodTypeAny, {
|
|
324
342
|
tier1: true;
|
|
325
343
|
tier2: boolean;
|
|
326
344
|
tier3: {
|
|
@@ -366,19 +384,30 @@ declare const UnotestConfigSchema: z.ZodObject<{
|
|
|
366
384
|
* slow-but-correct navigation.
|
|
367
385
|
* Override via `UNOTEST_DEFAULT_NAVIGATION_TIMEOUT_MS`. */
|
|
368
386
|
defaultNavigationTimeoutMs: z.ZodNumber;
|
|
387
|
+
/** Cross-environment declarations (`.env.<name>` overlays). */
|
|
388
|
+
env: z.ZodObject<{
|
|
389
|
+
/** Variable names whose base `.env` value is deliberately shared by
|
|
390
|
+
* every environment. Only names that become a HOST are checked, so
|
|
391
|
+
* listing anything else has no effect. */
|
|
392
|
+
shared: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
393
|
+
}, "strict", z.ZodTypeAny, {
|
|
394
|
+
shared: string[];
|
|
395
|
+
}, {
|
|
396
|
+
shared?: string[] | undefined;
|
|
397
|
+
}>;
|
|
369
398
|
linter: z.ZodObject<{
|
|
370
399
|
enabled: z.ZodBoolean;
|
|
371
|
-
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:one-test-per-file", "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"]>>;
|
|
372
|
-
}, "
|
|
400
|
+
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", "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"]>>;
|
|
401
|
+
}, "strict", z.ZodTypeAny, {
|
|
373
402
|
enabled: boolean;
|
|
374
|
-
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:one-test-per-file" | "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">>;
|
|
403
|
+
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" | "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">>;
|
|
375
404
|
}, {
|
|
376
405
|
enabled: boolean;
|
|
377
|
-
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:one-test-per-file" | "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">>;
|
|
406
|
+
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" | "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">>;
|
|
378
407
|
}>;
|
|
379
408
|
mcp: z.ZodObject<{
|
|
380
409
|
transport: z.ZodLiteral<"stdio">;
|
|
381
|
-
}, "
|
|
410
|
+
}, "strict", z.ZodTypeAny, {
|
|
382
411
|
transport: "stdio";
|
|
383
412
|
}, {
|
|
384
413
|
transport: "stdio";
|
|
@@ -390,7 +419,7 @@ declare const UnotestConfigSchema: z.ZodObject<{
|
|
|
390
419
|
/** How many runs may be in flight for one environment. 1 (the default)
|
|
391
420
|
* is strict FIFO — the machine runs one thing at a time. */
|
|
392
421
|
concurrency: z.ZodDefault<z.ZodNumber>;
|
|
393
|
-
}, "
|
|
422
|
+
}, "strict", z.ZodTypeAny, {
|
|
394
423
|
enabled: boolean;
|
|
395
424
|
concurrency: number;
|
|
396
425
|
}, {
|
|
@@ -414,7 +443,7 @@ declare const UnotestConfigSchema: z.ZodObject<{
|
|
|
414
443
|
* — seeding a database, resetting a fixture. Its failure is reported
|
|
415
444
|
* as "the environment was not prepared", not as a red suite. */
|
|
416
445
|
prepare: z.ZodOptional<z.ZodString>;
|
|
417
|
-
}, "
|
|
446
|
+
}, "strict", z.ZodTypeAny, {
|
|
418
447
|
collection: string;
|
|
419
448
|
cron: string;
|
|
420
449
|
env?: string | undefined;
|
|
@@ -451,7 +480,7 @@ declare const UnotestConfigSchema: z.ZodObject<{
|
|
|
451
480
|
* against it and may not escape it. Defaults to the project root
|
|
452
481
|
* (the runner's cwd). */
|
|
453
482
|
uploadDir: z.ZodOptional<z.ZodString>;
|
|
454
|
-
}, "
|
|
483
|
+
}, "strict", z.ZodTypeAny, {
|
|
455
484
|
shellCwd?: string | undefined;
|
|
456
485
|
shellTimeoutMs?: number | undefined;
|
|
457
486
|
exportSecrets?: string[] | undefined;
|
|
@@ -466,9 +495,10 @@ declare const UnotestConfigSchema: z.ZodObject<{
|
|
|
466
495
|
apiBaseUrl?: string | undefined;
|
|
467
496
|
uploadDir?: string | undefined;
|
|
468
497
|
}>;
|
|
469
|
-
}, "
|
|
470
|
-
|
|
471
|
-
|
|
498
|
+
}, "strict", z.ZodTypeAny, {
|
|
499
|
+
env: {
|
|
500
|
+
shared: string[];
|
|
501
|
+
};
|
|
472
502
|
browsers: ("chromium" | "firefox" | "webkit")[];
|
|
473
503
|
viewport: {
|
|
474
504
|
width: number;
|
|
@@ -476,7 +506,7 @@ declare const UnotestConfigSchema: z.ZodObject<{
|
|
|
476
506
|
};
|
|
477
507
|
retry: {
|
|
478
508
|
count: number;
|
|
479
|
-
on: ("
|
|
509
|
+
on: ("transient" | "network" | "crash")[];
|
|
480
510
|
};
|
|
481
511
|
failureBundle: {
|
|
482
512
|
tier1: true;
|
|
@@ -494,9 +524,11 @@ declare const UnotestConfigSchema: z.ZodObject<{
|
|
|
494
524
|
dialogPolicy: "accept" | "dismiss" | "manual";
|
|
495
525
|
testDir: string;
|
|
496
526
|
helpersDir: string;
|
|
527
|
+
defaultTimeoutMs: number;
|
|
528
|
+
defaultNavigationTimeoutMs: number;
|
|
497
529
|
linter: {
|
|
498
530
|
enabled: boolean;
|
|
499
|
-
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:one-test-per-file" | "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">>;
|
|
531
|
+
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" | "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">>;
|
|
500
532
|
};
|
|
501
533
|
mcp: {
|
|
502
534
|
transport: "stdio";
|
|
@@ -521,20 +553,21 @@ declare const UnotestConfigSchema: z.ZodObject<{
|
|
|
521
553
|
};
|
|
522
554
|
baseUrl?: string | undefined;
|
|
523
555
|
webServer?: {
|
|
524
|
-
url: string;
|
|
525
|
-
timeoutMs: number;
|
|
526
556
|
command: string;
|
|
557
|
+
url: string;
|
|
527
558
|
reuseExistingServer: boolean;
|
|
559
|
+
timeoutMs: number;
|
|
528
560
|
} | undefined;
|
|
529
|
-
channel?: "chrome" | "msedge" | "chrome-beta" |
|
|
561
|
+
channel?: "chromium" | "chrome" | "msedge" | "chrome-beta" | null | undefined;
|
|
530
562
|
launch?: {
|
|
531
|
-
args?: string[] | undefined;
|
|
532
563
|
userDataDir?: string | undefined;
|
|
564
|
+
args?: string[] | undefined;
|
|
533
565
|
} | undefined;
|
|
534
566
|
storageState?: string | undefined;
|
|
535
567
|
}, {
|
|
536
|
-
|
|
537
|
-
|
|
568
|
+
env: {
|
|
569
|
+
shared?: string[] | undefined;
|
|
570
|
+
};
|
|
538
571
|
browsers: ("chromium" | "firefox" | "webkit")[];
|
|
539
572
|
viewport: {
|
|
540
573
|
width: number;
|
|
@@ -542,7 +575,7 @@ declare const UnotestConfigSchema: z.ZodObject<{
|
|
|
542
575
|
};
|
|
543
576
|
retry: {
|
|
544
577
|
count: number;
|
|
545
|
-
on: ("
|
|
578
|
+
on: ("transient" | "network" | "crash")[];
|
|
546
579
|
};
|
|
547
580
|
failureBundle: {
|
|
548
581
|
tier2: boolean;
|
|
@@ -560,9 +593,11 @@ declare const UnotestConfigSchema: z.ZodObject<{
|
|
|
560
593
|
dialogPolicy: "accept" | "dismiss" | "manual";
|
|
561
594
|
testDir: string;
|
|
562
595
|
helpersDir: string;
|
|
596
|
+
defaultTimeoutMs: number;
|
|
597
|
+
defaultNavigationTimeoutMs: number;
|
|
563
598
|
linter: {
|
|
564
599
|
enabled: boolean;
|
|
565
|
-
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:one-test-per-file" | "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">>;
|
|
600
|
+
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" | "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">>;
|
|
566
601
|
};
|
|
567
602
|
mcp: {
|
|
568
603
|
transport: "stdio";
|
|
@@ -581,15 +616,15 @@ declare const UnotestConfigSchema: z.ZodObject<{
|
|
|
581
616
|
};
|
|
582
617
|
baseUrl?: string | undefined;
|
|
583
618
|
webServer?: {
|
|
584
|
-
url: string;
|
|
585
619
|
command: string;
|
|
586
|
-
|
|
620
|
+
url: string;
|
|
587
621
|
reuseExistingServer?: boolean | undefined;
|
|
622
|
+
timeoutMs?: number | undefined;
|
|
588
623
|
} | undefined;
|
|
589
|
-
channel?: "chrome" | "msedge" | "chrome-beta" | "
|
|
624
|
+
channel?: "chromium" | "chrome" | "msedge" | "chrome-beta" | "bundled" | null | undefined;
|
|
590
625
|
launch?: {
|
|
591
|
-
args?: string[] | undefined;
|
|
592
626
|
userDataDir?: string | undefined;
|
|
627
|
+
args?: string[] | undefined;
|
|
593
628
|
} | undefined;
|
|
594
629
|
storageState?: string | undefined;
|
|
595
630
|
schedules?: {
|
|
@@ -603,4 +638,4 @@ type UnotestConfig = z.infer<typeof UnotestConfigSchema>;
|
|
|
603
638
|
type UnotestConfigInput = z.input<typeof UnotestConfigSchema>;
|
|
604
639
|
declare const DEFAULT_CONFIG: UnotestConfig;
|
|
605
640
|
|
|
606
|
-
export { type Browser, type BrowserChannel, BrowserChannelSchema, BrowserSchema, DEFAULT_CONFIG, type DialogPolicy, DialogPolicySchema, type FailureBundleConfig, FailureBundleConfigSchema, type LinterConfig, LinterConfigSchema, type LinterRuleId, LinterRuleIdSchema, type LinterSeverity, LinterSeveritySchema, type McpConfig, McpConfigSchema, type QueueConfig, QueueConfigSchema, type RetryConfig, RetryConfigSchema, type RetryReason, RetryReasonSchema, type SandboxConfig, SandboxConfigSchema, type ScheduleConfig, ScheduleSchema, type UnotestConfig, type UnotestConfigInput, UnotestConfigSchema, type Viewport, ViewportSchema, type WebServerConfig, WebServerConfigSchema };
|
|
641
|
+
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 };
|
package/dist/config/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function _0x256a(){var _0x2d855b=['DMfSAwrHDg9YoMfYAxr5','BNvTyMvY','BgLUDdPZy2vUyxjPBY1PBI1YB290','D2fYBG','nJeZmte2AKDnANvL','zgLZBwLZCW','C3rYAw5N','y2HYB21PDw0','mZG1ndiWsef6D2vI','DhjHBNnPzw50','BwLU','mtm2whLjC1DY','DMfSAwrHDg9YoMLMlxnOyxbL','CMvJB3jK','mtbgvxjVq1u','DMfSAwrHDg9YoMXPC3qTyxjN','BgLUDdPLy2HVlwfZC2vYDa','BgL0zxjHBa','C3rKAw8','mte5ndbnsffUthm','zxjYB3i','lNvUB3rLC3qVzMfPBhvYzxm','BgLUDdPMBg93lxjLDhvYBNmTDMfSDwu','DMfSAwrHDg9YoNDYyxbWzwqTzM9YBwf0','BgLUDdPLDMfSDwf0zs1KAxnJB3vYywDLza','BxnLzgDL','BwfUDwfS','DMfSAwrHDg9YoM1LDgeTC2HHCgu','Dw5VDgvZDc9LmMu','DMfSAwrHDg9YoMzVCI1ZAgfWzq','yM9VBgvHBG','BMv0D29YAW','zw51Bq','BgLUDdPHCgKTy2fSBc1MAwXLlwjVzhK','BgLUDdPLEhrLCM5HBc12yxjPywjSzs11BMrLy2XHCMvK','BNvSBa','BgLUDdPKzwvWlwnZCW','B3b0Aw9UywW','BgLUDdPNB3rVlwnVBMnHDa','BgLUDdPWyxvZzs1LEhbSAwnPDa','Aw50','Cg9ZAxrPDMu','DMfSAwrHDg9YoNzHCI1ZAgfWzq','DMfSAwrHDg9YoNvUC3vWCg9YDgvKlwv4ChjLC3nPB24','Dw5PB24','zgvMyxvSDa','B2jQzwn0','ndm0mZvQCNz2z2C','BgLUDdPTDxn0ywnOzs1PBI1KC2W','oda1ndi4A0fpA1nY','BgLUDdP4Cgf0Aa','DxjS','DMfSAwrHDg9YoMz1BMn0Aw9UlxnOyxbL','D2vIA2L0','BgLUDdPVBMuTDgvZDc1WzxiTzMLSzq','ntiZnty5AezftfHx','ywnJzxb0','mtK1nZLKu1DzzuK','y2HYB21LlwjLDge','yxjYyxK','DMfSAwrHDg9YoNn0zxaTy292zxjHz2u','BgLUDdPSzwDHy3KTBgf5B3v0','C3rYAwn0'];_0x256a=function(){return _0x2d855b;};return _0x256a();}var _0x4d6978=_0x9989;(function(_0x376e58,_0x23aa0d){var _0x1502ed={_0x526bfd:0x1cc,_0x4efeca:0x1b6,_0x19deee:0x1d1,_0x5a637f:0x1c6,_0x490284:0x1ae,_0x57ae97:0x1c9},_0x3400bf=_0x9989,_0x3b6b5d=_0x376e58();while(!![]){try{var _0x2269a6=parseInt(_0x3400bf(0x1b8))/0x1*(parseInt(_0x3400bf(_0x1502ed._0x526bfd))/0x2)+parseInt(_0x3400bf(_0x1502ed._0x4efeca))/0x3+parseInt(_0x3400bf(_0x1502ed._0x19deee))/0x4+-parseInt(_0x3400bf(_0x1502ed._0x5a637f))/0x5+parseInt(_0x3400bf(0x1c2))/0x6+parseInt(_0x3400bf(_0x1502ed._0x490284))/0x7*(-parseInt(_0x3400bf(_0x1502ed._0x57ae97))/0x8)+-parseInt(_0x3400bf(0x1b0))/0x9;if(_0x2269a6===_0x23aa0d)break;else _0x3b6b5d['push'](_0x3b6b5d['shift']());}catch(_0x563132){_0x3b6b5d['push'](_0x3b6b5d['shift']());}}}(_0x256a,0x19c38));import{z as _0x22039d}from'zod';function _0x9989(_0x1db101,_0x2f10b3){_0x1db101=_0x1db101-0x1a1;var _0x256a05=_0x256a();var _0x9989e2=_0x256a05[_0x1db101];if(_0x9989['HbxpAQ']===undefined){var _0x23eb16=function(_0x1980ed){var _0x4af31c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x22039d='',_0x9864f='';for(var _0x45cdba=0x0,_0x571d47,_0x305ce7,_0x1e4659=0x0;_0x305ce7=_0x1980ed['charAt'](_0x1e4659++);~_0x305ce7&&(_0x571d47=_0x45cdba%0x4?_0x571d47*0x40+_0x305ce7:_0x305ce7,_0x45cdba++%0x4)?_0x22039d+=String['fromCharCode'](0xff&_0x571d47>>(-0x2*_0x45cdba&0x6)):0x0){_0x305ce7=_0x4af31c['indexOf'](_0x305ce7);}for(var _0x46c5da=0x0,_0x17dbd9=_0x22039d['length'];_0x46c5da<_0x17dbd9;_0x46c5da++){_0x9864f+='%'+('00'+_0x22039d['charCodeAt'](_0x46c5da)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x9864f);};_0x9989['sFnunZ']=_0x23eb16,_0x9989['FgKnyf']={},_0x9989['HbxpAQ']=!![];}var _0x256e04=_0x256a05[0x0],_0x4f800b=_0x1db101+_0x256e04,_0x5ef601=_0x9989['FgKnyf'][_0x4f800b];return!_0x5ef601?(_0x9989e2=_0x9989['sFnunZ'](_0x9989e2),_0x9989['FgKnyf'][_0x4f800b]=_0x9989e2):_0x9989e2=_0x5ef601,_0x9989e2;}import{z}from'zod';import{UnotestError}from'@unotest/core';var LaunchConfigSchema=z['object']({'userDataDir':z[_0x4d6978(0x1c4)]()[_0x4d6978(0x1c8)](0x1)[_0x4d6978(0x1a4)](),'args':z[_0x4d6978(0x1ba)](z[_0x4d6978(0x1c4)]()['min'](0x1))[_0x4d6978(0x1a4)]()})[_0x4d6978(0x1bd)](),BrowserSchema=_0x22039d['enum']([_0x4d6978(0x1c5),'firefox',_0x4d6978(0x1b4)]),BrowserChannelSchema=_0x22039d[_0x4d6978(0x1ab)]([_0x22039d[_0x4d6978(0x1cf)]('chrome'),_0x22039d['literal'](_0x4d6978(0x1d7)),_0x22039d[_0x4d6978(0x1cf)](_0x4d6978(0x1b9)),_0x22039d[_0x4d6978(0x1cf)]('chromium'),_0x22039d[_0x4d6978(0x1a2)]()])[_0x4d6978(0x1a4)](),ViewportSchema=_0x22039d[_0x4d6978(0x1ad)]({'width':_0x22039d[_0x4d6978(0x1bf)]()[_0x4d6978(0x1a7)]()['positive'](),'height':_0x22039d[_0x4d6978(0x1bf)]()[_0x4d6978(0x1a7)]()[_0x4d6978(0x1a8)]()}),RetryReasonSchema=_0x22039d[_0x4d6978(0x1de)]([_0x4d6978(0x1c7),_0x4d6978(0x1dd),'crash']),RetryConfigSchema=_0x22039d['object']({'count':_0x22039d[_0x4d6978(0x1bf)]()[_0x4d6978(0x1a7)]()[_0x4d6978(0x1c8)](0x0)['max'](0xa),'on':_0x22039d['array'](RetryReasonSchema)}),FailureBundleConfigSchema=_0x22039d[_0x4d6978(0x1ad)]({'tier1':_0x22039d[_0x4d6978(0x1cf)](!![])[_0x4d6978(0x1ac)](!![]),'tier2':_0x22039d['boolean'](),'tier3':_0x22039d[_0x4d6978(0x1ad)]({'network':_0x22039d['boolean'](),'video':_0x22039d['boolean']()}),'retention':_0x22039d[_0x4d6978(0x1ad)]({'runs':_0x22039d[_0x4d6978(0x1bf)]()['int']()[_0x4d6978(0x1a8)](),'days':_0x22039d[_0x4d6978(0x1bf)]()['int']()[_0x4d6978(0x1a8)]()}),'storageDir':_0x22039d[_0x4d6978(0x1c4)]()[_0x4d6978(0x1c8)](0x1)}),DialogPolicySchema=_0x22039d[_0x4d6978(0x1de)]([_0x4d6978(0x1b7),_0x4d6978(0x1c3),_0x4d6978(0x1d8)]),LinterRuleIdSchema=_0x22039d[_0x4d6978(0x1de)]([_0x4d6978(0x1a3),_0x4d6978(0x1b1),'lint:obfuscated-class',_0x4d6978(0x1a6),'lint:disambig-by-index',_0x4d6978(0x1d6),_0x4d6978(0x1c0),_0x4d6978(0x1af),_0x4d6978(0x1a5),'lint:regex-invalid',_0x4d6978(0x1ce),_0x4d6978(0x1df),'lint:lint-ok-missing-reason',_0x4d6978(0x1d4),_0x4d6978(0x1bc),_0x4d6978(0x1a1),_0x4d6978(0x1b5),'validator:unknown-function',_0x4d6978(0x1be),'validator:arg-kind',_0x4d6978(0x1bb),'validator:step-shape',_0x4d6978(0x1d9),_0x4d6978(0x1b3),_0x4d6978(0x1db),_0x4d6978(0x1ca),_0x4d6978(0x1a9),'validator:unsupported-statement',_0x4d6978(0x1aa),'validator:string-concat','validator:semantic-loss',_0x4d6978(0x1cd),_0x4d6978(0x1d5)]),LinterSeveritySchema=_0x22039d[_0x4d6978(0x1de)](['off',_0x4d6978(0x1c1),'error']),LinterConfigSchema=_0x22039d[_0x4d6978(0x1ad)]({'enabled':_0x22039d[_0x4d6978(0x1dc)](),'rules':_0x22039d[_0x4d6978(0x1cb)](LinterRuleIdSchema,LinterSeveritySchema)}),QueueConfigSchema=_0x22039d[_0x4d6978(0x1ad)]({'enabled':_0x22039d[_0x4d6978(0x1dc)]()['default'](!![]),'concurrency':_0x22039d['number']()[_0x4d6978(0x1a7)]()[_0x4d6978(0x1a8)]()[_0x4d6978(0x1ac)](0x1)}),ScheduleSchema=_0x22039d[_0x4d6978(0x1ad)]({'collection':_0x22039d[_0x4d6978(0x1c4)]()[_0x4d6978(0x1c8)](0x1),'cron':_0x22039d[_0x4d6978(0x1c4)]()[_0x4d6978(0x1c8)](0x1),'env':_0x22039d[_0x4d6978(0x1c4)]()[_0x4d6978(0x1c8)](0x1)[_0x4d6978(0x1a4)](),'prepare':_0x22039d['string']()[_0x4d6978(0x1c8)](0x1)['optional']()}),McpConfigSchema=_0x22039d['object']({'transport':_0x22039d[_0x4d6978(0x1cf)]('stdio')}),SandboxConfigSchema=_0x22039d[_0x4d6978(0x1ad)]({'shellCwd':_0x22039d[_0x4d6978(0x1c4)]()[_0x4d6978(0x1a4)](),'shellTimeoutMs':_0x22039d['number']()[_0x4d6978(0x1a7)]()[_0x4d6978(0x1a8)]()[_0x4d6978(0x1a4)](),'exportSecrets':_0x22039d[_0x4d6978(0x1ba)](_0x22039d['string']())[_0x4d6978(0x1a4)](),'database':_0x22039d[_0x4d6978(0x1c4)]()['optional'](),'apiBaseUrl':_0x22039d[_0x4d6978(0x1c4)]()[_0x4d6978(0x1b2)]()['optional'](),'uploadDir':_0x22039d[_0x4d6978(0x1c4)]()[_0x4d6978(0x1a4)]()}),WebServerConfigSchema=_0x22039d[_0x4d6978(0x1ad)]({'command':_0x22039d[_0x4d6978(0x1c4)]()[_0x4d6978(0x1c8)](0x1),'url':_0x22039d['string']()['url'](),'reuseExistingServer':_0x22039d['boolean']()[_0x4d6978(0x1ac)](!![]),'timeoutMs':_0x22039d[_0x4d6978(0x1bf)]()[_0x4d6978(0x1a7)]()[_0x4d6978(0x1a8)]()[_0x4d6978(0x1ac)](0xea60)}),UnotestConfigSchema=_0x22039d[_0x4d6978(0x1ad)]({'baseUrl':_0x22039d['string']()[_0x4d6978(0x1b2)]()[_0x4d6978(0x1a4)](),'webServer':WebServerConfigSchema[_0x4d6978(0x1a4)](),'browsers':_0x22039d[_0x4d6978(0x1ba)](BrowserSchema)[_0x4d6978(0x1c8)](0x1),'channel':BrowserChannelSchema,'viewport':ViewportSchema,'launch':LaunchConfigSchema['optional'](),'retry':RetryConfigSchema,'failureBundle':FailureBundleConfigSchema,'dialogPolicy':DialogPolicySchema,'storageState':_0x22039d['string']()[_0x4d6978(0x1a4)](),'testDir':_0x22039d[_0x4d6978(0x1c4)]()[_0x4d6978(0x1c8)](0x1),'helpersDir':_0x22039d[_0x4d6978(0x1c4)]()[_0x4d6978(0x1c8)](0x1),'defaultTimeoutMs':_0x22039d[_0x4d6978(0x1bf)]()[_0x4d6978(0x1a7)]()[_0x4d6978(0x1a8)](),'defaultNavigationTimeoutMs':_0x22039d[_0x4d6978(0x1bf)]()[_0x4d6978(0x1a7)]()[_0x4d6978(0x1a8)](),'linter':LinterConfigSchema,'mcp':McpConfigSchema,'queue':QueueConfigSchema,'schedules':_0x22039d[_0x4d6978(0x1ba)](ScheduleSchema)['default']([]),'sandbox':SandboxConfigSchema}),DEFAULT_CONFIG={'browsers':[_0x4d6978(0x1c5)],'viewport':{'width':0x500,'height':0x2d0},'retry':{'count':0x0,'on':[_0x4d6978(0x1c7)]},'failureBundle':{'tier1':!![],'tier2':!![],'tier3':{'network':![],'video':![]},'retention':{'runs':0x14,'days':0x7},'storageDir':_0x4d6978(0x1d3)},'dialogPolicy':_0x4d6978(0x1b7),'testDir':_0x4d6978(0x1da),'helpersDir':'unotest/e2e/_helpers','defaultTimeoutMs':0xbb8,'defaultNavigationTimeoutMs':0x7530,'linter':{'enabled':!![],'rules':{'lint:deep-css':_0x4d6978(0x1c1),'lint:xpath':_0x4d6978(0x1c1),'lint:obfuscated-class':_0x4d6978(0x1c1),'lint:pause-explicit':'warn','lint:disambig-by-index':'off','lint:evaluate-discouraged':_0x4d6978(0x1c1),'lint:scenario-in-root':_0x4d6978(0x1d2),'lint:mustache-in-dsl':_0x4d6978(0x1d2),'lint:goto-concat':_0x4d6978(0x1c1),'lint:regex-invalid':'error','lint:echo-assert':'warn','lint:lint-ok-missing-reason':'warn','lint:flow-returns-value':_0x4d6978(0x1c1),'lint:legacy-layout':'warn','lint:external-variable-undeclared':_0x4d6978(0x1d2),'lint:one-test-per-file':_0x4d6978(0x1c1),'validator:unknown-function':_0x4d6978(0x1d2)}},'mcp':{'transport':_0x4d6978(0x1d0)},'queue':{'enabled':!![],'concurrency':0x1},'schedules':[],'sandbox':{}};export{BrowserChannelSchema,BrowserSchema,DEFAULT_CONFIG,DialogPolicySchema,FailureBundleConfigSchema,LinterConfigSchema,LinterRuleIdSchema,LinterSeveritySchema,McpConfigSchema,QueueConfigSchema,RetryConfigSchema,RetryReasonSchema,SandboxConfigSchema,ScheduleSchema,UnotestConfigSchema,ViewportSchema,WebServerConfigSchema};
|
|
1
|
+
var _0x35f08b=_0x7b5c;(function(_0x3900aa,_0x651d58){var _0x520f7d={_0x45de20:0xbf,_0x2347bd:0x96,_0x2f1497:0xc0,_0x442d3a:0x97,_0x54c77c:0xab,_0x5f9c1d:0xa8},_0x475de5=_0x7b5c,_0xb9069f=_0x3900aa();while(!![]){try{var _0x310fed=parseInt(_0x475de5(0xcb))/0x1*(-parseInt(_0x475de5(_0x520f7d._0x45de20))/0x2)+-parseInt(_0x475de5(_0x520f7d._0x2347bd))/0x3+-parseInt(_0x475de5(0x88))/0x4*(-parseInt(_0x475de5(_0x520f7d._0x2f1497))/0x5)+-parseInt(_0x475de5(0x87))/0x6+parseInt(_0x475de5(0xb3))/0x7+parseInt(_0x475de5(_0x520f7d._0x442d3a))/0x8*(-parseInt(_0x475de5(0xc8))/0x9)+parseInt(_0x475de5(_0x520f7d._0x54c77c))/0xa*(parseInt(_0x475de5(_0x520f7d._0x5f9c1d))/0xb);if(_0x310fed===_0x651d58)break;else _0xb9069f['push'](_0xb9069f['shift']());}catch(_0x4295da){_0xb9069f['push'](_0xb9069f['shift']());}}}(_0x2812,0x7d199));var __defProp=Object[_0x35f08b(0x95)],__name=(_0x30e000,_0x2700d4)=>__defProp(_0x30e000,_0x35f08b(0x8b),{'value':_0x2700d4,'configurable':!![]});function _0x7b5c(_0x3dece4,_0x17b132){_0x3dece4=_0x3dece4-0x86;var _0x281288=_0x2812();var _0x7b5ccb=_0x281288[_0x3dece4];if(_0x7b5c['kaiKbm']===undefined){var _0x3d5535=function(_0x2ddd68){var _0x390cca='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x5661df='',_0x44e8fb='';for(var _0x30e000=0x0,_0x2700d4,_0x15c8ac,_0x57d7dc=0x0;_0x15c8ac=_0x2ddd68['charAt'](_0x57d7dc++);~_0x15c8ac&&(_0x2700d4=_0x30e000%0x4?_0x2700d4*0x40+_0x15c8ac:_0x15c8ac,_0x30e000++%0x4)?_0x5661df+=String['fromCharCode'](0xff&_0x2700d4>>(-0x2*_0x30e000&0x6)):0x0){_0x15c8ac=_0x390cca['indexOf'](_0x15c8ac);}for(var _0x37c423=0x0,_0x2fe3da=_0x5661df['length'];_0x37c423<_0x2fe3da;_0x37c423++){_0x44e8fb+='%'+('00'+_0x5661df['charCodeAt'](_0x37c423)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x44e8fb);};_0x7b5c['PMKyob']=_0x3d5535,_0x7b5c['IyQLRU']={},_0x7b5c['kaiKbm']=!![];}var _0x8655f0=_0x281288[0x0],_0x57828f=_0x3dece4+_0x8655f0,_0x1862e9=_0x7b5c['IyQLRU'][_0x57828f];return!_0x1862e9?(_0x7b5ccb=_0x7b5c['PMKyob'](_0x7b5ccb),_0x7b5c['IyQLRU'][_0x57828f]=_0x7b5ccb):_0x7b5ccb=_0x1862e9,_0x7b5ccb;}import{z as _0x5661df}from'zod';import{z}from'zod';function _0x2812(){var _0x5e448c=['DMfSAwrHDg9YoNn0zxaTC2HHCgu','iIdIGjqGzgLKihLVDsbTzwfUici','y2HYB21PDw0','BgLUDdPNB3rVlwnVBMnHDa','Dg9mB3DLCKnHC2u','DMfSAwrHDg9YoNvUC3vWCg9YDgvKlxn0yxrLBwvUDa','BgLUDdPTDxn0ywnOzs1PBI1KC2W','D2fYBG','DMfSAwrHDg9YoNvUC3vWCg9YDgvKlwv4ChjLC3nPB24','BgLUDdPLEhrLCM5HBc12yxjPywjSzs11BMrLy2XHCMvK','C3rYAw5N','A2v5','DxjS','zw51Bq','Cg9ZAxrPDMu','mtyXmda5mdLYtKveyxC','BwfUDwfS','BNvTyMvY','mtbVs1fQrNC','yxjYyxK','BgLUDdPLBNyTAg9ZDc1MCM9TlwjHC2u','zgLZDgfUy2u','y2HYB21L','Dw5RBM93BKTLEu1LC3nHz2u','ywnJzxb0','C3rYAwn0','mZC3mZeYnKLcr1npwG','zMLYzwzVEa','CMvJB3jK','A2v5CW','BgL0zxjHBa','DhjHBNnMB3jT','DMfSAwrHDg9YoM1LDgeTC2HHCgu','DMfSAwrHDg9YoNzHCI1ZAgfWzq','B3b0Aw9UywW','Dw5VDgvZDc9LmMu','BMv0D29YAW','B2zM','nJC0v1DtCKzU','mtyZmtvQA0zmyKi','zxjYB3i','y3jHC2G','AM9PBG','BgLUDdPWyxvZzs1LEhbSAwnPDa','Dw5PB24','BgLUDdPHCgKTy2fSBc1MAwXLlwjVzhK','DMfSAwrHDg9YoMfYAxr5','ovb3CKrjuW','DMfSAwrHDg9YoMz1BMn0Aw9UlxnOyxbL','zgvMyxvSDa','mtG1ohL3C2TLDG','wM9KsxnZDwvdB2rL','C3rYAwn0t2jQzwn0','zgvMyxvSDevYCM9Y','DMfSAwrHDg9YoNn0CMLUzY1JB25Jyxq','BgLUDdPVyMz1C2nHDgvKlwnSyxnZ','Dw5RBM93BIbRzxKGiG','y2XVC2vZDeTLEq','BgLUDdPVBMuTDgvZDc1WzxiTzMLSzq','B2jQzwn0','BgLUDdP4Cgf0Aa','Aw50','DMfSAwrHDg9YoNn0zxaTy292zxjHz2u','DMfSAwrHDg9YoMLMlxnOyxbL','iIdIGjqGBM90igeGy29UzMLNigTLEtSGy2HLy2SGEw91CIbaDw5VDgvZDc93zwiGDMvYC2LVBIbPzIbPDcbJB21LCYbMCM9TigeGBMv3zxiGCMvSzwfZzq','DMfSAwrHDg9YoNDYyxbWzwqTzM9YBwf0','lNvUB3rLC3qVzMfPBhvYzxm','mtiWmdKXmNDrtg9nDG','otiWvKveDxjf','BgLUDdPSzwDHy3KTBgf5B3v0','y2HYB21LlwjLDge','BMfTzq','zgLZBwLZCW','BwLU','DMfSAwrHDg9YoMfYzY1RAw5K','C3rKAw8','DMfSAwrHDg9YoNnLBwfUDgLJlwXVC3m','BwfW','DMfSAwrHDg9YoNvUA25VD24TzNvUy3rPB24','yM9VBgvHBG','Dw5YzwnVz25PEMvKx2TLExm','zgvMAw5LuhjVCgvYDhK','mJq0mJm4n1rICwfzua','ndGWmZeYogTLBKzPAq','DhjHBNnPzw50'];_0x2812=function(){return _0x5e448c;};return _0x2812();}import{levenshteinDistance}from'@unotest/core';var MAX_EDITS=0x2;function closestKey(_0x15c8ac,_0x57d7dc){var _0x5262b6={_0x332b2b:0xae},_0x239085=_0x35f08b;let _0x37c423;for(const _0x2fe3da of _0x57d7dc){const _0x3252b9=levenshteinDistance(_0x15c8ac[_0x239085(0x9d)](),_0x2fe3da['toLowerCase']());if(_0x3252b9>MAX_EDITS)continue;if(_0x37c423===void 0x0||_0x3252b9<_0x37c423[_0x239085(_0x5262b6._0x332b2b)])_0x37c423={'key':_0x2fe3da,'distance':_0x3252b9};}return _0x37c423?.[_0x239085(0xa4)];}__name(closestKey,_0x35f08b(0xd2));function unknownKeyMessage(_0x31285d,_0x1d6e68){var _0x30a5cc={_0x229a78:0x91},_0x29f31f={_0x5dc2b9:0xd1,_0x5d6059:0xd9},_0x4f978a=_0x35f08b;return _0x31285d[_0x4f978a(_0x30a5cc._0x229a78)](_0x5e4c63=>{var _0x2aa1e6=_0x4f978a;const _0x52c28f=closestKey(_0x5e4c63,_0x1d6e68);return _0x52c28f===void 0x0?_0x2aa1e6(_0x29f31f._0x5dc2b9)+_0x5e4c63+_0x2aa1e6(_0x29f31f._0x5d6059):_0x2aa1e6(_0x29f31f._0x5dc2b9)+_0x5e4c63+_0x2aa1e6(0x9a)+_0x52c28f+'\x22?';})[_0x4f978a(0xc3)](';\x20');}__name(unknownKeyMessage,_0x35f08b(0xb0));function strictObject(_0x22229c){var _0x155f9a=_0x35f08b;const _0x1b9138=Object['keys'](_0x22229c);return z['object'](_0x22229c,{'errorMap':__name((_0x2204d5,_0x32e550)=>_0x2204d5['code']===z[_0x155f9a(0xcc)][_0x155f9a(0x94)]?{'message':unknownKeyMessage(_0x2204d5[_0x155f9a(0xb6)],_0x1b9138)}:{'message':_0x32e550[_0x155f9a(0xce)]},'errorMap')})[_0x155f9a(0xb2)]();}__name(strictObject,_0x35f08b(0xcd));import{BUNDLED_BROWSER_CHANNEL}from'@unotest/protocol';import{z as _0x44e8fb}from'zod';import{UnotestError}from'@unotest/core';var LaunchConfigSchema=_0x44e8fb[_0x35f08b(0xd4)]({'userDataDir':_0x44e8fb[_0x35f08b(0xa3)]()['min'](0x1)[_0x35f08b(0xbb)](),'args':_0x44e8fb['array'](_0x44e8fb[_0x35f08b(0xa3)]()[_0x35f08b(0x8d)](0x1))[_0x35f08b(0xbb)]()})['strict'](),BrowserSchema=_0x5661df[_0x35f08b(0xa6)]([_0x35f08b(0x9b),_0x35f08b(0xb4),'webkit']),SYSTEM_BROWSER_CHANNELS=[_0x35f08b(0xaf),'msedge',_0x35f08b(0x8a),_0x35f08b(0x9b)],BROWSER_CHANNEL_WORDS=[...SYSTEM_BROWSER_CHANNELS,BUNDLED_BROWSER_CHANNEL],BrowserChannelSchema=_0x5661df[_0x35f08b(0xc5)]([_0x5661df[_0x35f08b(0xa6)](SYSTEM_BROWSER_CHANNELS),_0x5661df['literal'](BUNDLED_BROWSER_CHANNEL)[_0x35f08b(0xb8)](()=>null),_0x5661df['null']()])['optional'](),ViewportSchema=strictObject({'width':_0x5661df[_0x35f08b(0xaa)]()[_0x35f08b(0xd6)]()['positive'](),'height':_0x5661df[_0x35f08b(0xaa)]()[_0x35f08b(0xd6)]()[_0x35f08b(0xa7)]()}),RetryReasonSchema=_0x5661df[_0x35f08b(0xa6)]([_0x35f08b(0x98),_0x35f08b(0xbd),_0x35f08b(0xc2)]),RetryConfigSchema=strictObject({'count':_0x5661df[_0x35f08b(0xaa)]()['int']()[_0x35f08b(0x8d)](0x0)['max'](0xa),'on':_0x5661df[_0x35f08b(0xac)](RetryReasonSchema)}),FailureBundleConfigSchema=strictObject({'tier1':_0x5661df[_0x35f08b(0xb7)](!![])['default'](!![]),'tier2':_0x5661df['boolean'](),'tier3':strictObject({'network':_0x5661df[_0x35f08b(0x93)](),'video':_0x5661df['boolean']()}),'retention':strictObject({'runs':_0x5661df['number']()[_0x35f08b(0xd6)]()[_0x35f08b(0xa7)](),'days':_0x5661df[_0x35f08b(0xaa)]()[_0x35f08b(0xd6)]()[_0x35f08b(0xa7)]()}),'storageDir':_0x5661df[_0x35f08b(0xa3)]()['min'](0x1)}),DialogPolicySchema=_0x5661df[_0x35f08b(0xa6)](['accept',_0x35f08b(0x8c),_0x35f08b(0xa9)]),LinterRuleIdSchema=_0x5661df[_0x35f08b(0xa6)](['lint:deep-css',_0x35f08b(0xd5),_0x35f08b(0xd0),_0x35f08b(0xc4),'lint:disambig-by-index','lint:evaluate-discouraged','lint:scenario-in-root',_0x35f08b(0x9f),_0x35f08b(0x9c),'lint:regex-invalid','lint:echo-assert',_0x35f08b(0xc6),'lint:lint-ok-missing-reason','lint:flow-returns-value',_0x35f08b(0x89),_0x35f08b(0xa2),_0x35f08b(0xad),_0x35f08b(0xd3),_0x35f08b(0x92),_0x35f08b(0xc7),_0x35f08b(0x8e),_0x35f08b(0xd7),_0x35f08b(0x99),_0x35f08b(0xb9),_0x35f08b(0xc9),'validator:for-shape',_0x35f08b(0xd8),_0x35f08b(0xba),_0x35f08b(0x9e),_0x35f08b(0xa1),_0x35f08b(0xcf),_0x35f08b(0x90),'validator:list-arg',_0x35f08b(0xda)]),LinterSeveritySchema=_0x5661df[_0x35f08b(0xa6)](['off',_0x35f08b(0xa0),_0x35f08b(0xc1)]),LinterConfigSchema=strictObject({'enabled':_0x5661df['boolean'](),'rules':_0x5661df[_0x35f08b(0xb5)](LinterRuleIdSchema,LinterSeveritySchema)}),QueueConfigSchema=strictObject({'enabled':_0x5661df[_0x35f08b(0x93)]()[_0x35f08b(0xca)](!![]),'concurrency':_0x5661df['number']()[_0x35f08b(0xd6)]()[_0x35f08b(0xa7)]()[_0x35f08b(0xca)](0x1)}),ScheduleSchema=strictObject({'collection':_0x5661df[_0x35f08b(0xa3)]()[_0x35f08b(0x8d)](0x1),'cron':_0x5661df[_0x35f08b(0xa3)]()[_0x35f08b(0x8d)](0x1),'env':_0x5661df['string']()[_0x35f08b(0x8d)](0x1)[_0x35f08b(0xbb)](),'prepare':_0x5661df[_0x35f08b(0xa3)]()[_0x35f08b(0x8d)](0x1)[_0x35f08b(0xbb)]()}),McpConfigSchema=strictObject({'transport':_0x5661df[_0x35f08b(0xb7)](_0x35f08b(0x8f))}),SandboxConfigSchema=strictObject({'shellCwd':_0x5661df[_0x35f08b(0xa3)]()[_0x35f08b(0xbb)](),'shellTimeoutMs':_0x5661df[_0x35f08b(0xaa)]()[_0x35f08b(0xd6)]()[_0x35f08b(0xa7)]()[_0x35f08b(0xbb)](),'exportSecrets':_0x5661df[_0x35f08b(0xac)](_0x5661df[_0x35f08b(0xa3)]())['optional'](),'database':_0x5661df[_0x35f08b(0xa3)]()['optional'](),'apiBaseUrl':_0x5661df[_0x35f08b(0xa3)]()[_0x35f08b(0xa5)]()['optional'](),'uploadDir':_0x5661df[_0x35f08b(0xa3)]()[_0x35f08b(0xbb)]()}),WebServerConfigSchema=strictObject({'command':_0x5661df[_0x35f08b(0xa3)]()[_0x35f08b(0x8d)](0x1),'url':_0x5661df[_0x35f08b(0xa3)]()[_0x35f08b(0xa5)](),'reuseExistingServer':_0x5661df[_0x35f08b(0x93)]()[_0x35f08b(0xca)](!![]),'timeoutMs':_0x5661df[_0x35f08b(0xaa)]()[_0x35f08b(0xd6)]()[_0x35f08b(0xa7)]()[_0x35f08b(0xca)](0xea60)}),EnvConfigSchema=strictObject({'shared':_0x5661df[_0x35f08b(0xac)](_0x5661df['string']())[_0x35f08b(0xca)]([])}),UnotestConfigSchema=strictObject({'baseUrl':_0x5661df[_0x35f08b(0xa3)]()[_0x35f08b(0xa5)]()[_0x35f08b(0xbb)](),'webServer':WebServerConfigSchema[_0x35f08b(0xbb)](),'browsers':_0x5661df['array'](BrowserSchema)[_0x35f08b(0x8d)](0x1),'channel':BrowserChannelSchema,'viewport':ViewportSchema,'launch':LaunchConfigSchema[_0x35f08b(0xbb)](),'retry':RetryConfigSchema,'failureBundle':FailureBundleConfigSchema,'dialogPolicy':DialogPolicySchema,'storageState':_0x5661df['string']()[_0x35f08b(0xbb)](),'testDir':_0x5661df['string']()[_0x35f08b(0x8d)](0x1),'helpersDir':_0x5661df[_0x35f08b(0xa3)]()['min'](0x1),'defaultTimeoutMs':_0x5661df[_0x35f08b(0xaa)]()[_0x35f08b(0xd6)]()['positive'](),'defaultNavigationTimeoutMs':_0x5661df[_0x35f08b(0xaa)]()[_0x35f08b(0xd6)]()[_0x35f08b(0xa7)](),'env':EnvConfigSchema,'linter':LinterConfigSchema,'mcp':McpConfigSchema,'queue':QueueConfigSchema,'schedules':_0x5661df[_0x35f08b(0xac)](ScheduleSchema)[_0x35f08b(0xca)]([]),'sandbox':SandboxConfigSchema}),DEFAULT_CONFIG={'browsers':['chromium'],'viewport':{'width':0x500,'height':0x2d0},'retry':{'count':0x0,'on':['transient']},'failureBundle':{'tier1':!![],'tier2':!![],'tier3':{'network':![],'video':![]},'retention':{'runs':0x14,'days':0x7},'storageDir':_0x35f08b(0x86)},'dialogPolicy':_0x35f08b(0xb1),'testDir':_0x35f08b(0xbc),'helpersDir':'unotest/e2e/_helpers','defaultTimeoutMs':0xbb8,'defaultNavigationTimeoutMs':0x7530,'linter':{'enabled':!![],'rules':{'lint:deep-css':_0x35f08b(0xa0),'lint:xpath':_0x35f08b(0xa0),'lint:obfuscated-class':_0x35f08b(0xa0),'lint:pause-explicit':'warn','lint:disambig-by-index':_0x35f08b(0xbe),'lint:evaluate-discouraged':_0x35f08b(0xa0),'lint:scenario-in-root':_0x35f08b(0xc1),'lint:mustache-in-dsl':'error','lint:goto-concat':_0x35f08b(0xa0),'lint:regex-invalid':_0x35f08b(0xc1),'lint:echo-assert':_0x35f08b(0xa0),'lint:lint-ok-missing-reason':_0x35f08b(0xa0),'lint:flow-returns-value':_0x35f08b(0xa0),'lint:legacy-layout':_0x35f08b(0xa0),'lint:external-variable-undeclared':'error','lint:env-host-from-base':_0x35f08b(0xc1),'lint:one-test-per-file':'warn','validator:unknown-function':'error'}},'env':{'shared':[]},'mcp':{'transport':'stdio'},'queue':{'enabled':!![],'concurrency':0x1},'schedules':[],'sandbox':{}};export{BROWSER_CHANNEL_WORDS,BrowserChannelSchema,BrowserSchema,DEFAULT_CONFIG,DialogPolicySchema,EnvConfigSchema,FailureBundleConfigSchema,LinterConfigSchema,LinterRuleIdSchema,LinterSeveritySchema,McpConfigSchema,QueueConfigSchema,RetryConfigSchema,RetryReasonSchema,SYSTEM_BROWSER_CHANNELS,SandboxConfigSchema,ScheduleSchema,UnotestConfigSchema,ViewportSchema,WebServerConfigSchema};
|