craftdriver 1.4.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.
Files changed (66) hide show
  1. package/CHANGELOG.md +10 -3
  2. package/README.md +4 -2
  3. package/dist/cli/parseArgs.d.ts +2 -2
  4. package/dist/cli/parseArgs.d.ts.map +1 -1
  5. package/dist/cli/parseArgs.js +1 -1
  6. package/dist/index.d.ts +1 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +1 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/lib/bidi/storage.d.ts +13 -0
  11. package/dist/lib/bidi/storage.d.ts.map +1 -1
  12. package/dist/lib/bidi/storage.js +81 -32
  13. package/dist/lib/bidi/storage.js.map +1 -1
  14. package/dist/lib/browser.d.ts +27 -1
  15. package/dist/lib/browser.d.ts.map +1 -1
  16. package/dist/lib/browser.js +142 -74
  17. package/dist/lib/browser.js.map +1 -1
  18. package/dist/lib/browserContext.d.ts +2 -2
  19. package/dist/lib/browserContext.d.ts.map +1 -1
  20. package/dist/lib/browserContext.js +1 -1
  21. package/dist/lib/builder.d.ts +4 -1
  22. package/dist/lib/builder.d.ts.map +1 -1
  23. package/dist/lib/builder.js +20 -2
  24. package/dist/lib/builder.js.map +1 -1
  25. package/dist/lib/capabilities.d.ts +12 -2
  26. package/dist/lib/capabilities.d.ts.map +1 -1
  27. package/dist/lib/capabilities.js +84 -39
  28. package/dist/lib/capabilities.js.map +1 -1
  29. package/dist/lib/driver.d.ts +16 -1
  30. package/dist/lib/driver.d.ts.map +1 -1
  31. package/dist/lib/driver.js +64 -0
  32. package/dist/lib/driver.js.map +1 -1
  33. package/dist/lib/driverManager.d.ts +28 -0
  34. package/dist/lib/driverManager.d.ts.map +1 -1
  35. package/dist/lib/driverManager.js +60 -0
  36. package/dist/lib/driverManager.js.map +1 -1
  37. package/dist/lib/launchTarget.d.ts +1 -1
  38. package/dist/lib/launchTarget.d.ts.map +1 -1
  39. package/dist/lib/launchTarget.js +65 -3
  40. package/dist/lib/launchTarget.js.map +1 -1
  41. package/dist/lib/safari.d.ts +90 -0
  42. package/dist/lib/safari.d.ts.map +1 -0
  43. package/dist/lib/safari.js +136 -0
  44. package/dist/lib/safari.js.map +1 -0
  45. package/dist/lib/tracing.d.ts +1 -1
  46. package/dist/lib/tracing.d.ts.map +1 -1
  47. package/dist/lib/tracing.js.map +1 -1
  48. package/dist/lib/types.d.ts +41 -0
  49. package/dist/lib/types.d.ts.map +1 -1
  50. package/dist/lib/vibiumTrace.d.ts +1 -1
  51. package/dist/lib/vibiumTrace.d.ts.map +1 -1
  52. package/dist/lib/webelement.d.ts.map +1 -1
  53. package/dist/lib/webelement.js +118 -2
  54. package/dist/lib/webelement.js.map +1 -1
  55. package/docs/api-reference.md +3 -1
  56. package/docs/driver-configuration.md +54 -0
  57. package/docs/getting-started.md +30 -10
  58. package/docs/index.md +1 -1
  59. package/docs/public/examples/displayed.html +86 -0
  60. package/docs/safari.md +118 -0
  61. package/docs/standards.md +13 -0
  62. package/docs/why-craftdriver.md +1 -1
  63. package/docs/zero-config-drivers.md +12 -0
  64. package/package.json +3 -1
  65. package/skills/craftdriver/SKILL.md +4 -1
  66. package/skills/craftdriver/cheatsheet.md +4 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
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
+
1
8
  # [1.4.0](https://github.com/dtopuzov/craftdriver/compare/v1.3.0...v1.4.0) (2026-07-12)
2
9
 
3
10
 
@@ -198,11 +205,11 @@ Fixes: https://github.com/dtopuzov/craftdriver/issues/20
198
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).
199
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).
200
207
 
201
- - feat: `BrowserContext` identity & device emulation (Milestone C of the browser-context plan) — 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).
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).
202
209
 
203
- - feat: `BrowserContext` page-scoped hooks & routing (Milestone B of the browser-context plan) — `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).
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).
204
211
 
205
- - feat: `BrowserContext` cookies + storage state (Milestone A of the browser-context plan) — `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).
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).
206
213
 
207
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.
208
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
@@ -99,7 +100,6 @@ await browser.a11y.check();
99
100
  | -------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
100
101
  | Getting started | Install, launch a browser, write the first test | [Getting started](https://dtopuzov.github.io/craftdriver/getting-started) |
101
102
  | Driver management | Zero-config driver resolution, cache behavior, env vars, offline mode | [Driver configuration](https://dtopuzov.github.io/craftdriver/driver-configuration) |
102
- | Electron apps | Drive packaged Electron renderers with a version-pinned chromedriver | [Electron apps](https://dtopuzov.github.io/craftdriver/electron) |
103
103
  | Browser control | Navigation, tabs, popups, iframes, content helpers, evaluate, init scripts | [Browser API](https://dtopuzov.github.io/craftdriver/browser-api) |
104
104
  | Locators | CSS, XPath, text, role, label, test id, and composable `locator()` chains | [Selectors](https://dtopuzov.github.io/craftdriver/selectors) |
105
105
  | Element actions | Click, fill, upload, inspect, and interact through element handles | [Element API](https://dtopuzov.github.io/craftdriver/element-api) |
@@ -115,6 +115,8 @@ await browser.a11y.check();
115
115
  | Tracing | Crash-resilient NDJSON plus Vibium Player compatible trace zips | [Tracing](https://dtopuzov.github.io/craftdriver/tracing) |
116
116
  | Accessibility | Built-in axe-core audits for page, element, and locator scopes | [Accessibility](https://dtopuzov.github.io/craftdriver/accessibility) |
117
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) |
118
120
  | AI agents | CLI, MCP server, assistant bootstrap, packaged skill files | [AI agent guide](https://dtopuzov.github.io/craftdriver/agents) |
119
121
 
120
122
  ## Links
@@ -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,2vFAoErB,CAAC;AAEF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,GAAG,IAAI,CA2I9D"}
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"}
@@ -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
@@ -13,6 +13,7 @@ export { NetworkInterceptor, LogMonitor, SessionStateManager, type Cookie, type
13
13
  export { ChromeService, type ChromeServiceOptions } from './lib/chrome.js';
14
14
  export { ElectronService, type ElectronServiceOptions } from './lib/electron.js';
15
15
  export { FirefoxService, type FirefoxServiceOptions } from './lib/firefox.js';
16
+ export { SafariService, type SafariServiceOptions } from './lib/safari.js';
16
17
  export { ElectronRemote, type MainProcessCallback, type ElectronRemoteOptions, type ElectronMainConnectInfo, } from './lib/electronRemote.js';
17
18
  export { type ElectronDialogMock, type ElectronDialogMethod, type ElectronDialogCall, type ElectronDialogResult, type ElectronOpenDialogResult, type ElectronSaveDialogResult, type ElectronMessageBoxResult, } from './lib/electronDialogMock.js';
18
19
  export { type ElectronMock, type ElectronMockCall } from './lib/electronMock.js';
@@ -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,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;AAG9E,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"}
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
@@ -15,6 +15,7 @@ export { NetworkInterceptor, LogMonitor, SessionStateManager, } from './lib/bidi
15
15
  export { ChromeService } from './lib/chrome.js';
16
16
  export { ElectronService } from './lib/electron.js';
17
17
  export { FirefoxService } from './lib/firefox.js';
18
+ export { SafariService } from './lib/safari.js';
18
19
  // Electron main-process access (browser.electron)
19
20
  export { ElectronRemote, } from './lib/electronRemote.js';
20
21
  export { ElectronMainLogMonitor, } from './lib/electronMainLogs.js';
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,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;AAE9E,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"}
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;AAC3C,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;IAmB9E;;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;YAyCjB,cAAc;YAiCd,iBAAiB;IAkB/B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,oBAAoB;YAId,eAAe;YAuBf,iBAAiB;YAuBjB,eAAe;YAef,iBAAiB;YAcjB,gBAAgB;CAG/B"}
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"}
@@ -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 - delete all cookies
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.executeScript(`document.cookie = "${cookie.name}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain=${cookie.domain}"`);
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
- const cookies = await this.driver.executeScript(`
153
- return document.cookie.split(';').map(c => {
154
- const [name, ...valueParts] = c.trim().split('=');
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: c.sameSite?.toLowerCase() || 'lax',
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 value = this.normalizeCookieValue(cookie.value);
213
- let cookieStr = `${cookie.name}=${encodeURIComponent(value)}`;
214
- if (cookie.path)
215
- cookieStr += `; path=${cookie.path}`;
223
+ const input = {
224
+ name: cookie.name,
225
+ value: this.normalizeCookieValue(cookie.value),
226
+ };
216
227
  if (cookie.domain)
217
- cookieStr += `; domain=${cookie.domain}`;
218
- if (cookie.secure)
219
- cookieStr += '; secure';
220
- if (cookie.sameSite)
221
- cookieStr += `; samesite=${cookie.sameSite}`;
222
- if (cookie.expiry) {
223
- const date = new Date(cookie.expiry * 1000);
224
- cookieStr += `; expires=${date.toUTCString()}`;
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
- await this.driver.executeScript(`document.cookie = ${JSON.stringify(cookieStr)}`);
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":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/lib/bidi/storage.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { ChromeService } from './chrome.js';
2
2
  import { ElectronService } from './electron.js';
3
3
  import { ElectronRemote } from './electronRemote.js';
4
4
  import { FirefoxService } from './firefox.js';
5
+ import { SafariService } from './safari.js';
5
6
  import { By } from './by.js';
6
7
  import { Condition, WaitOptions } from './wait.js';
7
8
  import { ElementHandle } from './elementHandle.js';
@@ -205,9 +206,10 @@ interface SharedLaunchOptions {
205
206
  interface BrowserLaunchOptions extends SharedLaunchOptions {
206
207
  electron?: never;
207
208
  electronService?: never;
208
- browserName?: 'chrome' | 'chromium' | 'firefox';
209
+ browserName?: 'chrome' | 'chromium' | 'firefox' | 'safari';
209
210
  chromeService?: ChromeService;
210
211
  firefoxService?: FirefoxService;
212
+ safariService?: SafariService;
211
213
  /** Enable mobile device emulation (Chrome/Chromium only) */
212
214
  mobileEmulation?: MobileEmulation | DeviceName;
213
215
  /**
@@ -258,6 +260,7 @@ interface ElectronTargetLaunchOptions extends SharedLaunchOptions {
258
260
  browserName?: never;
259
261
  chromeService?: never;
260
262
  firefoxService?: never;
263
+ safariService?: never;
261
264
  mobileEmulation?: never;
262
265
  args?: never;
263
266
  browserPath?: never;
@@ -373,6 +376,18 @@ export declare class Browser {
373
376
  * Check if BiDi features are available
374
377
  */
375
378
  isBiDiEnabled(): boolean;
379
+ /**
380
+ * Guard for the BiDi-only surface below. On Safari (which never
381
+ * negotiates BiDi) this throws `CraftdriverError`/`UNSUPPORTED` with a
382
+ * stable `{ browserName, feature }` detail so callers can branch on `code`
383
+ * instead of parsing prose. On every other browser the behavior is
384
+ * unchanged: the exact plain-`Error` message passed by the call site.
385
+ *
386
+ * Deliberately scoped to Safari's guards only — the pre-existing
387
+ * plain-`Error` guards elsewhere are a separate follow-up, not silently
388
+ * folded into this helper.
389
+ */
390
+ private requireBiDi;
376
391
  /**
377
392
  * Network interception API (BiDi)
378
393
  * Mock, intercept, and modify network requests
@@ -957,6 +972,17 @@ export declare class Browser {
957
972
  durationMs?: number;
958
973
  }) => Promise<void>;
959
974
  };
975
+ /**
976
+ * `gesture.swipe()`/`gesture.pinch()` send W3C actions with a `pointer`
977
+ * input source whose `parameters.pointerType` is `'touch'`. Desktop Safari
978
+ * has no touchscreen and Apple's Safari 12+ WebDriver command table gives
979
+ * no indication `safaridriver` synthesizes touch-type pointer input —
980
+ * unlike `pointerType: 'mouse'`, which is exercised by every other pointer
981
+ * helper and is squarely in scope. Rather than let the action silently
982
+ * no-op (or behave unpredictably) on real Safari, fail loudly before
983
+ * sending it.
984
+ */
985
+ private rejectTouchActionsOnSafari;
960
986
  /**
961
987
  * Capture a screenshot of the active page (viewport by default), the
962
988
  * full scrollable document (`fullPage: true`), or an element matching
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/lib/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/lib/browser.ts"],"names":[],"mappings":"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"}