@ulixee/unblocked-specification
Advanced tools
Comparing version 2.0.0-alpha.19 to 2.0.0-alpha.20
@@ -9,3 +9,3 @@ /// <reference types="node" /> | ||
import { ICookie } from '../net/ICookie'; | ||
import IInteractHooks from "../hooks/IInteractHooks"; | ||
import IInteractHooks from '../hooks/IInteractHooks'; | ||
export default interface IBrowserContext extends ITypedEventEmitter<IBrowserContextEvents> { | ||
@@ -18,4 +18,3 @@ id: string; | ||
workersById: Map<string, IWorker>; | ||
defaultPageInitializationFn: (page: IPage) => Promise<any>; | ||
hooks: (IBrowserContextHooks & IInteractHooks); | ||
hooks: IBrowserContextHooks & IInteractHooks; | ||
newPage(): Promise<IPage>; | ||
@@ -22,0 +21,0 @@ close(): Promise<void>; |
@@ -11,3 +11,4 @@ export default interface IBrowserEngine { | ||
isHeaded?: boolean; | ||
isHeadlessNew?: boolean; | ||
verifyLaunchable?(): Promise<any>; | ||
} |
import type ITypedEventEmitter from '@ulixee/commons/interfaces/ITypedEventEmitter'; | ||
import IPoint from './IPoint'; | ||
import { IJsPath } from '@ulixee/js-path'; | ||
import { NavigationReason } from './NavigationReason'; | ||
@@ -8,7 +9,10 @@ import IJsPathFunctions from './IJsPathFunctions'; | ||
import INavigation from './INavigation'; | ||
import { IInteractionGroups } from '../interact/IInteractions'; | ||
import { IElementInteractVerification, IInteractionGroups } from '../interact/IInteractions'; | ||
import { IPage } from './IPage'; | ||
import IDevtoolsSession from './IDevtoolsSession'; | ||
export interface IFrame extends ITypedEventEmitter<IFrameEvents> { | ||
frameId: number; | ||
id: string; | ||
childFrames: IFrame[]; | ||
devtoolsSession: IDevtoolsSession; | ||
page?: IPage; | ||
@@ -26,4 +30,6 @@ parentId?: string; | ||
navigations: IFrameNavigations; | ||
isOopif(): boolean; | ||
close(): void; | ||
interact(...interactionGroups: IInteractionGroups): Promise<void>; | ||
click(jsPathOrSelector: IJsPath | string, verification?: IElementInteractVerification): Promise<void>; | ||
waitForLifecycleEvent(event: keyof ILifecycleEvents, loaderId?: string, timeoutMs?: number): Promise<void>; | ||
@@ -67,2 +73,7 @@ waitForLoad(options?: { | ||
}; | ||
'frame-navigated': { | ||
frame: IFrame; | ||
navigatedInDocument?: boolean; | ||
loaderId: string; | ||
}; | ||
} | ||
@@ -69,0 +80,0 @@ export interface IFrameEvents { |
@@ -44,7 +44,7 @@ /// <reference types="node" /> | ||
evaluate<T>(expression: string): Promise<T>; | ||
addNewDocumentScript(script: string, isolateFromWebPageEnvironment: boolean): Promise<{ | ||
addNewDocumentScript(script: string, isolateFromWebPageEnvironment: boolean, devtoolsSession?: IDevtoolsSession): Promise<{ | ||
identifier: string; | ||
}>; | ||
removeDocumentScript(identifier: string): Promise<void>; | ||
addPageCallback(name: string, onCallback?: (payload: string, frame: IFrame) => any, isolateFromWebPageEnvironment?: boolean): Promise<IRegisteredEventListener>; | ||
removeDocumentScript(identifier: string, devtoolsSession?: IDevtoolsSession): Promise<void>; | ||
addPageCallback(name: string, onCallback?: (payload: string, frame: IFrame) => any, isolateFromWebPageEnvironment?: boolean, devtoolsSession?: IDevtoolsSession): Promise<IRegisteredEventListener>; | ||
} | ||
@@ -51,0 +51,0 @@ export interface IPageEvents extends IFrameManagerEvents, IBrowserNetworkEvents { |
@@ -5,8 +5,10 @@ import IDevtoolsSession from '../browser/IDevtoolsSession'; | ||
import IBrowser from '../browser/IBrowser'; | ||
import IBrowserLaunchArgs from '../browser/IBrowserLaunchArgs'; | ||
import IBrowserUserConfig from '../browser/IBrowserUserConfig'; | ||
import IBrowserContext from '../browser/IBrowserContext'; | ||
import Protocol from 'devtools-protocol'; | ||
import TargetInfo = Protocol.Target.TargetInfo; | ||
import { IFrame } from '../browser/IFrame'; | ||
export interface IBrowserContextHooks { | ||
onNewPage?(page: IPage): Promise<any>; | ||
onNewFrameProcess?(frame: IFrame): Promise<any>; | ||
onNewWorker?(worker: IWorker): Promise<any>; | ||
@@ -17,5 +19,5 @@ onDevtoolsPanelAttached?(devtoolsSession: IDevtoolsSession, targetInfo?: TargetInfo): Promise<any>; | ||
export default interface IBrowserHooks { | ||
onNewBrowser?(browser: IBrowser, options: IBrowserLaunchArgs): void; | ||
onNewBrowser?(browser: IBrowser, userConfig: IBrowserUserConfig): void; | ||
onNewBrowserContext?(context: IBrowserContext): Promise<any>; | ||
onDevtoolsPanelAttached?(devtoolsSession: IDevtoolsSession, targetInfo?: TargetInfo): Promise<any>; | ||
} |
@@ -6,2 +6,22 @@ # Change Log | ||
# [2.0.0-alpha.20](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.18...v2.0.0-alpha.20) (2023-04-19) | ||
### Bug Fixes | ||
* **agent:** no autoattach when browser connects ([1ab573d](https://github.com/ulixee/unblocked/commit/1ab573df817226afdbd9f0b31c732ef171068604)) | ||
* **agent:** release memory leaks ([934dcdb](https://github.com/ulixee/unblocked/commit/934dcdba48bb0524f47e7ff60aca2fb4afdbd77a)) | ||
* **plugins:** avoid incognito detection ([8ced043](https://github.com/ulixee/unblocked/commit/8ced043473f44dd82961a7f96db9def797624e71)) | ||
### Features | ||
* **agent:** allow proxy local dns resolution ([#47](https://github.com/ulixee/unblocked/issues/47)) ([a9c412b](https://github.com/ulixee/unblocked/commit/a9c412b77bfc85d7d8634ade1ca647a40b3cc939)) | ||
* **agent:** enable out of process iframes ([#50](https://github.com/ulixee/unblocked/issues/50)) ([77b96c8](https://github.com/ulixee/unblocked/commit/77b96c8ae37e7de36a9b38c6d76a1498d34dee81)) | ||
* **plugins:** add shouldBlockRequest to spec ([ce826a5](https://github.com/ulixee/unblocked/commit/ce826a53133b2009c9572376d3507a0f17562513)) | ||
# [2.0.0-alpha.19](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.18...v2.0.0-alpha.19) (2023-02-25) | ||
@@ -8,0 +28,0 @@ |
{ | ||
"name": "@ulixee/unblocked-specification", | ||
"version": "2.0.0-alpha.19", | ||
"version": "2.0.0-alpha.20", | ||
"description": "Interfaces to interact with Unblocked Agent Plugins", | ||
@@ -23,6 +23,6 @@ "homepage": "https://ulixee.org/unblocked", | ||
"dependencies": { | ||
"@ulixee/js-path": "2.0.0-alpha.19", | ||
"@ulixee/js-path": "2.0.0-alpha.20", | ||
"devtools-protocol": "^0.0.981744" | ||
}, | ||
"gitHead": "fc0add471c5f06fd53b6b889cb876c17cdbc6e61" | ||
"gitHead": "cc835575191341e0b5737f93deee80a7bbc6f34a" | ||
} |
export default interface IDeviceProfile { | ||
deviceMemory?: number; | ||
rtt?: number; | ||
hardwareConcurrency?: number; | ||
deviceStorageTib?: number; | ||
@@ -4,0 +6,0 @@ maxHeapSize?: number; |
@@ -7,3 +7,3 @@ import type { IBoundLog } from '@ulixee/commons/interfaces/ILog'; | ||
import IViewport from '../agent/browser/IViewport'; | ||
import IBrowserLaunchArgs from '../agent/browser/IBrowserLaunchArgs'; | ||
import IBrowserUserConfig from '../agent/browser/IBrowserUserConfig'; | ||
export default interface IEmulationProfile<T = any> { | ||
@@ -34,2 +34,2 @@ logger?: IBoundLog; | ||
} | ||
export declare type IEmulationOptions = IBrowserLaunchArgs & Pick<IEmulationProfile, 'viewport' | 'timezoneId' | 'locale' | 'upstreamProxyIpMask' | 'upstreamProxyUseLocalDns' | 'upstreamProxyUrl' | 'geolocation' | 'dnsOverTlsProvider'>; | ||
export declare type IEmulationOptions = IBrowserUserConfig & Pick<IEmulationProfile, 'viewport' | 'timezoneId' | 'locale' | 'upstreamProxyIpMask' | 'upstreamProxyUseLocalDns' | 'upstreamProxyUrl' | 'geolocation' | 'dnsOverTlsProvider'>; |
@@ -126,4 +126,4 @@ # Unblocked Specification | ||
_browser: [`IBrowser`](./agent/browser/IBrowser.ts)_ a Browser instance. Do not manipulate beyond `launchArguments` unless you really know what you're doing. | ||
_launchArgs: [`IBrowserLaunchArgs`](./agent/browser/IBrowserLaunchArgs.ts)_ arguments provided by a user or set in the environment that an emulator should use to appropriately set the `launchArguments` | ||
_browser: [`IBrowser`](./agent/browser/IBrowser.ts)_ a Browser instance. Do not manipulate beyond `browser.engine.launchArguments` unless you really know what you're doing. | ||
_browserUserConfig: [`IBrowserUserConfig`](./agent/browser/IBrowserUserConfig.ts)_ arguments provided by a user or set in the environment that an emulator should use to appropriately configure `browser.engine.launchArguments` | ||
@@ -130,0 +130,0 @@ NOTE: a new browser might be reused by an implementor, so you should not assume this method will be called one-to-one with your scraper sessions. |
107626
1882
+ Added@ulixee/js-path@2.0.0-alpha.20(transitive)
- Removed@ulixee/js-path@2.0.0-alpha.19(transitive)