@unotest/web 0.43.0 → 0.43.2

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 CHANGED
@@ -1,5 +1,133 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.43.2] - 2026-09-30
4
+
5
+ ### Patch Changes
6
+
7
+ - 1547ae7: `abort_runtime` now takes a run that is still waiting in the queue out of it. It used to answer ok for such a run while its place in line stayed, and the run started later all the same. It now removes the run from the queue and answers `{ok: true, state: "withdrawn"}`; nothing is run. A run that was taken out of the queue, here or in the viewer's Active panel, no longer ends its `unotest-web e2e` process with a stack trace: it prints that it was taken out and that nothing was run, and exits with 130, as Ctrl-C does.
8
+
9
+ What changes for you: `abort_runtime` on a runtime id with no run behind
10
+ it at all now answers `no-runner`, marked as an error, as `take_wheel` and
11
+ `release_wheel` already do, instead of `ok`. A finished run still answers
12
+ `ok`. A queued run taken out of the queue exits with 130 instead of 1.
13
+
14
+ - c04cf8b: When a person answered a request is now shown outside the cabinet too. The
15
+ cloud API adds `decidedAt` to an approved, declined or failed request. The
16
+ `cloud_approval_wait` MCP tool returns it, and the CLI prints it — "approved
17
+ in the cabinet at 2026-09-27 09:14 UTC" — in `approvals <id>` and while
18
+ `box create`, `box destroy` and `box picker on` wait; with `--json` it is an
19
+ `approval` field in the object the command already prints. A request that
20
+ expired shows the deadline it was last given, marked as such, since the
21
+ cloud's answer for an expired request carries no time. A service that does
22
+ not send the field yet is read as before, without a time.
23
+ - 2e70ce0: The times the CLI and the MCP tools show for an approval request (when a person answered it, when it expires) are now only taken from the service when they are a real date and time. Anything else is treated as if the service had sent no time: nothing is printed for it, and an expired request names no deadline it cannot vouch for.
24
+ - 665da8f: `box runs` and the other box read commands now say when the token is of the wrong kind (a project push token instead of a read token) and how to get the right one, instead of reporting that the box did not list its environments.
25
+ - 3639067: Text the cloud or a box sends can no longer send instructions to your terminal. The `login`, `logout`, `whoami`, `approvals`, `box`, `picker`, `bundle` and `env` commands used to print box names, request ids, error messages and other text from the service as they came, so control characters in them, from a service with a bug or a `UNOTEST_CLOUD_URL` pointed elsewhere, could clear your screen or retitle the window. They are now shown escaped (`\x1b`), and line breaks stay line breaks.
26
+ - 0b29243: `explore_run_flow` now says where a failed replay broke. The reply used to carry the error message alone, so a flow that failed inside a helper gave no file and no line, and the agent had to work out the cause from a screenshot. A failed replay now answers JSON: `error` (the same text as before), `flow`, `at` with the file, line and column of the statement that failed (the helper's file when it failed inside one, project-relative), its step label and the call chain from the flow down, and `artifacts` with a capture of the page as the flow left it.
27
+
28
+ What changes for you: a failed `explore_run_flow` answers JSON instead of
29
+ plain text, with the old text under `error`. Helpers now load the way
30
+ `run_test` loads them, so a function defined in two helper files is refused,
31
+ naming both files, in `explore_run_flow` as it already was in `run_test`.
32
+
33
+ - 7a0671e: An agent without a grounder is now told how to get one. When intent locators have no grounder (ollama not running, grounding off), `explore_start`'s `grounder` and a failed intent step carry `{state: "no-grounder", next, orElse?, why}`: `next` is the Picker command (`box picker on` for a project with a box, `login && picker on` without one), `orElse` is `ollama serve` in local mode, and `why` says the MCP server needs a reconnect after the Picker is turned on. A remote grounder that is configured but down gets the reason only, since turning a Picker on would not fix it. With `UNOTEST_SNAPSHOT=0`, `explore_start` now says the page snapshot tools are not served, how to bring them back, and how to locate elements in the meantime. The server instructions describe the new state.
34
+
35
+ What changes for you: an intent step that fails for want of a grounder now
36
+ answers `{status: "failed", error, grounder}` like other steps that fail
37
+ before they act, instead of an error reply carrying the text alone; the
38
+ `error` text is unchanged.
39
+
40
+ - ebcfbe0: A `run_test` that waits in the queue now says who holds the machine. The `queued` reply used to say only that the machine was busy, so an agent could not tell whether to wait or to stop a run of its own it no longer needed. It now carries `heldBy`: each run holding the machine with its run id, kind, scenario or collection name, how long it has been running (left out while that is not known yet) and, for a scenario run, the `abort_runtime` call that stops it. A blocking `run_test` (the default) used to wait for its turn for up to three minutes, longer than an MCP client waits for any answer, so the agent was told only that the request timed out. It now waits up to 30 seconds for a place and then answers `queued` with `heldBy`, the same as `wait: false`; the run stays in the queue and starts on its own. `abort_runtime` takes a queued run back out.
41
+
42
+ What changes for you: a blocking `run_test` behind a busy machine may now
43
+ answer `status: "queued"` after about 30 seconds instead of waiting for the
44
+ run to start; call `inspect_runtime` on its `runtimeId` to follow it.
45
+
46
+ - 6e4d598: A tool that throws something other than an `Error`, such as a plain string,
47
+ now has registered secrets masked in the message the agent reads, as an
48
+ `Error` already did.
49
+ - 56c899c: `resume` and `step` now answer with the stop that comes after the command, not the pause the run was already in.
50
+
51
+ A paused run keeps refreshing its runtime file, and the tools took a fresh timestamp on a paused state for the next pause. An agent could be told the run had moved on while it still sat at the old breakpoint, and take the wheel there. The runner now counts its pauses in `runtime.json` (`pauseSeq`, one more on every pause, the same line again included), and `resume` / `step` wait for that count to grow or for the run to end. A run from an older runner, without the count, is waited on as before.
52
+
53
+ This ships as a patch: it fixes how the existing `resume` and `step` wait, and adds no new tool, flag or input. `pauseSeq` is an optional field that only ever appears in addition: an older reader ignores it, and a newer reader facing a file without it keeps the previous timestamp check.
54
+
55
+ - 70c37be: Screenshots and saved page HTML leave out what a page keeps secret.
56
+
57
+ - Password and one-time-code fields are painted over on every screenshot: the agent's screenshots, per-step captures, and the screenshot taken when a run fails.
58
+ - The `page.html` saved when a run fails no longer contains the content of `<script>` elements or the values of hidden form fields; each is replaced by a label with its length. The same applies to the element HTML written in debug mode.
59
+ - Text in elements that are not rendered, and in `noembed` and `noframes`, no longer reaches element names.
60
+
61
+ What changes for you: if you read `page.html` for script data or hidden field values, set `failureBundle.pageHtml: "full"` in your config to keep them. Password fields stay hidden either way.
62
+
63
+ - 0e15c53: An element's text, wherever the page is read for it — the locator a ref becomes in a recorded scenario, `check_locator`'s matches and the failure's semantic snapshot — no longer includes the content of `<noscript>`, `<script>`, `<style>` or `<template>`: with JavaScript on, a page could repeat a secret inside `<noscript>` and it went into the customer's scenario (or into the refusal the agent read) in a locator that, since Playwright's own text matching skips `<noscript>`, did not even find the element.
64
+
65
+ The same goes for a failed `assertText` (and `assert_text`): it still compares against the element's full text, as before, but the "got" it quotes — in the MCP reply, the run's output, `runtime.json`, `steps.jsonl` and `failure.json` — leaves those blocks out, and when they alone made the comparison fail it says so. **What changes for you:** a failure message may now read `got "API key"` where it used to show the text of a `<noscript>` as well, followed by a note that the comparison includes hidden text; very long texts are quoted up to 10,000 characters, with a note when cut.
66
+
67
+ - Updated dependencies [665da8f]
68
+ - Updated dependencies [56c899c]
69
+ - Updated dependencies [70c37be]
70
+ - Updated dependencies [0e15c53]
71
+ - @unotest/core@0.43.2
72
+ - @unotest/protocol@0.43.2
73
+ - @unotest/grounder-client@0.43.2
74
+ - @unotest/dsl@0.43.2
75
+ - @unotest/viewer@0.43.2
76
+
77
+ ## [0.43.1] - 2026-09-29
78
+
79
+ ### Patch Changes
80
+
81
+ - 10e03e9: A debug command written a moment after another is no longer lost. The runner read `commands.jsonl` only on file-change events, and two appends a millisecond apart (`take_wheel`, then `abort_runtime`) could arrive as one event that fired before the second write landed: the second command waited, unread, until the file changed again. The paused run was never stopped, and it kept holding the project. The runner now keeps reading while the file grows, and it also checks the file size every 250 ms.
82
+ - 75799c8: `abort_runtime` no longer answers ok for a stop the runner never took. It used to answer ok as soon as the command was written, so an agent was told a paused run had stopped while the run went on holding the project, and the next `run_test` could not start. It now answers ok once the runner has acted on the stop. A runner that is alive but does not act within ten seconds gets a `stop-not-accepted` error naming the state it is stuck in and what to do next.
83
+
84
+ What changes for you: `abort_runtime` may now answer `stop-not-accepted`
85
+ instead of `ok`; when it does, do what its `next` says.
86
+
87
+ - fd8a8b6: `box runs`, `box run`, `box queue`, `box screenshot` and `bundle push --run` no longer need `--env` when the box serves a single environment: that one is used. With several, the refusal lists them and asks for `--env <project>/<environment>`; an explicit `--env` works as before. The MCP tools `box_runs`, `box_run`, `box_run_download`, `box_queue` and `box_screenshot` follow the same rule: `environment` may be left out on a box with one environment, and calls that pass it work unchanged.
88
+ - cf3bed9: The page captured on a failure no longer holds what a `<noscript>` element contains. With JavaScript on, a browser keeps that content as plain text, so a value a page repeated there for readers without JavaScript — a secret field's included — reached the capture past the rule that hides secret fields. The element itself is kept, empty, so the page's structure is still visible.
89
+ - 6d83fe9: After `run_test` pauses and auto-attaches, `explore_start` now opens the agent's own browser instead of recording into the run's (which answered every step with `not_your_turn`), and after `release_wheel` the agent can still take screenshots, assert and wait on the run's page.
90
+ - 5433bab: Secret field values no longer leak into failures and replies. An
91
+ `assertValue` failure on a field marked as a credential (`type="password"`,
92
+ or `autocomplete` of `current-password`, `new-password` or `one-time-code`)
93
+ reports only the lengths of the two values, for example
94
+ `expected ‹hidden, 12 chars›, got ‹hidden, 32 chars›`. The same fields are
95
+ no longer read by the grounding capture, and show as `‹hidden, N chars›` in
96
+ a failure's page HTML and in a fill recorded by the viewer. MCP replies now
97
+ mask registered secrets as `‹secret:NAME›`, as the session journal already
98
+ did: text, structured content and tool error messages.
99
+
100
+ **What to check if you ran 0.43.0 or earlier.** The value of a password or
101
+ one-time-code field, and the value of a secret from `unotest/.secrets`, could
102
+ appear in plain text in MCP tool replies (for example `assert_text`,
103
+ `check_locator`, `assert_value` and the `get_failure_*` tools), in the text
104
+ of an `assertValue` failure, and in the `page.html` and `failure.json` saved
105
+ with a failed run. Search your MCP client's transcripts and your saved run
106
+ failures for your secrets and credentials; if one is there, rotate it.
107
+
108
+ - 30e45a2: `take_wheel` and `release_wheel` now answer `ok` only once the paused run has
109
+ actually handed the wheel over; before, they answered as soon as the request
110
+ was written, and on a busy machine an agent could still click in a run it had
111
+ just given back. When the run does not apply it, the tools answer
112
+ `wheel-not-accepted` with what to do next. From the moment `release_wheel` is
113
+ called, the agent's page-changing steps answer `not_your_turn` until
114
+ `take_wheel` succeeds again.
115
+
116
+ What changes for you: an agent that waited for `ok` from `take_wheel` or
117
+ `release_wheel` may now get `wheel-not-accepted` instead, and should do what
118
+ its `next` says — the wheel may simply have gone back to the human, which
119
+ `inspect_runtime` shows in its `wheel` field. A run with no runner left now
120
+ answers `no-runner` instead of `ok`. Both are marked as errors, like
121
+ `abort_runtime`'s `stop-not-accepted`.
122
+
123
+ - Updated dependencies [10e03e9]
124
+ - Updated dependencies [5433bab]
125
+ - @unotest/core@0.43.1
126
+ - @unotest/grounder-client@0.43.1
127
+ - @unotest/dsl@0.43.1
128
+ - @unotest/protocol@0.43.1
129
+ - @unotest/viewer@0.43.1
130
+
3
131
  ## [0.43.0] - 2026-09-27
4
132
 
5
133
  ### Minor Changes
@@ -1238,7 +1366,7 @@ picker on` fetches this project's own access and writes the three grounder
1238
1366
 
1239
1367
  That screen named one command:
1240
1368
 
1241
- npx @unotest/web bundle push --run --env ENVIRONMENT
1369
+ npx @unotest/web bundle push --run --env ENVIRONMENT
1242
1370
 
1243
1371
  In a project that has just been created, the command refuses with `no box
1244
1372
  address` before it does anything: the project holds neither the box's address
@@ -1247,8 +1375,8 @@ address` before it does anything: the project holds neither the box's address
1247
1375
 
1248
1376
  The screen now names both steps, in the order they have to happen:
1249
1377
 
1250
- npx @unotest/web box access larch
1251
- npx @unotest/web bundle push --run --env ENVIRONMENT
1378
+ npx @unotest/web box access larch
1379
+ npx @unotest/web bundle push --run --env ENVIRONMENT
1252
1380
 
1253
1381
  The box's own name is filled in when its licence carries one. `box access`
1254
1382
  with no name refuses, and its refusal offers to create a box — to somebody who
@@ -37,10 +37,10 @@ declare const RetryConfigSchema: z.ZodObject<{
37
37
  on: z.ZodArray<z.ZodEnum<["transient", "network", "crash"]>, "many">;
38
38
  }, "strict", z.ZodTypeAny, {
39
39
  count: number;
40
- on: ("transient" | "network" | "crash")[];
40
+ on: ("network" | "transient" | "crash")[];
41
41
  }, {
42
42
  count: number;
43
- on: ("transient" | "network" | "crash")[];
43
+ on: ("network" | "transient" | "crash")[];
44
44
  }>;
45
45
  type RetryConfig = z.infer<typeof RetryConfigSchema>;
46
46
  declare const FailureBundleConfigSchema: z.ZodObject<{
@@ -69,6 +69,11 @@ declare const FailureBundleConfigSchema: z.ZodObject<{
69
69
  days: number;
70
70
  }>;
71
71
  storageDir: z.ZodString;
72
+ /** What page.html keeps. `redacted`: a script's content and a hidden
73
+ * field's value become a label with their length. `full`: both as the
74
+ * page had them — an app's bootstrap data and request-forgery tokens
75
+ * included. A secret field's value is hidden either way. */
76
+ pageHtml: z.ZodEnum<["redacted", "full"]>;
72
77
  }, "strict", z.ZodTypeAny, {
73
78
  tier1: true;
74
79
  tier2: boolean;
@@ -81,6 +86,7 @@ declare const FailureBundleConfigSchema: z.ZodObject<{
81
86
  days: number;
82
87
  };
83
88
  storageDir: string;
89
+ pageHtml: "redacted" | "full";
84
90
  }, {
85
91
  tier2: boolean;
86
92
  tier3: {
@@ -92,6 +98,7 @@ declare const FailureBundleConfigSchema: z.ZodObject<{
92
98
  days: number;
93
99
  };
94
100
  storageDir: string;
101
+ pageHtml: "redacted" | "full";
95
102
  tier1?: true | undefined;
96
103
  }>;
97
104
  type FailureBundleConfig = z.infer<typeof FailureBundleConfigSchema>;
@@ -222,15 +229,15 @@ declare const WebServerConfigSchema: z.ZodObject<{
222
229
  /** How long to wait for the URL to come up after spawning. */
223
230
  timeoutMs: z.ZodDefault<z.ZodNumber>;
224
231
  }, "strict", z.ZodTypeAny, {
225
- command: string;
226
232
  url: string;
227
- reuseExistingServer: boolean;
228
233
  timeoutMs: number;
229
- }, {
230
234
  command: string;
235
+ reuseExistingServer: boolean;
236
+ }, {
231
237
  url: string;
232
- reuseExistingServer?: boolean | undefined;
238
+ command: string;
233
239
  timeoutMs?: number | undefined;
240
+ reuseExistingServer?: boolean | undefined;
234
241
  }>;
235
242
  type WebServerConfig = z.infer<typeof WebServerConfigSchema>;
236
243
  declare const EnvConfigSchema: z.ZodObject<{
@@ -267,15 +274,15 @@ declare const UnotestConfigSchema: z.ZodObject<{
267
274
  /** How long to wait for the URL to come up after spawning. */
268
275
  timeoutMs: z.ZodDefault<z.ZodNumber>;
269
276
  }, "strict", z.ZodTypeAny, {
270
- command: string;
271
277
  url: string;
272
- reuseExistingServer: boolean;
273
278
  timeoutMs: number;
274
- }, {
275
279
  command: string;
280
+ reuseExistingServer: boolean;
281
+ }, {
276
282
  url: string;
277
- reuseExistingServer?: boolean | undefined;
283
+ command: string;
278
284
  timeoutMs?: number | undefined;
285
+ reuseExistingServer?: boolean | undefined;
279
286
  }>>;
280
287
  browsers: z.ZodArray<z.ZodEnum<["chromium", "firefox", "webkit"]>, "many">;
281
288
  channel: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["chrome", "msedge", "chrome-beta", "chromium"]>, z.ZodEffects<z.ZodLiteral<"bundled">, null, "bundled">, z.ZodNull]>>;
@@ -296,21 +303,21 @@ declare const UnotestConfigSchema: z.ZodObject<{
296
303
  userDataDir: z.ZodOptional<z.ZodString>;
297
304
  args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
298
305
  }, "strict", z.ZodTypeAny, {
299
- userDataDir?: string | undefined;
300
306
  args?: string[] | undefined;
301
- }, {
302
307
  userDataDir?: string | undefined;
308
+ }, {
303
309
  args?: string[] | undefined;
310
+ userDataDir?: string | undefined;
304
311
  }>>;
305
312
  retry: z.ZodObject<{
306
313
  count: z.ZodNumber;
307
314
  on: z.ZodArray<z.ZodEnum<["transient", "network", "crash"]>, "many">;
308
315
  }, "strict", z.ZodTypeAny, {
309
316
  count: number;
310
- on: ("transient" | "network" | "crash")[];
317
+ on: ("network" | "transient" | "crash")[];
311
318
  }, {
312
319
  count: number;
313
- on: ("transient" | "network" | "crash")[];
320
+ on: ("network" | "transient" | "crash")[];
314
321
  }>;
315
322
  failureBundle: z.ZodObject<{
316
323
  /** Tier 1 is always on by D-16. Schema lock — not user-toggleable. */
@@ -338,6 +345,11 @@ declare const UnotestConfigSchema: z.ZodObject<{
338
345
  days: number;
339
346
  }>;
340
347
  storageDir: z.ZodString;
348
+ /** What page.html keeps. `redacted`: a script's content and a hidden
349
+ * field's value become a label with their length. `full`: both as the
350
+ * page had them — an app's bootstrap data and request-forgery tokens
351
+ * included. A secret field's value is hidden either way. */
352
+ pageHtml: z.ZodEnum<["redacted", "full"]>;
341
353
  }, "strict", z.ZodTypeAny, {
342
354
  tier1: true;
343
355
  tier2: boolean;
@@ -350,6 +362,7 @@ declare const UnotestConfigSchema: z.ZodObject<{
350
362
  days: number;
351
363
  };
352
364
  storageDir: string;
365
+ pageHtml: "redacted" | "full";
353
366
  }, {
354
367
  tier2: boolean;
355
368
  tier3: {
@@ -361,6 +374,7 @@ declare const UnotestConfigSchema: z.ZodObject<{
361
374
  days: number;
362
375
  };
363
376
  storageDir: string;
377
+ pageHtml: "redacted" | "full";
364
378
  tier1?: true | undefined;
365
379
  }>;
366
380
  dialogPolicy: z.ZodEnum<["accept", "dismiss", "manual"]>;
@@ -496,9 +510,8 @@ declare const UnotestConfigSchema: z.ZodObject<{
496
510
  uploadDir?: string | undefined;
497
511
  }>;
498
512
  }, "strict", z.ZodTypeAny, {
499
- env: {
500
- shared: string[];
501
- };
513
+ defaultTimeoutMs: number;
514
+ defaultNavigationTimeoutMs: number;
502
515
  browsers: ("chromium" | "firefox" | "webkit")[];
503
516
  viewport: {
504
517
  width: number;
@@ -506,7 +519,7 @@ declare const UnotestConfigSchema: z.ZodObject<{
506
519
  };
507
520
  retry: {
508
521
  count: number;
509
- on: ("transient" | "network" | "crash")[];
522
+ on: ("network" | "transient" | "crash")[];
510
523
  };
511
524
  failureBundle: {
512
525
  tier1: true;
@@ -520,12 +533,14 @@ declare const UnotestConfigSchema: z.ZodObject<{
520
533
  days: number;
521
534
  };
522
535
  storageDir: string;
536
+ pageHtml: "redacted" | "full";
523
537
  };
524
538
  dialogPolicy: "accept" | "dismiss" | "manual";
525
539
  testDir: string;
526
540
  helpersDir: string;
527
- defaultTimeoutMs: number;
528
- defaultNavigationTimeoutMs: number;
541
+ env: {
542
+ shared: string[];
543
+ };
529
544
  linter: {
530
545
  enabled: boolean;
531
546
  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">>;
@@ -553,21 +568,20 @@ declare const UnotestConfigSchema: z.ZodObject<{
553
568
  };
554
569
  baseUrl?: string | undefined;
555
570
  webServer?: {
556
- command: string;
557
571
  url: string;
558
- reuseExistingServer: boolean;
559
572
  timeoutMs: number;
573
+ command: string;
574
+ reuseExistingServer: boolean;
560
575
  } | undefined;
561
- channel?: "chromium" | "chrome" | "msedge" | "chrome-beta" | null | undefined;
576
+ channel?: "chrome" | "msedge" | "chrome-beta" | "chromium" | null | undefined;
562
577
  launch?: {
563
- userDataDir?: string | undefined;
564
578
  args?: string[] | undefined;
579
+ userDataDir?: string | undefined;
565
580
  } | undefined;
566
581
  storageState?: string | undefined;
567
582
  }, {
568
- env: {
569
- shared?: string[] | undefined;
570
- };
583
+ defaultTimeoutMs: number;
584
+ defaultNavigationTimeoutMs: number;
571
585
  browsers: ("chromium" | "firefox" | "webkit")[];
572
586
  viewport: {
573
587
  width: number;
@@ -575,7 +589,7 @@ declare const UnotestConfigSchema: z.ZodObject<{
575
589
  };
576
590
  retry: {
577
591
  count: number;
578
- on: ("transient" | "network" | "crash")[];
592
+ on: ("network" | "transient" | "crash")[];
579
593
  };
580
594
  failureBundle: {
581
595
  tier2: boolean;
@@ -588,13 +602,15 @@ declare const UnotestConfigSchema: z.ZodObject<{
588
602
  days: number;
589
603
  };
590
604
  storageDir: string;
605
+ pageHtml: "redacted" | "full";
591
606
  tier1?: true | undefined;
592
607
  };
593
608
  dialogPolicy: "accept" | "dismiss" | "manual";
594
609
  testDir: string;
595
610
  helpersDir: string;
596
- defaultTimeoutMs: number;
597
- defaultNavigationTimeoutMs: number;
611
+ env: {
612
+ shared?: string[] | undefined;
613
+ };
598
614
  linter: {
599
615
  enabled: boolean;
600
616
  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">>;
@@ -616,15 +632,15 @@ declare const UnotestConfigSchema: z.ZodObject<{
616
632
  };
617
633
  baseUrl?: string | undefined;
618
634
  webServer?: {
619
- command: string;
620
635
  url: string;
621
- reuseExistingServer?: boolean | undefined;
636
+ command: string;
622
637
  timeoutMs?: number | undefined;
638
+ reuseExistingServer?: boolean | undefined;
623
639
  } | undefined;
624
- channel?: "chromium" | "chrome" | "msedge" | "chrome-beta" | "bundled" | null | undefined;
640
+ channel?: "chrome" | "msedge" | "chrome-beta" | "chromium" | "bundled" | null | undefined;
625
641
  launch?: {
626
- userDataDir?: string | undefined;
627
642
  args?: string[] | undefined;
643
+ userDataDir?: string | undefined;
628
644
  } | undefined;
629
645
  storageState?: string | undefined;
630
646
  schedules?: {
@@ -1 +1 @@
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};
1
+ var _0x14f507=_0x26f9;(function(_0x5575a5,_0x2c08b9){var _0x104177={_0x1ddfca:0x131,_0x7410b2:0x10f,_0x3db77c:0x139,_0x5a0e30:0x107,_0x1cada0:0x117,_0x27734c:0x121},_0x1443de=_0x26f9,_0x1a5570=_0x5575a5();while(!![]){try{var _0x14cc5f=parseInt(_0x1443de(0x11f))/0x1*(parseInt(_0x1443de(_0x104177._0x1ddfca))/0x2)+-parseInt(_0x1443de(_0x104177._0x7410b2))/0x3*(-parseInt(_0x1443de(0xf4))/0x4)+-parseInt(_0x1443de(0x10c))/0x5*(-parseInt(_0x1443de(_0x104177._0x3db77c))/0x6)+-parseInt(_0x1443de(0xf2))/0x7*(-parseInt(_0x1443de(0x123))/0x8)+parseInt(_0x1443de(_0x104177._0x5a0e30))/0x9*(parseInt(_0x1443de(_0x104177._0x1cada0))/0xa)+parseInt(_0x1443de(0x133))/0xb+-parseInt(_0x1443de(_0x104177._0x27734c))/0xc;if(_0x14cc5f===_0x2c08b9)break;else _0x1a5570['push'](_0x1a5570['shift']());}catch(_0xa7e7c8){_0x1a5570['push'](_0x1a5570['shift']());}}}(_0x347e,0xe35b6));var __defProp=Object['defineProperty'],__name=(_0x150d5a,_0xc62c67)=>__defProp(_0x150d5a,_0x14f507(0x11b),{'value':_0xc62c67,'configurable':!![]});import{z as _0x3d70ee}from'zod';function _0x347e(){var _0x163dba=['C3rYAwn0','mti0v2jSywXP','BgLUDdPVyMz1C2nHDgvKlwnSyxnZ','DMfSAwrHDg9YoMzVCI1ZAgfWzq','DxjS','DMfSAwrHDg9YoNDYyxbWzwqTzM9YBwf0','Dw5RBM93BIbRzxKGiG','BNvSBa','DMfSAwrHDg9YoNn0zxaTC2HHCgu','yxjYyxK','zNvSBa','C3rKAw8','zxjYB3jnyxa','DMfSAwrHDg9YoNn0CMLUzY1JB25Jyxq','zgvMyxvSDa','DMfSAwrHDg9YoNvUC3vWCg9YDgvKlxn0yxrLBwvUDa','y2HYB21PDw0','BwLU','AM9PBG','Dw5VDgvZDc9LmMuVx2HLBhbLCNm','ntm1mJngDgnNvxm','BgLUDdPSAw50lw9Rlw1PC3nPBMCTCMvHC29U','D2fYBG','DMfSAwrHDg9YoMLMlxnOyxbL','Aw50','ndaWyxbhsLLW','A2v5CW','yM9VBgvHBG','mZmWodfRvhLozKe','BgLUDdPKAxnHBwjPzY1IEs1PBMrLEa','y3jHC2G','BMv0D29YAW','BgLUDdPVBMuTDgvZDc1WzxiTzMLSzq','zxjYB3i','BgLUDdPWyxvZzs1LEhbSAwnPDa','Dg9mB3DLCKnHC2u','nZeWzgTpD252','DMfSAwrHDg9YoMz1BMn0Aw9UlxnOyxbL','BgL0zxjHBa','BgLUDdPKzwvWlwnZCW','BMfTzq','DMfSAwrHDg9YoMfYAxr5','BgLUDdPHCgKTy2fSBc1MAwXLlwjVzhK','DMfSAwrHDg9YoNvUC3vWCg9YDgvKlwv4ChjLC3nPB24','mtG1mJa1mwvfuxLLBq','C3rYAwn0t2jQzwn0','nti2nJi5odryB3r1vfC','DMfSAwrHDg9YoNn0zxaTy292zxjHz2u','nZi1nNjUDejTrq','DMfSAwrHDg9YoNnLBwfUDgLJlwXVC3m','zgLZBwLZCW','BgLUDdPLy2HVlwfZC2vYDa','BgLUDdPZy2vUyxjPBY1PBI1YB290','CMvJB3jK','zw51Bq','DMfSAwrHDg9YoNvUA25VD24TzNvUy3rPB24','C3rYAw5N','B3b0Aw9UywW','BNvTyMvY','ywnJzxb0','BwfW','DMfSAwrHDg9YoMXPC3qTyxjN','mMHPy0PhAq','y29Kzq','mZK5nZK2mxDcBgXnEG','y2HYB21L','DMfSAwrHDg9YoNzHCI1ZAgfWzq','y2HYB21LlwjLDge','B2zM','BgLUDdPTDxn0ywnOzs1PBI1KC2W','mteXntC2wxPJsfrx','zgLZDgfUy2u','zgvMyxvSDevYCM9Y','BgLUDdP4Cgf0Aa','Dw5YzwnVz25PEMvKx2TLExm','y2XVC2vZDeTLEq','B2jQzwn0','Cg9ZAxrPDMu','DhjHBNnPzw50','BgLUDdPNB3rVlwnVBMnHDa','A2v5','BgLUDdPLBNyTAg9ZDc1MCM9TlwjHC2u','D2vIA2L0','BxnLzgDL','BgLUDdPLEhrLCM5HBc12yxjPywjSzs11BMrLy2XHCMvK','zMLYzwzVEa','Dw5RBM93BKTLEu1LC3nHz2u','nJu4merutM1ksG'];_0x347e=function(){return _0x163dba;};return _0x347e();}import{z}from'zod';import{levenshteinDistance}from'@unotest/core';var MAX_EDITS=0x2;function closestKey(_0x100013,_0x405cc3){var _0x1e6e7c={_0x47fc35:0x116},_0xf87393=_0x14f507;let _0x1a132e;for(const _0x5bc5b1 of _0x405cc3){const _0x2a2ede=levenshteinDistance(_0x100013[_0xf87393(0x116)](),_0x5bc5b1[_0xf87393(_0x1e6e7c._0x47fc35)]());if(_0x2a2ede>MAX_EDITS)continue;if(_0x1a132e===void 0x0||_0x2a2ede<_0x1a132e[_0xf87393(0x13a)])_0x1a132e={'key':_0x5bc5b1,'distance':_0x2a2ede};}return _0x1a132e?.[_0xf87393(0xeb)];}__name(closestKey,_0x14f507(0x13e));function unknownKeyMessage(_0x450cf7,_0x157ab7){var _0x4ff0e8={_0xfe46e:0xf9},_0x4c3292=_0x14f507;return _0x450cf7[_0x4c3292(0x12f)](_0x3e5a78=>{var _0x114484=_0x4c3292;const _0x2f4e59=closestKey(_0x3e5a78,_0x157ab7);return _0x2f4e59===void 0x0?_0x114484(0xf9)+_0x3e5a78+'\x22\x20—\x20not\x20a\x20config\x20key;\x20check\x20your\x20@unotest/web\x20version\x20if\x20it\x20comes\x20from\x20a\x20newer\x20release':_0x114484(_0x4ff0e8._0xfe46e)+_0x3e5a78+'\x22\x20—\x20did\x20you\x20mean\x20\x22'+_0x2f4e59+'\x22?';})[_0x4c3292(0x105)](';\x20');}__name(unknownKeyMessage,_0x14f507(0xf1));function _0x26f9(_0x5d081d,_0x3a0c2e){_0x5d081d=_0x5d081d-0xe7;var _0x347ea3=_0x347e();var _0x26f93e=_0x347ea3[_0x5d081d];if(_0x26f9['lHlPHF']===undefined){var _0x23de78=function(_0x1228a3){var _0x2b022f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x3d70ee='',_0x3e4f30='';for(var _0x150d5a=0x0,_0xc62c67,_0x100013,_0x405cc3=0x0;_0x100013=_0x1228a3['charAt'](_0x405cc3++);~_0x100013&&(_0xc62c67=_0x150d5a%0x4?_0xc62c67*0x40+_0x100013:_0x100013,_0x150d5a++%0x4)?_0x3d70ee+=String['fromCharCode'](0xff&_0xc62c67>>(-0x2*_0x150d5a&0x6)):0x0){_0x100013=_0x2b022f['indexOf'](_0x100013);}for(var _0x1a132e=0x0,_0x5bc5b1=_0x3d70ee['length'];_0x1a132e<_0x5bc5b1;_0x1a132e++){_0x3e4f30+='%'+('00'+_0x3d70ee['charCodeAt'](_0x1a132e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3e4f30);};_0x26f9['ohjWJT']=_0x23de78,_0x26f9['ASeMoG']={},_0x26f9['lHlPHF']=!![];}var _0x41a637=_0x347ea3[0x0],_0x194252=_0x5d081d+_0x41a637,_0x4343d9=_0x26f9['ASeMoG'][_0x194252];return!_0x4343d9?(_0x26f93e=_0x26f9['ohjWJT'](_0x26f93e),_0x26f9['ASeMoG'][_0x194252]=_0x26f93e):_0x26f93e=_0x4343d9,_0x26f93e;}function strictObject(_0xfeb4d){var _0x107bf1={_0x394081:0x10d,_0x26a0ed:0xff,_0x2b9be8:0xf3},_0x31aedc=_0x14f507;const _0x3c9e92=Object[_0x31aedc(_0x107bf1._0x394081)](_0xfeb4d);return z[_0x31aedc(0xe7)](_0xfeb4d,{'errorMap':__name((_0x1d3557,_0x4dc016)=>_0x1d3557[_0x31aedc(0x132)]===z['ZodIssueCode'][_0x31aedc(0x13d)]?{'message':unknownKeyMessage(_0x1d3557[_0x31aedc(0x10d)],_0x3c9e92)}:{'message':_0x4dc016[_0x31aedc(0x13b)]},_0x31aedc(_0x107bf1._0x26a0ed))})[_0x31aedc(_0x107bf1._0x2b9be8)]();}__name(strictObject,_0x14f507(0x120));import{BUNDLED_BROWSER_CHANNEL}from'@unotest/protocol';import{z as _0x3e4f30}from'zod';import{UnotestError}from'@unotest/core';var LaunchConfigSchema=_0x3e4f30[_0x14f507(0xe7)]({'userDataDir':_0x3e4f30[_0x14f507(0x12b)]()[_0x14f507(0x104)](0x1)[_0x14f507(0x12c)](),'args':_0x3e4f30[_0x14f507(0xfc)](_0x3e4f30['string']()[_0x14f507(0x104)](0x1))[_0x14f507(0x12c)]()})[_0x14f507(0xf3)](),BrowserSchema=_0x3d70ee['enum'](['chromium',_0x14f507(0xf0),_0x14f507(0xed)]),SYSTEM_BROWSER_CHANNELS=[_0x14f507(0x134),_0x14f507(0xee),_0x14f507(0x136),_0x14f507(0x103)],BROWSER_CHANNEL_WORDS=[...SYSTEM_BROWSER_CHANNELS,BUNDLED_BROWSER_CHANNEL],BrowserChannelSchema=_0x3d70ee['union']([_0x3d70ee[_0x14f507(0x129)](SYSTEM_BROWSER_CHANNELS),_0x3d70ee[_0x14f507(0x119)](BUNDLED_BROWSER_CHANNEL)['transform'](()=>null),_0x3d70ee[_0x14f507(0xfa)]()])[_0x14f507(0x12c)](),ViewportSchema=strictObject({'width':_0x3d70ee[_0x14f507(0x12d)]()['int']()[_0x14f507(0xe8)](),'height':_0x3d70ee[_0x14f507(0x12d)]()[_0x14f507(0x10b)]()[_0x14f507(0xe8)]()}),RetryReasonSchema=_0x3d70ee[_0x14f507(0x129)]([_0x14f507(0xe9),_0x14f507(0x112),_0x14f507(0x111)]),RetryConfigSchema=strictObject({'count':_0x3d70ee[_0x14f507(0x12d)]()[_0x14f507(0x10b)]()[_0x14f507(0x104)](0x0)['max'](0xa),'on':_0x3d70ee[_0x14f507(0xfc)](RetryReasonSchema)}),FailureBundleConfigSchema=strictObject({'tier1':_0x3d70ee['literal'](!![])[_0x14f507(0x101)](!![]),'tier2':_0x3d70ee[_0x14f507(0x10e)](),'tier3':strictObject({'network':_0x3d70ee[_0x14f507(0x10e)](),'video':_0x3d70ee[_0x14f507(0x10e)]()}),'retention':strictObject({'runs':_0x3d70ee[_0x14f507(0x12d)]()['int']()[_0x14f507(0xe8)](),'days':_0x3d70ee['number']()[_0x14f507(0x10b)]()['positive']()}),'storageDir':_0x3d70ee['string']()['min'](0x1),'pageHtml':_0x3d70ee[_0x14f507(0x129)](['redacted',_0x14f507(0xfd)])}),DialogPolicySchema=_0x3d70ee[_0x14f507(0x129)]([_0x14f507(0x12e),_0x14f507(0x125),'manual']),LinterRuleIdSchema=_0x3d70ee[_0x14f507(0x129)]([_0x14f507(0x11a),_0x14f507(0x13c),_0x14f507(0xf5),_0x14f507(0x115),_0x14f507(0x110),'lint:evaluate-discouraged',_0x14f507(0x127),_0x14f507(0x138),_0x14f507(0xea),'lint:regex-invalid',_0x14f507(0x126),_0x14f507(0x11d),_0x14f507(0x108),'lint:flow-returns-value','lint:legacy-layout',_0x14f507(0xef),_0x14f507(0xec),_0x14f507(0x113),_0x14f507(0x12a),_0x14f507(0x11c),'validator:arg-kind',_0x14f507(0x122),_0x14f507(0xfb),'validator:meta-shape',_0x14f507(0x118),_0x14f507(0xf6),_0x14f507(0x10a),_0x14f507(0x135),_0x14f507(0x102),_0x14f507(0x11e),_0x14f507(0x100),_0x14f507(0x124),_0x14f507(0x130),_0x14f507(0xf8)]),LinterSeveritySchema=_0x3d70ee[_0x14f507(0x129)]([_0x14f507(0x137),_0x14f507(0x109),_0x14f507(0x114)]),LinterConfigSchema=strictObject({'enabled':_0x3d70ee[_0x14f507(0x10e)](),'rules':_0x3d70ee[_0x14f507(0x128)](LinterRuleIdSchema,LinterSeveritySchema)}),QueueConfigSchema=strictObject({'enabled':_0x3d70ee['boolean']()[_0x14f507(0x101)](!![]),'concurrency':_0x3d70ee['number']()['int']()[_0x14f507(0xe8)]()[_0x14f507(0x101)](0x1)}),ScheduleSchema=strictObject({'collection':_0x3d70ee[_0x14f507(0x12b)]()[_0x14f507(0x104)](0x1),'cron':_0x3d70ee[_0x14f507(0x12b)]()[_0x14f507(0x104)](0x1),'env':_0x3d70ee[_0x14f507(0x12b)]()[_0x14f507(0x104)](0x1)[_0x14f507(0x12c)](),'prepare':_0x3d70ee['string']()['min'](0x1)[_0x14f507(0x12c)]()}),McpConfigSchema=strictObject({'transport':_0x3d70ee['literal'](_0x14f507(0xfe))}),SandboxConfigSchema=strictObject({'shellCwd':_0x3d70ee['string']()[_0x14f507(0x12c)](),'shellTimeoutMs':_0x3d70ee[_0x14f507(0x12d)]()[_0x14f507(0x10b)]()[_0x14f507(0xe8)]()[_0x14f507(0x12c)](),'exportSecrets':_0x3d70ee[_0x14f507(0xfc)](_0x3d70ee[_0x14f507(0x12b)]())[_0x14f507(0x12c)](),'database':_0x3d70ee['string']()[_0x14f507(0x12c)](),'apiBaseUrl':_0x3d70ee[_0x14f507(0x12b)]()[_0x14f507(0xf7)]()[_0x14f507(0x12c)](),'uploadDir':_0x3d70ee[_0x14f507(0x12b)]()['optional']()}),WebServerConfigSchema=strictObject({'command':_0x3d70ee[_0x14f507(0x12b)]()['min'](0x1),'url':_0x3d70ee['string']()[_0x14f507(0xf7)](),'reuseExistingServer':_0x3d70ee[_0x14f507(0x10e)]()[_0x14f507(0x101)](!![]),'timeoutMs':_0x3d70ee['number']()[_0x14f507(0x10b)]()['positive']()[_0x14f507(0x101)](0xea60)}),EnvConfigSchema=strictObject({'shared':_0x3d70ee[_0x14f507(0xfc)](_0x3d70ee[_0x14f507(0x12b)]())[_0x14f507(0x101)]([])}),UnotestConfigSchema=strictObject({'baseUrl':_0x3d70ee[_0x14f507(0x12b)]()[_0x14f507(0xf7)]()[_0x14f507(0x12c)](),'webServer':WebServerConfigSchema[_0x14f507(0x12c)](),'browsers':_0x3d70ee[_0x14f507(0xfc)](BrowserSchema)['min'](0x1),'channel':BrowserChannelSchema,'viewport':ViewportSchema,'launch':LaunchConfigSchema[_0x14f507(0x12c)](),'retry':RetryConfigSchema,'failureBundle':FailureBundleConfigSchema,'dialogPolicy':DialogPolicySchema,'storageState':_0x3d70ee['string']()['optional'](),'testDir':_0x3d70ee['string']()[_0x14f507(0x104)](0x1),'helpersDir':_0x3d70ee[_0x14f507(0x12b)]()[_0x14f507(0x104)](0x1),'defaultTimeoutMs':_0x3d70ee['number']()[_0x14f507(0x10b)]()['positive'](),'defaultNavigationTimeoutMs':_0x3d70ee[_0x14f507(0x12d)]()[_0x14f507(0x10b)]()['positive'](),'env':EnvConfigSchema,'linter':LinterConfigSchema,'mcp':McpConfigSchema,'queue':QueueConfigSchema,'schedules':_0x3d70ee[_0x14f507(0xfc)](ScheduleSchema)[_0x14f507(0x101)]([]),'sandbox':SandboxConfigSchema}),DEFAULT_CONFIG={'browsers':[_0x14f507(0x103)],'viewport':{'width':0x500,'height':0x2d0},'retry':{'count':0x0,'on':['transient']},'failureBundle':{'tier1':!![],'tier2':!![],'tier3':{'network':![],'video':![]},'retention':{'runs':0x14,'days':0x7},'storageDir':'.unotest/failures','pageHtml':'redacted'},'dialogPolicy':_0x14f507(0x12e),'testDir':'unotest/e2e','helpersDir':_0x14f507(0x106),'defaultTimeoutMs':0xbb8,'defaultNavigationTimeoutMs':0x7530,'linter':{'enabled':!![],'rules':{'lint:deep-css':_0x14f507(0x109),'lint:xpath':_0x14f507(0x109),'lint:obfuscated-class':_0x14f507(0x109),'lint:pause-explicit':_0x14f507(0x109),'lint:disambig-by-index':_0x14f507(0x137),'lint:evaluate-discouraged':_0x14f507(0x109),'lint:scenario-in-root':_0x14f507(0x114),'lint:mustache-in-dsl':_0x14f507(0x114),'lint:goto-concat':_0x14f507(0x109),'lint:regex-invalid':'error','lint:echo-assert':'warn','lint:lint-ok-missing-reason':_0x14f507(0x109),'lint:flow-returns-value':_0x14f507(0x109),'lint:legacy-layout':_0x14f507(0x109),'lint:external-variable-undeclared':'error','lint:env-host-from-base':_0x14f507(0x114),'lint:one-test-per-file':_0x14f507(0x109),'validator:unknown-function':'error'}},'env':{'shared':[]},'mcp':{'transport':_0x14f507(0xfe)},'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};
@@ -1,5 +1,5 @@
1
- import { E as ElementHint, S as ScreenshotOptions, N as NetworkEntry, W as WebDriver, L as LaunchOptions, C as ContextOptions, D as DriverContext, A as AttachOptions } from '../interfaces-7nMNCr2h.js';
2
- export { a as ActionTimeout, b as CheckOptions, c as ClickOptions, d as CookieOptions, e as DriverPage, F as FillOptions, G as GotoOptions, H as HoverOptions, f as NavigationOptions, P as PressOptions, R as ReloadOptions, g as SelectOptions, V as Viewport, h as WaitOptions, i as WaitState } from '../interfaces-7nMNCr2h.js';
1
+ import { E as ElementHint, S as ScreenshotOptions, N as NetworkEntry, W as WebDriver, L as LaunchOptions, C as ContextOptions, D as DriverContext, A as AttachOptions } from '../interfaces-ClW2IRgY.js';
2
+ export { a as ActionTimeout, b as CheckOptions, c as ClickOptions, d as CookieOptions, e as DriverPage, F as FillOptions, G as GotoOptions, H as HoverOptions, f as NavigationOptions, P as PressOptions, R as ReloadOptions, g as SelectOptions, V as Viewport, h as WaitOptions, i as WaitState } from '../interfaces-ClW2IRgY.js';
3
3
  import '@unotest/protocol';
4
4
  import '../config/schema.js';
5
5
  import 'zod';
@@ -1 +1 @@
1
- const _0x36c638=_0x259f;(function(_0x19efe8,_0x15e9a1){const _0x17611f={_0x527417:0x17d,_0x58afc6:0x167,_0x2f84d9:0x13f,_0x5670ca:0x168,_0x28140f:0x15c},_0x4d2156=_0x259f,_0x26c1bd=_0x19efe8();while(!![]){try{const _0x204a0f=parseInt(_0x4d2156(0x146))/0x1+parseInt(_0x4d2156(_0x17611f._0x527417))/0x2+parseInt(_0x4d2156(_0x17611f._0x58afc6))/0x3+-parseInt(_0x4d2156(_0x17611f._0x2f84d9))/0x4+parseInt(_0x4d2156(_0x17611f._0x5670ca))/0x5*(-parseInt(_0x4d2156(0x174))/0x6)+-parseInt(_0x4d2156(0x19b))/0x7*(parseInt(_0x4d2156(0x15f))/0x8)+parseInt(_0x4d2156(_0x17611f._0x28140f))/0x9;if(_0x204a0f===_0x15e9a1)break;else _0x26c1bd['push'](_0x26c1bd['shift']());}catch(_0x3c11b9){_0x26c1bd['push'](_0x26c1bd['shift']());}}}(_0x4c32,0x44af3));var __defProp=Object['defineProperty'],__name=(_0x5e421b,_0x2ab47c)=>__defProp(_0x5e421b,_0x36c638(0x15a),{'value':_0x2ab47c,'configurable':!![]});function _0x4c32(){const _0x3f188e=['nZmZmJy2s0n0zKvf','mtiXmJvZDNLSCu8','z290BW','C2nYzwvUC2HVDevSzw1LBNq','AxnwAxnPyMXL','C2v0q29VA2LL','Dw5JAgvJAW','Dgv4DenVBNrLBNrcEurLzMf1Bhq','CMvJB3jKzxi','z2v0q29VA2LL','zNjHBwvezxb0Aa','y2HLy2S','C3vIC2nYAwjL','ntqWqLzNr3np','y2HLy2TLzfn0yxrL','Ag92zxi','lNbHz2uW','rMfRzvbHz2u','AxneAxnHyMXLza','y2XPy2S','y2fSBhngB3i','C3rLChm','mta1nZuWnNPICfbjCW','y29UBMvJDfnOyxjLzcbUB3qGC3vWCg9YDgvKigj5iezHA2vxzwjeCML2zxi','zMLSBa','y2fSBhm','zxzHBhvHDgvpBKXVy2f0B3i','Bgf1BMnOzwq','CgfNzxm','D2fPDezVCLrLEhq','y2HLy2TLzfn0yxrLqNLezwzHDwX0','z29cywnR','C2f2zvn0B3jHz2vtDgf0zq','z2v0tg9JywXtDg9YywDL','yxr0ywnOrxHPC3rPBMCGBM90ihn1ChbVCNrLzcbIEsbgywTLv2vIrhjPDMvY','iJ48l2rPDJ4','CgfNzuXPC3q','Aw5UzxjuzxH0','AxneAxnHyMXLzej5rgvMyxvSDa','Bgf1BMnO','y2XVC2vgywTLugfNzq','yxr0CMLIDxrLC0j5rgvMyxvSDa','zw1PDezHA2vqB3b1Ca','C2v0qwn0AxzLugfNzq','yxr0ywnOrxHPC3rPBMC','BMv3q29UDgv4DcbJywXSzwqGyMvMB3jLigXHDw5JAcGP','zxzHBhvHDgu','zxjYB3jpBK5LEhrby3rPB24','C2nVCgu','Bg9JywXtDg9YywDLu3rHDgu','DgL0Bgu','Dgv4DenVBNrLBNq','mJC0otC3nvfTAMHbrW','zhjHz0fUzerYB3a','rMfRzunVBNrLEhq','pgrPDJ48l2rPDJ4','ywn0AxzLswr4','DxjS','lNbHz2u','BMv0D29YA0vUDhjPzxm','y29UC29SzuvUDhjPzxm','C2nYzwvUC2HVDej5DgvZ','BgvUz3rO','BMv3q29UDgv4Da','D3nfBMrWB2LUDa','Cg9W','Bwf5yMvuAhjVDW','y29VA2LLu3rHDgu','D2fPDezVCLvYBa','Aw5WDxrwywX1zuj5rgvMyxvSDa','DhLWzq','CMvJB3jK','B25ozxDqywDL','zNjHBwvtDgfJAW','zxzHBhvHDgvszxn1Bhq','C2v0tg9JywXtDg9YywDL','rhjPDMvYrxjYB3i','A2LUza','mty5nJe5mNrRvvLzwa','Aw5WDxrwywX1zq','C3bSAwnL','zMfRzs1WBMC','CMvM','CMvSB2fK','y2XPCgjVyxjKugfZDgu','mZKYndqZveznEuX6','zgvSzxrL','Cg9WDxbpBKnSAwnR','y29VA2LLCW','zg91yMXLq2XPy2S','C2vSzwn0t3b0Aw9U','yMvOyxzPB3i','z29gB3j3yxjK','y29UDgv4Dhm','B3v0zxjiDg1SqNLszwy','zNvUy3rPB24','B25bzNrLCKnSAwnR','B3v0zxjive1m','C2nYB2XSsw50B1zPzxC','CgfNzsbPBMrLEcbVDxqGB2yGCMfUz2u','DxbSB2fKrMLSzq','y291BNq','Aw5ZCgvJDevSzw1LBNq','ChvZAa','BMv3ugfNzuXPC3rLBMvYCW','BMfTzq','zhjPDMvY','mtm1nZuYnefxAMnwrq','y2XVC2u','zw50zxjgCMfTzq','oeLkCuXbBG','D2fPDezVCG','D2fPDezVCKXVywrtDgf0zq','zxHPDezYyw1L','y3vYCMvUDfvYBa','C2nYzwvUC2HVDa','tg9JyxrVCKvYCM9Y','z2v0qxr0CMLIDxrL'];_0x4c32=function(){return _0x3f188e;};return _0x4c32();}function subscribe(_0x14dec1,_0x86dc39){const _0x18e6dc={_0x35d235:0x147};return _0x14dec1['add'](_0x86dc39),()=>{const _0x352cb7=_0x259f;_0x14dec1[_0x352cb7(_0x18e6dc._0x35d235)](_0x86dc39);};}function _0x259f(_0x378a54,_0x2823ec){_0x378a54=_0x378a54-0x13f;const _0x4c32cd=_0x4c32();let _0x259f30=_0x4c32cd[_0x378a54];if(_0x259f['fqsYRa']===undefined){var _0x3d1fcf=function(_0x5adf40){const _0x4bbdc7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5e421b='',_0x2ab47c='';for(let _0x14dec1=0x0,_0x86dc39,_0x39cc01,_0x391e50=0x0;_0x39cc01=_0x5adf40['charAt'](_0x391e50++);~_0x39cc01&&(_0x86dc39=_0x14dec1%0x4?_0x86dc39*0x40+_0x39cc01:_0x39cc01,_0x14dec1++%0x4)?_0x5e421b+=String['fromCharCode'](0xff&_0x86dc39>>(-0x2*_0x14dec1&0x6)):0x0){_0x39cc01=_0x4bbdc7['indexOf'](_0x39cc01);}for(let _0xe45d0=0x0,_0x2acf36=_0x5e421b['length'];_0xe45d0<_0x2acf36;_0xe45d0++){_0x2ab47c+='%'+('00'+_0x5e421b['charCodeAt'](_0xe45d0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2ab47c);};_0x259f['swvlrN']=_0x3d1fcf,_0x259f['OnhmPU']={},_0x259f['fqsYRa']=!![];}const _0x36c961=_0x4c32cd[0x0],_0x145f24=_0x378a54+_0x36c961,_0x41b508=_0x259f['OnhmPU'][_0x145f24];return!_0x41b508?(_0x259f30=_0x259f['swvlrN'](_0x259f30),_0x259f['OnhmPU'][_0x145f24]=_0x259f30):_0x259f30=_0x41b508,_0x259f30;}__name(subscribe,_0x36c638(0x173));import{UnotestError}from'@unotest/core';var DriverError=class extends UnotestError{static{__name(this,_0x36c638(0x1b3));}},LocatorError=class extends UnotestError{static{__name(this,_0x36c638(0x165));}};function createRecorder(){const _0x54a8c2={_0x3525fc:0x158,_0x699e1f:0x180},_0x320230=_0x36c638,_0x39cc01=[];let _0x391e50=0x0;return{'push':__name(_0xe45d0=>_0x39cc01[_0x320230(0x158)]({..._0xe45d0,'seq':_0x391e50++}),_0x320230(_0x54a8c2._0x3525fc)),'calls':__name(()=>_0x39cc01,_0x320230(_0x54a8c2._0x699e1f))};}__name(createRecorder,'createRecorder');var FakePage=class{constructor(_0x2acf36,_0x313a84,_0x42270a,_0x73cc5b){const _0x31244a={_0x3d62ca:0x14c},_0x2c4160=_0x36c638;this['recorder']=_0x2acf36,this[_0x2c4160(_0x31244a._0x3d62ca)]=_0x313a84,this[_0x2c4160(0x197)]=_0x42270a,this[_0x2c4160(0x163)]=_0x73cc5b;}['recorder'];['behavior'];[_0x36c638(0x197)];static{__name(this,_0x36c638(0x178));}[_0x36c638(0x163)];[_0x36c638(0x151)];[_0x36c638(0x1ae)](_0x2e98c8,_0xf1f5d0){const _0x3ff3b2=_0x36c638;this[_0x3ff3b2(0x16f)]['push']({'scope':this[_0x3ff3b2(0x197)],'method':_0x2e98c8,'args':_0xf1f5d0});}[_0x36c638(0x1a9)](){const _0x395895={_0xdb0db5:0x196},_0x5c8b7b=_0x36c638;if(this[_0x5c8b7b(0x14c)][_0x5c8b7b(_0x395895._0xdb0db5)]){const _0x548301=this[_0x5c8b7b(0x14c)]['errorOnNextAction'];this[_0x5c8b7b(0x14c)]['errorOnNextAction']=void 0x0;throw _0x548301;}}[_0x36c638(0x1a0)](){return this['currentUrl'];}async['title'](){const _0x4fef64={_0x5d7264:0x199},_0x521e1e=_0x36c638;return this[_0x521e1e(0x1ae)](_0x521e1e(_0x4fef64._0x5d7264),[]),'fake\x20title';}async['click'](_0x17bbb6,_0x1f37da){const _0x407dce=_0x36c638;this[_0x407dce(0x1ae)](_0x407dce(0x17a),[_0x17bbb6,_0x1f37da]),this['maybeThrow'](),this['onAfterClick']?.();}async[_0x36c638(0x14a)](_0x3e22c7,_0x5ee158){const _0x1c5cb9={_0x1da36f:0x1ae,_0xd03507:0x14a,_0xa80635:0x1a9},_0xfeae57=_0x36c638;this[_0xfeae57(_0x1c5cb9._0x1da36f)](_0xfeae57(_0x1c5cb9._0xd03507),[_0x3e22c7,_0x5ee158]),this[_0xfeae57(_0x1c5cb9._0xa80635)]();}async[_0x36c638(0x17f)](_0x11e365,_0x58354a,_0x148dfd){const _0x417f2e={_0xa5c179:0x17f},_0xa8b55a=_0x36c638;this[_0xa8b55a(0x1ae)](_0xa8b55a(_0x417f2e._0xa5c179),[_0x11e365,_0x58354a,_0x148dfd]),this[_0xa8b55a(0x1a9)]();}async['press'](_0x4cc1e1,_0x1292c9,_0xc54ad2){const _0x1fcbc7={_0x9cadf:0x1ae,_0x1ac15d:0x1a9},_0x2ad744=_0x36c638;this[_0x2ad744(_0x1fcbc7._0x9cadf)]('press',[_0x4cc1e1,_0x1292c9,_0xc54ad2]),this[_0x2ad744(_0x1fcbc7._0x1ac15d)]();}async[_0x36c638(0x172)](_0x5b5fdb,_0x232280){const _0x3e4a7d={_0xf00eae:0x1a9},_0xf3bf83=_0x36c638;this['record'](_0xf3bf83(0x172),[_0x5b5fdb,_0x232280]),this[_0xf3bf83(_0x3e4a7d._0xf00eae)]();}async[_0x36c638(0x16d)](_0x2dea48,_0x5e4c89){const _0x49d6b6=_0x36c638;this['record']('uncheck',[_0x2dea48,_0x5e4c89]),this[_0x49d6b6(0x1a9)]();}async['selectOption'](_0x4efc92,_0x195c56,_0x3ffcb6){const _0x330e70={_0x463000:0x1ae},_0x552724=_0x36c638;this[_0x552724(_0x330e70._0x463000)](_0x552724(0x14b),[_0x4efc92,_0x195c56,_0x3ffcb6]),this['maybeThrow']();}async['hover'](_0x32a414,_0x106dd4){const _0xf28ca9={_0x34b2ef:0x1a9},_0x58d18b=_0x36c638;this[_0x58d18b(0x1ae)](_0x58d18b(0x176),[_0x32a414,_0x106dd4]),this[_0x58d18b(_0xf28ca9._0x34b2ef)]();}async[_0x36c638(0x153)](_0x2f0cc1){const _0x387b91={_0x51275f:0x1ae,_0x164309:0x153},_0x10c12c=_0x36c638;this[_0x10c12c(_0x387b91._0x51275f)](_0x10c12c(_0x387b91._0x164309),[_0x2f0cc1]),this[_0x10c12c(0x1a9)]();}async[_0x36c638(0x19c)](_0x451340,_0x57e3d8,_0x1292b5){const _0x5f2cf2=_0x36c638;this[_0x5f2cf2(0x1ae)](_0x5f2cf2(0x19c),[_0x451340,_0x57e3d8,_0x1292b5]),this[_0x5f2cf2(0x1a9)]();}async['uploadFile'](_0x320407,_0x12336d){const _0x27d651={_0x7cd10c:0x155},_0x55fdda=_0x36c638;this['record'](_0x55fdda(_0x27d651._0x7cd10c),[_0x320407,_0x12336d]),this[_0x55fdda(0x1a9)]();}async[_0x36c638(0x145)](_0x474524,_0x13fef4){const _0x27a6e3={_0x1a115d:0x145},_0x3ac11d=_0x36c638;this[_0x3ac11d(0x1ae)](_0x3ac11d(_0x27a6e3._0x1a115d),[_0x474524,_0x13fef4]),this['maybeThrow']();}async['count'](_0xadd5a8){const _0x4bc562={_0x1a7308:0x14c},_0x110166=_0x36c638;return this[_0x110166(0x1ae)](_0x110166(0x156),[_0xadd5a8]),this[_0x110166(_0x4bc562._0x1a7308)]['countByDefault']??0x1;}async['textContent'](_0x5d9ac7){const _0x369d90={_0x428aa9:0x1ae,_0x575c1a:0x19a,_0x168aa9:0x16e},_0x4ab72=_0x36c638;return this[_0x4ab72(_0x369d90._0x428aa9)](_0x4ab72(_0x369d90._0x575c1a),[_0x5d9ac7]),this[_0x4ab72(0x14c)][_0x4ab72(_0x369d90._0x168aa9)]??'';}async[_0x36c638(0x18c)](_0x3483d0){const _0x209767={_0x49f49a:0x1ae,_0x2f725b:0x16e},_0x49edd0=_0x36c638;return this[_0x49edd0(_0x209767._0x49f49a)]('innerText',[_0x3483d0]),this[_0x49edd0(0x14c)]['innerTextByDefault']??this[_0x49edd0(0x14c)][_0x49edd0(_0x209767._0x2f725b)]??'';}async['inputValue'](_0xf7a228){const _0x18ed43={_0x3be16f:0x140,_0x58d206:0x14c,_0x3d26cf:0x1ac},_0x4f05d2=_0x36c638;return this['record'](_0x4f05d2(_0x18ed43._0x3be16f),[_0xf7a228]),this[_0x4f05d2(_0x18ed43._0x58d206)][_0x4f05d2(_0x18ed43._0x3d26cf)]??'';}async['checkedState'](_0x4a879d){const _0x5bfd7c={_0x4d5fda:0x1ae},_0xfdcbc5=_0x36c638;return this[_0xfdcbc5(_0x5bfd7c._0x4d5fda)](_0xfdcbc5(0x175),[_0x4a879d]),this[_0xfdcbc5(0x14c)][_0xfdcbc5(0x185)]??null;}async[_0x36c638(0x16b)](_0x2bd56c){const _0x4f1ea7=_0x36c638;return this[_0x4f1ea7(0x1ae)](_0x4f1ea7(0x16b),[_0x2bd56c]),this[_0x4f1ea7(0x14c)]['isVisibleByDefault']??!![];}async[_0x36c638(0x179)](_0x29052){const _0x2a8c2c=_0x36c638;return this['record'](_0x2a8c2c(0x179),[_0x29052]),this['behavior'][_0x2a8c2c(0x18d)]??![];}async[_0x36c638(0x166)](_0x19b5f6,_0x5810d4){const _0x213233={_0x1a61b8:0x1ae},_0x5b5f0a=_0x36c638;return this[_0x5b5f0a(_0x213233._0x1a61b8)]('getAttribute',[_0x19b5f6,_0x5810d4]),this['behavior'][_0x5b5f0a(0x190)]?.[_0x5810d4]??null;}async['waitFor'](_0x315c2a,_0x18a03f){const _0x5af48b={_0x49b27e:0x160},_0x1240a0=_0x36c638;this[_0x1240a0(0x1ae)](_0x1240a0(_0x5af48b._0x49b27e),[_0x315c2a,_0x18a03f]);}async[_0x36c638(0x1ab)](_0x50888d,_0x5cb3fb){const _0x429f55={_0x638c7f:0x1ae},_0x2b364e=_0x36c638;this[_0x2b364e(_0x429f55._0x638c7f)](_0x2b364e(0x1ab),[_0x50888d,_0x5cb3fb]);}async[_0x36c638(0x184)](_0x2845d6,_0x390e70){const _0x2aec20={_0x2dda8d:0x1ae,_0x415690:0x184},_0x157ace=_0x36c638;this[_0x157ace(_0x2aec20._0x2dda8d)](_0x157ace(_0x2aec20._0x415690),[_0x2845d6,_0x390e70]);}async['waitForNavigation'](_0x2f1cea){const _0x15715c={_0x468631:0x1ae},_0x5c9076=_0x36c638;this[_0x5c9076(_0x15715c._0x468631)]('waitForNavigation',[_0x2f1cea]);}async[_0x36c638(0x161)](_0x228b9b,_0x4c6174){const _0x1d8d16=_0x36c638;this[_0x1d8d16(0x1ae)]('waitForLoadState',[_0x228b9b,_0x4c6174]);}async[_0x36c638(0x169)](_0x588644,_0x270684){const _0x3c5d96={_0x5d46ed:0x163},_0x495004=_0x36c638;this[_0x495004(0x1ae)](_0x495004(0x169),[_0x588644,_0x270684]),this[_0x495004(_0x3c5d96._0x5d46ed)]=_0x588644;}async[_0x36c638(0x144)](_0x48d13a){const _0x46a63f={_0x27fa71:0x1ae,_0x17e0ea:0x144},_0x39c6fa=_0x36c638;this[_0x39c6fa(_0x46a63f._0x27fa71)](_0x39c6fa(_0x46a63f._0x17e0ea),[_0x48d13a]);}async[_0x36c638(0x186)](_0x3a82f1){const _0x15eaab={_0x4fbb94:0x186},_0x4e495c=_0x36c638;this['record'](_0x4e495c(_0x15eaab._0x4fbb94),[_0x3a82f1]);}async[_0x36c638(0x14d)](_0x3e7656){const _0xbc016=_0x36c638;this[_0xbc016(0x1ae)]('goForward',[_0x3e7656]);}async[_0x36c638(0x195)](_0x36cb3d){const _0x278003={_0x19b14e:0x195,_0x3a469b:0x1b1},_0x52d5a1=_0x36c638;return this['record'](_0x52d5a1(_0x278003._0x19b14e),[_0x36cb3d]),this[_0x52d5a1(0x14c)][_0x52d5a1(_0x278003._0x3a469b)];}async[_0x36c638(0x181)](_0x4341f6,_0x1d9c3c){const _0x440032={_0x3d8fc3:0x181},_0x4f4447=_0x36c638;return this[_0x4f4447(0x1ae)](_0x4f4447(_0x440032._0x3d8fc3),[_0x4341f6,_0x1d9c3c]),void 0x0;}async[_0x36c638(0x157)](_0x2e086b){const _0x284709={_0xd22fc1:0x1b4,_0x3e58f2:0x143,_0x1494b7:0x17c,_0x1911c7:0x143},_0x3af6f5=_0x36c638;this[_0x3af6f5(0x1ae)](_0x3af6f5(0x157),[_0x2e086b]);if(_0x2e086b[_0x3af6f5(0x17c)][_0x3af6f5(0x1a5)]!==0x1||_0x2e086b[_0x3af6f5(0x17c)][0x0][_0x3af6f5(_0x284709._0xd22fc1)]!==_0x3af6f5(_0x284709._0x3e58f2))return null;const _0x35b037=_0x2e086b[_0x3af6f5(_0x284709._0x1494b7)][0x0][_0x3af6f5(_0x284709._0x1911c7)],_0x29d9d8=this['behavior']['elementHintByRef']?.[_0x35b037];return _0x29d9d8??null;}async[_0x36c638(0x164)](_0x18cf38){const _0x1faba5={_0x4b21f3:0x1a4},_0x427556=_0x36c638;return this[_0x427556(0x1ae)]('screenshot',[_0x18cf38]),this[_0x427556(_0x1faba5._0x4b21f3)](_0x18cf38?.[_0x427556(0x1ad)]);}async['screenshotElement'](_0x595a0d,_0x374230){const _0xcd959f={_0x2a80d4:0x1ae,_0x4c1230:0x1a4},_0x3c1116=_0x36c638;return this[_0x3c1116(_0xcd959f._0x2a80d4)](_0x3c1116(0x16a),[_0x595a0d,_0x374230]),this[_0x3c1116(_0xcd959f._0x4c1230)](_0x374230?.[_0x3c1116(0x1ad)]);}[_0x36c638(0x1a4)](_0x2679c8){const _0x18665a={_0x2a93a7:0x14c,_0x4ed823:0x1a4,_0x2eba8d:0x142},_0xd724e=_0x36c638,_0x4de5e7=this[_0xd724e(_0x18665a._0x2a93a7)][_0xd724e(_0x18665a._0x4ed823)];if(_0x4de5e7===void 0x0)return Buffer['from'](_0xd724e(_0x18665a._0x2eba8d));return typeof _0x4de5e7===_0xd724e(0x150)?_0x4de5e7(_0x2679c8):_0x4de5e7;}async[_0x36c638(0x152)](_0x5b9db5){const _0x2d5668={_0x36f2fb:0x1ae,_0x58b02d:0x17c,_0x3d4567:0x143,_0x2efd68:0x19e},_0x3aff96=_0x36c638;this[_0x3aff96(_0x2d5668._0x36f2fb)]('outerHTML',[_0x5b9db5]);if(_0x5b9db5[_0x3aff96(0x17c)][_0x3aff96(0x1a5)]===0x1&&_0x5b9db5[_0x3aff96(0x17c)][0x0][_0x3aff96(0x1b4)]==='ref'){const _0x196609=_0x5b9db5[_0x3aff96(_0x2d5668._0x58b02d)][0x0][_0x3aff96(_0x2d5668._0x3d4567)];return this['behavior'][_0x3aff96(0x14f)]?.[_0x196609]??'<div\x20data-unotest-ref=\x22'+_0x196609+_0x3aff96(0x18a);}return _0x3aff96(_0x2d5668._0x2efd68);}},FakeContext=class{constructor(_0x1a9970,_0x57e946,_0x2d9524){const _0x1ab4eb={_0x49fab9:0x16f,_0x5f1fc8:0x197,_0x1a7b6a:0x148,_0x272475:0x149},_0x284691={_0x172287:0x191,_0xe93f6f:0x148},_0x5f26c=_0x36c638;this[_0x5f26c(_0x1ab4eb._0x49fab9)]=_0x1a9970,this[_0x5f26c(0x14c)]=_0x57e946,this[_0x5f26c(_0x1ab4eb._0x5f1fc8)]=_0x2d9524;const _0x146016=new FakePage(_0x1a9970,_0x57e946,_0x2d9524+_0x5f26c(0x177),_0x57e946['initialUrl']??'about:blank');_0x57e946[_0x5f26c(_0x1ab4eb._0x1a7b6a)]&&(_0x146016[_0x5f26c(0x151)]=()=>{const _0x42513d=_0x5f26c;this[_0x42513d(_0x284691._0x172287)](_0x57e946[_0x42513d(_0x284691._0xe93f6f)]);}),this[_0x5f26c(0x18b)]=[_0x146016],this[_0x5f26c(0x198)]={..._0x57e946['localStorage']??{}},this['cookieState']={..._0x57e946[_0x5f26c(_0x1ab4eb._0x272475)]??{}};}[_0x36c638(0x16f)];[_0x36c638(0x14c)];[_0x36c638(0x197)];static{__name(this,_0x36c638(0x19d));}[_0x36c638(0x18b)];[_0x36c638(0x19f)]=0x0;['frameStack']=[];[_0x36c638(0x198)];[_0x36c638(0x1aa)];[_0x36c638(0x159)]=new Set();[_0x36c638(0x1ae)](_0x1c5192,_0xc79ec3){const _0xdd3db4={_0x1befc4:0x158},_0xe9df8=_0x36c638;this[_0xe9df8(0x16f)][_0xe9df8(_0xdd3db4._0x1befc4)]({'scope':this['scope'],'method':_0x1c5192,'args':_0xc79ec3});}[_0x36c638(0x183)](){const _0x1da9e2=_0x36c638;return this[_0x1da9e2(0x18b)];}['activePage'](){const _0xf6d37e={_0x2fc1d9:0x19f,_0x574b47:0x19f},_0x92fdb7=_0x36c638,_0x2f9d17=this[_0x92fdb7(0x18b)][this[_0x92fdb7(_0xf6d37e._0x2fc1d9)]];if(!_0x2f9d17)throw new DriverError('no\x20active\x20page\x20in\x20context',{'activeIdx':this[_0x92fdb7(_0xf6d37e._0x574b47)]});return _0x2f9d17;}['consoleEntries'](){const _0x48b8d5={_0xebc485:0x14c},_0x32750e=_0x36c638;return this[_0x32750e(_0x48b8d5._0xebc485)][_0x32750e(0x1a3)]??[];}['networkEntries'](){const _0x840bcd={_0x9e562f:0x14c},_0x326875=_0x36c638;return this[_0x326875(_0x840bcd._0x9e562f)][_0x326875(0x1a2)]??[];}async['setActivePage'](_0x2c15e9){const _0x4b6086={_0x226e5d:0x192,_0xf1e6b8:0x18b,_0x5aa071:0x1a5,_0xf9a768:0x19f,_0x4e1485:0x1b0},_0x18f6dc=_0x36c638;this[_0x18f6dc(0x1ae)](_0x18f6dc(_0x4b6086._0x226e5d),[_0x2c15e9]);if(_0x2c15e9<0x0||_0x2c15e9>=this[_0x18f6dc(_0x4b6086._0xf1e6b8)][_0x18f6dc(_0x4b6086._0x5aa071)])throw new DriverError(_0x18f6dc(0x154),{'index':_0x2c15e9,'available':this['pageList'][_0x18f6dc(0x1a5)]});this[_0x18f6dc(_0x4b6086._0xf9a768)]=_0x2c15e9,this[_0x18f6dc(_0x4b6086._0x4e1485)][_0x18f6dc(0x1a5)]=0x0;}[_0x36c638(0x1af)](_0x2c06bf){const _0x2cd6d4={_0x217a3e:0x159},_0x1089e0=_0x36c638;return subscribe(this[_0x1089e0(_0x2cd6d4._0x217a3e)],_0x2c06bf);}[_0x36c638(0x191)](_0x19e4a2){const _0xf8695={_0x3ffb37:0x197,_0x293c25:0x1a1,_0x3ecd2d:0x18b,_0x5a2e26:0x1a5,_0x34733d:0x158},_0x125f4e=_0x36c638,_0x3e7005=this[_0x125f4e(_0xf8695._0x3ffb37)]+_0x125f4e(_0xf8695._0x293c25)+this[_0x125f4e(_0xf8695._0x3ecd2d)][_0x125f4e(_0xf8695._0x5a2e26)],_0xcd09f9=new FakePage(this[_0x125f4e(0x16f)],this[_0x125f4e(0x14c)],_0x3e7005,_0x19e4a2);this['pageList'][_0x125f4e(_0xf8695._0x34733d)](_0xcd09f9);const _0x17f92f=this[_0x125f4e(0x18b)][_0x125f4e(_0xf8695._0x5a2e26)]-0x1;for(const _0x185ef6 of this['newPageListeners']){try{_0x185ef6({'index':_0x17f92f,'url':_0x19e4a2});}catch{}}return _0x17f92f;}[_0x36c638(0x18f)](_0x4be16b){const _0x3dd4e3={_0x27f17c:0x1a5,_0x5e986a:0x154,_0x2660ef:0x18b},_0x270ea3=_0x36c638;if(_0x4be16b<0x0||_0x4be16b>=this['pageList'][_0x270ea3(_0x3dd4e3._0x27f17c)])throw new DriverError(_0x270ea3(_0x3dd4e3._0x5e986a),{'index':_0x4be16b,'available':this['pageList'][_0x270ea3(0x1a5)]});this[_0x270ea3(_0x3dd4e3._0x2660ef)][_0x270ea3(0x141)](_0x4be16b,0x1);}async[_0x36c638(0x15e)](_0x577c7d){const _0xfd4911={_0x34ce2b:0x1a5,_0x38d8a0:0x158},_0x2eb6f9=_0x36c638;this[_0x2eb6f9(0x1ae)]('enterFrame',[_0x577c7d]);if(!_0x577c7d[_0x2eb6f9(0x17c)][_0x2eb6f9(_0xfd4911._0x34ce2b)])throw new LocatorError('enterFrame\x20called\x20with\x20empty\x20locator',{'locator':_0x577c7d});this[_0x2eb6f9(0x1b0)][_0x2eb6f9(_0xfd4911._0x38d8a0)](_0x577c7d);}async['exitFrame'](){const _0x16c43d={_0x427376:0x1ae,_0x47c119:0x162,_0x21b448:0x1a8},_0x504f32=_0x36c638;this[_0x504f32(_0x16c43d._0x427376)](_0x504f32(_0x16c43d._0x47c119),[]);if(this[_0x504f32(0x1b0)]['length']===0x0)throw new DriverError('exitFrame\x20called\x20with\x20no\x20frame\x20on\x20the\x20stack',{});this[_0x504f32(0x1b0)][_0x504f32(_0x16c43d._0x21b448)]();}async[_0x36c638(0x1b2)](_0x1efa16,_0xf23c06){const _0x1a02d8={_0x398898:0x1ae},_0x5889a9=_0x36c638;this[_0x5889a9(_0x1a02d8._0x398898)](_0x5889a9(0x1b2),[_0x1efa16,_0xf23c06]),this[_0x5889a9(0x198)][_0x1efa16]=_0xf23c06;}async[_0x36c638(0x188)](_0x42c7da){const _0x29b5f7={_0x552855:0x188,_0x528983:0x198},_0x18f389=_0x36c638;return this[_0x18f389(0x1ae)](_0x18f389(_0x29b5f7._0x552855),[_0x42c7da]),this[_0x18f389(_0x29b5f7._0x528983)][_0x42c7da]??null;}async['setCookie'](_0x117ef0,_0x44010b,_0x30f9bf){const _0x3156a8={_0x40df95:0x1aa},_0x31b2a2=_0x36c638;this[_0x31b2a2(0x1ae)](_0x31b2a2(0x16c),[_0x117ef0,_0x44010b,_0x30f9bf]),this[_0x31b2a2(_0x3156a8._0x40df95)][_0x117ef0]=_0x44010b;}async[_0x36c638(0x170)](_0x575dfb){const _0x579d48={_0xf68eba:0x1ae,_0x30d947:0x170,_0x20310f:0x1aa},_0x201cab=_0x36c638;return this[_0x201cab(_0x579d48._0xf68eba)](_0x201cab(_0x579d48._0x30d947),[_0x575dfb]),this[_0x201cab(_0x579d48._0x20310f)][_0x575dfb]??null;}async['saveStorageState'](_0x32bd17){const _0x3365cc={_0x1fbc9a:0x1ae,_0x394682:0x187},_0xfee9c9=_0x36c638;this[_0xfee9c9(_0x3365cc._0x1fbc9a)](_0xfee9c9(_0x3365cc._0x394682),[_0x32bd17]);}async[_0x36c638(0x195)](_0x4d858d){const _0x505317=_0x36c638;return this[_0x505317(0x1ae)](_0x505317(0x195),[_0x4d858d]),void 0x0;}async[_0x36c638(0x15d)](){const _0xdf473a={_0x3401d2:0x1ae},_0x58011b=_0x36c638;this[_0x58011b(_0xdf473a._0x3401d2)]('close',[]);}[_0x36c638(0x171)](){const _0xa74616={_0x165e5b:0x1b0},_0x43e345=_0x36c638;return this[_0x43e345(_0xa74616._0x165e5b)][_0x43e345(0x1a5)];}},FakeWebDriver=class{constructor(_0xbedb01={}){const _0x5ef28e={_0x28e4b6:0x14c},_0x6d3de7=_0x36c638;this[_0x6d3de7(_0x5ef28e._0x28e4b6)]=_0xbedb01,this[_0x6d3de7(0x16f)]=createRecorder();}[_0x36c638(0x14c)];static{__name(this,'FakeWebDriver');}[_0x36c638(0x182)]=![];[_0x36c638(0x16f)];[_0x36c638(0x14e)]=[];async[_0x36c638(0x18e)](_0x3c419c){const _0x3d4634={_0xc08c23:0x15b},_0x697f0a=_0x36c638;this[_0x697f0a(0x16f)][_0x697f0a(0x158)]({'scope':_0x697f0a(_0x3d4634._0xc08c23),'method':_0x697f0a(0x18e),'args':[_0x3c419c]}),this[_0x697f0a(0x182)]=!![];}async[_0x36c638(0x1a6)](_0x35d4be){const _0x50ecb2={_0x4dfedf:0x1a6,_0x904437:0x194,_0x51a7ea:0x16f,_0x1375e4:0x1a5},_0x49fbc0=_0x36c638;this['recorder'][_0x49fbc0(0x158)]({'scope':_0x49fbc0(0x15b),'method':_0x49fbc0(_0x50ecb2._0x4dfedf),'args':[_0x35d4be]});if(!this['launched'])throw new DriverError(_0x49fbc0(_0x50ecb2._0x904437),{});const _0x4057db=new FakeContext(this[_0x49fbc0(_0x50ecb2._0x51a7ea)],this[_0x49fbc0(0x14c)],'ctx'+this['contexts'][_0x49fbc0(_0x50ecb2._0x1375e4)]);return this[_0x49fbc0(0x14e)]['push'](_0x4057db),_0x4057db;}async[_0x36c638(0x15d)](){const _0x4d8198={_0x51be77:0x182},_0x211d53=_0x36c638;this[_0x211d53(0x16f)][_0x211d53(0x158)]({'scope':_0x211d53(0x15b),'method':'close','args':[]}),this[_0x211d53(_0x4d8198._0x51be77)]=![];}[_0x36c638(0x1a7)](){return void 0x0;}async['connectShared'](){const _0x47320e={_0x46d810:0x17e},_0x1513f9=_0x36c638;throw new DriverError(_0x1513f9(_0x47320e._0x46d810),{});}[_0x36c638(0x193)](_0x370cad){const _0x3b1354=_0x36c638;throw new DriverError(_0x3b1354(0x189),{});}[_0x36c638(0x180)](){const _0x56b513={_0x3d6edb:0x180},_0xd7c8d1=_0x36c638;return this['recorder'][_0xd7c8d1(_0x56b513._0x3d6edb)]();}[_0x36c638(0x17b)](_0x335696){const _0x18351f=_0x36c638;return this[_0x18351f(0x16f)][_0x18351f(0x180)]()['filter'](_0x28ae5b=>_0x28ae5b['method']===_0x335696);}};export{FakeWebDriver};
1
+ function _0x389f(_0x23c25d,_0x291f4c){_0x23c25d=_0x23c25d-0x9d;const _0x3f6528=_0x3f65();let _0x389f36=_0x3f6528[_0x23c25d];if(_0x389f['HBIuoT']===undefined){var _0x2a29af=function(_0x4a00c6){const _0x2ad076='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39ccd7='',_0x4dbc93='';for(let _0x53c645=0x0,_0x156d5a,_0x35f335,_0x52b9ed=0x0;_0x35f335=_0x4a00c6['charAt'](_0x52b9ed++);~_0x35f335&&(_0x156d5a=_0x53c645%0x4?_0x156d5a*0x40+_0x35f335:_0x35f335,_0x53c645++%0x4)?_0x39ccd7+=String['fromCharCode'](0xff&_0x156d5a>>(-0x2*_0x53c645&0x6)):0x0){_0x35f335=_0x2ad076['indexOf'](_0x35f335);}for(let _0x21f22a=0x0,_0x15e21b=_0x39ccd7['length'];_0x21f22a<_0x15e21b;_0x21f22a++){_0x4dbc93+='%'+('00'+_0x39ccd7['charCodeAt'](_0x21f22a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4dbc93);};_0x389f['ptkoXO']=_0x2a29af,_0x389f['hzYVSA']={},_0x389f['HBIuoT']=!![];}const _0x260655=_0x3f6528[0x0],_0x1c4061=_0x23c25d+_0x260655,_0x2b5f6a=_0x389f['hzYVSA'][_0x1c4061];return!_0x2b5f6a?(_0x389f36=_0x389f['ptkoXO'](_0x389f36),_0x389f['hzYVSA'][_0x1c4061]=_0x389f36):_0x389f36=_0x2b5f6a,_0x389f36;}const _0x562ca9=_0x389f;(function(_0x21d0aa,_0x354f9b){const _0x42e522={_0xf0dd9b:0xc1,_0x2dedc8:0xde,_0xc0d620:0xcc,_0x3452a0:0x11e,_0x585f7c:0xc7,_0x48104f:0xa7},_0x1dc3e6=_0x389f,_0x1740e8=_0x21d0aa();while(!![]){try{const _0x7794af=parseInt(_0x1dc3e6(0xb3))/0x1*(parseInt(_0x1dc3e6(0xb1))/0x2)+-parseInt(_0x1dc3e6(0xdc))/0x3*(parseInt(_0x1dc3e6(0xa6))/0x4)+-parseInt(_0x1dc3e6(_0x42e522._0xf0dd9b))/0x5*(-parseInt(_0x1dc3e6(_0x42e522._0x2dedc8))/0x6)+-parseInt(_0x1dc3e6(_0x42e522._0xc0d620))/0x7*(parseInt(_0x1dc3e6(_0x42e522._0x3452a0))/0x8)+parseInt(_0x1dc3e6(_0x42e522._0x585f7c))/0x9+-parseInt(_0x1dc3e6(0xc0))/0xa*(parseInt(_0x1dc3e6(0xdd))/0xb)+-parseInt(_0x1dc3e6(0x111))/0xc*(parseInt(_0x1dc3e6(_0x42e522._0x48104f))/0xd);if(_0x7794af===_0x354f9b)break;else _0x1740e8['push'](_0x1740e8['shift']());}catch(_0x4d5419){_0x1740e8['push'](_0x1740e8['shift']());}}}(_0x3f65,0xd1a39));var __defProp=Object[_0x562ca9(0xdf)],__name=(_0x39ccd7,_0x4dbc93)=>__defProp(_0x39ccd7,_0x562ca9(0xca),{'value':_0x4dbc93,'configurable':!![]});function subscribe(_0x53c645,_0x156d5a){const _0x173388={_0xa8031f:0xe5},_0x1a4d56=_0x562ca9;return _0x53c645[_0x1a4d56(0x11a)](_0x156d5a),()=>{const _0x43dc68=_0x1a4d56;_0x53c645[_0x43dc68(_0x173388._0xa8031f)](_0x156d5a);};}function _0x3f65(){const _0x126918=['y29VA2LLu3rHDgu','mJrdEwv2rKS','C2nYzwvUC2HVDa','tg9JyxrVCKvYCM9Y','Cg9W','y29UC29SzuvUDhjPzxm','rMfRzvDLyKrYAxzLCG','y29VA2LLCW','C3rLChm','CMvSB2fK','D3nfBMrWB2LUDa','zw50zxjgCMfTzsbJywXSzwqGD2L0AcbLBxb0EsbSB2nHDg9Y','A2LUza','ywn0AxzLswr4','pgrPDIbKyxrHlxvUB3rLC3qTCMvMpsi','zMLSBa','z2v0q29VA2LL','D2fPDezVCK5HDMLNyxrPB24','mtGZndyZmLjIsKXvqW','mty5rNPqt3bU','zw50zxjgCMfTzq','BgvUz3rO','y2HLy2TLzfn0yxrL','AxneAxnHyMXLza','C2v0tg9JywXtDg9YywDL','DgL0Bgu','y2XPCgjVyxjKugfZDgu','ywn0AxzLugfNzq','y3vYCMvUDfvYBa','ndq2ugDPv3vp','C2v0q29VA2LL','nJaYoxLlrurQtG','z29gB3j3yxjK','CgfNzuXPC3q','D2fPDezVCKXVywrtDgf0zq','Bwf5yMvuAhjVDW','ChvZAa','y29UBMvJDfnOyxjLza','y2HLy2TLzfn0yxrLqNLezwzHDwX0','zw1PDezHA2vqB3b1Ca','AxnwAxnPyMXLqNLezwzHDwX0','zhjPDMvY','zxHPDezYyw1LignHBgXLzcb3AxrOig5VigzYyw1Lig9UihrOzsbZDgfJAW','zMLSDgvY','mtaWmhfZv0v3wa','mtK3nJe1svDrEKvO','DxjS','y291BNrcEurLzMf1Bhq','B25bzNrLCKnSAwnR','CgfNzsbPBMrLEcbVDxqGB2yGCMfUz2u','ywjVDxq6yMXHBMS','nJGWmti0nKLxAhPwEq','ChjLC3m','lNbHz2u','BMfTzq','y2fSBhngB3i','mJe5odu2y09LwvjO','y29UDgv4Dhm','CgfNzxm','BMv3q29UDgv4Da','rhjPDMvYrxjYB3i','B3v0zxjive1m','C2nVCgu','Aw5WDxrwywX1zq','zxHPDezYyw1L','C2nYzwvUC2HVDevSzw1LBNq','D2fPDezVCLvYBa','Bg9JywXtDg9YywDLu3rHDgu','zxzHBhvHDgvpBKXVy2f0B3i','BM8Gywn0AxzLihbHz2uGAw4Gy29UDgv4Da','C2f2zvn0B3jHz2vtDgf0zq','zwXLBwvUDeHPBNrcEvjLzG','m0DPAe5jvq','mJK3ntvhCeLyEgS','ndjtr3njtKi','zgvMAw5LuhjVCgvYDhK','DhLWzq','y2fSBhm','zg91yMXLq2XPy2S','yMvOyxzPB3i','y291BNq','zgvSzxrL','z2v0tg9JywXtDg9YywDL','Dgv4DenVBNrLBNrcEurLzMf1Bhq','AxnwAxnPyMXL','BMv0D29YA0vUDhjPzxm','yxr0CMLIDxrLC0j5rgvMyxvSDa','rMfRzunVBNrLEhq','z290BW','y2XVC2u','y2XVC2vgywTLugfNzq','AxneAxnHyMXLzej5rgvMyxvSDa','rMfRzvbHz2u','Aw5UzxjuzxH0','lNbHz2uW','B3v0zxjiDg1SqNLszwy','Bgf1BMnOzwq','y2XPy2S','zxjYB3jpBK5LEhrby3rPB24','y29UBMvJDfnOyxjLzcbUB3qGC3vWCg9YDgvKigj5iezHA2vxzwjeCML2zxi','Cg9WDxbpBKnSAwnR','BMv3q29UDgv4DcbJywXSzwqGyMvMB3jLigXHDw5JAcGP','Bgf1BMnO','Aw5ZCgvJDevSzw1LBNq','zhjHz0fUzerYB3a','CMvJB3jK','D2fPDezVCG','zNjHBwvtDgfJAW','y2HLy2S','zNvUy3rPB24','CMvM','B25ozxDqywDL','zMfRzsb0AxrSzq','BMv3ugfNzuXPC3rLBMvYCW','C3vIC2nYAwjL','y3jLyxrLuMvJB3jKzxi','CMvJB3jKzxi','z29cywnR','y3r4','C2vSzwn0t3b0Aw9U','Aw5UzxjuzxH0qNLezwzHDwX0','iJ48l2rPDJ4','DxbSB2fKrMLSzq','z2v0qxr0CMLIDxrL','zxzHBhvHDgu','nJqXmZe2shrmDgLP','Ag92zxi','zxzHBhvHDgvszxn1Bhq','C2nYB2XSsw50B1zPzxC','Aw5PDgLHBfvYBa','Bwv0Ag9K','Dgv4DenVBNrLBNq','D2fPDezVCLrLEhq','C3bSAwnL','ywrK','C2v0qwn0AxzLugfNzq','C2nYzwvUC2HVDej5DgvZ'];_0x3f65=function(){return _0x126918;};return _0x3f65();}__name(subscribe,_0x562ca9(0x106));import{UnotestError}from'@unotest/core';var DriverError=class extends UnotestError{static{__name(this,_0x562ca9(0xd0));}},LocatorError=class extends UnotestError{static{__name(this,_0x562ca9(0x120));}};function createRecorder(){const _0x4586c2={_0x57d957:0xb8,_0x30f612:0xe1},_0x4422c9=_0x562ca9,_0x35f335=[];let _0x52b9ed=0x0;return{'push':__name(_0x21f22a=>_0x35f335[_0x4422c9(0xb8)]({..._0x21f22a,'seq':_0x52b9ed++}),_0x4422c9(_0x4586c2._0x57d957)),'calls':__name(()=>_0x35f335,_0x4422c9(_0x4586c2._0x30f612))};}__name(createRecorder,_0x562ca9(0x107));var FakePage=class{constructor(_0x15e21b,_0x98d4fa,_0x551e25,_0x248129){const _0x5bc653={_0x399fbd:0xe3},_0x5e46fb=_0x562ca9;this['recorder']=_0x15e21b,this[_0x5e46fb(_0x5bc653._0x399fbd)]=_0x98d4fa,this['scope']=_0x551e25,this['currentUrl']=_0x248129;}[_0x562ca9(0x108)];[_0x562ca9(0xe3)];[_0x562ca9(0xd2)];static{__name(this,_0x562ca9(0xf0));}[_0x562ca9(0xb0)];[_0x562ca9(0xc4)];[_0x562ca9(0xfd)](_0x22c45c,_0x334c19){const _0x3b657b={_0x2cf371:0xb8},_0xcc7ec1=_0x562ca9;this['recorder'][_0xcc7ec1(_0x3b657b._0x2cf371)]({'scope':this[_0xcc7ec1(0xd2)],'method':_0x22c45c,'args':_0x334c19});}[_0x562ca9(0xb7)](){const _0x5b5dfe=_0x562ca9;if(this[_0x5b5dfe(0xe3)][_0x5b5dfe(0xf6)]){const _0x23ae7b=this[_0x5b5dfe(0xe3)][_0x5b5dfe(0xf6)];this['behavior'][_0x5b5dfe(0xf6)]=void 0x0;throw _0x23ae7b;}}[_0x562ca9(0xc2)](){return this['currentUrl'];}async[_0x562ca9(0xad)](){const _0x233d31={_0x3548ad:0x104},_0x127117=_0x562ca9;return this[_0x127117(0xfd)](_0x127117(0xad),[]),_0x127117(_0x233d31._0x3548ad);}async[_0x562ca9(0xf5)](_0x390844,_0x3baf0e){const _0x465649={_0x54f47c:0xb7,_0x1f8698:0xc4},_0x1703a6=_0x562ca9;this[_0x1703a6(0xfd)](_0x1703a6(0xf5),[_0x390844,_0x3baf0e]),this[_0x1703a6(_0x465649._0x54f47c)](),this[_0x1703a6(_0x465649._0x1f8698)]?.();}async[_0x562ca9(0xe2)](_0x373caa,_0x55383b){const _0x40a84b={_0x34965f:0xfd,_0x2c0fd0:0xe2,_0x202535:0xb7},_0x2ea8ad=_0x562ca9;this[_0x2ea8ad(_0x40a84b._0x34965f)](_0x2ea8ad(_0x40a84b._0x2c0fd0),[_0x373caa,_0x55383b]),this[_0x2ea8ad(_0x40a84b._0x202535)]();}async[_0x562ca9(0xa3)](_0x337e1e,_0x4c4c5a,_0x28ebf9){const _0x22a579={_0x44b9f3:0xb7},_0x5943ab=_0x562ca9;this[_0x5943ab(0xfd)]('fill',[_0x337e1e,_0x4c4c5a,_0x28ebf9]),this[_0x5943ab(_0x22a579._0x44b9f3)]();}async[_0x562ca9(0xc8)](_0x3e7793,_0x47ac91,_0x4c0b1b){const _0x33fbf0={_0x5d8723:0xc8,_0x4ae42a:0xb7},_0x48c6b0=_0x562ca9;this[_0x48c6b0(0xfd)](_0x48c6b0(_0x33fbf0._0x5d8723),[_0x3e7793,_0x47ac91,_0x4c0b1b]),this[_0x48c6b0(_0x33fbf0._0x4ae42a)]();}async[_0x562ca9(0x100)](_0x436fa0,_0x2806b5){const _0x46f7c7={_0x3f317a:0x100},_0x379420=_0x562ca9;this[_0x379420(0xfd)](_0x379420(_0x46f7c7._0x3f317a),[_0x436fa0,_0x2806b5]),this['maybeThrow']();}async['uncheck'](_0x55c10b,_0x5764dd){const _0x486f60={_0x29d686:0xfd},_0x1f59b5=_0x562ca9;this[_0x1f59b5(_0x486f60._0x29d686)]('uncheck',[_0x55c10b,_0x5764dd]),this['maybeThrow']();}async[_0x562ca9(0x10b)](_0x21806b,_0x246266,_0x1662a5){const _0x3b619d={_0x920bec:0xfd},_0x173b8d=_0x562ca9;this[_0x173b8d(_0x3b619d._0x920bec)](_0x173b8d(0x10b),[_0x21806b,_0x246266,_0x1662a5]),this['maybeThrow']();}async[_0x562ca9(0x112)](_0x4c4f44,_0x186daf){const _0x40fd9c={_0x1da568:0xb7},_0x3dd960=_0x562ca9;this[_0x3dd960(0xfd)](_0x3dd960(0x112),[_0x4c4f44,_0x186daf]),this[_0x3dd960(_0x40fd9c._0x1da568)]();}async[_0x562ca9(0x114)](_0xf14588){const _0x2bbe3f={_0x4d2de8:0x114},_0x172909=_0x562ca9;this['record'](_0x172909(_0x2bbe3f._0x4d2de8),[_0xf14588]),this[_0x172909(0xb7)]();}async[_0x562ca9(0xfc)](_0x2c5b15,_0x44f689,_0x2035ce){const _0x39cbcf={_0x40bdcb:0xfc,_0x4cd41f:0xb7},_0x1b03d5=_0x562ca9;this[_0x1b03d5(0xfd)](_0x1b03d5(_0x39cbcf._0x40bdcb),[_0x2c5b15,_0x44f689,_0x2035ce]),this[_0x1b03d5(_0x39cbcf._0x4cd41f)]();}async[_0x562ca9(0x10e)](_0x5c122d,_0x4fa330){const _0x6e25c2={_0x3e0bd7:0xb7},_0x48e0ed=_0x562ca9;this[_0x48e0ed(0xfd)]('uploadFile',[_0x5c122d,_0x4fa330]),this[_0x48e0ed(_0x6e25c2._0x3e0bd7)]();}async[_0x562ca9(0xae)](_0x539307,_0x19b2ab){const _0x4fe12e={_0x5700ba:0xfd},_0x421ef4=_0x562ca9;this[_0x421ef4(_0x4fe12e._0x5700ba)](_0x421ef4(0xae),[_0x539307,_0x19b2ab]),this['maybeThrow']();}async[_0x562ca9(0xe4)](_0x1e20c2){const _0x4b992e={_0x158359:0xfd,_0x55f4b3:0xe3},_0x135320=_0x562ca9;return this[_0x135320(_0x4b992e._0x158359)](_0x135320(0xe4),[_0x1e20c2]),this[_0x135320(_0x4b992e._0x55f4b3)][_0x135320(0xc3)]??0x1;}async[_0x562ca9(0x117)](_0x1d1ec7){const _0x4feae4={_0x12ebda:0x117},_0x3816f1=_0x562ca9;return this[_0x3816f1(0xfd)](_0x3816f1(_0x4feae4._0x12ebda),[_0x1d1ec7]),this['behavior']['textContentByDefault']??'';}async[_0x562ca9(0xf1)](_0x5f52ef){const _0x4daa3b={_0x517fd3:0xe3,_0x46ecd1:0xe7},_0x3a5e2a=_0x562ca9;return this[_0x3a5e2a(0xfd)]('innerText',[_0x5f52ef]),this[_0x3a5e2a(0xe3)][_0x3a5e2a(0x10c)]??this[_0x3a5e2a(_0x4daa3b._0x517fd3)][_0x3a5e2a(_0x4daa3b._0x46ecd1)]??'';}async[_0x562ca9(0xd3)](_0x33c848){const _0x27017b={_0x41df2b:0xd3,_0x309abf:0xe3},_0x4129b1=_0x562ca9;return this[_0x4129b1(0xfd)](_0x4129b1(_0x27017b._0x41df2b),[_0x33c848]),this[_0x4129b1(_0x27017b._0x309abf)]['inputValueByDefault']??'';}async[_0x562ca9(0xaa)](_0x5b7139){const _0x3eade0={_0x14dddc:0xaa},_0x25160f=_0x562ca9;return this['record'](_0x25160f(_0x3eade0._0x14dddc),[_0x5b7139]),this[_0x25160f(0xe3)][_0x25160f(0xba)]??null;}async[_0x562ca9(0xe8)](_0x3afc2e){const _0x178960={_0x28aa6f:0xe8},_0x1857e1=_0x562ca9;return this['record'](_0x1857e1(_0x178960._0x28aa6f),[_0x3afc2e]),this[_0x1857e1(0xe3)][_0x1857e1(0xbc)]??!![];}async[_0x562ca9(0xab)](_0xaabeb6){const _0x2400c3={_0x29db0a:0xab,_0x5c9b8f:0xe3},_0x1a03ac=_0x562ca9;return this['record'](_0x1a03ac(_0x2400c3._0x29db0a),[_0xaabeb6]),this[_0x1a03ac(_0x2400c3._0x5c9b8f)][_0x1a03ac(0xef)]??![];}async[_0x562ca9(0x10f)](_0x4b2dc0,_0x48b0d1){const _0x2cface={_0x1234b2:0x10f,_0x4e3ecd:0xe3},_0x1fc93f=_0x562ca9;return this[_0x1fc93f(0xfd)](_0x1fc93f(_0x2cface._0x1234b2),[_0x4b2dc0,_0x48b0d1]),this[_0x1fc93f(_0x2cface._0x4e3ecd)][_0x1fc93f(0xea)]?.[_0x48b0d1]??null;}async[_0x562ca9(0xfe)](_0xfcff2b,_0x12c613){const _0x2e6e01=_0x562ca9;this[_0x2e6e01(0xfd)]('waitFor',[_0xfcff2b,_0x12c613]);}async[_0x562ca9(0xd6)](_0x2e5774,_0xb689e9){const _0x1ea473={_0x9a7a36:0xd6},_0x4e703f=_0x562ca9;this[_0x4e703f(0xfd)](_0x4e703f(_0x1ea473._0x9a7a36),[_0x2e5774,_0xb689e9]);}async[_0x562ca9(0x118)](_0x33e0c2,_0xa0a60a){const _0xa418bb=_0x562ca9;this['record'](_0xa418bb(0x118),[_0x33e0c2,_0xa0a60a]);}async[_0x562ca9(0xa5)](_0x5644d2){const _0x5e21c6=_0x562ca9;this['record'](_0x5e21c6(0xa5),[_0x5644d2]);}async[_0x562ca9(0xb6)](_0x29ddec,_0x59da14){const _0x337222={_0x515a0f:0xb6},_0x2db09b=_0x562ca9;this[_0x2db09b(0xfd)](_0x2db09b(_0x337222._0x515a0f),[_0x29ddec,_0x59da14]);}async[_0x562ca9(0xec)](_0x276922,_0x3d12ed){const _0x10a0fb={_0x1ef77a:0xec},_0x3d8aa4=_0x562ca9;this[_0x3d8aa4(0xfd)](_0x3d8aa4(_0x10a0fb._0x1ef77a),[_0x276922,_0x3d12ed]),this[_0x3d8aa4(0xb0)]=_0x276922;}async[_0x562ca9(0x9d)](_0x480ae7){const _0x4e4504=_0x562ca9;this[_0x4e4504(0xfd)](_0x4e4504(0x9d),[_0x480ae7]);}async[_0x562ca9(0x109)](_0x1013e3){const _0x18e17b={_0x19d930:0xfd},_0xee2d7=_0x562ca9;this[_0xee2d7(_0x18e17b._0x19d930)]('goBack',[_0x1013e3]);}async['goForward'](_0x49deaa){const _0x22c2c3={_0x3f46cd:0xfd},_0x196949=_0x562ca9;this[_0x196949(_0x22c2c3._0x3f46cd)](_0x196949(0xb4),[_0x49deaa]);}async[_0x562ca9(0x110)](_0x39485d){const _0x30580c={_0x5dbff3:0x113},_0x2b0d82=_0x562ca9;return this[_0x2b0d82(0xfd)](_0x2b0d82(0x110),[_0x39485d]),this['behavior'][_0x2b0d82(_0x30580c._0x5dbff3)];}async[_0x562ca9(0xd8)](_0x5db91c,_0x230f39){const _0x505335={_0x2417a5:0xfd,_0x2fe4b6:0xd8},_0x39e49a=_0x562ca9;return this[_0x39e49a(_0x505335._0x2417a5)](_0x39e49a(_0x505335._0x2fe4b6),[_0x5db91c,_0x230f39]),void 0x0;}async[_0x562ca9(0xfb)](_0x2a876a){const _0xed7884={_0x531dce:0xfd,_0x530a4a:0x102,_0x4490a0:0x102,_0xad541f:0xe3,_0x1f0463:0xdb},_0x4f07a3=_0x562ca9;this[_0x4f07a3(_0xed7884._0x531dce)](_0x4f07a3(0xfb),[_0x2a876a]);if(_0x2a876a['steps'][_0x4f07a3(0xa9)]!==0x1||_0x2a876a[_0x4f07a3(0x125)][0x0][_0x4f07a3(0xa0)]!==_0x4f07a3(_0xed7884._0x530a4a))return null;const _0xc1cde4=_0x2a876a[_0x4f07a3(0x125)][0x0][_0x4f07a3(_0xed7884._0x4490a0)],_0x5c8166=this[_0x4f07a3(_0xed7884._0xad541f)][_0x4f07a3(_0xed7884._0x1f0463)]?.[_0xc1cde4];return _0x5c8166??null;}async[_0x562ca9(0x11f)](_0x4ec762){const _0x13a51a={_0x2c1a2b:0x11c},_0x1b9a02=_0x562ca9;return this['record']('screenshot',[_0x4ec762]),this[_0x1b9a02(_0x13a51a._0x2c1a2b)](_0x4ec762?.[_0x1b9a02(0xe0)]);}async[_0x562ca9(0xd5)](_0x144429,_0x51d7bc){const _0x14ba39=_0x562ca9;return this[_0x14ba39(0xfd)]('screenshotElement',[_0x144429,_0x51d7bc]),this[_0x14ba39(0x11c)](_0x51d7bc?.[_0x14ba39(0xe0)]);}[_0x562ca9(0x11c)](_0xc37b8f){const _0x1406eb={_0xfa079c:0xe3},_0x130989=_0x562ca9,_0x4ce78d=this[_0x130989(_0x1406eb._0xfa079c)][_0x130989(0x11c)];if(_0x4ce78d===void 0x0)return Buffer['from']('fake-png');return typeof _0x4ce78d===_0x130989(0x101)?_0x4ce78d(_0xc37b8f):_0x4ce78d;}async[_0x562ca9(0xd1)](_0x4d3308){const _0x8f390e={_0xf4a3c3:0xfd,_0x2bb7a3:0xd1,_0x35bf71:0x125,_0xb083bc:0xa0,_0x21b0ad:0xa2},_0x128a03=_0x562ca9;this[_0x128a03(_0x8f390e._0xf4a3c3)](_0x128a03(_0x8f390e._0x2bb7a3),[_0x4d3308]);if(_0x4d3308[_0x128a03(_0x8f390e._0x35bf71)]['length']===0x1&&_0x4d3308[_0x128a03(0x125)][0x0][_0x128a03(_0x8f390e._0xb083bc)]===_0x128a03(0x102)){const _0x7d3ac4=_0x4d3308[_0x128a03(0x125)][0x0]['ref'];return this['behavior'][_0x128a03(0xf3)]?.[_0x7d3ac4]??_0x128a03(_0x8f390e._0x21b0ad)+_0x7d3ac4+_0x128a03(0x10d);}return'<div></div>';}},FakeContext=class{constructor(_0x439a96,_0x18f25b,_0x1271cd){const _0x13f89c={_0x387339:0xe3,_0x16d742:0xf2,_0x2c743e:0xc4},_0x290230={_0x2151d7:0xf8},_0x5b9fa3=_0x562ca9;this['recorder']=_0x439a96,this[_0x5b9fa3(_0x13f89c._0x387339)]=_0x18f25b,this['scope']=_0x1271cd;const _0x92b4ce=new FakePage(_0x439a96,_0x18f25b,_0x1271cd+_0x5b9fa3(_0x13f89c._0x16d742),_0x18f25b[_0x5b9fa3(0x115)]??_0x5b9fa3(0xc6));_0x18f25b[_0x5b9fa3(0xf8)]&&(_0x92b4ce[_0x5b9fa3(_0x13f89c._0x2c743e)]=()=>{const _0x4e983f=_0x5b9fa3;this['emitFakePopup'](_0x18f25b[_0x4e983f(_0x290230._0x2151d7)]);}),this['pageList']=[_0x92b4ce],this[_0x5b9fa3(0xd7)]={..._0x18f25b['localStorage']??{}},this[_0x5b9fa3(0x11d)]={..._0x18f25b[_0x5b9fa3(0x124)]??{}};}[_0x562ca9(0x108)];[_0x562ca9(0xe3)];['scope'];static{__name(this,_0x562ca9(0xeb));}[_0x562ca9(0xb5)];[_0x562ca9(0xa1)]=0x0;[_0x562ca9(0xff)]=[];[_0x562ca9(0xd7)];[_0x562ca9(0x11d)];[_0x562ca9(0x105)]=new Set();['record'](_0x374055,_0x3dc477){const _0x234ee5={_0x2bdae4:0x108,_0x49d330:0xb8,_0x4399ed:0xd2},_0x268b5c=_0x562ca9;this[_0x268b5c(_0x234ee5._0x2bdae4)][_0x268b5c(_0x234ee5._0x49d330)]({'scope':this[_0x268b5c(_0x234ee5._0x4399ed)],'method':_0x374055,'args':_0x3dc477});}[_0x562ca9(0xce)](){const _0x5355d9=_0x562ca9;return this[_0x5355d9(0xb5)];}[_0x562ca9(0xaf)](){const _0x56657c={_0x1cb9b7:0xd9},_0x324c1=_0x562ca9,_0xfc4254=this[_0x324c1(0xb5)][this[_0x324c1(0xa1)]];if(!_0xfc4254)throw new DriverError(_0x324c1(_0x56657c._0x1cb9b7),{'activeIdx':this[_0x324c1(0xa1)]});return _0xfc4254;}['consoleEntries'](){const _0x242e12={_0x45cf1d:0x122},_0x6ef77f=_0x562ca9;return this[_0x6ef77f(0xe3)][_0x6ef77f(_0x242e12._0x45cf1d)]??[];}['networkEntries'](){const _0x1f9a93={_0x1fc114:0xe9},_0x258a1b=_0x562ca9;return this['behavior'][_0x258a1b(_0x1f9a93._0x1fc114)]??[];}async[_0x562ca9(0x11b)](_0x20d49a){const _0x4bbf2f={_0x501140:0xfd,_0x4134e8:0xb5},_0x3dc724=_0x562ca9;this[_0x3dc724(_0x4bbf2f._0x501140)]('setActivePage',[_0x20d49a]);if(_0x20d49a<0x0||_0x20d49a>=this[_0x3dc724(_0x4bbf2f._0x4134e8)][_0x3dc724(0xa9)])throw new DriverError(_0x3dc724(0xc5),{'index':_0x20d49a,'available':this['pageList'][_0x3dc724(0xa9)]});this['activeIdx']=_0x20d49a,this[_0x3dc724(0xff)][_0x3dc724(0xa9)]=0x0;}[_0x562ca9(0x103)](_0x515319){const _0xebf6a0=_0x562ca9;return subscribe(this[_0xebf6a0(0x105)],_0x515319);}[_0x562ca9(0xbb)](_0x4de472){const _0x10f6ae={_0x5f33e9:0xc9,_0x27eb8b:0xe3},_0x16e172=_0x562ca9,_0x2b6187=this[_0x16e172(0xd2)]+_0x16e172(_0x10f6ae._0x5f33e9)+this[_0x16e172(0xb5)][_0x16e172(0xa9)],_0x29339b=new FakePage(this['recorder'],this[_0x16e172(_0x10f6ae._0x27eb8b)],_0x2b6187,_0x4de472);this[_0x16e172(0xb5)][_0x16e172(0xb8)](_0x29339b);const _0x3ab528=this['pageList'][_0x16e172(0xa9)]-0x1;for(const _0x130219 of this[_0x16e172(0x105)]){try{_0x130219({'index':_0x3ab528,'url':_0x4de472});}catch{}}return _0x3ab528;}[_0x562ca9(0xee)](_0x4878e5){const _0x76cc45={_0x4961bd:0xa9,_0x342f69:0xc5,_0x22a57d:0xb5,_0x59032a:0xb5,_0x23e7c9:0x119},_0x5159c3=_0x562ca9;if(_0x4878e5<0x0||_0x4878e5>=this[_0x5159c3(0xb5)][_0x5159c3(_0x76cc45._0x4961bd)])throw new DriverError(_0x5159c3(_0x76cc45._0x342f69),{'index':_0x4878e5,'available':this[_0x5159c3(_0x76cc45._0x22a57d)][_0x5159c3(0xa9)]});this[_0x5159c3(_0x76cc45._0x59032a)][_0x5159c3(_0x76cc45._0x23e7c9)](_0x4878e5,0x1);}async[_0x562ca9(0xa8)](_0x13bfad){const _0x5f298a={_0x204cae:0xfd,_0x57c483:0xa8,_0x2e267d:0x125,_0x3c2a46:0xa9,_0x1e7585:0xff},_0x3e9585=_0x562ca9;this[_0x3e9585(_0x5f298a._0x204cae)](_0x3e9585(_0x5f298a._0x57c483),[_0x13bfad]);if(!_0x13bfad[_0x3e9585(_0x5f298a._0x2e267d)][_0x3e9585(_0x5f298a._0x3c2a46)])throw new LocatorError(_0x3e9585(0x9f),{'locator':_0x13bfad});this[_0x3e9585(_0x5f298a._0x1e7585)]['push'](_0x13bfad);}async[_0x562ca9(0xd4)](){const _0x5c8cb6={_0x183d8c:0xfd,_0x328bb6:0xbe,_0x545745:0x121},_0x3200dc=_0x562ca9;this[_0x3200dc(_0x5c8cb6._0x183d8c)](_0x3200dc(0xd4),[]);if(this['frameStack'][_0x3200dc(0xa9)]===0x0)throw new DriverError(_0x3200dc(_0x5c8cb6._0x328bb6),{});this[_0x3200dc(0xff)][_0x3200dc(_0x5c8cb6._0x545745)]();}async[_0x562ca9(0xac)](_0x36cf3d,_0x5498cd){const _0x142387={_0x17722b:0xac},_0x542c3a=_0x562ca9;this[_0x542c3a(0xfd)](_0x542c3a(_0x142387._0x17722b),[_0x36cf3d,_0x5498cd]),this[_0x542c3a(0xd7)][_0x36cf3d]=_0x5498cd;}async[_0x562ca9(0xe6)](_0x294e6f){const _0x20d151={_0x50967a:0xe6,_0xc2755:0xd7},_0xe3a234=_0x562ca9;return this[_0xe3a234(0xfd)](_0xe3a234(_0x20d151._0x50967a),[_0x294e6f]),this[_0xe3a234(_0x20d151._0xc2755)][_0x294e6f]??null;}async[_0x562ca9(0xb2)](_0x463a14,_0x2086a3,_0x1df3ca){const _0x4f5ee0={_0xe2d51f:0x11d},_0x8da4b4=_0x562ca9;this['record'](_0x8da4b4(0xb2),[_0x463a14,_0x2086a3,_0x1df3ca]),this[_0x8da4b4(_0x4f5ee0._0xe2d51f)][_0x463a14]=_0x2086a3;}async['getCookie'](_0x29020e){const _0x2eeba0=_0x562ca9;return this['record'](_0x2eeba0(0xa4),[_0x29020e]),this['cookieState'][_0x29020e]??null;}async[_0x562ca9(0xda)](_0x7ecb21){const _0x5322ce=_0x562ca9;this[_0x5322ce(0xfd)]('saveStorageState',[_0x7ecb21]);}async[_0x562ca9(0x110)](_0x4790ba){const _0x79be34=_0x562ca9;return this[_0x79be34(0xfd)](_0x79be34(0x110),[_0x4790ba]),void 0x0;}async[_0x562ca9(0xed)](){const _0xff1f88={_0x25abf2:0xfd},_0x1426c9=_0x562ca9;this[_0x1426c9(_0xff1f88._0x25abf2)]('close',[]);}['frameDepth'](){const _0x31134c=_0x562ca9;return this[_0x31134c(0xff)]['length'];}},FakeWebDriver=class{constructor(_0x435e32={}){const _0x16d750={_0x1fc109:0x108},_0x11ba80=_0x562ca9;this['behavior']=_0x435e32,this[_0x11ba80(_0x16d750._0x1fc109)]=createRecorder();}[_0x562ca9(0xe3)];static{__name(this,_0x562ca9(0x123));}['launched']=![];[_0x562ca9(0x108)];[_0x562ca9(0xcd)]=[];async[_0x562ca9(0xfa)](_0x10dfae){const _0x137cc0=_0x562ca9;this[_0x137cc0(0x108)][_0x137cc0(0xb8)]({'scope':_0x137cc0(0xbd),'method':'launch','args':[_0x10dfae]}),this[_0x137cc0(0xf4)]=!![];}async['newContext'](_0xf71149){const _0x573e34={_0x59484a:0xb8,_0x274b59:0xcf,_0x1e55ec:0x108,_0x2f1257:0x10a,_0x4bd0ff:0xcd},_0x4683eb=_0x562ca9;this[_0x4683eb(0x108)][_0x4683eb(_0x573e34._0x59484a)]({'scope':'driver','method':_0x4683eb(_0x573e34._0x274b59),'args':[_0xf71149]});if(!this[_0x4683eb(0xf4)])throw new DriverError(_0x4683eb(0xf9),{});const _0x1d316b=new FakeContext(this[_0x4683eb(_0x573e34._0x1e55ec)],this['behavior'],_0x4683eb(_0x573e34._0x2f1257)+this[_0x4683eb(0xcd)][_0x4683eb(0xa9)]);return this[_0x4683eb(_0x573e34._0x4bd0ff)]['push'](_0x1d316b),_0x1d316b;}async[_0x562ca9(0xed)](){const _0x5cab2d={_0xec489f:0x108,_0x20458d:0xbd,_0x99dfd2:0xed,_0x1a8fb3:0xf4},_0x498e49=_0x562ca9;this[_0x498e49(_0x5cab2d._0xec489f)][_0x498e49(0xb8)]({'scope':_0x498e49(_0x5cab2d._0x20458d),'method':_0x498e49(_0x5cab2d._0x99dfd2),'args':[]}),this[_0x498e49(_0x5cab2d._0x1a8fb3)]=![];}[_0x562ca9(0x9e)](){return void 0x0;}async[_0x562ca9(0xb9)](){const _0x1602bc=_0x562ca9;throw new DriverError(_0x1602bc(0xf7),{});}['attachExisting'](_0x431c9d){throw new DriverError('attachExisting\x20not\x20supported\x20by\x20FakeWebDriver',{});}[_0x562ca9(0xe1)](){const _0x39213f={_0x677f36:0x108},_0x2e997d=_0x562ca9;return this[_0x2e997d(_0x39213f._0x677f36)][_0x2e997d(0xe1)]();}[_0x562ca9(0xcb)](_0x31054d){const _0x201644={_0x4a1cd0:0x108,_0x4d4747:0xbf},_0x1b49fb=_0x562ca9;return this[_0x1b49fb(_0x201644._0x4a1cd0)][_0x1b49fb(0xe1)]()[_0x1b49fb(_0x201644._0x4d4747)](_0x2d771e=>_0x2d771e[_0x1b49fb(0x116)]===_0x31054d);}};export{FakeWebDriver};
@@ -1,5 +1,5 @@
1
- import { j as LocatorValue, W as WebDriver, D as DriverContext, e as DriverPage } from '../interfaces-7nMNCr2h.js';
2
- export { k as LocatorStep, l as appendStep, m as describeLocator, n as isLocatorValue, r as rootedAt } from '../interfaces-7nMNCr2h.js';
1
+ import { j as LocatorValue, W as WebDriver, D as DriverContext, e as DriverPage } from '../interfaces-ClW2IRgY.js';
2
+ export { k as LocatorStep, l as appendStep, m as describeLocator, n as isLocatorValue, r as rootedAt } from '../interfaces-ClW2IRgY.js';
3
3
  import { Matcher, RegexLiteral, JudgeRequest, JudgeVerdict, SoftFailureRecord } from '@unotest/protocol';
4
4
  import { ExecutionWalker, ExecutionEvent, RunResult, RunOptions } from '@unotest/dsl/executor';
5
5
  export { ExecutionError, ExecutionEvent, RunOptions, RunResult } from '@unotest/dsl/executor';
@@ -307,8 +307,14 @@ interface ActiveRuntime {
307
307
  */
308
308
  lastFailure: {
309
309
  node: unknown;
310
+ /** Project-relative file the failing statement lives in — a helper's,
311
+ * when the failure happened inside one. */
312
+ file: string;
310
313
  line: number;
311
314
  col: number;
315
+ /** User functions the failing statement was reached through,
316
+ * outermost first. */
317
+ callStack?: readonly string[];
312
318
  /** Label of the enclosing `step("…")` block, when the failing
313
319
  * statement ran inside one — the human-readable intent for reports. */
314
320
  stepLabel?: string;