@astur-mobile/core 0.5.0-beta.5 → 0.6.0-beta

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.
@@ -0,0 +1,97 @@
1
+ import type { BrowserCapabilities, BrowserEngine, PlatformName, WebViewSelector } from '@astur-mobile/protocol';
2
+ import { WebContext, type WebEvaluator } from './webBridge.js';
3
+ /**
4
+ * Driving a browser as the target of a session, rather than an installed app.
5
+ *
6
+ * The DOM half of this is already solved: once a page is inspectable, the same
7
+ * injected-JS bridge that drives an in-app WebView drives a browser tab
8
+ * unchanged. What a browser adds is the target — launching it, finding the page
9
+ * it opened, and expressing navigation, which an in-app WebView never needed.
10
+ *
11
+ * Navigation deliberately re-resolves the page rather than reusing the open
12
+ * transport. Chromium keeps one target across a same-tab navigation and WebKit
13
+ * does not always, so holding the old handle works on Android and intermittently
14
+ * fails on iOS — which is the worst of both. Re-resolving costs a round trip and
15
+ * behaves the same everywhere.
16
+ */
17
+ /** The stock browser for a platform, when the config does not name one. */
18
+ export declare function defaultBrowserEngine(platform: PlatformName): BrowserEngine;
19
+ /** The package/bundle id Astur launches for an engine, absent an override. */
20
+ export declare function defaultBrowserId(engine: BrowserEngine): string;
21
+ export declare function browserUnsupported(platform: PlatformName, reason: string): BrowserCapabilities;
22
+ /** How long to keep looking for the page a freshly launched browser opened. */
23
+ export declare const DEFAULT_PAGE_TIMEOUT_MS = 20000;
24
+ /**
25
+ * How long to look for an already-open tab before launching the browser.
26
+ *
27
+ * Short on purpose: when the browser is not running this is dead time on every
28
+ * `open()`, and when it is running a tab answers almost immediately.
29
+ */
30
+ export declare const REUSE_PROBE_MS = 2500;
31
+ export interface BrowserPageOptions {
32
+ /** Where the page should end up. Used to pick the right tab, not to navigate. */
33
+ url?: string;
34
+ timeoutMs?: number;
35
+ }
36
+ type EvaluatorFactory = (selector?: WebViewSelector) => Promise<WebEvaluator>;
37
+ /**
38
+ * Waits for an inspectable page and returns a context on it.
39
+ *
40
+ * A browser takes a moment to publish its debugging target after launch, and on
41
+ * a cold start rather longer than an already-running app's WebView — so this
42
+ * polls rather than asking once. The URL narrows *which tab*, and is matched on
43
+ * origin + path so a redirect, an added query string, or a trailing slash does
44
+ * not lose the page we just opened.
45
+ */
46
+ export declare function connectBrowserPage(createEvaluator: EvaluatorFactory, options?: BrowserPageOptions): Promise<WebContext>;
47
+ export declare function pageMatcher(url: string): RegExp;
48
+ /**
49
+ * Runs a navigation and waits for the page to settle.
50
+ *
51
+ * The evaluate is expected to fail sometimes and that is not an error: the
52
+ * expression tears down the very JS context that would return its result, so a
53
+ * transport reporting "context destroyed" means the navigation started, not
54
+ * that it failed.
55
+ */
56
+ export declare function runNavigation(page: WebContext, expression: string): Promise<void>;
57
+ /** Polls until the document has finished loading, or the budget runs out. */
58
+ export declare function waitForLoad(page: WebContext, timeoutMs: number): Promise<void>;
59
+ /**
60
+ * A session configured to drive a browser and nothing else.
61
+ *
62
+ * The distinction matters because such a session has no app to install and no
63
+ * native tree worth bootstrapping an agent for. A config that sets *both* is a
64
+ * suite doing each in turn, and keeps the full native setup.
65
+ */
66
+ export declare function isBrowserOnlySession(capabilities: {
67
+ app?: unknown;
68
+ browser?: unknown;
69
+ }): boolean;
70
+ /** The attached page's current URL, or undefined when the transport is gone. */
71
+ export declare function currentUrl(page: WebContext): Promise<string | undefined>;
72
+ export interface SettleOptions {
73
+ /** Token planted before navigating; its absence proves the document changed. */
74
+ token?: string;
75
+ /** Wait until the URL matches this. */
76
+ expectUrl?: string;
77
+ }
78
+ /**
79
+ * Plants a token on the current document.
80
+ *
81
+ * Comparing URLs cannot tell a finished reload from one that has not started —
82
+ * the URL is identical either way, so a settle keyed on it returns immediately
83
+ * and hands back the *old* page. A token lives on `window`, so it disappears
84
+ * exactly when the document is replaced, which is the thing being waited for.
85
+ */
86
+ export declare function markNavigation(page: WebContext): Promise<string>;
87
+ /**
88
+ * Waits for a navigation on the *same* tab to finish.
89
+ *
90
+ * Returns false rather than throwing when the page never settles, so the caller
91
+ * can fall back to re-resolving instead of failing the test outright — WebKit
92
+ * does sometimes replace the inspector page across a navigation, where Chromium
93
+ * keeps it.
94
+ */
95
+ export declare function settlePage(page: WebContext, timeoutMs: number, options?: SettleOptions): Promise<boolean>;
96
+ export {};
97
+ //# sourceMappingURL=browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAIhH,OAAO,EAAE,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE/D;;;;;;;;;;;;;GAaG;AAEH,2EAA2E;AAC3E,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,GAAG,aAAa,CAE1E;AAED,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAE9D;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAK9F;AAED,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAE9C;;;;;GAKG;AACH,eAAO,MAAM,cAAc,OAAQ,CAAC;AAEpC,MAAM,WAAW,kBAAkB;IACjC,iFAAiF;IACjF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,KAAK,gBAAgB,GAAG,CAAC,QAAQ,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;AAE9E;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,eAAe,EAAE,gBAAgB,EACjC,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,UAAU,CAAC,CAoCrB;AAkCD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAU/C;AAoBD;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvF;AAED,6EAA6E;AAC7E,wBAAsB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUpF;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAEhG;AAED,gFAAgF;AAChF,wBAAsB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAG9E;AAED,MAAM,WAAW,aAAa;IAC5B,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAItE;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,OAAO,CAAC,CAgClB"}
@@ -0,0 +1,233 @@
1
+ import { AsturError } from './errors.js';
2
+ import { delay } from './wait.js';
3
+ import { WebContext } from './webBridge.js';
4
+ /**
5
+ * Driving a browser as the target of a session, rather than an installed app.
6
+ *
7
+ * The DOM half of this is already solved: once a page is inspectable, the same
8
+ * injected-JS bridge that drives an in-app WebView drives a browser tab
9
+ * unchanged. What a browser adds is the target — launching it, finding the page
10
+ * it opened, and expressing navigation, which an in-app WebView never needed.
11
+ *
12
+ * Navigation deliberately re-resolves the page rather than reusing the open
13
+ * transport. Chromium keeps one target across a same-tab navigation and WebKit
14
+ * does not always, so holding the old handle works on Android and intermittently
15
+ * fails on iOS — which is the worst of both. Re-resolving costs a round trip and
16
+ * behaves the same everywhere.
17
+ */
18
+ /** The stock browser for a platform, when the config does not name one. */
19
+ export function defaultBrowserEngine(platform) {
20
+ return platform === 'ios' ? 'safari' : 'chrome';
21
+ }
22
+ /** The package/bundle id Astur launches for an engine, absent an override. */
23
+ export function defaultBrowserId(engine) {
24
+ return engine === 'safari' ? 'com.apple.mobilesafari' : 'com.android.chrome';
25
+ }
26
+ export function browserUnsupported(platform, reason) {
27
+ return {
28
+ supported: false,
29
+ coverage: `${platform} cannot drive a browser in this session: ${reason}`
30
+ };
31
+ }
32
+ /** How long to keep looking for the page a freshly launched browser opened. */
33
+ export const DEFAULT_PAGE_TIMEOUT_MS = 20_000;
34
+ /**
35
+ * How long to look for an already-open tab before launching the browser.
36
+ *
37
+ * Short on purpose: when the browser is not running this is dead time on every
38
+ * `open()`, and when it is running a tab answers almost immediately.
39
+ */
40
+ export const REUSE_PROBE_MS = 2_500;
41
+ /**
42
+ * Waits for an inspectable page and returns a context on it.
43
+ *
44
+ * A browser takes a moment to publish its debugging target after launch, and on
45
+ * a cold start rather longer than an already-running app's WebView — so this
46
+ * polls rather than asking once. The URL narrows *which tab*, and is matched on
47
+ * origin + path so a redirect, an added query string, or a trailing slash does
48
+ * not lose the page we just opened.
49
+ */
50
+ export async function connectBrowserPage(createEvaluator, options = {}) {
51
+ const deadline = Date.now() + (options.timeoutMs ?? DEFAULT_PAGE_TIMEOUT_MS);
52
+ const selector = options.url
53
+ ? { url: pageMatcher(options.url), newest: true, target: 'browser' }
54
+ : { newest: true, target: 'browser' };
55
+ // Hold out for the addressed tab for the whole budget. Falling back to "any
56
+ // inspectable page" early looks harmless and is not: a browser keeps previous
57
+ // tabs open, so the fallback fires on the first tick — before the tab we just
58
+ // navigated is ready — and silently attaches to a stale page. The test then
59
+ // fails on a missing element rather than on the wrong page, which is a much
60
+ // worse thing to debug.
61
+ while (Date.now() < deadline) {
62
+ const attached = await tryAttach(createEvaluator, selector);
63
+ if (attached) {
64
+ return attached;
65
+ }
66
+ await delay(400);
67
+ }
68
+ // Only now, and only once: a redirect can legitimately land on a URL the
69
+ // matcher cannot predict, and the browser under test is still the right one.
70
+ if (selector) {
71
+ const attached = await tryAttach(createEvaluator, { newest: true, target: 'browser' });
72
+ if (attached) {
73
+ return attached;
74
+ }
75
+ }
76
+ throw new AsturError('BROWSER_PAGE_NOT_FOUND', `No inspectable browser page appeared${options.url ? ` for ${options.url}` : ''} within `
77
+ + `${options.timeoutMs ?? DEFAULT_PAGE_TIMEOUT_MS}ms. `
78
+ + 'Check that remote debugging is reachable: on Android the device needs USB debugging on, '
79
+ + 'and on a real iOS device Settings > Safari > Advanced > Web Inspector must be enabled.');
80
+ }
81
+ /**
82
+ * Matches a page by origin and path, ignoring query and fragment.
83
+ *
84
+ * Anything stricter loses the page to a redirect or an appended tracking
85
+ * parameter; anything looser matches an unrelated tab.
86
+ */
87
+ /**
88
+ * One attempt at an inspectable, *usable* page.
89
+ *
90
+ * Connecting is not the same as being usable: mid-navigation a browser hands
91
+ * out a target whose document is being torn down, and every locator against it
92
+ * reports "no element matched" — which reads like a broken selector rather than
93
+ * a page that was not ready. Probing the document separates the two.
94
+ */
95
+ async function tryAttach(createEvaluator, selector) {
96
+ let context;
97
+ try {
98
+ context = new WebContext(await createEvaluator(selector));
99
+ if (await context.evaluate('document.readyState').catch(() => undefined)) {
100
+ return context;
101
+ }
102
+ }
103
+ catch {
104
+ // Fall through: the caller keeps polling until its deadline.
105
+ }
106
+ await context?.close().catch(() => undefined);
107
+ return undefined;
108
+ }
109
+ export function pageMatcher(url) {
110
+ const parsed = tryParseHttpUrl(url);
111
+ if (!parsed) {
112
+ // Not an absolute http(s) URL — a bare `host:port`, or a fragment of one.
113
+ // Match it as a substring rather than anchoring on an origin we do not have.
114
+ return new RegExp(escapeRegExp(url));
115
+ }
116
+ const path = parsed.pathname.replace(/\/$/, '');
117
+ return new RegExp(`^${escapeRegExp(parsed.origin)}${escapeRegExp(path)}/?(?:[?#].*)?$`);
118
+ }
119
+ /**
120
+ * `new URL()` accepts far more than a web address — `localhost:4319` parses as
121
+ * scheme `localhost:` with a null origin, which would build a matcher that can
122
+ * never match. Only an http(s) URL gives an origin worth anchoring on.
123
+ */
124
+ function tryParseHttpUrl(url) {
125
+ try {
126
+ const parsed = new URL(url);
127
+ return parsed.protocol === 'http:' || parsed.protocol === 'https:' ? parsed : undefined;
128
+ }
129
+ catch {
130
+ return undefined;
131
+ }
132
+ }
133
+ function escapeRegExp(value) {
134
+ return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
135
+ }
136
+ /**
137
+ * Runs a navigation and waits for the page to settle.
138
+ *
139
+ * The evaluate is expected to fail sometimes and that is not an error: the
140
+ * expression tears down the very JS context that would return its result, so a
141
+ * transport reporting "context destroyed" means the navigation started, not
142
+ * that it failed.
143
+ */
144
+ export async function runNavigation(page, expression) {
145
+ await page.evaluate(expression).catch(() => undefined);
146
+ }
147
+ /** Polls until the document has finished loading, or the budget runs out. */
148
+ export async function waitForLoad(page, timeoutMs) {
149
+ const deadline = Date.now() + timeoutMs;
150
+ while (Date.now() < deadline) {
151
+ const state = await page.evaluate('document.readyState').catch(() => undefined);
152
+ if (state === 'complete') {
153
+ return;
154
+ }
155
+ await delay(150);
156
+ }
157
+ }
158
+ /**
159
+ * A session configured to drive a browser and nothing else.
160
+ *
161
+ * The distinction matters because such a session has no app to install and no
162
+ * native tree worth bootstrapping an agent for. A config that sets *both* is a
163
+ * suite doing each in turn, and keeps the full native setup.
164
+ */
165
+ export function isBrowserOnlySession(capabilities) {
166
+ return Boolean(capabilities.browser) && !capabilities.app;
167
+ }
168
+ /** The attached page's current URL, or undefined when the transport is gone. */
169
+ export async function currentUrl(page) {
170
+ const href = await page.evaluate('location.href').catch(() => undefined);
171
+ return typeof href === 'string' ? href : undefined;
172
+ }
173
+ /**
174
+ * Plants a token on the current document.
175
+ *
176
+ * Comparing URLs cannot tell a finished reload from one that has not started —
177
+ * the URL is identical either way, so a settle keyed on it returns immediately
178
+ * and hands back the *old* page. A token lives on `window`, so it disappears
179
+ * exactly when the document is replaced, which is the thing being waited for.
180
+ */
181
+ export async function markNavigation(page) {
182
+ const token = `astur-nav-${Date.now()}-${Math.random().toString(36).slice(2)}`;
183
+ await page.evaluate(`window.__asturNavToken = ${JSON.stringify(token)}`).catch(() => undefined);
184
+ return token;
185
+ }
186
+ /**
187
+ * Waits for a navigation on the *same* tab to finish.
188
+ *
189
+ * Returns false rather than throwing when the page never settles, so the caller
190
+ * can fall back to re-resolving instead of failing the test outright — WebKit
191
+ * does sometimes replace the inspector page across a navigation, where Chromium
192
+ * keeps it.
193
+ */
194
+ export async function settlePage(page, timeoutMs, options = {}) {
195
+ const deadline = Date.now() + timeoutMs;
196
+ const expected = options.expectUrl ? pageMatcher(options.expectUrl) : undefined;
197
+ let unreachable = 0;
198
+ while (Date.now() < deadline) {
199
+ const href = await currentUrl(page);
200
+ if (href === undefined) {
201
+ // WebKit replaces the inspector page across a navigation where Chromium
202
+ // keeps it, so on iOS this transport is simply gone. Waiting out the full
203
+ // budget on a dead socket turns a fast reconnect into a 20-second stall,
204
+ // so give up early and let the caller re-resolve.
205
+ if (++unreachable >= TRANSPORT_LOST_POLLS) {
206
+ return false;
207
+ }
208
+ }
209
+ else {
210
+ unreachable = 0;
211
+ const stillOldDocument = options.token !== undefined
212
+ && await page.evaluate('window.__asturNavToken').catch(() => undefined) === options.token;
213
+ if (!stillOldDocument
214
+ && (!expected || expected.test(href))
215
+ && await page.evaluate('document.readyState').catch(() => undefined) === 'complete') {
216
+ return true;
217
+ }
218
+ }
219
+ await delay(200);
220
+ }
221
+ return false;
222
+ }
223
+ /**
224
+ * Consecutive failed probes (~3s) before a transport counts as gone.
225
+ *
226
+ * Tuned between two real behaviours rather than picked round: Chromium drops the
227
+ * JS context only while a document is swapping, for well under a second, and
228
+ * bailing on that blip sends a healthy navigation down the re-resolve path where
229
+ * it can attach to a stale tab. WebKit's loss is permanent, so anything past a
230
+ * few seconds is not coming back.
231
+ */
232
+ const TRANSPORT_LOST_POLLS = 15;
233
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGV,WAAW,EAGX,sBAAsB,EAGvB,MAAM,wBAAwB,CAAC;AAGhC,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,sBAAsB,CAiBjF;AAED,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,sBAAsB,GACnC,OAAO,CAAC,sBAAsB,CAAC,CAmBjC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGV,WAAW,EAGX,sBAAsB,EAGvB,MAAM,wBAAwB,CAAC;AAGhC,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,sBAAsB,CAkBjF;AAED,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,sBAAsB,GACnC,OAAO,CAAC,sBAAsB,CAAC,CAmBjC"}
package/dist/config.js CHANGED
@@ -12,6 +12,7 @@ export function normalizeCapabilities(config) {
12
12
  platform: config.platform,
13
13
  device: config.device ?? {},
14
14
  app: normalizeApp(config.app),
15
+ ...(config.browser ? { browser: config.browser } : {}),
15
16
  timeout: config.timeout ?? 10_000,
16
17
  artifactsDir: config.artifactsDir ?? 'test-results/astur',
17
18
  artifacts: config.artifacts ?? {},
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,GAAG,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAWzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,qBAAqB,CAAC,MAAmB;IACvD,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACzF,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAEvD,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC;QAC7B,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,MAAM;QACjC,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,oBAAoB;QACzD,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;QACjC,QAAQ,EAAE;YACR,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,IAAI,MAAM;SAC5C;QACD,UAAU;QACV,KAAK;KACN,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,YAAoC;IAEpC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACpD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,IAAI,mBAAmB,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;IACnH,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAC/E,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,MAAM,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,OAAO;QACL,GAAG,YAAY;QACf,GAAG,EAAE;YACH,GAAG,YAAY,CAAC,GAAG;YACnB,IAAI;SACL;KACF,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,GAAuB;IAC3C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IACvB,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,mBAAmB,CAC1B,QAAsB,EACtB,UAA6C,EAC7C,KAAoC;IAEpC,MAAM,QAAQ,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,UAAU,EAAE,MAAM,IAAI,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC;IACvF,MAAM,gBAAgB,GAAG,UAAU,EAAE,gBAAgB,IAAI,KAAK,EAAE,cAAc,IAAI,QAAQ,CAAC,gBAAgB,CAAC;IAC5G,MAAM,gBAAgB,GAAG,UAAU,EAAE,gBAAgB,IAAI,KAAK,EAAE,aAAa,IAAI,QAAQ,CAAC,gBAAgB,CAAC;IAE3G,OAAO;QACL,MAAM;QACN,SAAS,EAAE,UAAU,EAAE,SAAS,IAAI,KAAK,EAAE,SAAS,IAAI,MAAM;QAC9D,cAAc,EAAE,UAAU,EAAE,cAAc,IAAI,KAAK,EAAE,cAAc,IAAI,qBAAqB,CAAC,MAAM,CAAC;QACpG,gBAAgB;QAChB,gBAAgB;QAChB,cAAc,EAAE,UAAU,EAAE,cAAc,IAAI,IAAI;QAClD,QAAQ,EAAE;YACR,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,IAAI,YAAY;YAChD,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,IAAI,GAAG;SACpD;QACD,OAAO,EAAE;YACP,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI;YAC7C,sBAAsB,EAAE,UAAU,EAAE,OAAO,EAAE,sBAAsB,IAAI,KAAK;SAC7E;KACF,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,QAAsB;IAI1D,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,OAAO;YACL,6EAA6E;YAC7E,mFAAmF;YACnF,+EAA+E;YAC/E,iFAAiF;YACjF,8BAA8B;YAC9B,MAAM,EAAE,OAAO;YACf,gBAAgB,EAAE,MAAM;YACxB,gBAAgB,EAAE,MAAM;SACzB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,OAAO;QACf,gBAAgB,EAAE,MAAM;QACxB,gBAAgB,EAAE,MAAM;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAAiD;IAEjD,OAAO,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC;AAC1D,CAAC;AAED,SAAS,cAAc,CACrB,KAAoC,EACpC,UAA2C;IAE3C,OAAO;QACL,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC;QACzD,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,IAAI;QAC/B,QAAQ,EAAE,KAAK,EAAE,QAAQ;QACzB,aAAa,EAAE,KAAK,EAAE,aAAa,IAAI,UAAU,CAAC,gBAAgB;QAClE,cAAc,EAAE,KAAK,EAAE,cAAc,IAAI,UAAU,CAAC,gBAAgB;QACpE,cAAc,EAAE,KAAK,EAAE,cAAc,IAAI,UAAU,CAAC,cAAc;QAClE,SAAS,EAAE,KAAK,EAAE,SAAS,IAAI,UAAU,CAAC,SAAS;KACpD,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAA2C;IACpE,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAiD;IAC1E,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,OAAO;YACV,OAAO,UAAU,CAAC;QACpB,KAAK,YAAY;YACf,OAAO,KAAK,CAAC;QACf,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW,EAAE,YAAoB;IAC5D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAClE,OAAO,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,GAAW,EAAE,IAAY;IAClD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAE5B,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAChE,MAAM,IAAI,UAAU,CAAC,mCAAmC,EAAE,0CAA0C,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzH,CAAC;IAED,MAAM,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,YAAY,CAAC,GAAW,EAAE,IAAY,EAAE,SAAS,GAAG,CAAC;IAC5D,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,6BAA6B,EAAE,wCAAwC,GAAG,GAAG,CAAC,CAAC,CAAC;IACvH,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;QAC1D,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE;YACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,IAAI,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;YAE3C,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC9C,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAClB,YAAY,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC3F,OAAO;YACT,CAAC;YAED,IAAI,MAAM,GAAG,GAAG,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;gBAClC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,UAAU,CAAC,qBAAqB,EAAE,eAAe,GAAG,qBAAqB,MAAM,GAAG,CAAC,CAAC,CAAC;gBAChG,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACrC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACrB,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACnB,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,CAAC,KAAK,CAAC,CAAC;wBACd,OAAO;oBACT,CAAC;oBAED,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACzB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC5B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBACzC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from '@astur-mobile/protocol';
2
2
  export * from './agent.js';
3
+ export * from './browser.js';
3
4
  export * from './cdpWebEvaluator.js';
4
5
  export * from './config.js';
5
6
  export * from './errors.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from '@astur-mobile/protocol';
2
2
  export * from './agent.js';
3
+ export * from './browser.js';
3
4
  export * from './cdpWebEvaluator.js';
4
5
  export * from './config.js';
5
6
  export * from './errors.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC"}
package/dist/session.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Coordinates, DeviceFileEntry, DeviceInfo, DeviceOrientation, DoctorCheck, DragGesture, DoubleTapOptions, ElementDragOptions, ElementDragTarget, ElementDoubleTapOptions, ElementFillOptions, ElementLongPressOptions, ElementSelector, ElementTapOptions, ElementWaitOptions, LaunchOptions, LongPressOptions, KeyboardState, MobileContextInfo, NetworkCapabilities, NetworkRedactionOptions, NetworkRequestFilter, NetworkRequestRecord, MobileElementSnapshot, MobileRole, NormalizedCapabilities, PlatformName, InspectorSession, LocatorSuggestion, RecordingStopOptions, RoleSelectorOptions, ScreenshotOptions, SwipeGesture, TapOptions, UiTreeSubscribeOptions, UiTreeUpdate, AsturConfig, AppResetOptions, AppUnderTest, Bounds, WebViewEndpoint, WebViewSelector } from '@astur-mobile/protocol';
1
+ import type { BrowserCapabilities, Coordinates, DeviceFileEntry, DeviceInfo, DeviceOrientation, DoctorCheck, DragGesture, DoubleTapOptions, ElementDragOptions, ElementDragTarget, ElementDoubleTapOptions, ElementFillOptions, ElementLongPressOptions, ElementSelector, ElementTapOptions, ElementWaitOptions, LaunchOptions, LongPressOptions, KeyboardState, MobileContextInfo, NetworkCapabilities, NetworkRedactionOptions, NetworkRequestFilter, NetworkRequestRecord, MobileElementSnapshot, MobileRole, NormalizedCapabilities, PlatformName, InspectorSession, LocatorSuggestion, RecordingStopOptions, RoleSelectorOptions, ScreenshotOptions, SwipeGesture, TapOptions, UiTreeSubscribeOptions, UiTreeUpdate, AsturConfig, AppResetOptions, AppUnderTest, Bounds, WebViewEndpoint, WebViewSelector } from '@astur-mobile/protocol';
2
2
  import { type RuntimeInspectorSessionOptions } from './inspector.js';
3
3
  import { MobileLocator } from './locator.js';
4
4
  import { WebContext, type WebEvaluator } from './webBridge.js';
@@ -62,7 +62,31 @@ export interface PlatformSession {
62
62
  startRecording?(): Promise<void>;
63
63
  stopRecording?(options?: RecordingStopOptions): Promise<Buffer | undefined>;
64
64
  screenshot(): Promise<Buffer>;
65
+ /**
66
+ * Hands a URL to the OS. Deliberately not browser-specific — a deep link into
67
+ * the app under test goes through here too, which is why it stays `void` and
68
+ * does not try to find a page afterwards.
69
+ */
65
70
  openWeb(url: string): Promise<void>;
71
+ /**
72
+ * Launches the configured browser at a URL, rather than letting the OS pick a
73
+ * handler. Drivers that cannot target a browser omit this, and
74
+ * {@link AsturDevice.browser} reports it as unsupported.
75
+ */
76
+ openBrowser?(url: string): Promise<void>;
77
+ /** What this session can do with a browser, detected at runtime. */
78
+ getBrowserCapabilities?(): Promise<BrowserCapabilities>;
79
+ /**
80
+ * Opens a **new** browser tab and returns its target id.
81
+ *
82
+ * Optional because tab lifecycle is not universal: Chrome exposes it over the
83
+ * debugging socket, WebKit's remote inspector does not. A driver that omits
84
+ * these falls back to reusing one tab, which is weaker isolation but the only
85
+ * thing the platform allows.
86
+ */
87
+ openBrowserTab?(url: string): Promise<string | undefined>;
88
+ /** Closes a browser tab by target id. */
89
+ closeBrowserTab?(id: string): Promise<void>;
66
90
  pushFile?(localPath: string, remotePath: string): Promise<void>;
67
91
  pullFile?(remotePath: string): Promise<Buffer>;
68
92
  saveFile?(remotePath: string, localPath: string): Promise<void>;
@@ -161,6 +185,62 @@ export declare class AsturDevice {
161
185
  */
162
186
  clear: () => Promise<void>;
163
187
  };
188
+ /**
189
+ * The page currently open in the browser, if one has been opened.
190
+ *
191
+ * Held so navigation can dispose it before re-resolving, and so a suite that
192
+ * forgets to close is still cleaned up when the session ends.
193
+ */
194
+ private browserPage?;
195
+ /** Target id of the tab this session opened, when it opened one itself. */
196
+ private browserTabId?;
197
+ /**
198
+ * Drives a **browser** rather than the app under test — for testing a mobile
199
+ * web page on the same real device or emulator the native suite runs on.
200
+ *
201
+ * Everything below the page is the existing WebView machinery: once a tab is
202
+ * inspectable, the same injected-JS bridge drives it. What this adds is the
203
+ * target and navigation, which an in-app WebView never needed.
204
+ *
205
+ * Ask {@link browser.capabilities} before using it, the same way
206
+ * {@link network.capabilities} is asked, so a spec stays portable.
207
+ */
208
+ readonly browser: {
209
+ /** What this session can do with a browser. Never throws. */
210
+ capabilities: () => Promise<BrowserCapabilities>;
211
+ /**
212
+ * Launches the browser at `url` and returns a context on the page.
213
+ *
214
+ * The returned context is the handle to use until the next navigation —
215
+ * each navigation re-resolves the page and returns a fresh one.
216
+ */
217
+ open: (url: string, options?: {
218
+ timeout?: number;
219
+ }) => Promise<WebContext>;
220
+ /** Navigates the open page and returns it, now showing `url`. */
221
+ navigate: (url: string, options?: {
222
+ timeout?: number;
223
+ }) => Promise<WebContext>;
224
+ reload: (options?: {
225
+ timeout?: number;
226
+ }) => Promise<WebContext>;
227
+ back: (options?: {
228
+ timeout?: number;
229
+ }) => Promise<WebContext>;
230
+ forward: (options?: {
231
+ timeout?: number;
232
+ }) => Promise<WebContext>;
233
+ /** The open page's current URL. */
234
+ url: () => Promise<string>;
235
+ /**
236
+ * Closes the page, and its tab where the platform allows it. The browser
237
+ * itself is left running — starting it again per test costs seconds.
238
+ *
239
+ * The Astur fixture calls this after every test, so tabs cannot accumulate
240
+ * and no test inherits the previous one's page.
241
+ */
242
+ close: () => Promise<void>;
243
+ };
164
244
  readonly keyboard: {
165
245
  isVisible: () => Promise<boolean>;
166
246
  dismiss: () => Promise<void>;
@@ -253,6 +333,33 @@ export declare class AsturDevice {
253
333
  * frameworks (Flutter, React Native) on each platform that exposes the transport.
254
334
  */
255
335
  webContext(selector?: WebViewSelector): Promise<WebContext>;
336
+ /**
337
+ * Re-resolves the page after a history navigation.
338
+ *
339
+ * No URL to match on here — where `back()` lands is exactly what the test is
340
+ * asking about — so this takes whichever page the browser now shows.
341
+ */
342
+ /**
343
+ * Runs a history navigation on the attached tab and waits for it to settle.
344
+ *
345
+ * Deliberately stays on the same target rather than re-resolving. A browser
346
+ * keeps every tab a suite has opened, several on the same URL, so "find the
347
+ * page again" is ambiguous in a way it never is for an app's single WebView —
348
+ * and picking wrong silently drives a frozen background tab. Chromium keeps
349
+ * one target across a same-tab navigation; if the transport does die, the
350
+ * re-resolve below is the fallback rather than the norm.
351
+ */
352
+ private renavigate;
353
+ /**
354
+ * Brings the attached tab to `url`, navigating only if it is not already
355
+ * there — so an intent that happened to land correctly costs nothing.
356
+ */
357
+ private ensureAt;
358
+ /** Attaches to an already-open page, or resolves undefined. Never throws. */
359
+ private tryResolveBrowserPage;
360
+ private resolveBrowserPage;
361
+ private requireBrowserPage;
362
+ private closeBrowserPage;
256
363
  close(): Promise<void>;
257
364
  }
258
365
  export declare class AsturRuntime {
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
package/dist/session.js CHANGED
@@ -6,6 +6,7 @@ import { createInspectorSession } from './inspector.js';
6
6
  import { preparePointerTargetForKeyboard } from './keyboard.js';
7
7
  import { by, captureMaskedScreenshot, findElements, MobileLocator, screenshotKey } from './locator.js';
8
8
  import { WebContext } from './webBridge.js';
9
+ import { browserUnsupported, connectBrowserPage, currentUrl, markNavigation, pageMatcher, runNavigation, settlePage, waitForLoad, DEFAULT_PAGE_TIMEOUT_MS, REUSE_PROBE_MS } from './browser.js';
9
10
  import { delay } from './wait.js';
10
11
  export class AsturDevice {
11
12
  capabilities;
@@ -154,6 +155,113 @@ export class AsturDevice {
154
155
  await this.session.clearNetworkRequests?.();
155
156
  }
156
157
  };
158
+ /**
159
+ * The page currently open in the browser, if one has been opened.
160
+ *
161
+ * Held so navigation can dispose it before re-resolving, and so a suite that
162
+ * forgets to close is still cleaned up when the session ends.
163
+ */
164
+ browserPage;
165
+ /** Target id of the tab this session opened, when it opened one itself. */
166
+ browserTabId;
167
+ /**
168
+ * Drives a **browser** rather than the app under test — for testing a mobile
169
+ * web page on the same real device or emulator the native suite runs on.
170
+ *
171
+ * Everything below the page is the existing WebView machinery: once a tab is
172
+ * inspectable, the same injected-JS bridge drives it. What this adds is the
173
+ * target and navigation, which an in-app WebView never needed.
174
+ *
175
+ * Ask {@link browser.capabilities} before using it, the same way
176
+ * {@link network.capabilities} is asked, so a spec stays portable.
177
+ */
178
+ browser = {
179
+ /** What this session can do with a browser. Never throws. */
180
+ capabilities: async () => {
181
+ if (!this.session.getBrowserCapabilities || !this.session.openBrowser) {
182
+ return browserUnsupported(this.deviceInfo.platform, 'this driver has no browser target');
183
+ }
184
+ return this.session.getBrowserCapabilities();
185
+ },
186
+ /**
187
+ * Launches the browser at `url` and returns a context on the page.
188
+ *
189
+ * The returned context is the handle to use until the next navigation —
190
+ * each navigation re-resolves the page and returns a fresh one.
191
+ */
192
+ open: async (url, options) => {
193
+ const capabilities = await this.browser.capabilities();
194
+ if (!capabilities.supported || !this.session.openBrowser) {
195
+ throw new AsturError('BROWSER_NOT_SUPPORTED', capabilities.coverage);
196
+ }
197
+ await this.browser.close();
198
+ // Prefer a genuinely fresh tab, the way Playwright hands each test a new
199
+ // page. Chrome supports it over the debugging socket; WebKit's inspector
200
+ // does not, so iOS falls back to reusing one tab and reloading it.
201
+ if (this.session.openBrowserTab) {
202
+ const id = await this.session.openBrowserTab(url).catch(() => undefined);
203
+ if (id) {
204
+ this.browserTabId = id;
205
+ // Attach to the new tab without filtering on the URL. A tab created
206
+ // over the debugging socket starts at about:blank and only reaches the
207
+ // requested URL once it has loaded, so matching on the URL here waits
208
+ // out the whole budget before falling back. `ensureAt` drives it there
209
+ // in-page, which is both faster and the same code path as navigate().
210
+ const opened = await this.resolveBrowserPage(undefined, options?.timeout);
211
+ return this.ensureAt(opened, url, options?.timeout);
212
+ }
213
+ }
214
+ // Fallback: reuse whatever tab is open rather than firing the launch
215
+ // intent again. Each intent leaves another tab behind, so a suite that
216
+ // opens a page per test would climb to dozens and eventually attach to
217
+ // none of them.
218
+ const existing = await this.tryResolveBrowserPage(REUSE_PROBE_MS);
219
+ if (existing) {
220
+ return this.ensureAt(existing, url, options?.timeout);
221
+ }
222
+ // Nothing attachable: start the browser. The launch is not trusted to land
223
+ // on the URL, because Chrome dedupes a VIEW intent against an open tab and
224
+ // simply focuses it.
225
+ await this.session.openBrowser(url);
226
+ const page = await this.resolveBrowserPage(undefined, options?.timeout);
227
+ return this.ensureAt(page, url, options?.timeout);
228
+ },
229
+ /** Navigates the open page and returns it, now showing `url`. */
230
+ navigate: async (url, options) => {
231
+ return this.ensureAt(this.requireBrowserPage(), url, options?.timeout);
232
+ },
233
+ reload: async (options) => {
234
+ // Reload must come back to the same page, so reattach by URL rather than
235
+ // taking whichever tab answers first.
236
+ const current = await this.browser.url().catch(() => undefined);
237
+ return this.renavigate('location.reload()', options?.timeout, current);
238
+ },
239
+ back: async (options) => {
240
+ return this.renavigate('history.back()', options?.timeout);
241
+ },
242
+ forward: async (options) => {
243
+ return this.renavigate('history.forward()', options?.timeout);
244
+ },
245
+ /** The open page's current URL. */
246
+ url: async () => {
247
+ return String(await this.requireBrowserPage().evaluate('location.href') ?? '');
248
+ },
249
+ /**
250
+ * Closes the page, and its tab where the platform allows it. The browser
251
+ * itself is left running — starting it again per test costs seconds.
252
+ *
253
+ * The Astur fixture calls this after every test, so tabs cannot accumulate
254
+ * and no test inherits the previous one's page.
255
+ */
256
+ close: async () => {
257
+ await this.closeBrowserPage();
258
+ const id = this.browserTabId;
259
+ this.browserTabId = undefined;
260
+ if (id && this.session.closeBrowserTab) {
261
+ await this.session.closeBrowserTab(id).catch(() => undefined);
262
+ }
263
+ }
264
+ };
157
265
  keyboard = {
158
266
  isVisible: async () => {
159
267
  if (!this.session.getKeyboardState) {
@@ -409,7 +517,83 @@ export class AsturDevice {
409
517
  }
410
518
  return new WebContext(await this.session.createWebEvaluator(selector));
411
519
  }
520
+ /**
521
+ * Re-resolves the page after a history navigation.
522
+ *
523
+ * No URL to match on here — where `back()` lands is exactly what the test is
524
+ * asking about — so this takes whichever page the browser now shows.
525
+ */
526
+ /**
527
+ * Runs a history navigation on the attached tab and waits for it to settle.
528
+ *
529
+ * Deliberately stays on the same target rather than re-resolving. A browser
530
+ * keeps every tab a suite has opened, several on the same URL, so "find the
531
+ * page again" is ambiguous in a way it never is for an app's single WebView —
532
+ * and picking wrong silently drives a frozen background tab. Chromium keeps
533
+ * one target across a same-tab navigation; if the transport does die, the
534
+ * re-resolve below is the fallback rather than the norm.
535
+ */
536
+ async renavigate(expression, timeout, expectUrl) {
537
+ const page = this.requireBrowserPage();
538
+ const token = await markNavigation(page);
539
+ await runNavigation(page, expression);
540
+ if (await settlePage(page, timeout ?? DEFAULT_PAGE_TIMEOUT_MS, { token, expectUrl })) {
541
+ return page;
542
+ }
543
+ await this.closeBrowserPage();
544
+ return this.resolveBrowserPage(expectUrl, timeout);
545
+ }
546
+ /**
547
+ * Brings the attached tab to `url`, navigating only if it is not already
548
+ * there — so an intent that happened to land correctly costs nothing.
549
+ */
550
+ async ensureAt(page, url, timeout) {
551
+ const timeoutMs = timeout ?? DEFAULT_PAGE_TIMEOUT_MS;
552
+ const alreadyThere = pageMatcher(url).test(await currentUrl(page) ?? '');
553
+ const token = await markNavigation(page);
554
+ // Load even when the tab already shows this URL. Reusing a tab is what keeps
555
+ // the browser from leaking one per test, but a reused tab still carries the
556
+ // previous test's DOM — a filled field, a submitted form — and skipping the
557
+ // load would silently hand that state to the next test.
558
+ await runNavigation(page, alreadyThere ? 'location.reload()' : `location.href = ${JSON.stringify(url)}`);
559
+ if (await settlePage(page, timeoutMs, { token, expectUrl: url })) {
560
+ return page;
561
+ }
562
+ await this.closeBrowserPage();
563
+ return this.resolveBrowserPage(url, timeout);
564
+ }
565
+ /** Attaches to an already-open page, or resolves undefined. Never throws. */
566
+ async tryResolveBrowserPage(timeoutMs) {
567
+ if (!this.session.createWebEvaluator) {
568
+ return undefined;
569
+ }
570
+ return this.resolveBrowserPage(undefined, timeoutMs).catch(() => undefined);
571
+ }
572
+ async resolveBrowserPage(url, timeout) {
573
+ if (!this.session.createWebEvaluator) {
574
+ throw new AsturError('BROWSER_NOT_SUPPORTED', `${this.deviceInfo.platform} has no DOM transport, so a browser page cannot be driven.`);
575
+ }
576
+ const timeoutMs = timeout ?? DEFAULT_PAGE_TIMEOUT_MS;
577
+ const page = await connectBrowserPage((selector) => this.session.createWebEvaluator(selector), { url, timeoutMs });
578
+ // Settle before handing the page over, so the first assertion is not racing
579
+ // a document that is still parsing.
580
+ await waitForLoad(page, timeoutMs);
581
+ this.browserPage = page;
582
+ return page;
583
+ }
584
+ requireBrowserPage() {
585
+ if (!this.browserPage) {
586
+ throw new AsturError('BROWSER_PAGE_NOT_OPEN', 'No browser page is open. Call device.browser.open(url) first.');
587
+ }
588
+ return this.browserPage;
589
+ }
590
+ async closeBrowserPage() {
591
+ const page = this.browserPage;
592
+ this.browserPage = undefined;
593
+ await page?.close().catch(() => undefined);
594
+ }
412
595
  async close() {
596
+ await this.browser.close().catch(() => undefined);
413
597
  await this.session.close();
414
598
  }
415
599
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6CpC,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,sBAAsB,EAAuC,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,+BAA+B,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,EAAE,EAAE,uBAAuB,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACvG,OAAO,EAAE,UAAU,EAAqB,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAkGlC,MAAM,OAAO,WAAW;IACb,YAAY,CAAyB;IACrC,UAAU,CAAa;IACf,OAAO,CAAkB;IAE1C,YAAY,OAAwB;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACvC,CAAC;IAEQ,GAAG,GAAG;QACb,OAAO,EAAE,KAAK,EAAE,IAAa,EAAiB,EAAE;YAC9C,MAAM,OAAO,GAAG,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC;YACpD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,UAAU,CAAC,mBAAmB,EAAE,2BAA2B,CAAC,CAAC;YACzE,CAAC;YAED,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QAED,SAAS,EAAE,KAAK,EAAE,MAA8B,EAAiB,EAAE;YACjE,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,OAAuB,EAAiB,EAAE;YACvD,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;QAED,SAAS,EAAE,KAAK,IAAmB,EAAE;YACnC,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QACpC,CAAC;QAED,SAAS,EAAE,KAAK,EAAE,MAA8B,EAAiB,EAAE;YACjE,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;QAC5E,CAAC;QAED,UAAU,EAAE,KAAK,EAAE,MAA8B,EAAiB,EAAE;YAClE,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7E,CAAC;QAED,KAAK,EAAE,KAAK,EAAE,OAAyB,EAAiB,EAAE;YACxD,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;KACF,CAAC;IAEO,QAAQ,GAAG;QAClB,GAAG,EAAE,KAAK,EAAE,KAAkB,EAAE,OAAoB,EAAiB,EAAE;YACrE,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACjC,CAAC;QAED,SAAS,EAAE,KAAK,EAAE,KAAkB,EAAE,OAA0B,EAAiB,EAAE;YACjF,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;QAED,SAAS,EAAE,KAAK,EAAE,KAAkB,EAAE,OAA0B,EAAiB,EAAE;YACjF,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;QAED,YAAY,EAAE,KAAK,EAAE,KAAkB,EAAE,OAA0B,EAAiB,EAAE;YACpF,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1C,CAAC;QAED,KAAK,EAAE,KAAK,EAAE,OAAqB,EAAiB,EAAE;YACpD,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,EAAE,KAAK,EAAE,OAAoB,EAAiB,EAAE;YAClD,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;KACF,CAAC;IAEO,UAAU,GAAG;QACpB,IAAI,EAAE,KAAK,IAAmB,EAAE;YAC9B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QAED,IAAI,EAAE,KAAK,IAAmB,EAAE;YAC9B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QAED,UAAU,EAAE,KAAK,IAAmB,EAAE;YACpC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;KACF,CAAC;IAEO,WAAW,GAAG;QACrB,GAAG,EAAE,KAAK,EAAE,WAA8B,EAAiB,EAAE;YAC3D,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACzC,CAAC;QAED,QAAQ,EAAE,KAAK,IAAmB,EAAE;YAClC,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC;QAED,SAAS,EAAE,KAAK,IAAmB,EAAE;YACnC,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACzC,CAAC;KACF,CAAC;IAEO,MAAM,GAAG;QAChB,IAAI,EAAE,KAAK,IAAmB,EAAE;YAC9B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QAED,MAAM,EAAE,KAAK,IAAmB,EAAE;YAChC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACtB,CAAC;QAED,QAAQ,EAAE,KAAK,IAAsB,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE;KACxD,CAAC;IAEO,WAAW,GAAG;QACrB,KAAK,EAAE,KAAK,EAAE,UAAkB,EAAE,MAA8B,EAAiB,EAAE;YACjF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;gBAClC,MAAM,IAAI,UAAU,CAAC,2BAA2B,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,0CAA0C,CAAC,CAAC;YAC3H,CAAC;YAED,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;QAC3F,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,UAAkB,EAAE,MAA8B,EAAiB,EAAE;YAClF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBACnC,MAAM,IAAI,UAAU,CAAC,2BAA2B,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,0CAA0C,CAAC,CAAC;YAC3H,CAAC;YAED,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;QAC5F,CAAC;KACF,CAAC;IAEF;;;;;;;;;OASG;IACM,OAAO,GAAG;QACjB,YAAY,EAAE,KAAK,IAAkC,EAAE;YACrD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;gBACzC,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,KAAK;oBAChB,UAAU,EAAE,EAAE;oBACd,cAAc,EAAE,KAAK;oBACrB,QAAQ,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,iDAAiD;oBACtF,eAAe,EAAE,IAAI;iBACtB,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;QAC/C,CAAC;QAED;;;;WAIG;QACH,QAAQ,EAAE,KAAK,EACb,MAA6B,EAC7B,OAAiC,EACA,EAAE;YACnC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBACrC,MAAM,IAAI,UAAU,CAClB,iCAAiC,EACjC,0DAA0D,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;sBAClF,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK;sBACtE,gEAAgE,CACnE,CAAC;YACJ,CAAC;YAED,OAAO,oBAAoB,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;QACtF,CAAC;QAED;;;;WAIG;QACH,KAAK,EAAE,KAAK,IAAmB,EAAE;YAC/B,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;QAC9C,CAAC;KACF,CAAC;IAEO,QAAQ,GAAG;QAClB,SAAS,EAAE,KAAK,IAAsB,EAAE;YACtC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBACnC,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC;QACzD,CAAC;QAED,OAAO,EAAE,KAAK,IAAmB,EAAE;YACjC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;gBAClC,MAAM,IAAI,UAAU,CAClB,wBAAwB,EACxB,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,6CAA6C,CACzE,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QACvC,CAAC;QAED,IAAI,EAAE,KAAK,IAAmB,EAAE;YAC9B,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAChC,CAAC;QAED;;;;;;;;;;;;;;;;;;;;WAoBG;QACH,IAAI,EAAE,KAAK,EAAE,IAAY,EAAiB,EAAE;YAC1C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC3B,MAAM,IAAI,UAAU,CAClB,wBAAwB,EACxB,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,uCAAuC,CACnE,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,EAAE,KAAK,EAAE,MAAwC,EAAiB,EAAE;YACtE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB;oBAC3C,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,GAAkB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO;oBAClG,CAAC,CAAC,KAAK,CAAC;gBAEV,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO;gBACT,CAAC;gBAED,MAAM,IAAI,UAAU,CAClB,0BAA0B,EAC1B,wJAAwJ,CACzJ,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,YAAY,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7E,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QAC9C,CAAC;KACF,CAAC;IAEO,KAAK,GAAG;QACf,IAAI,EAAE,KAAK,EAAE,SAAiB,EAAE,UAAkB,EAAiB,EAAE;YACnE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC3B,MAAM,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACxD,CAAC;YAED,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,EAAE,KAAK,EAAE,UAAkB,EAAmB,EAAE;YAClD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC3B,MAAM,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACxD,CAAC;YAED,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,EAAE,KAAK,EAAE,UAAkB,EAAE,SAAiB,EAAiB,EAAE;YACnE,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC1B,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;gBACnD,OAAO;YACT,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC3B,MAAM,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACxD,CAAC;YAED,MAAM,cAAc,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,UAAkB,EAAiB,EAAE;YAClD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC7B,MAAM,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACxD,CAAC;YAED,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,EAAE,KAAK,EAAE,UAAkB,EAA8B,EAAE;YAC7D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC5B,MAAM,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACxD,CAAC;YAED,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC;KACF,CAAC;IAEF,IAAI,CAAC,QAAyB;QAC5B,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAyB;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,SAA4B;QACzC,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,CAAC,QAAyB;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED,UAAU,CAAC,KAAa,EAAE,OAA6B;QACrD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,OAA6B;QACpD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,OAA6B;QACpD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,WAAW,CAAC,KAAa,EAAE,OAA6B;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,CAAC,KAAa,EAAE,OAA6B;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,SAAS,CAAC,IAAyB,EAAE,OAA6B;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,OAA6B;QACpD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,SAAS,CAAC,OAAwC;QAChD,OAAO,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,QAAyB;QAC7C,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAkB,EAAE,UAAsB,EAAE;QACpD,MAAM,+BAA+B,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC7E,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAkB,EAAE,UAA4B,EAAE;QAChE,MAAM,+BAA+B,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC7E,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAkB,EAAE,OAA0B;QAC5D,MAAM,+BAA+B,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC9E,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAkB,EAAE,OAA0B;QAC/D,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,WAA8B;QACjD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YACjC,MAAM,IAAI,UAAU,CAClB,2BAA2B,EAC3B,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,2CAA2C,CACvE,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAW;QACxB,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAqB;QAC/B,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAoB;QAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAkC,EAAE;QACnD,MAAM,KAAK,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAExE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8EAA8E;IAC9E,KAAK,CAAC,aAAa;QACjB,OAAO,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YACjC,MAAM,IAAI,UAAU,CAAC,yBAAyB,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,+CAA+C,CAAC,CAAC;QAC9H,CAAC;QAED,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,UAAgC,EAAE;QACpD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAChC,MAAM,IAAI,UAAU,CAAC,yBAAyB,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,+CAA+C,CAAC,CAAC;QAC9H,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC;QAED,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAW;QACvB,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC/B,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;QAC3B,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QACnD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC;YAC1D,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,QAA0B;QAC9C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YACjC,MAAM,IAAI,UAAU,CAClB,uBAAuB,EACvB,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,4CAA4C,CACxE,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,QAA0B;QACzC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;YACrC,MAAM,IAAI,UAAU,CAClB,uBAAuB,EACvB,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,wCAAwC,CACpE,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;CACF;AAED,KAAK,UAAU,cAAc,CAAC,IAAY,EAAE,QAAgB;IAC1D,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAsB;IACnD,OAAO,IAAI,UAAU,CAAC,6BAA6B,EAAE,GAAG,QAAQ,4CAA4C,CAAC,CAAC;AAChH,CAAC;AAED,SAAS,aAAa;IACpB,OAAO;QACL,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,YAAoC,EAAE,MAA8B;IACzF,MAAM,GAAG,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC;IACnE,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,QAAQ;QAC3C,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,GAAG,EAAE,WAAW,IAAI,GAAG,EAAE,QAAQ,CAAC;IAEtC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,UAAU,CAClB,yBAAyB,EACzB,4EAA4E,CAC7E,CAAC;IACJ,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,OAAO,YAAY;IACN,OAAO,GAAG,IAAI,GAAG,EAAgC,CAAC;IAEnE,QAAQ,CAAC,MAAsB;QAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9F,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAuB;QACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACvF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACjF,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAmB;QACpC,MAAM,YAAY,GAAG,MAAM,uBAAuB,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;QAClF,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAEzD,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC;QACrC,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC;YACd,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,QAAQ,CAAC;YACnD,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,KAAK,SAAS;mBACnD,OAAO,CAAC,GAAG,CAAC,+BAA+B,KAAK,GAAG,CAAC;YAEzD,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,UAAU,EAAE,CAAC;oBACf,IAAI,CAAC;wBACH,MAAM,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;oBACzC,CAAC;oBAAC,MAAM,CAAC;wBACP,mEAAmE;wBACnE,+BAA+B;oBACjC,CAAC;gBACH,CAAC;gBACD,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;iBAAM,IAAI,UAAU,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBAChD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC9E,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAED,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAEO,aAAa,CAAC,QAAsB;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,UAAU,CAAC,uBAAuB,EAAE,kCAAkC,QAAQ,GAAG,CAAC,CAAC;QAC/F,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAA+B,EAC/B,MAAwC;IAExC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;QAC/B,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;YACjF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;YAC9D,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,MAAM,CAAC,GAAG,YAAY,MAAM,EAAE,CAAC;YACjC,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACnC,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astur-mobile/core",
3
- "version": "0.5.0-beta.5",
3
+ "version": "0.6.0-beta",
4
4
  "description": "Core Astur runtime, sessions, locators, and auto-waiting.",
5
5
  "keywords": [
6
6
  "astur",
@@ -42,7 +42,7 @@
42
42
  "build": "tsc -b"
43
43
  },
44
44
  "dependencies": {
45
- "@astur-mobile/protocol": "0.5.0-beta.5",
45
+ "@astur-mobile/protocol": "0.6.0-beta",
46
46
  "pngjs": "^7.0.0"
47
47
  },
48
48
  "repository": {