craftdriver 1.3.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -3
- package/README.md +4 -1
- package/dist/cli/dispatcher.js +1 -1
- package/dist/cli/dispatcher.js.map +1 -1
- package/dist/cli/parseArgs.d.ts +2 -2
- package/dist/cli/parseArgs.d.ts.map +1 -1
- package/dist/cli/parseArgs.js +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/bidi/storage.d.ts +13 -0
- package/dist/lib/bidi/storage.d.ts.map +1 -1
- package/dist/lib/bidi/storage.js +81 -32
- package/dist/lib/bidi/storage.js.map +1 -1
- package/dist/lib/browser.d.ts +173 -21
- package/dist/lib/browser.d.ts.map +1 -1
- package/dist/lib/browser.js +519 -210
- package/dist/lib/browser.js.map +1 -1
- package/dist/lib/browserContext.d.ts +2 -2
- package/dist/lib/browserContext.d.ts.map +1 -1
- package/dist/lib/browserContext.js +1 -1
- package/dist/lib/builder.d.ts +4 -1
- package/dist/lib/builder.d.ts.map +1 -1
- package/dist/lib/builder.js +20 -2
- package/dist/lib/builder.js.map +1 -1
- package/dist/lib/capabilities.d.ts +45 -0
- package/dist/lib/capabilities.d.ts.map +1 -0
- package/dist/lib/capabilities.js +103 -0
- package/dist/lib/capabilities.js.map +1 -0
- package/dist/lib/chrome.d.ts +7 -2
- package/dist/lib/chrome.d.ts.map +1 -1
- package/dist/lib/chrome.js +10 -1
- package/dist/lib/chrome.js.map +1 -1
- package/dist/lib/driver.d.ts +16 -1
- package/dist/lib/driver.d.ts.map +1 -1
- package/dist/lib/driver.js +64 -0
- package/dist/lib/driver.js.map +1 -1
- package/dist/lib/driverManager.d.ts +120 -0
- package/dist/lib/driverManager.d.ts.map +1 -1
- package/dist/lib/driverManager.js +289 -10
- package/dist/lib/driverManager.js.map +1 -1
- package/dist/lib/electron.d.ts +60 -0
- package/dist/lib/electron.d.ts.map +1 -0
- package/dist/lib/electron.js +85 -0
- package/dist/lib/electron.js.map +1 -0
- package/dist/lib/electronDeeplink.d.ts +22 -0
- package/dist/lib/electronDeeplink.d.ts.map +1 -0
- package/dist/lib/electronDeeplink.js +118 -0
- package/dist/lib/electronDeeplink.js.map +1 -0
- package/dist/lib/electronDiagnostics.d.ts +49 -0
- package/dist/lib/electronDiagnostics.d.ts.map +1 -0
- package/dist/lib/electronDiagnostics.js +195 -0
- package/dist/lib/electronDiagnostics.js.map +1 -0
- package/dist/lib/electronDialogMock.d.ts +51 -0
- package/dist/lib/electronDialogMock.d.ts.map +1 -0
- package/dist/lib/electronDialogMock.js +106 -0
- package/dist/lib/electronDialogMock.js.map +1 -0
- package/dist/lib/electronFuses.d.ts +13 -0
- package/dist/lib/electronFuses.d.ts.map +1 -0
- package/dist/lib/electronFuses.js +118 -0
- package/dist/lib/electronFuses.js.map +1 -0
- package/dist/lib/electronMainBridge.d.ts +28 -0
- package/dist/lib/electronMainBridge.d.ts.map +1 -0
- package/dist/lib/electronMainBridge.js +270 -0
- package/dist/lib/electronMainBridge.js.map +1 -0
- package/dist/lib/electronMainLogs.d.ts +81 -0
- package/dist/lib/electronMainLogs.d.ts.map +1 -0
- package/dist/lib/electronMainLogs.js +176 -0
- package/dist/lib/electronMainLogs.js.map +1 -0
- package/dist/lib/electronMock.d.ts +52 -0
- package/dist/lib/electronMock.d.ts.map +1 -0
- package/dist/lib/electronMock.js +96 -0
- package/dist/lib/electronMock.js.map +1 -0
- package/dist/lib/electronRemote.d.ts +106 -0
- package/dist/lib/electronRemote.d.ts.map +1 -0
- package/dist/lib/electronRemote.js +406 -0
- package/dist/lib/electronRemote.js.map +1 -0
- package/dist/lib/electronVersions.d.ts +34 -0
- package/dist/lib/electronVersions.d.ts.map +1 -0
- package/dist/lib/electronVersions.js +90 -0
- package/dist/lib/electronVersions.js.map +1 -0
- package/dist/lib/errors.d.ts +27 -0
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +27 -0
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/launchTarget.d.ts +30 -0
- package/dist/lib/launchTarget.d.ts.map +1 -0
- package/dist/lib/launchTarget.js +174 -0
- package/dist/lib/launchTarget.js.map +1 -0
- package/dist/lib/page.d.ts +1 -0
- package/dist/lib/page.d.ts.map +1 -1
- package/dist/lib/page.js +1 -1
- package/dist/lib/page.js.map +1 -1
- package/dist/lib/safari.d.ts +90 -0
- package/dist/lib/safari.d.ts.map +1 -0
- package/dist/lib/safari.js +136 -0
- package/dist/lib/safari.js.map +1 -0
- package/dist/lib/service.d.ts +21 -0
- package/dist/lib/service.d.ts.map +1 -1
- package/dist/lib/service.js +94 -6
- package/dist/lib/service.js.map +1 -1
- package/dist/lib/tracing.d.ts +1 -1
- package/dist/lib/tracing.d.ts.map +1 -1
- package/dist/lib/tracing.js.map +1 -1
- package/dist/lib/types.d.ts +41 -0
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/vibiumTrace.d.ts +1 -1
- package/dist/lib/vibiumTrace.d.ts.map +1 -1
- package/dist/lib/webelement.d.ts.map +1 -1
- package/dist/lib/webelement.js +118 -2
- package/dist/lib/webelement.js.map +1 -1
- package/docs/api-reference.md +39 -2
- package/docs/browser-api.md +7 -1
- package/docs/driver-configuration.md +54 -0
- package/docs/electron.md +419 -0
- package/docs/error-codes.md +5 -0
- package/docs/getting-started.md +30 -10
- package/docs/index.md +5 -1
- package/docs/public/examples/displayed.html +86 -0
- package/docs/recipes/electron-app-from-another-repo.md +136 -0
- package/docs/recipes/electron-deep-link.md +117 -0
- package/docs/recipes/electron-mock-apis.md +88 -0
- package/docs/recipes/electron-native-dialog.md +105 -0
- package/docs/recipes.md +28 -9
- package/docs/safari.md +118 -0
- package/docs/standards.md +13 -0
- package/docs/why-craftdriver.md +1 -1
- package/docs/zero-config-drivers.md +12 -0
- package/package.json +7 -1
- package/skills/craftdriver/SKILL.md +4 -1
- package/skills/craftdriver/cheatsheet.md +4 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
# [1.5.0](https://github.com/dtopuzov/craftdriver/compare/v1.4.0...v1.5.0) (2026-07-14)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* add desktop Safari support ([9fa9310](https://github.com/dtopuzov/craftdriver/commit/9fa93106346783339e8f0ab9d213f592649f4ff5))
|
|
7
|
+
|
|
8
|
+
# [1.4.0](https://github.com/dtopuzov/craftdriver/compare/v1.3.0...v1.4.0) (2026-07-12)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* electron apps support ([f98c242](https://github.com/dtopuzov/craftdriver/commit/f98c2423d4c13d50c28102991e32c463347332f6))
|
|
14
|
+
|
|
1
15
|
# [1.3.0](https://github.com/dtopuzov/craftdriver/compare/v1.2.0...v1.3.0) (2026-07-11)
|
|
2
16
|
|
|
3
17
|
|
|
@@ -191,11 +205,11 @@ Fixes: https://github.com/dtopuzov/craftdriver/issues/20
|
|
|
191
205
|
- fix(browser-context): `browser.contexts()`, `browser.defaultContext`, and `browser.newContext()` now share a single cached `BrowserContext` instance per BiDi user-context id, evicted on context close. Previously `browser.contexts()` minted a fresh wrapper every call, silently losing every `on()` listener, `addInitScript`, and `route()` registration attached to a sibling instance. [src/lib/browser.ts](src/lib/browser.ts).
|
|
192
206
|
- chore(browser-context): internal cleanup pass — dropped dead state (`_routeIds`, `_tracking`), parallelized per-page intercept registration in `ctx.route()`, fixed stale jsdoc on `ctx.route()` and `ctx.on()`, and trimmed `docs/browser-context.md` to remove the obsolete "no `storageState` round-trip" callout and a duplicated multi-user-login example. Added a "Scope and precedence (gotchas)" section documenting the `storageState` coverage (cookies + localStorage only — not sessionStorage / IndexedDB), Browser-vs-Context emulation precedence, the service-worker scope of `ctx.route()`, and the non-transactional shape of `grantPermissions`. [docs/browser-context.md](docs/browser-context.md).
|
|
193
207
|
|
|
194
|
-
- feat: `BrowserContext` identity & device emulation
|
|
208
|
+
- feat: `BrowserContext` identity & device emulation — tight, capability-gated slice. New `browser.newContext({ locale, timezoneId, geolocation })` options plus live setters `ctx.setLocale(locale | null)`, `ctx.setTimezone(timezoneId | null)`, `ctx.setGeolocation(coords | null)`, `ctx.grantPermissions(names, { origin, state? })`, and `ctx.clearPermissions(names, { origin })`. All five are scoped via BiDi `userContexts: [<id>]` / `userContext` so future pages (and popups) inherit automatically with no per-page plumbing. `locale`, `timezoneId`, and `grantPermissions` work on Chrome **and** Firefox; `setGeolocation` is reliable on Chrome and wraps the BiDi error with the engine name on Firefox where coverage is still uneven. A default `browser.newContext()` (no options) remains cross-browser. Out-of-scope by design: per-context `viewport` / `colorScheme` / `reducedMotion` / `userAgent` — those still need either CDP (Chromium-only) or BiDi primitives that aren't broadly shipped. See [docs/browser-context.md](docs/browser-context.md), tests in [tests/browser-context-emulation.test.ts](tests/browser-context-emulation.test.ts).
|
|
195
209
|
|
|
196
|
-
- feat: `BrowserContext` page-scoped hooks & routing
|
|
210
|
+
- feat: `BrowserContext` page-scoped hooks & routing — `ctx.on('page' | 'close', listener)` / `ctx.off(...)` for tab-and-popup observation across every page in a context, `ctx.addInitScript(script)` returning an `InitScriptHandle` with `.id` + `.remove()` (and matching `ctx.removeInitScript(id)`) for per-context preload scripts that don't leak to sibling contexts, `ctx.route(pattern, handler)` / `ctx.unroute(id?)` for context-scoped request mocking (URL substring, `RegExp`, or `**`-aware glob; the handler receives `{ request, fulfill, continue, abort }`), `ctx.setExtraHTTPHeaders(headers)` to swap the per-context header bag at runtime, plus `browser.newContext({ baseURL, extraHTTPHeaders })` options so `ctx.newPage({ url: '/login' })` resolves against the context's base URL and every outbound request carries the configured headers. Adds `page.context()` so a `Page` can reach back to its owning `BrowserContext`. Routes are registered per BiDi browsing context (and re-registered on every new page), which is what makes Firefox honour them under a non-default `userContext`. Works on Chrome **and** Firefox via BiDi. New exported types `BrowserContextConfig`, `BrowserContextHooks`, `InitScriptHandle`, `RoutePattern`. See [docs/browser-context.md](docs/browser-context.md), tests in [tests/browser-context-hooks.test.ts](tests/browser-context-hooks.test.ts).
|
|
197
211
|
|
|
198
|
-
- feat: `BrowserContext` cookies + storage state
|
|
212
|
+
- feat: `BrowserContext` cookies + storage state — `ctx.cookies(urls?)`, `ctx.addCookies(cookies)`, `ctx.clearCookies(filter?)`, `ctx.storageState(opts?)`, `ctx.saveStorageState(path, opts?)`, `ctx.loadStorageState(source)`, and `browser.newContext({ storageState })`. All operations are scoped to the user context via the BiDi `storageKey` partition; localStorage is restored on first navigation through an internal preload script bound to the user context. Enables the auth-fixture pattern (log in once, save to JSON, reuse across tests) and proper multi-user isolation. Works on Chrome **and** Firefox. New exported types `ClearCookiesFilter`, `ContextStorageStateOptions`. See [docs/browser-context.md](docs/browser-context.md), tests in [tests/browser-context-storage.test.ts](tests/browser-context-storage.test.ts).
|
|
199
213
|
|
|
200
214
|
- chore(tests): drop the `bidi-` filename prefix on the four BiDi-specific test files (`bidi-network` → `network`, `bidi-logs` → `logs`, `bidi-load-state` → `load-state`, `bidi-storage` → `storage`). The prefix dates back to when those were the only BiDi tests; today most tests are BiDi-only (BiDi is default-on) and the inconsistent prefix actively misled readers. BiDi-ness is now treated as an implementation detail of the feature, not a test category. Renamed via `git mv` so blame survives. Updated [.github/instructions/tests.instructions.md](.github/instructions/tests.instructions.md) accordingly. Also renamed the non-test helper `tests/auto-trace.ts` → `tests/_auto-trace.ts` so it sorts to the top of the directory and reads as "not a test" at a glance.
|
|
201
215
|
- test: smoke tests for the MCP server in [tests/mcp-smoke.test.ts](tests/mcp-smoke.test.ts) — spawn `node bin/craftdriver.mjs mcp` as a child process, speak JSON-RPC 2.0 over its stdio (no LLM required — MCP is a deterministic protocol), and assert on the protocol surface. Three cases: `tools/list` returns the 14 documented tools by name, `browser_navigate` + `browser_snapshot` against [examples/login.html](examples/login.html) yields refs for the known form controls, and `browser_click` on a missing selector returns `isError: true` with a stable `structuredContent.error.code`.
|
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@ CraftDriver is for writing boringly reliable automation against real browsers, w
|
|
|
16
16
|
## Why CraftDriver?
|
|
17
17
|
|
|
18
18
|
- 🍺 **Focused Node.js API** - browser automation without a giant framework around it.
|
|
19
|
-
- 🧭 **Real browsers** - drives installed Chrome, Chromium, and Firefox instead of patched browser engine builds.
|
|
19
|
+
- 🧭 **Real browsers** - drives installed Chrome, Chromium, and Firefox instead of patched browser engine builds, plus real ([Safari on macOS](https://dtopuzov.github.io/craftdriver/safari)).
|
|
20
20
|
- 🌐 **Standards that age well** - W3C WebDriver standards stay stable while browser-private protocols change.
|
|
21
21
|
- 🚦 **Readable, auto-waited flows** - role, label, text, test id, CSS, XPath, click, fill, and expect.
|
|
22
22
|
- 📡 **Network control** - mock, block, intercept, and wait for browser requests and responses.
|
|
@@ -24,6 +24,7 @@ CraftDriver is for writing boringly reliable automation against real browsers, w
|
|
|
24
24
|
- ⏱️ **Virtual clock** - freeze or fast-forward `Date`, timers, and time-sensitive UI.
|
|
25
25
|
- ♿ **Accessibility audits** - run axe-core checks on pages, elements, and locators.
|
|
26
26
|
- 🧾 **Trace evidence** - capture actions, console output, errors, network events, and screenshots.
|
|
27
|
+
- ⚛️ **Electron apps** - drive packaged Electron desktop app renderers, matched to the app's bundled Chromium.
|
|
27
28
|
- 🤖 **Agent-friendly** - CLI, MCP, and assistant rules when coding agents need the browser.
|
|
28
29
|
|
|
29
30
|
## Choose Your Path
|
|
@@ -114,6 +115,8 @@ await browser.a11y.check();
|
|
|
114
115
|
| Tracing | Crash-resilient NDJSON plus Vibium Player compatible trace zips | [Tracing](https://dtopuzov.github.io/craftdriver/tracing) |
|
|
115
116
|
| Accessibility | Built-in axe-core audits for page, element, and locator scopes | [Accessibility](https://dtopuzov.github.io/craftdriver/accessibility) |
|
|
116
117
|
| Virtual time | Fake `Date`, `setTimeout`, and `setInterval` for time-sensitive flows | [Virtual clock](https://dtopuzov.github.io/craftdriver/clock) |
|
|
118
|
+
| Electron apps | Drive packaged Electron renderers with a version-pinned chromedriver | [Electron apps](https://dtopuzov.github.io/craftdriver/electron) |
|
|
119
|
+
| Safari (macOS) | Real desktop Safari via WebDriver Classic — enable once with `safaridriver --enable` | [Safari](https://dtopuzov.github.io/craftdriver/safari) |
|
|
117
120
|
| AI agents | CLI, MCP server, assistant bootstrap, packaged skill files | [AI agent guide](https://dtopuzov.github.io/craftdriver/agents) |
|
|
118
121
|
|
|
119
122
|
## Links
|
package/dist/cli/dispatcher.js
CHANGED
|
@@ -74,7 +74,7 @@ export async function dispatch(ctx, cmd, args = {}) {
|
|
|
74
74
|
const page = await b.activePage().catch(() => null);
|
|
75
75
|
const url = page ? await page.url().catch(() => '') : '';
|
|
76
76
|
return {
|
|
77
|
-
browser: ctx.launchOptions.browserName ?? 'chrome',
|
|
77
|
+
browser: ctx.launchOptions.electron ? 'electron' : (ctx.launchOptions.browserName ?? 'chrome'),
|
|
78
78
|
pid: process.pid,
|
|
79
79
|
ready: true,
|
|
80
80
|
activeUrl: url,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/cli/dispatcher.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/cli/dispatcher.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/parseArgs.d.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* --pretty force pretty output even when piped
|
|
10
10
|
* --explain include one-line BiDi step log (placeholder)
|
|
11
11
|
* --headless / --headed launch option (only honoured for ephemeral / first daemon start)
|
|
12
|
-
* --browser <name> chrome|chromium|firefox
|
|
12
|
+
* --browser <name> chrome|chromium|firefox|safari
|
|
13
13
|
* --ephemeral run from stdin, don't talk to daemon
|
|
14
14
|
*
|
|
15
15
|
* Returns `null` when the user only asked for help / version.
|
|
@@ -32,6 +32,6 @@ export interface ParsedCommand {
|
|
|
32
32
|
args: Record<string, unknown>;
|
|
33
33
|
flags: GlobalFlags;
|
|
34
34
|
}
|
|
35
|
-
export declare const HELP_TEXT = "craftdriver \u2014 agent-first WebDriver CLI\n\nUSAGE\n craftdriver <command> [args...] [flags]\n\nCOMMON COMMANDS\n go <url> navigate the active page\n find <selector> [--all] [--limit N] [--offset M]\n click <selector>\n fill <selector> <value>\n press <key> [selector]\n hover <selector>\n text [selector] [--limit N]\n attr <selector> <name>\n value <selector>\n is visible|enabled|checked <selector>\n wait <selector> [--state visible|hidden|attached|detached] [--timeout ms]\n wait load [--state load|domcontentloaded|networkidle]\n exists <selector> 0-wait probe; exit 0 if any match\n pages list open pages\n snapshot sanitized DOM summary with refs\n (use ref=eN as a selector)\n screenshot [-o file.png] [--full-page] [--selector S]\n eval <js> advanced; evaluate JS on active page\n back | forward | reload | status | quit\n\nDAEMON\n daemon start launch background browser (Unix socket)\n daemon status PID, browser, active page URL\n daemon stop graceful shutdown\n\nINIT (agent guide files for the current project)\n init <flavor> [--force] [--dry-run]\n flavors: agents | copilot | claude | cursor | gemini | all\n writes a short rules file under the path each tool expects:\n agents \u2192 AGENTS.md\n copilot \u2192 .github/copilot-instructions.md\n claude \u2192 CLAUDE.md\n cursor \u2192 .cursor/rules/craftdriver.mdc\n gemini \u2192 GEMINI.md\n all \u2192 every file above\n\nMCP SERVER (for hosted / sandboxed AI agents)\n mcp speak Model Context Protocol on stdio\n install snippet (Claude Code):\n claude mcp add craftdriver -- npx -y craftdriver mcp\n install snippet (Cursor / Windsurf / Zed):\n { \"mcpServers\": { \"craftdriver\": {\n \"command\": \"npx\", \"args\": [\"-y\", \"craftdriver\", \"mcp\"] } } }\n\nEPHEMERAL MODE (sandboxed agents)\n craftdriver --ephemeral < script.txt\n (one command per line; same syntax as on the CLI)\n\nSELECTOR SYNTAX\n CSS by default. Prefix to switch kind:\n role=button[name=Submit] text=Sign In label=Email\n placeholder=Search\u2026 testid=login-btn xpath=//div[1]\n\nFLAGS\n --timeout <ms> per-call timeout (default 5000ms)\n --json | --pretty force output format\n --headless / --headed override headless mode (first launch only)\n --browser <chrome|chromium|firefox>\n --ephemeral no daemon; read commands from stdin\n\nEXIT CODES\n 0 success 1 assertion/timeout/no-match 2 usage error\n";
|
|
35
|
+
export declare const HELP_TEXT = "craftdriver \u2014 agent-first WebDriver CLI\n\nUSAGE\n craftdriver <command> [args...] [flags]\n\nCOMMON COMMANDS\n go <url> navigate the active page\n find <selector> [--all] [--limit N] [--offset M]\n click <selector>\n fill <selector> <value>\n press <key> [selector]\n hover <selector>\n text [selector] [--limit N]\n attr <selector> <name>\n value <selector>\n is visible|enabled|checked <selector>\n wait <selector> [--state visible|hidden|attached|detached] [--timeout ms]\n wait load [--state load|domcontentloaded|networkidle]\n exists <selector> 0-wait probe; exit 0 if any match\n pages list open pages\n snapshot sanitized DOM summary with refs\n (use ref=eN as a selector)\n screenshot [-o file.png] [--full-page] [--selector S]\n eval <js> advanced; evaluate JS on active page\n back | forward | reload | status | quit\n\nDAEMON\n daemon start launch background browser (Unix socket)\n daemon status PID, browser, active page URL\n daemon stop graceful shutdown\n\nINIT (agent guide files for the current project)\n init <flavor> [--force] [--dry-run]\n flavors: agents | copilot | claude | cursor | gemini | all\n writes a short rules file under the path each tool expects:\n agents \u2192 AGENTS.md\n copilot \u2192 .github/copilot-instructions.md\n claude \u2192 CLAUDE.md\n cursor \u2192 .cursor/rules/craftdriver.mdc\n gemini \u2192 GEMINI.md\n all \u2192 every file above\n\nMCP SERVER (for hosted / sandboxed AI agents)\n mcp speak Model Context Protocol on stdio\n install snippet (Claude Code):\n claude mcp add craftdriver -- npx -y craftdriver mcp\n install snippet (Cursor / Windsurf / Zed):\n { \"mcpServers\": { \"craftdriver\": {\n \"command\": \"npx\", \"args\": [\"-y\", \"craftdriver\", \"mcp\"] } } }\n\nEPHEMERAL MODE (sandboxed agents)\n craftdriver --ephemeral < script.txt\n (one command per line; same syntax as on the CLI)\n\nSELECTOR SYNTAX\n CSS by default. Prefix to switch kind:\n role=button[name=Submit] text=Sign In label=Email\n placeholder=Search\u2026 testid=login-btn xpath=//div[1]\n\nFLAGS\n --timeout <ms> per-call timeout (default 5000ms)\n --json | --pretty force output format\n --headless / --headed override headless mode (first launch only)\n --browser <chrome|chromium|firefox|safari>\n --ephemeral no daemon; read commands from stdin\n\nEXIT CODES\n 0 success 1 assertion/timeout/no-match 2 usage error\n";
|
|
36
36
|
export declare function parseArgv(argv: string[]): ParsedCommand | null;
|
|
37
37
|
//# sourceMappingURL=parseArgs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseArgs.d.ts","sourceRoot":"","sources":["../../src/cli/parseArgs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;IACtB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"parseArgs.d.ts","sourceRoot":"","sources":["../../src/cli/parseArgs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;IACtB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,eAAO,MAAM,SAAS,kwFAoErB,CAAC;AAEF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,GAAG,IAAI,CA2I9D"}
|
package/dist/cli/parseArgs.js
CHANGED
|
@@ -61,7 +61,7 @@ FLAGS
|
|
|
61
61
|
--timeout <ms> per-call timeout (default ${5000}ms)
|
|
62
62
|
--json | --pretty force output format
|
|
63
63
|
--headless / --headed override headless mode (first launch only)
|
|
64
|
-
--browser <chrome|chromium|firefox>
|
|
64
|
+
--browser <chrome|chromium|firefox|safari>
|
|
65
65
|
--ephemeral no daemon; read commands from stdin
|
|
66
66
|
|
|
67
67
|
EXIT CODES
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { CraftdriverError, ErrorCode, type ErrorCodeName, type ErrorCodeValue, type CraftdriverErrorOptions, } from './lib/errors.js';
|
|
2
|
-
export { Browser, devices, type LaunchOptions, type LoadState, type Dialog, type DialogType, type MobileEmulation, type DeviceMetrics, type DeviceName, type Download, type EmulateOptions, } from './lib/browser.js';
|
|
2
|
+
export { Browser, devices, type LaunchOptions, type LoadState, type Dialog, type DialogType, type MobileEmulation, type DeviceMetrics, type DeviceName, type Download, type EmulateOptions, type ElectronLaunchOptions, type PageMatcher, } from './lib/browser.js';
|
|
3
3
|
export { Key } from './lib/keys.js';
|
|
4
4
|
export { By } from './lib/by.js';
|
|
5
5
|
export { Locator } from './lib/locator.js';
|
|
@@ -11,7 +11,13 @@ export { Mouse } from './lib/mouse.js';
|
|
|
11
11
|
export { type TraceStartOptions, type TraceStopOptions, type TraceScreenshotMode, type TraceEvent, } from './lib/tracing.js';
|
|
12
12
|
export { NetworkInterceptor, LogMonitor, SessionStateManager, type Cookie, type CookieInput, type SessionState, type StorageStateOptions, type MockResponse, type InterceptedRequest, type InterceptedResponse, type ConsoleMessage, type JavaScriptError, type LogMessage, } from './lib/bidi/index.js';
|
|
13
13
|
export { ChromeService, type ChromeServiceOptions } from './lib/chrome.js';
|
|
14
|
+
export { ElectronService, type ElectronServiceOptions } from './lib/electron.js';
|
|
14
15
|
export { FirefoxService, type FirefoxServiceOptions } from './lib/firefox.js';
|
|
16
|
+
export { SafariService, type SafariServiceOptions } from './lib/safari.js';
|
|
17
|
+
export { ElectronRemote, type MainProcessCallback, type ElectronRemoteOptions, type ElectronMainConnectInfo, } from './lib/electronRemote.js';
|
|
18
|
+
export { type ElectronDialogMock, type ElectronDialogMethod, type ElectronDialogCall, type ElectronDialogResult, type ElectronOpenDialogResult, type ElectronSaveDialogResult, type ElectronMessageBoxResult, } from './lib/electronDialogMock.js';
|
|
19
|
+
export { type ElectronMock, type ElectronMockCall } from './lib/electronMock.js';
|
|
20
|
+
export { ElectronMainLogMonitor, type ElectronMainLog, type ElectronMainLogLevel, type ElectronMainLogHandler, } from './lib/electronMainLogs.js';
|
|
15
21
|
export { Clock, type ClockTime, type ClockInstallOptions, } from './lib/clock.js';
|
|
16
22
|
export { A11y, A11yError, type A11yOptions, type A11yResult, type A11yViolation, type A11yViolationNode, type A11yImpact, } from './lib/a11y.js';
|
|
17
23
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,uBAAuB,GAC7B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,OAAO,EACP,OAAO,EACP,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,MAAM,EACX,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,uBAAuB,GAC7B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,OAAO,EACP,OAAO,EACP,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,MAAM,EACX,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,WAAW,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EACL,cAAc,EACd,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,YAAY,GAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,UAAU,GAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,mBAAmB,EACnB,KAAK,MAAM,EACX,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,UAAU,GAChB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAG3E,OAAO,EACL,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,GAC7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,GAC9B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EACL,sBAAsB,EACtB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,GAC5B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,KAAK,EACL,KAAK,SAAS,EACd,KAAK,mBAAmB,GACzB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,IAAI,EACJ,SAAS,EACT,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,UAAU,GAChB,MAAM,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -13,7 +13,12 @@ export { Mouse } from './lib/mouse.js';
|
|
|
13
13
|
export { NetworkInterceptor, LogMonitor, SessionStateManager, } from './lib/bidi/index.js';
|
|
14
14
|
// Driver services — expose for users who need custom binary paths / ports
|
|
15
15
|
export { ChromeService } from './lib/chrome.js';
|
|
16
|
+
export { ElectronService } from './lib/electron.js';
|
|
16
17
|
export { FirefoxService } from './lib/firefox.js';
|
|
18
|
+
export { SafariService } from './lib/safari.js';
|
|
19
|
+
// Electron main-process access (browser.electron)
|
|
20
|
+
export { ElectronRemote, } from './lib/electronRemote.js';
|
|
21
|
+
export { ElectronMainLogMonitor, } from './lib/electronMainLogs.js';
|
|
17
22
|
// Virtual clock control
|
|
18
23
|
export { Clock, } from './lib/clock.js';
|
|
19
24
|
// Accessibility audits (axe-core wrapper — axe-core ships with craftdriver)
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,OAAO,EACL,gBAAgB,EAChB,SAAS,GAIV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,OAAO,EACP,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,OAAO,EACL,gBAAgB,EAChB,SAAS,GAIV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,OAAO,EACP,OAAO,GAYR,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EACL,cAAc,GAOf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAQvC,+DAA+D;AAC/D,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,mBAAmB,GAWpB,MAAM,qBAAqB,CAAC;AAE7B,0EAA0E;AAC1E,OAAO,EAAE,aAAa,EAA6B,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,eAAe,EAA+B,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,cAAc,EAA8B,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAA6B,MAAM,iBAAiB,CAAC;AAE3E,kDAAkD;AAClD,OAAO,EACL,cAAc,GAIf,MAAM,yBAAyB,CAAC;AAWjC,OAAO,EACL,sBAAsB,GAIvB,MAAM,2BAA2B,CAAC;AAEnC,wBAAwB;AACxB,OAAO,EACL,KAAK,GAGN,MAAM,gBAAgB,CAAC;AAExB,4EAA4E;AAC5E,OAAO,EACL,IAAI,EACJ,SAAS,GAMV,MAAM,eAAe,CAAC"}
|
|
@@ -70,8 +70,21 @@ export declare class SessionStateManager {
|
|
|
70
70
|
}): Promise<void>;
|
|
71
71
|
private getCookiesBiDi;
|
|
72
72
|
private getCookiesClassic;
|
|
73
|
+
/**
|
|
74
|
+
* Map a W3C Classic cookie object onto the `Cookie` shape this module's
|
|
75
|
+
* callers expect. The Classic endpoint carries no `size`, so we compute it
|
|
76
|
+
* the same way the old JS-based path did — `(name + value).length` — to keep
|
|
77
|
+
* the return shape backward compatible.
|
|
78
|
+
*/
|
|
79
|
+
private classicCookieToCookie;
|
|
73
80
|
private setCookiesBiDi;
|
|
74
81
|
private setCookiesClassic;
|
|
82
|
+
/**
|
|
83
|
+
* Convert this module's lowercase sameSite (`strict`/`lax`/`none`/`default`)
|
|
84
|
+
* to the W3C Classic capitalized form. `default`/undefined is dropped so the
|
|
85
|
+
* driver applies the browser's own default.
|
|
86
|
+
*/
|
|
87
|
+
private toClassicSameSite;
|
|
75
88
|
private normalizeCookie;
|
|
76
89
|
private normalizeCookieValue;
|
|
77
90
|
private getLocalStorage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/lib/bidi/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/lib/bidi/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,EACV,eAAe,EACf,MAAM,EACN,WAAW,EACX,YAAY,EAKb,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,mBAAmB;IAClC,qDAAqD;IACrD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,0DAA0D;IAC1D,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,6DAA6D;IAC7D,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAC,CAAkB;gBAEtB,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,eAAe;IAMxF;;;OAGG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,YAAY,CAAC;IAMvF;;OAEG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5C;;OAEG;IACG,QAAQ,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,YAAY,CAAC;IA6BxE;;OAEG;IACG,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBlD;;OAEG;IACG,UAAU,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAOhF;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlE;;OAEG;IACG,YAAY,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB9E;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;QACrC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB,GAAG,OAAO,CAAC,IAAI,CAAC;YAsBH,cAAc;YAgBd,iBAAiB;IAQ/B;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;YAqBf,cAAc;YAiCd,iBAAiB;IAqC/B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,oBAAoB;YAId,eAAe;YAuBf,iBAAiB;YAuBjB,eAAe;YAef,iBAAiB;YAcjB,gBAAgB;CAG/B"}
|
package/dist/lib/bidi/storage.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Playwright-style session persistence - save login state, cookies, localStorage
|
|
4
4
|
*/
|
|
5
5
|
import fs from 'fs/promises';
|
|
6
|
+
import { CraftdriverError, ErrorCode } from '../errors.js';
|
|
6
7
|
export class SessionStateManager {
|
|
7
8
|
connection;
|
|
8
9
|
driver;
|
|
@@ -106,14 +107,20 @@ export class SessionStateManager {
|
|
|
106
107
|
});
|
|
107
108
|
}
|
|
108
109
|
else {
|
|
109
|
-
// Classic WebDriver
|
|
110
|
+
// Classic WebDriver — delete cookies via the native cookie store, which
|
|
111
|
+
// (unlike `document.cookie = "...expires=..."`) can also remove HttpOnly
|
|
112
|
+
// cookies. No filter → clear everything in one call.
|
|
113
|
+
if (!filter?.domain && !filter?.name) {
|
|
114
|
+
await this.driver.deleteAllCookies();
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
110
117
|
const cookies = await this.getCookiesClassic();
|
|
111
118
|
for (const cookie of cookies) {
|
|
112
119
|
if (filter?.domain && cookie.domain !== filter.domain)
|
|
113
120
|
continue;
|
|
114
121
|
if (filter?.name && cookie.name !== filter.name)
|
|
115
122
|
continue;
|
|
116
|
-
await this.driver.
|
|
123
|
+
await this.driver.deleteCookie(cookie.name);
|
|
117
124
|
}
|
|
118
125
|
}
|
|
119
126
|
}
|
|
@@ -149,22 +156,26 @@ export class SessionStateManager {
|
|
|
149
156
|
return result.cookies.map((cookie) => this.normalizeCookie(cookie));
|
|
150
157
|
}
|
|
151
158
|
async getCookiesClassic() {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
159
|
+
// Read from the browser's native cookie store via the W3C Classic cookie
|
|
160
|
+
// endpoint (not `document.cookie`), so HttpOnly cookies are included and
|
|
161
|
+
// secure/sameSite/path/expiry reflect the real stored values.
|
|
162
|
+
const cookies = await this.driver.getCookies();
|
|
163
|
+
return (cookies || []).map((c) => this.classicCookieToCookie(c));
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Map a W3C Classic cookie object onto the `Cookie` shape this module's
|
|
167
|
+
* callers expect. The Classic endpoint carries no `size`, so we compute it
|
|
168
|
+
* the same way the old JS-based path did — `(name + value).length` — to keep
|
|
169
|
+
* the return shape backward compatible.
|
|
170
|
+
*/
|
|
171
|
+
classicCookieToCookie(c) {
|
|
172
|
+
const raw = (c.sameSite || '').toLowerCase();
|
|
173
|
+
const sameSite = raw === 'strict' || raw === 'lax' || raw === 'none'
|
|
174
|
+
? raw
|
|
175
|
+
: c.sameSite
|
|
176
|
+
? 'default'
|
|
177
|
+
: 'lax';
|
|
155
178
|
return {
|
|
156
|
-
name: name,
|
|
157
|
-
value: valueParts.join('='),
|
|
158
|
-
domain: location.hostname,
|
|
159
|
-
path: '/',
|
|
160
|
-
httpOnly: false,
|
|
161
|
-
secure: location.protocol === 'https:',
|
|
162
|
-
size: c.length,
|
|
163
|
-
sameSite: 'lax'
|
|
164
|
-
};
|
|
165
|
-
}).filter(c => c.name);
|
|
166
|
-
`);
|
|
167
|
-
return (cookies || []).map((c) => ({
|
|
168
179
|
name: c.name,
|
|
169
180
|
value: c.value,
|
|
170
181
|
domain: c.domain,
|
|
@@ -172,9 +183,9 @@ export class SessionStateManager {
|
|
|
172
183
|
size: (c.name + c.value).length,
|
|
173
184
|
httpOnly: c.httpOnly ?? false,
|
|
174
185
|
secure: c.secure ?? false,
|
|
175
|
-
sameSite
|
|
186
|
+
sameSite,
|
|
176
187
|
expiry: c.expiry,
|
|
177
|
-
}
|
|
188
|
+
};
|
|
178
189
|
}
|
|
179
190
|
async setCookiesBiDi(cookies) {
|
|
180
191
|
for (const cookie of cookies) {
|
|
@@ -209,21 +220,59 @@ export class SessionStateManager {
|
|
|
209
220
|
}
|
|
210
221
|
async setCookiesClassic(cookies) {
|
|
211
222
|
for (const cookie of cookies) {
|
|
212
|
-
const
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
223
|
+
const input = {
|
|
224
|
+
name: cookie.name,
|
|
225
|
+
value: this.normalizeCookieValue(cookie.value),
|
|
226
|
+
};
|
|
216
227
|
if (cookie.domain)
|
|
217
|
-
|
|
218
|
-
if (cookie.
|
|
219
|
-
|
|
220
|
-
if (cookie.
|
|
221
|
-
|
|
222
|
-
if (cookie.
|
|
223
|
-
|
|
224
|
-
|
|
228
|
+
input.domain = cookie.domain;
|
|
229
|
+
if (cookie.path)
|
|
230
|
+
input.path = cookie.path;
|
|
231
|
+
if (cookie.secure !== undefined)
|
|
232
|
+
input.secure = cookie.secure;
|
|
233
|
+
if (cookie.httpOnly !== undefined)
|
|
234
|
+
input.httpOnly = cookie.httpOnly;
|
|
235
|
+
if (cookie.expiry !== undefined)
|
|
236
|
+
input.expiry = cookie.expiry;
|
|
237
|
+
const sameSite = this.toClassicSameSite(cookie.sameSite);
|
|
238
|
+
if (sameSite)
|
|
239
|
+
input.sameSite = sameSite;
|
|
240
|
+
// Native `POST /cookie` — sets HttpOnly and the real sameSite/secure
|
|
241
|
+
// flags, which a `document.cookie = "..."` assignment cannot do.
|
|
242
|
+
try {
|
|
243
|
+
await this.driver.addCookie(input);
|
|
244
|
+
}
|
|
245
|
+
catch (err) {
|
|
246
|
+
// The W3C cookie endpoint rejects a cookie whose domain doesn't match
|
|
247
|
+
// the current document with `invalid cookie domain`. The previous
|
|
248
|
+
// `document.cookie = "..."` path silently ignored such cookies (the
|
|
249
|
+
// browser refuses cross-origin document.cookie writes without error),
|
|
250
|
+
// so preserve that best-effort behavior for state restore — skip the
|
|
251
|
+
// unsettable cookie rather than aborting the whole restore. Any other
|
|
252
|
+
// addCookie failure still propagates.
|
|
253
|
+
if (CraftdriverError.is(err, ErrorCode.DRIVER_ERROR) &&
|
|
254
|
+
err.detail?.webDriverError === 'invalid cookie domain') {
|
|
255
|
+
continue;
|
|
256
|
+
}
|
|
257
|
+
throw err;
|
|
225
258
|
}
|
|
226
|
-
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Convert this module's lowercase sameSite (`strict`/`lax`/`none`/`default`)
|
|
263
|
+
* to the W3C Classic capitalized form. `default`/undefined is dropped so the
|
|
264
|
+
* driver applies the browser's own default.
|
|
265
|
+
*/
|
|
266
|
+
toClassicSameSite(sameSite) {
|
|
267
|
+
switch (sameSite) {
|
|
268
|
+
case 'strict':
|
|
269
|
+
return 'Strict';
|
|
270
|
+
case 'lax':
|
|
271
|
+
return 'Lax';
|
|
272
|
+
case 'none':
|
|
273
|
+
return 'None';
|
|
274
|
+
default:
|
|
275
|
+
return undefined;
|
|
227
276
|
}
|
|
228
277
|
}
|
|
229
278
|
normalizeCookie(cookie) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/lib/bidi/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/lib/bidi/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,aAAa,CAAC;AAG7B,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAwB3D,MAAM,OAAO,mBAAmB;IACtB,UAAU,CAAwB;IAClC,MAAM,CAAS;IACf,OAAO,CAAmB;IAElC,YAAY,MAAc,EAAE,UAAiC,EAAE,OAAyB;QACtF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,UAA+B,EAAE;QAC7D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,IAAY;QAC1B,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAiB,CAAC;QAC/C,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,UAA+B,EAAE;QAC9C,MAAM,KAAK,GAAiB,EAAE,CAAC;QAE/B,2CAA2C;QAC3C,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;YACrC,KAAK,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1C,CAAC;QAED,gDAAgD;QAChD,IAAI,OAAO,CAAC,mBAAmB,KAAK,KAAK,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,KAAK,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACnE,CAAC;YAAC,MAAM,CAAC;gBACP,sCAAsC;YACxC,CAAC;QACH,CAAC;QAED,mDAAmD;QACnD,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,KAAK,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACvE,CAAC;YAAC,MAAM,CAAC;gBACP,wCAAwC;YAC1C,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,KAAmB;QAChC,cAAc;QACd,IAAI,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QAED,mBAAmB;QACnB,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACjD,CAAC;QAED,qBAAqB;QACrB,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,MAA2C;QAC1D,IAAI,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,OAAiC;QAChD,IAAI,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE,CAAC;YACnC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,MAA2C;QAC5D,IAAI,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE,CAAC;YACnC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBAClD,MAAM,EAAE,MAAM,IAAI,EAAE;gBACpB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnF,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,wEAAwE;YACxE,yEAAyE;YACzE,qDAAqD;YACrD,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;gBACrC,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC/C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;oBAAE,SAAS;gBAChE,IAAI,MAAM,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;oBAAE,SAAS;gBAC1D,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,MASf;QACC,MAAM,MAAM,GACV,MAAM,CAAC,MAAM,YAAY,IAAI;YAC3B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;YAC5C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;QAEpB,MAAM,aAAa,GAAgB;YACjC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxD,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,EAA+B;YACrE,MAAM;SACP,CAAC;QAEF,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,0BAA0B;IAElB,KAAK,CAAC,cAAc,CAAC,MAG5B;QACC,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,SAAS,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAChE,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAW,CAAC,IAAI,CAAmB,oBAAoB,EAAE,MAAM,CAAC,CAAC;QAC3F,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IACtE,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC7B,yEAAyE;QACzE,yEAAyE;QACzE,8DAA8D;QAC9D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAC/C,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IAED;;;;;OAKG;IACK,qBAAqB,CAAC,CAAgB;QAC5C,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,QAAQ,GACZ,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,MAAM;YACjD,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,KAAK,CAAC;QACd,OAAO;YACL,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,GAAG;YACnB,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM;YAC/B,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,KAAK;YAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,KAAK;YACzB,QAAQ;YACR,MAAM,EAAE,CAAC,CAAC,MAAM;SACjB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,OAAiC;QAC5D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,oEAAoE;YACpE,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC/B,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC3B,IAAI,QAAQ,KAAK,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBACnC,+DAA+D;gBAC/D,QAAQ,GAAG,KAAK,CAAC,CAAC,wCAAwC;YAC5D,CAAC;YAED,MAAM,aAAa,GAAqB;gBACtC,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBACzE,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC;YAEF,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,UAAW,CAAC,IAAI,CAAC,mBAAmB,EAAE;oBAC/C,MAAM,EAAE,aAAa;oBACrB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACnF,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,mEAAmE;gBACnE,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,OAAiC;QAC/D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAuB;gBAChC,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC;aAC/C,CAAC;YACF,IAAI,MAAM,CAAC,MAAM;gBAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAChD,IAAI,MAAM,CAAC,IAAI;gBAAE,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;gBAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC9D,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;gBAAE,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YACpE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;gBAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzD,IAAI,QAAQ;gBAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAExC,qEAAqE;YACrE,iEAAiE;YACjE,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,sEAAsE;gBACtE,kEAAkE;gBAClE,oEAAoE;gBACpE,sEAAsE;gBACtE,qEAAqE;gBACrE,sEAAsE;gBACtE,sCAAsC;gBACtC,IACE,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,YAAY,CAAC;oBAChD,GAAG,CAAC,MAAM,EAAE,cAAc,KAAK,uBAAuB,EACtD,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,iBAAiB,CACvB,QAAgD;QAEhD,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,QAAQ;gBACX,OAAO,QAAQ,CAAC;YAClB,KAAK,KAAK;gBACR,OAAO,KAAK,CAAC;YACf,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB;gBACE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,MAAwB;QAC9C,OAAO;YACL,GAAG,MAAM;YACT,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC;SAC/C,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,KAA0B;QACrD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IACzD,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,OAAkB;QAC9C,MAAM,MAAM,GAA2C,EAAE,CAAC;QAE1D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAS,wBAAwB,CAAC,CAAC;QAExF,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAyB;;;;;;;OAOvE,CAAC,CAAC;YAEH,IAAI,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/C,MAAM,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC;YAClC,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,OAAkB;QAChD,MAAM,MAAM,GAA2C,EAAE,CAAC;QAE1D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAS,wBAAwB,CAAC,CAAC;QAExF,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAyB;;;;;;;OAOvE,CAAC,CAAC;YAEH,IAAI,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/C,MAAM,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC;YAClC,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,OAA+C;QAC3E,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAS,wBAAwB,CAAC,CAAC;QAExF,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACrD,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;gBAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChD,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAC7B,wBAAwB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CACzE,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,sEAAsE;QACxE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,OAA+C;QAC7E,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAS,wBAAwB,CAAC,CAAC;QAExF,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACrD,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;gBAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChD,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAC7B,0BAA0B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAC3E,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAS,0BAA0B,CAAC,CAAC;IACvE,CAAC;CACF"}
|