@holydeck/cli 2026.9.2
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/LICENSE +21 -0
- package/README.md +234 -0
- package/dist/BrowserWebSocketTransport-H3D6MINS.js +12 -0
- package/dist/BrowserWebSocketTransport-H3D6MINS.js.map +1 -0
- package/dist/LaunchOptions-42ZS55HH.js +12 -0
- package/dist/LaunchOptions-42ZS55HH.js.map +1 -0
- package/dist/NodeWebSocketTransport-BXHQGXRM.js +15 -0
- package/dist/NodeWebSocketTransport-BXHQGXRM.js.map +1 -0
- package/dist/bidi-25S23FWJ.js +18358 -0
- package/dist/bidi-25S23FWJ.js.map +1 -0
- package/dist/chunk-2BLOYUSF.js +795 -0
- package/dist/chunk-2BLOYUSF.js.map +1 -0
- package/dist/chunk-43CZTS57.js +38 -0
- package/dist/chunk-43CZTS57.js.map +1 -0
- package/dist/chunk-DIBLSFAG.js +34 -0
- package/dist/chunk-DIBLSFAG.js.map +1 -0
- package/dist/chunk-IEJ3OX3N.js +52 -0
- package/dist/chunk-IEJ3OX3N.js.map +1 -0
- package/dist/chunk-JM4YIWBN.js +3796 -0
- package/dist/chunk-JM4YIWBN.js.map +1 -0
- package/dist/chunk-NP3DTWF7.js +23282 -0
- package/dist/chunk-NP3DTWF7.js.map +1 -0
- package/dist/chunk-SWG4X375.js +51 -0
- package/dist/chunk-SWG4X375.js.map +1 -0
- package/dist/chunk-UC6TFXMD.js +2821 -0
- package/dist/chunk-UC6TFXMD.js.map +1 -0
- package/dist/chunk-V4BIHFVZ.js +2287 -0
- package/dist/chunk-V4BIHFVZ.js.map +1 -0
- package/dist/chunk-V77AQPDK.js +20 -0
- package/dist/chunk-V77AQPDK.js.map +1 -0
- package/dist/chunk-XAENXL52.js +101 -0
- package/dist/chunk-XAENXL52.js.map +1 -0
- package/dist/cli.js +64101 -0
- package/dist/cli.js.map +1 -0
- package/dist/dist-3ZE2HBJQ.js +20447 -0
- package/dist/dist-3ZE2HBJQ.js.map +1 -0
- package/dist/dist-575AQY5L.js +1161 -0
- package/dist/dist-575AQY5L.js.map +1 -0
- package/dist/dist-DL5M2SDJ.js +117 -0
- package/dist/dist-DL5M2SDJ.js.map +1 -0
- package/dist/dist-OMWR53J4.js +4713 -0
- package/dist/dist-OMWR53J4.js.map +1 -0
- package/dist/dist-UT6HKKCD.js +281 -0
- package/dist/dist-UT6HKKCD.js.map +1 -0
- package/dist/fs-P6GYHPGZ.js +1685 -0
- package/dist/fs-P6GYHPGZ.js.map +1 -0
- package/dist/helpers-64DWIL6C.js +21 -0
- package/dist/helpers-64DWIL6C.js.map +1 -0
- package/dist/main-IQ64YDOJ.js +61 -0
- package/dist/main-IQ64YDOJ.js.map +1 -0
- package/dist/puppeteer-RDWY6FSG.js +2386 -0
- package/dist/puppeteer-RDWY6FSG.js.map +1 -0
- package/dist/yargs-KMQWKLG6.js +3264 -0
- package/dist/yargs-KMQWKLG6.js.map +1 -0
- package/dist/yauzl-7KG7KPPF.js +1355 -0
- package/dist/yauzl-7KG7KPPF.js.map +1 -0
- package/package.json +44 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/BidiMapper.ts","../../../node_modules/.pnpm/mitt@3.0.1/node_modules/mitt/src/index.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/utils/EventEmitter.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/utils/log.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/utils/ProcessingQueue.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/protocol/chromium-bidi.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/protocol/ErrorResponse.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/BidiNoOpParser.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/browser/BrowserProcessor.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/cdp/CdpProcessor.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/context/BrowsingContextProcessor.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/emulation/EmulationProcessor.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/utils/assert.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/utils/graphemeTools.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/input/InputSource.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/input/keyUtils.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/input/USKeyboardLayout.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/input/ActionDispatcher.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/utils/Mutex.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/input/InputState.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/input/InputStateManager.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/input/InputProcessor.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/utils/base64.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/network/NetworkUtils.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/network/NetworkProcessor.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/permissions/PermissionsProcessor.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/utils/uuid.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/script/ChannelProxy.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/script/PreloadScript.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/script/ScriptProcessor.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/session/SessionProcessor.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/storage/StorageProcessor.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/webExtension/WebExtensionProcessor.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/OutgoingMessage.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/CommandProcessor.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/bluetooth/BluetoothProcessor.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/browser/ContextConfig.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/browser/ContextConfigStorage.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/browser/UserContextStorage.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/utils/Deferred.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/utils/time.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/utils/unitConversions.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/script/SharedId.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/script/Realm.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/script/WindowRealm.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/utils/urlHelpers.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/context/NavigationTracker.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/context/BrowsingContextImpl.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/script/WorkerRealm.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/log/logHelper.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/log/LogManager.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/network/CollectorsStorage.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/utils/DefaultMap.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/network/NetworkRequest.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/network/NetworkStorage.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/cdp/CdpTarget.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/cdp/CdpTargetManager.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/context/BrowsingContextStorage.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/script/PreloadScriptStorage.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/script/RealmStorage.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/utils/Buffer.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/utils/IdWrapper.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/session/events.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/session/SubscriptionManager.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/session/EventManager.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/speculation/SpeculationProcessor.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/modules/digitalCredentials/DigitalCredentialsProcessor.ts","../../../node_modules/.pnpm/chromium-bidi@17.0.2_devtools-protocol@0.0.1666840/node_modules/chromium-bidi/src/bidiMapper/BidiServer.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/CDPSession.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/Connection.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/BidiOverCdp.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/BluetoothEmulation.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/DeviceRequestPrompt.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/core/Navigation.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/core/Realm.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/core/Request.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/core/UserPrompt.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/core/BrowsingContext.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/core/UserContext.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/Deserializer.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/JSHandle.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/ElementHandle.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/Dialog.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/ExposedFunction.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/HTTPResponse.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/HTTPRequest.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/Serializer.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/util.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/Realm.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/WebWorker.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/Frame.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/Input.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/ScreenRecording.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/Page.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/Target.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/BrowserContext.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/core/Browser.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/core/Session.ts","../../../node_modules/.pnpm/puppeteer-core@25.10.0_proxy-agent@8.0.2_yauzl@3.4.0/node_modules/puppeteer-core/src/bidi/Browser.ts"],"sourcesContent":[null,"export type EventType = string | symbol;\n\n// An event handler can take an optional event argument\n// and should not return a value\nexport type Handler<T = unknown> = (event: T) => void;\nexport type WildcardHandler<T = Record<string, unknown>> = (\n\ttype: keyof T,\n\tevent: T[keyof T]\n) => void;\n\n// An array of all currently registered event handlers for a type\nexport type EventHandlerList<T = unknown> = Array<Handler<T>>;\nexport type WildCardEventHandlerList<T = Record<string, unknown>> = Array<\n\tWildcardHandler<T>\n>;\n\n// A map of event types and their corresponding event handlers.\nexport type EventHandlerMap<Events extends Record<EventType, unknown>> = Map<\n\tkeyof Events | '*',\n\tEventHandlerList<Events[keyof Events]> | WildCardEventHandlerList<Events>\n>;\n\nexport interface Emitter<Events extends Record<EventType, unknown>> {\n\tall: EventHandlerMap<Events>;\n\n\ton<Key extends keyof Events>(type: Key, handler: Handler<Events[Key]>): void;\n\ton(type: '*', handler: WildcardHandler<Events>): void;\n\n\toff<Key extends keyof Events>(\n\t\ttype: Key,\n\t\thandler?: Handler<Events[Key]>\n\t): void;\n\toff(type: '*', handler: WildcardHandler<Events>): void;\n\n\temit<Key extends keyof Events>(type: Key, event: Events[Key]): void;\n\temit<Key extends keyof Events>(\n\t\ttype: undefined extends Events[Key] ? Key : never\n\t): void;\n}\n\n/**\n * Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nexport default function mitt<Events extends Record<EventType, unknown>>(\n\tall?: EventHandlerMap<Events>\n): Emitter<Events> {\n\ttype GenericEventHandler =\n\t\t| Handler<Events[keyof Events]>\n\t\t| WildcardHandler<Events>;\n\tall = all || new Map();\n\n\treturn {\n\t\t/**\n\t\t * A Map of event names to registered handler functions.\n\t\t */\n\t\tall,\n\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t * @param {string|symbol} type Type of event to listen for, or `'*'` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton<Key extends keyof Events>(type: Key, handler: GenericEventHandler) {\n\t\t\tconst handlers: Array<GenericEventHandler> | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\thandlers.push(handler);\n\t\t\t} else {\n\t\t\t\tall!.set(type, [handler] as EventHandlerList<Events[keyof Events]>);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t * If `handler` is omitted, all handlers of the given type are removed.\n\t\t * @param {string|symbol} type Type of event to unregister `handler` from (`'*'` to remove a wildcard handler)\n\t\t * @param {Function} [handler] Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff<Key extends keyof Events>(type: Key, handler?: GenericEventHandler) {\n\t\t\tconst handlers: Array<GenericEventHandler> | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\tif (handler) {\n\t\t\t\t\thandlers.splice(handlers.indexOf(handler) >>> 0, 1);\n\t\t\t\t} else {\n\t\t\t\t\tall!.set(type, []);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `'*'` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * Note: Manually firing '*' handlers is not supported.\n\t\t *\n\t\t * @param {string|symbol} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit<Key extends keyof Events>(type: Key, evt?: Events[Key]) {\n\t\t\tlet handlers = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as EventHandlerList<Events[keyof Events]>)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(evt!);\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\thandlers = all!.get('*');\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as WildCardEventHandlerList<Events>)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(type, evt!);\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n}\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"/**\n * @license\n * Copyright 2024 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type ProtocolMapping from 'devtools-protocol/types/protocol-mapping.js';\n\nimport type {CommandOptions} from '../api/CDPSession.js';\nimport {CDPSession} from '../api/CDPSession.js';\nimport type {Connection as CdpConnection} from '../cdp/Connection.js';\nimport {TargetCloseError, UnsupportedOperation} from '../common/Errors.js';\nimport {Deferred} from '../util/Deferred.js';\n\nimport type {BidiConnection} from './Connection.js';\nimport type {BidiFrame} from './Frame.js';\n\n/**\n * @internal\n */\nexport class BidiCdpSession extends CDPSession {\n static sessions = new Map<string, BidiCdpSession>();\n\n #detached = false;\n readonly #connection?: BidiConnection;\n readonly #sessionId = Deferred.create<string>();\n readonly frame: BidiFrame;\n\n constructor(frame: BidiFrame, sessionId?: string) {\n super();\n this.frame = frame;\n if (!this.frame.page().browser().cdpSupported) {\n return;\n }\n\n const connection = this.frame.page().browser().connection;\n this.#connection = connection;\n\n if (sessionId) {\n this.#sessionId.resolve(sessionId);\n BidiCdpSession.sessions.set(sessionId, this);\n } else {\n (async () => {\n try {\n const {result} = await connection.send('goog:cdp.getSession', {\n context: frame._id,\n });\n this.#sessionId.resolve(result.session!);\n BidiCdpSession.sessions.set(result.session!, this);\n } catch (error) {\n this.#sessionId.reject(error as Error);\n }\n })();\n }\n\n // SAFETY: We never throw #sessionId.\n BidiCdpSession.sessions.set(this.#sessionId.value() as string, this);\n }\n\n override connection(): CdpConnection | undefined {\n return undefined;\n }\n\n override get detached(): boolean {\n return this.#detached;\n }\n\n override async send<T extends keyof ProtocolMapping.Commands>(\n method: T,\n params?: ProtocolMapping.Commands[T]['paramsType'][0],\n options?: CommandOptions,\n ): Promise<ProtocolMapping.Commands[T]['returnType']> {\n if (this.#connection === undefined) {\n throw new UnsupportedOperation(\n 'CDP support is required for this feature. The current browser does not support CDP.',\n );\n }\n if (this.#detached) {\n throw new TargetCloseError(\n `Protocol error (${method}): Session closed. Most likely the page has been closed.`,\n );\n }\n const session = await this.#sessionId.valueOrThrow();\n const {result} = await this.#connection.send(\n 'goog:cdp.sendCommand',\n {\n method: method,\n params: params,\n session,\n },\n options?.timeout,\n );\n return result.result;\n }\n\n override async detach(): Promise<void> {\n if (\n this.#connection === undefined ||\n this.#connection.closed ||\n this.#detached\n ) {\n return;\n }\n try {\n await this.frame.client.send('Target.detachFromTarget', {\n sessionId: this.id(),\n });\n } finally {\n this.onClose();\n }\n }\n\n /**\n * @internal\n */\n onClose = (): void => {\n BidiCdpSession.sessions.delete(this.id());\n this.#detached = true;\n };\n\n override id(): string {\n const value = this.#sessionId.value();\n return typeof value === 'string' ? value : '';\n }\n}\n","/**\n * @license\n * Copyright 2017 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {Protocol as ChromiumBidi} from 'chromium-bidi';\nimport type * as Bidi from 'webdriver-bidi-protocol';\n\nimport {CallbackRegistry} from '../common/CallbackRegistry.js';\nimport type {ConnectionTransport} from '../common/ConnectionTransport.js';\nimport {DEBUG_PREFIXES, type Logger} from '../common/Debug.js';\nimport {ConnectionClosedError} from '../common/Errors.js';\nimport type {EventsWithWildcard} from '../common/EventEmitter.js';\nimport {EventEmitter} from '../common/EventEmitter.js';\nimport type {GetIdFn} from '../util/incremental-id-generator.js';\n\nimport {BidiCdpSession} from './CDPSession.js';\nimport type {\n BidiEvents,\n Commands as BidiCommands,\n Connection,\n} from './core/Connection.js';\n\nexport type CdpEvent = ChromiumBidi.Cdp.Event;\n\n/**\n * @internal\n */\nexport interface Commands extends BidiCommands {\n 'goog:cdp.sendCommand': {\n params: ChromiumBidi.Cdp.SendCommandParameters;\n returnType: ChromiumBidi.Cdp.SendCommandResult;\n };\n 'goog:cdp.getSession': {\n params: ChromiumBidi.Cdp.GetSessionParameters;\n returnType: ChromiumBidi.Cdp.GetSessionResult;\n };\n 'goog:cdp.resolveRealm': {\n params: ChromiumBidi.Cdp.ResolveRealmParameters;\n returnType: ChromiumBidi.Cdp.ResolveRealmResult;\n };\n}\n\n/**\n * @internal\n */\nexport class BidiConnection\n extends EventEmitter<BidiEvents>\n implements Connection\n{\n #url: string;\n #transport: ConnectionTransport;\n #delay: number;\n #timeout = 0;\n #closed = false;\n #logger?: Logger;\n #callbacks: CallbackRegistry;\n #emitters: Array<EventEmitter<any>> = [];\n #debugProtocolSend: ((...args: unknown[]) => void) | undefined;\n #debugProtocolReceive: ((...args: unknown[]) => void) | undefined;\n\n constructor(\n url: string,\n transport: ConnectionTransport,\n idGenerator: GetIdFn,\n delay = 0,\n timeout: number | undefined = undefined,\n logger: Logger,\n ) {\n super();\n this.#url = url;\n this.#delay = delay;\n this.#timeout = timeout ?? 180_000;\n this.#callbacks = new CallbackRegistry(idGenerator, logger);\n\n this.#debugProtocolSend = logger?.(DEBUG_PREFIXES.bidiSend);\n this.#debugProtocolReceive = logger?.(DEBUG_PREFIXES.bidiReceive);\n\n this.#transport = transport;\n this.#transport.onmessage = this.onMessage.bind(this);\n this.#transport.onclose = this.unbind.bind(this);\n }\n\n get closed(): boolean {\n return this.#closed;\n }\n\n get url(): string {\n return this.#url;\n }\n\n pipeTo<Events extends BidiEvents>(emitter: EventEmitter<Events>): void {\n this.#emitters.push(emitter);\n }\n\n #toWebDriverOnlyEvent(event: Record<string, any>) {\n for (const key in event) {\n if (key.startsWith('goog:')) {\n delete event[key];\n } else {\n if (typeof event[key] === 'object' && event[key] !== null) {\n this.#toWebDriverOnlyEvent(event[key]);\n }\n }\n }\n }\n\n override emit<Key extends keyof EventsWithWildcard<BidiEvents>>(\n type: Key,\n event: EventsWithWildcard<BidiEvents>[Key],\n ): boolean {\n if (process.env['PUPPETEER_WEBDRIVER_BIDI_ONLY'] === 'true') {\n // Required for WebDriver-only testing.\n this.#toWebDriverOnlyEvent(event);\n }\n for (const emitter of this.#emitters) {\n emitter.emit(type, event);\n }\n return super.emit(type, event);\n }\n\n send<T extends keyof Commands>(\n method: T,\n params: Commands[T]['params'],\n timeout?: number,\n ): Promise<{result: Commands[T]['returnType']}> {\n if (this.#closed) {\n return Promise.reject(new ConnectionClosedError('Connection closed.'));\n }\n return this.#callbacks.create(method, timeout ?? this.#timeout, id => {\n const stringifiedMessage = JSON.stringify({\n id,\n method,\n params,\n } as Bidi.Command);\n this.#debugProtocolSend?.(stringifiedMessage);\n this.#transport.send(stringifiedMessage);\n }) as Promise<{result: Commands[T]['returnType']}>;\n }\n\n /**\n * @internal\n */\n protected async onMessage(message: string): Promise<void> {\n if (this.#delay) {\n await new Promise(f => {\n return setTimeout(f, this.#delay);\n });\n }\n this.#debugProtocolReceive?.(message);\n const object: Bidi.Message | CdpEvent = JSON.parse(message);\n if ('type' in object) {\n switch (object.type) {\n case 'success':\n this.#callbacks.resolve(object.id, object);\n return;\n case 'error':\n if (object.id === null) {\n break;\n }\n this.#callbacks.reject(\n object.id,\n createProtocolError(object),\n `${object.error}: ${object.message}`,\n );\n return;\n case 'event':\n if (isCdpEvent(object)) {\n BidiCdpSession.sessions\n .get(object.params.session)\n ?.emit(object.params.event, object.params.params);\n return;\n }\n // SAFETY: We know the method and parameter still match here.\n this.emit(object.method, object.params);\n return;\n }\n }\n // Even if the response in not in BiDi protocol format but `id` is provided, reject\n // the callback. This can happen if the endpoint supports CDP instead of BiDi.\n if ('id' in object) {\n this.#callbacks.reject(\n (object as {id: number}).id,\n `Protocol Error. Message is not in BiDi protocol format: '${message}'`,\n object.message,\n );\n }\n this.#logger?.(DEBUG_PREFIXES.error)?.(object);\n }\n\n /**\n * Unbinds the connection, but keeps the transport open. Useful when the transport will\n * be reused by other connection e.g. with different protocol.\n * @internal\n */\n unbind(): void {\n if (this.#closed) {\n return;\n }\n this.#closed = true;\n // Both may still be invoked and produce errors\n this.#transport.onmessage = () => {};\n this.#transport.onclose = () => {};\n\n this.#callbacks.clear();\n }\n\n /**\n * Unbinds the connection and closes the transport.\n */\n dispose(): void {\n this.unbind();\n this.#transport.close();\n }\n\n getPendingProtocolErrors(): Error[] {\n return this.#callbacks.getPendingProtocolErrors();\n }\n}\n\n/**\n * @internal\n */\nfunction createProtocolError(object: Bidi.ErrorResponse): string {\n let message = `${object.error} ${object.message}`;\n if (object.stacktrace) {\n message += ` ${object.stacktrace}`;\n }\n return message;\n}\n\nfunction isCdpEvent(event: Bidi.Event | CdpEvent): event is CdpEvent {\n return event.method.startsWith('goog:cdp.');\n}\n","/**\n * @license\n * Copyright 2023 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {BidiMapper} from 'chromium-bidi';\nimport type {ProtocolMapping} from 'devtools-protocol/types/protocol-mapping.js';\n\nimport type {CDPEvents, CDPSession} from '../api/CDPSession.js';\nimport type {Connection as CdpConnection} from '../cdp/Connection.js';\nimport type {DebugPrefix, Logger} from '../common/Debug.js';\nimport {TargetCloseError} from '../common/Errors.js';\nimport type {Handler} from '../common/EventEmitter.js';\n\nimport {BidiConnection} from './Connection.js';\n\n/**\n * @internal\n */\nexport async function connectBidiOverCdp(\n cdp: CdpConnection,\n logger: Logger,\n): Promise<BidiConnection> {\n const bidiServerLogger = logger\n ? (prefix: string): ((...args: unknown[]) => void) | undefined => {\n return logger(`bidi:${prefix}` as DebugPrefix);\n }\n : undefined;\n\n const transportBiDi = new NoOpTransport();\n const cdpConnectionAdapter = new CdpConnectionAdapter(cdp);\n const pptrTransport = {\n send(message: string): void {\n // Forwards a BiDi command sent by Puppeteer to the input of the BidiServer.\n transportBiDi.emitMessage(JSON.parse(message));\n },\n close(): void {\n bidiServer.close();\n cdpConnectionAdapter.close();\n cdp.dispose();\n },\n onmessage(_message: string): void {\n // The method is overridden by the Connection.\n },\n };\n transportBiDi.on('bidiResponse', (message: object) => {\n // Forwards a BiDi event sent by BidiServer to Puppeteer.\n pptrTransport.onmessage(JSON.stringify(message));\n });\n const pptrBiDiConnection = new BidiConnection(\n cdp.url(),\n pptrTransport,\n cdp._idGenerator,\n cdp.delay,\n cdp.timeout,\n logger,\n );\n const bidiServer = await BidiMapper.BidiServer.createAndStart(\n transportBiDi,\n cdpConnectionAdapter,\n cdpConnectionAdapter.browserClient(),\n /* selfTargetId= */ '',\n undefined,\n bidiServerLogger,\n );\n return pptrBiDiConnection;\n}\n\n/**\n * Manages CDPSessions for BidiServer.\n * @internal\n */\nclass CdpConnectionAdapter {\n #cdp: CdpConnection;\n #adapters = new Map<CDPSession, CDPClientAdapter<CDPSession>>();\n #browserCdpConnection: CDPClientAdapter<CdpConnection>;\n\n constructor(cdp: CdpConnection) {\n this.#cdp = cdp;\n this.#browserCdpConnection = new CDPClientAdapter(cdp);\n }\n\n browserClient(): CDPClientAdapter<CdpConnection> {\n return this.#browserCdpConnection;\n }\n\n getCdpClient(id: string) {\n const session = this.#cdp.session(id);\n if (!session) {\n throw new Error(`Unknown CDP session with id ${id}`);\n }\n if (!this.#adapters.has(session)) {\n const adapter = new CDPClientAdapter(\n session,\n id,\n this.#browserCdpConnection,\n );\n this.#adapters.set(session, adapter);\n return adapter;\n }\n return this.#adapters.get(session)!;\n }\n\n close() {\n this.#browserCdpConnection.close();\n for (const adapter of this.#adapters.values()) {\n adapter.close();\n }\n }\n}\n\n/**\n * Wrapper on top of CDPSession/CDPConnection to satisfy CDP interface that\n * BidiServer needs.\n *\n * @internal\n */\nclass CDPClientAdapter<T extends CDPSession | CdpConnection>\n extends BidiMapper.EventEmitter<CDPEvents>\n implements BidiMapper.CdpClient\n{\n #closed = false;\n #client: T;\n sessionId: string | undefined = undefined;\n #browserClient?: BidiMapper.CdpClient;\n\n constructor(\n client: T,\n sessionId?: string,\n browserClient?: BidiMapper.CdpClient,\n ) {\n super();\n this.#client = client;\n this.sessionId = sessionId;\n this.#browserClient = browserClient;\n this.#client.on('*', this.#forwardMessage as Handler<any>);\n }\n\n browserClient(): BidiMapper.CdpClient {\n return this.#browserClient!;\n }\n\n #forwardMessage = <T extends keyof CDPEvents>(\n method: T,\n event: CDPEvents[T],\n ) => {\n this.emit(method, event);\n };\n\n async sendCommand<T extends keyof ProtocolMapping.Commands>(\n method: T,\n ...params: ProtocolMapping.Commands[T]['paramsType']\n ): Promise<ProtocolMapping.Commands[T]['returnType']> {\n if (this.#closed) {\n return;\n }\n try {\n return await this.#client.send(method, ...params);\n } catch (err) {\n if (this.#closed) {\n return;\n }\n throw err;\n }\n }\n\n close() {\n this.#client.off('*', this.#forwardMessage as Handler<any>);\n this.#closed = true;\n }\n\n isCloseError(error: unknown): boolean {\n return error instanceof TargetCloseError;\n }\n}\n\n/**\n * This transport is given to the BiDi server instance and allows Puppeteer\n * to send and receive commands to the BiDiServer.\n * @internal\n */\nclass NoOpTransport\n extends BidiMapper.EventEmitter<{\n bidiResponse: any;\n }>\n implements BidiMapper.BidiTransport\n{\n #onMessage: (message: any) => Promise<void> | void = async (\n _m: any,\n ): Promise<void> => {\n return;\n };\n\n emitMessage(message: any) {\n void this.#onMessage(message);\n }\n\n setOnMessage(onMessage: (message: any) => Promise<void> | void): void {\n this.#onMessage = onMessage;\n }\n\n async sendMessage(message: any): Promise<void> {\n this.emit('bidiResponse', message);\n }\n\n close() {\n this.#onMessage = async (_m: any): Promise<void> => {\n return;\n };\n }\n}\n","/**\n * @license\n * Copyright 2025 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AdapterState,\n BluetoothEmulation,\n PreconnectedPeripheral,\n} from '../api/BluetoothEmulation.js';\n\nimport type {Session} from './core/Session.js';\n\n/**\n * @internal\n */\nexport class BidiBluetoothEmulation implements BluetoothEmulation {\n readonly #session: Session;\n readonly #contextId: string;\n\n constructor(contextId: string, session: Session) {\n this.#contextId = contextId;\n this.#session = session;\n }\n\n async emulateAdapter(state: AdapterState, leSupported = true): Promise<void> {\n await this.#session.send('bluetooth.simulateAdapter', {\n context: this.#contextId,\n state,\n leSupported,\n });\n }\n\n async disableEmulation(): Promise<void> {\n await this.#session.send('bluetooth.disableSimulation', {\n context: this.#contextId,\n });\n }\n\n async simulatePreconnectedPeripheral(\n preconnectedPeripheral: PreconnectedPeripheral,\n ): Promise<void> {\n await this.#session.send('bluetooth.simulatePreconnectedPeripheral', {\n context: this.#contextId,\n address: preconnectedPeripheral.address,\n name: preconnectedPeripheral.name,\n manufacturerData: preconnectedPeripheral.manufacturerData,\n knownServiceUuids: preconnectedPeripheral.knownServiceUuids,\n });\n }\n}\n","/**\n * @license\n * Copyright 2025 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type * as Bidi from 'webdriver-bidi-protocol';\n\nimport {\n DeviceRequestPrompt,\n type DeviceRequestPromptDevice,\n} from '../api/DeviceRequestPrompt.js';\nimport {UnsupportedOperation} from '../common/Errors.js';\nimport {Deferred} from '../util/Deferred.js';\n\nimport type {Session} from './core/Session.js';\n\n/**\n * @internal\n */\nexport class BidiDeviceRequestPromptManager {\n readonly #session: Session;\n readonly #contextId: string;\n #enabled = false;\n\n constructor(contextId: string, session: Session) {\n this.#session = session;\n this.#contextId = contextId;\n }\n\n async #enableIfNeeded(): Promise<void> {\n if (!this.#enabled) {\n this.#enabled = true;\n await this.#session.subscribe(\n ['bluetooth.requestDevicePromptUpdated'],\n [this.#contextId],\n );\n }\n }\n\n async waitForDevicePrompt(\n timeout: number,\n signal: AbortSignal | undefined,\n ): Promise<DeviceRequestPrompt> {\n const deferred = Deferred.create<DeviceRequestPrompt>({\n message: `Waiting for \\`DeviceRequestPrompt\\` failed: ${timeout}ms exceeded`,\n timeout,\n });\n\n const onRequestDevicePromptUpdated = (\n params: Bidi.Bluetooth.RequestDevicePromptUpdatedParameters,\n ) => {\n if (params.context === this.#contextId) {\n deferred.resolve(\n new BidiDeviceRequestPrompt(\n this.#contextId,\n params.prompt,\n this.#session,\n params.devices,\n ),\n );\n this.#session.off(\n 'bluetooth.requestDevicePromptUpdated',\n onRequestDevicePromptUpdated,\n );\n }\n };\n this.#session.on(\n 'bluetooth.requestDevicePromptUpdated',\n onRequestDevicePromptUpdated,\n );\n\n if (signal) {\n signal.addEventListener(\n 'abort',\n () => {\n deferred.reject(signal.reason);\n },\n {once: true},\n );\n }\n\n await this.#enableIfNeeded();\n\n return await deferred.valueOrThrow();\n }\n}\n\n/**\n * @internal\n */\nexport class BidiDeviceRequestPrompt extends DeviceRequestPrompt {\n readonly #session: Session;\n #promptId: string;\n #contextId: string;\n\n constructor(\n contextId: string,\n promptId: string,\n session: Session,\n devices: Bidi.Bluetooth.RequestDeviceInfo[],\n ) {\n super();\n this.#session = session;\n this.#promptId = promptId;\n this.#contextId = contextId;\n\n this.devices.push(\n ...devices.map(d => {\n return {\n id: d.id,\n name: d.name ?? 'UNKNOWN',\n };\n }),\n );\n }\n\n async cancel(): Promise<void> {\n await this.#session.send('bluetooth.handleRequestDevicePrompt', {\n context: this.#contextId,\n prompt: this.#promptId,\n accept: false,\n });\n }\n\n async select(device: DeviceRequestPromptDevice): Promise<void> {\n await this.#session.send('bluetooth.handleRequestDevicePrompt', {\n context: this.#contextId,\n prompt: this.#promptId,\n accept: true,\n device: device.id,\n });\n }\n\n waitForDevice(): never {\n throw new UnsupportedOperation();\n }\n}\n","/**\n * @license\n * Copyright 2024 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {EventEmitter} from '../../common/EventEmitter.js';\nimport {inertIfDisposed} from '../../util/decorators.js';\nimport {DisposableStack, disposeSymbol} from '../../util/disposable.js';\n\nimport type {BrowsingContext} from './BrowsingContext.js';\nimport type {Request} from './Request.js';\n\n/**\n * @internal\n */\nexport interface NavigationInfo {\n url: string;\n timestamp: Date;\n}\n\n/**\n * @internal\n */\nexport class Navigation extends EventEmitter<{\n /** Emitted when navigation has a request associated with it. */\n request: Request;\n /** Emitted when fragment navigation occurred. */\n fragment: NavigationInfo;\n /** Emitted when navigation failed. */\n failed: NavigationInfo;\n /** Emitted when navigation was aborted. */\n aborted: NavigationInfo;\n}> {\n static from(context: BrowsingContext): Navigation {\n const navigation = new Navigation(context);\n navigation.#initialize();\n return navigation;\n }\n\n #request: Request | undefined;\n #navigation: Navigation | undefined;\n readonly #browsingContext: BrowsingContext;\n readonly #disposables = new DisposableStack();\n #id?: string | null;\n\n private constructor(context: BrowsingContext) {\n super();\n\n this.#browsingContext = context;\n }\n\n #initialize() {\n const browsingContextEmitter = this.#disposables.use(\n new EventEmitter(this.#browsingContext),\n );\n browsingContextEmitter.once('closed', () => {\n this.emit('failed', {\n url: this.#browsingContext.url,\n timestamp: new Date(),\n });\n this.dispose();\n });\n\n browsingContextEmitter.on('request', request => {\n if (\n request.navigation === undefined ||\n // If a request with a navigation ID comes in, then the navigation ID is\n // for this navigation.\n !this.#matches(request.navigation)\n ) {\n return;\n }\n\n this.#request = request;\n this.emit('request', request);\n const requestEmitter = this.#disposables.use(\n new EventEmitter(this.#request),\n );\n\n requestEmitter.on('redirect', request => {\n this.#request = request;\n });\n });\n\n const sessionEmitter = this.#disposables.use(\n new EventEmitter(this.#session),\n );\n sessionEmitter.on('browsingContext.navigationStarted', info => {\n if (\n info.context !== this.#browsingContext.id ||\n this.#navigation !== undefined\n ) {\n return;\n }\n this.#navigation = Navigation.from(this.#browsingContext);\n });\n\n for (const eventName of [\n 'browsingContext.domContentLoaded',\n 'browsingContext.load',\n 'browsingContext.navigationCommitted',\n ] as const) {\n sessionEmitter.on(eventName, info => {\n if (\n info.context !== this.#browsingContext.id ||\n info.navigation === null ||\n !this.#matches(info.navigation)\n ) {\n return;\n }\n\n this.dispose();\n });\n }\n\n for (const [eventName, event] of [\n ['browsingContext.fragmentNavigated', 'fragment'],\n ['browsingContext.navigationFailed', 'failed'],\n ['browsingContext.navigationAborted', 'aborted'],\n ] as const) {\n sessionEmitter.on(eventName, info => {\n if (\n info.context !== this.#browsingContext.id ||\n // Note we don't check if `navigation` is null since `null` means the\n // fragment navigated.\n !this.#matches(info.navigation)\n ) {\n return;\n }\n\n this.emit(event, {\n url: info.url,\n timestamp: new Date(info.timestamp),\n });\n this.dispose();\n });\n }\n }\n\n #matches(navigation: string | null): boolean {\n if (this.#navigation !== undefined && !this.#navigation.disposed) {\n return false;\n }\n if (this.#id === undefined) {\n this.#id = navigation;\n return true;\n }\n return this.#id === navigation;\n }\n\n get #session() {\n return this.#browsingContext.userContext.browser.session;\n }\n get disposed(): boolean {\n return this.#disposables.disposed;\n }\n get request(): Request | undefined {\n return this.#request;\n }\n get navigation(): Navigation | undefined {\n return this.#navigation;\n }\n\n @inertIfDisposed\n private dispose(): void {\n this[disposeSymbol]();\n }\n\n override [disposeSymbol](): void {\n this.#disposables.dispose();\n super[disposeSymbol]();\n }\n}\n","/**\n * @license\n * Copyright 2024 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type * as Bidi from 'webdriver-bidi-protocol';\n\nimport {EventEmitter} from '../../common/EventEmitter.js';\nimport {inertIfDisposed, throwIfDisposed} from '../../util/decorators.js';\nimport {DisposableStack, disposeSymbol} from '../../util/disposable.js';\nimport type {BidiConnection} from '../Connection.js';\n\nimport type {Browser} from './Browser.js';\nimport type {BrowsingContext} from './BrowsingContext.js';\nimport type {Session} from './Session.js';\n\n/**\n * @internal\n */\nexport type CallFunctionOptions = Omit<\n Bidi.Script.CallFunctionParameters,\n 'functionDeclaration' | 'awaitPromise' | 'target'\n>;\n\n/**\n * @internal\n */\nexport type EvaluateOptions = Omit<\n Bidi.Script.EvaluateParameters,\n 'expression' | 'awaitPromise' | 'target'\n>;\n\n/**\n * @internal\n */\nexport abstract class Realm extends EventEmitter<{\n /** Emitted whenever the realm has updated. */\n updated: Realm;\n /** Emitted when the realm is destroyed. */\n destroyed: string;\n /** Emitted when a dedicated worker is created in the realm. */\n worker: DedicatedWorkerRealm;\n /** Emitted when a shared worker is created in the realm. */\n sharedworker: SharedWorkerRealm;\n /** Emitted whenever a log entry is added to the realm. */\n log: Bidi.Log.Entry;\n}> {\n #reason?: string;\n protected readonly disposables = new DisposableStack();\n readonly id: string;\n readonly origin: string;\n protected executionContextId?: number;\n\n protected constructor(id: string, origin: string) {\n super();\n\n this.id = id;\n this.origin = origin;\n }\n\n get disposed(): boolean {\n return this.#reason !== undefined;\n }\n protected abstract get session(): Session;\n get target(): Bidi.Script.Target {\n return {realm: this.id};\n }\n\n @inertIfDisposed\n protected dispose(reason?: string): void {\n this.#reason = reason;\n this[disposeSymbol]();\n }\n\n @throwIfDisposed<Realm>(realm => {\n // SAFETY: Disposal implies this exists.\n return realm.#reason!;\n })\n async disown(handles: string[]): Promise<void> {\n await this.session.send('script.disown', {\n target: this.target,\n handles,\n });\n }\n\n @throwIfDisposed<Realm>(realm => {\n // SAFETY: Disposal implies this exists.\n return realm.#reason!;\n })\n async callFunction(\n functionDeclaration: string,\n awaitPromise: boolean,\n options: CallFunctionOptions = {},\n ): Promise<Bidi.Script.EvaluateResult> {\n const {result} = await this.session.send('script.callFunction', {\n functionDeclaration,\n awaitPromise,\n target: this.target,\n ...options,\n });\n return result;\n }\n\n @throwIfDisposed<Realm>(realm => {\n // SAFETY: Disposal implies this exists.\n return realm.#reason!;\n })\n async evaluate(\n expression: string,\n awaitPromise: boolean,\n options: EvaluateOptions = {},\n ): Promise<Bidi.Script.EvaluateResult> {\n const {result} = await this.session.send('script.evaluate', {\n expression,\n awaitPromise,\n target: this.target,\n ...options,\n });\n return result;\n }\n\n @throwIfDisposed<Realm>(realm => {\n // SAFETY: Disposal implies this exists.\n return realm.#reason!;\n })\n async resolveExecutionContextId(): Promise<number> {\n if (!this.executionContextId) {\n const {result} = await (this.session.connection as BidiConnection).send(\n 'goog:cdp.resolveRealm',\n {realm: this.id},\n );\n this.executionContextId = result.executionContextId;\n }\n\n return this.executionContextId;\n }\n\n override [disposeSymbol](): void {\n this.#reason ??=\n 'Realm already destroyed, probably because all associated browsing contexts closed.';\n this.emit('destroyed', this.#reason);\n\n this.disposables.dispose();\n super[disposeSymbol]();\n }\n}\n\n/**\n * @internal\n */\nexport class WindowRealm extends Realm {\n static from(context: BrowsingContext, sandbox?: string): WindowRealm {\n const realm = new WindowRealm(context, sandbox);\n realm.#initialize();\n return realm;\n }\n\n readonly browsingContext: BrowsingContext;\n readonly sandbox?: string;\n\n readonly #workers = new Map<string, DedicatedWorkerRealm>();\n\n private constructor(context: BrowsingContext, sandbox?: string) {\n super('', '');\n\n this.browsingContext = context;\n this.sandbox = sandbox;\n }\n\n #initialize(): void {\n const browsingContextEmitter = this.disposables.use(\n new EventEmitter(this.browsingContext),\n );\n browsingContextEmitter.on('closed', reason => {\n this.dispose(reason);\n });\n\n const sessionEmitter = this.disposables.use(new EventEmitter(this.session));\n sessionEmitter.on('script.realmCreated', info => {\n if (\n info.type !== 'window' ||\n info.context !== this.browsingContext.id ||\n info.sandbox !== this.sandbox\n ) {\n return;\n }\n (this as any).id = info.realm;\n (this as any).origin = info.origin;\n this.executionContextId = undefined;\n this.emit('updated', this);\n });\n sessionEmitter.on('script.realmCreated', info => {\n if (info.type !== 'dedicated-worker') {\n return;\n }\n if (!info.owners.includes(this.id)) {\n return;\n }\n\n const realm = DedicatedWorkerRealm.from(this, info.realm, info.origin);\n this.#workers.set(realm.id, realm);\n\n const realmEmitter = this.disposables.use(new EventEmitter(realm));\n realmEmitter.once('destroyed', () => {\n realmEmitter.removeAllListeners();\n this.#workers.delete(realm.id);\n });\n\n this.emit('worker', realm);\n });\n\n sessionEmitter.on('log.entryAdded', entry => {\n if (entry.source.realm !== this.id) {\n return;\n }\n this.emit('log', entry);\n });\n }\n\n override get session(): Session {\n return this.browsingContext.userContext.browser.session;\n }\n\n override get target(): Bidi.Script.Target {\n return {context: this.browsingContext.id, sandbox: this.sandbox};\n }\n}\n\n/**\n * @internal\n */\nexport type DedicatedWorkerOwnerRealm =\n DedicatedWorkerRealm | SharedWorkerRealm | WindowRealm;\n\n/**\n * @internal\n */\nexport class DedicatedWorkerRealm extends Realm {\n static from(\n owner: DedicatedWorkerOwnerRealm,\n id: string,\n origin: string,\n ): DedicatedWorkerRealm {\n const realm = new DedicatedWorkerRealm(owner, id, origin);\n realm.#initialize();\n return realm;\n }\n\n readonly #workers = new Map<string, DedicatedWorkerRealm>();\n readonly owners: Set<DedicatedWorkerOwnerRealm>;\n\n private constructor(\n owner: DedicatedWorkerOwnerRealm,\n id: string,\n origin: string,\n ) {\n super(id, origin);\n this.owners = new Set([owner]);\n }\n\n #initialize(): void {\n const sessionEmitter = this.disposables.use(new EventEmitter(this.session));\n sessionEmitter.on('script.realmDestroyed', info => {\n if (info.realm !== this.id) {\n return;\n }\n this.dispose('Realm already destroyed.');\n });\n sessionEmitter.on('script.realmCreated', info => {\n if (info.type !== 'dedicated-worker') {\n return;\n }\n if (!info.owners.includes(this.id)) {\n return;\n }\n\n const realm = DedicatedWorkerRealm.from(this, info.realm, info.origin);\n this.#workers.set(realm.id, realm);\n\n const realmEmitter = this.disposables.use(new EventEmitter(realm));\n realmEmitter.once('destroyed', () => {\n this.#workers.delete(realm.id);\n });\n\n this.emit('worker', realm);\n });\n\n sessionEmitter.on('log.entryAdded', entry => {\n if (entry.source.realm !== this.id) {\n return;\n }\n this.emit('log', entry);\n });\n }\n\n override get session(): Session {\n // SAFETY: At least one owner will exist.\n return this.owners.values().next().value!.session;\n }\n}\n\n/**\n * @internal\n */\nexport class SharedWorkerRealm extends Realm {\n static from(browser: Browser, id: string, origin: string): SharedWorkerRealm {\n const realm = new SharedWorkerRealm(browser, id, origin);\n realm.#initialize();\n return realm;\n }\n\n readonly #workers = new Map<string, DedicatedWorkerRealm>();\n readonly browser: Browser;\n\n private constructor(browser: Browser, id: string, origin: string) {\n super(id, origin);\n this.browser = browser;\n }\n\n #initialize(): void {\n const sessionEmitter = this.disposables.use(new EventEmitter(this.session));\n sessionEmitter.on('script.realmDestroyed', info => {\n if (info.realm !== this.id) {\n return;\n }\n this.dispose('Realm already destroyed.');\n });\n sessionEmitter.on('script.realmCreated', info => {\n if (info.type !== 'dedicated-worker') {\n return;\n }\n if (!info.owners.includes(this.id)) {\n return;\n }\n\n const realm = DedicatedWorkerRealm.from(this, info.realm, info.origin);\n this.#workers.set(realm.id, realm);\n\n const realmEmitter = this.disposables.use(new EventEmitter(realm));\n realmEmitter.once('destroyed', () => {\n this.#workers.delete(realm.id);\n });\n\n this.emit('worker', realm);\n });\n\n sessionEmitter.on('log.entryAdded', entry => {\n if (entry.source.realm !== this.id) {\n return;\n }\n this.emit('log', entry);\n });\n }\n\n override get session(): Session {\n return this.browser.session;\n }\n}\n","/**\n * @license\n * Copyright 2024 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as Bidi from 'webdriver-bidi-protocol';\n\nimport {ProtocolError, UnsupportedOperation} from '../../common/Errors.js';\nimport {EventEmitter} from '../../common/EventEmitter.js';\nimport {inertIfDisposed} from '../../util/decorators.js';\nimport {DisposableStack, disposeSymbol} from '../../util/disposable.js';\nimport {stringToTypedArray} from '../../util/encoding.js';\n\nimport type {BrowsingContext} from './BrowsingContext.js';\n\n/**\n * @internal\n */\nexport class Request extends EventEmitter<{\n /** Emitted when the request is redirected. */\n redirect: Request;\n /** Emitted when the request succeeds. */\n authenticate: void;\n /** Emitted when the request succeeds. */\n success: Bidi.Network.ResponseData;\n /** Analog of WebDriver BiDi event `network.responseStarted`. Emitted when a\n * response is received. */\n response: Bidi.Network.ResponseData;\n /** Emitted when the request fails. */\n error: string;\n}> {\n static from(\n browsingContext: BrowsingContext,\n event: Bidi.Network.BeforeRequestSentParameters,\n ): Request {\n const request = new Request(browsingContext, event);\n request.#initialize();\n return request;\n }\n\n #responseContentPromise: Promise<Uint8Array<ArrayBufferLike>> | null = null;\n #requestBodyPromise: Promise<string> | null = null;\n #error?: string;\n #redirect?: Request;\n #response?: Bidi.Network.ResponseData;\n readonly #browsingContext: BrowsingContext;\n readonly #disposables = new DisposableStack();\n readonly #event: Bidi.Network.BeforeRequestSentParameters;\n\n private constructor(\n browsingContext: BrowsingContext,\n event: Bidi.Network.BeforeRequestSentParameters,\n ) {\n super();\n\n this.#browsingContext = browsingContext;\n this.#event = event;\n }\n\n #initialize() {\n const browsingContextEmitter = this.#disposables.use(\n new EventEmitter(this.#browsingContext),\n );\n browsingContextEmitter.once('closed', reason => {\n this.#error = reason;\n this.emit('error', reason);\n this.dispose();\n });\n\n const sessionEmitter = this.#disposables.use(\n new EventEmitter(this.#session),\n );\n sessionEmitter.on('network.beforeRequestSent', event => {\n if (\n event.context !== this.#browsingContext.id ||\n event.request.request !== this.id\n ) {\n return;\n }\n // This is a workaround to detect if a beforeRequestSent is for a request\n // sent after continueWithAuth. Currently, only emitted in Firefox.\n const previousRequestHasAuth = this.#event.request.headers.find(\n header => {\n return header.name.toLowerCase() === 'authorization';\n },\n );\n const newRequestHasAuth = event.request.headers.find(header => {\n return header.name.toLowerCase() === 'authorization';\n });\n const isAfterAuth = newRequestHasAuth && !previousRequestHasAuth;\n if (\n event.redirectCount !== this.#event.redirectCount + 1 &&\n !isAfterAuth\n ) {\n return;\n }\n this.#redirect = Request.from(this.#browsingContext, event);\n this.emit('redirect', this.#redirect);\n this.dispose();\n });\n sessionEmitter.on('network.authRequired', event => {\n if (\n event.context !== this.#browsingContext.id ||\n event.request.request !== this.id ||\n // Don't try to authenticate for events that are not blocked\n !event.isBlocked\n ) {\n return;\n }\n this.emit('authenticate', undefined);\n });\n sessionEmitter.on('network.fetchError', event => {\n if (\n event.context !== this.#browsingContext.id ||\n event.request.request !== this.id ||\n this.#event.redirectCount !== event.redirectCount\n ) {\n return;\n }\n this.#error = event.errorText;\n this.emit('error', this.#error);\n this.dispose();\n });\n sessionEmitter.on('network.responseStarted', event => {\n if (\n event.context !== this.#browsingContext.id ||\n event.request.request !== this.id ||\n this.#event.redirectCount !== event.redirectCount\n ) {\n return;\n }\n this.#response = event.response;\n this.#event.request.timings = event.request.timings;\n this.emit('response', this.#response);\n });\n sessionEmitter.on('network.responseCompleted', event => {\n if (\n event.context !== this.#browsingContext.id ||\n event.request.request !== this.id ||\n this.#event.redirectCount !== event.redirectCount\n ) {\n return;\n }\n this.#response = event.response;\n this.#event.request.timings = event.request.timings;\n this.emit('success', this.#response);\n // In case this is a redirect.\n if (this.#response.status >= 300 && this.#response.status < 400) {\n return;\n }\n this.dispose();\n });\n }\n\n get #session() {\n return this.#browsingContext.userContext.browser.session;\n }\n get disposed(): boolean {\n return this.#disposables.disposed;\n }\n get error(): string | undefined {\n return this.#error;\n }\n get headers(): Bidi.Network.Header[] {\n return this.#event.request.headers;\n }\n get id(): string {\n return this.#event.request.request;\n }\n get initiator(): Bidi.Network.Initiator | undefined {\n return {\n ...this.#event.initiator,\n // Initiator URL is not specified in BiDi.\n // @ts-expect-error non-standard property.\n url: this.#event.request['goog:resourceInitiator']?.url,\n // @ts-expect-error non-standard property.\n stack: this.#event.request['goog:resourceInitiator']?.stack,\n };\n }\n get method(): string {\n return this.#event.request.method;\n }\n get navigation(): string | undefined {\n return this.#event.navigation ?? undefined;\n }\n get redirect(): Request | undefined {\n return this.#redirect;\n }\n get lastRedirect(): Request | undefined {\n let redirect = this.#redirect;\n while (redirect) {\n if (redirect && !redirect.#redirect) {\n return redirect;\n }\n redirect = redirect.#redirect;\n }\n return redirect;\n }\n get response(): Bidi.Network.ResponseData | undefined {\n return this.#response;\n }\n get url(): string {\n return this.#event.request.url;\n }\n get isBlocked(): boolean {\n return this.#event.isBlocked;\n }\n\n get resourceType(): string | undefined {\n // @ts-expect-error non-standard attribute.\n return this.#event.request['goog:resourceType'] ?? undefined;\n }\n\n get postData(): string | undefined {\n // @ts-expect-error non-standard attribute.\n return this.#event.request['goog:postData'] ?? undefined;\n }\n\n get hasPostData(): boolean {\n return (this.#event.request.bodySize ?? 0) > 0;\n }\n\n async continueRequest({\n url,\n method,\n headers,\n cookies,\n body,\n }: Omit<Bidi.Network.ContinueRequestParameters, 'request'>): Promise<void> {\n await this.#session.send('network.continueRequest', {\n request: this.id,\n url,\n method,\n headers,\n body,\n cookies,\n });\n }\n\n async failRequest(): Promise<void> {\n await this.#session.send('network.failRequest', {\n request: this.id,\n });\n }\n\n async provideResponse({\n statusCode,\n reasonPhrase,\n headers,\n body,\n }: Omit<Bidi.Network.ProvideResponseParameters, 'request'>): Promise<void> {\n await this.#session.send('network.provideResponse', {\n request: this.id,\n statusCode,\n reasonPhrase,\n headers,\n body,\n });\n }\n\n async fetchPostData(): Promise<string | undefined> {\n if (!this.hasPostData) {\n return undefined;\n }\n if (!this.#requestBodyPromise) {\n this.#requestBodyPromise = (async () => {\n const data = await this.#session.send('network.getData', {\n dataType: Bidi.Network.DataType.Request,\n request: this.id,\n });\n if (data.result.bytes.type === 'string') {\n return data.result.bytes.value;\n }\n\n // TODO: support base64 response.\n throw new UnsupportedOperation(\n `Collected request body data of type ${data.result.bytes.type} is not supported`,\n );\n })();\n }\n return await this.#requestBodyPromise;\n }\n\n async getResponseContent(): Promise<Uint8Array> {\n if (!this.#responseContentPromise) {\n this.#responseContentPromise = (async () => {\n try {\n const data = await this.#session.send('network.getData', {\n dataType: Bidi.Network.DataType.Response,\n request: this.id,\n });\n\n return stringToTypedArray(\n data.result.bytes.value,\n data.result.bytes.type === 'base64',\n );\n } catch (error) {\n if (\n error instanceof ProtocolError &&\n error.originalMessage.includes(\n 'No resource with given identifier found',\n )\n ) {\n throw new ProtocolError(\n 'Could not load response body for this request. This might happen if the request is a preflight request.',\n );\n }\n\n throw error;\n }\n })();\n }\n return await this.#responseContentPromise;\n }\n\n async continueWithAuth(\n parameters:\n | Bidi.Network.ContinueWithAuthCredentials\n | Bidi.Network.ContinueWithAuthNoCredentials,\n ): Promise<void> {\n if (parameters.action === 'provideCredentials') {\n await this.#session.send('network.continueWithAuth', {\n request: this.id,\n action: parameters.action,\n credentials: parameters.credentials,\n });\n } else {\n await this.#session.send('network.continueWithAuth', {\n request: this.id,\n action: parameters.action,\n });\n }\n }\n\n @inertIfDisposed\n private dispose(): void {\n this[disposeSymbol]();\n }\n\n override [disposeSymbol](): void {\n this.#disposables.dispose();\n super[disposeSymbol]();\n }\n\n timing(): Bidi.Network.FetchTimingInfo {\n return this.#event.request.timings;\n }\n}\n","/**\n * @license\n * Copyright 2024 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as Bidi from 'webdriver-bidi-protocol';\n\nimport {EventEmitter} from '../../common/EventEmitter.js';\nimport {inertIfDisposed, throwIfDisposed} from '../../util/decorators.js';\nimport {DisposableStack, disposeSymbol} from '../../util/disposable.js';\n\nimport type {BrowsingContext} from './BrowsingContext.js';\n\n/**\n * @internal\n */\nexport type HandleOptions = Omit<\n Bidi.BrowsingContext.HandleUserPromptParameters,\n 'context'\n>;\n\n/**\n * @internal\n */\nexport type UserPromptResult = Omit<\n Bidi.BrowsingContext.UserPromptClosedParameters,\n 'context'\n>;\n\n/**\n * @internal\n */\nexport class UserPrompt extends EventEmitter<{\n /** Emitted when the user prompt is handled. */\n handled: UserPromptResult;\n /** Emitted when the user prompt is closed. */\n closed: string;\n}> {\n static from(\n browsingContext: BrowsingContext,\n info: Bidi.BrowsingContext.UserPromptOpenedParameters,\n ): UserPrompt {\n const userPrompt = new UserPrompt(browsingContext, info);\n userPrompt.#initialize();\n return userPrompt;\n }\n\n #reason?: string;\n #result?: UserPromptResult;\n readonly #disposables = new DisposableStack();\n readonly browsingContext: BrowsingContext;\n readonly info: Bidi.BrowsingContext.UserPromptOpenedParameters;\n\n private constructor(\n context: BrowsingContext,\n info: Bidi.BrowsingContext.UserPromptOpenedParameters,\n ) {\n super();\n\n this.browsingContext = context;\n this.info = info;\n }\n\n #initialize() {\n const browserContextEmitter = this.#disposables.use(\n new EventEmitter(this.browsingContext),\n );\n browserContextEmitter.once('closed', reason => {\n this.dispose(`User prompt already closed: ${reason}`);\n });\n\n const sessionEmitter = this.#disposables.use(\n new EventEmitter(this.#session),\n );\n sessionEmitter.on('browsingContext.userPromptClosed', parameters => {\n if (parameters.context !== this.browsingContext.id) {\n return;\n }\n this.#result = parameters;\n this.emit('handled', parameters);\n this.dispose('User prompt already handled.');\n });\n }\n\n get #session() {\n return this.browsingContext.userContext.browser.session;\n }\n get closed(): boolean {\n return this.#reason !== undefined;\n }\n get disposed(): boolean {\n return this.closed;\n }\n get handled(): boolean {\n if (\n this.info.handler === Bidi.Session.UserPromptHandlerType.Accept ||\n this.info.handler === Bidi.Session.UserPromptHandlerType.Dismiss\n ) {\n return true;\n }\n return this.#result !== undefined;\n }\n get result(): UserPromptResult | undefined {\n return this.#result;\n }\n\n @inertIfDisposed\n private dispose(reason?: string): void {\n this.#reason = reason;\n this[disposeSymbol]();\n }\n\n @throwIfDisposed<UserPrompt>(prompt => {\n // SAFETY: Disposal implies this exists.\n return prompt.#reason!;\n })\n async handle(options: HandleOptions = {}): Promise<UserPromptResult> {\n await this.#session.send('browsingContext.handleUserPrompt', {\n ...options,\n context: this.info.context,\n });\n // SAFETY: `handled` is triggered before the above promise resolved.\n return this.#result!;\n }\n\n override [disposeSymbol](): void {\n this.#reason ??=\n 'User prompt already closed, probably because the associated browsing context was destroyed.';\n this.emit('closed', this.#reason);\n\n this.#disposables.dispose();\n super[disposeSymbol]();\n }\n}\n","/**\n * @license\n * Copyright 2024 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type * as Bidi from 'webdriver-bidi-protocol';\n\nimport type {BluetoothEmulation} from '../../api/BluetoothEmulation.js';\nimport type {DeviceRequestPrompt} from '../../api/DeviceRequestPrompt.js';\nimport {EventEmitter} from '../../common/EventEmitter.js';\nimport {isString} from '../../common/util.js';\nimport {assert} from '../../util/assert.js';\nimport {inertIfDisposed, throwIfDisposed} from '../../util/decorators.js';\nimport {DisposableStack, disposeSymbol} from '../../util/disposable.js';\nimport {BidiBluetoothEmulation} from '../BluetoothEmulation.js';\nimport {BidiDeviceRequestPromptManager} from '../DeviceRequestPrompt.js';\n\nimport type {AddPreloadScriptOptions} from './Browser.js';\nimport {Navigation} from './Navigation.js';\nimport type {DedicatedWorkerRealm} from './Realm.js';\nimport {WindowRealm} from './Realm.js';\nimport {Request} from './Request.js';\nimport type {UserContext} from './UserContext.js';\nimport {UserPrompt} from './UserPrompt.js';\n\n/**\n * @internal\n */\nexport type AddInterceptOptions = Omit<\n Bidi.Network.AddInterceptParameters,\n 'contexts'\n>;\n\n/**\n * @internal\n */\nexport type CaptureScreenshotOptions = Omit<\n Bidi.BrowsingContext.CaptureScreenshotParameters,\n 'context'\n>;\n\n/**\n * @internal\n */\nexport type ReloadOptions = Omit<\n Bidi.BrowsingContext.ReloadParameters,\n 'context'\n>;\n\n/**\n * @internal\n */\nexport type PrintOptions = Omit<\n Bidi.BrowsingContext.PrintParameters,\n 'context'\n>;\n\n/**\n * @internal\n */\nexport type HandleUserPromptOptions = Omit<\n Bidi.BrowsingContext.HandleUserPromptParameters,\n 'context'\n>;\n\n/**\n * @internal\n */\nexport type SetViewportOptions = Omit<\n Bidi.BrowsingContext.SetViewportParameters,\n 'context'\n>;\n\n/**\n * @internal\n */\nexport type StartScreencastOptions = Omit<\n Bidi.BrowsingContext.StartScreencastParameters,\n 'context'\n>;\n\n/**\n * @internal\n */\nexport type GetCookiesOptions = Omit<\n Bidi.Storage.GetCookiesParameters,\n 'partition'\n>;\n\n/**\n * @internal\n */\nexport type SetGeoLocationOverrideOptions =\n Bidi.Emulation.SetGeolocationOverrideParameters;\n\n/**\n * @internal\n */\nexport class BrowsingContext extends EventEmitter<{\n /** Emitted when this context is closed. */\n closed: string;\n /** Emitted when a child browsing context is created. */\n browsingcontext: BrowsingContext;\n /** Emitted whenever a navigation occurs. */\n navigation: Navigation;\n /** Emitted whenever a file dialog is opened occurs. */\n filedialogopened: Bidi.Input.FileDialogInfo;\n /** Emitted whenever a request is made. */\n request: Request;\n /** Emitted whenever a log entry is added. */\n log: Bidi.Log.Entry;\n /** Emitted whenever a prompt is opened. */\n userprompt: UserPrompt;\n /** Emitted whenever the frame history is updated. */\n historyUpdated: void;\n /** Emitted whenever the frame emits `DOMContentLoaded` */\n DOMContentLoaded: void;\n /** Emitted whenever the frame emits `load` */\n load: void;\n /** Emitted whenever a dedicated worker is created */\n worker: DedicatedWorkerRealm;\n}> {\n static from(\n userContext: UserContext,\n parent: BrowsingContext | undefined,\n id: string,\n url: string,\n originalOpener: string | null,\n clientWindow: string,\n ): BrowsingContext {\n const browsingContext = new BrowsingContext(\n userContext,\n parent,\n id,\n url,\n originalOpener,\n clientWindow,\n );\n browsingContext.#initialize();\n return browsingContext;\n }\n\n #navigation: Navigation | undefined;\n #reason?: string;\n #url: string;\n // Indicated whether client hints have been set to non-default.\n #clientHintsAreSet = false;\n readonly #children = new Map<string, BrowsingContext>();\n readonly #disposables = new DisposableStack();\n readonly #realms = new Map<string, WindowRealm>();\n readonly defaultRealm: WindowRealm;\n readonly id: string;\n readonly parent: BrowsingContext | undefined;\n readonly userContext: UserContext;\n readonly originalOpener: string | null;\n readonly windowId: string;\n readonly #emulationState: {\n javaScriptEnabled: boolean;\n } = {javaScriptEnabled: true};\n readonly #bluetoothEmulation: BluetoothEmulation;\n readonly #deviceRequestPromptManager: BidiDeviceRequestPromptManager;\n\n private constructor(\n userContext: UserContext,\n parent: BrowsingContext | undefined,\n id: string,\n url: string,\n originalOpener: string | null,\n clientWindow: string,\n ) {\n super();\n\n this.#url = url;\n this.id = id;\n this.parent = parent;\n this.userContext = userContext;\n this.originalOpener = originalOpener;\n this.windowId = clientWindow;\n\n this.defaultRealm = this.#createWindowRealm();\n this.#bluetoothEmulation = new BidiBluetoothEmulation(\n this.id,\n this.#session,\n );\n this.#deviceRequestPromptManager = new BidiDeviceRequestPromptManager(\n this.id,\n this.#session,\n );\n }\n\n #initialize() {\n const userContextEmitter = this.#disposables.use(\n new EventEmitter(this.userContext),\n );\n userContextEmitter.once('closed', reason => {\n this.dispose(`Browsing context already closed: ${reason}`);\n });\n\n const sessionEmitter = this.#disposables.use(\n new EventEmitter(this.#session),\n );\n sessionEmitter.on('input.fileDialogOpened', info => {\n if (this.id !== info.context) {\n return;\n }\n this.emit('filedialogopened', info);\n });\n sessionEmitter.on('browsingContext.contextCreated', info => {\n if (info.parent !== this.id) {\n return;\n }\n\n const browsingContext = BrowsingContext.from(\n this.userContext,\n this,\n info.context,\n info.url,\n info.originalOpener,\n info.clientWindow,\n );\n this.#children.set(info.context, browsingContext);\n\n const browsingContextEmitter = this.#disposables.use(\n new EventEmitter(browsingContext),\n );\n browsingContextEmitter.once('closed', () => {\n browsingContextEmitter.removeAllListeners();\n\n this.#children.delete(browsingContext.id);\n });\n\n this.emit('browsingcontext', browsingContext);\n });\n sessionEmitter.on('browsingContext.contextDestroyed', info => {\n if (info.context !== this.id) {\n return;\n }\n this.dispose('Browsing context already closed.');\n });\n\n sessionEmitter.on('browsingContext.historyUpdated', info => {\n if (info.context !== this.id) {\n return;\n }\n this.#url = info.url;\n this.emit('historyUpdated', undefined);\n });\n\n sessionEmitter.on('browsingContext.domContentLoaded', info => {\n if (info.context !== this.id) {\n return;\n }\n this.#url = info.url;\n this.emit('DOMContentLoaded', undefined);\n });\n\n sessionEmitter.on('browsingContext.load', info => {\n if (info.context !== this.id) {\n return;\n }\n this.#url = info.url;\n this.emit('load', undefined);\n });\n\n sessionEmitter.on('browsingContext.navigationStarted', info => {\n if (info.context !== this.id) {\n return;\n }\n // Note: we should not update this.#url at this point since the context\n // has not finished navigating to the info.url yet.\n\n // If the navigation hasn't finished, then this is nested navigation. The\n // current navigation will handle this.\n if (this.#navigation !== undefined && !this.#navigation.disposed) {\n return;\n }\n\n // Note the navigation ID is null for this event.\n this.#navigation = Navigation.from(this);\n\n const navigationEmitter = this.#disposables.use(\n new EventEmitter(this.#navigation),\n );\n for (const eventName of ['fragment', 'failed', 'aborted'] as const) {\n navigationEmitter.once(eventName, ({url}) => {\n navigationEmitter[disposeSymbol]();\n\n this.#url = url;\n });\n }\n\n this.emit('navigation', this.#navigation);\n });\n sessionEmitter.on('network.beforeRequestSent', event => {\n if (event.context !== this.id) {\n return;\n }\n if (event.redirectCount > 0) {\n // Means the request is a redirect. This is handled in Request.\n // Or an Auth event was issued\n return;\n }\n\n const request = Request.from(this, event);\n this.emit('request', request);\n });\n\n sessionEmitter.on('log.entryAdded', entry => {\n if (entry.source.context !== this.id) {\n return;\n }\n\n this.emit('log', entry);\n });\n\n sessionEmitter.on('browsingContext.userPromptOpened', info => {\n if (info.context !== this.id) {\n return;\n }\n\n const userPrompt = UserPrompt.from(this, info);\n this.emit('userprompt', userPrompt);\n });\n }\n\n get #session() {\n return this.userContext.browser.session;\n }\n get children(): Iterable<BrowsingContext> {\n return this.#children.values();\n }\n get closed(): boolean {\n return this.#reason !== undefined;\n }\n get disposed(): boolean {\n return this.closed;\n }\n get realms(): Iterable<WindowRealm> {\n // eslint-disable-next-line @typescript-eslint/no-this-alias -- Required\n const self = this;\n return (function* () {\n yield self.defaultRealm;\n yield* self.#realms.values();\n })();\n }\n get top(): BrowsingContext {\n let context = this as BrowsingContext;\n for (let {parent} = context; parent; {parent} = context) {\n context = parent;\n }\n return context;\n }\n get url(): string {\n return this.#url;\n }\n\n #createWindowRealm(sandbox?: string) {\n const realm = WindowRealm.from(this, sandbox);\n realm.on('worker', realm => {\n this.emit('worker', realm);\n });\n return realm;\n }\n\n @inertIfDisposed\n private dispose(reason?: string): void {\n this.#reason = reason;\n for (const context of this.#children.values()) {\n context.dispose('Parent browsing context was disposed');\n }\n this[disposeSymbol]();\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async activate(): Promise<void> {\n await this.#session.send('browsingContext.activate', {\n context: this.id,\n });\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async captureScreenshot(\n options: CaptureScreenshotOptions = {},\n ): Promise<string> {\n const {\n result: {data},\n } = await this.#session.send('browsingContext.captureScreenshot', {\n context: this.id,\n ...options,\n });\n return data;\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async startScreencast(\n options: StartScreencastOptions = {},\n ): Promise<Bidi.BrowsingContext.StartScreencastResult> {\n const {result} = await this.#session.send(\n 'browsingContext.startScreencast',\n {\n context: this.id,\n ...options,\n },\n );\n return result;\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async stopScreencast(\n screencast: Bidi.BrowsingContext.Screencast,\n ): Promise<Bidi.BrowsingContext.StopScreencastResult> {\n const {result} = await this.#session.send(\n 'browsingContext.stopScreencast',\n {\n screencast,\n },\n );\n return result;\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async close(promptUnload?: boolean): Promise<void> {\n // The WebDriver BiDi specification only allows closing top-level browsing contexts.\n // Closing a top-level context automatically closes all its children, so there is\n // no need to explicitly close nested contexts.\n await this.#session.send('browsingContext.close', {\n context: this.id,\n promptUnload,\n });\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async traverseHistory(delta: number): Promise<void> {\n await this.#session.send('browsingContext.traverseHistory', {\n context: this.id,\n delta,\n });\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async navigate(\n url: string,\n wait?: Bidi.BrowsingContext.ReadinessState,\n ): Promise<void> {\n await this.#session.send('browsingContext.navigate', {\n context: this.id,\n url,\n wait,\n });\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async reload(options: ReloadOptions = {}): Promise<void> {\n await this.#session.send('browsingContext.reload', {\n context: this.id,\n ...options,\n });\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async setCacheBehavior(cacheBehavior: 'default' | 'bypass'): Promise<void> {\n await this.#session.send('network.setCacheBehavior', {\n contexts: [this.id],\n cacheBehavior,\n });\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async print(options: PrintOptions = {}): Promise<string> {\n const {\n result: {data},\n } = await this.#session.send('browsingContext.print', {\n context: this.id,\n ...options,\n });\n return data;\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async handleUserPrompt(options: HandleUserPromptOptions = {}): Promise<void> {\n await this.#session.send('browsingContext.handleUserPrompt', {\n context: this.id,\n ...options,\n });\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async setViewport(options: SetViewportOptions = {}): Promise<void> {\n await this.#session.send('browsingContext.setViewport', {\n context: this.id,\n ...options,\n });\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async setTouchOverride(maxTouchPoints: number | null): Promise<void> {\n await this.#session.send('emulation.setTouchOverride', {\n contexts: [this.id],\n maxTouchPoints,\n });\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async performActions(actions: Bidi.Input.SourceActions[]): Promise<void> {\n await this.#session.send('input.performActions', {\n context: this.id,\n actions,\n });\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async releaseActions(): Promise<void> {\n await this.#session.send('input.releaseActions', {\n context: this.id,\n });\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n createWindowRealm(sandbox: string): WindowRealm {\n return this.#createWindowRealm(sandbox);\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async addPreloadScript(\n functionDeclaration: string,\n options: AddPreloadScriptOptions = {},\n ): Promise<string> {\n return await this.userContext.browser.addPreloadScript(\n functionDeclaration,\n {\n ...options,\n contexts: [this],\n },\n );\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async addIntercept(options: AddInterceptOptions): Promise<string> {\n const {\n result: {intercept},\n } = await this.userContext.browser.session.send('network.addIntercept', {\n ...options,\n contexts: [this.id],\n });\n\n return intercept;\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async removePreloadScript(script: string): Promise<void> {\n await this.userContext.browser.removePreloadScript(script);\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async setGeolocationOverride(\n options: SetGeoLocationOverrideOptions,\n ): Promise<void> {\n if (!('coordinates' in options)) {\n throw new Error('Missing coordinates');\n }\n await this.userContext.browser.session.send(\n 'emulation.setGeolocationOverride',\n {\n coordinates: options.coordinates,\n contexts: [this.id],\n },\n );\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async setTimezoneOverride(timezoneId?: string): Promise<void> {\n if (timezoneId?.startsWith('GMT')) {\n // CDP requires `GMT` prefix before timezone offset, while BiDi does not. Remove the\n // `GMT` for interop between CDP and BiDi.\n timezoneId = timezoneId?.replace('GMT', '');\n }\n await this.userContext.browser.session.send(\n 'emulation.setTimezoneOverride',\n {\n timezone: timezoneId ?? null,\n contexts: [this.id],\n },\n );\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async setLocaleOverride(locale?: string): Promise<void> {\n await this.userContext.browser.session.send('emulation.setLocaleOverride', {\n locale: locale ?? null,\n contexts: [this.id],\n });\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async setScreenOrientationOverride(\n screenOrientation: Bidi.Emulation.ScreenOrientation | null,\n ): Promise<void> {\n await this.#session.send('emulation.setScreenOrientationOverride', {\n screenOrientation,\n contexts: [this.id],\n });\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async getCookies(\n options: GetCookiesOptions = {},\n ): Promise<Bidi.Network.Cookie[]> {\n const {\n result: {cookies},\n } = await this.#session.send('storage.getCookies', {\n ...options,\n partition: {\n type: 'context',\n context: this.id,\n },\n });\n return cookies;\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async setCookie(cookie: Bidi.Storage.PartialCookie): Promise<void> {\n await this.#session.send('storage.setCookie', {\n cookie,\n partition: {\n type: 'context',\n context: this.id,\n },\n });\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async setFiles(\n element: Bidi.Script.SharedReference,\n files: string[],\n ): Promise<void> {\n await this.#session.send('input.setFiles', {\n context: this.id,\n element,\n files,\n });\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async subscribe(events: [string, ...string[]]): Promise<void> {\n await this.#session.subscribe(events, [this.id]);\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async addInterception(events: [string, ...string[]]): Promise<void> {\n await this.#session.subscribe(events, [this.id]);\n }\n\n override [disposeSymbol](): void {\n this.#reason ??=\n 'Browsing context already closed, probably because the user context closed.';\n this.emit('closed', this.#reason);\n\n this.#disposables.dispose();\n super[disposeSymbol]();\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async deleteCookie(\n ...cookieFilters: Bidi.Storage.CookieFilter[]\n ): Promise<void> {\n await Promise.all(\n cookieFilters.map(async filter => {\n await this.#session.send('storage.deleteCookies', {\n filter: filter,\n partition: {\n type: 'context',\n context: this.id,\n },\n });\n }),\n );\n }\n\n @throwIfDisposed<BrowsingContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async locateNodes(\n locator: Bidi.BrowsingContext.Locator,\n startNodes: Bidi.Script.SharedReference[] = [],\n ): Promise<Bidi.Script.NodeRemoteValue[]> {\n // TODO: add other locateNodes options if needed.\n const result = await this.#session.send('browsingContext.locateNodes', {\n context: this.id,\n locator,\n startNodes: startNodes.length\n ? (startNodes as [\n Bidi.Script.SharedReference,\n ...Bidi.Script.SharedReference[],\n ])\n : undefined,\n });\n return result.result.nodes;\n }\n\n async setJavaScriptEnabled(enabled: boolean): Promise<void> {\n await this.userContext.browser.session.send(\n 'emulation.setScriptingEnabled',\n {\n // Enabled `null` means `default`, `false` means `disabled`.\n enabled: enabled ? null : false,\n contexts: [this.id],\n },\n );\n this.#emulationState.javaScriptEnabled = enabled;\n }\n\n isJavaScriptEnabled(): boolean {\n return this.#emulationState.javaScriptEnabled;\n }\n\n async setUserAgent(userAgent: string | null): Promise<void> {\n await this.#session.send('emulation.setUserAgentOverride', {\n userAgent,\n contexts: [this.id],\n });\n }\n\n async setClientHintsOverride(\n clientHints: Bidi.BidiUaClientHints.UserAgentClientHints.ClientHintsMetadata | null,\n ): Promise<void> {\n if (clientHints === null && !this.#clientHintsAreSet) {\n // Ignore the call, as the client hints are not supposed to be changed. Required to\n // avoid breakage with browsers that don't support client hints emulation.\n return;\n }\n this.#clientHintsAreSet = true;\n\n await this.#session.send('userAgentClientHints.setClientHintsOverride', {\n clientHints,\n contexts: [this.id],\n });\n }\n\n async setOfflineMode(enabled: boolean): Promise<void> {\n await this.#session.send('emulation.setNetworkConditions', {\n networkConditions: enabled\n ? {\n type: 'offline',\n }\n : null,\n contexts: [this.id],\n });\n }\n\n get bluetooth(): BluetoothEmulation {\n return this.#bluetoothEmulation;\n }\n\n async waitForDevicePrompt(\n timeout: number,\n signal?: AbortSignal,\n ): Promise<DeviceRequestPrompt> {\n return await this.#deviceRequestPromptManager.waitForDevicePrompt(\n timeout,\n signal,\n );\n }\n\n async setExtraHTTPHeaders(headers: Record<string, string>): Promise<void> {\n await this.#session.send('network.setExtraHeaders', {\n headers: Object.entries(headers).map(([key, value]) => {\n assert(\n isString(value),\n `Expected value of header \"${key}\" to be String, but \"${typeof value}\" is found.`,\n );\n\n return {\n name: key.toLowerCase(),\n value: {type: 'string', value: value},\n };\n }),\n contexts: [this.id],\n });\n }\n}\n","/**\n * @license\n * Copyright 2024 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type * as Bidi from 'webdriver-bidi-protocol';\n\nimport {EventEmitter} from '../../common/EventEmitter.js';\nimport {assert} from '../../util/assert.js';\nimport {inertIfDisposed, throwIfDisposed} from '../../util/decorators.js';\nimport {DisposableStack, disposeSymbol} from '../../util/disposable.js';\n\nimport type {Browser} from './Browser.js';\nimport type {GetCookiesOptions} from './BrowsingContext.js';\nimport {BrowsingContext} from './BrowsingContext.js';\n\n/**\n * @internal\n */\nexport type CreateBrowsingContextOptions = Omit<\n Bidi.BrowsingContext.CreateParameters,\n 'type' | 'referenceContext'\n> & {\n referenceContext?: BrowsingContext;\n background?: boolean;\n};\n\n/**\n * @internal\n */\nexport class UserContext extends EventEmitter<{\n /**\n * Emitted when a new browsing context is created.\n */\n browsingcontext: BrowsingContext;\n /**\n * Emitted when the user context is closed.\n */\n closed: string;\n}> {\n static DEFAULT = 'default' as const;\n\n static create(browser: Browser, id: string): UserContext {\n const context = new UserContext(browser, id);\n context.#initialize();\n return context;\n }\n\n #reason?: string;\n // Note these are only top-level contexts.\n readonly #browsingContexts = new Map<string, BrowsingContext>();\n readonly #disposables = new DisposableStack();\n readonly #id: string;\n readonly browser: Browser;\n\n private constructor(browser: Browser, id: string) {\n super();\n\n this.#id = id;\n this.browser = browser;\n }\n\n #initialize() {\n const browserEmitter = this.#disposables.use(\n new EventEmitter(this.browser),\n );\n browserEmitter.once('closed', reason => {\n this.dispose(`User context was closed: ${reason}`);\n });\n browserEmitter.once('disconnected', reason => {\n this.dispose(`User context was closed: ${reason}`);\n });\n\n const sessionEmitter = this.#disposables.use(\n new EventEmitter(this.#session),\n );\n sessionEmitter.on('browsingContext.contextCreated', info => {\n if (info.parent) {\n return;\n }\n\n if (info.userContext !== this.#id) {\n return;\n }\n\n const browsingContext = BrowsingContext.from(\n this,\n undefined,\n info.context,\n info.url,\n info.originalOpener,\n info.clientWindow,\n );\n this.#browsingContexts.set(browsingContext.id, browsingContext);\n\n const browsingContextEmitter = this.#disposables.use(\n new EventEmitter(browsingContext),\n );\n browsingContextEmitter.on('closed', () => {\n browsingContextEmitter.removeAllListeners();\n\n this.#browsingContexts.delete(browsingContext.id);\n });\n\n this.emit('browsingcontext', browsingContext);\n });\n }\n\n get #session() {\n return this.browser.session;\n }\n get browsingContexts(): Iterable<BrowsingContext> {\n return this.#browsingContexts.values();\n }\n get closed(): boolean {\n return this.#reason !== undefined;\n }\n get disposed(): boolean {\n return this.closed;\n }\n get id(): string {\n return this.#id;\n }\n\n @inertIfDisposed\n private dispose(reason?: string): void {\n this.#reason = reason;\n this[disposeSymbol]();\n }\n\n @throwIfDisposed<UserContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async createBrowsingContext(\n type: Bidi.BrowsingContext.CreateType,\n options: CreateBrowsingContextOptions = {},\n ): Promise<BrowsingContext> {\n const {\n result: {context: contextId},\n } = await this.#session.send('browsingContext.create', {\n type,\n ...options,\n referenceContext: options.referenceContext?.id,\n background: options.background,\n userContext: this.#id,\n });\n\n const browsingContext = this.#browsingContexts.get(contextId);\n assert(\n browsingContext,\n 'The WebDriver BiDi implementation is failing to create a browsing context correctly.',\n );\n\n // We use an array to avoid the promise from being awaited.\n return browsingContext;\n }\n\n @throwIfDisposed<UserContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async remove(): Promise<void> {\n try {\n await this.#session.send('browser.removeUserContext', {\n userContext: this.#id,\n });\n } finally {\n this.dispose('User context already closed.');\n }\n }\n\n @throwIfDisposed<UserContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async getCookies(\n options: GetCookiesOptions = {},\n sourceOrigin: string | undefined = undefined,\n ): Promise<Bidi.Network.Cookie[]> {\n const {\n result: {cookies},\n } = await this.#session.send('storage.getCookies', {\n ...options,\n partition: {\n type: 'storageKey',\n userContext: this.#id,\n sourceOrigin,\n },\n });\n return cookies;\n }\n\n @throwIfDisposed<UserContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async setCookie(\n cookie: Bidi.Storage.PartialCookie,\n sourceOrigin?: string,\n ): Promise<void> {\n await this.#session.send('storage.setCookie', {\n cookie,\n partition: {\n type: 'storageKey',\n sourceOrigin,\n userContext: this.id,\n },\n });\n }\n\n @throwIfDisposed<UserContext>(context => {\n // SAFETY: Disposal implies this exists.\n return context.#reason!;\n })\n async setPermissions(\n origin: string,\n descriptor: Bidi.Permissions.PermissionDescriptor,\n state: Bidi.Permissions.PermissionState,\n ): Promise<void> {\n await this.#session.send('permissions.setPermission', {\n origin,\n descriptor,\n state,\n userContext: this.#id,\n });\n }\n\n override [disposeSymbol](): void {\n this.#reason ??=\n 'User context already closed, probably because the browser disconnected/closed.';\n this.emit('closed', this.#reason);\n\n this.#disposables.dispose();\n super[disposeSymbol]();\n }\n}\n","/**\n * @license\n * Copyright 2023 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type * as Bidi from 'webdriver-bidi-protocol';\n\nimport type {Logger} from '../common/Debug.js';\nimport {DEBUG_PREFIXES} from '../common/Debug.js';\n/**\n * @internal\n */\nexport class BidiDeserializer {\n static deserialize(result: Bidi.Script.RemoteValue, logger?: Logger): any {\n if (!result) {\n logger?.(DEBUG_PREFIXES.error)?.('Service did not produce a result.');\n return undefined;\n }\n\n switch (result.type) {\n case 'array':\n return result.value?.map(value => {\n return this.deserialize(value);\n });\n case 'set':\n return result.value?.reduce((acc: Set<unknown>, value) => {\n return acc.add(this.deserialize(value));\n }, new Set());\n case 'object':\n return result.value?.reduce((acc: Record<any, unknown>, tuple) => {\n const {key, value} = this.#deserializeTuple(tuple);\n acc[key as any] = value;\n return acc;\n }, {});\n case 'map':\n return result.value?.reduce((acc: Map<unknown, unknown>, tuple) => {\n const {key, value} = this.#deserializeTuple(tuple);\n return acc.set(key, value);\n }, new Map());\n case 'promise':\n return {};\n case 'regexp':\n return new RegExp(result.value.pattern, result.value.flags);\n case 'date':\n return new Date(result.value);\n case 'undefined':\n return undefined;\n case 'null':\n return null;\n case 'number':\n return this.#deserializeNumber(result.value);\n case 'bigint':\n return BigInt(result.value);\n case 'boolean':\n return Boolean(result.value);\n case 'string':\n return result.value;\n }\n\n logger?.(DEBUG_PREFIXES.error)?.(\n `Deserialization of type ${result.type} not supported.`,\n );\n return undefined;\n }\n\n static #deserializeNumber(value: Bidi.Script.SpecialNumber | number): number {\n switch (value) {\n case '-0':\n return -0;\n case 'NaN':\n return NaN;\n case 'Infinity':\n return Infinity;\n case '-Infinity':\n return -Infinity;\n default:\n return value;\n }\n }\n\n static #deserializeTuple([serializedKey, serializedValue]: [\n Bidi.Script.RemoteValue | string,\n Bidi.Script.RemoteValue,\n ]): {key: unknown; value: unknown} {\n const key =\n typeof serializedKey === 'string'\n ? serializedKey\n : this.deserialize(serializedKey);\n const value = this.deserialize(serializedValue);\n\n return {key, value};\n }\n}\n","/**\n * @license\n * Copyright 2023 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type * as Bidi from 'webdriver-bidi-protocol';\n\nimport type {ElementHandle} from '../api/ElementHandle.js';\nimport {JSHandle} from '../api/JSHandle.js';\nimport {UnsupportedOperation} from '../common/Errors.js';\n\nimport {BidiDeserializer} from './Deserializer.js';\nimport type {BidiRealm} from './Realm.js';\n\n/**\n * @internal\n */\nexport class BidiJSHandle<T = unknown> extends JSHandle<T> {\n static from<T>(\n value: Bidi.Script.RemoteValue,\n realm: BidiRealm,\n ): BidiJSHandle<T> {\n return new BidiJSHandle(value, realm);\n }\n\n readonly #remoteValue: Bidi.Script.RemoteValue;\n\n override readonly realm: BidiRealm;\n\n #disposed = false;\n\n constructor(value: Bidi.Script.RemoteValue, realm: BidiRealm) {\n super(realm.logger);\n this.#remoteValue = value;\n this.realm = realm;\n }\n\n override get disposed(): boolean {\n return this.#disposed;\n }\n\n override async jsonValue(): Promise<T> {\n return await this.evaluate(value => {\n return value;\n });\n }\n\n override asElement(): ElementHandle<Node> | null {\n return null;\n }\n\n override async dispose(): Promise<void> {\n if (this.#disposed) {\n return;\n }\n this.#disposed = true;\n await this.realm.destroyHandles([this]);\n }\n\n get isPrimitiveValue(): boolean {\n switch (this.#remoteValue.type) {\n case 'string':\n case 'number':\n case 'bigint':\n case 'boolean':\n case 'undefined':\n case 'null':\n return true;\n\n default:\n return false;\n }\n }\n\n override toString(): string {\n if (this.isPrimitiveValue) {\n return 'JSHandle:' + BidiDeserializer.deserialize(this.#remoteValue);\n }\n\n return 'JSHandle@' + this.#remoteValue.type;\n }\n\n override get id(): string | undefined {\n return 'handle' in this.#remoteValue ? this.#remoteValue.handle : undefined;\n }\n\n remoteValue(): Bidi.Script.RemoteValue {\n return this.#remoteValue;\n }\n\n override remoteObject(): never {\n throw new UnsupportedOperation('Not available in WebDriver BiDi');\n }\n}\n","/**\n * @license\n * Copyright 2023 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type * as Bidi from 'webdriver-bidi-protocol';\n\nimport {\n bindIsolatedHandle,\n ElementHandle,\n type AutofillData,\n} from '../api/ElementHandle.js';\nimport {UnsupportedOperation} from '../common/Errors.js';\nimport type {AwaitableIterable} from '../common/types.js';\nimport {environment} from '../environment.js';\nimport {AsyncIterableUtil} from '../util/AsyncIterableUtil.js';\nimport {throwIfDisposed} from '../util/decorators.js';\n\nimport type {BidiFrame} from './Frame.js';\nimport {BidiJSHandle} from './JSHandle.js';\nimport type {BidiFrameRealm} from './Realm.js';\n\n/**\n * @internal\n */\nexport class BidiElementHandle<\n ElementType extends Node = Element,\n> extends ElementHandle<ElementType> {\n #backendNodeId?: number;\n\n static from<ElementType extends Node = Element>(\n value: Bidi.Script.RemoteValue,\n realm: BidiFrameRealm,\n ): BidiElementHandle<ElementType> {\n return new BidiElementHandle(value, realm);\n }\n\n declare handle: BidiJSHandle<ElementType>;\n\n constructor(value: Bidi.Script.RemoteValue, realm: BidiFrameRealm) {\n super(BidiJSHandle.from(value, realm), realm.logger);\n }\n\n override get realm(): BidiFrameRealm {\n // SAFETY: See the super call in the constructor.\n return this.handle.realm as BidiFrameRealm;\n }\n\n override get frame(): BidiFrame {\n return this.realm.environment;\n }\n\n remoteValue(): Bidi.Script.RemoteValue {\n return this.handle.remoteValue();\n }\n\n @throwIfDisposed()\n override async autofill(data: AutofillData): Promise<void> {\n const client = this.frame.client;\n const nodeInfo = await client.send('DOM.describeNode', {\n objectId: this.handle.id,\n });\n const fieldId = nodeInfo.node.backendNodeId;\n const frameId = this.frame._id;\n await client.send('Autofill.trigger', {\n fieldId,\n frameId,\n card: data.creditCard,\n address: data.address,\n });\n }\n\n override async contentFrame(\n this: BidiElementHandle<HTMLIFrameElement>,\n ): Promise<BidiFrame>;\n @throwIfDisposed()\n @bindIsolatedHandle\n override async contentFrame(): Promise<BidiFrame | null> {\n using handle = (await this.evaluateHandle(element => {\n if (\n element instanceof HTMLIFrameElement ||\n element instanceof HTMLFrameElement\n ) {\n return element.contentWindow;\n }\n return;\n })) as BidiJSHandle;\n const value = handle.remoteValue();\n if (value.type === 'window') {\n return (\n this.frame\n .page()\n .frames()\n .find(frame => {\n return frame._id === value.value.context;\n }) ?? null\n );\n }\n return null;\n }\n\n override async uploadFile(\n this: BidiElementHandle<HTMLInputElement>,\n ...files: string[]\n ): Promise<void> {\n // Locate all files and confirm that they exist.\n const path = environment.value.path;\n if (path) {\n files = files.map(file => {\n if (path.win32.isAbsolute(file) || path.posix.isAbsolute(file)) {\n return file;\n } else {\n return path.resolve(file);\n }\n });\n }\n await this.frame.setFiles(this, files);\n }\n\n override async *queryAXTree(\n this: BidiElementHandle<HTMLElement>,\n name?: string | undefined,\n role?: string | undefined,\n ): AwaitableIterable<ElementHandle<Node>> {\n const results = await this.frame.locateNodes(this, {\n type: 'accessibility',\n value: {\n role,\n name,\n },\n });\n\n return yield* AsyncIterableUtil.map(results, node => {\n // TODO: maybe change ownership since the default ownership is probably none.\n return Promise.resolve(BidiElementHandle.from(node, this.realm));\n });\n }\n\n override async backendNodeId(): Promise<number> {\n if (!this.frame.page().browser().cdpSupported) {\n throw new UnsupportedOperation();\n }\n if (this.#backendNodeId) {\n return this.#backendNodeId;\n }\n const {node} = await this.frame.client.send('DOM.describeNode', {\n objectId: this.handle.id,\n });\n this.#backendNodeId = node.backendNodeId;\n return this.#backendNodeId;\n }\n}\n","/**\n * @license\n * Copyright 2017 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {Dialog} from '../api/Dialog.js';\n\nimport type {UserPrompt} from './core/UserPrompt.js';\n\nexport class BidiDialog extends Dialog {\n static from(prompt: UserPrompt): BidiDialog {\n return new BidiDialog(prompt);\n }\n\n #prompt: UserPrompt;\n private constructor(prompt: UserPrompt) {\n super(prompt.info.type, prompt.info.message, prompt.info.defaultValue);\n this.#prompt = prompt;\n this.handled = prompt.handled;\n\n prompt.once('handled', () => {\n this.handled = true;\n });\n }\n\n override async handle(options: {\n accept: boolean;\n text?: string;\n }): Promise<void> {\n await this.#prompt.handle({\n accept: options.accept,\n userText: options.text,\n });\n }\n}\n","/**\n * @license\n * Copyright 2023 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as Bidi from 'webdriver-bidi-protocol';\n\nimport {DEBUG_PREFIXES, type Logger} from '../common/Debug.js';\nimport {EventEmitter} from '../common/EventEmitter.js';\nimport type {Awaitable, FlattenHandle} from '../common/types.js';\nimport {DisposableStack} from '../util/disposable.js';\nimport {interpolateFunction, stringifyFunction} from '../util/Function.js';\n\nimport type {Connection} from './core/Connection.js';\nimport {BidiElementHandle} from './ElementHandle.js';\nimport type {BidiFrame} from './Frame.js';\nimport {BidiJSHandle} from './JSHandle.js';\n\ntype CallbackChannel<Args, Ret> = (\n value: [\n resolve: (ret: FlattenHandle<Awaited<Ret>>) => void,\n reject: (error: unknown) => void,\n args: Args,\n ],\n) => void;\n\n/**\n * @internal\n */\nexport class ExposableFunction<Args extends unknown[], Ret> {\n static async from<Args extends unknown[], Ret>(\n frame: BidiFrame,\n name: string,\n apply: (...args: Args) => Awaitable<Ret>,\n isolate = false,\n logger: Logger,\n ): Promise<ExposableFunction<Args, Ret>> {\n const func = new ExposableFunction(frame, name, apply, isolate, logger);\n await func.#initialize();\n return func;\n }\n\n readonly #frame;\n\n readonly name;\n readonly #apply;\n readonly #isolate;\n readonly #logger: Logger;\n\n readonly #channel;\n\n #scripts: Array<[BidiFrame, Bidi.Script.PreloadScript]> = [];\n #disposables = new DisposableStack();\n\n constructor(\n frame: BidiFrame,\n name: string,\n apply: (...args: Args) => Awaitable<Ret>,\n isolate = false,\n logger: Logger,\n ) {\n this.#frame = frame;\n this.name = name;\n this.#apply = apply;\n this.#isolate = isolate;\n this.#logger = logger;\n\n this.#channel = `__puppeteer__${this.#frame._id}_page_exposeFunction_${this.name}`;\n }\n\n async #initialize() {\n const connection = this.#connection;\n const channel = {\n type: 'channel' as const,\n value: {\n channel: this.#channel,\n ownership: Bidi.Script.ResultOwnership.Root,\n },\n };\n\n const connectionEmitter = this.#disposables.use(\n new EventEmitter(connection, this.#logger),\n );\n connectionEmitter.on('script.message', this.#handleMessage);\n\n const functionDeclaration = stringifyFunction(\n interpolateFunction(\n (callback: CallbackChannel<Args, Ret>) => {\n Object.assign(globalThis, {\n [PLACEHOLDER('name') as string]: function (...args: Args) {\n return new Promise<FlattenHandle<Awaited<Ret>>>(\n (resolve, reject) => {\n callback([resolve, reject, args]);\n },\n );\n },\n });\n },\n {name: JSON.stringify(this.name)},\n ),\n );\n\n const frames = [this.#frame];\n for (const frame of frames) {\n frames.push(...frame.childFrames());\n }\n\n await Promise.all(\n frames.map(async frame => {\n const realm = this.#isolate ? frame.isolatedRealm() : frame.mainRealm();\n try {\n const [script] = await Promise.all([\n frame.browsingContext.addPreloadScript(functionDeclaration, {\n arguments: [channel],\n sandbox: realm.sandbox,\n }),\n realm.realm.callFunction(functionDeclaration, false, {\n arguments: [channel],\n }),\n ]);\n this.#scripts.push([frame, script]);\n } catch (error) {\n // If it errors, the frame probably doesn't support call function. We\n // fail gracefully.\n this.#logger?.(DEBUG_PREFIXES.error)?.(error);\n }\n }),\n );\n }\n\n get #connection(): Connection {\n return this.#frame.page().browser().connection;\n }\n\n #handleMessage = async (params: Bidi.Script.MessageParameters) => {\n if (params.channel !== this.#channel) {\n return;\n }\n const realm = this.#getRealm(params.source);\n if (!realm) {\n // Unrelated message.\n return;\n }\n\n using dataHandle = BidiJSHandle.from<\n [\n resolve: (ret: FlattenHandle<Awaited<Ret>>) => void,\n reject: (error: unknown) => void,\n args: Args,\n ]\n >(params.data, realm);\n\n using stack = new DisposableStack();\n const args = [];\n\n let result;\n try {\n using argsHandle = await dataHandle.evaluateHandle(([, , args]) => {\n return args;\n });\n\n for (const [index, handle] of await argsHandle.getProperties()) {\n stack.use(handle);\n\n // Element handles are passed as is.\n if (handle instanceof BidiElementHandle) {\n args[+index] = handle;\n stack.use(handle);\n continue;\n }\n\n // Everything else is passed as the JS value.\n args[+index] = handle.jsonValue();\n }\n result = await this.#apply(...((await Promise.all(args)) as Args));\n } catch (error) {\n try {\n if (error instanceof Error) {\n await dataHandle.evaluate(\n ([, reject], name, message, stack) => {\n const error = new Error(message);\n error.name = name;\n if (stack) {\n error.stack = stack;\n }\n reject(error);\n },\n error.name,\n error.message,\n error.stack,\n );\n } else {\n await dataHandle.evaluate(([, reject], error) => {\n reject(error);\n }, error);\n }\n } catch (error) {\n this.#logger?.(DEBUG_PREFIXES.error)?.(error);\n }\n return;\n }\n\n try {\n await dataHandle.evaluate(([resolve], result) => {\n resolve(result);\n }, result);\n } catch (error) {\n this.#logger?.(DEBUG_PREFIXES.error)?.(error);\n }\n };\n\n #getRealm(source: Bidi.Script.Source) {\n const frame = this.#findFrame(source.context as string);\n if (!frame) {\n // Unrelated message.\n return;\n }\n return frame.realm(source.realm);\n }\n\n #findFrame(id: string) {\n const frames = [this.#frame];\n for (const frame of frames) {\n if (frame._id === id) {\n return frame;\n }\n frames.push(...frame.childFrames());\n }\n return;\n }\n\n [Symbol.dispose](): void {\n void this[Symbol.asyncDispose]().catch(error => {\n this.#logger?.(DEBUG_PREFIXES.error)?.(error);\n });\n }\n\n async [Symbol.asyncDispose](): Promise<void> {\n this.#disposables.dispose();\n await Promise.all(\n this.#scripts.map(async ([frame, script]) => {\n const realm = this.#isolate ? frame.isolatedRealm() : frame.mainRealm();\n try {\n await Promise.all([\n realm.evaluate(name => {\n delete (globalThis as any)[name];\n }, this.name),\n ...frame.childFrames().map(childFrame => {\n return childFrame.evaluate(name => {\n delete (globalThis as any)[name];\n }, this.name);\n }),\n frame.browsingContext.removePreloadScript(script),\n ]);\n } catch (error) {\n this.#logger?.(DEBUG_PREFIXES.error)?.(error);\n }\n }),\n );\n }\n}\n","/**\n * @license\n * Copyright 2020 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type {Protocol} from 'devtools-protocol';\nimport type * as Bidi from 'webdriver-bidi-protocol';\n\nimport type {Frame} from '../api/Frame.js';\nimport {HTTPResponse, type RemoteAddress} from '../api/HTTPResponse.js';\nimport {PageEvent} from '../api/Page.js';\nimport {UnsupportedOperation} from '../common/Errors.js';\nimport {SecurityDetails} from '../common/SecurityDetails.js';\nimport {invokeAtMostOnceForArguments} from '../util/decorators.js';\nimport {normalizeHeaderValue} from '../util/httpUtils.js';\n\nimport type {BidiHTTPRequest} from './HTTPRequest.js';\n\n/**\n * @internal\n */\nexport class BidiHTTPResponse extends HTTPResponse {\n /**\n * Returns a new BidiHTTPResponse or updates the existing one if it already exists.\n */\n static from(\n data: Bidi.Network.ResponseData,\n request: BidiHTTPRequest,\n cdpSupported: boolean,\n ): BidiHTTPResponse {\n const existingResponse = request.response();\n if (existingResponse) {\n // Update existing response data with up-to-date data.\n existingResponse.#data = data;\n return existingResponse;\n }\n\n const response = new BidiHTTPResponse(data, request, cdpSupported);\n response.#initialize();\n return response;\n }\n\n #data: Bidi.Network.ResponseData;\n #request: BidiHTTPRequest;\n #securityDetails?: SecurityDetails;\n #cdpSupported = false;\n\n private constructor(\n data: Bidi.Network.ResponseData,\n request: BidiHTTPRequest,\n cdpSupported: boolean,\n ) {\n super();\n this.#data = data;\n this.#request = request;\n this.#cdpSupported = cdpSupported;\n\n // @ts-expect-error non-standard property.\n const securityDetails = data['goog:securityDetails'];\n if (cdpSupported && securityDetails) {\n this.#securityDetails = new SecurityDetails(\n securityDetails as Protocol.Network.SecurityDetails,\n );\n }\n }\n\n #initialize() {\n if (this.#data.fromCache) {\n this.#request._fromMemoryCache = true;\n this.#request\n .frame()\n ?.page()\n .trustedEmitter.emit(PageEvent.RequestServedFromCache, this.#request);\n }\n this.#request.frame()?.page().trustedEmitter.emit(PageEvent.Response, this);\n }\n\n @invokeAtMostOnceForArguments\n override remoteAddress(): RemoteAddress {\n return {\n ip: '',\n port: -1,\n };\n }\n\n override url(): string {\n return this.#data.url;\n }\n\n override status(): number {\n return this.#data.status;\n }\n\n override statusText(): string {\n return this.#data.statusText;\n }\n\n override headers(): Record<string, string> {\n const headers: Record<string, string> = {};\n for (const header of this.#data.headers) {\n // TODO: How to handle Binary Headers\n // https://w3c.github.io/webdriver-bidi/#type-network-Header\n if (header.value.type === 'string') {\n const headerName = header.name.toLowerCase();\n const value =\n headerName in headers\n ? `${headers[headerName]}\\n${header.value.value}`\n : header.value.value;\n headers[headerName] = normalizeHeaderValue(headerName, value);\n }\n }\n return headers;\n }\n\n override request(): BidiHTTPRequest {\n return this.#request;\n }\n\n override fromCache(): boolean {\n return this.#data.fromCache;\n }\n\n override timing(): Protocol.Network.ResourceTiming | null {\n const bidiTiming = this.#request.timing();\n return {\n requestTime: bidiTiming.requestTime,\n proxyStart: -1,\n proxyEnd: -1,\n dnsStart: bidiTiming.dnsStart,\n dnsEnd: bidiTiming.dnsEnd,\n connectStart: bidiTiming.connectStart,\n connectEnd: bidiTiming.connectEnd,\n sslStart: bidiTiming.tlsStart,\n sslEnd: -1,\n workerStart: -1,\n workerReady: -1,\n workerFetchStart: -1,\n workerRespondWithSettled: -1,\n workerRouterEvaluationStart: -1,\n workerCacheLookupStart: -1,\n sendStart: bidiTiming.requestStart,\n sendEnd: -1,\n pushStart: -1,\n pushEnd: -1,\n receiveHeadersStart: bidiTiming.responseStart,\n receiveHeadersEnd: bidiTiming.responseEnd,\n };\n }\n\n override frame(): Frame | null {\n return this.#request.frame();\n }\n\n override fromServiceWorker(): boolean {\n return false;\n }\n\n override securityDetails(): SecurityDetails | null {\n if (!this.#cdpSupported) {\n throw new UnsupportedOperation();\n }\n return this.#securityDetails ?? null;\n }\n\n async content(): Promise<Uint8Array> {\n return await this.#request.getResponseContent();\n }\n}\n","/**\n * @license\n * Copyright 2020 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type {Protocol} from 'devtools-protocol';\nimport type * as Bidi from 'webdriver-bidi-protocol';\n\nimport type {CDPSession} from '../api/CDPSession.js';\nimport type {\n ContinueRequestOverrides,\n InterceptResolutionState,\n ResponseForRequest,\n} from '../api/HTTPRequest.js';\nimport {\n HTTPRequest,\n STATUS_TEXTS,\n type ResourceType,\n handleError,\n InterceptResolutionAction,\n} from '../api/HTTPRequest.js';\nimport {PageEvent} from '../api/Page.js';\nimport type {Logger} from '../common/Debug.js';\nimport {UnsupportedOperation} from '../common/Errors.js';\nimport {stringToBase64} from '../util/encoding.js';\n\nimport type {Request} from './core/Request.js';\nimport type {BidiFrame} from './Frame.js';\nimport {BidiHTTPResponse} from './HTTPResponse.js';\n\nexport const requests = new WeakMap<Request, BidiHTTPRequest>();\n\n/**\n * @internal\n */\nexport class BidiHTTPRequest extends HTTPRequest {\n static from(\n bidiRequest: Request,\n frame: BidiFrame,\n isNetworkInterceptionEnabled: boolean,\n redirect: BidiHTTPRequest | undefined,\n logger: Logger,\n ): BidiHTTPRequest {\n const request = new BidiHTTPRequest(\n bidiRequest,\n frame,\n isNetworkInterceptionEnabled,\n redirect,\n logger,\n );\n request.#initialize();\n return request;\n }\n\n #redirectChain: BidiHTTPRequest[];\n #response: BidiHTTPResponse | null = null;\n override readonly id: string;\n readonly #frame: BidiFrame;\n readonly #request: Request;\n #logger: Logger;\n\n private constructor(\n request: Request,\n frame: BidiFrame,\n isNetworkInterceptionEnabled: boolean,\n redirect: BidiHTTPRequest | undefined,\n logger: Logger,\n ) {\n super();\n this.#logger = logger;\n requests.set(request, this);\n\n this.interception.enabled = isNetworkInterceptionEnabled;\n\n this.#request = request;\n this.#frame = frame;\n this.#redirectChain = redirect ? redirect.#redirectChain : [];\n this.id = request.id;\n }\n\n override get client(): CDPSession {\n return this.#frame.client;\n }\n\n #initialize() {\n this.#request.on('redirect', request => {\n const httpRequest = BidiHTTPRequest.from(\n request,\n this.#frame,\n this.interception.enabled,\n this,\n this.#logger,\n );\n this.#redirectChain.push(this);\n\n request.once('success', () => {\n this.#frame\n .page()\n .trustedEmitter.emit(PageEvent.RequestFinished, httpRequest);\n });\n\n request.once('error', () => {\n this.#frame\n .page()\n .trustedEmitter.emit(PageEvent.RequestFailed, httpRequest);\n });\n void httpRequest.finalizeInterceptions();\n });\n this.#request.once('response', data => {\n // Create new response with the initial data. Note: the data can be updated later\n // on, when the `success` event is received.\n this.#response = BidiHTTPResponse.from(\n data,\n this,\n this.#frame.page().browser().cdpSupported,\n );\n });\n this.#request.once('success', data => {\n // The `network.responseCompleted` event (mapped to `success` here)\n // contains the most up-to-date and complete response data, including\n // headers that might be missing from `network.responseStarted`\n // (e.g., `Set-Cookie` for navigation requests in Chrome).\n this.#response = BidiHTTPResponse.from(\n data,\n this,\n this.#frame.page().browser().cdpSupported,\n );\n });\n this.#request.on('authenticate', this.#handleAuthentication);\n\n this.#frame.page().trustedEmitter.emit(PageEvent.Request, this);\n }\n\n protected canBeIntercepted(): boolean {\n return this.#request.isBlocked;\n }\n\n override interceptResolutionState(): InterceptResolutionState {\n if (!this.#request.isBlocked) {\n return {action: InterceptResolutionAction.Disabled};\n }\n return super.interceptResolutionState();\n }\n\n override url(): string {\n return this.#request.url;\n }\n\n override resourceType(): ResourceType {\n if (!this.#frame.page().browser().cdpSupported) {\n throw new UnsupportedOperation();\n }\n return (\n this.#request.resourceType || 'other'\n ).toLowerCase() as ResourceType;\n }\n\n override method(): string {\n return this.#request.method;\n }\n\n override postData(): string | undefined {\n if (!this.#frame.page().browser().cdpSupported) {\n throw new UnsupportedOperation();\n }\n return this.#request.postData;\n }\n\n override hasPostData(): boolean {\n return this.#request.hasPostData;\n }\n\n override async fetchPostData(): Promise<string | undefined> {\n return await this.#request.fetchPostData();\n }\n\n override headers(): Record<string, string> {\n // Callers should not be allowed to mutate internal structure.\n const headers: Record<string, string> = {};\n for (const header of this.#request.headers) {\n headers[header.name.toLowerCase()] = header.value.value;\n }\n return {\n ...headers,\n };\n }\n\n override response(): BidiHTTPResponse | null {\n return this.#response;\n }\n\n override failure(): {errorText: string} | null {\n if (this.#request.error === undefined) {\n return null;\n }\n return {errorText: this.#request.error};\n }\n\n override isNavigationRequest(): boolean {\n return this.#request.navigation !== undefined;\n }\n\n override initiator(): Protocol.Network.Initiator | undefined {\n return {\n ...this.#request.initiator,\n type: this.#request.initiator?.type ?? 'other',\n };\n }\n\n override redirectChain(): BidiHTTPRequest[] {\n return this.#redirectChain.slice();\n }\n\n override frame(): BidiFrame {\n return this.#frame;\n }\n\n override async _continue(\n overrides: ContinueRequestOverrides = {},\n ): Promise<void> {\n const headers: Bidi.Network.Header[] = getBidiHeaders(overrides.headers);\n this.interception.handled = true;\n\n return await this.#request\n .continueRequest({\n url: overrides.url,\n method: overrides.method,\n body: overrides.postData\n ? {\n type: 'base64',\n value: stringToBase64(overrides.postData),\n }\n : undefined,\n headers: headers.length > 0 ? headers : undefined,\n })\n .catch(error => {\n this.interception.handled = false;\n return handleError(error, this.#logger);\n });\n }\n\n override async _abort(): Promise<void> {\n this.interception.handled = true;\n return await this.#request.failRequest().catch(error => {\n this.interception.handled = false;\n throw error;\n });\n }\n\n override async _respond(\n response: Partial<ResponseForRequest>,\n _priority?: number,\n ): Promise<void> {\n this.interception.handled = true;\n\n let parsedBody:\n | {\n contentLength: number;\n base64: string;\n }\n | undefined;\n if (response.body) {\n parsedBody = HTTPRequest.getResponse(response.body);\n }\n\n const headers: Bidi.Network.Header[] = getBidiHeaders(response.headers);\n const hasContentLength = headers.some(header => {\n return header.name === 'content-length';\n });\n\n if (response.contentType) {\n headers.push({\n name: 'content-type',\n value: {\n type: 'string',\n value: response.contentType,\n },\n });\n }\n\n if (parsedBody?.contentLength && !hasContentLength) {\n headers.push({\n name: 'content-length',\n value: {\n type: 'string',\n value: String(parsedBody.contentLength),\n },\n });\n }\n const status = response.status || 200;\n\n return await this.#request\n .provideResponse({\n statusCode: status,\n headers: headers.length > 0 ? headers : undefined,\n reasonPhrase: STATUS_TEXTS[status],\n body: parsedBody?.base64\n ? {\n type: 'base64',\n value: parsedBody?.base64,\n }\n : undefined,\n })\n .catch(error => {\n this.interception.handled = false;\n throw error;\n });\n }\n\n #authenticationHandled = false;\n #handleAuthentication = async () => {\n if (!this.#frame) {\n return;\n }\n const credentials = this.#frame.page()._credentials;\n if (credentials && !this.#authenticationHandled) {\n this.#authenticationHandled = true;\n void this.#request.continueWithAuth({\n action: 'provideCredentials',\n credentials: {\n type: 'password',\n username: credentials.username,\n password: credentials.password,\n },\n });\n } else {\n void this.#request.continueWithAuth({\n action: 'cancel',\n });\n }\n };\n\n timing(): Bidi.Network.FetchTimingInfo {\n return this.#request.timing();\n }\n\n getResponseContent(): Promise<Uint8Array> {\n return this.#request.getResponseContent();\n }\n}\n\nfunction getBidiHeaders(rawHeaders?: Record<string, unknown>) {\n const headers: Bidi.Network.Header[] = [];\n for (const [name, value] of Object.entries(rawHeaders ?? [])) {\n if (!Object.is(value, undefined)) {\n const values = Array.isArray(value) ? value : [value];\n\n for (const value of values) {\n headers.push({\n name: name.toLowerCase(),\n value: {\n type: 'string',\n value: String(value),\n },\n });\n }\n }\n }\n\n return headers;\n}\n","/**\n * @license\n * Copyright 2023 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type * as Bidi from 'webdriver-bidi-protocol';\n\nimport {isDate, isPlainObject, isRegExp} from '../common/util.js';\n\n/**\n * @internal\n */\nclass UnserializableError extends Error {}\n\n/**\n * @internal\n */\nexport class BidiSerializer {\n static serialize(arg: unknown): Bidi.Script.LocalValue {\n switch (typeof arg) {\n case 'symbol':\n case 'function':\n throw new UnserializableError(`Unable to serializable ${typeof arg}`);\n case 'object':\n return this.#serializeObject(arg);\n\n case 'undefined':\n return {\n type: 'undefined',\n };\n case 'number':\n return this.#serializeNumber(arg);\n case 'bigint':\n return {\n type: 'bigint',\n value: arg.toString(),\n };\n case 'string':\n return {\n type: 'string',\n value: arg,\n };\n case 'boolean':\n return {\n type: 'boolean',\n value: arg,\n };\n }\n }\n\n static #serializeNumber(arg: number): Bidi.Script.LocalValue {\n let value: Bidi.Script.SpecialNumber | number;\n if (Object.is(arg, -0)) {\n value = '-0';\n } else if (Object.is(arg, Infinity)) {\n value = 'Infinity';\n } else if (Object.is(arg, -Infinity)) {\n value = '-Infinity';\n } else if (Object.is(arg, NaN)) {\n value = 'NaN';\n } else {\n value = arg;\n }\n return {\n type: 'number',\n value,\n };\n }\n\n static #serializeObject(arg: object | null): Bidi.Script.LocalValue {\n if (arg === null) {\n return {\n type: 'null',\n };\n } else if (Array.isArray(arg)) {\n const parsedArray = arg.map(subArg => {\n return this.serialize(subArg);\n });\n\n return {\n type: 'array',\n value: parsedArray,\n };\n } else if (isPlainObject(arg)) {\n try {\n JSON.stringify(arg);\n } catch (error) {\n if (\n error instanceof TypeError &&\n error.message.startsWith('Converting circular structure to JSON')\n ) {\n error.message += ' Recursive objects are not allowed.';\n }\n throw error;\n }\n\n const parsedObject: Bidi.Script.MappingLocalValue = [];\n for (const key in arg) {\n parsedObject.push([this.serialize(key), this.serialize(arg[key])]);\n }\n\n return {\n type: 'object',\n value: parsedObject,\n };\n } else if (isRegExp(arg)) {\n return {\n type: 'regexp',\n value: {\n pattern: arg.source,\n flags: arg.flags,\n },\n };\n } else if (isDate(arg)) {\n return {\n type: 'date',\n value: arg.toISOString(),\n };\n }\n\n throw new UnserializableError(\n 'Custom object serialization not possible. Use plain objects instead.',\n );\n }\n}\n","/**\n * @license\n * Copyright 2023 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type * as Bidi from 'webdriver-bidi-protocol';\n\nimport type {Frame} from '../api/Frame.js';\nimport {ConsoleMessage} from '../common/ConsoleMessage.js';\nimport type {\n ConsoleMessageLocation,\n ConsoleMessageType,\n} from '../common/ConsoleMessage.js';\nimport {ProtocolError, TimeoutError} from '../common/Errors.js';\nimport {PuppeteerURL} from '../common/util.js';\n\nimport type {BidiElementHandle} from './bidi.js';\nimport {BidiDeserializer} from './Deserializer.js';\nimport {BidiJSHandle} from './JSHandle.js';\n\n/**\n * @internal\n *\n * TODO: Remove this and map CDP the correct method.\n * Requires breaking change.\n */\nexport function convertConsoleMessageLevel(method: string): ConsoleMessageType {\n switch (method) {\n case 'group':\n return 'startGroup';\n case 'groupCollapsed':\n return 'startGroupCollapsed';\n case 'groupEnd':\n return 'endGroup';\n default:\n return method as ConsoleMessageType;\n }\n}\n\n/**\n * @internal\n */\nexport function getStackTraceLocations(\n stackTrace?: Bidi.Script.StackTrace,\n): ConsoleMessageLocation[] {\n const stackTraceLocations: ConsoleMessageLocation[] = [];\n if (stackTrace) {\n for (const callFrame of stackTrace.callFrames) {\n stackTraceLocations.push({\n url: callFrame.url,\n lineNumber: callFrame.lineNumber,\n columnNumber: callFrame.columnNumber,\n });\n }\n }\n return stackTraceLocations;\n}\n\n/**\n * @internal\n */\nexport function getConsoleMessage(\n entry: Bidi.Log.ConsoleLogEntry,\n args: Array<BidiJSHandle<unknown> | BidiElementHandle<Node>>,\n frame?: Frame,\n targetId?: string,\n): ConsoleMessage {\n const text = args\n .reduce((value, arg) => {\n const parsedValue =\n arg instanceof BidiJSHandle && arg.isPrimitiveValue\n ? BidiDeserializer.deserialize(arg.remoteValue())\n : arg.toString();\n return `${value} ${parsedValue}`;\n }, '')\n .slice(1);\n\n return new ConsoleMessage(\n convertConsoleMessageLevel(entry.method),\n text,\n args,\n getStackTraceLocations(entry.stackTrace),\n frame,\n undefined,\n targetId,\n );\n}\n\n/**\n * @internal\n */\nexport function isConsoleLogEntry(\n event: Bidi.Log.Entry,\n): event is Bidi.Log.ConsoleLogEntry {\n return event.type === 'console';\n}\n\n/**\n * @internal\n */\nexport function isJavaScriptLogEntry(\n event: Bidi.Log.Entry,\n): event is Bidi.Log.JavascriptLogEntry {\n return event.type === 'javascript';\n}\n\n/**\n * @internal\n */\nexport function createEvaluationError(\n details: Bidi.Script.ExceptionDetails,\n): unknown {\n if (details.exception.type === 'object' && !('value' in details.exception)) {\n // Heuristic detecting a platform object was thrown. WebDriver BiDi serializes\n // platform objects without value. If so, throw a generic error with the actual\n // exception's message, as there is no way to restore the original exception's\n // constructor.\n return new Error(details.text);\n }\n\n if (details.exception.type !== 'error') {\n return BidiDeserializer.deserialize(details.exception);\n }\n const [name = '', ...parts] = details.text.split(': ');\n const message = parts.join(': ');\n const error = new Error(message);\n error.name = name;\n\n // The first line is this function which we ignore.\n const stackLines = [];\n if (details.stackTrace && stackLines.length < Error.stackTraceLimit) {\n for (const frame of details.stackTrace.callFrames.reverse()) {\n if (\n PuppeteerURL.isPuppeteerURL(frame.url) &&\n frame.url !== PuppeteerURL.INTERNAL_URL\n ) {\n const url = PuppeteerURL.parse(frame.url);\n stackLines.unshift(\n ` at ${frame.functionName || url.functionName} (${\n url.functionName\n } at ${url.siteString}, <anonymous>:${frame.lineNumber}:${\n frame.columnNumber\n })`,\n );\n } else {\n stackLines.push(\n ` at ${frame.functionName || '<anonymous>'} (${frame.url}:${\n frame.lineNumber\n }:${frame.columnNumber})`,\n );\n }\n if (stackLines.length >= Error.stackTraceLimit) {\n break;\n }\n }\n }\n\n error.stack = [details.text, ...stackLines].join('\\n');\n return error;\n}\n\n/**\n * @internal\n */\nexport function rewriteNavigationError(\n message: string,\n ms: number,\n): (error: unknown) => never {\n return error => {\n if (error instanceof ProtocolError) {\n error.message += ` at ${message}`;\n } else if (error instanceof TimeoutError) {\n error.message = `Navigation timeout of ${ms} ms exceeded`;\n }\n throw error;\n };\n}\n\n/**\n * @internal\n */\nexport function rewriteEvaluationError(error: unknown): never {\n if (error instanceof Error) {\n if (\n error.message.includes('ExecutionContext was destroyed') ||\n error.message.includes('Inspected target navigated or closed')\n ) {\n throw new Error(\n 'Execution context was destroyed, most likely because of a navigation.',\n );\n }\n }\n throw error;\n}\n","/**\n * @license\n * Copyright 2024 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport * as Bidi from 'webdriver-bidi-protocol';\n\nimport type {Extension} from '../api/Extension.js';\nimport type {JSHandle} from '../api/JSHandle.js';\nimport {Realm} from '../api/Realm.js';\nimport {WebWorkerEvent} from '../api/WebWorker.js';\nimport {ARIAQueryHandler} from '../common/AriaQueryHandler.js';\nimport {DEBUG_PREFIXES, type Logger} from '../common/Debug.js';\nimport {LazyArg} from '../common/LazyArg.js';\nimport {scriptInjector} from '../common/ScriptInjector.js';\nimport type {TimeoutSettings} from '../common/TimeoutSettings.js';\nimport type {EvaluateFunc, HandleFor} from '../common/types.js';\nimport {\n getSourcePuppeteerURLIfAvailable,\n getSourceUrlComment,\n isString,\n PuppeteerURL,\n SOURCE_URL_REGEX,\n} from '../common/util.js';\nimport {UnsupportedOperation} from '../index-browser.js';\nimport type {PuppeteerInjectedUtil} from '../injected/injected.js';\nimport {AsyncIterableUtil} from '../util/AsyncIterableUtil.js';\nimport {stringifyFunction} from '../util/Function.js';\n\nimport type {\n Realm as BidiRealmCore,\n DedicatedWorkerRealm,\n SharedWorkerRealm,\n} from './core/Realm.js';\nimport type {WindowRealm} from './core/Realm.js';\nimport {BidiDeserializer} from './Deserializer.js';\nimport {BidiElementHandle} from './ElementHandle.js';\nimport {ExposableFunction} from './ExposedFunction.js';\nimport type {BidiFrame} from './Frame.js';\nimport {BidiJSHandle} from './JSHandle.js';\nimport {BidiSerializer} from './Serializer.js';\nimport {\n createEvaluationError,\n getConsoleMessage,\n isConsoleLogEntry,\n rewriteEvaluationError,\n} from './util.js';\nimport type {BidiWebWorker} from './WebWorker.js';\n\n/**\n * @internal\n */\nexport abstract class BidiRealm extends Realm {\n readonly realm: BidiRealmCore;\n #logger: Logger;\n\n constructor(\n realm: BidiRealmCore,\n timeoutSettings: TimeoutSettings,\n logger: Logger,\n ) {\n super(timeoutSettings);\n this.realm = realm;\n this.#logger = logger;\n }\n\n /**\n * @internal\n */\n get logger(): Logger {\n return this.#logger;\n }\n\n protected initialize(): void {\n this.realm.on('destroyed', reason => {\n this.taskManager.terminateAll(new Error(reason));\n this.dispose();\n });\n this.realm.on('updated', () => {\n this.internalPuppeteerUtil = undefined;\n void this.taskManager.rerunAll();\n });\n }\n\n protected internalPuppeteerUtil?: Promise<\n BidiJSHandle<PuppeteerInjectedUtil>\n >;\n get puppeteerUtil(): Promise<BidiJSHandle<PuppeteerInjectedUtil>> {\n const promise = Promise.resolve() as Promise<unknown>;\n scriptInjector.inject(script => {\n if (this.internalPuppeteerUtil) {\n void this.internalPuppeteerUtil.then(handle => {\n void handle.dispose();\n });\n }\n this.internalPuppeteerUtil = promise.then(() => {\n return this.evaluateHandle(script) as Promise<\n BidiJSHandle<PuppeteerInjectedUtil>\n >;\n });\n }, !this.internalPuppeteerUtil);\n return this.internalPuppeteerUtil as Promise<\n BidiJSHandle<PuppeteerInjectedUtil>\n >;\n }\n\n override async evaluateHandle<\n Params extends unknown[],\n Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,\n >(\n pageFunction: Func | string,\n ...args: Params\n ): Promise<HandleFor<Awaited<ReturnType<Func>>>> {\n return await this.#evaluate(false, pageFunction, ...args);\n }\n\n override async evaluate<\n Params extends unknown[],\n Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,\n >(\n pageFunction: Func | string,\n ...args: Params\n ): Promise<Awaited<ReturnType<Func>>> {\n return await this.#evaluate(true, pageFunction, ...args);\n }\n\n async #evaluate<\n Params extends unknown[],\n Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,\n >(\n returnByValue: true,\n pageFunction: Func | string,\n ...args: Params\n ): Promise<Awaited<ReturnType<Func>>>;\n async #evaluate<\n Params extends unknown[],\n Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,\n >(\n returnByValue: false,\n pageFunction: Func | string,\n ...args: Params\n ): Promise<HandleFor<Awaited<ReturnType<Func>>>>;\n async #evaluate<\n Params extends unknown[],\n Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,\n >(\n returnByValue: boolean,\n pageFunction: Func | string,\n ...args: Params\n ): Promise<HandleFor<Awaited<ReturnType<Func>>> | Awaited<ReturnType<Func>>> {\n const sourceUrlComment = getSourceUrlComment(\n getSourcePuppeteerURLIfAvailable(pageFunction)?.toString() ??\n PuppeteerURL.INTERNAL_URL,\n );\n\n let responsePromise;\n const resultOwnership = returnByValue\n ? Bidi.Script.ResultOwnership.None\n : Bidi.Script.ResultOwnership.Root;\n const serializationOptions: Bidi.Script.SerializationOptions = returnByValue\n ? {}\n : {\n maxObjectDepth: 0,\n maxDomDepth: 0,\n };\n if (isString(pageFunction)) {\n const expression = SOURCE_URL_REGEX.test(pageFunction)\n ? pageFunction\n : `${pageFunction}\\n${sourceUrlComment}\\n`;\n\n responsePromise = this.realm.evaluate(expression, true, {\n resultOwnership,\n userActivation: true,\n serializationOptions,\n });\n } else {\n let functionDeclaration = stringifyFunction(pageFunction);\n functionDeclaration = SOURCE_URL_REGEX.test(functionDeclaration)\n ? functionDeclaration\n : `${functionDeclaration}\\n${sourceUrlComment}\\n`;\n responsePromise = this.realm.callFunction(\n functionDeclaration,\n /* awaitPromise= */ true,\n {\n // LazyArgs are used only internally and should not affect the order\n // evaluate calls for the public APIs.\n arguments: args.some(arg => {\n return arg instanceof LazyArg;\n })\n ? await Promise.all(\n args.map(arg => {\n return this.serializeAsync(arg);\n }),\n )\n : args.map(arg => {\n return this.serialize(arg);\n }),\n resultOwnership,\n userActivation: true,\n serializationOptions,\n },\n );\n }\n\n const result = await responsePromise.catch(rewriteEvaluationError);\n\n if ('type' in result && result.type === 'exception') {\n throw createEvaluationError(result.exceptionDetails);\n }\n\n if (returnByValue) {\n return BidiDeserializer.deserialize(result.result);\n }\n\n return this.createHandle(result.result) as unknown as HandleFor<\n Awaited<ReturnType<Func>>\n >;\n }\n\n createHandle(\n result: Bidi.Script.RemoteValue,\n ): BidiJSHandle<unknown> | BidiElementHandle<Node> {\n if (\n (result.type === 'node' || result.type === 'window') &&\n this instanceof BidiFrameRealm\n ) {\n return BidiElementHandle.from(result, this);\n }\n return BidiJSHandle.from(result, this);\n }\n\n async serializeAsync(arg: unknown): Promise<Bidi.Script.LocalValue> {\n if (arg instanceof LazyArg) {\n arg = await arg.get(this);\n }\n return this.serialize(arg);\n }\n\n serialize(arg: unknown): Bidi.Script.LocalValue {\n if (arg instanceof BidiJSHandle || arg instanceof BidiElementHandle) {\n if (arg.realm !== this) {\n if (\n !(arg.realm instanceof BidiFrameRealm) ||\n !(this instanceof BidiFrameRealm)\n ) {\n throw new Error(\n \"Trying to evaluate JSHandle from different global types. Usually this means you're using a handle from a worker in a page or vice versa.\",\n );\n }\n if (arg.realm.environment !== this.environment) {\n throw new Error(\n \"Trying to evaluate JSHandle from different frames. Usually this means you're using a handle from a page on a different page.\",\n );\n }\n }\n if (arg.disposed) {\n throw new Error('JSHandle is disposed!');\n }\n return arg.remoteValue() as Bidi.Script.RemoteReference;\n }\n\n return BidiSerializer.serialize(arg);\n }\n\n async destroyHandles(handles: Array<BidiJSHandle<unknown>>): Promise<void> {\n if (this.disposed) {\n return;\n }\n\n const handleIds = handles\n .map(({id}) => {\n return id;\n })\n .filter((id): id is string => {\n return id !== undefined;\n });\n\n if (handleIds.length === 0) {\n return;\n }\n\n void this.realm.disown(handleIds).catch(error => {\n // Exceptions might happen in case of a page been navigated or closed.\n // Swallow these since they are harmless and we don't leak anything in this case.\n this.#logger?.(DEBUG_PREFIXES.error)?.(error);\n });\n }\n\n override async adoptHandle<T extends JSHandle<Node>>(handle: T): Promise<T> {\n return (await this.evaluateHandle(node => {\n return node;\n }, handle)) as unknown as T;\n }\n\n override async transferHandle<T extends JSHandle<Node>>(\n handle: T,\n ): Promise<T> {\n if (handle.realm === this) {\n return handle;\n }\n const transferredHandle = this.adoptHandle(handle);\n await handle.dispose();\n return await transferredHandle;\n }\n\n extension(): Promise<Extension | null> {\n throw new UnsupportedOperation();\n }\n\n override get origin(): string {\n throw new UnsupportedOperation();\n }\n}\n\n/**\n * @internal\n */\nexport class BidiFrameRealm extends BidiRealm {\n static from(\n realm: WindowRealm,\n frame: BidiFrame,\n logger: Logger,\n ): BidiFrameRealm {\n const frameRealm = new BidiFrameRealm(realm, frame, logger);\n frameRealm.#initialize();\n return frameRealm;\n }\n declare readonly realm: WindowRealm;\n\n readonly #frame: BidiFrame;\n\n private constructor(realm: WindowRealm, frame: BidiFrame, logger: Logger) {\n super(realm, frame.timeoutSettings, logger);\n this.#frame = frame;\n }\n\n #initialize() {\n super.initialize();\n\n // This should run first.\n this.realm.on('updated', () => {\n this.environment.clearDocumentHandle();\n this.#bindingsInstalled = false;\n });\n }\n\n #bindingsInstalled = false;\n override get puppeteerUtil(): Promise<BidiJSHandle<PuppeteerInjectedUtil>> {\n let promise = Promise.resolve() as Promise<unknown>;\n if (!this.#bindingsInstalled) {\n promise = Promise.all([\n ExposableFunction.from(\n this.environment,\n '__ariaQuerySelector',\n ARIAQueryHandler.queryOne,\n !!this.sandbox,\n this.logger,\n ),\n ExposableFunction.from(\n this.environment,\n '__ariaQuerySelectorAll',\n async (\n element: BidiElementHandle<Node>,\n selector: string,\n ): Promise<JSHandle<Node[]>> => {\n const results = ARIAQueryHandler.queryAll(element, selector);\n return await element.realm.evaluateHandle(\n (...elements) => {\n return elements;\n },\n ...(await AsyncIterableUtil.collect(results)),\n );\n },\n !!this.sandbox,\n this.logger,\n ),\n ]);\n this.#bindingsInstalled = true;\n }\n return promise.then(() => {\n return super.puppeteerUtil;\n });\n }\n\n get sandbox(): string | undefined {\n return this.realm.sandbox;\n }\n\n override get environment(): BidiFrame {\n return this.#frame;\n }\n\n override async adoptBackendNode(\n backendNodeId?: number | undefined,\n ): Promise<JSHandle<Node>> {\n const {object} = await this.#frame.client.send('DOM.resolveNode', {\n backendNodeId,\n executionContextId: await this.realm.resolveExecutionContextId(),\n });\n using handle = BidiElementHandle.from(\n {\n handle: object.objectId,\n type: 'node',\n },\n this,\n );\n // We need the sharedId, so we perform the following to obtain it.\n return await handle.evaluateHandle(element => {\n return element;\n });\n }\n}\n\n/**\n * @internal\n */\nexport class BidiWorkerRealm extends BidiRealm {\n static from(\n realm: DedicatedWorkerRealm | SharedWorkerRealm,\n worker: BidiWebWorker,\n logger: Logger,\n ): BidiWorkerRealm {\n const workerRealm = new BidiWorkerRealm(realm, worker, logger);\n workerRealm.initialize();\n return workerRealm;\n }\n declare readonly realm: DedicatedWorkerRealm | SharedWorkerRealm;\n\n readonly #worker: BidiWebWorker;\n\n private constructor(\n realm: DedicatedWorkerRealm | SharedWorkerRealm,\n frame: BidiWebWorker,\n logger: Logger,\n ) {\n super(realm, frame.timeoutSettings, logger);\n this.#worker = frame;\n }\n\n override initialize(): void {\n super.initialize();\n this.realm.on('log', entry => {\n if (\n isConsoleLogEntry(entry) &&\n this.#worker.listenerCount(WebWorkerEvent.Console)\n ) {\n const args = entry.args.map(arg => {\n return this.createHandle(arg);\n });\n\n const message = getConsoleMessage(\n entry,\n args,\n undefined,\n this.realm.id,\n );\n this.#worker.emit(WebWorkerEvent.Console, message);\n }\n });\n }\n\n override get environment(): BidiWebWorker {\n return this.#worker;\n }\n\n override async adoptBackendNode(): Promise<JSHandle<Node>> {\n throw new Error('Cannot adopt DOM nodes into a worker.');\n }\n}\n","/**\n * @license\n * Copyright 2024 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {WebWorker} from '../api/WebWorker.js';\nimport type {Logger} from '../common/Debug.js';\nimport {UnsupportedOperation} from '../common/Errors.js';\nimport type {CDPSession} from '../puppeteer-core.js';\n\nimport type {DedicatedWorkerRealm, SharedWorkerRealm} from './core/Realm.js';\nimport type {BidiFrame} from './Frame.js';\nimport {BidiWorkerRealm} from './Realm.js';\n\n/**\n * @internal\n */\nexport class BidiWebWorker extends WebWorker {\n static from(\n frame: BidiFrame,\n realm: DedicatedWorkerRealm | SharedWorkerRealm,\n logger: Logger,\n ): BidiWebWorker {\n const worker = new BidiWebWorker(frame, realm, logger);\n return worker;\n }\n\n readonly #frame: BidiFrame;\n readonly #realm: BidiWorkerRealm;\n private constructor(\n frame: BidiFrame,\n realm: DedicatedWorkerRealm | SharedWorkerRealm,\n logger: Logger,\n ) {\n super(realm.origin);\n this.#frame = frame;\n this.#realm = BidiWorkerRealm.from(realm, this, logger);\n }\n\n get frame(): BidiFrame {\n return this.#frame;\n }\n\n mainRealm(): BidiWorkerRealm {\n return this.#realm;\n }\n\n get client(): CDPSession {\n throw new UnsupportedOperation();\n }\n}\n","/**\n * @license\n * Copyright 2023 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as Bidi from 'webdriver-bidi-protocol';\n\nimport type {Observable} from '../../third_party/rxjs/rxjs.js';\nimport {\n combineLatest,\n defer,\n delayWhen,\n filter,\n first,\n firstValueFrom,\n map,\n of,\n race,\n raceWith,\n switchMap,\n} from '../../third_party/rxjs/rxjs.js';\nimport type {CDPSession} from '../api/CDPSession.js';\nimport type {DeviceRequestPrompt} from '../api/DeviceRequestPrompt.js';\nimport {\n Frame,\n throwIfDetached,\n type GoToOptions,\n type SetContentWaitForOptions,\n type WaitForOptions,\n} from '../api/Frame.js';\nimport {PageEvent, type WaitTimeoutOptions} from '../api/Page.js';\nimport type {Realm} from '../api/Realm.js';\nimport {Accessibility} from '../cdp/Accessibility.js';\nimport {DEBUG_PREFIXES, type Logger} from '../common/Debug.js';\nimport {TargetCloseError, UnsupportedOperation} from '../common/Errors.js';\nimport type {TimeoutSettings} from '../common/TimeoutSettings.js';\nimport type {Awaitable, HandleFor} from '../common/types.js';\nimport {fromAbortSignal, fromEmitterEvent, timeout} from '../common/util.js';\nimport {isErrorLike} from '../util/ErrorLike.js';\n\nimport {BidiCdpSession} from './CDPSession.js';\nimport type {BrowsingContext} from './core/BrowsingContext.js';\nimport type {Navigation} from './core/Navigation.js';\nimport type {Request} from './core/Request.js';\nimport {BidiDialog} from './Dialog.js';\nimport {BidiElementHandle} from './ElementHandle.js';\nimport {ExposableFunction} from './ExposedFunction.js';\nimport {BidiHTTPRequest, requests} from './HTTPRequest.js';\nimport type {BidiHTTPResponse} from './HTTPResponse.js';\nimport type {BidiPage} from './Page.js';\nimport type {BidiRealm} from './Realm.js';\nimport {BidiFrameRealm} from './Realm.js';\nimport {\n getConsoleMessage,\n isConsoleLogEntry,\n isJavaScriptLogEntry,\n rewriteNavigationError,\n} from './util.js';\nimport {BidiWebWorker} from './WebWorker.js';\n\nexport class BidiFrame extends Frame {\n static from(\n parent: BidiPage | BidiFrame,\n browsingContext: BrowsingContext,\n logger: Logger,\n ): BidiFrame {\n const frame = new BidiFrame(parent, browsingContext, logger);\n frame.#initialize();\n return frame;\n }\n\n readonly #parent: BidiPage | BidiFrame;\n readonly browsingContext: BrowsingContext;\n readonly #frames = new WeakMap<BrowsingContext, BidiFrame>();\n readonly realms: {default: BidiFrameRealm; internal: BidiFrameRealm};\n #logger: Logger;\n\n override readonly _id: string;\n override readonly client: BidiCdpSession;\n override readonly accessibility: Accessibility;\n\n private constructor(\n parent: BidiPage | BidiFrame,\n browsingContext: BrowsingContext,\n logger: Logger,\n ) {\n super(logger);\n this.#parent = parent;\n this.browsingContext = browsingContext;\n this.#logger = logger;\n\n this._id = browsingContext.id;\n this.client = new BidiCdpSession(this);\n this.realms = {\n default: BidiFrameRealm.from(\n this.browsingContext.defaultRealm,\n this,\n logger,\n ),\n internal: BidiFrameRealm.from(\n this.browsingContext.createWindowRealm(\n `__puppeteer_internal_${Math.ceil(Math.random() * 10000)}`,\n ),\n this,\n logger,\n ),\n };\n this.accessibility = new Accessibility(\n this.realms.default,\n this._id,\n logger,\n );\n }\n\n #initialize(): void {\n for (const browsingContext of this.browsingContext.children) {\n this.#createFrameTarget(browsingContext);\n }\n\n this.browsingContext.on('browsingcontext', browsingContext => {\n this.#createFrameTarget(browsingContext);\n });\n this.browsingContext.on('closed', () => {\n for (const session of BidiCdpSession.sessions.values()) {\n if (session.frame === this) {\n session.onClose();\n }\n }\n this.page().trustedEmitter.emit(PageEvent.FrameDetached, this);\n });\n\n this.browsingContext.on('request', request => {\n const httpRequest = BidiHTTPRequest.from(\n request,\n this,\n this.page().isNetworkInterceptionEnabled,\n undefined,\n this.logger,\n );\n request.once('success', () => {\n this.page().trustedEmitter.emit(PageEvent.RequestFinished, httpRequest);\n });\n\n request.once('error', () => {\n this.page().trustedEmitter.emit(PageEvent.RequestFailed, httpRequest);\n });\n void httpRequest.finalizeInterceptions();\n });\n\n this.browsingContext.on('navigation', navigation => {\n navigation.once('fragment', () => {\n this.page().trustedEmitter.emit(PageEvent.FrameNavigated, this);\n });\n });\n this.browsingContext.on('load', () => {\n this.page().trustedEmitter.emit(PageEvent.Load, undefined);\n });\n this.browsingContext.on('DOMContentLoaded', () => {\n this._hasStartedLoading = true;\n this.page().trustedEmitter.emit(PageEvent.DOMContentLoaded, undefined);\n this.page().trustedEmitter.emit(PageEvent.FrameNavigated, this);\n });\n\n this.browsingContext.on('userprompt', userPrompt => {\n this.page().trustedEmitter.emit(\n PageEvent.Dialog,\n BidiDialog.from(userPrompt),\n );\n });\n\n this.browsingContext.on('log', entry => {\n if (this._id !== entry.source.context) {\n return;\n }\n if (isConsoleLogEntry(entry)) {\n if (!this.page().listenerCount(PageEvent.Console)) {\n return;\n }\n const args = entry.args.map(arg => {\n return this.mainRealm().createHandle(arg);\n });\n\n this.page().trustedEmitter.emit(\n PageEvent.Console,\n getConsoleMessage(entry, args, this),\n );\n } else if (isJavaScriptLogEntry(entry)) {\n const error = new Error(entry.text ?? '');\n\n const messageHeight = error.message.split('\\n').length;\n const messageLines = error.stack!.split('\\n').splice(0, messageHeight);\n\n const stackLines = [];\n if (entry.stackTrace) {\n for (const frame of entry.stackTrace.callFrames) {\n // Note we need to add `1` because the values are 0-indexed.\n stackLines.push(\n ` at ${frame.functionName || '<anonymous>'} (${frame.url}:${\n frame.lineNumber + 1\n }:${frame.columnNumber + 1})`,\n );\n if (stackLines.length >= Error.stackTraceLimit) {\n break;\n }\n }\n }\n\n error.stack = [...messageLines, ...stackLines].join('\\n');\n this.page().trustedEmitter.emit(PageEvent.PageError, error);\n } else {\n this.#logger?.(DEBUG_PREFIXES.error)?.(\n `Unhandled LogEntry with type \"${entry.type}\", text \"${entry.text}\" and level \"${entry.level}\"`,\n );\n }\n });\n\n this.browsingContext.on('worker', realm => {\n const worker = BidiWebWorker.from(this, realm, this.#logger);\n realm.on('destroyed', () => {\n this.page().trustedEmitter.emit(PageEvent.WorkerDestroyed, worker);\n });\n this.page().trustedEmitter.emit(PageEvent.WorkerCreated, worker);\n });\n }\n\n #createFrameTarget(browsingContext: BrowsingContext) {\n const frame = BidiFrame.from(this, browsingContext, this.#logger);\n this.#frames.set(browsingContext, frame);\n this.page().trustedEmitter.emit(PageEvent.FrameAttached, frame);\n\n browsingContext.on('closed', () => {\n this.#frames.delete(browsingContext);\n });\n\n return frame;\n }\n\n get timeoutSettings(): TimeoutSettings {\n return this.page()._timeoutSettings;\n }\n\n override mainRealm(): BidiFrameRealm {\n return this.realms.default;\n }\n\n override isolatedRealm(): BidiFrameRealm {\n return this.realms.internal;\n }\n\n realm(id: string): BidiRealm | undefined {\n for (const realm of Object.values(this.realms)) {\n if (realm.realm.id === id) {\n return realm;\n }\n }\n return;\n }\n\n override page(): BidiPage {\n let parent = this.#parent;\n while (parent instanceof BidiFrame) {\n parent = parent.#parent;\n }\n return parent;\n }\n\n override url(): string {\n return this.browsingContext.url;\n }\n\n override parentFrame(): BidiFrame | null {\n if (this.#parent instanceof BidiFrame) {\n return this.#parent;\n }\n return null;\n }\n\n override childFrames(): BidiFrame[] {\n return [...this.browsingContext.children].map(child => {\n return this.#frames.get(child)!;\n });\n }\n\n #detached$() {\n return defer(() => {\n if (this.detached) {\n return of(this as Frame);\n }\n return fromEmitterEvent(\n this.page().trustedEmitter,\n PageEvent.FrameDetached,\n ).pipe(\n filter(detachedFrame => {\n return detachedFrame === this;\n }),\n );\n });\n }\n\n @throwIfDetached\n override async goto(\n url: string,\n options: GoToOptions = {},\n ): Promise<BidiHTTPResponse | null> {\n const [response] = await Promise.all([\n this.waitForNavigation(options),\n // Some implementations currently only report errors when the\n // readiness=interactive.\n //\n // Related: https://bugzilla.mozilla.org/show_bug.cgi?id=1846601\n this.browsingContext\n .navigate(url, Bidi.BrowsingContext.ReadinessState.Interactive)\n .catch(error => {\n if (\n isErrorLike(error) &&\n error.message.includes('net::ERR_HTTP_RESPONSE_CODE_FAILURE')\n ) {\n return;\n }\n\n if (error.message.includes('navigation canceled')) {\n return;\n }\n\n if (\n error.message.includes(\n 'Navigation was aborted by another navigation',\n )\n ) {\n return;\n }\n\n throw error;\n }),\n ]).catch(\n rewriteNavigationError(\n url,\n options.timeout ?? this.timeoutSettings.navigationTimeout(),\n ),\n );\n return response;\n }\n\n @throwIfDetached\n override async setContent(\n html: string,\n options: SetContentWaitForOptions = {},\n ): Promise<void> {\n await Promise.all([\n this.setFrameContent(html),\n firstValueFrom(\n combineLatest([\n this.#waitForLoad$(options),\n this.#waitForNetworkIdle$(options),\n ]),\n ),\n ]);\n }\n\n @throwIfDetached\n override async waitForNavigation(\n options: WaitForOptions = {},\n ): Promise<BidiHTTPResponse | null> {\n const {timeout: ms = this.timeoutSettings.navigationTimeout(), signal} =\n options;\n\n const frames = this.childFrames().map(frame => {\n return frame.#detached$();\n });\n return await firstValueFrom(\n combineLatest([\n race(\n fromEmitterEvent(this.browsingContext, 'navigation'),\n fromEmitterEvent(this.browsingContext, 'historyUpdated').pipe(\n map(() => {\n return null;\n }),\n ),\n )\n .pipe(first())\n .pipe(\n switchMap(navigation => {\n if (navigation === null) {\n return of(null);\n }\n return this.#waitForLoad$(options).pipe(\n delayWhen(() => {\n if (frames.length === 0) {\n return of(undefined);\n }\n return combineLatest(frames);\n }),\n raceWith(\n fromEmitterEvent(navigation, 'fragment'),\n fromEmitterEvent(navigation, 'failed'),\n fromEmitterEvent(navigation, 'aborted'),\n ),\n switchMap(() => {\n if (navigation.request) {\n function requestFinished$(\n request: Request,\n ): Observable<Navigation | null> {\n if (navigation === null) {\n return of(null);\n }\n // Reduces flakiness if the response events arrive after\n // the load event.\n // Usually, the response or error is already there at this point.\n if (request.response || request.error) {\n return of(navigation);\n }\n if (request.redirect) {\n return requestFinished$(request.redirect);\n }\n return fromEmitterEvent(request, 'success')\n .pipe(\n raceWith(fromEmitterEvent(request, 'error')),\n raceWith(fromEmitterEvent(request, 'redirect')),\n )\n .pipe(\n switchMap(() => {\n return requestFinished$(request);\n }),\n );\n }\n return requestFinished$(navigation.request);\n }\n return of(navigation);\n }),\n );\n }),\n ),\n this.#waitForNetworkIdle$(options),\n ]).pipe(\n map(([navigation]) => {\n if (!navigation) {\n return null;\n }\n const request = navigation.request;\n if (!request) {\n return null;\n }\n const lastRequest = request.lastRedirect ?? request;\n const httpRequest = requests.get(lastRequest)!;\n return httpRequest.response();\n }),\n raceWith(\n timeout(ms),\n fromAbortSignal(signal),\n this.#detached$().pipe(\n map(() => {\n throw new TargetCloseError('Frame detached.');\n }),\n ),\n ),\n ),\n );\n }\n\n override waitForDevicePrompt(\n options: WaitTimeoutOptions = {},\n ): Promise<DeviceRequestPrompt> {\n const {timeout = this.timeoutSettings.timeout(), signal} = options;\n return this.browsingContext.waitForDevicePrompt(timeout, signal);\n }\n\n override get detached(): boolean {\n return this.browsingContext.closed;\n }\n\n #exposedFunctions = new Map<string, ExposableFunction<never[], unknown>>();\n async exposeFunction<Args extends unknown[], Ret>(\n name: string,\n apply: (...args: Args) => Awaitable<Ret>,\n ): Promise<void> {\n if (this.#exposedFunctions.has(name)) {\n throw new Error(\n `Failed to add page binding with name ${name}: globalThis['${name}'] already exists!`,\n );\n }\n const exposable = await ExposableFunction.from(\n this,\n name,\n apply,\n false,\n this.#logger,\n );\n this.#exposedFunctions.set(name, exposable);\n }\n\n async removeExposedFunction(name: string): Promise<void> {\n const exposedFunction = this.#exposedFunctions.get(name);\n if (!exposedFunction) {\n throw new Error(\n `Failed to remove page binding with name ${name}: window['${name}'] does not exists!`,\n );\n }\n\n this.#exposedFunctions.delete(name);\n await exposedFunction[Symbol.asyncDispose]();\n }\n\n async createCDPSession(): Promise<CDPSession> {\n if (!this.page().browser().cdpSupported) {\n throw new UnsupportedOperation();\n }\n\n const cdpConnection = this.page().browser().cdpConnection!;\n return await cdpConnection._createSession({targetId: this._id});\n }\n\n @throwIfDetached\n #waitForLoad$(options: WaitForOptions = {}): Observable<void> {\n let {waitUntil = 'load'} = options;\n const {timeout: ms = this.timeoutSettings.navigationTimeout()} = options;\n\n if (!Array.isArray(waitUntil)) {\n waitUntil = [waitUntil];\n }\n\n const events = new Set<'load' | 'DOMContentLoaded'>();\n for (const lifecycleEvent of waitUntil) {\n switch (lifecycleEvent) {\n case 'load': {\n events.add('load');\n break;\n }\n case 'domcontentloaded': {\n events.add('DOMContentLoaded');\n break;\n }\n }\n }\n if (events.size === 0) {\n return of(undefined);\n }\n\n return combineLatest(\n [...events].map(event => {\n return fromEmitterEvent(this.browsingContext, event);\n }),\n ).pipe(\n map(() => {}),\n first(),\n raceWith(\n timeout(ms),\n this.#detached$().pipe(\n map(() => {\n throw new Error('Frame detached.');\n }),\n ),\n ),\n );\n }\n\n @throwIfDetached\n #waitForNetworkIdle$(options: WaitForOptions = {}): Observable<void> {\n let {waitUntil = 'load'} = options;\n if (!Array.isArray(waitUntil)) {\n waitUntil = [waitUntil];\n }\n\n let concurrency = Infinity;\n for (const event of waitUntil) {\n switch (event) {\n case 'networkidle0': {\n concurrency = Math.min(0, concurrency);\n break;\n }\n case 'networkidle2': {\n concurrency = Math.min(2, concurrency);\n break;\n }\n }\n }\n if (concurrency === Infinity) {\n return of(undefined);\n }\n\n return this.page().waitForNetworkIdle$({\n idleTime: 500,\n timeout: options.timeout ?? this.timeoutSettings.timeout(),\n concurrency,\n });\n }\n\n @throwIfDetached\n async setFiles(element: BidiElementHandle, files: string[]): Promise<void> {\n await this.browsingContext.setFiles(\n // SAFETY: ElementHandles are always remote references.\n element.remoteValue() as Bidi.Script.SharedReference,\n files,\n );\n }\n\n @throwIfDetached\n override async frameElement(): Promise<HandleFor<HTMLIFrameElement> | null> {\n const parentFrame = this.parentFrame();\n if (!parentFrame) {\n return null;\n }\n const [node] = await parentFrame.browsingContext.locateNodes({\n type: 'context',\n value: {\n context: this._id,\n },\n });\n if (!node) {\n return null;\n }\n return BidiElementHandle.from(\n node,\n parentFrame.mainRealm(),\n ) as HandleFor<HTMLIFrameElement>;\n }\n\n @throwIfDetached\n async locateNodes(\n element: BidiElementHandle,\n locator: Bidi.BrowsingContext.Locator,\n ): Promise<Bidi.Script.NodeRemoteValue[]> {\n return await this.browsingContext.locateNodes(\n locator,\n // SAFETY: ElementHandles are always remote references.\n [element.remoteValue() as Bidi.Script.SharedReference],\n );\n }\n\n override extensionRealms(): Realm[] {\n throw new UnsupportedOperation();\n }\n}\n","/**\n * @license\n * Copyright 2017 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as Bidi from 'webdriver-bidi-protocol';\n\nimport type {Point} from '../api/ElementHandle.js';\nimport {\n Keyboard,\n Mouse,\n MouseButton,\n Touchscreen,\n type TouchHandle,\n type KeyboardTypeOptions,\n type KeyDownOptions,\n type KeyPressOptions,\n type MouseClickOptions,\n type MouseMoveOptions,\n type MouseOptions,\n type MouseWheelOptions,\n} from '../api/Input.js';\nimport {UnsupportedOperation} from '../common/Errors.js';\nimport {TouchError} from '../common/Errors.js';\nimport type {KeyInput} from '../common/USKeyboardLayout.js';\n\nimport type {BidiPage} from './Page.js';\n\nconst enum InputId {\n Mouse = '__puppeteer_mouse',\n Keyboard = '__puppeteer_keyboard',\n Wheel = '__puppeteer_wheel',\n Finger = '__puppeteer_finger',\n}\n\nenum SourceActionsType {\n None = 'none',\n Key = 'key',\n Pointer = 'pointer',\n Wheel = 'wheel',\n}\n\nenum ActionType {\n Pause = 'pause',\n KeyDown = 'keyDown',\n KeyUp = 'keyUp',\n PointerUp = 'pointerUp',\n PointerDown = 'pointerDown',\n PointerMove = 'pointerMove',\n Scroll = 'scroll',\n}\n\nconst getBidiKeyValue = (key: KeyInput) => {\n switch (key) {\n case '\\r':\n case '\\n':\n key = 'Enter';\n break;\n }\n // Measures the number of code points rather than UTF-16 code units.\n if ([...key].length === 1) {\n return key;\n }\n switch (key) {\n case 'Cancel':\n return '\\uE001';\n case 'Help':\n return '\\uE002';\n case 'Backspace':\n return '\\uE003';\n case 'Tab':\n return '\\uE004';\n case 'Clear':\n return '\\uE005';\n case 'Enter':\n return '\\uE007';\n case 'Shift':\n case 'ShiftLeft':\n return '\\uE008';\n case 'Control':\n case 'ControlLeft':\n return '\\uE009';\n case 'Alt':\n case 'AltLeft':\n return '\\uE00A';\n case 'Pause':\n return '\\uE00B';\n case 'Escape':\n return '\\uE00C';\n case 'PageUp':\n return '\\uE00E';\n case 'PageDown':\n return '\\uE00F';\n case 'End':\n return '\\uE010';\n case 'Home':\n return '\\uE011';\n case 'ArrowLeft':\n return '\\uE012';\n case 'ArrowUp':\n return '\\uE013';\n case 'ArrowRight':\n return '\\uE014';\n case 'ArrowDown':\n return '\\uE015';\n case 'Insert':\n return '\\uE016';\n case 'Delete':\n return '\\uE017';\n case 'NumpadEqual':\n return '\\uE019';\n case 'Numpad0':\n return '\\uE01A';\n case 'Numpad1':\n return '\\uE01B';\n case 'Numpad2':\n return '\\uE01C';\n case 'Numpad3':\n return '\\uE01D';\n case 'Numpad4':\n return '\\uE01E';\n case 'Numpad5':\n return '\\uE01F';\n case 'Numpad6':\n return '\\uE020';\n case 'Numpad7':\n return '\\uE021';\n case 'Numpad8':\n return '\\uE022';\n case 'Numpad9':\n return '\\uE023';\n case 'NumpadMultiply':\n return '\\uE024';\n case 'NumpadAdd':\n return '\\uE025';\n case 'NumpadSubtract':\n return '\\uE027';\n case 'NumpadDecimal':\n return '\\uE028';\n case 'NumpadDivide':\n return '\\uE029';\n case 'F1':\n return '\\uE031';\n case 'F2':\n return '\\uE032';\n case 'F3':\n return '\\uE033';\n case 'F4':\n return '\\uE034';\n case 'F5':\n return '\\uE035';\n case 'F6':\n return '\\uE036';\n case 'F7':\n return '\\uE037';\n case 'F8':\n return '\\uE038';\n case 'F9':\n return '\\uE039';\n case 'F10':\n return '\\uE03A';\n case 'F11':\n return '\\uE03B';\n case 'F12':\n return '\\uE03C';\n case 'Meta':\n case 'MetaLeft':\n return '\\uE03D';\n case 'ShiftRight':\n return '\\uE050';\n case 'ControlRight':\n return '\\uE051';\n case 'AltRight':\n return '\\uE052';\n case 'MetaRight':\n return '\\uE053';\n case 'Digit0':\n return '0';\n case 'Digit1':\n return '1';\n case 'Digit2':\n return '2';\n case 'Digit3':\n return '3';\n case 'Digit4':\n return '4';\n case 'Digit5':\n return '5';\n case 'Digit6':\n return '6';\n case 'Digit7':\n return '7';\n case 'Digit8':\n return '8';\n case 'Digit9':\n return '9';\n case 'KeyA':\n return 'a';\n case 'KeyB':\n return 'b';\n case 'KeyC':\n return 'c';\n case 'KeyD':\n return 'd';\n case 'KeyE':\n return 'e';\n case 'KeyF':\n return 'f';\n case 'KeyG':\n return 'g';\n case 'KeyH':\n return 'h';\n case 'KeyI':\n return 'i';\n case 'KeyJ':\n return 'j';\n case 'KeyK':\n return 'k';\n case 'KeyL':\n return 'l';\n case 'KeyM':\n return 'm';\n case 'KeyN':\n return 'n';\n case 'KeyO':\n return 'o';\n case 'KeyP':\n return 'p';\n case 'KeyQ':\n return 'q';\n case 'KeyR':\n return 'r';\n case 'KeyS':\n return 's';\n case 'KeyT':\n return 't';\n case 'KeyU':\n return 'u';\n case 'KeyV':\n return 'v';\n case 'KeyW':\n return 'w';\n case 'KeyX':\n return 'x';\n case 'KeyY':\n return 'y';\n case 'KeyZ':\n return 'z';\n case 'Semicolon':\n return ';';\n case 'Equal':\n return '=';\n case 'Comma':\n return ',';\n case 'Minus':\n return '-';\n case 'Period':\n return '.';\n case 'Slash':\n return '/';\n case 'Backquote':\n return '`';\n case 'BracketLeft':\n return '[';\n case 'Backslash':\n return '\\\\';\n case 'BracketRight':\n return ']';\n case 'Quote':\n return '\"';\n default:\n throw new Error(`Unknown key: \"${key}\"`);\n }\n};\n\n/**\n * @internal\n */\nexport class BidiKeyboard extends Keyboard {\n #page: BidiPage;\n\n constructor(page: BidiPage) {\n super();\n this.#page = page;\n }\n\n override async down(\n key: KeyInput,\n _options?: Readonly<KeyDownOptions>,\n ): Promise<void> {\n await this.#page.mainFrame().browsingContext.performActions([\n {\n type: SourceActionsType.Key,\n id: InputId.Keyboard,\n actions: [\n {\n type: ActionType.KeyDown,\n value: getBidiKeyValue(key),\n },\n ],\n },\n ]);\n }\n\n override async up(key: KeyInput): Promise<void> {\n await this.#page.mainFrame().browsingContext.performActions([\n {\n type: SourceActionsType.Key,\n id: InputId.Keyboard,\n actions: [\n {\n type: ActionType.KeyUp,\n value: getBidiKeyValue(key),\n },\n ],\n },\n ]);\n }\n\n override async press(\n key: KeyInput,\n options: Readonly<KeyPressOptions> = {},\n ): Promise<void> {\n const {delay = 0} = options;\n const actions: Bidi.Input.KeySourceAction[] = [\n {\n type: ActionType.KeyDown,\n value: getBidiKeyValue(key),\n },\n ];\n if (delay > 0) {\n actions.push({\n type: ActionType.Pause,\n duration: delay,\n });\n }\n actions.push({\n type: ActionType.KeyUp,\n value: getBidiKeyValue(key),\n });\n await this.#page.mainFrame().browsingContext.performActions([\n {\n type: SourceActionsType.Key,\n id: InputId.Keyboard,\n actions,\n },\n ]);\n }\n\n override async type(\n text: string,\n options: Readonly<KeyboardTypeOptions> = {},\n ): Promise<void> {\n const {delay = 0} = options;\n // This spread separates the characters into code points rather than UTF-16\n // code units.\n const values = ([...text] as KeyInput[]).map(getBidiKeyValue);\n const actions: Bidi.Input.KeySourceAction[] = [];\n if (delay <= 0) {\n for (const value of values) {\n actions.push(\n {\n type: ActionType.KeyDown,\n value,\n },\n {\n type: ActionType.KeyUp,\n value,\n },\n );\n }\n } else {\n for (const value of values) {\n actions.push(\n {\n type: ActionType.KeyDown,\n value,\n },\n {\n type: ActionType.Pause,\n duration: delay,\n },\n {\n type: ActionType.KeyUp,\n value,\n },\n );\n }\n }\n await this.#page.mainFrame().browsingContext.performActions([\n {\n type: SourceActionsType.Key,\n id: InputId.Keyboard,\n actions,\n },\n ]);\n }\n\n override async sendCharacter(char: string): Promise<void> {\n // Measures the number of code points rather than UTF-16 code units.\n if ([...char].length > 1) {\n throw new Error('Cannot send more than 1 character.');\n }\n const frame = await this.#page.focusedFrame();\n await frame.isolatedRealm().evaluate(async char => {\n document.execCommand('insertText', false, char);\n }, char);\n }\n}\n\n/**\n * @internal\n */\nexport interface BidiMouseClickOptions extends MouseClickOptions {\n origin?: Bidi.Input.Origin;\n}\n\n/**\n * @internal\n */\nexport interface BidiMouseMoveOptions extends MouseMoveOptions {\n origin?: Bidi.Input.Origin;\n}\n\n/**\n * @internal\n */\nexport interface BidiTouchMoveOptions {\n origin?: Bidi.Input.Origin;\n}\n\nconst getBidiButton = (button: MouseButton) => {\n switch (button) {\n case MouseButton.Left:\n return 0;\n case MouseButton.Middle:\n return 1;\n case MouseButton.Right:\n return 2;\n case MouseButton.Back:\n return 3;\n case MouseButton.Forward:\n return 4;\n }\n};\n\n/**\n * @internal\n */\nexport class BidiMouse extends Mouse {\n #page: BidiPage;\n #lastMovePoint: Point = {x: 0, y: 0};\n\n constructor(page: BidiPage) {\n super();\n this.#page = page;\n }\n\n override async reset(): Promise<void> {\n this.#lastMovePoint = {x: 0, y: 0};\n await this.#page.mainFrame().browsingContext.releaseActions();\n }\n\n override async move(\n x: number,\n y: number,\n options: Readonly<BidiMouseMoveOptions> = {},\n ): Promise<void> {\n const from = this.#lastMovePoint;\n const to = {\n x: Math.round(x),\n y: Math.round(y),\n };\n const actions: Bidi.Input.PointerSourceAction[] = [];\n const steps = options.steps ?? 0;\n for (let i = 0; i < steps; ++i) {\n actions.push({\n type: ActionType.PointerMove,\n x: from.x + (to.x - from.x) * (i / steps),\n y: from.y + (to.y - from.y) * (i / steps),\n origin: options.origin,\n });\n }\n actions.push({\n type: ActionType.PointerMove,\n ...to,\n origin: options.origin,\n });\n // https://w3c.github.io/webdriver-bidi/#command-input-performActions:~:text=input.PointerMoveAction%20%3D%20%7B%0A%20%20type%3A%20%22pointerMove%22%2C%0A%20%20x%3A%20js%2Dint%2C\n this.#lastMovePoint = to;\n await this.#page.mainFrame().browsingContext.performActions([\n {\n type: SourceActionsType.Pointer,\n id: InputId.Mouse,\n actions,\n },\n ]);\n }\n\n override async down(options: Readonly<MouseOptions> = {}): Promise<void> {\n await this.#page.mainFrame().browsingContext.performActions([\n {\n type: SourceActionsType.Pointer,\n id: InputId.Mouse,\n actions: [\n {\n type: ActionType.PointerDown,\n button: getBidiButton(options.button ?? MouseButton.Left),\n },\n ],\n },\n ]);\n }\n\n override async up(options: Readonly<MouseOptions> = {}): Promise<void> {\n await this.#page.mainFrame().browsingContext.performActions([\n {\n type: SourceActionsType.Pointer,\n id: InputId.Mouse,\n actions: [\n {\n type: ActionType.PointerUp,\n button: getBidiButton(options.button ?? MouseButton.Left),\n },\n ],\n },\n ]);\n }\n\n override async click(\n x: number,\n y: number,\n options: Readonly<BidiMouseClickOptions> = {},\n ): Promise<void> {\n const actions: Bidi.Input.PointerSourceAction[] = [\n {\n type: ActionType.PointerMove,\n x: Math.round(x),\n y: Math.round(y),\n origin: options.origin,\n },\n ];\n const pointerDownAction = {\n type: ActionType.PointerDown,\n button: getBidiButton(options.button ?? MouseButton.Left),\n } as const;\n const pointerUpAction = {\n type: ActionType.PointerUp,\n button: pointerDownAction.button,\n } as const;\n for (let i = 1; i < (options.count ?? 1); ++i) {\n actions.push(pointerDownAction, pointerUpAction);\n }\n actions.push(pointerDownAction);\n if (options.delay) {\n actions.push({\n type: ActionType.Pause,\n duration: options.delay,\n });\n }\n actions.push(pointerUpAction);\n await this.#page.mainFrame().browsingContext.performActions([\n {\n type: SourceActionsType.Pointer,\n id: InputId.Mouse,\n actions,\n },\n ]);\n }\n\n override async wheel(\n options: Readonly<MouseWheelOptions> = {},\n ): Promise<void> {\n await this.#page.mainFrame().browsingContext.performActions([\n {\n type: SourceActionsType.Wheel,\n id: InputId.Wheel,\n actions: [\n {\n type: ActionType.Scroll,\n ...(this.#lastMovePoint ?? {\n x: 0,\n y: 0,\n }),\n deltaX: options.deltaX ?? 0,\n deltaY: options.deltaY ?? 0,\n },\n ],\n },\n ]);\n }\n\n override drag(): never {\n throw new UnsupportedOperation();\n }\n\n override dragOver(): never {\n throw new UnsupportedOperation();\n }\n\n override dragEnter(): never {\n throw new UnsupportedOperation();\n }\n\n override drop(): never {\n throw new UnsupportedOperation();\n }\n\n override dragAndDrop(): never {\n throw new UnsupportedOperation();\n }\n}\n\n/**\n * @internal\n */\nclass BidiTouchHandle implements TouchHandle {\n #started = false;\n #x: number;\n #y: number;\n #bidiId: string;\n #page: BidiPage;\n #touchScreen: BidiTouchscreen;\n #properties: Bidi.Input.PointerCommonProperties;\n\n constructor(\n page: BidiPage,\n touchScreen: BidiTouchscreen,\n id: number,\n x: number,\n y: number,\n properties: Bidi.Input.PointerCommonProperties,\n ) {\n this.#page = page;\n this.#touchScreen = touchScreen;\n this.#x = Math.round(x);\n this.#y = Math.round(y);\n this.#properties = properties;\n this.#bidiId = `${InputId.Finger}_${id}`;\n }\n\n async start(options: BidiTouchMoveOptions = {}): Promise<void> {\n if (this.#started) {\n throw new TouchError('Touch has already started');\n }\n await this.#page.mainFrame().browsingContext.performActions([\n {\n type: SourceActionsType.Pointer,\n id: this.#bidiId,\n parameters: {\n pointerType: Bidi.Input.PointerType.Touch,\n },\n actions: [\n {\n type: ActionType.PointerMove,\n x: this.#x,\n y: this.#y,\n origin: options.origin,\n },\n {\n ...this.#properties,\n type: ActionType.PointerDown,\n button: 0,\n },\n ],\n },\n ]);\n this.#started = true;\n }\n\n move(x: number, y: number): Promise<void> {\n const newX = Math.round(x);\n const newY = Math.round(y);\n return this.#page.mainFrame().browsingContext.performActions([\n {\n type: SourceActionsType.Pointer,\n id: this.#bidiId,\n parameters: {\n pointerType: Bidi.Input.PointerType.Touch,\n },\n actions: [\n {\n ...this.#properties,\n type: ActionType.PointerMove,\n x: newX,\n y: newY,\n },\n ],\n },\n ]);\n }\n\n async end(): Promise<void> {\n await this.#page.mainFrame().browsingContext.performActions([\n {\n type: SourceActionsType.Pointer,\n id: this.#bidiId,\n parameters: {\n pointerType: Bidi.Input.PointerType.Touch,\n },\n actions: [\n {\n type: ActionType.PointerUp,\n button: 0,\n },\n ],\n },\n ]);\n this.#touchScreen.removeHandle(this);\n }\n}\n/**\n * @internal\n */\nexport class BidiTouchscreen extends Touchscreen {\n #page: BidiPage;\n declare touches: BidiTouchHandle[];\n\n constructor(page: BidiPage) {\n super();\n this.#page = page;\n }\n\n override async touchStart(\n x: number,\n y: number,\n options: BidiTouchMoveOptions = {},\n ): Promise<TouchHandle> {\n const id = this.idGenerator();\n const properties: Bidi.Input.PointerCommonProperties = {\n width: 0.5 * 2, // 2 times default touch radius.\n height: 0.5 * 2, // 2 times default touch radius.\n pressure: 0.5,\n };\n const touch = new BidiTouchHandle(this.#page, this, id, x, y, properties);\n await touch.start(options);\n this.touches.push(touch);\n return touch;\n }\n}\n","/**\n * @license\n * Copyright 2026 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {RecordOptions} from '../api/Page.js';\nimport {ScreenRecording} from '../api/ScreenRecording.js';\nimport {DEBUG_PREFIXES, type Logger} from '../common/Debug.js';\nimport {environment} from '../environment.js';\nimport {guarded} from '../util/decorators.js';\n\nimport type {BidiPage} from './Page.js';\n\n/**\n * @internal\n */\nexport class BidiScreenRecording extends ScreenRecording {\n declare protected page: BidiPage;\n #screencastId?: string;\n #path?: string;\n\n /**\n * @internal\n */\n constructor(page: BidiPage, options: RecordOptions = {}, logger: Logger) {\n super(page, options, logger);\n\n const browsingContext = this.page.mainFrame().browsingContext;\n browsingContext?.once?.('closed', () => {\n void this.stop().catch(err => {\n this.logger(DEBUG_PREFIXES.error)?.(err);\n });\n });\n }\n\n /**\n * @internal\n */\n override async _start(): Promise<void> {\n const frameRate = this.options.frameRate ?? this.options.fps;\n const video =\n this.options.maxWidth !== undefined ||\n this.options.maxHeight !== undefined ||\n frameRate !== undefined\n ? {\n width: this.options.maxWidth,\n height: this.options.maxHeight,\n frameRate,\n }\n : undefined;\n\n const result = await this.page.mainFrame().browsingContext.startScreencast({\n audio: this.options.audio,\n video,\n });\n this.#screencastId = result.screencast;\n this.#path = result.path;\n }\n\n /**\n * Stops the screen recording.\n *\n * @public\n */\n @guarded()\n override async stop(): Promise<void> {\n if (this.stopped) {\n return;\n }\n this.stopped = true;\n\n try {\n if (!this.#screencastId) {\n return;\n }\n\n const result = await this.page\n .mainFrame()\n .browsingContext.stopScreencast(this.#screencastId)\n .catch(err => {\n this.logger(DEBUG_PREFIXES.error)?.(err);\n return undefined;\n });\n\n if (result?.error) {\n this.logger(DEBUG_PREFIXES.error)?.(result.error);\n }\n\n const filePath = result?.path ?? this.#path;\n if (filePath) {\n try {\n const buffer = await environment.value.readFile(filePath);\n this.controller.enqueue(buffer);\n for (const dest of this.destinations) {\n dest.write(buffer);\n }\n } catch (err) {\n this.logger(DEBUG_PREFIXES.error)?.(err);\n }\n }\n } finally {\n await this.closeDestinations();\n }\n }\n}\n","/**\n * @license\n * Copyright 2022 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type Protocol from 'devtools-protocol';\nimport * as Bidi from 'webdriver-bidi-protocol';\n\nimport {firstValueFrom, from, raceWith} from '../../third_party/rxjs/rxjs.js';\nimport type {BluetoothEmulation} from '../api/BluetoothEmulation.js';\nimport type {WindowId} from '../api/Browser.js';\nimport type {CDPSession} from '../api/CDPSession.js';\nimport type {DeviceRequestPrompt} from '../api/DeviceRequestPrompt.js';\nimport type {BoundingBox} from '../api/ElementHandle.js';\nimport type {Extension} from '../api/Extension.js';\nimport type {WaitForOptions} from '../api/Frame.js';\nimport type {HTTPResponse} from '../api/HTTPResponse.js';\nimport type {\n Credentials,\n GeolocationOptions,\n HeapSnapshotOptions,\n MediaFeature,\n PageEvents,\n RecordOptions,\n ReloadOptions,\n WaitTimeoutOptions,\n} from '../api/Page.js';\nimport {\n Page,\n PageEvent,\n type NewDocumentScriptEvaluation,\n type ScreenshotOptions,\n} from '../api/Page.js';\nimport type {Target} from '../api/Target.js';\nimport {Coverage} from '../cdp/Coverage.js';\nimport {EmulationManager} from '../cdp/EmulationManager.js';\nimport type {\n InternalNetworkConditions,\n NetworkConditions,\n} from '../cdp/NetworkManager.js';\nimport {Tracing} from '../cdp/Tracing.js';\nimport type {WebMCP} from '../cdp/WebMCP.js';\nimport type {\n CookiePartitionKey,\n Cookie,\n CookieParam,\n CookieSameSite,\n DeleteCookiesRequest,\n} from '../common/Cookie.js';\nimport type {Logger} from '../common/Debug.js';\nimport {ProtocolError, UnsupportedOperation} from '../common/Errors.js';\nimport {EventEmitter} from '../common/EventEmitter.js';\nimport {FileChooser} from '../common/FileChooser.js';\nimport type {PDFOptions} from '../common/PDFOptions.js';\nimport type {Awaitable} from '../common/types.js';\nimport {evaluationString, parsePDFOptions, timeout} from '../common/util.js';\nimport type {Viewport} from '../common/Viewport.js';\nimport type {Realm} from '../puppeteer-core.js';\nimport {assert} from '../util/assert.js';\nimport {bubble} from '../util/decorators.js';\nimport {Deferred} from '../util/Deferred.js';\nimport {stringToTypedArray} from '../util/encoding.js';\n\nimport type {BidiBrowser} from './Browser.js';\nimport type {BidiBrowserContext} from './BrowserContext.js';\nimport type {BidiCdpSession} from './CDPSession.js';\nimport type {BrowsingContext} from './core/BrowsingContext.js';\nimport {BidiElementHandle} from './ElementHandle.js';\nimport {BidiFrame} from './Frame.js';\nimport type {BidiHTTPResponse} from './HTTPResponse.js';\nimport {BidiKeyboard, BidiMouse, BidiTouchscreen} from './Input.js';\nimport type {BidiJSHandle} from './JSHandle.js';\nimport {BidiScreenRecording} from './ScreenRecording.js';\nimport {rewriteNavigationError} from './util.js';\nimport type {BidiWebWorker} from './WebWorker.js';\n\n/**\n * Implements Page using WebDriver BiDi.\n *\n * @internal\n */\nexport class BidiPage extends Page {\n static from(\n browserContext: BidiBrowserContext,\n browsingContext: BrowsingContext,\n logger: Logger,\n ): BidiPage {\n const page = new BidiPage(browserContext, browsingContext, logger);\n page.#initialize();\n return page;\n }\n\n @bubble()\n accessor trustedEmitter = new EventEmitter<PageEvents>();\n\n readonly #browserContext: BidiBrowserContext;\n readonly #frame: BidiFrame;\n #viewport: Viewport | null = null;\n readonly #workers = new Set<BidiWebWorker>();\n\n readonly keyboard: BidiKeyboard;\n readonly mouse: BidiMouse;\n readonly touchscreen: BidiTouchscreen;\n readonly tracing: Tracing;\n override get webmcp(): WebMCP {\n throw new UnsupportedOperation();\n }\n readonly coverage: Coverage;\n readonly #cdpEmulationManager: EmulationManager;\n\n #emulatedNetworkConditions?: InternalNetworkConditions;\n #fileChooserDeferreds = new Set<Deferred<FileChooser>>();\n\n _client(): BidiCdpSession {\n return this.#frame.client;\n }\n\n private constructor(\n browserContext: BidiBrowserContext,\n browsingContext: BrowsingContext,\n logger: Logger,\n ) {\n super(logger);\n this.#browserContext = browserContext;\n this.#frame = BidiFrame.from(this, browsingContext, logger);\n\n this.#cdpEmulationManager = new EmulationManager(\n this.#frame.client,\n logger,\n );\n this.tracing = new Tracing(this.#frame.client, logger);\n this.coverage = new Coverage(this.#frame.client);\n this.keyboard = new BidiKeyboard(this);\n this.mouse = new BidiMouse(this);\n this.touchscreen = new BidiTouchscreen(this);\n }\n\n #initialize() {\n this.#frame.browsingContext.on('closed', () => {\n this.trustedEmitter.emit(PageEvent.Close, undefined);\n this.trustedEmitter.removeAllListeners();\n });\n\n this.trustedEmitter.on(PageEvent.WorkerCreated, worker => {\n this.#workers.add(worker as BidiWebWorker);\n });\n this.trustedEmitter.on(PageEvent.WorkerDestroyed, worker => {\n this.#workers.delete(worker as BidiWebWorker);\n });\n }\n /**\n * @internal\n */\n override async setUserAgent(\n userAgentOrOptions:\n | string\n | {\n userAgent?: string;\n userAgentMetadata?: Protocol.Emulation.UserAgentMetadata;\n platform?: string;\n },\n userAgentMetadata?: Protocol.Emulation.UserAgentMetadata,\n ): Promise<void> {\n let userAgent: string | null;\n let clientHints:\n | Bidi.BidiUaClientHints.UserAgentClientHints.ClientHintsMetadata\n | undefined;\n let platform: string | undefined;\n\n if (typeof userAgentOrOptions === 'string') {\n userAgent = userAgentOrOptions;\n clientHints = userAgentMetadata;\n } else {\n userAgent = userAgentOrOptions.userAgent ?? null;\n clientHints = userAgentOrOptions.userAgentMetadata;\n // Empty string platform should be interpreted as \"no override\".\n platform =\n userAgentOrOptions.platform === ''\n ? undefined\n : userAgentOrOptions.platform;\n }\n if (userAgent === '') {\n // In WebDriver BiDi null is used to restore the original user agent.\n userAgent = null;\n }\n await this.#frame.browsingContext.setUserAgent(userAgent);\n\n if (platform && platform !== '') {\n // Work-around until https://github.com/w3c/webdriver-bidi/issues/1065 is resolved.\n // Set platform via client hints override.\n clientHints = clientHints ?? {};\n clientHints.platform = platform;\n }\n\n await this.#frame.browsingContext.setClientHintsOverride(\n clientHints ?? null,\n );\n }\n\n override async setBypassCSP(enabled: boolean): Promise<void> {\n // TODO: handle CDP-specific cases such as MPArch.\n await this._client().send('Page.setBypassCSP', {enabled});\n }\n\n override async queryObjects<Prototype>(\n prototypeHandle: BidiJSHandle<Prototype>,\n ): Promise<BidiJSHandle<Prototype[]>> {\n assert(!prototypeHandle.disposed, 'Prototype JSHandle is disposed!');\n assert(\n prototypeHandle.id,\n 'Prototype JSHandle must not be referencing primitive value',\n );\n const response = await this.#frame.client.send('Runtime.queryObjects', {\n prototypeObjectId: prototypeHandle.id,\n });\n return this.#frame.mainRealm().createHandle({\n type: 'array',\n handle: response.objects.objectId,\n }) as BidiJSHandle<Prototype[]>;\n }\n\n override browser(): BidiBrowser {\n return this.browserContext().browser();\n }\n\n override browserContext(): BidiBrowserContext {\n return this.#browserContext;\n }\n\n override mainFrame(): BidiFrame {\n return this.#frame;\n }\n\n override async triggerExtensionAction(_extension: Extension): Promise<void> {\n throw new UnsupportedOperation();\n }\n\n override async emulateFocusedPage(enabled: boolean): Promise<void> {\n return await this.#cdpEmulationManager.emulateFocus(enabled);\n }\n\n override resize(_params: {\n contentWidth: number;\n contentHeight: number;\n }): Promise<void> {\n throw new UnsupportedOperation();\n }\n\n override async windowId(): Promise<WindowId> {\n return this.#frame.browsingContext.windowId;\n }\n\n override openDevTools(): Promise<Page> {\n throw new UnsupportedOperation();\n }\n\n override hasDevTools(): Promise<boolean> {\n throw new UnsupportedOperation();\n }\n\n async focusedFrame(): Promise<BidiFrame> {\n using handle = (await this.mainFrame()\n .isolatedRealm()\n .evaluateHandle(() => {\n let win = window;\n while (\n win.document.activeElement instanceof win.HTMLIFrameElement ||\n win.document.activeElement instanceof win.HTMLFrameElement\n ) {\n if (win.document.activeElement.contentWindow === null) {\n break;\n }\n win = win.document.activeElement.contentWindow as typeof win;\n }\n return win;\n })) as BidiJSHandle<Window & typeof globalThis>;\n const value = handle.remoteValue();\n assert(value.type === 'window');\n const frame = this.frames().find(frame => {\n return frame._id === value.value.context;\n });\n assert(frame);\n return frame;\n }\n\n override frames(): BidiFrame[] {\n const frames = [this.#frame];\n for (const frame of frames) {\n frames.push(...frame.childFrames());\n }\n return frames;\n }\n\n override isClosed(): boolean {\n return this.#frame.detached;\n }\n\n override async close(options?: {runBeforeUnload?: boolean}): Promise<void> {\n using _guard = await this.#browserContext.waitForScreenshotOperations();\n try {\n await this.#frame.browsingContext.close(options?.runBeforeUnload);\n } catch {\n return;\n }\n }\n\n override async reload(\n options: ReloadOptions = {},\n ): Promise<BidiHTTPResponse | null> {\n const [response] = await Promise.all([\n this.#frame.waitForNavigation(options),\n this.#frame.browsingContext.reload({\n ignoreCache: options.ignoreCache ? true : undefined,\n }),\n ]).catch(\n rewriteNavigationError(\n this.url(),\n options.timeout ?? this._timeoutSettings.navigationTimeout(),\n ),\n );\n return response;\n }\n\n override setDefaultNavigationTimeout(timeout: number): void {\n this._timeoutSettings.setDefaultNavigationTimeout(timeout);\n }\n\n override setDefaultTimeout(timeout: number): void {\n this._timeoutSettings.setDefaultTimeout(timeout);\n }\n\n override getDefaultTimeout(): number {\n return this._timeoutSettings.timeout();\n }\n\n override getDefaultNavigationTimeout(): number {\n return this._timeoutSettings.navigationTimeout();\n }\n\n override isJavaScriptEnabled(): boolean {\n return this.#frame.browsingContext.isJavaScriptEnabled();\n }\n\n override async setGeolocation(options: GeolocationOptions): Promise<void> {\n const {longitude, latitude, accuracy = 0} = options;\n if (longitude < -180 || longitude > 180) {\n throw new Error(\n `Invalid longitude \"${longitude}\": precondition -180 <= LONGITUDE <= 180 failed.`,\n );\n }\n if (latitude < -90 || latitude > 90) {\n throw new Error(\n `Invalid latitude \"${latitude}\": precondition -90 <= LATITUDE <= 90 failed.`,\n );\n }\n if (accuracy < 0) {\n throw new Error(\n `Invalid accuracy \"${accuracy}\": precondition 0 <= ACCURACY failed.`,\n );\n }\n return await this.#frame.browsingContext.setGeolocationOverride({\n coordinates: {\n latitude: options.latitude,\n longitude: options.longitude,\n accuracy: options.accuracy,\n },\n });\n }\n\n override async setJavaScriptEnabled(enabled: boolean): Promise<void> {\n return await this.#frame.browsingContext.setJavaScriptEnabled(enabled);\n }\n\n override async emulateMediaType(type?: string): Promise<void> {\n return await this.#cdpEmulationManager.emulateMediaType(type);\n }\n\n override async emulateCPUThrottling(factor: number | null): Promise<void> {\n return await this.#cdpEmulationManager.emulateCPUThrottling(factor);\n }\n\n override async emulateMediaFeatures(\n features?: MediaFeature[],\n ): Promise<void> {\n return await this.#cdpEmulationManager.emulateMediaFeatures(features);\n }\n\n override async emulateTimezone(timezoneId?: string): Promise<void> {\n return await this.#frame.browsingContext.setTimezoneOverride(timezoneId);\n }\n\n override async emulateLocale(locale?: string): Promise<void> {\n return await this.#frame.browsingContext.setLocaleOverride(locale);\n }\n\n override async emulateIdleState(overrides?: {\n isUserActive: boolean;\n isScreenUnlocked: boolean;\n }): Promise<void> {\n return await this.#cdpEmulationManager.emulateIdleState(overrides);\n }\n\n override async emulateVisionDeficiency(\n type?: Protocol.Emulation.SetEmulatedVisionDeficiencyRequest['type'],\n ): Promise<void> {\n return await this.#cdpEmulationManager.emulateVisionDeficiency(type);\n }\n\n override async setViewport(viewport: Viewport | null): Promise<void> {\n let needsReload = false;\n if (!this.browser().cdpSupported) {\n const viewportSize =\n viewport?.width && viewport?.height\n ? {\n width: viewport.width,\n height: viewport.height,\n }\n : null;\n\n const devicePixelRatio = viewport?.deviceScaleFactor\n ? viewport.deviceScaleFactor\n : null;\n\n // If `viewport` is not set, remove screen orientation override.\n const screenOrientation: Bidi.Emulation.ScreenOrientation | null =\n viewport\n ? viewport.isLandscape\n ? {\n natural: Bidi.Emulation.ScreenOrientationNatural.Landscape,\n type: 'landscape-primary',\n }\n : {\n natural: Bidi.Emulation.ScreenOrientationNatural.Portrait,\n type: 'portrait-primary',\n }\n : null;\n\n const commands = [\n this.#frame.browsingContext.setViewport({\n viewport: viewportSize,\n devicePixelRatio,\n }),\n this.#frame.browsingContext.setScreenOrientationOverride(\n screenOrientation,\n ),\n ];\n\n if (\n (this.#viewport?.hasTouch ?? false) !== (viewport?.hasTouch ?? false)\n ) {\n // The requested touch override state is different from the current one, meaning\n // the reload is needed.\n needsReload = true;\n // 1 touch point if touch is enabled, null otherwise.\n const maxTouchPoints = viewport?.hasTouch ? 1 : null;\n\n commands.push(\n this.#frame.browsingContext\n .setTouchOverride(maxTouchPoints)\n .catch(error => {\n if (\n error instanceof ProtocolError &&\n (error.message.includes('unknown command') ||\n error.message.includes('unsupported operation'))\n ) {\n // Tolerate not implemented or not supported commands. At least until\n // the `emulation.setTouchOverride` is supported by all the supported\n // browsers.\n return;\n }\n throw error;\n }),\n );\n }\n await Promise.all(commands);\n } else {\n needsReload = await this.#cdpEmulationManager.emulateViewport(viewport);\n }\n this.#viewport = viewport;\n if (needsReload) {\n await this.reload();\n }\n }\n\n override viewport(): Viewport | null {\n return this.#viewport;\n }\n\n override async pdf(options: PDFOptions = {}): Promise<Uint8Array> {\n const {timeout: ms = this._timeoutSettings.timeout(), path = undefined} =\n options;\n const {\n printBackground: background,\n margin,\n landscape,\n width,\n height,\n pageRanges: ranges,\n scale,\n preferCSSPageSize,\n } = parsePDFOptions(options, 'cm');\n const pageRanges = ranges ? ranges.split(', ') : [];\n\n await firstValueFrom(\n from(\n this.mainFrame()\n .isolatedRealm()\n .evaluate(() => {\n return document.fonts.ready;\n }),\n ).pipe(raceWith(timeout(ms))),\n );\n\n const data = await firstValueFrom(\n from(\n this.#frame.browsingContext.print({\n background,\n margin,\n orientation: landscape ? 'landscape' : 'portrait',\n page: {\n width,\n height,\n },\n pageRanges,\n scale,\n shrinkToFit: !preferCSSPageSize,\n }),\n ).pipe(raceWith(timeout(ms))),\n );\n\n const typedArray = stringToTypedArray(data, true);\n\n await this._maybeWriteTypedArrayToFile(path, typedArray);\n\n return typedArray;\n }\n\n override async createPDFStream(\n options?: PDFOptions | undefined,\n ): Promise<ReadableStream<Uint8Array>> {\n const typedArray = await this.pdf(options);\n\n return new ReadableStream({\n start(controller) {\n controller.enqueue(typedArray);\n controller.close();\n },\n });\n }\n\n override async _screenshot(\n options: Readonly<ScreenshotOptions>,\n ): Promise<string> {\n const {clip, type, captureBeyondViewport, quality} = options;\n if (options.omitBackground !== undefined && options.omitBackground) {\n throw new UnsupportedOperation(`BiDi does not support 'omitBackground'.`);\n }\n if (options.optimizeForSpeed !== undefined && options.optimizeForSpeed) {\n throw new UnsupportedOperation(\n `BiDi does not support 'optimizeForSpeed'.`,\n );\n }\n if (options.fromSurface !== undefined && !options.fromSurface) {\n throw new UnsupportedOperation(`BiDi does not support 'fromSurface'.`);\n }\n if (clip !== undefined && clip.scale !== undefined && clip.scale !== 1) {\n throw new UnsupportedOperation(\n `BiDi does not support 'scale' in 'clip'.`,\n );\n }\n\n let box: BoundingBox | undefined;\n if (clip) {\n if (captureBeyondViewport) {\n box = clip;\n } else {\n // The clip is always with respect to the document coordinates, so we\n // need to convert this to viewport coordinates when we aren't capturing\n // beyond the viewport.\n const [pageLeft, pageTop] = await this.evaluate(() => {\n if (!window.visualViewport) {\n throw new Error('window.visualViewport is not supported.');\n }\n return [\n window.visualViewport.pageLeft,\n window.visualViewport.pageTop,\n ] as const;\n });\n box = {\n ...clip,\n x: clip.x - pageLeft,\n y: clip.y - pageTop,\n };\n }\n }\n\n const data = await this.#frame.browsingContext.captureScreenshot({\n origin: captureBeyondViewport ? 'document' : 'viewport',\n format: {\n type: `image/${type}`,\n ...(quality !== undefined ? {quality: quality / 100} : {}),\n },\n ...(box ? {clip: {type: 'box', ...box}} : {}),\n });\n return data;\n }\n\n override async createCDPSession(): Promise<CDPSession> {\n return await this.#frame.createCDPSession();\n }\n\n override async bringToFront(): Promise<void> {\n await this.#frame.browsingContext.activate();\n }\n\n override async evaluateOnNewDocument<\n Params extends unknown[],\n Func extends (...args: Params) => unknown = (...args: Params) => unknown,\n >(\n pageFunction: Func | string,\n ...args: Params\n ): Promise<NewDocumentScriptEvaluation> {\n const expression = evaluationExpression(pageFunction, ...args);\n const script =\n await this.#frame.browsingContext.addPreloadScript(expression);\n\n return {identifier: script};\n }\n\n override async removeScriptToEvaluateOnNewDocument(\n id: string,\n ): Promise<void> {\n await this.#frame.browsingContext.removePreloadScript(id);\n }\n\n override async exposeFunction<Args extends unknown[], Ret>(\n name: string,\n pptrFunction:\n | ((...args: Args) => Awaitable<Ret>)\n | {default: (...args: Args) => Awaitable<Ret>},\n ): Promise<void> {\n return await this.mainFrame().exposeFunction(\n name,\n 'default' in pptrFunction ? pptrFunction.default : pptrFunction,\n );\n }\n\n override isDragInterceptionEnabled(): boolean {\n return false;\n }\n\n override async setCacheEnabled(enabled?: boolean): Promise<void> {\n if (!this.#browserContext.browser().cdpSupported) {\n await this.#frame.browsingContext.setCacheBehavior(\n enabled ? 'default' : 'bypass',\n );\n return;\n }\n // TODO: handle CDP-specific cases such as MPArch.\n await this._client().send('Network.setCacheDisabled', {\n cacheDisabled: !enabled,\n });\n }\n\n override async cookies(...urls: string[]): Promise<Cookie[]> {\n const normalizedUrls = (urls.length ? urls : [this.url()]).map(url => {\n return new URL(url);\n });\n\n const cookies = await this.#frame.browsingContext.getCookies();\n return cookies\n .map(cookie => {\n return bidiToPuppeteerCookie(cookie);\n })\n .filter(cookie => {\n return normalizedUrls.some(url => {\n return testUrlMatchCookie(cookie, url);\n });\n });\n }\n\n override isServiceWorkerBypassed(): never {\n throw new UnsupportedOperation();\n }\n\n override target(): Target {\n const target = this.browserContext().getTargetForPage(this);\n if (!target) {\n throw new Error('Target not found for page');\n }\n return target;\n }\n\n override async waitForFileChooser(\n options: WaitTimeoutOptions = {},\n ): Promise<FileChooser> {\n const {timeout = this._timeoutSettings.timeout()} = options;\n const deferred = Deferred.create<FileChooser>({\n message: `Waiting for \\`FileChooser\\` failed: ${timeout}ms exceeded`,\n timeout,\n });\n\n this.#fileChooserDeferreds.add(deferred);\n\n if (options.signal) {\n options.signal.addEventListener(\n 'abort',\n () => {\n deferred.reject(options.signal?.reason);\n },\n {once: true},\n );\n }\n\n this.#frame.browsingContext.once('filedialogopened', info => {\n if (!info.element) {\n return;\n }\n const chooser = new FileChooser(\n BidiElementHandle.from<HTMLInputElement>(\n {\n sharedId: info.element.sharedId,\n handle: info.element.handle,\n type: 'node',\n },\n this.#frame.mainRealm(),\n ),\n info.multiple,\n );\n for (const deferred of this.#fileChooserDeferreds) {\n deferred.resolve(chooser);\n this.#fileChooserDeferreds.delete(deferred);\n }\n });\n\n try {\n return await deferred.valueOrThrow();\n } catch (error) {\n this.#fileChooserDeferreds.delete(deferred);\n throw error;\n }\n }\n\n override workers(): BidiWebWorker[] {\n return [...this.#workers];\n }\n\n get isNetworkInterceptionEnabled(): boolean {\n return (\n Boolean(this.#requestInterception) || Boolean(this.#authInterception)\n );\n }\n\n #requestInterception?: string;\n override async setRequestInterception(enable: boolean): Promise<void> {\n this.#requestInterception = await this.#toggleInterception(\n [Bidi.Network.InterceptPhase.BeforeRequestSent],\n this.#requestInterception,\n enable,\n );\n }\n\n /**\n * @internal\n */\n override async setExtraHTTPHeaders(\n headers: Record<string, string>,\n ): Promise<void> {\n await this.#frame.browsingContext.setExtraHTTPHeaders(headers);\n }\n\n /**\n * @internal\n */\n _credentials: Credentials | null = null;\n #authInterception?: string;\n override async authenticate(credentials: Credentials | null): Promise<void> {\n this.#authInterception = await this.#toggleInterception(\n [Bidi.Network.InterceptPhase.AuthRequired],\n this.#authInterception,\n Boolean(credentials),\n );\n\n this._credentials = credentials;\n }\n\n async #toggleInterception(\n phases: [Bidi.Network.InterceptPhase, ...Bidi.Network.InterceptPhase[]],\n interception: string | undefined,\n expected: boolean,\n ): Promise<string | undefined> {\n if (expected && !interception) {\n return await this.#frame.browsingContext.addIntercept({\n phases,\n });\n } else if (!expected && interception) {\n await this.#frame.browsingContext.userContext.browser.removeIntercept(\n interception,\n );\n return;\n }\n return interception;\n }\n\n override setDragInterception(): never {\n throw new UnsupportedOperation();\n }\n\n override setBypassServiceWorker(): never {\n throw new UnsupportedOperation();\n }\n\n override async setOfflineMode(enabled: boolean): Promise<void> {\n if (!this.#browserContext.browser().cdpSupported) {\n return await this.#frame.browsingContext.setOfflineMode(enabled);\n }\n\n if (!this.#emulatedNetworkConditions) {\n this.#emulatedNetworkConditions = {\n offline: false,\n upload: -1,\n download: -1,\n latency: 0,\n };\n }\n this.#emulatedNetworkConditions.offline = enabled;\n return await this.#applyNetworkConditions();\n }\n\n override async emulateNetworkConditions(\n networkConditions: NetworkConditions | null,\n ): Promise<void> {\n if (!this.#browserContext.browser().cdpSupported) {\n if (\n !networkConditions?.offline &&\n ((networkConditions?.upload ?? -1) >= 0 ||\n (networkConditions?.download ?? -1) >= 0 ||\n (networkConditions?.latency ?? 0) > 0)\n ) {\n // WebDriver BiDi supports only offline mode.\n throw new UnsupportedOperation();\n }\n return await this.#frame.browsingContext.setOfflineMode(\n networkConditions?.offline ?? false,\n );\n }\n\n if (!this.#emulatedNetworkConditions) {\n this.#emulatedNetworkConditions = {\n offline: networkConditions?.offline ?? false,\n upload: -1,\n download: -1,\n latency: 0,\n };\n }\n this.#emulatedNetworkConditions.upload = networkConditions\n ? networkConditions.upload\n : -1;\n this.#emulatedNetworkConditions.download = networkConditions\n ? networkConditions.download\n : -1;\n this.#emulatedNetworkConditions.latency = networkConditions\n ? networkConditions.latency\n : 0;\n this.#emulatedNetworkConditions.offline =\n networkConditions?.offline ?? false;\n return await this.#applyNetworkConditions();\n }\n\n async #applyNetworkConditions(): Promise<void> {\n if (!this.#emulatedNetworkConditions) {\n return;\n }\n await this._client().send('Network.emulateNetworkConditions', {\n offline: this.#emulatedNetworkConditions.offline,\n latency: this.#emulatedNetworkConditions.latency,\n uploadThroughput: this.#emulatedNetworkConditions.upload,\n downloadThroughput: this.#emulatedNetworkConditions.download,\n });\n }\n\n override async setCookie(...cookies: CookieParam[]): Promise<void> {\n const pageURL = this.url();\n const pageUrlStartsWithHTTP = pageURL.startsWith('http');\n for (const cookie of cookies) {\n let cookieUrl = cookie.url || '';\n if (!cookieUrl && pageUrlStartsWithHTTP) {\n cookieUrl = pageURL;\n }\n assert(\n cookieUrl !== 'about:blank',\n `Blank page can not have cookie \"${cookie.name}\"`,\n );\n assert(\n !String.prototype.startsWith.call(cookieUrl || '', 'data:'),\n `Data URL page can not have cookie \"${cookie.name}\"`,\n );\n // TODO: Support Chrome cookie partition keys\n assert(\n cookie.partitionKey === undefined ||\n typeof cookie.partitionKey === 'string',\n 'BiDi only allows domain partition keys',\n );\n\n const normalizedUrl = URL.canParse(cookieUrl)\n ? new URL(cookieUrl)\n : undefined;\n\n const domain = cookie.domain ?? normalizedUrl?.hostname;\n assert(\n domain !== undefined,\n `At least one of the url and domain needs to be specified`,\n );\n\n const bidiCookie: Bidi.Storage.PartialCookie = {\n domain: domain,\n name: cookie.name,\n value: {\n type: 'string',\n value: cookie.value,\n },\n ...(cookie.path !== undefined ? {path: cookie.path} : {}),\n ...(cookie.httpOnly !== undefined ? {httpOnly: cookie.httpOnly} : {}),\n ...(cookie.secure !== undefined ? {secure: cookie.secure} : {}),\n ...(cookie.sameSite !== undefined\n ? {sameSite: convertCookiesSameSiteCdpToBiDi(cookie.sameSite)}\n : {}),\n ...{expiry: convertCookiesExpiryCdpToBiDi(cookie.expires)},\n // Chrome-specific properties.\n ...cdpSpecificCookiePropertiesFromPuppeteerToBidi(\n cookie,\n 'sourceScheme',\n 'priority',\n 'url',\n ),\n };\n\n if (cookie.partitionKey !== undefined) {\n await this.browserContext().userContext.setCookie(\n bidiCookie,\n cookie.partitionKey,\n );\n } else {\n await this.#frame.browsingContext.setCookie(bidiCookie);\n }\n }\n }\n\n override async deleteCookie(\n ...cookies: DeleteCookiesRequest[]\n ): Promise<void> {\n await Promise.all(\n cookies.map(async deleteCookieRequest => {\n const cookieUrl = deleteCookieRequest.url ?? this.url();\n const normalizedUrl = URL.canParse(cookieUrl)\n ? new URL(cookieUrl)\n : undefined;\n\n const domain = deleteCookieRequest.domain ?? normalizedUrl?.hostname;\n assert(\n domain !== undefined,\n `At least one of the url and domain needs to be specified`,\n );\n\n const filter = {\n domain: domain,\n name: deleteCookieRequest.name,\n ...(deleteCookieRequest.path !== undefined\n ? {path: deleteCookieRequest.path}\n : {}),\n };\n await this.#frame.browsingContext.deleteCookie(filter);\n }),\n );\n }\n\n override async removeExposedFunction(name: string): Promise<void> {\n await this.#frame.removeExposedFunction(name);\n }\n\n override metrics(): never {\n throw new UnsupportedOperation();\n }\n\n override async captureHeapSnapshot(\n _options: HeapSnapshotOptions,\n ): Promise<void> {\n throw new UnsupportedOperation();\n }\n\n override async goBack(\n options: WaitForOptions = {},\n ): Promise<HTTPResponse | null> {\n return await this.#go(-1, options);\n }\n\n override async goForward(\n options: WaitForOptions = {},\n ): Promise<HTTPResponse | null> {\n return await this.#go(1, options);\n }\n\n async #go(\n delta: number,\n options: WaitForOptions,\n ): Promise<HTTPResponse | null> {\n const controller = new AbortController();\n\n try {\n const [response] = await Promise.all([\n this.waitForNavigation({\n ...options,\n signal: controller.signal,\n }),\n this.#frame.browsingContext.traverseHistory(delta),\n ]);\n return response;\n } catch (error) {\n controller.abort();\n throw error;\n }\n }\n\n override async waitForDevicePrompt(\n options: WaitTimeoutOptions = {},\n ): Promise<DeviceRequestPrompt> {\n return await this.mainFrame().waitForDevicePrompt(options);\n }\n\n override get bluetooth(): BluetoothEmulation {\n return this.mainFrame().browsingContext.bluetooth;\n }\n\n override extensionRealms(): Realm[] {\n throw new UnsupportedOperation();\n }\n\n /**\n * @internal\n */\n override createScreenRecording(\n options: Readonly<RecordOptions>,\n ): BidiScreenRecording {\n return new BidiScreenRecording(this, options, this.logger);\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\nfunction evaluationExpression(fun: Function | string, ...args: unknown[]) {\n return `() => {${evaluationString(fun, ...args)}}`;\n}\n\n/**\n * Check domains match.\n */\nfunction testUrlMatchCookieHostname(\n cookie: Cookie,\n normalizedUrl: URL,\n): boolean {\n const cookieDomain = cookie.domain.toLowerCase();\n const urlHostname = normalizedUrl.hostname.toLowerCase();\n if (cookieDomain === urlHostname) {\n return true;\n }\n // TODO: does not consider additional restrictions w.r.t to IP\n // addresses which is fine as it is for representation and does not\n // mean that cookies actually apply that way in the browser.\n // https://datatracker.ietf.org/doc/html/rfc6265#section-5.1.3\n return cookieDomain.startsWith('.') && urlHostname.endsWith(cookieDomain);\n}\n\n/**\n * Check paths match.\n * Spec: https://datatracker.ietf.org/doc/html/rfc6265#section-5.1.4\n */\nfunction testUrlMatchCookiePath(cookie: Cookie, normalizedUrl: URL): boolean {\n const uriPath = normalizedUrl.pathname;\n const cookiePath = cookie.path;\n\n if (uriPath === cookiePath) {\n // The cookie-path and the request-path are identical.\n return true;\n }\n if (uriPath.startsWith(cookiePath)) {\n // The cookie-path is a prefix of the request-path.\n if (cookiePath.endsWith('/')) {\n // The last character of the cookie-path is %x2F (\"/\").\n return true;\n }\n if (uriPath[cookiePath.length] === '/') {\n // The first character of the request-path that is not included in the cookie-path\n // is a %x2F (\"/\") character.\n return true;\n }\n }\n return false;\n}\n\n/**\n * Checks the cookie matches the URL according to the spec:\n */\nfunction testUrlMatchCookie(cookie: Cookie, url: URL): boolean {\n const normalizedUrl = new URL(url);\n assert(cookie !== undefined);\n if (!testUrlMatchCookieHostname(cookie, normalizedUrl)) {\n return false;\n }\n return testUrlMatchCookiePath(cookie, normalizedUrl);\n}\n\nexport function bidiToPuppeteerCookie(\n bidiCookie: Bidi.Network.Cookie,\n returnCompositePartitionKey = false,\n): Cookie {\n const partitionKey = bidiCookie[CDP_SPECIFIC_PREFIX + 'partitionKey'];\n\n function getPartitionKey(): {partitionKey?: Cookie['partitionKey']} {\n if (typeof partitionKey === 'string') {\n return {partitionKey};\n }\n if (typeof partitionKey === 'object' && partitionKey !== null) {\n if (returnCompositePartitionKey) {\n return {\n partitionKey: {\n sourceOrigin: partitionKey.topLevelSite,\n hasCrossSiteAncestor: partitionKey.hasCrossSiteAncestor ?? false,\n },\n };\n }\n return {\n // TODO: a breaking change in Puppeteer is required to change\n // partitionKey type and report the composite partition key.\n partitionKey: partitionKey.topLevelSite,\n };\n }\n return {};\n }\n\n return {\n name: bidiCookie.name,\n // Presents binary value as base64 string.\n value: bidiCookie.value.value,\n domain: bidiCookie.domain,\n path: bidiCookie.path,\n size: bidiCookie.size,\n httpOnly: bidiCookie.httpOnly,\n secure: bidiCookie.secure,\n sameSite: convertCookiesSameSiteBiDiToCdp(bidiCookie.sameSite),\n expires: bidiCookie.expiry ?? -1,\n session: bidiCookie.expiry === undefined || bidiCookie.expiry <= 0,\n // Extending with CDP-specific properties with `goog:` prefix.\n ...cdpSpecificCookiePropertiesFromBidiToPuppeteer(\n bidiCookie,\n 'sourceScheme',\n 'partitionKeyOpaque',\n 'priority',\n ),\n ...getPartitionKey(),\n };\n}\n\nconst CDP_SPECIFIC_PREFIX = 'goog:';\n\n/**\n * Gets CDP-specific properties from the BiDi cookie and returns them as a new object.\n */\nfunction cdpSpecificCookiePropertiesFromBidiToPuppeteer(\n bidiCookie: Bidi.Network.Cookie,\n ...propertyNames: Array<keyof Cookie>\n): Partial<Cookie> {\n const result: Partial<Cookie> = {};\n for (const property of propertyNames) {\n if (bidiCookie[CDP_SPECIFIC_PREFIX + property] !== undefined) {\n result[property] = bidiCookie[CDP_SPECIFIC_PREFIX + property];\n }\n }\n return result;\n}\n\n/**\n * Gets CDP-specific properties from the cookie, adds CDP-specific prefixes and returns\n * them as a new object which can be used in BiDi.\n */\nexport function cdpSpecificCookiePropertiesFromPuppeteerToBidi(\n cookieParam: CookieParam,\n ...propertyNames: Array<keyof CookieParam>\n): Record<string, unknown> {\n const result: Record<string, unknown> = {};\n for (const property of propertyNames) {\n if (cookieParam[property] !== undefined) {\n result[CDP_SPECIFIC_PREFIX + property] = cookieParam[property];\n }\n }\n return result;\n}\n\nfunction convertCookiesSameSiteBiDiToCdp(\n sameSite: Bidi.Network.SameSite | undefined,\n): CookieSameSite {\n switch (sameSite) {\n case 'strict':\n return 'Strict';\n case 'lax':\n return 'Lax';\n case 'none':\n return 'None';\n default:\n return 'Default';\n }\n}\n\nexport function convertCookiesSameSiteCdpToBiDi(\n sameSite: CookieSameSite | undefined,\n): Bidi.Network.SameSite {\n switch (sameSite) {\n case 'Strict':\n return Bidi.Network.SameSite.Strict;\n case 'Lax':\n return Bidi.Network.SameSite.Lax;\n case 'None':\n return Bidi.Network.SameSite.None;\n default:\n return Bidi.Network.SameSite.Default;\n }\n}\n\nexport function convertCookiesExpiryCdpToBiDi(\n expiry: number | undefined,\n): number | undefined {\n return [undefined, -1].includes(expiry) ? undefined : expiry;\n}\n\nexport function convertCookiesPartitionKeyFromPuppeteerToBiDi(\n partitionKey: CookiePartitionKey | string | undefined,\n): string | undefined {\n if (partitionKey === undefined || typeof partitionKey === 'string') {\n return partitionKey;\n }\n if (partitionKey.hasCrossSiteAncestor) {\n throw new UnsupportedOperation(\n 'WebDriver BiDi does not support `hasCrossSiteAncestor` yet.',\n );\n }\n return partitionKey.sourceOrigin;\n}\n","/**\n * @license\n * Copyright 2023 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {Target, TargetType} from '../api/Target.js';\nimport type {Logger} from '../common/Debug.js';\nimport {UnsupportedOperation} from '../common/Errors.js';\nimport type {CDPSession} from '../puppeteer-core.js';\n\nimport type {BidiBrowser} from './Browser.js';\nimport type {BidiBrowserContext} from './BrowserContext.js';\nimport type {BidiFrame} from './Frame.js';\nimport {BidiPage} from './Page.js';\nimport type {BidiWebWorker} from './WebWorker.js';\n\n/**\n * @internal\n */\nexport class BidiBrowserTarget extends Target {\n #browser: BidiBrowser;\n\n constructor(browser: BidiBrowser, logger: Logger) {\n super(logger);\n this.#browser = browser;\n }\n\n override asPage(): Promise<BidiPage> {\n throw new UnsupportedOperation();\n }\n override url(): string {\n return '';\n }\n override createCDPSession(): Promise<CDPSession> {\n throw new UnsupportedOperation();\n }\n override type(): TargetType {\n return TargetType.BROWSER;\n }\n override browser(): BidiBrowser {\n return this.#browser;\n }\n override browserContext(): BidiBrowserContext {\n return this.#browser.defaultBrowserContext();\n }\n override opener(): Target | undefined {\n throw new UnsupportedOperation();\n }\n}\n\n/**\n * @internal\n */\nexport class BidiPageTarget extends Target {\n #page: BidiPage;\n\n constructor(page: BidiPage, logger: Logger) {\n super(logger);\n this.#page = page;\n }\n\n override async page(): Promise<BidiPage> {\n return this.#page;\n }\n override async asPage(): Promise<BidiPage> {\n return await this.page();\n }\n override url(): string {\n return this.#page.url();\n }\n override createCDPSession(): Promise<CDPSession> {\n return this.#page.createCDPSession();\n }\n override type(): TargetType {\n return TargetType.PAGE;\n }\n override browser(): BidiBrowser {\n return this.browserContext().browser();\n }\n override browserContext(): BidiBrowserContext {\n return this.#page.browserContext();\n }\n override opener(): Target | undefined {\n throw new UnsupportedOperation();\n }\n}\n\n/**\n * @internal\n */\nexport class BidiFrameTarget extends Target {\n #frame: BidiFrame;\n #page: BidiPage | undefined;\n\n constructor(frame: BidiFrame, logger: Logger) {\n super(logger);\n this.#frame = frame;\n }\n\n override async page(): Promise<BidiPage> {\n if (this.#page === undefined) {\n this.#page = BidiPage.from(\n this.browserContext(),\n this.#frame.browsingContext,\n this.logger,\n );\n }\n return this.#page;\n }\n override async asPage(): Promise<BidiPage> {\n return await this.page();\n }\n override url(): string {\n return this.#frame.url();\n }\n override createCDPSession(): Promise<CDPSession> {\n return this.#frame.createCDPSession();\n }\n override type(): TargetType {\n return TargetType.PAGE;\n }\n override browser(): BidiBrowser {\n return this.browserContext().browser();\n }\n override browserContext(): BidiBrowserContext {\n return this.#frame.page().browserContext();\n }\n override opener(): Target | undefined {\n throw new UnsupportedOperation();\n }\n}\n\n/**\n * @internal\n */\nexport class BidiWorkerTarget extends Target {\n #worker: BidiWebWorker;\n\n constructor(worker: BidiWebWorker, logger: Logger) {\n super(logger);\n this.#worker = worker;\n }\n\n override async page(): Promise<BidiPage> {\n throw new UnsupportedOperation();\n }\n override async asPage(): Promise<BidiPage> {\n throw new UnsupportedOperation();\n }\n override url(): string {\n return this.#worker.url();\n }\n override createCDPSession(): Promise<CDPSession> {\n throw new UnsupportedOperation();\n }\n override type(): TargetType {\n return TargetType.OTHER;\n }\n override browser(): BidiBrowser {\n return this.browserContext().browser();\n }\n override browserContext(): BidiBrowserContext {\n return this.#worker.frame.page().browserContext();\n }\n override opener(): Target | undefined {\n throw new UnsupportedOperation();\n }\n}\n","/**\n * @license\n * Copyright 2022 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as Bidi from 'webdriver-bidi-protocol';\n\nimport type {\n CreatePageOptions,\n Permission,\n PermissionDescriptor,\n PermissionState,\n} from '../api/Browser.js';\nimport {WEB_PERMISSION_TO_PROTOCOL_PERMISSION} from '../api/Browser.js';\nimport type {BrowserContextEvents} from '../api/BrowserContext.js';\nimport {BrowserContext, BrowserContextEvent} from '../api/BrowserContext.js';\nimport {PageEvent, type Page} from '../api/Page.js';\nimport type {Target} from '../api/Target.js';\nimport type {Cookie, CookieData} from '../common/Cookie.js';\nimport {DEBUG_PREFIXES, type Logger} from '../common/Debug.js';\nimport {UnsupportedOperation} from '../common/Errors.js';\nimport {EventEmitter} from '../common/EventEmitter.js';\nimport type {Viewport} from '../common/Viewport.js';\nimport {assert} from '../util/assert.js';\nimport {bubble} from '../util/decorators.js';\n\nimport type {BidiBrowser} from './Browser.js';\nimport type {BrowsingContext} from './core/BrowsingContext.js';\nimport {UserContext} from './core/UserContext.js';\nimport type {BidiFrame} from './Frame.js';\nimport {\n BidiPage,\n bidiToPuppeteerCookie,\n cdpSpecificCookiePropertiesFromPuppeteerToBidi,\n convertCookiesExpiryCdpToBiDi,\n convertCookiesPartitionKeyFromPuppeteerToBiDi,\n convertCookiesSameSiteCdpToBiDi,\n} from './Page.js';\nimport {BidiWorkerTarget} from './Target.js';\nimport {BidiFrameTarget, BidiPageTarget} from './Target.js';\nimport type {BidiWebWorker} from './WebWorker.js';\n\n/**\n * @internal\n */\nexport interface BidiBrowserContextOptions {\n defaultViewport: Viewport | null;\n}\n\n/**\n * @internal\n */\nexport class BidiBrowserContext extends BrowserContext {\n static from(\n browser: BidiBrowser,\n userContext: UserContext,\n options: BidiBrowserContextOptions,\n logger: Logger,\n ): BidiBrowserContext {\n const context = new BidiBrowserContext(\n browser,\n userContext,\n options,\n logger,\n );\n context.#initialize();\n return context;\n }\n\n @bubble()\n accessor trustedEmitter = new EventEmitter<BrowserContextEvents>();\n\n readonly #browser: BidiBrowser;\n readonly #defaultViewport: Viewport | null;\n // This is public because of cookies.\n readonly userContext: UserContext;\n readonly #pages = new WeakMap<BrowsingContext, BidiPage>();\n readonly #targets = new Map<\n BidiPage,\n [\n BidiPageTarget,\n Map<BidiFrame | BidiWebWorker, BidiFrameTarget | BidiWorkerTarget>,\n ]\n >();\n\n #overrides: Array<{origin: string; permission: Permission}> = [];\n #logger: Logger;\n\n private constructor(\n browser: BidiBrowser,\n userContext: UserContext,\n options: BidiBrowserContextOptions,\n logger: Logger,\n ) {\n super(logger);\n this.#browser = browser;\n this.userContext = userContext;\n this.#defaultViewport = options.defaultViewport;\n this.#logger = logger;\n }\n\n #initialize() {\n // Create targets for existing browsing contexts.\n for (const browsingContext of this.userContext.browsingContexts) {\n this.#createPage(browsingContext);\n }\n\n this.userContext.on('browsingcontext', browsingContext => {\n const page = this.#createPage(browsingContext);\n\n // We need to wait for the DOMContentLoaded as the\n // browsingContext still may be navigating from the about:blank\n if (browsingContext.originalOpener) {\n for (const context of this.userContext.browsingContexts) {\n if (context.id === browsingContext.originalOpener) {\n this.#pages\n .get(context)!\n .trustedEmitter.emit(PageEvent.Popup, page);\n }\n }\n }\n });\n this.userContext.on('closed', () => {\n this.trustedEmitter.removeAllListeners();\n });\n }\n\n #createPage(browsingContext: BrowsingContext): BidiPage {\n const page = BidiPage.from(this, browsingContext, this.#logger);\n this.#pages.set(browsingContext, page);\n page.trustedEmitter.on(PageEvent.Close, () => {\n this.#pages.delete(browsingContext);\n });\n\n // -- Target stuff starts here --\n const pageTarget = new BidiPageTarget(page, this.#logger);\n const pageTargets = new Map();\n this.#targets.set(page, [pageTarget, pageTargets]);\n\n page.trustedEmitter.on(PageEvent.FrameAttached, frame => {\n const bidiFrame = frame as BidiFrame;\n const target = new BidiFrameTarget(bidiFrame, this.#logger);\n pageTargets.set(bidiFrame, target);\n this.trustedEmitter.emit(BrowserContextEvent.TargetCreated, target);\n });\n page.trustedEmitter.on(PageEvent.FrameNavigated, frame => {\n const bidiFrame = frame as BidiFrame;\n const target = pageTargets.get(bidiFrame);\n // If there is no target, then this is the page's frame.\n if (target === undefined) {\n this.trustedEmitter.emit(BrowserContextEvent.TargetChanged, pageTarget);\n } else {\n this.trustedEmitter.emit(BrowserContextEvent.TargetChanged, target);\n }\n });\n page.trustedEmitter.on(PageEvent.FrameDetached, frame => {\n const bidiFrame = frame as BidiFrame;\n const target = pageTargets.get(bidiFrame);\n if (target === undefined) {\n return;\n }\n pageTargets.delete(bidiFrame);\n this.trustedEmitter.emit(BrowserContextEvent.TargetDestroyed, target);\n });\n\n page.trustedEmitter.on(PageEvent.WorkerCreated, worker => {\n const bidiWorker = worker as BidiWebWorker;\n const target = new BidiWorkerTarget(bidiWorker, this.#logger);\n pageTargets.set(bidiWorker, target);\n this.trustedEmitter.emit(BrowserContextEvent.TargetCreated, target);\n });\n page.trustedEmitter.on(PageEvent.WorkerDestroyed, worker => {\n const bidiWorker = worker as BidiWebWorker;\n const target = pageTargets.get(bidiWorker);\n if (target === undefined) {\n return;\n }\n pageTargets.delete(worker);\n this.trustedEmitter.emit(BrowserContextEvent.TargetDestroyed, target);\n });\n\n page.trustedEmitter.on(PageEvent.Close, () => {\n this.#targets.delete(page);\n this.trustedEmitter.emit(BrowserContextEvent.TargetDestroyed, pageTarget);\n });\n this.trustedEmitter.emit(BrowserContextEvent.TargetCreated, pageTarget);\n // -- Target stuff ends here --\n\n return page;\n }\n\n override targets(): Target[] {\n return [...this.#targets.values()].flatMap(([target, frames]) => {\n return [target, ...frames.values()];\n });\n }\n\n /**\n * @internal\n */\n getTargetForPage(page: BidiPage): BidiPageTarget | undefined {\n return this.#targets.get(page)?.[0];\n }\n\n override async newPage(options?: CreatePageOptions): Promise<Page> {\n using _guard = await this.waitForScreenshotOperations();\n\n const type =\n options?.type === 'window'\n ? Bidi.BrowsingContext.CreateType.Window\n : Bidi.BrowsingContext.CreateType.Tab;\n\n const context = await this.userContext.createBrowsingContext(type, {\n background: options?.background,\n });\n const page = this.#pages.get(context)!;\n if (!page) {\n throw new Error('Page is not found');\n }\n if (this.#defaultViewport) {\n try {\n await page.setViewport(this.#defaultViewport);\n } catch (error) {\n // Tolerate not supporting `browsingContext.setViewport`. Only log it.\n this.#logger?.(DEBUG_PREFIXES.error)?.(error);\n }\n }\n if (options?.type === 'window' && options?.windowBounds !== undefined) {\n try {\n await this.browser().setWindowBounds(\n context.windowId,\n options.windowBounds,\n );\n } catch (error) {\n // Tolerate not supporting `browser.setClientWindowState`. Only log it.\n this.#logger?.(DEBUG_PREFIXES.error)?.(error);\n }\n }\n\n return page;\n }\n\n override async close(): Promise<void> {\n assert(\n this.userContext.id !== UserContext.DEFAULT,\n 'Default BrowserContext cannot be closed!',\n );\n\n try {\n await this.userContext.remove();\n } catch (error) {\n this.#logger?.(DEBUG_PREFIXES.error)?.(error);\n }\n\n this.#targets.clear();\n }\n\n override browser(): BidiBrowser {\n return this.#browser;\n }\n\n override async pages(_includeAll = false): Promise<BidiPage[]> {\n return [...this.userContext.browsingContexts].map(context => {\n return this.#pages.get(context)!;\n });\n }\n\n override async overridePermissions(\n origin: string,\n permissions: Permission[],\n ): Promise<void> {\n const permissionsSet = new Set(\n permissions.map(permission => {\n const protocolPermission =\n WEB_PERMISSION_TO_PROTOCOL_PERMISSION.get(permission);\n if (!protocolPermission) {\n throw new Error('Unknown permission: ' + permission);\n }\n return permission;\n }),\n );\n await Promise.all(\n Array.from(WEB_PERMISSION_TO_PROTOCOL_PERMISSION.keys()).map(\n permission => {\n const result = this.userContext.setPermissions(\n origin,\n {\n name: permission,\n },\n permissionsSet.has(permission)\n ? Bidi.Permissions.PermissionState.Granted\n : Bidi.Permissions.PermissionState.Denied,\n );\n this.#overrides.push({origin, permission});\n // TODO: some permissions are outdated and setting them to denied does\n // not work.\n if (!permissionsSet.has(permission)) {\n return result.catch(error => {\n this.#logger?.(DEBUG_PREFIXES.error)?.(error);\n });\n }\n return result;\n },\n ),\n );\n }\n\n override async setPermission(\n origin: string | '*',\n ...permissions: Array<{\n permission: PermissionDescriptor;\n state: PermissionState;\n }>\n ): Promise<void> {\n if (origin === '*') {\n throw new UnsupportedOperation(\n 'Origin (*) is not supported by WebDriver BiDi',\n );\n }\n await Promise.all(\n permissions.map(permission => {\n if (permission.permission.allowWithoutSanitization) {\n throw new UnsupportedOperation(\n 'allowWithoutSanitization is not supported by WebDriver BiDi',\n );\n }\n if (permission.permission.panTiltZoom) {\n throw new UnsupportedOperation(\n 'panTiltZoom is not supported by WebDriver BiDi',\n );\n }\n if (permission.permission.userVisibleOnly) {\n throw new UnsupportedOperation(\n 'userVisibleOnly is not supported by WebDriver BiDi',\n );\n }\n return this.userContext.setPermissions(\n origin,\n {\n name: permission.permission.name,\n },\n permission.state as Bidi.Permissions.PermissionState,\n );\n }),\n );\n }\n\n override async clearPermissionOverrides(): Promise<void> {\n const promises = this.#overrides.map(({permission, origin}) => {\n return this.userContext\n .setPermissions(\n origin,\n {\n name: permission,\n },\n Bidi.Permissions.PermissionState.Prompt,\n )\n .catch(error => {\n this.#logger?.(DEBUG_PREFIXES.error)?.(error);\n });\n });\n this.#overrides = [];\n await Promise.all(promises);\n }\n\n override get id(): string | undefined {\n if (this.userContext.id === UserContext.DEFAULT) {\n return undefined;\n }\n return this.userContext.id;\n }\n\n override async cookies(): Promise<Cookie[]> {\n const cookies = await this.userContext.getCookies();\n return cookies.map(cookie => {\n return bidiToPuppeteerCookie(cookie, true);\n });\n }\n\n override async setCookie(...cookies: CookieData[]): Promise<void> {\n await Promise.all(\n cookies.map(async cookie => {\n const bidiCookie: Bidi.Storage.PartialCookie = {\n domain: cookie.domain,\n name: cookie.name,\n value: {\n type: 'string',\n value: cookie.value,\n },\n ...(cookie.path !== undefined ? {path: cookie.path} : {}),\n ...(cookie.httpOnly !== undefined ? {httpOnly: cookie.httpOnly} : {}),\n ...(cookie.secure !== undefined ? {secure: cookie.secure} : {}),\n ...(cookie.sameSite !== undefined\n ? {sameSite: convertCookiesSameSiteCdpToBiDi(cookie.sameSite)}\n : {}),\n ...{expiry: convertCookiesExpiryCdpToBiDi(cookie.expires)},\n // Chrome-specific properties.\n ...cdpSpecificCookiePropertiesFromPuppeteerToBidi(\n cookie,\n 'sourceScheme',\n 'priority',\n 'url',\n ),\n };\n return await this.userContext.setCookie(\n bidiCookie,\n convertCookiesPartitionKeyFromPuppeteerToBiDi(cookie.partitionKey),\n );\n }),\n );\n }\n}\n","/**\n * @license\n * Copyright 2024 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type * as Bidi from 'webdriver-bidi-protocol';\n\nimport type {BrowserContextOptions} from '../../api/Browser.js';\nimport {UnsupportedOperation} from '../../common/Errors.js';\nimport {EventEmitter} from '../../common/EventEmitter.js';\nimport {inertIfDisposed, throwIfDisposed} from '../../util/decorators.js';\nimport {DisposableStack, disposeSymbol} from '../../util/disposable.js';\n\nimport type {BrowsingContext} from './BrowsingContext.js';\nimport {SharedWorkerRealm} from './Realm.js';\nimport type {Session} from './Session.js';\nimport {UserContext} from './UserContext.js';\n\n/**\n * @internal\n */\nexport type AddPreloadScriptOptions = Omit<\n Bidi.Script.AddPreloadScriptParameters,\n 'functionDeclaration' | 'contexts'\n> & {\n contexts?: [BrowsingContext, ...BrowsingContext[]];\n};\n\n/**\n * @internal\n */\nexport class Browser extends EventEmitter<{\n /** Emitted before the browser closes. */\n closed: string;\n /** Emitted after the browser disconnects. */\n disconnected: string;\n /** Emitted when a shared worker is created. */\n sharedworker: SharedWorkerRealm;\n}> {\n static async from(session: Session): Promise<Browser> {\n const browser = new Browser(session);\n await browser.#initialize();\n return browser;\n }\n\n #closed = false;\n #reason: string | undefined;\n readonly #disposables = new DisposableStack();\n readonly #userContexts = new Map<string, UserContext>();\n readonly session: Session;\n readonly #sharedWorkers = new Map<string, SharedWorkerRealm>();\n\n private constructor(session: Session) {\n super();\n\n this.session = session;\n }\n\n async #initialize() {\n const sessionEmitter = this.#disposables.use(\n new EventEmitter(this.session),\n );\n sessionEmitter.once('ended', reason => {\n this.dispose(reason);\n });\n\n sessionEmitter.on('script.realmCreated', info => {\n if (info.type !== 'shared-worker') {\n return;\n }\n this.#sharedWorkers.set(\n info.realm,\n SharedWorkerRealm.from(this, info.realm, info.origin),\n );\n });\n\n await this.#syncUserContexts();\n await this.#syncBrowsingContexts();\n }\n\n async #syncUserContexts() {\n const {\n result: {userContexts},\n } = await this.session.send('browser.getUserContexts', {});\n\n for (const context of userContexts) {\n this.#createUserContext(context.userContext);\n }\n }\n\n async #syncBrowsingContexts() {\n // In case contexts are created or destroyed during `getTree`, we use this\n // set to detect them.\n const contextIds = new Set<string>();\n let contexts: Bidi.BrowsingContext.Info[];\n\n {\n using sessionEmitter = new EventEmitter(this.session);\n sessionEmitter.on('browsingContext.contextCreated', info => {\n contextIds.add(info.context);\n });\n const {result} = await this.session.send('browsingContext.getTree', {});\n contexts = result.contexts;\n }\n\n // Simulating events so contexts are created naturally.\n for (const info of contexts) {\n if (!contextIds.has(info.context)) {\n this.session.emit('browsingContext.contextCreated', info);\n }\n if (info.children) {\n contexts.push(...info.children);\n }\n }\n }\n\n #createUserContext(id: string) {\n const userContext = UserContext.create(this, id);\n this.#userContexts.set(userContext.id, userContext);\n\n const userContextEmitter = this.#disposables.use(\n new EventEmitter(userContext),\n );\n userContextEmitter.once('closed', () => {\n userContextEmitter.removeAllListeners();\n\n this.#userContexts.delete(userContext.id);\n });\n\n return userContext;\n }\n\n get closed(): boolean {\n return this.#closed;\n }\n get defaultUserContext(): UserContext {\n // SAFETY: A UserContext is always created for the default context.\n return this.#userContexts.get(UserContext.DEFAULT)!;\n }\n get disconnected(): boolean {\n return this.#reason !== undefined;\n }\n get disposed(): boolean {\n return this.disconnected;\n }\n get userContexts(): Iterable<UserContext> {\n return this.#userContexts.values();\n }\n\n @inertIfDisposed\n dispose(reason?: string, closed = false): void {\n this.#closed = closed;\n this.#reason = reason;\n this[disposeSymbol]();\n }\n\n @throwIfDisposed<Browser>(browser => {\n // SAFETY: By definition of `disposed`, `#reason` is defined.\n return browser.#reason!;\n })\n async close(): Promise<void> {\n try {\n await this.session.send('browser.close', {});\n } finally {\n this.dispose('Browser already closed.', true);\n }\n }\n\n @throwIfDisposed<Browser>(browser => {\n // SAFETY: By definition of `disposed`, `#reason` is defined.\n return browser.#reason!;\n })\n async addPreloadScript(\n functionDeclaration: string,\n options: AddPreloadScriptOptions = {},\n ): Promise<string> {\n const {\n result: {script},\n } = await this.session.send('script.addPreloadScript', {\n functionDeclaration,\n ...options,\n contexts: options.contexts?.map(context => {\n return context.id;\n }) as [string, ...string[]],\n });\n return script;\n }\n\n @throwIfDisposed<Browser>(browser => {\n // SAFETY: By definition of `disposed`, `#reason` is defined.\n return browser.#reason!;\n })\n async removeIntercept(intercept: Bidi.Network.Intercept): Promise<void> {\n await this.session.send('network.removeIntercept', {\n intercept,\n });\n }\n\n @throwIfDisposed<Browser>(browser => {\n // SAFETY: By definition of `disposed`, `#reason` is defined.\n return browser.#reason!;\n })\n async removePreloadScript(script: string): Promise<void> {\n await this.session.send('script.removePreloadScript', {\n script,\n });\n }\n\n @throwIfDisposed<Browser>(browser => {\n // SAFETY: By definition of `disposed`, `#reason` is defined.\n return browser.#reason!;\n })\n async createUserContext(\n options: BrowserContextOptions,\n ): Promise<UserContext> {\n const proxyConfig: Bidi.Session.ProxyConfiguration | undefined =\n options.proxyServer === undefined\n ? undefined\n : {\n proxyType: 'manual',\n httpProxy: options.proxyServer,\n sslProxy: options.proxyServer,\n noProxy: options.proxyBypassList,\n };\n const {\n result: {userContext},\n } = await this.session.send('browser.createUserContext', {\n proxy: proxyConfig,\n });\n if (options.downloadBehavior?.policy === 'allowAndName') {\n throw new UnsupportedOperation(\n '`allowAndName` is not supported in WebDriver BiDi',\n );\n }\n if (options.downloadBehavior?.policy === 'allow') {\n if (options.downloadBehavior.downloadPath === undefined) {\n throw new UnsupportedOperation(\n '`downloadPath` is required in `allow` download behavior',\n );\n }\n await this.session.send('browser.setDownloadBehavior', {\n downloadBehavior: {\n type: 'allowed',\n destinationFolder: options.downloadBehavior.downloadPath,\n },\n userContexts: [userContext],\n });\n }\n if (options.downloadBehavior?.policy === 'deny') {\n await this.session.send('browser.setDownloadBehavior', {\n downloadBehavior: {type: 'denied'},\n userContexts: [userContext],\n });\n }\n return this.#createUserContext(userContext);\n }\n\n @throwIfDisposed<Browser>(browser => {\n // SAFETY: By definition of `disposed`, `#reason` is defined.\n return browser.#reason!;\n })\n async installExtension(path: string): Promise<string> {\n const {\n result: {extension},\n } = await this.session.send('webExtension.install', {\n extensionData: {type: 'path', path},\n });\n return extension;\n }\n\n @throwIfDisposed<Browser>(browser => {\n // SAFETY: By definition of `disposed`, `#reason` is defined.\n return browser.#reason!;\n })\n async uninstallExtension(id: string): Promise<void> {\n await this.session.send('webExtension.uninstall', {extension: id});\n }\n\n @throwIfDisposed<Browser>(browser => {\n // SAFETY: By definition of `disposed`, `#reason` is defined.\n return browser.#reason!;\n })\n async setClientWindowState(\n params: Bidi.Browser.SetClientWindowStateParameters,\n ): Promise<void> {\n await this.session.send('browser.setClientWindowState', params);\n }\n\n @throwIfDisposed<Browser>(browser => {\n // SAFETY: By definition of `disposed`, `#reason` is defined.\n return browser.#reason!;\n })\n async getClientWindowInfo(\n windowId: string,\n ): Promise<Bidi.Browser.ClientWindowInfo> {\n const {\n result: {clientWindows},\n } = await this.session.send('browser.getClientWindows', {});\n\n const window = clientWindows.find(window => {\n return window.clientWindow === windowId;\n });\n if (!window) {\n throw new Error('Window not found');\n }\n return window;\n }\n\n override [disposeSymbol](): void {\n this.#reason ??=\n 'Browser was disconnected, probably because the session ended.';\n if (this.closed) {\n this.emit('closed', this.#reason);\n }\n this.emit('disconnected', this.#reason);\n\n this.#disposables.dispose();\n super[disposeSymbol]();\n }\n}\n","/**\n * @license\n * Copyright 2024 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type * as Bidi from 'webdriver-bidi-protocol';\n\nimport {EventEmitter} from '../../common/EventEmitter.js';\nimport {\n bubble,\n inertIfDisposed,\n throwIfDisposed,\n} from '../../util/decorators.js';\nimport {DisposableStack, disposeSymbol} from '../../util/disposable.js';\n\nimport {Browser} from './Browser.js';\nimport type {BidiEvents, Commands, Connection} from './Connection.js';\n\n/**\n * @internal\n */\nexport class Session\n extends EventEmitter<BidiEvents & {ended: string}>\n implements Connection<BidiEvents & {ended: string}>\n{\n static async from(\n connection: Connection,\n capabilities: Bidi.Session.CapabilitiesRequest,\n ): Promise<Session> {\n const {result} = await connection.send('session.new', {\n capabilities,\n });\n\n const session = new Session(connection, result);\n await session.#initialize();\n return session;\n }\n\n #reason: string | undefined;\n readonly #disposables = new DisposableStack();\n readonly #info: Bidi.Session.NewResult;\n readonly browser!: Browser;\n @bubble()\n accessor connection: Connection;\n\n private constructor(connection: Connection, info: Bidi.Session.NewResult) {\n super();\n\n this.#info = info;\n this.connection = connection;\n }\n\n async #initialize(): Promise<void> {\n // SAFETY: We use `any` to allow assignment of the readonly property.\n (this as any).browser = await Browser.from(this);\n\n const browserEmitter = this.#disposables.use(this.browser);\n browserEmitter.once('closed', reason => {\n this.dispose(reason);\n });\n\n // TODO: Currently, some implementations do not emit navigationStarted event\n // for fragment navigations (as per spec) and some do. This could emits a\n // synthetic navigationStarted to work around this inconsistency.\n const seen = new WeakSet();\n this.on('browsingContext.fragmentNavigated', info => {\n if (seen.has(info)) {\n return;\n }\n seen.add(info);\n this.emit('browsingContext.navigationStarted', info);\n this.emit('browsingContext.fragmentNavigated', info);\n });\n }\n\n get capabilities(): Bidi.Session.NewResult['capabilities'] {\n return this.#info.capabilities;\n }\n get disposed(): boolean {\n return this.ended;\n }\n get ended(): boolean {\n return this.#reason !== undefined;\n }\n get id(): string {\n return this.#info.sessionId;\n }\n\n @inertIfDisposed\n private dispose(reason?: string): void {\n this.#reason = reason;\n this[disposeSymbol]();\n }\n\n /**\n * Currently, there is a 1:1 relationship between the session and the\n * session. In the future, we might support multiple sessions and in that\n * case we always needs to make sure that the session for the right session\n * object is used, so we implement this method here, although it's not defined\n * in the spec.\n */\n @throwIfDisposed<Session>(session => {\n // SAFETY: By definition of `disposed`, `#reason` is defined.\n return session.#reason!;\n })\n async send<T extends keyof Commands>(\n method: T,\n params: Commands[T]['params'],\n ): Promise<{result: Commands[T]['returnType']}> {\n return await this.connection.send(method, params);\n }\n\n @throwIfDisposed<Session>(session => {\n // SAFETY: By definition of `disposed`, `#reason` is defined.\n return session.#reason!;\n })\n async subscribe(\n events: [string, ...string[]],\n contexts?: [string, ...string[]],\n ): Promise<void> {\n await this.send('session.subscribe', {\n events,\n contexts,\n });\n }\n\n @throwIfDisposed<Session>(session => {\n // SAFETY: By definition of `disposed`, `#reason` is defined.\n return session.#reason!;\n })\n async addIntercepts(\n events: [string, ...string[]],\n contexts?: [string, ...string[]],\n ): Promise<void> {\n await this.send('session.subscribe', {\n events,\n contexts,\n });\n }\n\n @throwIfDisposed<Session>(session => {\n // SAFETY: By definition of `disposed`, `#reason` is defined.\n return session.#reason!;\n })\n async end(): Promise<void> {\n try {\n await this.send('session.end', {});\n } finally {\n this.dispose(`Session already ended.`);\n }\n }\n\n override [disposeSymbol](): void {\n this.#reason ??=\n 'Session already destroyed, probably because the connection broke.';\n this.emit('ended', this.#reason);\n\n this.#disposables.dispose();\n super[disposeSymbol]();\n }\n}\n","/**\n * @license\n * Copyright 2022 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {ChildProcess} from 'node:child_process';\n\nimport * as Bidi from 'webdriver-bidi-protocol';\n\nimport type {BrowserEvents, CreatePageOptions} from '../api/Browser.js';\nimport {\n Browser,\n BrowserEvent,\n type BrowserCloseCallback,\n type BrowserContextOptions,\n type ScreenInfo,\n type AddScreenParams,\n type WindowBounds,\n type WindowId,\n type DebugInfo,\n type PWAState,\n} from '../api/Browser.js';\nimport {BrowserContextEvent} from '../api/BrowserContext.js';\nimport type {Extension} from '../api/Extension.js';\nimport type {Page} from '../api/Page.js';\nimport type {Target} from '../api/Target.js';\nimport type {Connection as CdpConnection} from '../cdp/Connection.js';\nimport type {SupportedWebDriverCapabilities} from '../common/ConnectOptions.js';\nimport {DEBUG_PREFIXES, type Logger} from '../common/Debug.js';\nimport {ProtocolError, UnsupportedOperation} from '../common/Errors.js';\nimport {EventEmitter} from '../common/EventEmitter.js';\nimport type {Viewport} from '../common/Viewport.js';\nimport {bubble} from '../util/decorators.js';\n\nimport {BidiBrowserContext} from './BrowserContext.js';\nimport type {BidiConnection, CdpEvent} from './Connection.js';\nimport type {Browser as BrowserCore} from './core/Browser.js';\nimport {Session} from './core/Session.js';\nimport type {UserContext} from './core/UserContext.js';\nimport {BidiBrowserTarget} from './Target.js';\n\n/**\n * @internal\n */\nexport interface BidiBrowserOptions {\n process?: ChildProcess;\n closeCallback?: BrowserCloseCallback;\n connection: BidiConnection;\n cdpConnection?: CdpConnection;\n defaultViewport: Viewport | null;\n acceptInsecureCerts?: boolean;\n capabilities?: SupportedWebDriverCapabilities;\n networkEnabled: boolean;\n issuesEnabled: boolean;\n logger: Logger;\n}\n\n/**\n * @internal\n */\nexport class BidiBrowser extends Browser {\n readonly protocol = 'webDriverBiDi';\n\n static readonly subscribeModules: [string, ...string[]] = [\n 'browsingContext',\n 'network',\n 'log',\n 'script',\n 'input',\n ];\n static readonly subscribeCdpEvents: Array<CdpEvent['method']> = [\n // Coverage\n 'goog:cdp.Debugger.scriptParsed',\n 'goog:cdp.CSS.styleSheetAdded',\n 'goog:cdp.Runtime.executionContextsCleared',\n // Tracing\n 'goog:cdp.Tracing.tracingComplete',\n // TODO: subscribe to all CDP events in the future.\n 'goog:cdp.Network.requestWillBeSent',\n 'goog:cdp.Debugger.scriptParsed',\n 'goog:cdp.Page.screencastFrame',\n ];\n\n static async create(opts: BidiBrowserOptions): Promise<BidiBrowser> {\n const session = await Session.from(opts.connection, {\n firstMatch: opts.capabilities?.firstMatch,\n alwaysMatch: {\n ...opts.capabilities?.alwaysMatch,\n // Capabilities that come from Puppeteer's API take precedence.\n acceptInsecureCerts: opts.acceptInsecureCerts,\n unhandledPromptBehavior: {\n default: Bidi.Session.UserPromptHandlerType.Ignore,\n },\n webSocketUrl: true,\n // Puppeteer with WebDriver BiDi does not support prerendering\n // yet because WebDriver BiDi behavior is not specified. See\n // https://github.com/w3c/webdriver-bidi/issues/321.\n 'goog:prerenderingDisabled': true,\n // TODO: remove after Puppeteer rolled Chrome to 142 after Oct 28, 2025.\n 'goog:disableNetworkDurableMessages': true,\n },\n });\n\n // Subscribe to all WebDriver BiDi events. Also subscribe to CDP events if CDP\n // connection is available.\n await session.subscribe(\n (opts.cdpConnection\n ? [...BidiBrowser.subscribeModules, ...BidiBrowser.subscribeCdpEvents]\n : BidiBrowser.subscribeModules\n ).filter(module => {\n if (!opts.networkEnabled) {\n return (\n module !== 'network' &&\n module !== 'goog:cdp.Network.requestWillBeSent'\n );\n }\n return true;\n }) as [string, ...string[]],\n );\n\n await Promise.all(\n [Bidi.Network.DataType.Request, Bidi.Network.DataType.Response].map(\n // Data collectors might be not implemented for specific data type, so create them\n // separately and ignore protocol errors.\n async dataType => {\n try {\n await session.send('network.addDataCollector', {\n dataTypes: [dataType],\n // Buffer size of 20 MB is equivalent to the CDP:\n maxEncodedDataSize: 20_000_000,\n });\n } catch (err) {\n if (err instanceof ProtocolError) {\n opts.logger?.(DEBUG_PREFIXES.error)?.(err);\n } else {\n throw err;\n }\n }\n },\n ),\n );\n\n const browser = new BidiBrowser(session.browser, opts, opts.logger);\n browser.#initialize();\n return browser;\n }\n\n @bubble()\n accessor #trustedEmitter = new EventEmitter<BrowserEvents>();\n\n #process?: ChildProcess;\n #closeCallback?: BrowserCloseCallback;\n\n #browserCore: BrowserCore;\n #defaultViewport: Viewport | null;\n #browserContexts = new WeakMap<UserContext, BidiBrowserContext>();\n #target: BidiBrowserTarget;\n #cdpConnection?: CdpConnection;\n #networkEnabled: boolean;\n #issuesEnabled: boolean;\n #logger: Logger;\n\n private constructor(\n browserCore: BrowserCore,\n opts: BidiBrowserOptions,\n logger: Logger,\n ) {\n super(logger);\n this.#process = opts.process;\n this.#closeCallback = opts.closeCallback;\n this.#browserCore = browserCore;\n this.#defaultViewport = opts.defaultViewport;\n this.#cdpConnection = opts.cdpConnection;\n this.#networkEnabled = opts.networkEnabled;\n this.#issuesEnabled = opts.issuesEnabled;\n this.#logger = logger;\n this.#target = new BidiBrowserTarget(this, logger);\n }\n\n #initialize() {\n // Initializing existing contexts.\n for (const userContext of this.#browserCore.userContexts) {\n this.#createBrowserContext(userContext);\n }\n\n this.#browserCore.once('disconnected', () => {\n this.#trustedEmitter.emit(BrowserEvent.Disconnected, undefined);\n this.#trustedEmitter.removeAllListeners();\n });\n this.#process?.once('close', () => {\n this.#browserCore.dispose('Browser process exited.', true);\n this.connection.dispose();\n });\n }\n\n get #browserName() {\n return this.#browserCore.session.capabilities.browserName;\n }\n get #browserVersion() {\n return this.#browserCore.session.capabilities.browserVersion;\n }\n\n get cdpSupported(): boolean {\n return this.#cdpConnection !== undefined;\n }\n\n get cdpConnection(): CdpConnection | undefined {\n return this.#cdpConnection;\n }\n\n override async userAgent(): Promise<string> {\n return this.#browserCore.session.capabilities.userAgent;\n }\n\n #createBrowserContext(userContext: UserContext) {\n const browserContext = BidiBrowserContext.from(\n this,\n userContext,\n {\n defaultViewport: this.#defaultViewport,\n },\n this.#logger,\n );\n this.#browserContexts.set(userContext, browserContext);\n\n browserContext.trustedEmitter.on(\n BrowserContextEvent.TargetCreated,\n target => {\n this.#trustedEmitter.emit(BrowserEvent.TargetCreated, target);\n },\n );\n browserContext.trustedEmitter.on(\n BrowserContextEvent.TargetChanged,\n target => {\n this.#trustedEmitter.emit(BrowserEvent.TargetChanged, target);\n },\n );\n browserContext.trustedEmitter.on(\n BrowserContextEvent.TargetDestroyed,\n target => {\n this.#trustedEmitter.emit(BrowserEvent.TargetDestroyed, target);\n },\n );\n\n return browserContext;\n }\n\n get connection(): BidiConnection {\n // SAFETY: We only have one implementation.\n return this.#browserCore.session.connection as BidiConnection;\n }\n\n override wsEndpoint(): string {\n return this.connection.url;\n }\n\n override async close(): Promise<void> {\n if (this.connection.closed) {\n return;\n }\n\n try {\n await this.#browserCore.close();\n await this.#closeCallback?.call(null);\n } catch (error) {\n // Fail silently.\n this.#logger?.(DEBUG_PREFIXES.error)?.(error);\n } finally {\n this.connection.dispose();\n }\n }\n\n override get connected(): boolean {\n return !this.#browserCore.disconnected;\n }\n\n override process(): ChildProcess | null {\n return this.#process ?? null;\n }\n\n override async createBrowserContext(\n options: BrowserContextOptions = {},\n ): Promise<BidiBrowserContext> {\n const userContext = await this.#browserCore.createUserContext(options);\n return this.#createBrowserContext(userContext);\n }\n\n override async version(): Promise<string> {\n return `${this.#browserName}/${this.#browserVersion}`;\n }\n\n override browserContexts(): BidiBrowserContext[] {\n return [...this.#browserCore.userContexts].map(context => {\n return this.#browserContexts.get(context)!;\n });\n }\n\n override defaultBrowserContext(): BidiBrowserContext {\n return this.#browserContexts.get(this.#browserCore.defaultUserContext)!;\n }\n\n override newPage(options?: CreatePageOptions): Promise<Page> {\n return this.defaultBrowserContext().newPage(options);\n }\n\n override installExtension(path: string): Promise<string> {\n return this.#browserCore.installExtension(path);\n }\n\n override async uninstallExtension(id: string): Promise<void> {\n await this.#browserCore.uninstallExtension(id);\n }\n\n override installPWA(): Promise<string> {\n throw new UnsupportedOperation();\n }\n\n override uninstallPWA(): Promise<void> {\n throw new UnsupportedOperation();\n }\n\n override launchPWA(): Promise<Page> {\n throw new UnsupportedOperation();\n }\n\n override getPWAState(): Promise<PWAState> {\n throw new UnsupportedOperation();\n }\n\n override screens(): Promise<ScreenInfo[]> {\n throw new UnsupportedOperation();\n }\n\n override addScreen(_params: AddScreenParams): Promise<ScreenInfo> {\n throw new UnsupportedOperation();\n }\n\n override removeScreen(_screenId: string): Promise<void> {\n throw new UnsupportedOperation();\n }\n\n override async getWindowBounds(windowId: WindowId): Promise<WindowBounds> {\n const clientWindowInfo =\n await this.#browserCore.getClientWindowInfo(windowId);\n return {\n left: clientWindowInfo.x,\n top: clientWindowInfo.y,\n width: clientWindowInfo.width,\n height: clientWindowInfo.height,\n windowState: clientWindowInfo.state,\n };\n }\n\n override async setWindowBounds(\n windowId: WindowId,\n windowBounds: WindowBounds,\n ): Promise<void> {\n let params: Bidi.Browser.SetClientWindowStateParameters | undefined;\n const windowState = windowBounds.windowState ?? 'normal';\n if (windowState === 'normal') {\n params = {\n clientWindow: windowId,\n state: 'normal',\n x: windowBounds.left,\n y: windowBounds.top,\n width: windowBounds.width,\n height: windowBounds.height,\n };\n } else {\n params = {\n clientWindow: windowId,\n state: windowState,\n };\n }\n\n await this.#browserCore.setClientWindowState(params);\n }\n\n override targets(): Target[] {\n return [\n this.#target,\n ...this.browserContexts().flatMap(context => {\n return context.targets();\n }),\n ];\n }\n\n override target(): BidiBrowserTarget {\n return this.#target;\n }\n\n override async disconnect(): Promise<void> {\n try {\n await this.#browserCore.session.end();\n } catch (error) {\n // Fail silently.\n this.#logger?.(DEBUG_PREFIXES.error)?.(error);\n } finally {\n this.connection.dispose();\n }\n }\n\n override get debugInfo(): DebugInfo {\n return {\n pendingProtocolErrors: this.connection.getPendingProtocolErrors(),\n };\n }\n\n override isNetworkEnabled(): boolean {\n return this.#networkEnabled;\n }\n\n override extensions(): Promise<Map<string, Extension>> {\n throw new UnsupportedOperation();\n }\n\n override isIssuesEnabled(): boolean {\n return this.#issuesEnabled;\n }\n}\n"],"mappings":"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CH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;;;IAGT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT;AACE,aAAO;EACX;AACF;AAMM,SAAU,WAAW,KAAW;AACpC,UAAQ,KAAK;IACX,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;;;IAGT,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT;AACE;EACJ;AACF;AAMM,SAAU,eAAe,KAAW;AACxC,UAAQ,KAAK;IACX,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;AACH,aAAO;IACT;AACE,aAAO;EACX;AACF;;;AC1dO,IAAM,eAAmD;EAC9D,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,OAAO;EACP,MAAM;EACN,WAAW;EACX,KAAK;EACL,SAAS;EACT,aAAa;EACb,OAAO;EACP,OAAO;EACP,OAAO;EACP,WAAW;EACX,YAAY;EACZ,aAAa;EACb,cAAc;EACd,SAAS;EACT,UAAU;EACV,OAAO;EACP,UAAU;EACV,QAAQ;EACR,SAAS;EACT,Y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AO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;IACL,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KA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","names":["EventEmitter","all","Map","on","type","handler","handlers","get","push","set","off","splice","indexOf","emit","evt","slice","map","EventEmitter","LogType","BiDiModule","Script","EventNames","Log","BrowsingContext","Input","Network","Bluetooth","Speculation","window","context","config","assert","assert","source","assert","assert","result","stringToBase64","value","channelHandle","first","assert","filter","EventEmitter","Deferred","Realm","result","args","Realm","Deferred","navigation","Deferred","_a","assert","result","rect","maxNodeCount","startNodes","returnedNodes","first","Realm","assert","arg","_a","Deferred","_a","assert","stringToBase64","requests","Deferred","frameTree","blockedRequest","EventEmitter","filter","script","filter","Buffer","events","EventEmitter","contextIds","_a","Buffer","EventEmitter","timeout","isCdpEvent","timeout","Navigation","request","Realm","__esDecorate","__runInitializers","WindowRealm","Realm","_a","Request","__esDecorate","__runInitializers","UserPrompt","__esDecorate","__runInitializers","BrowsingContext","__esDecorate","__runInitializers","WindowRealm","realm","filter","timeout","UserContext","__esDecorate","__runInitializers","BrowsingContext","BidiElementHandle","__esDecorate","__runInitializers","__addDisposableResource","args","stack","error","result","BidiHTTPResponse","__esDecorate","__runInitializers","_a","value","__addDisposableResource","BidiFrame","__esDecorate","__runInitializers","requestFinished$","timeout","SourceActionsType","ActionType","char","from","__esDecorate","__runInitializers","BidiPage","__esDecorate","__runInitializers","__addDisposableResource","frame","timeout","deferred","filter","BidiBrowserContext","__esDecorate","__runInitializers","__addDisposableResource","Browser","__esDecorate","__runInitializers","__addDisposableResource","window","Session","__esDecorate","__runInitializers","Browser","BidiBrowser","__esDecorate","__setFunctionName","__runInitializers"]}
|