@unotest/web 0.29.0 → 0.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -87,6 +87,15 @@ APP_BASE_URL) — same idea as run_test's per-call `env`.
87
87
  `explore_start` opens the browser itself. Do NOT call `new_context`
88
88
  first — it's for RESETTING the browser (Phase 5), not for starting.
89
89
 
90
+ **Variables in steps.** In a value field (`fill` value, `press` key,
91
+ `select_option` value, `goto` url) the bare NAME of a `.env`/`.secrets`
92
+ variable is a reference: `value: "PASSWORD"` types the secret live and
93
+ the saved test says `fill(loc, PASSWORD)`. In a locator's text or an
94
+ assertion's text a bare NAME is the literal it looks like — to reference
95
+ a variable there write `{{NAME}}` (`text: "{{GREETING}}"`); the reply
96
+ warns when a literal equals a variable's name. Never type a secret's
97
+ VALUE: it is recorded as the name anyway, and the reply says so.
98
+
90
99
  ### Phase 2 — first recorded step: navigate
91
100
 
92
101
  ```
@@ -418,7 +427,23 @@ Assertions:
418
427
 
419
428
  State reads:
420
429
  - `getTitle()`, `getUrl()`, `getAttribute(loc, name)`, `getInnerText(loc)`,
421
- `getInputValue(loc)`.
430
+ `getInputValue(loc)`, `count(loc)`; `textContains(haystack, needle)`
431
+ for a substring probe on a string you already hold
432
+ (`assertTrue(textContains(out.stdout, 'ready'))`).
433
+ - A `textarea` / `input` VALUE is not page text: `waitForText` and
434
+ `assertText` never see it. Check it with `assertValue(loc, expected)`
435
+ — it polls until the timeout (5 s by default, `{timeout}` to raise
436
+ it), so a value that fills in late is fine. For a substring of the
437
+ value there is no polling assert: read it in a loop —
438
+ `for (i = 0; i < 20; i = i + 1) { if (textContains(getInputValue(loc), 'x')) { break; } pause(200); // lint-ok: polling a textarea value }`
439
+ — then assert.
440
+ - Only the vocabulary above is expression language. `!` is rejected by
441
+ the parser (`unotest-web lint`: `parse error — Invalid token`);
442
+ `JSON.stringify` / `Date.now()` / `indexOf` and other JS globals and
443
+ string methods are rejected by the validator with the replacement
444
+ named (`use json(value)`, `use nowMs()`, `use textContains(haystack,
445
+ needle)`). Express the check as an assertion or a locator
446
+ (`assertHidden`, `assertCount`, `.filter({hasText})`, `textContains`).
422
447
 
423
448
  Sandbox primitives:
424
449
  - `shell("cmd", "arg", …, options?)` — `execFile` style, no shell interpretation. Non-zero exit fails the step; pass `{allowNonZero: true}` to inspect `res.code` yourself. Wall-clock budget `{timeoutMs}` (default 120s).
@@ -433,8 +458,17 @@ Sandbox primitives:
433
458
  JSON — there is no key-name magic.
434
459
 
435
460
  Escape hatch:
436
- - `evaluate(\`js body\`, …args)` — raw backticks, no `${}`. Linter
461
+ - `evaluate(\`js body\`, arg?)` — raw backticks, no `${}`. Linter
437
462
  warns `lint:evaluate-discouraged`. Use only when nothing above fits.
463
+ The body gets at most ONE argument — extra arguments reach it like
464
+ this: none → nothing, exactly one → the value itself, **with two or
465
+ more extra arguments the body receives ONE array** — destructure it:
466
+ `evaluate('function(n){ return n * 2 }', 21)` and
467
+ `evaluate('([a, b]) => a + b', a, b)`. The linter's warning says so
468
+ when it sees two or more.
469
+ - Native dialogs (`confirm()` / `alert()` / `prompt()`) are accepted by
470
+ the runner itself (`dialogPolicy: "accept"` by default) — a "Remove"
471
+ that asks first needs no special step.
438
472
 
439
473
  Time helpers: `nowMs()`, `today()`, `daysFromNow(n)`. Marker helper: `randomWord(len)` — random lowercase letters, digit-free. Debug helper: `json(value)` — serialize any value for an assert message: `assertTrue(res.status == 202, json(res.body))`.
440
474
 
@@ -635,6 +669,11 @@ Every locator must resolve to exactly one element. When you see
635
669
  multi-matches.** Element order is brittle. Use `.filter({hasText:
636
670
  '…'})` or `.filter({has: someLocator})`. Linter flags index-based
637
671
  picking as `lint:disambig-by-index`.
672
+ - **Don't assert "the first row of the list / audit".** On a shared
673
+ stand another run (or a person) writes rows between your steps. Give
674
+ your own data a unique marker (`randomWord()` in a name or note),
675
+ find your row by it (`.filter({hasText: marker})`), and remove what
676
+ you created at the end of the scenario.
638
677
  - **Don't reach for `locator(...)` with `>` combinators, hashed class
639
678
  names, or `xpath=…`.** Stop and ask the user whether the app should
640
679
  expose a `data-testid` or accessible name.
@@ -112,6 +112,15 @@ APP_BASE_URL) — same idea as run_test's per-call `env`.
112
112
  `explore_start` opens the browser itself. Do NOT call `new_context`
113
113
  first — it's for RESETTING the browser (Phase 5), not for starting.
114
114
 
115
+ **Variables in steps.** In a value field (`fill` value, `press` key,
116
+ `select_option` value, `goto` url) the bare NAME of a `.env`/`.secrets`
117
+ variable is a reference: `value: "PASSWORD"` types the secret live and
118
+ the saved test says `fill(loc, PASSWORD)`. In a locator's text or an
119
+ assertion's text a bare NAME is the literal it looks like — to reference
120
+ a variable there write `{{NAME}}` (`text: "{{GREETING}}"`); the reply
121
+ warns when a literal equals a variable's name. Never type a secret's
122
+ VALUE: it is recorded as the name anyway, and the reply says so.
123
+
115
124
  ### Phase 2 — record the known steps as ONE batch
116
125
 
117
126
  **Batch-first default.** When the task brief already spells out the
@@ -549,7 +558,23 @@ Assertions:
549
558
 
550
559
  State reads:
551
560
  - `getTitle()`, `getUrl()`, `getAttribute(loc, name)`, `getInnerText(loc)`,
552
- `getInputValue(loc)`.
561
+ `getInputValue(loc)`, `count(loc)`; `textContains(haystack, needle)`
562
+ for a substring probe on a string you already hold
563
+ (`assertTrue(textContains(out.stdout, 'ready'))`).
564
+ - A `textarea` / `input` VALUE is not page text: `waitForText` and
565
+ `assertText` never see it. Check it with `assertValue(loc, expected)`
566
+ — it polls until the timeout (5 s by default, `{timeout}` to raise
567
+ it), so a value that fills in late is fine. For a substring of the
568
+ value there is no polling assert: read it in a loop —
569
+ `for (i = 0; i < 20; i = i + 1) { if (textContains(getInputValue(loc), 'x')) { break; } pause(200); // lint-ok: polling a textarea value }`
570
+ — then assert.
571
+ - Only the vocabulary above is expression language. `!` is rejected by
572
+ the parser (`unotest-web lint`: `parse error — Invalid token`);
573
+ `JSON.stringify` / `Date.now()` / `indexOf` and other JS globals and
574
+ string methods are rejected by the validator with the replacement
575
+ named (`use json(value)`, `use nowMs()`, `use textContains(haystack,
576
+ needle)`). Express the check as an assertion or a locator
577
+ (`assertHidden`, `assertCount`, `.filter({hasText})`, `textContains`).
553
578
 
554
579
  Sandbox primitives:
555
580
  - `shell("cmd", "arg", …, options?)` — `execFile` style, no shell interpretation. Non-zero exit fails the step; pass `{allowNonZero: true}` to inspect `res.code` yourself. Wall-clock budget `{timeoutMs}` (default 120s).
@@ -564,8 +589,17 @@ Sandbox primitives:
564
589
  JSON — there is no key-name magic.
565
590
 
566
591
  Escape hatch:
567
- - `evaluate(\`js body\`, …args)` — raw backticks, no `${}`. Linter
592
+ - `evaluate(\`js body\`, arg?)` — raw backticks, no `${}`. Linter
568
593
  warns `lint:evaluate-discouraged`. Use only when nothing above fits.
594
+ The body gets at most ONE argument — extra arguments reach it like
595
+ this: none → nothing, exactly one → the value itself, **with two or
596
+ more extra arguments the body receives ONE array** — destructure it:
597
+ `evaluate('function(n){ return n * 2 }', 21)` and
598
+ `evaluate('([a, b]) => a + b', a, b)`. The linter's warning says so
599
+ when it sees two or more.
600
+ - Native dialogs (`confirm()` / `alert()` / `prompt()`) are accepted by
601
+ the runner itself (`dialogPolicy: "accept"` by default) — a "Remove"
602
+ that asks first needs no special step.
569
603
 
570
604
  Time helpers: `nowMs()`, `today()`, `daysFromNow(n)`. Marker helper: `randomWord(len)` — random lowercase letters, digit-free. Debug helper: `json(value)` — serialize any value for an assert message: `assertTrue(res.status == 202, json(res.body))`.
571
605
 
@@ -711,6 +745,9 @@ no recording.
711
745
  - **`StaleRefError`** — a ref from an earlier lookup is no longer in
712
746
  the DOM. Intent locators don't go stale (grounded per call) — retry
713
747
  with the intent step, or re-ground via `ground_element`.
748
+ - **Grounder unavailable** — `explore_start` or the first intent step
749
+ says so; intent locators are off for the session. Use
750
+ `find_element({role, name, near?})` and its ref instead.
714
751
  - **`RefResolveError`** — element has no stable identifier (testId /
715
752
  role+name / aria-label / placeholder / alt / title / text / href /
716
753
  stable id / name attribute). Best fix: ask the app team to add
@@ -769,6 +806,11 @@ Every locator must resolve to exactly one element. When you see
769
806
  multi-matches.** Element order is brittle. Use `.filter({hasText:
770
807
  '…'})` or `.filter({has: someLocator})`. Linter flags index-based
771
808
  picking as `lint:disambig-by-index`.
809
+ - **Don't assert "the first row of the list / audit".** On a shared
810
+ stand another run (or a person) writes rows between your steps. Give
811
+ your own data a unique marker (`randomWord()` in a name or note),
812
+ find your row by it (`.filter({hasText: marker})`), and remove what
813
+ you created at the end of the scenario.
772
814
  - **Don't reach for `locator(...)` with `>` combinators, hashed class
773
815
  names, or `xpath=…`.** Stop and ask the user whether the app should
774
816
  expose a `data-testid` or accessible name.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,135 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.30.0] - 2026-09-03
4
+
5
+ ### Minor Changes
6
+
7
+ - 23de03c: On a hosted viewer (a box), the project and environment you are looking at
8
+ are now named and switched in the viewer's own tree header, in place of
9
+ the checkout directory it used to show there (`current`, which told
10
+ nobody anything). Previously the only way to another environment was
11
+ logging out and using the picker page. The chevrons appear on hover, like
12
+ the refresh button beside them, and only when something fronts the viewer
13
+ and offers it a list; a plain local viewer keeps the folder name it
14
+ always showed. Because
15
+ each environment on a box is its own viewer process, picking one is a full
16
+ page load into that viewer, and the menu shows which test bundle each
17
+ environment is running. The status bar's `.env.<name>` overlay switcher is
18
+ now labelled "env overlay", so the two senses of "environment" no longer
19
+ share a name. `@unotest/viewer/session` carries the two URLs this needs
20
+ (`environmentsUrl`, `switchEnvUrl`) and the `ViewerEnvOption` type, both
21
+ optional — a proxy that does not offer them gets the old behaviour.
22
+
23
+ ### Patch Changes
24
+
25
+ - A run started in the first moments after the viewer boots is now discovered: the run watcher finishes its initial scan of the day directory before reporting itself started, instead of filing such a run as history.
26
+ - 3f5cab7: `bundle push` and `env push` no longer send you to "the box's
27
+ admin page" for a project token — there is no such page; tokens are
28
+ issued per project by the box's operator, and the refusal hints and the
29
+ missing-token message now say so.
30
+ - 3f5cab7: The vocabulary's description of `evaluate` now says how extra
31
+ arguments reach the body — none → nothing, exactly one → the value
32
+ itself, two or more → one array — matching the runtime, the linter's
33
+ hint and the authoring skill; it used to read as if they were positional
34
+ (`evaluate(js, ...args)`), and so did the generated DSL typings.
35
+ - 3f5cab7: A scenario that answers a native `confirm()` — a "Remove" button that
36
+ asks first, say — no longer fails when `run_test` auto-attaches the MCP
37
+ session to the run's browser, or after `attach_debug_session`. The
38
+ attaching client now applies the same dialog policy the run does
39
+ (`dialogPolicy`, accept by default) to the page it watches; before, it
40
+ listened for no dialogs at all, and Playwright dismisses every dialog on
41
+ behalf of a client that has no listener — so the second pair of eyes was
42
+ answering "no" before the run's own accept could land. The same scenario
43
+ passed with an exploration session open only because that session
44
+ happened to keep the run's browser to itself. Under `manual` the attached
45
+ client leaves the dialog to whoever handles it instead of dismissing it.
46
+ - 9f2e244: On a box, an administrator can now see a secret's value from the guard's
47
+ values page — the eye reveals it in the row, the copy button puts it on
48
+ the clipboard without showing it — and every look is a `secret.revealed`
49
+ entry in the box's audit trail, naming who, which secret and whether it
50
+ was shown or copied. The page is one table now (target, variables,
51
+ secrets), edited in place, with a JSON view that changes the whole
52
+ environment at once; a secret left as `"••••"` there is kept as it is.
53
+ The token door `env push` / `env set` talk to is unchanged: secrets stay
54
+ write-only on the wire.
55
+
56
+ `@unotest/protocol` carries the contract: `boxEnvSecretRevealPath` /
57
+ `boxEnvSecretsRevealPath` with their response parsers, the session-door
58
+ batch `BoxEnvValuesReplaceRequest` (`null` for a secret means "keep") and
59
+ `parseBoxEnvValuesReplaceRequest`, and the refusal code `unknown-secret`
60
+ for a reveal or a keep that names a secret the environment does not
61
+ hold. `isEnvVarName` now refuses `__proto__`: it is spelled like a
62
+ variable, but a plain object cannot hold it and the value was silently
63
+ lost. The CLI explains an `unknown-secret` refusal.
64
+
65
+ - 3f5cab7: `evaluate(js, …args)` has always handed the body its extra arguments in
66
+ one of three shapes — none, the single value, or ONE array for two or
67
+ more — while the authoring skill described them as positional. The
68
+ skill now states the rule with both spellings
69
+ (`evaluate('function(n){…}', 21)` / `evaluate('([a, b]) => …', a, b)`),
70
+ and the `lint:evaluate-discouraged` warning adds the same hint when it
71
+ sees two or more extra arguments; the runtime is unchanged. The skill
72
+ also gains the getters it left out (`count`, `getInputValue`,
73
+ `textContains`), the note that `waitForText` never sees a textarea's
74
+ value, the parser's refusal of `!` / `indexOf` / string methods, the
75
+ shared-stand rule against "the first row" (mark your own data, filter
76
+ by it, clean up), that native dialogs are accepted by the runner, and
77
+ what to do when the grounder is unavailable.
78
+ - 3f5cab7: While recording with `explore_step` / `explore_steps`, the bare NAME of a
79
+ scenario variable is substituted only where the step types a value into
80
+ the page — `fill`'s value, `press`'s key, `select_option`'s value,
81
+ `goto`'s url. In a locator's text or an assertion's expected text a bare
82
+ name is now the literal it looks like: `assertText(el, "BOX_LAB_PASSWORD")`
83
+ expects those letters, where before the live step silently waited for
84
+ the secret's value and the saved test said something else. To reference
85
+ a variable in a matcher, write `{{NAME}}`; the reply warns when a literal
86
+ happens to equal a variable's name. And a secret's value typed into a
87
+ value field is recorded as the secret's name (the reply says which), so
88
+ the value never lands in the test file.
89
+ - 3f5cab7: `run_test` no longer reports `spawn_failed` about a runner that is still
90
+ starting. Two runs launched together on a busy box took longer than the
91
+ fixed 10-second wait to write their first `runtime.json`, and the second
92
+ was declared dead while it was booting a browser. The wait now lasts as
93
+ long as the runner child is alive (up to 60 seconds), ends early when the
94
+ child joins the run queue, and — when the child really dies — says so with
95
+ its exit code and the last lines of its stderr, which the runner now
96
+ writes to `spawn.stderr.log` in its run directory.
97
+
98
+ `explore_start` now reports whether the grounder is usable for the
99
+ session: `grounder: {available: true}`, or `{available: false, reason,
100
+ hint}` when grounding is off, the backend is unreachable, or a required
101
+ model is not pulled (`"embeddinggemma" is not available there — pull it:
102
+ \`ollama pull embeddinggemma\``). An intent step in such a session fails
103
+ with the same words, not with the backend's raw error; the probe is one
104
+ short request per session.
105
+
106
+ Secret masking no longer rewrites the runner's own identifiers in
107
+ `runtime.json`: with `LOGIN=admin`, the scenario path `guard-admin.js`,
108
+ the test function `test_guard_admin` and the run id kept their names in
109
+ `inspect_runtime` replies instead of turning into `guard-‹secret:LOGIN›.js`.
110
+ Masking by value is unchanged everywhere else; the run id, scenario
111
+ path, test function and call-stack names are an explicit exception.
112
+
113
+ - 3f5cab7: `save_exploration_as_test` (and `generate_dsl_from_exploration`) now
114
+ write scoped locators — a `getByRole` / `getByText` / `locator(css)` step
115
+ under a parent, such as the "Reveal" button inside one table row — as
116
+ the chain the DSL already runs:
117
+ `locator('tr[data-row="A"]').getByRole('button', {name: 'Reveal', exact: true})`.
118
+ Before, any recorded step whose locator went below its root was skipped
119
+ with `NO_DSL_PRIMITIVE`, and the save was refused, although the step
120
+ had executed and the hand-written form worked. Every locator is now
121
+ rendered in the same method-chain spelling — narrowing steps too
122
+ (`getByRole('row').filter({hasText: 'Alice'}).first()` instead of
123
+ `first(filter(getByRole('row'), {hasText: 'Alice'}))`); both spellings
124
+ remain valid input, the runtime is unchanged.
125
+ - Updated dependencies [23de03c]
126
+ - Updated dependencies [9f2e244]
127
+ - @unotest/viewer@0.30.0
128
+ - @unotest/protocol@0.30.0
129
+ - @unotest/core@0.30.0
130
+ - @unotest/dsl@0.30.0
131
+ - @unotest/grounder-client@0.30.0
132
+
3
133
  ## [0.29.0] - 2026-09-02
4
134
 
5
135
  ### Minor Changes
@@ -215,15 +215,15 @@ declare const WebServerConfigSchema: z.ZodObject<{
215
215
  /** How long to wait for the URL to come up after spawning. */
216
216
  timeoutMs: z.ZodDefault<z.ZodNumber>;
217
217
  }, "strip", z.ZodTypeAny, {
218
- command: string;
219
218
  url: string;
220
- reuseExistingServer: boolean;
221
219
  timeoutMs: number;
222
- }, {
223
220
  command: string;
221
+ reuseExistingServer: boolean;
222
+ }, {
224
223
  url: string;
225
- reuseExistingServer?: boolean | undefined;
224
+ command: string;
226
225
  timeoutMs?: number | undefined;
226
+ reuseExistingServer?: boolean | undefined;
227
227
  }>;
228
228
  type WebServerConfig = z.infer<typeof WebServerConfigSchema>;
229
229
  declare const UnotestConfigSchema: z.ZodObject<{
@@ -249,15 +249,15 @@ declare const UnotestConfigSchema: z.ZodObject<{
249
249
  /** How long to wait for the URL to come up after spawning. */
250
250
  timeoutMs: z.ZodDefault<z.ZodNumber>;
251
251
  }, "strip", z.ZodTypeAny, {
252
- command: string;
253
252
  url: string;
254
- reuseExistingServer: boolean;
255
253
  timeoutMs: number;
256
- }, {
257
254
  command: string;
255
+ reuseExistingServer: boolean;
256
+ }, {
258
257
  url: string;
259
- reuseExistingServer?: boolean | undefined;
258
+ command: string;
260
259
  timeoutMs?: number | undefined;
260
+ reuseExistingServer?: boolean | undefined;
261
261
  }>>;
262
262
  browsers: z.ZodArray<z.ZodEnum<["chromium", "firefox", "webkit"]>, "many">;
263
263
  channel: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"chrome">, z.ZodLiteral<"msedge">, z.ZodLiteral<"chrome-beta">, z.ZodNull]>>;
@@ -508,10 +508,10 @@ declare const UnotestConfigSchema: z.ZodObject<{
508
508
  };
509
509
  baseUrl?: string | undefined;
510
510
  webServer?: {
511
- command: string;
512
511
  url: string;
513
- reuseExistingServer: boolean;
514
512
  timeoutMs: number;
513
+ command: string;
514
+ reuseExistingServer: boolean;
515
515
  } | undefined;
516
516
  channel?: "chrome" | "msedge" | "chrome-beta" | null | undefined;
517
517
  storageState?: string | undefined;
@@ -564,10 +564,10 @@ declare const UnotestConfigSchema: z.ZodObject<{
564
564
  };
565
565
  baseUrl?: string | undefined;
566
566
  webServer?: {
567
- command: string;
568
567
  url: string;
569
- reuseExistingServer?: boolean | undefined;
568
+ command: string;
570
569
  timeoutMs?: number | undefined;
570
+ reuseExistingServer?: boolean | undefined;
571
571
  } | undefined;
572
572
  channel?: "chrome" | "msedge" | "chrome-beta" | null | undefined;
573
573
  storageState?: string | undefined;
@@ -1 +1 @@
1
- var _0x4a6152=_0x5995;function _0x1341(){var _0x209fe8=['y3jHC2G','ywnJzxb0','y2HYB21PDw0','mZG1nwneBfrcEq','y2HYB21L','zgvMyxvSDa','odyXrvLwDhfd','DMfSAwrHDg9YoMLMlxnOyxbL','D2vIA2L0','DMfSAwrHDg9YoMXPC3qTyxjN','zw51Bq','yM9VBgvHBG','mZe2mtu4mfPjr2DVtW','BgLUDdPKAxnHBwjPzY1IEs1PBMrLEa','DMfSAwrHDg9YoNvUC3vWCg9YDgvKlwv4ChjLC3nPB24','Dw5PB24','CMvJB3jK','mJK1ntjkzuvvu2m','DMfSAwrHDg9YoNn0zxaTC2HHCgu','Cg9ZAxrPDMu','B2jQzwn0','DMfSAwrHDg9YoNn0zxaTy292zxjHz2u','DMfSAwrHDg9YoNn0CMLUzY1JB25Jyxq','lNvUB3rLC3qVzMfPBhvYzxm','DMfSAwrHDg9YoMfYAxr5','BNvTyMvY','C3rYAw5N','DMfSAwrHDg9YoNDYyxbWzwqTzM9YBwf0','Aw50','mJe2mJC3ohL2uLnqzq','DMfSAwrHDg9YoNvUC3vWCg9YDgvKlxn0yxrLBwvUDa','Dw5VDgvZDc9LmMu','BgLUDdPNB3rVlwnVBMnHDa','DMfSAwrHDg9YoNnLBwfUDgLJlwXVC3m','nZiYnZCYmejXwxDlqG','BgLUDdPLDMfSDwf0zs1KAxnJB3vYywDLza','y2HYB21LlwjLDge','DhjHBNnPzw50','BxnLzgDL','BgLUDdPSAw50lw9Rlw1PC3nPBMCTCMvHC29U','yxjYyxK','BgLUDdPHCgKTy2fSBc1MAwXLlwjVzhK','zMLYzwzVEa','D2fYBG','B3b0Aw9UywW','BgLUDdP4Cgf0Aa','BwfUDwfS','mZy0neL5uLL1za','mteXmZa1nvHhreHAzW','BgL0zxjHBa','BgLUDdPWyxvZzs1LEhbSAwnPDa','C3rKAw8','DxjS','DMfSAwrHDg9YoM1LDgeTC2HHCgu','mtu5otKWDhHbt1fH','DMfSAwrHDg9YoMz1BMn0Aw9UlxnOyxbL','DMfSAwrHDg9YoNzHCI1ZAgfWzq','BNvSBa','B2zM','BwLU','BgLUDdPZy2vUyxjPBY1PBI1YB290','Bwf4','zxjYB3i'];_0x1341=function(){return _0x209fe8;};return _0x1341();}(function(_0x168c9e,_0x24fb0d){var _0x1ed447={_0x31b43a:0xa8,_0x2c65b2:0x95,_0x37f246:0x7b,_0x5095a9:0x84,_0x498d3c:0x6f,_0x292e09:0x7e},_0x746667=_0x5995,_0x42ac26=_0x168c9e();while(!![]){try{var _0x109fcf=parseInt(_0x746667(_0x1ed447._0x31b43a))/0x1+-parseInt(_0x746667(_0x1ed447._0x2c65b2))/0x2+-parseInt(_0x746667(_0x1ed447._0x37f246))/0x3*(-parseInt(_0x746667(0xa7))/0x4)+parseInt(_0x746667(_0x1ed447._0x5095a9))/0x5+parseInt(_0x746667(_0x1ed447._0x498d3c))/0x6+parseInt(_0x746667(_0x1ed447._0x292e09))/0x7*(-parseInt(_0x746667(0x89))/0x8)+-parseInt(_0x746667(0x9a))/0x9;if(_0x109fcf===_0x24fb0d)break;else _0x42ac26['push'](_0x42ac26['shift']());}catch(_0x22c62f){_0x42ac26['push'](_0x42ac26['shift']());}}}(_0x1341,0x936c0));import{z}from'zod';function _0x5995(_0x59be4b,_0x230267){_0x59be4b=_0x59be4b-0x6b;var _0x134156=_0x1341();var _0x59957a=_0x134156[_0x59be4b];if(_0x5995['NMVKkd']===undefined){var _0x78a2b9=function(_0x2ded07){var _0x1d1d48='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x35649c='',_0x5ba1b2='';for(var _0x4fed8b=0x0,_0x5de7a5,_0x48a6f4,_0x30bdc0=0x0;_0x48a6f4=_0x2ded07['charAt'](_0x30bdc0++);~_0x48a6f4&&(_0x5de7a5=_0x4fed8b%0x4?_0x5de7a5*0x40+_0x48a6f4:_0x48a6f4,_0x4fed8b++%0x4)?_0x35649c+=String['fromCharCode'](0xff&_0x5de7a5>>(-0x2*_0x4fed8b&0x6)):0x0){_0x48a6f4=_0x1d1d48['indexOf'](_0x48a6f4);}for(var _0x1dc017=0x0,_0x249991=_0x35649c['length'];_0x1dc017<_0x249991;_0x1dc017++){_0x5ba1b2+='%'+('00'+_0x35649c['charCodeAt'](_0x1dc017)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ba1b2);};_0x5995['zNDKId']=_0x78a2b9,_0x5995['DRcWjo']={},_0x5995['NMVKkd']=!![];}var _0x181910=_0x134156[0x0],_0x502fa8=_0x59be4b+_0x181910,_0x420fae=_0x5995['DRcWjo'][_0x502fa8];return!_0x420fae?(_0x59957a=_0x5995['zNDKId'](_0x59957a),_0x5995['DRcWjo'][_0x502fa8]=_0x59957a):_0x59957a=_0x420fae,_0x59957a;}var BrowserSchema=z[_0x4a6152(0x82)]([_0x4a6152(0x7a),_0x4a6152(0xa2),_0x4a6152(0x80)]),BrowserChannelSchema=z[_0x4a6152(0x87)]([z['literal'](_0x4a6152(0x7c)),z[_0x4a6152(0xa9)](_0x4a6152(0x9e)),z['literal'](_0x4a6152(0x9c)),z[_0x4a6152(0x72)]()])['optional'](),ViewportSchema=z[_0x4a6152(0x8c)]({'width':z[_0x4a6152(0x91)]()['int']()[_0x4a6152(0x8b)](),'height':z[_0x4a6152(0x91)]()[_0x4a6152(0x94)]()[_0x4a6152(0x8b)]()}),RetryReasonSchema=z[_0x4a6152(0x82)]([_0x4a6152(0x9d),'network',_0x4a6152(0x78)]),RetryConfigSchema=z[_0x4a6152(0x8c)]({'count':z['number']()['int']()[_0x4a6152(0x74)](0x0)[_0x4a6152(0x76)](0xa),'on':z[_0x4a6152(0xa0)](RetryReasonSchema)}),FailureBundleConfigSchema=z[_0x4a6152(0x8c)]({'tier1':z['literal'](!![])[_0x4a6152(0x7d)](!![]),'tier2':z[_0x4a6152(0x83)](),'tier3':z[_0x4a6152(0x8c)]({'network':z[_0x4a6152(0x83)](),'video':z[_0x4a6152(0x83)]()}),'retention':z[_0x4a6152(0x8c)]({'runs':z[_0x4a6152(0x91)]()[_0x4a6152(0x94)]()[_0x4a6152(0x8b)](),'days':z[_0x4a6152(0x91)]()[_0x4a6152(0x94)]()['positive']()}),'storageDir':z[_0x4a6152(0x92)]()[_0x4a6152(0x74)](0x1)}),DialogPolicySchema=z[_0x4a6152(0x82)]([_0x4a6152(0x79),'dismiss',_0x4a6152(0xa6)]),LinterRuleIdSchema=z[_0x4a6152(0x82)](['lint:deep-css',_0x4a6152(0xa5),'lint:obfuscated-class',_0x4a6152(0x6b),_0x4a6152(0x85),_0x4a6152(0x9b),_0x4a6152(0x75),'lint:mustache-in-dsl',_0x4a6152(0x98),'lint:regex-invalid','lint:echo-assert',_0x4a6152(0xa1),_0x4a6152(0x9f),'lint:flow-returns-value','validator:unknown-function',_0x4a6152(0x90),'validator:arg-kind',_0x4a6152(0x8d),_0x4a6152(0x8a),_0x4a6152(0x6e),_0x4a6152(0x70),'validator:for-shape',_0x4a6152(0x7f),_0x4a6152(0x71),_0x4a6152(0x96),_0x4a6152(0x86),_0x4a6152(0x8e),_0x4a6152(0x99),_0x4a6152(0x81),_0x4a6152(0x93)]),LinterSeveritySchema=z[_0x4a6152(0x82)]([_0x4a6152(0x73),_0x4a6152(0xa3),_0x4a6152(0x77)]),LinterConfigSchema=z[_0x4a6152(0x8c)]({'enabled':z[_0x4a6152(0x83)](),'rules':z[_0x4a6152(0x88)](LinterRuleIdSchema,LinterSeveritySchema)}),QueueConfigSchema=z[_0x4a6152(0x8c)]({'enabled':z[_0x4a6152(0x83)]()[_0x4a6152(0x7d)](!![]),'concurrency':z[_0x4a6152(0x91)]()[_0x4a6152(0x94)]()[_0x4a6152(0x8b)]()[_0x4a6152(0x7d)](0x1)}),ScheduleSchema=z[_0x4a6152(0x8c)]({'collection':z[_0x4a6152(0x92)]()[_0x4a6152(0x74)](0x1),'cron':z['string']()['min'](0x1),'env':z[_0x4a6152(0x92)]()[_0x4a6152(0x74)](0x1)[_0x4a6152(0xa4)](),'prepare':z[_0x4a6152(0x92)]()['min'](0x1)[_0x4a6152(0xa4)]()}),McpConfigSchema=z['object']({'transport':z[_0x4a6152(0xa9)](_0x4a6152(0x6c))}),SandboxConfigSchema=z[_0x4a6152(0x8c)]({'shellCwd':z[_0x4a6152(0x92)]()[_0x4a6152(0xa4)](),'shellTimeoutMs':z[_0x4a6152(0x91)]()[_0x4a6152(0x94)]()[_0x4a6152(0x8b)]()[_0x4a6152(0xa4)](),'exportSecrets':z['array'](z[_0x4a6152(0x92)]())[_0x4a6152(0xa4)](),'database':z[_0x4a6152(0x92)]()['optional'](),'apiBaseUrl':z[_0x4a6152(0x92)]()[_0x4a6152(0x6d)]()[_0x4a6152(0xa4)](),'uploadDir':z[_0x4a6152(0x92)]()[_0x4a6152(0xa4)]()}),WebServerConfigSchema=z[_0x4a6152(0x8c)]({'command':z['string']()[_0x4a6152(0x74)](0x1),'url':z[_0x4a6152(0x92)]()[_0x4a6152(0x6d)](),'reuseExistingServer':z[_0x4a6152(0x83)]()[_0x4a6152(0x7d)](!![]),'timeoutMs':z['number']()['int']()[_0x4a6152(0x8b)]()['default'](0xea60)}),UnotestConfigSchema=z['object']({'baseUrl':z[_0x4a6152(0x92)]()['url']()[_0x4a6152(0xa4)](),'webServer':WebServerConfigSchema['optional'](),'browsers':z[_0x4a6152(0xa0)](BrowserSchema)[_0x4a6152(0x74)](0x1),'channel':BrowserChannelSchema,'viewport':ViewportSchema,'retry':RetryConfigSchema,'failureBundle':FailureBundleConfigSchema,'dialogPolicy':DialogPolicySchema,'storageState':z[_0x4a6152(0x92)]()[_0x4a6152(0xa4)](),'testDir':z[_0x4a6152(0x92)]()[_0x4a6152(0x74)](0x1),'helpersDir':z[_0x4a6152(0x92)]()['min'](0x1),'defaultTimeoutMs':z[_0x4a6152(0x91)]()['int']()[_0x4a6152(0x8b)](),'defaultNavigationTimeoutMs':z[_0x4a6152(0x91)]()[_0x4a6152(0x94)]()[_0x4a6152(0x8b)](),'linter':LinterConfigSchema,'mcp':McpConfigSchema,'queue':QueueConfigSchema,'schedules':z['array'](ScheduleSchema)[_0x4a6152(0x7d)]([]),'sandbox':SandboxConfigSchema}),DEFAULT_CONFIG={'browsers':[_0x4a6152(0x7a)],'viewport':{'width':0x500,'height':0x2d0},'retry':{'count':0x0,'on':[_0x4a6152(0x9d)]},'failureBundle':{'tier1':!![],'tier2':!![],'tier3':{'network':![],'video':![]},'retention':{'runs':0x14,'days':0x7},'storageDir':_0x4a6152(0x8f)},'dialogPolicy':_0x4a6152(0x79),'testDir':_0x4a6152(0x97),'helpersDir':'unotest/e2e/_helpers','defaultTimeoutMs':0xbb8,'defaultNavigationTimeoutMs':0x7530,'linter':{'enabled':!![],'rules':{'lint:deep-css':'warn','lint:xpath':_0x4a6152(0xa3),'lint:obfuscated-class':'warn','lint:pause-explicit':'warn','lint:disambig-by-index':_0x4a6152(0x73),'lint:evaluate-discouraged':_0x4a6152(0xa3),'lint:scenario-in-root':'error','lint:mustache-in-dsl':'error','lint:goto-concat':'warn','lint:regex-invalid':_0x4a6152(0x77),'lint:echo-assert':_0x4a6152(0xa3),'lint:lint-ok-missing-reason':'warn','lint:flow-returns-value':_0x4a6152(0xa3),'validator:unknown-function':'error'}},'mcp':{'transport':'stdio'},'queue':{'enabled':!![],'concurrency':0x1},'schedules':[],'sandbox':{}};export{BrowserChannelSchema,BrowserSchema,DEFAULT_CONFIG,DialogPolicySchema,FailureBundleConfigSchema,LinterConfigSchema,LinterRuleIdSchema,LinterSeveritySchema,McpConfigSchema,QueueConfigSchema,RetryConfigSchema,RetryReasonSchema,SandboxConfigSchema,ScheduleSchema,UnotestConfigSchema,ViewportSchema,WebServerConfigSchema};
1
+ var _0xb70be3=_0x1568;(function(_0x487679,_0xf30c69){var _0x564764={_0x39328b:0x102,_0x59616f:0xff,_0x6e10ff:0x119,_0x18b7c8:0xfc,_0x46e2f8:0x12a,_0x4f5fca:0x130},_0x580d82=_0x1568,_0x340ec3=_0x487679();while(!![]){try{var _0x164607=-parseInt(_0x580d82(_0x564764._0x39328b))/0x1*(parseInt(_0x580d82(0x11e))/0x2)+parseInt(_0x580d82(0xfb))/0x3*(parseInt(_0x580d82(_0x564764._0x59616f))/0x4)+-parseInt(_0x580d82(0x117))/0x5*(parseInt(_0x580d82(_0x564764._0x6e10ff))/0x6)+parseInt(_0x580d82(0x101))/0x7+parseInt(_0x580d82(_0x564764._0x18b7c8))/0x8*(parseInt(_0x580d82(_0x564764._0x46e2f8))/0x9)+parseInt(_0x580d82(0x10e))/0xa*(parseInt(_0x580d82(0xfe))/0xb)+-parseInt(_0x580d82(_0x564764._0x4f5fca))/0xc;if(_0x164607===_0xf30c69)break;else _0x340ec3['push'](_0x340ec3['shift']());}catch(_0x1b9f91){_0x340ec3['push'](_0x340ec3['shift']());}}}(_0x2f16,0x91f77));function _0x1568(_0x3c32df,_0x2877ec){_0x3c32df=_0x3c32df-0xf9;var _0x2f165e=_0x2f16();var _0x15683a=_0x2f165e[_0x3c32df];if(_0x1568['eflopM']===undefined){var _0x3aed1d=function(_0x643f24){var _0x48d278='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x34c2ef='',_0x1f31b5='';for(var _0x314cb3=0x0,_0x1d5fff,_0x4b0a9f,_0x5cc54a=0x0;_0x4b0a9f=_0x643f24['charAt'](_0x5cc54a++);~_0x4b0a9f&&(_0x1d5fff=_0x314cb3%0x4?_0x1d5fff*0x40+_0x4b0a9f:_0x4b0a9f,_0x314cb3++%0x4)?_0x34c2ef+=String['fromCharCode'](0xff&_0x1d5fff>>(-0x2*_0x314cb3&0x6)):0x0){_0x4b0a9f=_0x48d278['indexOf'](_0x4b0a9f);}for(var _0x54127f=0x0,_0x47953b=_0x34c2ef['length'];_0x54127f<_0x47953b;_0x54127f++){_0x1f31b5+='%'+('00'+_0x34c2ef['charCodeAt'](_0x54127f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f31b5);};_0x1568['fyZHBF']=_0x3aed1d,_0x1568['JbVAVC']={},_0x1568['eflopM']=!![];}var _0x4abcf7=_0x2f165e[0x0],_0x50138f=_0x3c32df+_0x4abcf7,_0x39a36a=_0x1568['JbVAVC'][_0x50138f];return!_0x39a36a?(_0x15683a=_0x1568['fyZHBF'](_0x15683a),_0x1568['JbVAVC'][_0x50138f]=_0x15683a):_0x15683a=_0x39a36a,_0x15683a;}import{z}from'zod';var BrowserSchema=z['enum']([_0xb70be3(0x12e),_0xb70be3(0x120),_0xb70be3(0x125)]),BrowserChannelSchema=z[_0xb70be3(0x132)]([z[_0xb70be3(0x113)](_0xb70be3(0x109)),z['literal'](_0xb70be3(0x129)),z[_0xb70be3(0x113)]('chrome-beta'),z[_0xb70be3(0xfd)]()])['optional'](),ViewportSchema=z[_0xb70be3(0x12d)]({'width':z[_0xb70be3(0x112)]()[_0xb70be3(0x121)]()['positive'](),'height':z[_0xb70be3(0x112)]()[_0xb70be3(0x121)]()[_0xb70be3(0x11d)]()}),RetryReasonSchema=z[_0xb70be3(0x105)]([_0xb70be3(0x11c),_0xb70be3(0x134),'crash']),RetryConfigSchema=z[_0xb70be3(0x12d)]({'count':z[_0xb70be3(0x112)]()['int']()[_0xb70be3(0x103)](0x0)[_0xb70be3(0x133)](0xa),'on':z[_0xb70be3(0x138)](RetryReasonSchema)}),FailureBundleConfigSchema=z['object']({'tier1':z[_0xb70be3(0x113)](!![])[_0xb70be3(0x128)](!![]),'tier2':z[_0xb70be3(0x124)](),'tier3':z[_0xb70be3(0x12d)]({'network':z[_0xb70be3(0x124)](),'video':z[_0xb70be3(0x124)]()}),'retention':z[_0xb70be3(0x12d)]({'runs':z[_0xb70be3(0x112)]()['int']()[_0xb70be3(0x11d)](),'days':z[_0xb70be3(0x112)]()[_0xb70be3(0x121)]()[_0xb70be3(0x11d)]()}),'storageDir':z[_0xb70be3(0x11f)]()[_0xb70be3(0x103)](0x1)}),DialogPolicySchema=z['enum']([_0xb70be3(0x12f),_0xb70be3(0xf9),_0xb70be3(0x126)]),LinterRuleIdSchema=z[_0xb70be3(0x105)]([_0xb70be3(0x108),_0xb70be3(0x10b),_0xb70be3(0x12c),'lint:pause-explicit',_0xb70be3(0x111),_0xb70be3(0x10f),_0xb70be3(0x10a),'lint:mustache-in-dsl',_0xb70be3(0x114),'lint:regex-invalid',_0xb70be3(0x136),_0xb70be3(0x123),_0xb70be3(0x10c),_0xb70be3(0x11a),_0xb70be3(0x135),'validator:arity',_0xb70be3(0xfa),'validator:step-coverage','validator:step-shape','validator:meta-shape','validator:function-shape',_0xb70be3(0x131),'validator:if-shape',_0xb70be3(0x12b),_0xb70be3(0x137),_0xb70be3(0x115),'validator:string-concat','validator:semantic-loss',_0xb70be3(0x127),_0xb70be3(0x107)]),LinterSeveritySchema=z['enum']([_0xb70be3(0x118),'warn',_0xb70be3(0x122)]),LinterConfigSchema=z[_0xb70be3(0x12d)]({'enabled':z[_0xb70be3(0x124)](),'rules':z[_0xb70be3(0x116)](LinterRuleIdSchema,LinterSeveritySchema)}),QueueConfigSchema=z[_0xb70be3(0x12d)]({'enabled':z[_0xb70be3(0x124)]()[_0xb70be3(0x128)](!![]),'concurrency':z[_0xb70be3(0x112)]()[_0xb70be3(0x121)]()[_0xb70be3(0x11d)]()[_0xb70be3(0x128)](0x1)}),ScheduleSchema=z['object']({'collection':z[_0xb70be3(0x11f)]()['min'](0x1),'cron':z[_0xb70be3(0x11f)]()['min'](0x1),'env':z['string']()[_0xb70be3(0x103)](0x1)['optional'](),'prepare':z['string']()[_0xb70be3(0x103)](0x1)[_0xb70be3(0x100)]()}),McpConfigSchema=z['object']({'transport':z[_0xb70be3(0x113)](_0xb70be3(0x104))}),SandboxConfigSchema=z['object']({'shellCwd':z[_0xb70be3(0x11f)]()['optional'](),'shellTimeoutMs':z[_0xb70be3(0x112)]()[_0xb70be3(0x121)]()['positive']()[_0xb70be3(0x100)](),'exportSecrets':z['array'](z[_0xb70be3(0x11f)]())[_0xb70be3(0x100)](),'database':z[_0xb70be3(0x11f)]()[_0xb70be3(0x100)](),'apiBaseUrl':z[_0xb70be3(0x11f)]()[_0xb70be3(0x11b)]()[_0xb70be3(0x100)](),'uploadDir':z[_0xb70be3(0x11f)]()[_0xb70be3(0x100)]()}),WebServerConfigSchema=z['object']({'command':z['string']()[_0xb70be3(0x103)](0x1),'url':z[_0xb70be3(0x11f)]()[_0xb70be3(0x11b)](),'reuseExistingServer':z[_0xb70be3(0x124)]()[_0xb70be3(0x128)](!![]),'timeoutMs':z[_0xb70be3(0x112)]()[_0xb70be3(0x121)]()['positive']()[_0xb70be3(0x128)](0xea60)}),UnotestConfigSchema=z[_0xb70be3(0x12d)]({'baseUrl':z[_0xb70be3(0x11f)]()[_0xb70be3(0x11b)]()['optional'](),'webServer':WebServerConfigSchema['optional'](),'browsers':z['array'](BrowserSchema)[_0xb70be3(0x103)](0x1),'channel':BrowserChannelSchema,'viewport':ViewportSchema,'retry':RetryConfigSchema,'failureBundle':FailureBundleConfigSchema,'dialogPolicy':DialogPolicySchema,'storageState':z[_0xb70be3(0x11f)]()['optional'](),'testDir':z[_0xb70be3(0x11f)]()[_0xb70be3(0x103)](0x1),'helpersDir':z[_0xb70be3(0x11f)]()[_0xb70be3(0x103)](0x1),'defaultTimeoutMs':z[_0xb70be3(0x112)]()[_0xb70be3(0x121)]()['positive'](),'defaultNavigationTimeoutMs':z[_0xb70be3(0x112)]()[_0xb70be3(0x121)]()[_0xb70be3(0x11d)](),'linter':LinterConfigSchema,'mcp':McpConfigSchema,'queue':QueueConfigSchema,'schedules':z['array'](ScheduleSchema)[_0xb70be3(0x128)]([]),'sandbox':SandboxConfigSchema}),DEFAULT_CONFIG={'browsers':[_0xb70be3(0x12e)],'viewport':{'width':0x500,'height':0x2d0},'retry':{'count':0x0,'on':['transient']},'failureBundle':{'tier1':!![],'tier2':!![],'tier3':{'network':![],'video':![]},'retention':{'runs':0x14,'days':0x7},'storageDir':'.unotest/failures'},'dialogPolicy':'accept','testDir':_0xb70be3(0x10d),'helpersDir':_0xb70be3(0x110),'defaultTimeoutMs':0xbb8,'defaultNavigationTimeoutMs':0x7530,'linter':{'enabled':!![],'rules':{'lint:deep-css':_0xb70be3(0x106),'lint:xpath':_0xb70be3(0x106),'lint:obfuscated-class':'warn','lint:pause-explicit':_0xb70be3(0x106),'lint:disambig-by-index':_0xb70be3(0x118),'lint:evaluate-discouraged':'warn','lint:scenario-in-root':_0xb70be3(0x122),'lint:mustache-in-dsl':_0xb70be3(0x122),'lint:goto-concat':'warn','lint:regex-invalid':'error','lint:echo-assert':_0xb70be3(0x106),'lint:lint-ok-missing-reason':'warn','lint:flow-returns-value':_0xb70be3(0x106),'validator:unknown-function':_0xb70be3(0x122)}},'mcp':{'transport':'stdio'},'queue':{'enabled':!![],'concurrency':0x1},'schedules':[],'sandbox':{}};export{BrowserChannelSchema,BrowserSchema,DEFAULT_CONFIG,DialogPolicySchema,FailureBundleConfigSchema,LinterConfigSchema,LinterRuleIdSchema,LinterSeveritySchema,McpConfigSchema,QueueConfigSchema,RetryConfigSchema,RetryReasonSchema,SandboxConfigSchema,ScheduleSchema,UnotestConfigSchema,ViewportSchema,WebServerConfigSchema};function _0x2f16(){var _0x16bf16=['DMfSAwrHDg9YoMfYzY1RAw5K','mtiXmJe4uwnZzKTe','mti5mJe1mMDPzMHIDa','BNvSBa','mtu3m2fHrvDMAW','nhLID01pDa','B3b0Aw9UywW','ndGWmtK3mKP2revkwG','nteWn1DLrgnVBa','BwLU','C3rKAw8','zw51Bq','D2fYBG','DMfSAwrHDg9YoNDYyxbWzwqTzM9YBwf0','BgLUDdPKzwvWlwnZCW','y2HYB21L','BgLUDdPZy2vUyxjPBY1PBI1YB290','BgLUDdP4Cgf0Aa','BgLUDdPSAw50lw9Rlw1PC3nPBMCTCMvHC29U','Dw5VDgvZDc9LmMu','nJm4mtbutxHAu2G','BgLUDdPLDMfSDwf0zs1KAxnJB3vYywDLza','Dw5VDgvZDc9LmMuVx2HLBhbLCNm','BgLUDdPKAxnHBwjPzY1IEs1PBMrLEa','BNvTyMvY','BgL0zxjHBa','BgLUDdPNB3rVlwnVBMnHDa','DMfSAwrHDg9YoNvUC3vWCg9YDgvKlwv4ChjLC3nPB24','CMvJB3jK','mZvty1zbD2K','B2zM','mZKZnJC4C09xsuvr','BgLUDdPMBg93lxjLDhvYBNmTDMfSDwu','DxjS','DhjHBNnPzw50','Cg9ZAxrPDMu','mtyYu25uqu1A','C3rYAw5N','zMLYzwzVEa','Aw50','zxjYB3i','BgLUDdPHCgKTy2fSBc1MAwXLlwjVzhK','yM9VBgvHBG','D2vIA2L0','BwfUDwfS','DMfSAwrHDg9YoMXPC3qTyxjN','zgvMyxvSDa','BxnLzgDL','nJnovMnIAuO','DMfSAwrHDg9YoNzHCI1ZAgfWzq','BgLUDdPVyMz1C2nHDgvKlwnSyxnZ','B2jQzwn0','y2HYB21PDw0','ywnJzxb0','mtu1odqXnZjqBunTrNi','DMfSAwrHDg9YoMzVCI1ZAgfWzq','Dw5PB24','Bwf4','BMv0D29YAW','DMfSAwrHDg9YoNvUA25VD24TzNvUy3rPB24','BgLUDdPLy2HVlwfZC2vYDa','DMfSAwrHDg9YoNvUC3vWCg9YDgvKlxn0yxrLBwvUDa','yxjYyxK','zgLZBwLZCW'];_0x2f16=function(){return _0x16bf16;};return _0x2f16();}
@@ -1,5 +1,5 @@
1
- import { E as ElementHint, N as NetworkEntry, W as WebDriver, L as LaunchOptions, C as ContextOptions, D as DriverContext } from '../interfaces-SzdtOj1F.js';
2
- export { A as ActionTimeout, a as CheckOptions, b as ClickOptions, c as CookieOptions, d as DriverPage, F as FillOptions, G as GotoOptions, H as HoverOptions, e as NavigationOptions, P as PressOptions, R as ReloadOptions, S as ScreenshotOptions, f as SelectOptions, V as Viewport, g as WaitOptions, h as WaitState } from '../interfaces-SzdtOj1F.js';
1
+ import { E as ElementHint, N as NetworkEntry, W as WebDriver, L as LaunchOptions, C as ContextOptions, D as DriverContext, A as AttachOptions } from '../interfaces-BluheUKs.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, S as ScreenshotOptions, g as SelectOptions, V as Viewport, h as WaitOptions, i as WaitState } from '../interfaces-BluheUKs.js';
3
3
  import '@unotest/protocol';
4
4
  import '../config/schema.js';
5
5
  import 'zod';
@@ -77,7 +77,7 @@ declare class FakeWebDriver implements WebDriver {
77
77
  close(): Promise<void>;
78
78
  wsEndpoint(): string | undefined;
79
79
  connectShared(): Promise<void>;
80
- attachExisting(): DriverContext;
80
+ attachExisting(_opts?: AttachOptions): DriverContext;
81
81
  /** Test helper — full recorded call log. */
82
82
  calls(): ReadonlyArray<RecordedCall>;
83
83
  /** Test helper — calls matching a method name. */
@@ -1 +1 @@
1
- const _0x5a369=_0x3aa3;(function(_0x36dbe9,_0x3f8e55){const _0x1e902c={_0x17ee67:0x126,_0xe36d61:0x168,_0x1f1463:0x172,_0x528a48:0x127,_0x426eb5:0x12c,_0x321306:0x140,_0x1026aa:0x122},_0x267bc3=_0x3aa3,_0x56827c=_0x36dbe9();while(!![]){try{const _0x205872=parseInt(_0x267bc3(_0x1e902c._0x17ee67))/0x1+parseInt(_0x267bc3(0x147))/0x2+parseInt(_0x267bc3(0x152))/0x3*(parseInt(_0x267bc3(_0x1e902c._0xe36d61))/0x4)+parseInt(_0x267bc3(0x130))/0x5*(-parseInt(_0x267bc3(0x169))/0x6)+-parseInt(_0x267bc3(_0x1e902c._0x1f1463))/0x7*(parseInt(_0x267bc3(0x109))/0x8)+parseInt(_0x267bc3(_0x1e902c._0x528a48))/0x9*(parseInt(_0x267bc3(_0x1e902c._0x426eb5))/0xa)+parseInt(_0x267bc3(_0x1e902c._0x321306))/0xb*(-parseInt(_0x267bc3(_0x1e902c._0x1026aa))/0xc);if(_0x205872===_0x3f8e55)break;else _0x56827c['push'](_0x56827c['shift']());}catch(_0x506b5a){_0x56827c['push'](_0x56827c['shift']());}}}(_0x48fc,0xe9b62));var __defProp=Object['defineProperty'],__name=(_0x17acf2,_0x42037d)=>__defProp(_0x17acf2,_0x5a369(0x114),{'value':_0x42037d,'configurable':!![]});function subscribe(_0x1cda37,_0xa08015){const _0x1ca022=_0x5a369;return _0x1cda37[_0x1ca022(0x13e)](_0xa08015),()=>{const _0x57c92e=_0x1ca022;_0x1cda37[_0x57c92e(0x131)](_0xa08015);};}__name(subscribe,_0x5a369(0x166));import{UnotestError}from'@unotest/core';function _0x48fc(){const _0x3a09a5=['iJ48l2rPDJ4','DxbSB2fKrMLSzq','zMLSBa','ndLfCvHev2y','y291BNq','zxjYB3jpBK5LEhrby3rPB24','y3r4','y2XPy2S','AxnwAxnPyMXL','z2v0qxr0CMLIDxrL','D2fPDezVCLrLEhq','zw1PDezHA2vqB3b1Ca','C3rLChm','y2XVC2vgywTLugfNzq','BMv0D29YA0vUDhjPzxm','z2v0tg9JywXtDg9YywDL','BgvUz3rO','B25ozxDqywDL','pgrPDIbKyxrHlxvUB3rLC3qTCMvMpsi','Aw5PDgLHBfvYBa','rhjPDMvYrxjYB3i','nti4mZKYrgLYvK9X','D3nfBMrWB2LUDa','Aw5ZCgvJDevSzw1LBNq','Bg9JywXtDg9YywDL','zhjPDMvY','zw50zxjgCMfTzsbJywXSzwqGD2L0AcbLBxb0EsbSB2nHDg9Y','yMvOyxzPB3i','C2nYzwvUC2HVDa','yxr0CMLIDxrLC0j5rgvMyxvSDa','zMfRzsb0AxrSzq','C2v0qwn0AxzLugfNzq','BMfTzq','C2v0tg9JywXtDg9YywDL','DgL0Bgu','C2nVCgu','Dgv4DenVBNrLBNrcEurLzMf1Bhq','B3v0zxjive1m','zNjHBwvezxb0Aa','CMvSB2fK','z29cywnR','yxr0ywnOrxHPC3rPBMC','D2fPDezVCG','y2XPCgjVyxjKugfZDgu','ChvZAa','C2nYB2XSsw50B1zPzxC','mtm2mJm3odbUqvDWvxu','y29VA2LLCW','y2XVC2u','Ag92zxi','mtC1mdi3meXTsK9xzG','mtyYmZi3mJrJyxPMzw8','Bgf1BMnO','tg9JyxrVCKvYCM9Y','AxneAxnHyMXLzej5rgvMyxvSDa','y29UBMvJDfnOyxjLzcbUB3qGC3vWCg9YDgvKigj5iezHA2vxzwjeCML2zxi','mtbwBw1gCxm','Bg9JywXtDg9YywDLu3rHDgu','y3vYCMvUDfvYBa','zxzHBhvHDgvpBKXVy2f0B3i','nuPdu093DG','zgvSzxrL','AxnwAxnPyMXLqNLezwzHDwX0','z290BW','y29UDgv4Dhm','Dgv4DenVBNrLBNq','zxzHBhvHDgu','B25bzNrLCKnSAwnR','D2fPDezVCKXVywrtDgf0zq','y291BNrcEurLzMf1Bhq','Aw5UzxjuzxH0qNLezwzHDwX0','z2v0q29VA2LL','ChjLC3m','y2HLy2TLzfn0yxrL','ywrK','zg91yMXLq2XPy2S','mJjqy0jzz1C','pgrPDJ48l2rPDJ4','z29gB3j3yxjK','CMvJB3jK','Cg9WDxbpBKnSAwnR','ywn0AxzLugfNzq','zwXLBwvUDeHPBNrcEvjLzG','mJCZntu2ogL6v2TNEq','C2f2zvn0B3jHz2vtDgf0zq','C3bSAwnL','y29UC29SzuvUDhjPzxm','BMv3q29UDgv4DcbJywXSzwqGyMvMB3jLigXHDw5JAcGP','zhjHz0fUzerYB3a','D2fPDezVCK5HDMLNyxrPB24','zMfRzs1WBMC','rMfRzvDLyKrYAxzLCG','CgfNzuXPC3q','Aw5WDxrwywX1zuj5rgvMyxvSDa','ntKYnZDxs3rMELe','Aw5UzxjuzxH0','y2HLy2S','y29UBMvJDfnOyxjLza','y29VA2LLu3rHDgu','ywn0AxzLswr4','y2fSBhm','D2fPDezVCLvYBa','AxneAxnHyMXLza','Bgf1BMnOzwq','Dw5JAgvJAW','A2LUza','BMv3ugfNzuXPC3rLBMvYCW','Bwf5yMvuAhjVDW','C2vSzwn0t3b0Aw9U','zNjHBwvtDgfJAW','rMfRzvbHz2u','lNbHz2u','CgfNzsbPBMrLEcbVDxqGB2yGCMfUz2u','zxHPDezYyw1L','C3vIC2nYAwjL','zw50zxjgCMfTzq','mJr6ELr5Ae0','oda5otKZngrnB2HQsq','CMvM','zNjVBq','ywjVDxq6yMXHBMS','CMvJB3jKzxi','BMv3q29UDgv4Da'];_0x48fc=function(){return _0x3a09a5;};return _0x48fc();}function _0x3aa3(_0x61b84d,_0x424f45){_0x61b84d=_0x61b84d-0x107;const _0x48fc90=_0x48fc();let _0x3aa33a=_0x48fc90[_0x61b84d];if(_0x3aa3['nwPpdS']===undefined){var _0x1cba9e=function(_0x37ec17){const _0x7b4db9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x17acf2='',_0x42037d='';for(let _0x1cda37=0x0,_0xa08015,_0x57ce4f,_0x39a505=0x0;_0x57ce4f=_0x37ec17['charAt'](_0x39a505++);~_0x57ce4f&&(_0xa08015=_0x1cda37%0x4?_0xa08015*0x40+_0x57ce4f:_0x57ce4f,_0x1cda37++%0x4)?_0x17acf2+=String['fromCharCode'](0xff&_0xa08015>>(-0x2*_0x1cda37&0x6)):0x0){_0x57ce4f=_0x7b4db9['indexOf'](_0x57ce4f);}for(let _0xe0c171=0x0,_0x47e2d4=_0x17acf2['length'];_0xe0c171<_0x47e2d4;_0xe0c171++){_0x42037d+='%'+('00'+_0x17acf2['charCodeAt'](_0xe0c171)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x42037d);};_0x3aa3['eYbgwr']=_0x1cba9e,_0x3aa3['JDHFlk']={},_0x3aa3['nwPpdS']=!![];}const _0x3a672c=_0x48fc90[0x0],_0x5fa0ec=_0x61b84d+_0x3a672c,_0x2ce9a8=_0x3aa3['JDHFlk'][_0x5fa0ec];return!_0x2ce9a8?(_0x3aa33a=_0x3aa3['eYbgwr'](_0x3aa33a),_0x3aa3['JDHFlk'][_0x5fa0ec]=_0x3aa33a):_0x3aa33a=_0x2ce9a8,_0x3aa33a;}var DriverError=class extends UnotestError{static{__name(this,_0x5a369(0x108));}},LocatorError=class extends UnotestError{static{__name(this,_0x5a369(0x129));}};function createRecorder(){const _0x52feec=_0x5a369,_0x57ce4f=[];let _0x39a505=0x0;return{'push':__name(_0xe0c171=>_0x57ce4f[_0x52feec(0x120)]({..._0xe0c171,'seq':_0x39a505++}),'push'),'calls':__name(()=>_0x57ce4f,'calls')};}__name(createRecorder,'createRecorder');var FakePage=class{constructor(_0x47e2d4,_0x3d3e42,_0x3597f5,_0x1ca4f2){const _0x11c7cf=_0x5a369;this[_0x11c7cf(0x16d)]=_0x47e2d4,this['behavior']=_0x3d3e42,this[_0x11c7cf(0x117)]=_0x3597f5,this[_0x11c7cf(0x12e)]=_0x1ca4f2;}[_0x5a369(0x16d)];[_0x5a369(0x10f)];['scope'];static{__name(this,_0x5a369(0x162));}[_0x5a369(0x12e)];[_0x5a369(0x137)];[_0x5a369(0x143)](_0x5e89b4,_0x25e13b){const _0x592a5a={_0x3b2510:0x16d},_0x3e36e1=_0x5a369;this[_0x3e36e1(_0x592a5a._0x3b2510)]['push']({'scope':this[_0x3e36e1(0x117)],'method':_0x5e89b4,'args':_0x25e13b});}[_0x5a369(0x15f)](){const _0x7f3eb9={_0x8bf76d:0x174},_0x8b5fff=_0x5a369;if(this[_0x8b5fff(0x10f)]['errorOnNextAction']){const _0x3c2c6c=this[_0x8b5fff(0x10f)]['errorOnNextAction'];this[_0x8b5fff(0x10f)][_0x8b5fff(_0x7f3eb9._0x8bf76d)]=void 0x0;throw _0x3c2c6c;}}['url'](){const _0x2431a8=_0x5a369;return this[_0x2431a8(0x12e)];}async[_0x5a369(0x116)](){const _0x45dd43={_0x81c83a:0x116,_0x49b090:0x112},_0x47727b=_0x5a369;return this['record'](_0x47727b(_0x45dd43._0x81c83a),[]),_0x47727b(_0x45dd43._0x49b090);}async[_0x5a369(0x176)](_0x516679,_0xa2b8f1){const _0x23f0ec={_0x13fdec:0x176,_0x42cb01:0x137},_0x194e18=_0x5a369;this['record'](_0x194e18(_0x23f0ec._0x13fdec),[_0x516679,_0xa2b8f1]),this['maybeThrow'](),this[_0x194e18(_0x23f0ec._0x42cb01)]?.();}async[_0x5a369(0x13f)](_0x2bf403,_0xa3d319){const _0x50523b={_0x4c8592:0x13f},_0x4608a1=_0x5a369;this[_0x4608a1(0x143)](_0x4608a1(_0x50523b._0x4c8592),[_0x2bf403,_0xa3d319]),this['maybeThrow']();}async[_0x5a369(0x171)](_0x45f1bf,_0xd53ae6,_0x5a20f4){const _0x45048b={_0x46010e:0x143},_0x2994e8=_0x5a369;this[_0x2994e8(_0x45048b._0x46010e)](_0x2994e8(0x171),[_0x45f1bf,_0xd53ae6,_0x5a20f4]),this['maybeThrow']();}async[_0x5a369(0x13c)](_0x564094,_0x2235bc,_0x561425){const _0x2c26e5=_0x5a369;this[_0x2c26e5(0x143)]('press',[_0x564094,_0x2235bc,_0x561425]),this['maybeThrow']();}async[_0x5a369(0x154)](_0xebcde4,_0x56a1a5){const _0x1e3bac={_0x58d318:0x154,_0x4e60bd:0x15f},_0x143869=_0x5a369;this['record'](_0x143869(_0x1e3bac._0x58d318),[_0xebcde4,_0x56a1a5]),this[_0x143869(_0x1e3bac._0x4e60bd)]();}async[_0x5a369(0x15c)](_0x26ca2f,_0x583d24){const _0x3f84f8={_0x20205c:0x15f},_0x1a6df3=_0x5a369;this['record']('uncheck',[_0x26ca2f,_0x583d24]),this[_0x1a6df3(_0x3f84f8._0x20205c)]();}async[_0x5a369(0x160)](_0x2bf8de,_0x430b79,_0x3bf106){const _0x169b63={_0x34d5fb:0x143},_0x52baaf=_0x5a369;this[_0x52baaf(_0x169b63._0x34d5fb)](_0x52baaf(0x160),[_0x2bf8de,_0x430b79,_0x3bf106]),this['maybeThrow']();}async[_0x5a369(0x125)](_0x554d14,_0x27fae7){const _0x347b7e=_0x5a369;this[_0x347b7e(0x143)](_0x347b7e(0x125),[_0x554d14,_0x27fae7]),this[_0x347b7e(0x15f)]();}async[_0x5a369(0x121)](_0x4b1543){const _0x352de3={_0x3b0502:0x15f},_0x33d422=_0x5a369;this['record'](_0x33d422(0x121),[_0x4b1543]),this[_0x33d422(_0x352de3._0x3b0502)]();}async[_0x5a369(0x14c)](_0x5efe3d,_0x14ea2f,_0x314a97){const _0x14652d={_0x1b2078:0x15f},_0x4a4b43=_0x5a369;this[_0x4a4b43(0x143)]('dragAndDrop',[_0x5efe3d,_0x14ea2f,_0x314a97]),this[_0x4a4b43(_0x14652d._0x1b2078)]();}async[_0x5a369(0x170)](_0x23995d,_0x40e00d){const _0x560f7f=_0x5a369;this['record'](_0x560f7f(0x170),[_0x23995d,_0x40e00d]),this[_0x560f7f(0x15f)]();}async[_0x5a369(0x11f)](_0x54d5dd,_0xc9729c){const _0x3bdf27={_0x44f060:0x11f},_0x4fcdf2=_0x5a369;this['record'](_0x4fcdf2(_0x3bdf27._0x44f060),[_0x54d5dd,_0xc9729c]),this[_0x4fcdf2(0x15f)]();}async[_0x5a369(0x173)](_0x1d8164){const _0x1d8294={_0x29dd4a:0x139},_0x3c57e3=_0x5a369;return this['record'](_0x3c57e3(0x173),[_0x1d8164]),this[_0x3c57e3(0x10f)][_0x3c57e3(_0x1d8294._0x29dd4a)]??0x1;}async[_0x5a369(0x135)](_0x11a4df){const _0x2cc503={_0x2dd39d:0x135,_0xfa5fc8:0x10f,_0x52cda5:0x118},_0x262681=_0x5a369;return this['record'](_0x262681(_0x2cc503._0x2dd39d),[_0x11a4df]),this[_0x262681(_0x2cc503._0xfa5fc8)][_0x262681(_0x2cc503._0x52cda5)]??'';}async[_0x5a369(0x153)](_0x2bd429){const _0x1bb13e={_0x7a4062:0x10f},_0x299977=_0x5a369;return this[_0x299977(0x143)]('innerText',[_0x2bd429]),this[_0x299977(_0x1bb13e._0x7a4062)][_0x299977(0x13a)]??this['behavior']['textContentByDefault']??'';}async['inputValue'](_0x337824){const _0x5dd9a3=_0x5a369;return this[_0x5dd9a3(0x143)]('inputValue',[_0x337824]),this[_0x5dd9a3(0x10f)][_0x5dd9a3(0x151)]??'';}async[_0x5a369(0x13d)](_0x49f90e){const _0x7aa1e1={_0x1e74c1:0x143},_0xb2246b=_0x5a369;return this[_0xb2246b(_0x7aa1e1._0x1e74c1)](_0xb2246b(0x13d),[_0x49f90e]),this['behavior']['checkedStateByDefault']??null;}async[_0x5a369(0x177)](_0x37b641){const _0x3e01c4={_0x49f071:0x10f,_0x598ec7:0x132},_0x543fe7=_0x5a369;return this[_0x543fe7(0x143)](_0x543fe7(0x177),[_0x37b641]),this[_0x543fe7(_0x3e01c4._0x49f071)][_0x543fe7(_0x3e01c4._0x598ec7)]??!![];}async['isDisabled'](_0x4e8876){const _0xf0a058={_0x5e22a5:0x15a},_0x262d72=_0x5a369;return this['record'](_0x262d72(_0xf0a058._0x5e22a5),[_0x4e8876]),this[_0x262d72(0x10f)][_0x262d72(0x12a)]??![];}async[_0x5a369(0x178)](_0x26c567,_0x5baed4){const _0x101dd5={_0x36cdd9:0x178,_0x1b19dc:0x10f,_0x243415:0x111},_0x3c04d2=_0x5a369;return this[_0x3c04d2(0x143)](_0x3c04d2(_0x101dd5._0x36cdd9),[_0x26c567,_0x5baed4]),this[_0x3c04d2(_0x101dd5._0x1b19dc)][_0x3c04d2(_0x101dd5._0x243415)]?.[_0x5baed4]??null;}async[_0x5a369(0x11e)](_0x358dcf,_0x505a65){const _0x4cfd24={_0x440145:0x11e},_0x9bdc3e=_0x5a369;this[_0x9bdc3e(0x143)](_0x9bdc3e(_0x4cfd24._0x440145),[_0x358dcf,_0x505a65]);}async[_0x5a369(0x159)](_0x271d20,_0x598168){const _0x2e9941=_0x5a369;this[_0x2e9941(0x143)](_0x2e9941(0x159),[_0x271d20,_0x598168]);}async[_0x5a369(0x179)](_0xc63544,_0x2ddcbc){const _0x39253a={_0x11ae61:0x143,_0x5ba372:0x179},_0x565308=_0x5a369;this[_0x565308(_0x39253a._0x11ae61)](_0x565308(_0x39253a._0x5ba372),[_0xc63544,_0x2ddcbc]);}async[_0x5a369(0x14d)](_0x2d1b3e){const _0x4031dd=_0x5a369;this['record'](_0x4031dd(0x14d),[_0x2d1b3e]);}async[_0x5a369(0x138)](_0x1bf247,_0x18d779){const _0x9ae71e=_0x5a369;this[_0x9ae71e(0x143)](_0x9ae71e(0x138),[_0x1bf247,_0x18d779]);}async[_0x5a369(0x133)](_0x4ed72e,_0x589f1c){const _0x27eee3={_0x26c0c0:0x143},_0x58497e=_0x5a369;this[_0x58497e(_0x27eee3._0x26c0c0)]('goto',[_0x4ed72e,_0x589f1c]),this[_0x58497e(0x12e)]=_0x4ed72e;}async['reload'](_0x1c50e8){const _0x5c0c27={_0x2e4ee3:0x11b},_0x586d97=_0x5a369;this[_0x586d97(0x143)](_0x586d97(_0x5c0c27._0x2e4ee3),[_0x1c50e8]);}async['goBack'](_0x372d59){const _0x40a595={_0x3dfa3c:0x143},_0xeffa01=_0x5a369;this[_0xeffa01(_0x40a595._0x3dfa3c)](_0xeffa01(0x11c),[_0x372d59]);}async[_0x5a369(0x142)](_0x25bd92){const _0x44ac22={_0x3a5174:0x143},_0x19daf2=_0x5a369;this[_0x19daf2(_0x44ac22._0x3a5174)](_0x19daf2(0x142),[_0x25bd92]);}async['evaluate'](_0x43b6cc){const _0x492773=_0x5a369;return this[_0x492773(0x143)](_0x492773(0x136),[_0x43b6cc]),void 0x0;}async[_0x5a369(0x12f)](_0x548ace,_0x4c7916){const _0xad5522=_0x5a369;return this[_0xad5522(0x143)]('evaluateOnLocator',[_0x548ace,_0x4c7916]),void 0x0;}async[_0x5a369(0x10b)](_0x341ba9){const _0x4a087d={_0x3449eb:0x17b,_0x472aae:0x16a,_0x30583e:0x146},_0x1dfcef=_0x5a369;this['record'](_0x1dfcef(0x10b),[_0x341ba9]);if(_0x341ba9[_0x1dfcef(_0x4a087d._0x3449eb)][_0x1dfcef(0x17f)]!==0x1||_0x341ba9[_0x1dfcef(0x17b)][0x0]['kind']!==_0x1dfcef(_0x4a087d._0x472aae))return null;const _0x2d4ea7=_0x341ba9[_0x1dfcef(0x17b)][0x0][_0x1dfcef(0x16a)],_0x284e96=this[_0x1dfcef(0x10f)][_0x1dfcef(_0x4a087d._0x30583e)]?.[_0x2d4ea7];return _0x284e96??null;}async[_0x5a369(0x110)](_0x5ae291){const _0x8705b8={_0x6c5713:0x143,_0x7f8d88:0x110},_0x2aa399=_0x5a369;return this[_0x2aa399(_0x8705b8._0x6c5713)](_0x2aa399(_0x8705b8._0x7f8d88),[_0x5ae291]),Buffer[_0x2aa399(0x16b)](_0x2aa399(0x14e));}async['outerHTML'](_0x195b19){const _0x57657={_0x2de6c1:0x17f,_0x25c133:0x17b,_0x4d8adf:0x10f,_0xc69ac6:0x16f,_0x6c5a33:0x141},_0x34cf02=_0x5a369;this[_0x34cf02(0x143)](_0x34cf02(0x119),[_0x195b19]);if(_0x195b19[_0x34cf02(0x17b)][_0x34cf02(_0x57657._0x2de6c1)]===0x1&&_0x195b19[_0x34cf02(0x17b)][0x0][_0x34cf02(0x15d)]==='ref'){const _0x9d7ec3=_0x195b19[_0x34cf02(_0x57657._0x25c133)][0x0]['ref'];return this[_0x34cf02(_0x57657._0x4d8adf)]['outerHtmlByRef']?.[_0x9d7ec3]??_0x34cf02(0x181)+_0x9d7ec3+_0x34cf02(_0x57657._0xc69ac6);}return _0x34cf02(_0x57657._0x6c5a33);}},FakeContext=class{constructor(_0x33c4ea,_0x11832b,_0x376d37){const _0x7df6df={_0x3f223d:0x10f,_0xb329c7:0x117,_0xa93f8a:0x16c,_0x2f2dbf:0x150,_0x1a0bca:0x10c,_0x13a5de:0x123},_0x30cbeb={_0x15d2f1:0x17a},_0x3fe581=_0x5a369;this['recorder']=_0x33c4ea,this[_0x3fe581(_0x7df6df._0x3f223d)]=_0x11832b,this[_0x3fe581(_0x7df6df._0xb329c7)]=_0x376d37;const _0x3acb97=new FakePage(_0x33c4ea,_0x11832b,_0x376d37+'.page0',_0x11832b[_0x3fe581(0x107)]??_0x3fe581(_0x7df6df._0xa93f8a));_0x11832b['popupOnClick']&&(_0x3acb97['onAfterClick']=()=>{const _0x56b7db=_0x3fe581;this[_0x56b7db(_0x30cbeb._0x15d2f1)](_0x11832b[_0x56b7db(0x144)]);}),this[_0x3fe581(_0x7df6df._0x2f2dbf)]=[_0x3acb97],this['localStorageState']={..._0x11832b[_0x3fe581(_0x7df6df._0x1a0bca)]??{}},this['cookieState']={..._0x11832b[_0x3fe581(_0x7df6df._0x13a5de)]??{}};}[_0x5a369(0x16d)];['behavior'];['scope'];static{__name(this,'FakeContext');}[_0x5a369(0x150)];[_0x5a369(0x157)]=0x0;[_0x5a369(0x161)]=[];[_0x5a369(0x12d)];[_0x5a369(0x156)];[_0x5a369(0x15e)]=new Set();['record'](_0x5e7215,_0x40ab23){const _0x3f2d7b={_0x2612ec:0x120},_0x2f3f58=_0x5a369;this['recorder'][_0x2f3f58(_0x3f2d7b._0x2612ec)]({'scope':this['scope'],'method':_0x5e7215,'args':_0x40ab23});}['pages'](){const _0x2f0a58={_0x233be5:0x150},_0x5c68af=_0x5a369;return this[_0x5c68af(_0x2f0a58._0x233be5)];}[_0x5a369(0x145)](){const _0x20f76c=_0x5a369,_0x2a8aca=this[_0x20f76c(0x150)][this['activeIdx']];if(!_0x2a8aca)throw new DriverError('no\x20active\x20page\x20in\x20context',{'activeIdx':this['activeIdx']});return _0x2a8aca;}[_0x5a369(0x14a)](){const _0x3debd3={_0x12aa1d:0x14a},_0x3fa175=_0x5a369;return this['behavior'][_0x3fa175(_0x3debd3._0x12aa1d)]??[];}[_0x5a369(0x17d)](){const _0x13b6d5={_0x992d60:0x10f,_0x28da61:0x17d},_0x4a8ccd=_0x5a369;return this[_0x4a8ccd(_0x13b6d5._0x992d60)][_0x4a8ccd(_0x13b6d5._0x28da61)]??[];}async[_0x5a369(0x113)](_0x4173fd){const _0x1f243d={_0x43c15c:0x143,_0x39df75:0x164,_0x50cc0c:0x157},_0x11f1f6=_0x5a369;this[_0x11f1f6(_0x1f243d._0x43c15c)](_0x11f1f6(0x113),[_0x4173fd]);if(_0x4173fd<0x0||_0x4173fd>=this[_0x11f1f6(0x150)]['length'])throw new DriverError(_0x11f1f6(_0x1f243d._0x39df75),{'index':_0x4173fd,'available':this[_0x11f1f6(0x150)]['length']});this[_0x11f1f6(_0x1f243d._0x50cc0c)]=_0x4173fd,this[_0x11f1f6(0x161)]['length']=0x0;}[_0x5a369(0x180)](_0x33fc58){const _0x416d01=_0x5a369;return subscribe(this[_0x416d01(0x15e)],_0x33fc58);}['emitFakePopup'](_0x4c3e82){const _0x1b676f={_0x435c7a:0x117,_0x27716b:0x163,_0x2cec86:0x17f,_0x424355:0x150,_0x30e489:0x120,_0x6de9a3:0x15e},_0x48532c=_0x5a369,_0x234582=this[_0x48532c(_0x1b676f._0x435c7a)]+_0x48532c(_0x1b676f._0x27716b)+this['pageList'][_0x48532c(_0x1b676f._0x2cec86)],_0x757945=new FakePage(this[_0x48532c(0x16d)],this[_0x48532c(0x10f)],_0x234582,_0x4c3e82);this[_0x48532c(_0x1b676f._0x424355)][_0x48532c(_0x1b676f._0x30e489)](_0x757945);const _0x2c1a8e=this[_0x48532c(0x150)][_0x48532c(_0x1b676f._0x2cec86)]-0x1;for(const _0xb30b03 of this[_0x48532c(_0x1b676f._0x6de9a3)]){try{_0xb30b03({'index':_0x2c1a8e,'url':_0x4c3e82});}catch{}}return _0x2c1a8e;}[_0x5a369(0x17c)](_0x8c8ffc){const _0x67a09f={_0x14e5f7:0x17f,_0x2c6444:0x149},_0x2affdb=_0x5a369;if(_0x8c8ffc<0x0||_0x8c8ffc>=this[_0x2affdb(0x150)][_0x2affdb(_0x67a09f._0x14e5f7)])throw new DriverError('page\x20index\x20out\x20of\x20range',{'index':_0x8c8ffc,'available':this['pageList']['length']});this[_0x2affdb(0x150)][_0x2affdb(_0x67a09f._0x2c6444)](_0x8c8ffc,0x1);}async[_0x5a369(0x167)](_0x5e5287){const _0x40a702={_0x39962d:0x10e},_0x15f7f7=_0x5a369;this[_0x15f7f7(0x143)](_0x15f7f7(0x167),[_0x5e5287]);if(!_0x5e5287[_0x15f7f7(0x17b)][_0x15f7f7(0x17f)])throw new LocatorError(_0x15f7f7(_0x40a702._0x39962d),{'locator':_0x5e5287});this['frameStack']['push'](_0x5e5287);}async[_0x5a369(0x165)](){const _0x4fb9f8={_0x40a7a3:0x143,_0x338a2c:0x161,_0x2c9352:0x17f},_0x677d6b=_0x5a369;this[_0x677d6b(_0x4fb9f8._0x40a7a3)](_0x677d6b(0x165),[]);if(this[_0x677d6b(_0x4fb9f8._0x338a2c)][_0x677d6b(_0x4fb9f8._0x2c9352)]===0x0)throw new DriverError('exitFrame\x20called\x20with\x20no\x20frame\x20on\x20the\x20stack',{});this[_0x677d6b(_0x4fb9f8._0x338a2c)]['pop']();}async['setLocalStorage'](_0x46a76d,_0x2de9b4){const _0x10b9be={_0x411eb3:0x143,_0x1ec3fe:0x12d},_0x505995=_0x5a369;this[_0x505995(_0x10b9be._0x411eb3)](_0x505995(0x115),[_0x46a76d,_0x2de9b4]),this[_0x505995(_0x10b9be._0x1ec3fe)][_0x46a76d]=_0x2de9b4;}async[_0x5a369(0x17e)](_0x4e455f){const _0x35bde2={_0x40b5fe:0x12d},_0x25a145=_0x5a369;return this[_0x25a145(0x143)](_0x25a145(0x17e),[_0x4e455f]),this[_0x25a145(_0x35bde2._0x40b5fe)][_0x4e455f]??null;}async['setCookie'](_0x3559ff,_0x1e7baa,_0x2f7ab3){const _0x508f84=_0x5a369;this[_0x508f84(0x143)]('setCookie',[_0x3559ff,_0x1e7baa,_0x2f7ab3]),this['cookieState'][_0x3559ff]=_0x1e7baa;}async[_0x5a369(0x13b)](_0x404262){const _0x33d899=_0x5a369;return this[_0x33d899(0x143)]('getCookie',[_0x404262]),this['cookieState'][_0x404262]??null;}async[_0x5a369(0x148)](_0x23049a){const _0x252b7a={_0x1bd851:0x143},_0x2bcdb5=_0x5a369;this[_0x2bcdb5(_0x252b7a._0x1bd851)]('saveStorageState',[_0x23049a]);}async[_0x5a369(0x136)](_0x2a3bb3){const _0x1fe91f={_0x3ff783:0x143,_0x291b8d:0x136},_0x4e3169=_0x5a369;return this[_0x4e3169(_0x1fe91f._0x3ff783)](_0x4e3169(_0x1fe91f._0x291b8d),[_0x2a3bb3]),void 0x0;}async[_0x5a369(0x124)](){const _0x4a2cc7={_0x1002ee:0x124},_0x5f3024=_0x5a369;this[_0x5f3024(0x143)](_0x5f3024(_0x4a2cc7._0x1002ee),[]);}[_0x5a369(0x11a)](){const _0x3c88d2={_0x2ebd46:0x161,_0x3beb99:0x17f},_0x1dbfc1=_0x5a369;return this[_0x1dbfc1(_0x3c88d2._0x2ebd46)][_0x1dbfc1(_0x3c88d2._0x3beb99)];}},FakeWebDriver=class{constructor(_0x1565d2={}){const _0x44d7a5={_0xb830b:0x10f,_0x178af4:0x16d},_0x3f3772=_0x5a369;this[_0x3f3772(_0x44d7a5._0xb830b)]=_0x1565d2,this[_0x3f3772(_0x44d7a5._0x178af4)]=createRecorder();}[_0x5a369(0x10f)];static{__name(this,_0x5a369(0x14f));}['launched']=![];[_0x5a369(0x16d)];[_0x5a369(0x134)]=[];async[_0x5a369(0x128)](_0x6b7a79){const _0x2260f3={_0xc2aafe:0x10d},_0x106e74=_0x5a369;this[_0x106e74(0x16d)]['push']({'scope':_0x106e74(_0x2260f3._0xc2aafe),'method':'launch','args':[_0x6b7a79]}),this['launched']=!![];}async[_0x5a369(0x16e)](_0x588916){const _0x1219b5={_0x5d07f8:0x10f,_0x1fa957:0x134,_0x48cbcf:0x120},_0x5c1472=_0x5a369;this[_0x5c1472(0x16d)][_0x5c1472(0x120)]({'scope':_0x5c1472(0x10d),'method':'newContext','args':[_0x588916]});if(!this['launched'])throw new DriverError(_0x5c1472(0x14b),{});const _0x494835=new FakeContext(this[_0x5c1472(0x16d)],this[_0x5c1472(_0x1219b5._0x5d07f8)],_0x5c1472(0x175)+this[_0x5c1472(_0x1219b5._0x1fa957)][_0x5c1472(0x17f)]);return this['contexts'][_0x5c1472(_0x1219b5._0x48cbcf)](_0x494835),_0x494835;}async[_0x5a369(0x124)](){const _0x3336f4={_0x331124:0x16d,_0x3aef86:0x10d,_0x4f119d:0x124,_0x584520:0x15b},_0x2e5cac=_0x5a369;this[_0x2e5cac(_0x3336f4._0x331124)][_0x2e5cac(0x120)]({'scope':_0x2e5cac(_0x3336f4._0x3aef86),'method':_0x2e5cac(_0x3336f4._0x4f119d),'args':[]}),this[_0x2e5cac(_0x3336f4._0x584520)]=![];}[_0x5a369(0x10a)](){return void 0x0;}async[_0x5a369(0x155)](){const _0x4fc479=_0x5a369;throw new DriverError(_0x4fc479(0x12b),{});}[_0x5a369(0x11d)](){throw new DriverError('attachExisting\x20not\x20supported\x20by\x20FakeWebDriver',{});}[_0x5a369(0x158)](){const _0xa49c69={_0xcb4bc4:0x16d,_0x14b7f0:0x158},_0x34c64a=_0x5a369;return this[_0x34c64a(_0xa49c69._0xcb4bc4)][_0x34c64a(_0xa49c69._0x14b7f0)]();}['callsFor'](_0x2ac3fe){const _0x1033e4={_0x50844c:0x16d},_0x2d8347=_0x5a369;return this[_0x2d8347(_0x1033e4._0x50844c)][_0x2d8347(0x158)]()['filter'](_0x46b0dd=>_0x46b0dd['method']===_0x2ac3fe);}};export{FakeWebDriver};
1
+ const _0x1594e8=_0x2299;(function(_0x261b99,_0x4775e7){const _0x5ebcf2={_0x35492c:0x81,_0x2a0251:0xc9,_0x501fe6:0xa8},_0x28e84b=_0x2299,_0xdd0d1a=_0x261b99();while(!![]){try{const _0x5d4289=-parseInt(_0x28e84b(0xc5))/0x1+parseInt(_0x28e84b(_0x5ebcf2._0x35492c))/0x2+parseInt(_0x28e84b(0x95))/0x3*(-parseInt(_0x28e84b(0x6f))/0x4)+-parseInt(_0x28e84b(_0x5ebcf2._0x2a0251))/0x5+-parseInt(_0x28e84b(_0x5ebcf2._0x501fe6))/0x6+-parseInt(_0x28e84b(0xc1))/0x7+-parseInt(_0x28e84b(0xc8))/0x8*(-parseInt(_0x28e84b(0x8c))/0x9);if(_0x5d4289===_0x4775e7)break;else _0xdd0d1a['push'](_0xdd0d1a['shift']());}catch(_0xbf8dd0){_0xdd0d1a['push'](_0xdd0d1a['shift']());}}}(_0x22c7,0x83ac1));var __defProp=Object['defineProperty'],__name=(_0xa3f720,_0x29dda9)=>__defProp(_0xa3f720,_0x1594e8(0xca),{'value':_0x29dda9,'configurable':!![]});function subscribe(_0x3557f9,_0x42808e){const _0x335497={_0x25d005:0x89},_0x419ee8={_0x12a5e6:0x7b},_0x3b73bc=_0x1594e8;return _0x3557f9[_0x3b73bc(_0x335497._0x25d005)](_0x42808e),()=>{const _0x300771=_0x3b73bc;_0x3557f9[_0x300771(_0x419ee8._0x12a5e6)](_0x42808e);};}__name(subscribe,_0x1594e8(0x71));function _0x22c7(){const _0x26e458=['otqYmtmXBfPbB3vt','AxneAxnHyMXLzej5rgvMyxvSDa','yxr0ywnOrxHPC3rPBMC','mJq4qKL6twrQ','ndi3mJC0mefitg1qyG','BMfTzq','C2v0q29VA2LL','AxneAxnHyMXLza','CgfNzsbPBMrLEcbVDxqGB2yGCMfUz2u','BMv3q29UDgv4Da','y2fSBhm','BgvUz3rO','zxHPDezYyw1LignHBgXLzcb3AxrOig5VigzYyw1Lig9UihrOzsbZDgfJAW','y29VA2LLCW','Dgv4DenVBNrLBNrcEurLzMf1Bhq','Bwf5yMvuAhjVDW','BM8Gywn0AxzLihbHz2uGAw4Gy29UDgv4Da','C2nVCgu','C2v0tg9JywXtDg9YywDL','zg91yMXLq2XPy2S','C3bSAwnL','y2HLy2TLzfn0yxrL','zMfRzs1WBMC','ChvZAa','y2HLy2TLzfn0yxrLqNLezwzHDwX0','CMvJB3jKzxi','iJ48l2rPDJ4','AxnwAxnPyMXL','zw50zxjgCMfTzq','zxzHBhvHDgu','A2LUza','D3nfBMrWB2LUDa','lNbHz2u','CMvM','Dw5JAgvJAW','BMv3q29UDgv4DcbJywXSzwqGyMvMB3jLigXHDw5JAcGP','y2HLy2S','nZeXmtz5AeXXExO','y29VA2LLu3rHDgu','C3vIC2nYAwjL','C3rLChm','D2fPDezVCLvYBa','pgrPDIbKyxrHlxvUB3rLC3qTCMvMpsi','zNjVBq','y291BNq','Cg9W','zxjYB3jpBK5LEhrby3rPB24','CgfNzxm','Bg9JywXtDg9YywDL','zgvSzxrL','zhjHz0fUzerYB3a','y2XVC2u','D2fPDezVCKXVywrtDgf0zq','zMfRzsb0AxrSzq','BMv0D29YA0vUDhjPzxm','mta5ndG0mNLYve9uvq','z2v0q29VA2LL','C2nYzwvUC2HVDa','rMfRzunVBNrLEhq','D2fPDezVCG','C2v0qwn0AxzLugfNzq','B25ozxDqywDL','zxHPDezYyw1L','ywrK','zxzHBhvHDgvpBKXVy2f0B3i','BMv3ugfNzuXPC3rLBMvYCW','ody1ndeZzxnyrfjl','yxr0ywnOrxHPC3rPBMCGBM90ihn1ChbVCNrLzcbIEsbgywTLv2vIrhjPDMvY','lNbHz2uW','Dgv4DenVBNrLBNq','zwXLBwvUDeHPBNrcEvjLzG','yxr0CMLIDxrLC0j5rgvMyxvSDa','y2fSBhngB3i','AxnwAxnPyMXLqNLezwzHDwX0','zMLSDgvY','mte3Be9nAKvn','ywn0AxzLswr4','y29UDgv4Dhm','DgL0Bgu','D2fPDezVCLrLEhq','Aw5WDxrwywX1zq','Bwv0Ag9K','y2XPy2S','rhjPDMvYrxjYB3i','z29cywnR','CMvJB3jK','pgrPDJ48l2rPDJ4','B25bzNrLCKnSAwnR','Bg9JywXtDg9YywDLu3rHDgu','ChjLC3m','y2XPCgjVyxjKugfZDgu','CgfNzuXPC3q','DxbSB2fKrMLSzq','zw1PDezHA2vqB3b1Ca','mJi4otu0mhvjr0fKwa','y29UBMvJDfnOyxjLza','Aw5PDgLHBfvYBa','zNjHBwvezxb0Aa','CMvSB2fK','tg9JyxrVCKvYCM9Y','B3v0zxjive1m','yMvOyxzPB3i','y29UC29SzuvUDhjPzxm','C2f2zvn0B3jHz2vtDgf0zq','C2nYB2XSsw50B1zPzxC','y3r4','Aw5UzxjuzxH0qNLezwzHDwX0','y29UBMvJDfnOyxjLzcbUB3qGC3vWCg9YDgvKigj5iezHA2vxzwjeCML2zxi','D2fPDezVCK5HDMLNyxrPB24','zMLSBa','y3vYCMvUDfvYBa','Bgf1BMnO','C2vSzwn0t3b0Aw9U','Cg9WDxbpBKnSAwnR','z2v0qxr0CMLIDxrL','zhjPDMvY','Aw5UzxjuzxH0','zNjHBwvtDgfJAW','z2v0tg9JywXtDg9YywDL','odiXmtyZBKXWEg9K','Aw5ZCgvJDevSzw1LBNq','rMfRzvDLyKrYAxzLCG','Bgf1BMnOzwq'];_0x22c7=function(){return _0x26e458;};return _0x22c7();}import{UnotestError}from'@unotest/core';var DriverError=class extends UnotestError{static{__name(this,_0x1594e8(0x9d));}},LocatorError=class extends UnotestError{static{__name(this,_0x1594e8(0xad));}};function createRecorder(){const _0x3f0000={_0x40e2cd:0xdc,_0x3fb5c8:0xcf},_0x3131f9=_0x1594e8,_0x927fd5=[];let _0x247acc=0x0;return{'push':__name(_0xae7156=>_0x927fd5['push']({..._0xae7156,'seq':_0x247acc++}),_0x3131f9(_0x3f0000._0x40e2cd)),'calls':__name(()=>_0x927fd5,_0x3131f9(_0x3f0000._0x3fb5c8))};}function _0x2299(_0x308467,_0x227cf4){_0x308467=_0x308467-0x6c;const _0x22c7ee=_0x22c7();let _0x229981=_0x22c7ee[_0x308467];if(_0x2299['dzlKDD']===undefined){var _0x44673e=function(_0x5883e0){const _0x3ebe64='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xa3f720='',_0x29dda9='';for(let _0x3557f9=0x0,_0x42808e,_0x927fd5,_0x247acc=0x0;_0x927fd5=_0x5883e0['charAt'](_0x247acc++);~_0x927fd5&&(_0x42808e=_0x3557f9%0x4?_0x42808e*0x40+_0x927fd5:_0x927fd5,_0x3557f9++%0x4)?_0xa3f720+=String['fromCharCode'](0xff&_0x42808e>>(-0x2*_0x3557f9&0x6)):0x0){_0x927fd5=_0x3ebe64['indexOf'](_0x927fd5);}for(let _0xae7156=0x0,_0xe701b6=_0xa3f720['length'];_0xae7156<_0xe701b6;_0xae7156++){_0x29dda9+='%'+('00'+_0xa3f720['charCodeAt'](_0xae7156)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x29dda9);};_0x2299['JGpHZV']=_0x44673e,_0x2299['anbVxy']={},_0x2299['dzlKDD']=!![];}const _0x3aa1f3=_0x22c7ee[0x0],_0x411f54=_0x308467+_0x3aa1f3,_0x46f432=_0x2299['anbVxy'][_0x411f54];return!_0x46f432?(_0x229981=_0x2299['JGpHZV'](_0x229981),_0x2299['anbVxy'][_0x411f54]=_0x229981):_0x229981=_0x46f432,_0x229981;}__name(createRecorder,'createRecorder');var FakePage=class{constructor(_0xe701b6,_0x2f74bd,_0x41f3c4,_0x632dd){const _0xa794c7={_0x276abe:0xb8},_0x4b77ac=_0x1594e8;this[_0x4b77ac(0xde)]=_0xe701b6,this[_0x4b77ac(0xaf)]=_0x2f74bd,this[_0x4b77ac(0xd6)]=_0x41f3c4,this[_0x4b77ac(_0xa794c7._0x276abe)]=_0x632dd;}[_0x1594e8(0xde)];[_0x1594e8(0xaf)];[_0x1594e8(0xd6)];static{__name(this,'FakePage');}['currentUrl'];['onAfterClick'];['record'](_0x33ba35,_0x4a53d1){this['recorder']['push']({'scope':this['scope'],'method':_0x33ba35,'args':_0x4a53d1});}[_0x1594e8(0xd4)](){const _0x4e3ab2={_0x13f079:0xaf,_0x344c6c:0x78},_0x5c11c5=_0x1594e8;if(this['behavior']['errorOnNextAction']){const _0x3b710b=this[_0x5c11c5(0xaf)]['errorOnNextAction'];this[_0x5c11c5(_0x4e3ab2._0x13f079)][_0x5c11c5(_0x4e3ab2._0x344c6c)]=void 0x0;throw _0x3b710b;}}['url'](){return this['currentUrl'];}async[_0x1594e8(0x98)](){const _0x4afe76={_0x3623ca:0x9f,_0x312141:0x98},_0x52bd2a=_0x1594e8;return this[_0x52bd2a(_0x4afe76._0x3623ca)](_0x52bd2a(_0x4afe76._0x312141),[]),_0x52bd2a(0x7f);}async[_0x1594e8(0x9c)](_0x182a93,_0x15f164){const _0xbbd6e0={_0x46eafe:0x9f,_0x5c5837:0xd4},_0x129a89=_0x1594e8;this[_0x129a89(_0xbbd6e0._0x46eafe)](_0x129a89(0x9c),[_0x182a93,_0x15f164]),this[_0x129a89(_0xbbd6e0._0x5c5837)](),this['onAfterClick']?.();}async[_0x1594e8(0xd8)](_0x29a43e,_0x19bb2e){const _0x382b70={_0x3a03bf:0x9f,_0x158873:0xd8,_0x2d4a88:0xd4},_0x536ac3=_0x1594e8;this[_0x536ac3(_0x382b70._0x3a03bf)](_0x536ac3(_0x382b70._0x158873),[_0x29a43e,_0x19bb2e]),this[_0x536ac3(_0x382b70._0x2d4a88)]();}async[_0x1594e8(0xb7)](_0x10d03a,_0x49f6bc,_0x28e20b){const _0x34607f={_0x4f27f3:0x9f},_0x13c509=_0x1594e8;this[_0x13c509(_0x34607f._0x4f27f3)](_0x13c509(0xb7),[_0x10d03a,_0x49f6bc,_0x28e20b]),this[_0x13c509(0xd4)]();}async[_0x1594e8(0xa3)](_0x2fd525,_0x5300e1,_0x3ae113){const _0x4d4461={_0x7cbd77:0x9f},_0x45af72=_0x1594e8;this[_0x45af72(_0x4d4461._0x7cbd77)]('press',[_0x2fd525,_0x5300e1,_0x3ae113]),this[_0x45af72(0xd4)]();}async[_0x1594e8(0x6e)](_0x3e59de,_0x2c53d2){const _0x58c1fc={_0x35251b:0x9f,_0x4334a4:0x6e},_0x336907=_0x1594e8;this[_0x336907(_0x58c1fc._0x35251b)](_0x336907(_0x58c1fc._0x4334a4),[_0x3e59de,_0x2c53d2]),this['maybeThrow']();}async[_0x1594e8(0x6c)](_0xfb3350,_0x264ff9){const _0xe087f3={_0x27e53d:0x9f,_0xa29a81:0xd4},_0x418f4d=_0x1594e8;this[_0x418f4d(_0xe087f3._0x27e53d)](_0x418f4d(0x6c),[_0xfb3350,_0x264ff9]),this[_0x418f4d(_0xe087f3._0xa29a81)]();}async[_0x1594e8(0xba)](_0x25964e,_0x54271b,_0xd49806){const _0x2b0e0d={_0x313487:0x9f,_0x3442bb:0xd4},_0x4cf973=_0x1594e8;this[_0x4cf973(_0x2b0e0d._0x313487)](_0x4cf973(0xba),[_0x25964e,_0x54271b,_0xd49806]),this[_0x4cf973(_0x2b0e0d._0x3442bb)]();}async['hover'](_0x1d4c53,_0x54bed7){const _0x140c69={_0x185926:0x9f},_0x46b81e=_0x1594e8;this[_0x46b81e(_0x140c69._0x185926)]('hover',[_0x1d4c53,_0x54bed7]),this['maybeThrow']();}async['scrollIntoView'](_0x2cca66){const _0x14caa3={_0x26e84b:0x9f,_0x3e476f:0xb2},_0x52d523=_0x1594e8;this[_0x52d523(_0x14caa3._0x26e84b)](_0x52d523(_0x14caa3._0x3e476f),[_0x2cca66]),this['maybeThrow']();}async[_0x1594e8(0x7c)](_0x4215cb,_0x548019,_0x30b369){this['record']('dragAndDrop',[_0x4215cb,_0x548019,_0x30b369]),this['maybeThrow']();}async[_0x1594e8(0xa6)](_0x1d7e52,_0x36a55b){const _0x29ee4a={_0x178a93:0x9f,_0xfd57c:0xa6},_0x59b9d8=_0x1594e8;this[_0x59b9d8(_0x29ee4a._0x178a93)](_0x59b9d8(_0x29ee4a._0xfd57c),[_0x1d7e52,_0x36a55b]),this[_0x59b9d8(0xd4)]();}async['clipboardPaste'](_0x44af92,_0x493164){const _0xa3551e={_0x416137:0xa4},_0xe038ba=_0x1594e8;this[_0xe038ba(0x9f)](_0xe038ba(_0xa3551e._0x416137),[_0x44af92,_0x493164]),this[_0xe038ba(0xd4)]();}async[_0x1594e8(0x76)](_0x17f4d6){const _0x59c773={_0x5f50bc:0xaf},_0x1605c3=_0x1594e8;return this[_0x1605c3(0x9f)](_0x1605c3(0x76),[_0x17f4d6]),this[_0x1605c3(_0x59c773._0x5f50bc)]['countByDefault']??0x1;}async['textContent'](_0x252cdc){const _0xc7f494={_0x298350:0xaf},_0x10fb0d=_0x1594e8;return this['record'](_0x10fb0d(0x8f),[_0x252cdc]),this[_0x10fb0d(_0xc7f494._0x298350)]['textContentByDefault']??'';}async[_0x1594e8(0xbe)](_0x2470d4){const _0x861804={_0x5e9e3a:0x9f,_0x2df937:0xbe},_0x224656=_0x1594e8;return this[_0x224656(_0x861804._0x5e9e3a)](_0x224656(_0x861804._0x2df937),[_0x2470d4]),this[_0x224656(0xaf)][_0x224656(0xb4)]??this[_0x224656(0xaf)][_0x224656(0xd3)]??'';}async[_0x1594e8(0x9a)](_0x592e5a){const _0x303d61=_0x1594e8;return this['record'](_0x303d61(0x9a),[_0x592e5a]),this['behavior']['inputValueByDefault']??'';}async[_0x1594e8(0xda)](_0x5050d3){const _0x10b0d1={_0x573d5d:0xda,_0xc6471c:0xdd},_0x2be095=_0x1594e8;return this[_0x2be095(0x9f)](_0x2be095(_0x10b0d1._0x573d5d),[_0x5050d3]),this[_0x2be095(0xaf)][_0x2be095(_0x10b0d1._0xc6471c)]??null;}async[_0x1594e8(0xe0)](_0x2212e0){const _0x1f6dd7={_0x481ad4:0x9f},_0x3facf1=_0x1594e8;return this[_0x3facf1(_0x1f6dd7._0x481ad4)]('isVisible',[_0x2212e0]),this['behavior'][_0x3facf1(0x93)]??!![];}async[_0x1594e8(0xcc)](_0xc0d4c3){const _0x328102={_0x5b43df:0x9f,_0x230358:0xaf,_0x4d16d2:0xc6},_0xe2cdd1=_0x1594e8;return this[_0xe2cdd1(_0x328102._0x5b43df)]('isDisabled',[_0xc0d4c3]),this[_0xe2cdd1(_0x328102._0x230358)][_0xe2cdd1(_0x328102._0x4d16d2)]??![];}async[_0x1594e8(0xbc)](_0x3d6a4d,_0xecfb5d){const _0x59f3ce={_0xfd2c1:0x9f,_0x1377e9:0x91},_0x2cbe95=_0x1594e8;return this[_0x2cbe95(_0x59f3ce._0xfd2c1)](_0x2cbe95(0xbc),[_0x3d6a4d,_0xecfb5d]),this[_0x2cbe95(0xaf)][_0x2cbe95(_0x59f3ce._0x1377e9)]?.[_0xecfb5d]??null;}async[_0x1594e8(0x85)](_0x3986a9,_0x2643d5){const _0x20cadd=_0x1594e8;this['record'](_0x20cadd(0x85),[_0x3986a9,_0x2643d5]);}async[_0x1594e8(0x73)](_0x395c24,_0x20c4e9){const _0x41a37c={_0x31b739:0x73},_0x4c4acc=_0x1594e8;this[_0x4c4acc(0x9f)](_0x4c4acc(_0x41a37c._0x31b739),[_0x395c24,_0x20c4e9]);}async['waitForText'](_0x712661,_0x21d911){const _0x290995={_0x2d7f00:0x99},_0x1d078c=_0x1594e8;this['record'](_0x1d078c(_0x290995._0x2d7f00),[_0x712661,_0x21d911]);}async['waitForNavigation'](_0x32df92){const _0x2636b3=_0x1594e8;this['record'](_0x2636b3(0xb6),[_0x32df92]);}async['waitForLoadState'](_0x2da8c5,_0x2df635){const _0x462e84={_0x26d615:0x9f},_0x2b9412=_0x1594e8;this[_0x2b9412(_0x462e84._0x26d615)](_0x2b9412(0x7e),[_0x2da8c5,_0x2df635]);}async['goto'](_0x5f1933,_0x4c6be3){const _0x353156={_0x5b321d:0xb8},_0x2dce4d=_0x1594e8;this['record']('goto',[_0x5f1933,_0x4c6be3]),this[_0x2dce4d(_0x353156._0x5b321d)]=_0x5f1933;}async[_0x1594e8(0xac)](_0x981a36){const _0x4fdf1b={_0x319605:0x9f},_0x3132e8=_0x1594e8;this[_0x3132e8(_0x4fdf1b._0x319605)](_0x3132e8(0xac),[_0x981a36]);}async[_0x1594e8(0x9e)](_0x4be559){const _0x39d5af={_0x2fc3a8:0x9f},_0x129c90=_0x1594e8;this[_0x129c90(_0x39d5af._0x2fc3a8)](_0x129c90(0x9e),[_0x4be559]);}async['goForward'](_0x16f81c){this['record']('goForward',[_0x16f81c]);}async[_0x1594e8(0xe2)](_0x11e82d){const _0x423a6b={_0x159b2a:0x9f,_0x4ec5b4:0xe2},_0x3b02e4=_0x1594e8;return this[_0x3b02e4(_0x423a6b._0x159b2a)](_0x3b02e4(_0x423a6b._0x4ec5b4),[_0x11e82d]),void 0x0;}async[_0x1594e8(0x8a)](_0x4ceff0,_0x18380f){const _0xb9bad0=_0x1594e8;return this[_0xb9bad0(0x9f)](_0xb9bad0(0x8a),[_0x4ceff0,_0x18380f]),void 0x0;}async[_0x1594e8(0xc2)](_0x1e1369){const _0x4adb31={_0x4ca97c:0xd0,_0x7f3b23:0xe3,_0x3d83f3:0xe6,_0x5db160:0x72},_0x421946=_0x1594e8;this['record']('inspectElement',[_0x1e1369]);if(_0x1e1369['steps'][_0x421946(_0x4adb31._0x4ca97c)]!==0x1||_0x1e1369[_0x421946(0x72)][0x0][_0x421946(_0x4adb31._0x7f3b23)]!==_0x421946(_0x4adb31._0x3d83f3))return null;const _0x5635de=_0x1e1369[_0x421946(_0x4adb31._0x5db160)][0x0][_0x421946(_0x4adb31._0x3d83f3)],_0x5cf3a3=this[_0x421946(0xaf)][_0x421946(0x90)]?.[_0x5635de];return _0x5cf3a3??null;}async[_0x1594e8(0x83)](_0x47c742){const _0x403101={_0x4bcfef:0x9f,_0x2629dd:0x83,_0x54141e:0x75,_0x13a96d:0xdb},_0x1520c8=_0x1594e8;return this[_0x1520c8(_0x403101._0x4bcfef)](_0x1520c8(_0x403101._0x2629dd),[_0x47c742]),Buffer[_0x1520c8(_0x403101._0x54141e)](_0x1520c8(_0x403101._0x13a96d));}async[_0x1594e8(0xae)](_0x223516){const _0x161474={_0x1ef539:0xae,_0xe9f8ad:0xe3,_0x47a01e:0xe6,_0x547959:0xaf,_0x4bf8ec:0x74,_0x3875c9:0xdf},_0x17d6a1=_0x1594e8;this[_0x17d6a1(0x9f)](_0x17d6a1(_0x161474._0x1ef539),[_0x223516]);if(_0x223516[_0x17d6a1(0x72)][_0x17d6a1(0xd0)]===0x1&&_0x223516['steps'][0x0][_0x17d6a1(_0x161474._0xe9f8ad)]===_0x17d6a1(_0x161474._0x47a01e)){const _0x495af9=_0x223516['steps'][0x0][_0x17d6a1(0xe6)];return this[_0x17d6a1(_0x161474._0x547959)]['outerHtmlByRef']?.[_0x495af9]??_0x17d6a1(_0x161474._0x4bf8ec)+_0x495af9+_0x17d6a1(_0x161474._0x3875c9);}return _0x17d6a1(0xa0);}},FakeContext=class{constructor(_0xf09001,_0x36e82d,_0x58d9a2){const _0x39055f={_0x34cee9:0xd6,_0x1dc039:0x8e,_0xf9bf0b:0xbb,_0x11b189:0xd2},_0x4cd90b={_0x4cbbe5:0xbb},_0x45febb=_0x1594e8;this[_0x45febb(0xde)]=_0xf09001,this[_0x45febb(0xaf)]=_0x36e82d,this[_0x45febb(_0x39055f._0x34cee9)]=_0x58d9a2;const _0xd4020d=new FakePage(_0xf09001,_0x36e82d,_0x58d9a2+_0x45febb(_0x39055f._0x1dc039),_0x36e82d[_0x45febb(0xaa)]??'about:blank');_0x36e82d[_0x45febb(_0x39055f._0xf9bf0b)]&&(_0xd4020d[_0x45febb(0xa1)]=()=>{const _0x3fd1c3=_0x45febb;this[_0x3fd1c3(0xa7)](_0x36e82d[_0x3fd1c3(_0x4cd90b._0x4cbbe5)]);}),this['pageList']=[_0xd4020d],this['localStorageState']={..._0x36e82d[_0x45febb(0x7a)]??{}},this[_0x45febb(0x70)]={..._0x36e82d[_0x45febb(_0x39055f._0x11b189)]??{}};}['recorder'];[_0x1594e8(0xaf)];[_0x1594e8(0xd6)];static{__name(this,_0x1594e8(0x84));}['pageList'];['activeIdx']=0x0;[_0x1594e8(0xbf)]=[];[_0x1594e8(0xa2)];[_0x1594e8(0x70)];[_0x1594e8(0x8b)]=new Set();[_0x1594e8(0x9f)](_0x5b0a78,_0x48ec85){const _0x2d0819={_0x3ad1ba:0xde,_0x4c9679:0xdc,_0x91e4fd:0xd6},_0x1ce8d2=_0x1594e8;this[_0x1ce8d2(_0x2d0819._0x3ad1ba)][_0x1ce8d2(_0x2d0819._0x4c9679)]({'scope':this[_0x1ce8d2(_0x2d0819._0x91e4fd)],'method':_0x5b0a78,'args':_0x48ec85});}[_0x1594e8(0x79)](){return this['pageList'];}['activePage'](){const _0x3284d2={_0x359627:0xd5},_0x466f96=_0x1594e8,_0x4f6031=this['pageList'][this[_0x466f96(0x96)]];if(!_0x4f6031)throw new DriverError(_0x466f96(_0x3284d2._0x359627),{'activeIdx':this[_0x466f96(0x96)]});return _0x4f6031;}[_0x1594e8(0xb0)](){const _0x324a7f=_0x1594e8;return this[_0x324a7f(0xaf)][_0x324a7f(0xb0)]??[];}[_0x1594e8(0x80)](){const _0x26725a=_0x1594e8;return this[_0x26725a(0xaf)]['networkEntries']??[];}async[_0x1594e8(0x86)](_0x4a6e9f){const _0x1497ab={_0x339d61:0x96},_0x970824=_0x1594e8;this['record'](_0x970824(0x86),[_0x4a6e9f]);if(_0x4a6e9f<0x0||_0x4a6e9f>=this[_0x970824(0xa5)][_0x970824(0xd0)])throw new DriverError(_0x970824(0xcd),{'index':_0x4a6e9f,'available':this[_0x970824(0xa5)]['length']});this[_0x970824(_0x1497ab._0x339d61)]=_0x4a6e9f,this['frameStack'][_0x970824(0xd0)]=0x0;}[_0x1594e8(0x87)](_0x38c820){return subscribe(this['newPageListeners'],_0x38c820);}[_0x1594e8(0xa7)](_0x11905a){const _0x579ff0={_0x2fe257:0xe5,_0x3ccbf4:0xd0,_0x52b565:0xde,_0x13c99c:0xdc,_0x11871a:0xd0},_0x4ee599=_0x1594e8,_0x2bfbe2=this[_0x4ee599(0xd6)]+_0x4ee599(_0x579ff0._0x2fe257)+this[_0x4ee599(0xa5)][_0x4ee599(_0x579ff0._0x3ccbf4)],_0x5439f7=new FakePage(this[_0x4ee599(_0x579ff0._0x52b565)],this[_0x4ee599(0xaf)],_0x2bfbe2,_0x11905a);this[_0x4ee599(0xa5)][_0x4ee599(_0x579ff0._0x13c99c)](_0x5439f7);const _0x4675c5=this['pageList'][_0x4ee599(_0x579ff0._0x11871a)]-0x1;for(const _0x42e5bf of this[_0x4ee599(0x8b)]){try{_0x42e5bf({'index':_0x4675c5,'url':_0x11905a});}catch{}}return _0x4675c5;}['closeFakePage'](_0x197389){const _0x75daee={_0x3936b1:0xa5,_0x2fc1c2:0xd0,_0x47e5a3:0xa5,_0x1618a8:0xd9},_0x3a41a7=_0x1594e8;if(_0x197389<0x0||_0x197389>=this[_0x3a41a7(0xa5)][_0x3a41a7(0xd0)])throw new DriverError(_0x3a41a7(0xcd),{'index':_0x197389,'available':this[_0x3a41a7(_0x75daee._0x3936b1)][_0x3a41a7(_0x75daee._0x2fc1c2)]});this[_0x3a41a7(_0x75daee._0x47e5a3)][_0x3a41a7(_0x75daee._0x1618a8)](_0x197389,0x1);}async[_0x1594e8(0xe1)](_0x19bf7d){const _0x515368={_0x4c929c:0x9f,_0x3e1bcc:0xe1,_0x2dd4b6:0xd0},_0x451ed4=_0x1594e8;this[_0x451ed4(_0x515368._0x4c929c)](_0x451ed4(_0x515368._0x3e1bcc),[_0x19bf7d]);if(!_0x19bf7d['steps'][_0x451ed4(_0x515368._0x2dd4b6)])throw new LocatorError('enterFrame\x20called\x20with\x20empty\x20locator',{'locator':_0x19bf7d});this['frameStack']['push'](_0x19bf7d);}async[_0x1594e8(0x88)](){const _0x19e789={_0x4e3d09:0x9f,_0x304712:0xbf,_0x25f265:0xd1},_0x29145a=_0x1594e8;this[_0x29145a(_0x19e789._0x4e3d09)](_0x29145a(0x88),[]);if(this[_0x29145a(_0x19e789._0x304712)]['length']===0x0)throw new DriverError(_0x29145a(_0x19e789._0x25f265),{});this[_0x29145a(0xbf)][_0x29145a(0x77)]();}async['setLocalStorage'](_0x376d88,_0x39e1f8){const _0x17d20b={_0x5507ee:0x9f,_0x281177:0xa2},_0x874f1a=_0x1594e8;this[_0x874f1a(_0x17d20b._0x5507ee)](_0x874f1a(0xd7),[_0x376d88,_0x39e1f8]),this[_0x874f1a(_0x17d20b._0x281177)][_0x376d88]=_0x39e1f8;}async[_0x1594e8(0xc0)](_0x50bae0){const _0x1e66bd={_0x1a360e:0xa2},_0x12e470=_0x1594e8;return this[_0x12e470(0x9f)]('getLocalStorage',[_0x50bae0]),this[_0x12e470(_0x1e66bd._0x1a360e)][_0x50bae0]??null;}async[_0x1594e8(0xcb)](_0x4d10d7,_0x1bcf38,_0x42437e){const _0x1906cb={_0x36a054:0x9f,_0x32e7ef:0xcb},_0x22e714=_0x1594e8;this[_0x22e714(_0x1906cb._0x36a054)](_0x22e714(_0x1906cb._0x32e7ef),[_0x4d10d7,_0x1bcf38,_0x42437e]),this[_0x22e714(0x70)][_0x4d10d7]=_0x1bcf38;}async[_0x1594e8(0x82)](_0x13a556){const _0x5bcd2d={_0x63c25e:0x82},_0x2e4c31=_0x1594e8;return this[_0x2e4c31(0x9f)](_0x2e4c31(_0x5bcd2d._0x63c25e),[_0x13a556]),this[_0x2e4c31(0x70)][_0x13a556]??null;}async[_0x1594e8(0xb1)](_0x76a791){const _0xc3bfbf=_0x1594e8;this[_0xc3bfbf(0x9f)](_0xc3bfbf(0xb1),[_0x76a791]);}async[_0x1594e8(0xe2)](_0x58a0dc){const _0x1af225=_0x1594e8;return this[_0x1af225(0x9f)](_0x1af225(0xe2),[_0x58a0dc]),void 0x0;}async['close'](){const _0x3483f9=_0x1594e8;this[_0x3483f9(0x9f)](_0x3483f9(0x7d),[]);}[_0x1594e8(0xab)](){const _0x592821=_0x1594e8;return this[_0x592821(0xbf)][_0x592821(0xd0)];}},FakeWebDriver=class{constructor(_0x3142ab={}){this['behavior']=_0x3142ab,this['recorder']=createRecorder();}['behavior'];static{__name(this,_0x1594e8(0xc3));}[_0x1594e8(0xc4)]=![];[_0x1594e8(0xde)];[_0x1594e8(0x97)]=[];async[_0x1594e8(0xb9)](_0x370837){const _0x3529ef={_0x564512:0xdc,_0x38c31a:0xbd,_0x56aac7:0xc4},_0x3f7204=_0x1594e8;this[_0x3f7204(0xde)][_0x3f7204(_0x3529ef._0x564512)]({'scope':_0x3f7204(_0x3529ef._0x38c31a),'method':_0x3f7204(0xb9),'args':[_0x370837]}),this[_0x3f7204(_0x3529ef._0x56aac7)]=!![];}async['newContext'](_0x542dd8){const _0x425c50={_0x41fd73:0xdc,_0x19784b:0xc4,_0x22265a:0x97},_0x52634a=_0x1594e8;this[_0x52634a(0xde)][_0x52634a(_0x425c50._0x41fd73)]({'scope':_0x52634a(0xbd),'method':_0x52634a(0xce),'args':[_0x542dd8]});if(!this[_0x52634a(_0x425c50._0x19784b)])throw new DriverError(_0x52634a(0x6d),{});const _0x414643=new FakeContext(this[_0x52634a(0xde)],this['behavior'],_0x52634a(0xb3)+this[_0x52634a(_0x425c50._0x22265a)]['length']);return this[_0x52634a(_0x425c50._0x22265a)][_0x52634a(_0x425c50._0x41fd73)](_0x414643),_0x414643;}async[_0x1594e8(0x7d)](){const _0x37df3f={_0x4606f6:0xde,_0x1bca71:0xdc,_0x300271:0x7d},_0x160540=_0x1594e8;this[_0x160540(_0x37df3f._0x4606f6)][_0x160540(_0x37df3f._0x1bca71)]({'scope':'driver','method':_0x160540(_0x37df3f._0x300271),'args':[]}),this['launched']=![];}[_0x1594e8(0xe4)](){return void 0x0;}async[_0x1594e8(0xa9)](){const _0x3a950f=_0x1594e8;throw new DriverError(_0x3a950f(0xb5),{});}[_0x1594e8(0xc7)](_0x3d0556){const _0x537ddb={_0x963da0:0x8d},_0x558d30=_0x1594e8;throw new DriverError(_0x558d30(_0x537ddb._0x963da0),{});}[_0x1594e8(0xcf)](){const _0x46dffe={_0x4be73c:0xde,_0x47e8e9:0xcf},_0x16f540=_0x1594e8;return this[_0x16f540(_0x46dffe._0x4be73c)][_0x16f540(_0x46dffe._0x47e8e9)]();}[_0x1594e8(0x92)](_0x3ce757){const _0xff05b0=_0x1594e8;return this['recorder']['calls']()[_0xff05b0(0x94)](_0x18507b=>_0x18507b[_0xff05b0(0x9b)]===_0x3ce757);}};export{FakeWebDriver};
@@ -1,5 +1,5 @@
1
- import { i as LocatorValue, W as WebDriver, D as DriverContext, d as DriverPage } from '../interfaces-SzdtOj1F.js';
2
- export { j as LocatorStep, k as appendStep, l as describeLocator, m as isLocatorValue, r as rootedAt } from '../interfaces-SzdtOj1F.js';
1
+ import { j as LocatorValue, W as WebDriver, D as DriverContext, e as DriverPage } from '../interfaces-BluheUKs.js';
2
+ export { k as LocatorStep, l as appendStep, m as describeLocator, n as isLocatorValue, r as rootedAt } from '../interfaces-BluheUKs.js';
3
3
  import { Matcher, RegexLiteral, JudgeRequest, JudgeVerdict } 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';