craftdriver 1.4.0 → 1.6.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.
Files changed (87) hide show
  1. package/CHANGELOG.md +17 -3
  2. package/README.md +6 -2
  3. package/dist/cli/daemon.d.ts.map +1 -1
  4. package/dist/cli/daemon.js +4 -0
  5. package/dist/cli/daemon.js.map +1 -1
  6. package/dist/cli/mcp/server.d.ts.map +1 -1
  7. package/dist/cli/mcp/server.js +4 -0
  8. package/dist/cli/mcp/server.js.map +1 -1
  9. package/dist/cli/parseArgs.d.ts +2 -2
  10. package/dist/cli/parseArgs.d.ts.map +1 -1
  11. package/dist/cli/parseArgs.js +1 -1
  12. package/dist/index.d.ts +2 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +1 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/lib/bidi/storage.d.ts +13 -0
  17. package/dist/lib/bidi/storage.d.ts.map +1 -1
  18. package/dist/lib/bidi/storage.js +81 -32
  19. package/dist/lib/bidi/storage.js.map +1 -1
  20. package/dist/lib/browser.d.ts +48 -3
  21. package/dist/lib/browser.d.ts.map +1 -1
  22. package/dist/lib/browser.js +212 -86
  23. package/dist/lib/browser.js.map +1 -1
  24. package/dist/lib/browserContext.d.ts +2 -2
  25. package/dist/lib/browserContext.d.ts.map +1 -1
  26. package/dist/lib/browserContext.js +1 -1
  27. package/dist/lib/builder.d.ts +16 -2
  28. package/dist/lib/builder.d.ts.map +1 -1
  29. package/dist/lib/builder.js +46 -2
  30. package/dist/lib/builder.js.map +1 -1
  31. package/dist/lib/capabilities.d.ts +20 -2
  32. package/dist/lib/capabilities.d.ts.map +1 -1
  33. package/dist/lib/capabilities.js +109 -48
  34. package/dist/lib/capabilities.js.map +1 -1
  35. package/dist/lib/driver.d.ts +33 -2
  36. package/dist/lib/driver.d.ts.map +1 -1
  37. package/dist/lib/driver.js +91 -2
  38. package/dist/lib/driver.js.map +1 -1
  39. package/dist/lib/driverManager.d.ts +28 -0
  40. package/dist/lib/driverManager.d.ts.map +1 -1
  41. package/dist/lib/driverManager.js +60 -0
  42. package/dist/lib/driverManager.js.map +1 -1
  43. package/dist/lib/elementHandle.d.ts.map +1 -1
  44. package/dist/lib/elementHandle.js +34 -0
  45. package/dist/lib/elementHandle.js.map +1 -1
  46. package/dist/lib/http.d.ts.map +1 -1
  47. package/dist/lib/http.js +31 -10
  48. package/dist/lib/http.js.map +1 -1
  49. package/dist/lib/launchTarget.d.ts +22 -3
  50. package/dist/lib/launchTarget.d.ts.map +1 -1
  51. package/dist/lib/launchTarget.js +159 -9
  52. package/dist/lib/launchTarget.js.map +1 -1
  53. package/dist/lib/remote.d.ts +55 -0
  54. package/dist/lib/remote.d.ts.map +1 -0
  55. package/dist/lib/remote.js +127 -0
  56. package/dist/lib/remote.js.map +1 -0
  57. package/dist/lib/safari.d.ts +90 -0
  58. package/dist/lib/safari.d.ts.map +1 -0
  59. package/dist/lib/safari.js +136 -0
  60. package/dist/lib/safari.js.map +1 -0
  61. package/dist/lib/tracing.d.ts +1 -1
  62. package/dist/lib/tracing.d.ts.map +1 -1
  63. package/dist/lib/tracing.js.map +1 -1
  64. package/dist/lib/types.d.ts +63 -0
  65. package/dist/lib/types.d.ts.map +1 -1
  66. package/dist/lib/vibiumTrace.d.ts +1 -1
  67. package/dist/lib/vibiumTrace.d.ts.map +1 -1
  68. package/dist/lib/webelement.d.ts.map +1 -1
  69. package/dist/lib/webelement.js +118 -2
  70. package/dist/lib/webelement.js.map +1 -1
  71. package/docs/api-reference.md +6 -2
  72. package/docs/browser-api.md +5 -4
  73. package/docs/driver-configuration.md +60 -0
  74. package/docs/getting-started.md +30 -10
  75. package/docs/index.md +2 -1
  76. package/docs/keyboard-mouse.md +7 -5
  77. package/docs/public/examples/displayed.html +86 -0
  78. package/docs/recipes/run-on-browserstack.md +265 -0
  79. package/docs/recipes.md +15 -1
  80. package/docs/remote-webdriver.md +308 -0
  81. package/docs/safari.md +118 -0
  82. package/docs/standards.md +18 -0
  83. package/docs/why-craftdriver.md +3 -1
  84. package/docs/zero-config-drivers.md +12 -0
  85. package/package.json +5 -1
  86. package/skills/craftdriver/SKILL.md +4 -1
  87. package/skills/craftdriver/cheatsheet.md +4 -1
@@ -1 +1 @@
1
- {"version":3,"file":"launchTarget.js","sourceRoot":"","sources":["../../src/lib/launchTarget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launchTarget.js","sourceRoot":"","sources":["../../src/lib/launchTarget.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import type { Capabilities, WebDriverEndpoint } from './types.js';
2
+ export interface RemoteAuth {
3
+ username: string;
4
+ password: string;
5
+ }
6
+ /**
7
+ * Options for connecting to any W3C-compatible remote WebDriver endpoint —
8
+ * a self-hosted Selenium Grid, BrowserStack, or another cloud provider.
9
+ * Provider-specific detail (BrowserStack's `bstack:options`, etc.) is
10
+ * forwarded through `capabilities` without schema conversion.
11
+ */
12
+ export interface RemoteWebDriverOptions {
13
+ /** The remote endpoint's WebDriver base URL, e.g. `https://hub.browserstack.com/wd/hub`. */
14
+ url: string;
15
+ /**
16
+ * Basic auth credentials. Mutually exclusive with URL-embedded user-info
17
+ * (`https://user:pass@host/...`) — set one, not both.
18
+ */
19
+ auth?: RemoteAuth;
20
+ /** W3C capabilities merged under `alwaysMatch`; vendor namespaces are not schema-checked. */
21
+ capabilities?: Record<string, unknown>;
22
+ /** Timeout for the initial `POST /session` call. Defaults to craftdriver's local session-create timeout. */
23
+ sessionTimeoutMs?: number;
24
+ /** Default timeout applied to every WebDriver command after the session is created, unless overridden per call. */
25
+ commandTimeoutMs?: number;
26
+ }
27
+ export interface ParsedRemoteEndpoint {
28
+ endpoint: WebDriverEndpoint;
29
+ /** Timeout for the one `POST /session` call only — not stored on the endpoint, which is per-command. */
30
+ sessionTimeoutMs?: number;
31
+ }
32
+ /** Parse and runtime-validate remote launch options without exposing credentials. */
33
+ export declare function parseRemoteEndpoint(options: RemoteWebDriverOptions): ParsedRemoteEndpoint;
34
+ /**
35
+ * Build W3C capabilities for a remote session. Mirrors
36
+ * `buildLaunchCapabilities()`'s shape but never injects anything local-only
37
+ * (download prefs, `--headless`, binary paths) — remote users pass those
38
+ * through `remote.capabilities` themselves (e.g.
39
+ * `capabilities['goog:chromeOptions']`).
40
+ */
41
+ export declare function buildRemoteCapabilities(input: {
42
+ browserName: string;
43
+ bidiRequested: boolean;
44
+ userCapabilities?: Record<string, unknown>;
45
+ }): Capabilities;
46
+ /**
47
+ * Strip query string, fragment, and embedded user-info from a URL before
48
+ * it goes into a log line. Some remote providers proxy the BiDi
49
+ * `webSocketUrl` through tokens embedded in the query string or user-info —
50
+ * this must never end up in the Classic-fallback warning. Falls back to a
51
+ * fixed placeholder if the string isn't a parseable URL at all (safer than
52
+ * logging it verbatim).
53
+ */
54
+ export declare function redactUrlForLog(url: string): string;
55
+ //# sourceMappingURL=remote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../src/lib/remote.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAIlE,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,4FAA4F;IAC5F,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,6FAA6F;IAC7F,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,4GAA4G;IAC5G,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mHAAmH;IACnH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAcD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,wGAAwG;IACxG,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qFAAqF;AACrF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,sBAAsB,GAAG,oBAAoB,CAwFzF;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C,GAAG,YAAY,CAQf;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAWnD"}
@@ -0,0 +1,127 @@
1
+ import { randomUUID } from 'crypto';
2
+ import { applyBidiDefaults } from './capabilities.js';
3
+ import { CraftdriverError, ErrorCode } from './errors.js';
4
+ function invalidArgument(message, detail) {
5
+ return new CraftdriverError(ErrorCode.INVALID_ARGUMENT, message, detail ? { detail } : undefined);
6
+ }
7
+ function positiveNumber(value, optionName) {
8
+ if (value === undefined)
9
+ return undefined;
10
+ if (typeof value !== 'number' || !Number.isFinite(value) || value <= 0) {
11
+ throw invalidArgument(`remote.${optionName} must be a positive number of milliseconds.`);
12
+ }
13
+ return value;
14
+ }
15
+ /** Parse and runtime-validate remote launch options without exposing credentials. */
16
+ export function parseRemoteEndpoint(options) {
17
+ if (!options || typeof options !== 'object' || Array.isArray(options)) {
18
+ throw invalidArgument('remote must be an object containing a url.');
19
+ }
20
+ if (typeof options.url !== 'string' || options.url.trim() === '') {
21
+ throw invalidArgument('remote.url must be a non-empty string.');
22
+ }
23
+ let parsed;
24
+ try {
25
+ parsed = new URL(options.url);
26
+ }
27
+ catch {
28
+ // The invalid URL may contain credentials, so do not echo it.
29
+ throw invalidArgument('remote.url is not a valid URL (check the scheme, host, and any embedded credentials).');
30
+ }
31
+ if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
32
+ throw invalidArgument(`remote.url must use http or https (got "${parsed.protocol.replace(/:$/, '')}").`);
33
+ }
34
+ if (parsed.search) {
35
+ throw invalidArgument('remote.url must not include a query string.');
36
+ }
37
+ if (parsed.hash) {
38
+ throw invalidArgument('remote.url must not include a fragment.');
39
+ }
40
+ // Extract URL credentials so downstream URLs remain safe to log.
41
+ const userInfoPresent = parsed.username !== '' || parsed.password !== '';
42
+ if (userInfoPresent && options.auth) {
43
+ throw invalidArgument('remote.url embeds credentials and remote.auth is also set — provide credentials one way, not both.');
44
+ }
45
+ let auth;
46
+ if (userInfoPresent) {
47
+ auth = {
48
+ username: decodeURIComponent(parsed.username),
49
+ password: decodeURIComponent(parsed.password),
50
+ };
51
+ }
52
+ else if (options.auth !== undefined) {
53
+ if (typeof options.auth !== 'object' || options.auth === null || Array.isArray(options.auth)) {
54
+ throw invalidArgument('remote.auth must be an object with username and password.');
55
+ }
56
+ const candidate = options.auth;
57
+ if (typeof candidate.username !== 'string' || typeof candidate.password !== 'string') {
58
+ throw invalidArgument('remote.auth.username and remote.auth.password must be strings.');
59
+ }
60
+ auth = { username: candidate.username, password: candidate.password };
61
+ }
62
+ if (auth && (auth.username === '' || auth.password === '')) {
63
+ throw invalidArgument('remote.auth requires a non-empty username and password.');
64
+ }
65
+ if (options.capabilities !== undefined &&
66
+ (typeof options.capabilities !== 'object' ||
67
+ options.capabilities === null ||
68
+ Array.isArray(options.capabilities))) {
69
+ throw invalidArgument('remote.capabilities must be an object.');
70
+ }
71
+ const sessionTimeoutMs = positiveNumber(options.sessionTimeoutMs, 'sessionTimeoutMs');
72
+ const commandTimeoutMs = positiveNumber(options.commandTimeoutMs, 'commandTimeoutMs');
73
+ const port = parsed.port ? Number(parsed.port) : parsed.protocol === 'https:' ? 443 : 80;
74
+ const rawPath = parsed.pathname === '/' ? '' : parsed.pathname.replace(/\/$/, '');
75
+ return {
76
+ endpoint: {
77
+ protocol: parsed.protocol === 'https:' ? 'https' : 'http',
78
+ hostname: parsed.hostname,
79
+ port,
80
+ path: rawPath,
81
+ auth,
82
+ // Unique per session so quitting one never tears down another's
83
+ // keep-alive sockets — concurrent sessions often share one hub host:port.
84
+ poolKey: randomUUID(),
85
+ commandTimeoutMs,
86
+ },
87
+ sessionTimeoutMs,
88
+ };
89
+ }
90
+ /**
91
+ * Build W3C capabilities for a remote session. Mirrors
92
+ * `buildLaunchCapabilities()`'s shape but never injects anything local-only
93
+ * (download prefs, `--headless`, binary paths) — remote users pass those
94
+ * through `remote.capabilities` themselves (e.g.
95
+ * `capabilities['goog:chromeOptions']`).
96
+ */
97
+ export function buildRemoteCapabilities(input) {
98
+ const caps = { ...(input.userCapabilities ?? {}) };
99
+ if (caps.browserName === undefined) {
100
+ caps.browserName = input.browserName;
101
+ }
102
+ // Strict remote hubs require the Classic string prompt behavior.
103
+ applyBidiDefaults(caps, input.bidiRequested, 'string');
104
+ return caps;
105
+ }
106
+ /**
107
+ * Strip query string, fragment, and embedded user-info from a URL before
108
+ * it goes into a log line. Some remote providers proxy the BiDi
109
+ * `webSocketUrl` through tokens embedded in the query string or user-info —
110
+ * this must never end up in the Classic-fallback warning. Falls back to a
111
+ * fixed placeholder if the string isn't a parseable URL at all (safer than
112
+ * logging it verbatim).
113
+ */
114
+ export function redactUrlForLog(url) {
115
+ try {
116
+ const parsed = new URL(url);
117
+ parsed.username = '';
118
+ parsed.password = '';
119
+ parsed.search = '';
120
+ parsed.hash = '';
121
+ return parsed.toString();
122
+ }
123
+ catch {
124
+ return '<unparseable-url-redacted>';
125
+ }
126
+ }
127
+ //# sourceMappingURL=remote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote.js","sourceRoot":"","sources":["../../src/lib/remote.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ import { DriverService, type DriverServiceOptions } from './service.js';
2
+ export type SafariServiceOptions = Omit<DriverServiceOptions, 'command'> & {
3
+ /**
4
+ * Absolute path to a `safaridriver` binary.
5
+ * When omitted, craftdriver resolves the driver automatically — but, unlike
6
+ * Chrome/Firefox, **never by downloading**: Safari's WebDriver support ships
7
+ * with macOS/Safari itself. Resolution order (first match wins):
8
+ * 1. this `binaryPath`
9
+ * 2. CRAFTDRIVER_SAFARIDRIVER_PATH env var
10
+ * 3. CRAFTDRIVER_DRIVER_PATH env var
11
+ * 4. /usr/bin/safaridriver (the fixed system location on macOS)
12
+ * 5. safaridriver on PATH
13
+ * 6. a clear, actionable error if nothing resolves (no download fallback)
14
+ *
15
+ * Use this to select Safari Technology Preview's own `safaridriver`, e.g.
16
+ * `/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver`.
17
+ */
18
+ binaryPath?: string;
19
+ /**
20
+ * Extra `safaridriver` CLI arguments, passed through verbatim after the
21
+ * `--port <port>` flag. For example, `args: ['--diagnose']` turns on
22
+ * safaridriver's diagnostic logging (Apple writes the logs under
23
+ * `~/Library/Logs/com.apple.WebDriver/`), which is useful when a Safari
24
+ * session fails to start and the standard stdout/stderr tail isn't enough
25
+ * to tell why.
26
+ */
27
+ args?: string[];
28
+ };
29
+ export declare class SafariService extends DriverService {
30
+ private readonly binaryPath;
31
+ constructor(options?: SafariServiceOptions);
32
+ start(): Promise<void>;
33
+ protected buildCommandArgs(port: number): string[];
34
+ }
35
+ /**
36
+ * Returns true if `message` looks like the error `safaridriver` produces when
37
+ * a client attempts `POST /session` while "Allow Remote Automation" has not
38
+ * been enabled (Safari's Develop menu, or `safaridriver --enable`).
39
+ *
40
+ * There is no single documented exact string for this — Apple's guidance and
41
+ * community reports describe the wording rather than pin one byte-for-byte
42
+ * wire format, and we don't have a live Safari box to capture the literal
43
+ * response from right now. So this matches defensively on a few likely, distinctive substrings
44
+ * rather than one exact string, case-insensitively, while staying narrow
45
+ * enough not to false-positive on unrelated failures (connection refused,
46
+ * invalid session id, etc.).
47
+ */
48
+ export declare function isRemoteAutomationDisabledError(message: string): boolean;
49
+ /**
50
+ * Returns true if `message` looks like the error `safaridriver` produces when
51
+ * a client attempts `POST /session` while another Safari WebDriver session is
52
+ * already active. Per Apple's documented constraint: only one Safari browser
53
+ * instance can be under automation at a
54
+ * time, and only one WebDriver session can attach to it — a second `POST
55
+ * /session` is refused by `safaridriver` itself, not something craftdriver
56
+ * controls.
57
+ *
58
+ * As with {@link isRemoteAutomationDisabledError}, there is no live Safari box
59
+ * to capture the literal wire text from right now, so this matches
60
+ * defensively on a few likely, distinctive substrings rather than one exact
61
+ * string, case-insensitively. `safaridriver` reports this as a W3C `session
62
+ * not created` error whose message body indicates an existing/active
63
+ * session — so this checks for "session" together with "already"/"active"/"in
64
+ * progress" wording, which is narrow enough not to false-positive on an
65
+ * unrelated `session not created` failure such as a genuine crash-at-launch
66
+ * (those don't mention an existing session at all).
67
+ */
68
+ export declare function isSecondSessionRefusedError(message: string): boolean;
69
+ /**
70
+ * Augments a session-creation failure with Safari's remedy when it matches
71
+ * {@link isRemoteAutomationDisabledError} (checked first, since it is the more
72
+ * specific/common failure) or {@link isSecondSessionRefusedError}; otherwise
73
+ * returns the error unchanged.
74
+ *
75
+ * Wired into `Builder.build()`'s session-creation failure path:
76
+ * when constructing a Safari session fails, this is called on the thrown
77
+ * error before it propagates to the caller.
78
+ *
79
+ * Deliberately does **not** run `safaridriver --enable` itself: that flips a
80
+ * security setting and may prompt for administrator authentication, which
81
+ * library code must never do on the user's behalf. Likewise, the second-
82
+ * session case is deliberately message augmentation only — no in-process
83
+ * queue, retry loop, or wait-for-other-session-to-close logic. An in-process
84
+ * queue cannot coordinate across separate test-runner processes (the common
85
+ * case — parallel CI workers, separate `vitest`/`playwright` processes) and
86
+ * risks `launch()` hanging indefinitely waiting for another process's Safari
87
+ * session to close.
88
+ */
89
+ export declare function augmentSafariSessionError(err: unknown): Error;
90
+ //# sourceMappingURL=safari.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safari.d.ts","sourceRoot":"","sources":["../../src/lib/safari.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAIxE,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,GAAG;IACzE;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAEF,qBAAa,aAAc,SAAQ,aAAa;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;gBAEpC,OAAO,GAAE,oBAAyB;IA8BxC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;cAcT,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;CAG5D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAOxE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAUpE;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,KAAK,CA6B7D"}
@@ -0,0 +1,136 @@
1
+ import { DriverService } from './service.js';
2
+ import { resolveSafariDriver } from './driverManager.js';
3
+ import { CraftdriverError, ErrorCode } from './errors.js';
4
+ export class SafariService extends DriverService {
5
+ binaryPath;
6
+ constructor(options = {}) {
7
+ // Platform guard first, before any option handling or filesystem access:
8
+ // safaridriver exists only on macOS (Apple ships no Windows/Linux build),
9
+ // so there is nothing to resolve off-darwin. Fail immediately with a stable
10
+ // machine-readable code rather than letting resolution find nothing and
11
+ // throw a vaguer "not found" later. (There is no path to running real
12
+ // Safari on Linux, ever — Apple ships no Windows/Linux build.)
13
+ if (process.platform !== 'darwin') {
14
+ throw new CraftdriverError(ErrorCode.UNSUPPORTED, `browserName: 'safari' is only supported on macOS (this platform is '${process.platform}'). ` +
15
+ 'Safari and safaridriver ship only on Apple platforms; there is no Windows or Linux build.', { detail: { browserName: 'safari', platform: process.platform } });
16
+ }
17
+ const { binaryPath, ...rest } = options;
18
+ // Pass a placeholder command; the real path is resolved asynchronously in
19
+ // start() (safaridriver serves the standard Classic /status readiness
20
+ // endpoint, same as chromedriver/geckodriver).
21
+ super({
22
+ command: binaryPath ?? 'safaridriver',
23
+ pathBase: '',
24
+ readinessPath: '/status',
25
+ ...rest,
26
+ });
27
+ this.binaryPath = binaryPath;
28
+ }
29
+ async start() {
30
+ if (this.proc)
31
+ return;
32
+ this.opts.command = await resolveSafariDriver({ binaryPath: this.binaryPath });
33
+ await super.start();
34
+ }
35
+ // `DriverService.buildCommandArgs()`'s default is chromedriver/geckodriver's
36
+ // `--port=<port>` (equals-separated). Apple documents safaridriver's flag as
37
+ // space-separated (`safaridriver --port <port>`; see Apple's "Testing with
38
+ // WebDriver in Safari"). An equals-separated
39
+ // `--port=N` is not the documented syntax and risks safaridriver treating the
40
+ // whole thing as an unrecognized single argument. Override to emit the two
41
+ // tokens safaridriver expects, still passing through any extra `args` (e.g.
42
+ // `--diagnose`) untouched.
43
+ buildCommandArgs(port) {
44
+ return ['--port', String(port), ...this.opts.args];
45
+ }
46
+ }
47
+ /**
48
+ * Returns true if `message` looks like the error `safaridriver` produces when
49
+ * a client attempts `POST /session` while "Allow Remote Automation" has not
50
+ * been enabled (Safari's Develop menu, or `safaridriver --enable`).
51
+ *
52
+ * There is no single documented exact string for this — Apple's guidance and
53
+ * community reports describe the wording rather than pin one byte-for-byte
54
+ * wire format, and we don't have a live Safari box to capture the literal
55
+ * response from right now. So this matches defensively on a few likely, distinctive substrings
56
+ * rather than one exact string, case-insensitively, while staying narrow
57
+ * enough not to false-positive on unrelated failures (connection refused,
58
+ * invalid session id, etc.).
59
+ */
60
+ export function isRemoteAutomationDisabledError(message) {
61
+ const text = message.toLowerCase();
62
+ return (text.includes('remote automation') ||
63
+ (text.includes('automation') && text.includes('develop menu')) ||
64
+ text.includes('safaridriver --enable'));
65
+ }
66
+ /**
67
+ * Returns true if `message` looks like the error `safaridriver` produces when
68
+ * a client attempts `POST /session` while another Safari WebDriver session is
69
+ * already active. Per Apple's documented constraint: only one Safari browser
70
+ * instance can be under automation at a
71
+ * time, and only one WebDriver session can attach to it — a second `POST
72
+ * /session` is refused by `safaridriver` itself, not something craftdriver
73
+ * controls.
74
+ *
75
+ * As with {@link isRemoteAutomationDisabledError}, there is no live Safari box
76
+ * to capture the literal wire text from right now, so this matches
77
+ * defensively on a few likely, distinctive substrings rather than one exact
78
+ * string, case-insensitively. `safaridriver` reports this as a W3C `session
79
+ * not created` error whose message body indicates an existing/active
80
+ * session — so this checks for "session" together with "already"/"active"/"in
81
+ * progress" wording, which is narrow enough not to false-positive on an
82
+ * unrelated `session not created` failure such as a genuine crash-at-launch
83
+ * (those don't mention an existing session at all).
84
+ */
85
+ export function isSecondSessionRefusedError(message) {
86
+ const text = message.toLowerCase();
87
+ if (!text.includes('session'))
88
+ return false;
89
+ return ((text.includes('already') && (text.includes('active') || text.includes('session'))) ||
90
+ text.includes('session already') ||
91
+ (text.includes('in progress') && text.includes('session')) ||
92
+ text.includes('only one') ||
93
+ (text.includes('another') && text.includes('session')));
94
+ }
95
+ /**
96
+ * Augments a session-creation failure with Safari's remedy when it matches
97
+ * {@link isRemoteAutomationDisabledError} (checked first, since it is the more
98
+ * specific/common failure) or {@link isSecondSessionRefusedError}; otherwise
99
+ * returns the error unchanged.
100
+ *
101
+ * Wired into `Builder.build()`'s session-creation failure path:
102
+ * when constructing a Safari session fails, this is called on the thrown
103
+ * error before it propagates to the caller.
104
+ *
105
+ * Deliberately does **not** run `safaridriver --enable` itself: that flips a
106
+ * security setting and may prompt for administrator authentication, which
107
+ * library code must never do on the user's behalf. Likewise, the second-
108
+ * session case is deliberately message augmentation only — no in-process
109
+ * queue, retry loop, or wait-for-other-session-to-close logic. An in-process
110
+ * queue cannot coordinate across separate test-runner processes (the common
111
+ * case — parallel CI workers, separate `vitest`/`playwright` processes) and
112
+ * risks `launch()` hanging indefinitely waiting for another process's Safari
113
+ * session to close.
114
+ */
115
+ export function augmentSafariSessionError(err) {
116
+ const original = err instanceof Error ? err : new Error(String(err));
117
+ if (isRemoteAutomationDisabledError(original.message)) {
118
+ return new Error(`${original.message}\n` +
119
+ 'Remedy: Safari WebDriver automation is not enabled. Run `safaridriver --enable`, ' +
120
+ 'or open Safari and enable Develop → Allow Remote Automation, then retry. ' +
121
+ 'craftdriver does not run this for you — it changes a security setting and may ' +
122
+ 'require administrator authentication.', { cause: original });
123
+ }
124
+ if (isSecondSessionRefusedError(original.message)) {
125
+ return new Error(`${original.message}\n` +
126
+ 'Remedy: only one Safari WebDriver session can be active at a time — this is ' +
127
+ "Safari's automation model, not a craftdriver limitation. Run Safari tests " +
128
+ 'serially on this Mac (e.g. `npm run test:safari`, which already forces ' +
129
+ '--maxWorkers=1); do not launch a second Safari session while one is still open. ' +
130
+ 'For concurrent Safari coverage, use separate macOS hosts, or run one additional ' +
131
+ 'session in Safari Technology Preview alongside stable Safari (each has its own ' +
132
+ 'safaridriver, so the two can run one session each at the same time).', { cause: original });
133
+ }
134
+ return original;
135
+ }
136
+ //# sourceMappingURL=safari.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safari.js","sourceRoot":"","sources":["../../src/lib/safari.ts"],"names":[],"mappings":"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"}
@@ -113,7 +113,7 @@ export declare class Tracer {
113
113
  private actionIndex;
114
114
  /** Tracks in-flight screenshot captures so `stop()` can drain them. */
115
115
  private pendingCaptures;
116
- constructor(browser: Browser, conn: BiDiConnection, browserName: 'chrome' | 'chromium' | 'firefox');
116
+ constructor(browser: Browser, conn: BiDiConnection, browserName: string);
117
117
  get isRunning(): boolean;
118
118
  start(opts: TraceStartOptions): Promise<void>;
119
119
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../src/lib/tracing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../src/lib/tracing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,mCAAmC;AACnC,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAE3D,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,yEAAyE;IACzE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mDAAmD;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,UAAU,GAClB;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GACjF;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC3D;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/E;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,IAAI,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACrH;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,YAAY,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAChE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAA;CAAE,GAC3G;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACtG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,YAAY,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3E,qBAAa,MAAM;IAqBf,OAAO,CAAC,WAAW;IApBrB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,IAAI,CAAiB;IAC7B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,EAAE,CAAuB;IACjC,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAK;IACxB,uEAAuE;IACvE,OAAO,CAAC,eAAe,CAA4B;gBAGjD,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,cAAc,EACZ,WAAW,EAAE,MAAM;IAM7B,IAAI,SAAS,IAAI,OAAO,CAEvB;IAEK,KAAK,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkGnD;;;;;;;;OAQG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAenF,2EAA2E;IAC3E,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAavE,OAAO,CAAC,kBAAkB;IA8B1B;;;;;OAKG;IACG,IAAI,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuClD,8EAA8E;IAC9E,KAAK,IAAI,IAAI;IAWb,OAAO,CAAC,IAAI;IAKZ,OAAO,CAAC,SAAS;CAUlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/lib/tracing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/lib/tracing.ts"],"names":[],"mappings":"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"}
@@ -21,5 +21,68 @@ export interface WebDriverEndpoint {
21
21
  hostname: string;
22
22
  port: number;
23
23
  path?: string;
24
+ /**
25
+ * Basic auth credentials for this endpoint (remote WebDriver only — a
26
+ * local `DriverService` endpoint never sets this). Sent as an
27
+ * `Authorization` header by `HttpClient`, never logged.
28
+ */
29
+ auth?: {
30
+ username: string;
31
+ password: string;
32
+ };
33
+ /**
34
+ * Unique key stamped on remote endpoints (`parseRemoteEndpoint`) so each
35
+ * remote session gets its own keep-alive agent instead of sharing one by
36
+ * `host:port` — many concurrent sessions legitimately share one grid/hub
37
+ * host. Local endpoints never set this; they keep sharing by `host:port`
38
+ * (every local `DriverService` picks its own free port anyway).
39
+ */
40
+ poolKey?: string;
41
+ /**
42
+ * Default per-command timeout (remote WebDriver only). Applied by
43
+ * `HttpClient.send()` when the caller doesn't pass its own `timeoutMs`.
44
+ */
45
+ commandTimeoutMs?: number;
46
+ }
47
+ /**
48
+ * A cookie as serialized by the W3C WebDriver **Classic** cookie endpoints
49
+ * (`GET /session/{id}/cookie` and `/cookie/{name}`).
50
+ *
51
+ * This is intentionally kept in the transport-layer `types.ts` (not
52
+ * `bidi/types.ts`) so `Driver` stays BiDi-agnostic — `bidi/` depends on
53
+ * `driver.ts`, never the reverse. It mirrors the WebDriver spec's "cookie"
54
+ * JSON object. Unlike BiDi's `RawNetworkCookie`, the Classic wire object
55
+ * carries no `size` field; callers that need one compute it.
56
+ *
57
+ * `sameSite` is typed loosely on read because driver casing varies in practice
58
+ * (Chromedriver/geckodriver return capitalized `Lax`/`Strict`/`None`).
59
+ */
60
+ export interface ClassicCookie {
61
+ name: string;
62
+ value: string;
63
+ path: string;
64
+ domain: string;
65
+ secure: boolean;
66
+ httpOnly: boolean;
67
+ /** Seconds since the Unix epoch (W3C uses seconds, not milliseconds). */
68
+ expiry?: number;
69
+ sameSite?: string;
70
+ }
71
+ /**
72
+ * The cookie object accepted by `POST /session/{id}/cookie` (`addCookie`).
73
+ * Only `name` and `value` are required; the driver fills `domain`/`path` from
74
+ * the current document when omitted. `sameSite` must be the spec's capitalized
75
+ * form (`None` | `Lax` | `Strict`).
76
+ */
77
+ export interface ClassicCookieInput {
78
+ name: string;
79
+ value: string;
80
+ path?: string;
81
+ domain?: string;
82
+ secure?: boolean;
83
+ httpOnly?: boolean;
84
+ /** Seconds since the Unix epoch. */
85
+ expiry?: number;
86
+ sameSite?: 'None' | 'Lax' | 'Strict';
24
87
  }
25
88
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,GAAG;IACtC,KAAK,EAAE,CAAC,CAAC;CACV;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uGAAuG;IACvG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,GAAG;IACtC,KAAK,EAAE,CAAC,CAAC;CACV;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uGAAuG;IACvG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,IAAI,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;CACtC"}
@@ -5,7 +5,7 @@
5
5
  interface VibiumExportOptions {
6
6
  sourceDir: string;
7
7
  path: string;
8
- browserName: 'chrome' | 'chromium' | 'firefox';
8
+ browserName: string;
9
9
  title?: string;
10
10
  }
11
11
  /** Write a Vibium/Playwright-compatible trace zip from a stopped raw trace. */
@@ -1 +1 @@
1
- {"version":3,"file":"vibiumTrace.d.ts","sourceRoot":"","sources":["../../src/lib/vibiumTrace.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA+CD,+EAA+E;AAC/E,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4KlF"}
1
+ {"version":3,"file":"vibiumTrace.d.ts","sourceRoot":"","sources":["../../src/lib/vibiumTrace.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA+CD,+EAA+E;AAC/E,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4KlF"}