@dyyz1993/agent-browser 0.24.0 → 0.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/agent-browser-darwin-arm64 +0 -0
- package/dist/__tests__/e2e/utils/test-helpers.d.ts +2 -2
- package/dist/__tests__/e2e/utils/test-helpers.d.ts.map +1 -1
- package/dist/__tests__/e2e/utils/test-helpers.js +6 -4
- package/dist/__tests__/e2e/utils/test-helpers.js.map +1 -1
- package/dist/actions/advanced.d.ts +73 -0
- package/dist/actions/advanced.d.ts.map +1 -0
- package/dist/actions/advanced.js +390 -0
- package/dist/actions/advanced.js.map +1 -0
- package/dist/actions/context.d.ts +36 -0
- package/dist/actions/context.d.ts.map +1 -0
- package/dist/actions/context.js +164 -0
- package/dist/actions/context.js.map +1 -0
- package/dist/actions/crawl.d.ts +8 -0
- package/dist/actions/crawl.d.ts.map +1 -0
- package/dist/actions/crawl.js +290 -0
- package/dist/actions/crawl.js.map +1 -0
- package/dist/actions/elements.d.ts +11 -0
- package/dist/actions/elements.d.ts.map +1 -0
- package/dist/actions/elements.js +78 -0
- package/dist/actions/elements.js.map +1 -0
- package/dist/actions/flow.d.ts +4 -0
- package/dist/actions/flow.d.ts.map +1 -0
- package/dist/actions/flow.js +170 -0
- package/dist/actions/flow.js.map +1 -0
- package/dist/actions/index.d.ts +7 -0
- package/dist/actions/index.d.ts.map +1 -0
- package/dist/actions/index.js +323 -0
- package/dist/actions/index.js.map +1 -0
- package/dist/actions/interact.d.ts +4 -0
- package/dist/actions/interact.d.ts.map +1 -0
- package/dist/actions/interact.js +162 -0
- package/dist/actions/interact.js.map +1 -0
- package/dist/actions/interaction.d.ts +31 -0
- package/dist/actions/interaction.d.ts.map +1 -0
- package/dist/actions/interaction.js +477 -0
- package/dist/actions/interaction.js.map +1 -0
- package/dist/actions/locators.d.ts +14 -0
- package/dist/actions/locators.d.ts.map +1 -0
- package/dist/actions/locators.js +310 -0
- package/dist/actions/locators.js.map +1 -0
- package/dist/actions/map.d.ts +4 -0
- package/dist/actions/map.d.ts.map +1 -0
- package/dist/actions/map.js +79 -0
- package/dist/actions/map.js.map +1 -0
- package/dist/actions/meta.d.ts +44 -0
- package/dist/actions/meta.d.ts.map +1 -0
- package/dist/actions/meta.js +190 -0
- package/dist/actions/meta.js.map +1 -0
- package/dist/actions/mouse.d.ts +8 -0
- package/dist/actions/mouse.d.ts.map +1 -0
- package/dist/actions/mouse.js +52 -0
- package/dist/actions/mouse.js.map +1 -0
- package/dist/actions/recorder.d.ts +20 -0
- package/dist/actions/recorder.d.ts.map +1 -0
- package/dist/actions/recorder.js +231 -0
- package/dist/actions/recorder.js.map +1 -0
- package/dist/actions/recording.d.ts +6 -0
- package/dist/actions/recording.d.ts.map +1 -0
- package/dist/actions/recording.js +22 -0
- package/dist/actions/recording.js.map +1 -0
- package/dist/actions/scrape.d.ts +10 -0
- package/dist/actions/scrape.d.ts.map +1 -0
- package/dist/actions/scrape.js +39 -0
- package/dist/actions/scrape.js.map +1 -0
- package/dist/actions/screencast.d.ts +8 -0
- package/dist/actions/screencast.d.ts.map +1 -0
- package/dist/actions/screencast.js +56 -0
- package/dist/actions/screencast.js.map +1 -0
- package/dist/actions/search.d.ts +4 -0
- package/dist/actions/search.d.ts.map +1 -0
- package/dist/actions/search.js +129 -0
- package/dist/actions/search.js.map +1 -0
- package/dist/actions/storage.d.ts +14 -0
- package/dist/actions/storage.d.ts.map +1 -0
- package/dist/actions/storage.js +63 -0
- package/dist/actions/storage.js.map +1 -0
- package/dist/actions/tabs.d.ts +16 -0
- package/dist/actions/tabs.d.ts.map +1 -0
- package/dist/actions/tabs.js +47 -0
- package/dist/actions/tabs.js.map +1 -0
- package/dist/actions/utils.d.ts +15 -0
- package/dist/actions/utils.d.ts.map +1 -0
- package/dist/actions/utils.js +234 -0
- package/dist/actions/utils.js.map +1 -0
- package/dist/browser/browser-manager.d.ts +249 -0
- package/dist/browser/browser-manager.d.ts.map +1 -0
- package/dist/browser/browser-manager.js +1251 -0
- package/dist/browser/browser-manager.js.map +1 -0
- package/dist/browser/index.d.ts +3 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +2 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/network-tracker.d.ts +39 -0
- package/dist/browser/network-tracker.d.ts.map +1 -0
- package/dist/browser/network-tracker.js +287 -0
- package/dist/browser/network-tracker.js.map +1 -0
- package/dist/browser/providers.d.ts +27 -0
- package/dist/browser/providers.d.ts.map +1 -0
- package/dist/browser/providers.js +293 -0
- package/dist/browser/providers.js.map +1 -0
- package/dist/browser/recorder-manager.d.ts +69 -0
- package/dist/browser/recorder-manager.d.ts.map +1 -0
- package/dist/browser/recorder-manager.js +755 -0
- package/dist/browser/recorder-manager.js.map +1 -0
- package/dist/browser/recording-manager.d.ts +46 -0
- package/dist/browser/recording-manager.d.ts.map +1 -0
- package/dist/browser/recording-manager.js +156 -0
- package/dist/browser/recording-manager.js.map +1 -0
- package/dist/browser/screencast-manager.d.ts +49 -0
- package/dist/browser/screencast-manager.d.ts.map +1 -0
- package/dist/browser/screencast-manager.js +131 -0
- package/dist/browser/screencast-manager.js.map +1 -0
- package/dist/browser/types.d.ts +101 -0
- package/dist/browser/types.d.ts.map +1 -0
- package/dist/browser/types.js +2 -0
- package/dist/browser/types.js.map +1 -0
- package/dist/browser-events.d.ts +25 -0
- package/dist/browser-events.d.ts.map +1 -0
- package/dist/browser-events.js +15 -0
- package/dist/browser-events.js.map +1 -0
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +145 -1
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/connection.d.ts.map +1 -1
- package/dist/cli/connection.js +15 -22
- package/dist/cli/connection.js.map +1 -1
- package/dist/cli/flags.d.ts +1 -0
- package/dist/cli/flags.d.ts.map +1 -1
- package/dist/cli/flags.js +8 -0
- package/dist/cli/flags.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +204 -4
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js +72 -0
- package/dist/cli/output.js.map +1 -1
- package/dist/cli.js +149 -14
- package/dist/cli.js.map +1 -1
- package/dist/daemon.d.ts +1 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +12 -13
- package/dist/daemon.js.map +1 -1
- package/dist/flow/exporters/playwright.d.ts +23 -1
- package/dist/flow/exporters/playwright.d.ts.map +1 -1
- package/dist/flow/exporters/playwright.js +333 -85
- package/dist/flow/exporters/playwright.js.map +1 -1
- package/dist/flow/exporters/python.d.ts +22 -0
- package/dist/flow/exporters/python.d.ts.map +1 -1
- package/dist/flow/exporters/python.js +325 -74
- package/dist/flow/exporters/python.js.map +1 -1
- package/dist/flow/exporters/selenium.d.ts.map +1 -1
- package/dist/flow/exporters/selenium.js +0 -1
- package/dist/flow/exporters/selenium.js.map +1 -1
- package/dist/flow/flow-executor.d.ts +1 -1
- package/dist/flow/flow-executor.d.ts.map +1 -1
- package/dist/flow/flow-executor.js +11 -11
- package/dist/flow/flow-executor.js.map +1 -1
- package/dist/flow/output.js.map +1 -1
- package/dist/flow/plugin-system.d.ts +1 -1
- package/dist/flow/plugin-system.d.ts.map +1 -1
- package/dist/flow/plugin-system.js +2 -2
- package/dist/flow/plugin-system.js.map +1 -1
- package/dist/flow/plugins/logging-plugin.js +1 -1
- package/dist/flow/plugins/logging-plugin.js.map +1 -1
- package/dist/flow/presets/console-capture.js +50 -0
- package/dist/flow/presets/fetch-capture.js +107 -0
- package/dist/flow/presets/sse-stream.js +85 -0
- package/dist/flow/presets/xhr-only.js +44 -0
- package/dist/flow/recorder-to-flow.d.ts.map +1 -1
- package/dist/flow/recorder-to-flow.js +1 -3
- package/dist/flow/recorder-to-flow.js.map +1 -1
- package/dist/flow/site-manager.d.ts.map +1 -1
- package/dist/flow/site-manager.js +6 -2
- package/dist/flow/site-manager.js.map +1 -1
- package/dist/human-mouse.d.ts +1 -1
- package/dist/human-mouse.d.ts.map +1 -1
- package/dist/human-mouse.js +2 -2
- package/dist/human-mouse.js.map +1 -1
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +91 -1
- package/dist/protocol.js.map +1 -1
- package/dist/rc-config.js +4 -4
- package/dist/rc-config.js.map +1 -1
- package/dist/recorder/inject.js +31 -5
- package/dist/snapshot.d.ts.map +1 -1
- package/dist/snapshot.js +3 -4
- package/dist/snapshot.js.map +1 -1
- package/dist/stream-server-standalone.d.ts +1 -1
- package/dist/stream-server-standalone.d.ts.map +1 -1
- package/dist/stream-server-standalone.js +42 -23
- package/dist/stream-server-standalone.js.map +1 -1
- package/dist/stream-server.d.ts +1 -1
- package/dist/stream-server.d.ts.map +1 -1
- package/dist/stream-server.js +26 -21
- package/dist/stream-server.js.map +1 -1
- package/dist/test-live.js +9 -3
- package/dist/test-live.js.map +1 -1
- package/dist/types.d.ts +123 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +4 -3
- package/scripts/README.md +66 -0
- package/scripts/check_goods_container.js +35 -0
- package/scripts/check_page_content.js +36 -0
- package/scripts/click_applause_rate.js +30 -0
- package/scripts/copy-flow-presets.js +25 -0
- package/scripts/douyin-flow-test.sh +72 -0
- package/scripts/douyin-test.sh +101 -0
- package/scripts/explore_jd_page.js +31 -0
- package/scripts/extract_all_jd_data.js +80 -0
- package/scripts/extract_jd_product_detail.js +62 -0
- package/scripts/extract_jd_products_correct_links.js +78 -0
- package/scripts/extract_jd_products_final.js +80 -0
- package/scripts/extract_jd_reviews.js +48 -0
- package/scripts/extract_jd_seafood_final.js +78 -0
- package/scripts/extract_multiple_products.js +77 -0
- package/scripts/extract_products_no_scroll.js +68 -0
- package/scripts/extract_products_simple.js +68 -0
- package/scripts/find_applause_rate.js +26 -0
- package/scripts/find_jd_links.js +28 -0
- package/scripts/find_main_content.js +20 -0
- package/scripts/find_product_cards.js +38 -0
- package/scripts/find_root_content.js +26 -0
- package/scripts/find_unique_products.js +55 -0
- package/scripts/get_jd_product_detail.js +16 -0
- package/scripts/get_jd_products.js +23 -0
- package/scripts/get_jd_seafood_products.js +44 -0
- package/scripts/get_product_details_from_images.js +54 -0
- package/scripts/verify-form.sh +67 -0
- package/scripts/verify-login.sh +65 -0
- package/scripts/verify-recording.sh +80 -0
- package/scripts/verify-upload.sh +41 -0
- package/bin/agent-browser-darwin-x64 +0 -0
- package/bin/agent-browser-linux-arm64 +0 -0
- package/bin/agent-browser-linux-x64 +0 -0
- package/bin/agent-browser-win32-x64.exe +0 -0
- package/dist/actions.d.ts +0 -51
- package/dist/actions.d.ts.map +0 -1
- package/dist/actions.js +0 -2662
- package/dist/actions.js.map +0 -1
- package/dist/browser.d.ts +0 -651
- package/dist/browser.d.ts.map +0 -1
- package/dist/browser.js +0 -3088
- package/dist/browser.js.map +0 -1
package/dist/browser.d.ts
DELETED
|
@@ -1,651 +0,0 @@
|
|
|
1
|
-
import { devices, type Browser, type Page, type Frame, type Locator, type CDPSession } from 'playwright-core';
|
|
2
|
-
import type { LaunchCommand } from './types.js';
|
|
3
|
-
import { type RefMap, type EnhancedSnapshot } from './snapshot.js';
|
|
4
|
-
import { SnapshotStore } from './snapshot-store.js';
|
|
5
|
-
export interface ScreencastFrame {
|
|
6
|
-
data: string;
|
|
7
|
-
metadata: {
|
|
8
|
-
offsetTop: number;
|
|
9
|
-
pageScaleFactor: number;
|
|
10
|
-
deviceWidth: number;
|
|
11
|
-
deviceHeight: number;
|
|
12
|
-
scrollOffsetX: number;
|
|
13
|
-
scrollOffsetY: number;
|
|
14
|
-
timestamp?: number;
|
|
15
|
-
};
|
|
16
|
-
sessionId: number;
|
|
17
|
-
}
|
|
18
|
-
export interface ScreencastOptions {
|
|
19
|
-
format?: 'jpeg' | 'png';
|
|
20
|
-
quality?: number;
|
|
21
|
-
maxWidth?: number;
|
|
22
|
-
maxHeight?: number;
|
|
23
|
-
everyNthFrame?: number;
|
|
24
|
-
}
|
|
25
|
-
interface TrackedRequest {
|
|
26
|
-
url: string;
|
|
27
|
-
method: string;
|
|
28
|
-
headers: Record<string, string>;
|
|
29
|
-
timestamp: number;
|
|
30
|
-
resourceType: string;
|
|
31
|
-
status?: number;
|
|
32
|
-
statusText?: string;
|
|
33
|
-
responseHeaders?: Record<string, string>;
|
|
34
|
-
responseBody?: string | object;
|
|
35
|
-
contentType?: string;
|
|
36
|
-
}
|
|
37
|
-
interface ConsoleMessage {
|
|
38
|
-
type: string;
|
|
39
|
-
text: string;
|
|
40
|
-
timestamp: number;
|
|
41
|
-
}
|
|
42
|
-
interface PageError {
|
|
43
|
-
message: string;
|
|
44
|
-
timestamp: number;
|
|
45
|
-
}
|
|
46
|
-
interface TrackedWebSocket {
|
|
47
|
-
id: string;
|
|
48
|
-
url: string;
|
|
49
|
-
openedAt: number;
|
|
50
|
-
closedAt?: number;
|
|
51
|
-
closeCode?: number;
|
|
52
|
-
closeReason?: string;
|
|
53
|
-
error?: string;
|
|
54
|
-
frames: TrackedWSFrame[];
|
|
55
|
-
}
|
|
56
|
-
interface TrackedWSFrame {
|
|
57
|
-
direction: 'send' | 'recv';
|
|
58
|
-
data: string;
|
|
59
|
-
timestamp: number;
|
|
60
|
-
opcode?: number;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Manages the Playwright browser lifecycle with multiple tabs/windows
|
|
64
|
-
*/
|
|
65
|
-
export declare class BrowserManager {
|
|
66
|
-
private browser;
|
|
67
|
-
private cdpEndpoint;
|
|
68
|
-
private isPersistentContext;
|
|
69
|
-
private browserbaseSessionId;
|
|
70
|
-
private browserbaseApiKey;
|
|
71
|
-
private browserUseSessionId;
|
|
72
|
-
private browserUseApiKey;
|
|
73
|
-
private kernelSessionId;
|
|
74
|
-
private kernelApiKey;
|
|
75
|
-
private contexts;
|
|
76
|
-
private pages;
|
|
77
|
-
private activePageIndex;
|
|
78
|
-
private dialogHandler;
|
|
79
|
-
private trackedRequests;
|
|
80
|
-
private isRequestTrackingEnabled;
|
|
81
|
-
private isResponseCaptureEnabled;
|
|
82
|
-
get trackingEnabled(): boolean;
|
|
83
|
-
private pendingRequests;
|
|
84
|
-
private requestListener;
|
|
85
|
-
private responseListener;
|
|
86
|
-
private routes;
|
|
87
|
-
private consoleMessages;
|
|
88
|
-
private pageErrors;
|
|
89
|
-
private trackedWebSockets;
|
|
90
|
-
private isWebSocketTrackingEnabled;
|
|
91
|
-
private wsListener;
|
|
92
|
-
get wsTrackingEnabled(): boolean;
|
|
93
|
-
private isRecordingHar;
|
|
94
|
-
private refMap;
|
|
95
|
-
private lastSnapshot;
|
|
96
|
-
private snapshotStore;
|
|
97
|
-
private scopedHeaderRoutes;
|
|
98
|
-
private commandHistory;
|
|
99
|
-
private cdpSession;
|
|
100
|
-
private screencastActive;
|
|
101
|
-
private screencastShouldBeActive;
|
|
102
|
-
private screencastSessionId;
|
|
103
|
-
private frameCallback;
|
|
104
|
-
private screencastFrameHandler;
|
|
105
|
-
private lastScreencastOptions;
|
|
106
|
-
private recordingContext;
|
|
107
|
-
private recordingPage;
|
|
108
|
-
private recordingOutputPath;
|
|
109
|
-
private recordingTempDir;
|
|
110
|
-
private recorderSessionId;
|
|
111
|
-
private recorderBindingName;
|
|
112
|
-
private recorderStartTime;
|
|
113
|
-
private recorderSteps;
|
|
114
|
-
private recorderPages;
|
|
115
|
-
private recorderPageHandler;
|
|
116
|
-
private navigationHistory;
|
|
117
|
-
private navigationHistoryIndex;
|
|
118
|
-
private lastNavigationUrl;
|
|
119
|
-
private lastNavigationTime;
|
|
120
|
-
private recorderNavigatedHandler;
|
|
121
|
-
private recorderFrameAttachedHandler;
|
|
122
|
-
/**
|
|
123
|
-
* Check if browser is launched and still connected
|
|
124
|
-
*/
|
|
125
|
-
isLaunched(): boolean;
|
|
126
|
-
/**
|
|
127
|
-
* Get enhanced snapshot with refs and cache the ref map
|
|
128
|
-
*/
|
|
129
|
-
getSnapshot(options?: {
|
|
130
|
-
interactive?: boolean;
|
|
131
|
-
cursor?: boolean;
|
|
132
|
-
maxDepth?: number;
|
|
133
|
-
compact?: boolean;
|
|
134
|
-
selector?: string;
|
|
135
|
-
framePath?: string;
|
|
136
|
-
path?: boolean;
|
|
137
|
-
attrs?: boolean;
|
|
138
|
-
selectors?: boolean;
|
|
139
|
-
all?: boolean;
|
|
140
|
-
}): Promise<EnhancedSnapshot & {
|
|
141
|
-
snapshotId?: string;
|
|
142
|
-
}>;
|
|
143
|
-
/**
|
|
144
|
-
* Ensure selectors have been lazily generated for a snapshot.
|
|
145
|
-
* Generates them on first call, then caches in the store.
|
|
146
|
-
*/
|
|
147
|
-
ensureSelectorsGenerated(snapId: string): Promise<boolean>;
|
|
148
|
-
/**
|
|
149
|
-
* Get the cached ref map from last snapshot
|
|
150
|
-
*/
|
|
151
|
-
getRefMap(): RefMap;
|
|
152
|
-
getSnapshotStore(): SnapshotStore;
|
|
153
|
-
recordCommand(action: string, selector: string, value: string | undefined, success: boolean): void;
|
|
154
|
-
getHistory(filter?: string): Array<{
|
|
155
|
-
action: string;
|
|
156
|
-
selector: string;
|
|
157
|
-
value?: string;
|
|
158
|
-
success: boolean;
|
|
159
|
-
timestamp: number;
|
|
160
|
-
}>;
|
|
161
|
-
clearHistory(): void;
|
|
162
|
-
/**
|
|
163
|
-
* Get a locator from a ref (e.g., "e1", "@e1", "ref=e1")
|
|
164
|
-
* Returns null if ref doesn't exist or is invalid
|
|
165
|
-
* @param refArg - The ref string (e.g., "e1", "@e1", "ref=e1")
|
|
166
|
-
* @param framePath - Optional path to iframe where the ref was captured
|
|
167
|
-
*/
|
|
168
|
-
getLocatorFromRef(refArg: string, framePath?: string): Locator | null;
|
|
169
|
-
/**
|
|
170
|
-
* Check if a selector looks like a ref
|
|
171
|
-
*/
|
|
172
|
-
isRef(selector: string): boolean;
|
|
173
|
-
/**
|
|
174
|
-
* Get locator - supports both refs and regular selectors
|
|
175
|
-
*/
|
|
176
|
-
getLocator(selectorOrRef: string, framePath?: string): Locator;
|
|
177
|
-
/**
|
|
178
|
-
* Get the current active page, throws if not launched
|
|
179
|
-
*/
|
|
180
|
-
getPage(): Page;
|
|
181
|
-
/**
|
|
182
|
-
* Get frame by optional path
|
|
183
|
-
* @param framePath - Optional path to iframe (e.g., "#frame1/#frame2/#frame3")
|
|
184
|
-
* - If not provided, returns the main frame of current page
|
|
185
|
-
* - Path is absolute from main frame, using "/" as separator
|
|
186
|
-
* - Supports multiple matching strategies:
|
|
187
|
-
* - Index: "0", "1", "2" - match by position
|
|
188
|
-
* - Name/ID: "#my-frame", "my-frame" - match by name or id attribute
|
|
189
|
-
* - URL: partial URL match like "httpbin.org"
|
|
190
|
-
* @returns Frame for the target iframe
|
|
191
|
-
*/
|
|
192
|
-
getFrame(framePath?: string): Frame;
|
|
193
|
-
/**
|
|
194
|
-
* Internal method to get frame by path
|
|
195
|
-
* Path is absolute from main frame, using "/" as separator
|
|
196
|
-
*/
|
|
197
|
-
private getFrameByPath;
|
|
198
|
-
/**
|
|
199
|
-
* Find a matching frame from a list of child frames
|
|
200
|
-
* Supports matching by:
|
|
201
|
-
* - Index: "0", "1", "2"
|
|
202
|
-
* - Name/ID: "#my-frame", "my-frame"
|
|
203
|
-
* - URL: partial URL match
|
|
204
|
-
*/
|
|
205
|
-
private findMatchingFrame;
|
|
206
|
-
listFrames(): Array<{
|
|
207
|
-
name: string;
|
|
208
|
-
url: string;
|
|
209
|
-
path: string;
|
|
210
|
-
}>;
|
|
211
|
-
/**
|
|
212
|
-
* Set up dialog handler
|
|
213
|
-
*/
|
|
214
|
-
setDialogHandler(response: 'accept' | 'dismiss', promptText?: string): void;
|
|
215
|
-
/**
|
|
216
|
-
* Clear dialog handler
|
|
217
|
-
*/
|
|
218
|
-
clearDialogHandler(): void;
|
|
219
|
-
/**
|
|
220
|
-
* Start tracking requests
|
|
221
|
-
* @param captureResponse - Whether to capture response body (default: false for backward compatibility)
|
|
222
|
-
*/
|
|
223
|
-
startRequestTracking(captureResponse?: boolean): void;
|
|
224
|
-
/**
|
|
225
|
-
* Get tracked requests
|
|
226
|
-
* @param filter - URL pattern to filter
|
|
227
|
-
* @param type - Filter by response type (e.g., 'json')
|
|
228
|
-
*/
|
|
229
|
-
getRequests(filter?: string, type?: 'json'): TrackedRequest[];
|
|
230
|
-
/**
|
|
231
|
-
* Clear tracked requests
|
|
232
|
-
*/
|
|
233
|
-
clearRequests(): void;
|
|
234
|
-
startWebSocketTracking(): void;
|
|
235
|
-
getWebSockets(filter?: string): TrackedWebSocket[];
|
|
236
|
-
clearWebSockets(): void;
|
|
237
|
-
/**
|
|
238
|
-
* Save tracked requests to a directory
|
|
239
|
-
* @param outputDir - Directory path to save requests
|
|
240
|
-
* @param filter - URL pattern to filter
|
|
241
|
-
* @param type - Filter by response type (e.g., 'json')
|
|
242
|
-
* @returns Object with saved count and output path
|
|
243
|
-
*/
|
|
244
|
-
saveRequestsToDir(outputDir: string, filter?: string, type?: 'json'): {
|
|
245
|
-
savedCount: number;
|
|
246
|
-
outputPath: string;
|
|
247
|
-
indexPath: string;
|
|
248
|
-
};
|
|
249
|
-
/**
|
|
250
|
-
* Add a route to intercept requests
|
|
251
|
-
*/
|
|
252
|
-
addRoute(url: string, options: {
|
|
253
|
-
response?: {
|
|
254
|
-
status?: number;
|
|
255
|
-
body?: string;
|
|
256
|
-
contentType?: string;
|
|
257
|
-
headers?: Record<string, string>;
|
|
258
|
-
};
|
|
259
|
-
abort?: boolean;
|
|
260
|
-
}): Promise<void>;
|
|
261
|
-
/**
|
|
262
|
-
* Remove a route
|
|
263
|
-
*/
|
|
264
|
-
removeRoute(url?: string): Promise<void>;
|
|
265
|
-
/**
|
|
266
|
-
* Set geolocation
|
|
267
|
-
*/
|
|
268
|
-
setGeolocation(latitude: number, longitude: number, accuracy?: number): Promise<void>;
|
|
269
|
-
/**
|
|
270
|
-
* Set permissions
|
|
271
|
-
*/
|
|
272
|
-
setPermissions(permissions: string[], grant: boolean): Promise<void>;
|
|
273
|
-
/**
|
|
274
|
-
* Set viewport
|
|
275
|
-
*/
|
|
276
|
-
setViewport(width: number, height: number): Promise<void>;
|
|
277
|
-
/**
|
|
278
|
-
* Set device scale factor (devicePixelRatio) via CDP
|
|
279
|
-
* This sets window.devicePixelRatio which affects how the page renders and responds to media queries
|
|
280
|
-
*
|
|
281
|
-
* Note: When using CDP to set deviceScaleFactor, screenshots will be at logical pixel dimensions
|
|
282
|
-
* (viewport size), not physical pixel dimensions (viewport × scale). This is a Playwright limitation
|
|
283
|
-
* when using CDP emulation on existing contexts. For true HiDPI screenshots with physical pixels,
|
|
284
|
-
* deviceScaleFactor must be set at context creation time.
|
|
285
|
-
*
|
|
286
|
-
* Must be called after setViewport to work correctly
|
|
287
|
-
*/
|
|
288
|
-
setDeviceScaleFactor(deviceScaleFactor: number, width: number, height: number, mobile?: boolean): Promise<void>;
|
|
289
|
-
/**
|
|
290
|
-
* Clear device metrics override to restore default devicePixelRatio
|
|
291
|
-
*/
|
|
292
|
-
clearDeviceMetricsOverride(): Promise<void>;
|
|
293
|
-
/**
|
|
294
|
-
* Get device descriptor
|
|
295
|
-
*/
|
|
296
|
-
getDevice(deviceName: string): (typeof devices)[keyof typeof devices] | undefined;
|
|
297
|
-
/**
|
|
298
|
-
* List available devices
|
|
299
|
-
*/
|
|
300
|
-
listDevices(): string[];
|
|
301
|
-
/**
|
|
302
|
-
* Start console message tracking
|
|
303
|
-
*/
|
|
304
|
-
startConsoleTracking(): void;
|
|
305
|
-
/**
|
|
306
|
-
* Get console messages
|
|
307
|
-
*/
|
|
308
|
-
getConsoleMessages(): ConsoleMessage[];
|
|
309
|
-
/**
|
|
310
|
-
* Clear console messages
|
|
311
|
-
*/
|
|
312
|
-
clearConsoleMessages(): void;
|
|
313
|
-
/**
|
|
314
|
-
* Start error tracking
|
|
315
|
-
*/
|
|
316
|
-
startErrorTracking(): void;
|
|
317
|
-
/**
|
|
318
|
-
* Get page errors
|
|
319
|
-
*/
|
|
320
|
-
getPageErrors(): PageError[];
|
|
321
|
-
/**
|
|
322
|
-
* Clear page errors
|
|
323
|
-
*/
|
|
324
|
-
clearPageErrors(): void;
|
|
325
|
-
/**
|
|
326
|
-
* Start HAR recording
|
|
327
|
-
*/
|
|
328
|
-
startHarRecording(): Promise<void>;
|
|
329
|
-
/**
|
|
330
|
-
* Check if HAR recording
|
|
331
|
-
*/
|
|
332
|
-
isHarRecording(): boolean;
|
|
333
|
-
/**
|
|
334
|
-
* Set offline mode
|
|
335
|
-
*/
|
|
336
|
-
setOffline(offline: boolean): Promise<void>;
|
|
337
|
-
/**
|
|
338
|
-
* Set extra HTTP headers (global - all requests)
|
|
339
|
-
*/
|
|
340
|
-
setExtraHeaders(headers: Record<string, string>): Promise<void>;
|
|
341
|
-
/**
|
|
342
|
-
* Set scoped HTTP headers (only for requests matching the origin)
|
|
343
|
-
* Uses route interception to add headers only to matching requests
|
|
344
|
-
*/
|
|
345
|
-
setScopedHeaders(origin: string, headers: Record<string, string>): Promise<void>;
|
|
346
|
-
/**
|
|
347
|
-
* Clear scoped headers for an origin (or all if no origin specified)
|
|
348
|
-
*/
|
|
349
|
-
clearScopedHeaders(origin?: string): Promise<void>;
|
|
350
|
-
/**
|
|
351
|
-
* Start tracing
|
|
352
|
-
*/
|
|
353
|
-
startTracing(options: {
|
|
354
|
-
screenshots?: boolean;
|
|
355
|
-
snapshots?: boolean;
|
|
356
|
-
}): Promise<void>;
|
|
357
|
-
/**
|
|
358
|
-
* Stop tracing and save
|
|
359
|
-
*/
|
|
360
|
-
stopTracing(path: string): Promise<void>;
|
|
361
|
-
/**
|
|
362
|
-
* Save storage state (cookies, localStorage, etc.)
|
|
363
|
-
*/
|
|
364
|
-
saveStorageState(path: string): Promise<void>;
|
|
365
|
-
/**
|
|
366
|
-
* Get all pages
|
|
367
|
-
*/
|
|
368
|
-
getPages(): Page[];
|
|
369
|
-
/**
|
|
370
|
-
* Get current page index
|
|
371
|
-
*/
|
|
372
|
-
getActiveIndex(): number;
|
|
373
|
-
/**
|
|
374
|
-
* Get the current browser instance
|
|
375
|
-
*/
|
|
376
|
-
getBrowser(): Browser | null;
|
|
377
|
-
/**
|
|
378
|
-
* Check if an existing CDP connection is still alive
|
|
379
|
-
* by verifying we can access browser contexts and that at least one has pages
|
|
380
|
-
*/
|
|
381
|
-
private isCdpConnectionAlive;
|
|
382
|
-
/**
|
|
383
|
-
* Check if CDP connection needs to be re-established
|
|
384
|
-
*/
|
|
385
|
-
private needsCdpReconnect;
|
|
386
|
-
/**
|
|
387
|
-
* Close a Browserbase session via API
|
|
388
|
-
*/
|
|
389
|
-
private closeBrowserbaseSession;
|
|
390
|
-
/**
|
|
391
|
-
* Close a Browser Use session via API
|
|
392
|
-
*/
|
|
393
|
-
private closeBrowserUseSession;
|
|
394
|
-
/**
|
|
395
|
-
* Close a Kernel session via API
|
|
396
|
-
*/
|
|
397
|
-
private closeKernelSession;
|
|
398
|
-
/**
|
|
399
|
-
* Connect to Browserbase remote browser via CDP.
|
|
400
|
-
* Requires BROWSERBASE_API_KEY and BROWSERBASE_PROJECT_ID environment variables.
|
|
401
|
-
*/
|
|
402
|
-
private connectToBrowserbase;
|
|
403
|
-
/**
|
|
404
|
-
* Find or create a Kernel profile by name.
|
|
405
|
-
* Returns the profile object if successful.
|
|
406
|
-
*/
|
|
407
|
-
private findOrCreateKernelProfile;
|
|
408
|
-
/**
|
|
409
|
-
* Connect to Kernel remote browser via CDP.
|
|
410
|
-
* Requires KERNEL_API_KEY environment variable.
|
|
411
|
-
*/
|
|
412
|
-
private connectToKernel;
|
|
413
|
-
/**
|
|
414
|
-
* Connect to Browser Use remote browser via CDP.
|
|
415
|
-
* Requires BROWSER_USE_API_KEY environment variable.
|
|
416
|
-
*/
|
|
417
|
-
private connectToBrowserUse;
|
|
418
|
-
/**
|
|
419
|
-
* Launch the browser with the specified options
|
|
420
|
-
* If already launched, this is a no-op (browser stays open)
|
|
421
|
-
*/
|
|
422
|
-
launch(options: LaunchCommand): Promise<void>;
|
|
423
|
-
/**
|
|
424
|
-
* Connect to a running browser via CDP (Chrome DevTools Protocol)
|
|
425
|
-
* @param cdpEndpoint Either a port number (as string) or a full WebSocket URL (ws:// or wss://)
|
|
426
|
-
*/
|
|
427
|
-
private connectViaCDP;
|
|
428
|
-
/**
|
|
429
|
-
* Set up console, error, and close tracking for a page
|
|
430
|
-
*/
|
|
431
|
-
private setupPageTracking;
|
|
432
|
-
/**
|
|
433
|
-
* Set up tracking for new pages in a context (for CDP connections and popups/new tabs)
|
|
434
|
-
* This handles pages created externally (e.g., via target="_blank" links, window.open)
|
|
435
|
-
*/
|
|
436
|
-
private setupContextTracking;
|
|
437
|
-
/**
|
|
438
|
-
* Create a new tab in the current context
|
|
439
|
-
*/
|
|
440
|
-
newTab(): Promise<{
|
|
441
|
-
index: number;
|
|
442
|
-
total: number;
|
|
443
|
-
}>;
|
|
444
|
-
/**
|
|
445
|
-
* Create a new window (new context)
|
|
446
|
-
*/
|
|
447
|
-
newWindow(viewport?: {
|
|
448
|
-
width: number;
|
|
449
|
-
height: number;
|
|
450
|
-
}): Promise<{
|
|
451
|
-
index: number;
|
|
452
|
-
total: number;
|
|
453
|
-
}>;
|
|
454
|
-
/**
|
|
455
|
-
* Invalidate the current CDP session (must be called before switching pages)
|
|
456
|
-
* This ensures screencast and input injection work correctly after tab switch
|
|
457
|
-
*/
|
|
458
|
-
private invalidateCDPSession;
|
|
459
|
-
/**
|
|
460
|
-
* Switch to a specific tab/page by index
|
|
461
|
-
*/
|
|
462
|
-
switchTo(index: number): Promise<{
|
|
463
|
-
index: number;
|
|
464
|
-
url: string;
|
|
465
|
-
title: string;
|
|
466
|
-
}>;
|
|
467
|
-
/**
|
|
468
|
-
* Close a specific tab/page
|
|
469
|
-
*/
|
|
470
|
-
closeTab(index?: number): Promise<{
|
|
471
|
-
closed: number;
|
|
472
|
-
remaining: number;
|
|
473
|
-
}>;
|
|
474
|
-
/**
|
|
475
|
-
* List all tabs with their info
|
|
476
|
-
*/
|
|
477
|
-
listTabs(): Promise<Array<{
|
|
478
|
-
index: number;
|
|
479
|
-
url: string;
|
|
480
|
-
title: string;
|
|
481
|
-
active: boolean;
|
|
482
|
-
}>>;
|
|
483
|
-
/**
|
|
484
|
-
* Get or create a CDP session for the current page
|
|
485
|
-
* Only works with Chromium-based browsers
|
|
486
|
-
*/
|
|
487
|
-
getCDPSession(): Promise<CDPSession>;
|
|
488
|
-
/**
|
|
489
|
-
* Check if screencast is currently active
|
|
490
|
-
*/
|
|
491
|
-
isScreencasting(): boolean;
|
|
492
|
-
/**
|
|
493
|
-
* Start screencast - streams viewport frames via CDP
|
|
494
|
-
* @param callback Function called for each frame
|
|
495
|
-
* @param options Screencast options
|
|
496
|
-
*/
|
|
497
|
-
startScreencast(callback: (frame: ScreencastFrame) => void, options?: ScreencastOptions): Promise<void>;
|
|
498
|
-
/**
|
|
499
|
-
* Stop screencast (user initiated - will not auto-restart)
|
|
500
|
-
*/
|
|
501
|
-
stopScreencast(): Promise<void>;
|
|
502
|
-
/**
|
|
503
|
-
* Internal method to stop screencast without changing the shouldBeActive flag
|
|
504
|
-
*/
|
|
505
|
-
private stopScreencastInternal;
|
|
506
|
-
/**
|
|
507
|
-
* Inject a mouse event via CDP
|
|
508
|
-
*/
|
|
509
|
-
injectMouseEvent(params: {
|
|
510
|
-
type: 'mousePressed' | 'mouseReleased' | 'mouseMoved' | 'mouseWheel';
|
|
511
|
-
x: number;
|
|
512
|
-
y: number;
|
|
513
|
-
button?: 'left' | 'right' | 'middle' | 'none';
|
|
514
|
-
clickCount?: number;
|
|
515
|
-
deltaX?: number;
|
|
516
|
-
deltaY?: number;
|
|
517
|
-
modifiers?: number;
|
|
518
|
-
}): Promise<void>;
|
|
519
|
-
/**
|
|
520
|
-
* Inject a keyboard event via CDP
|
|
521
|
-
*/
|
|
522
|
-
injectKeyboardEvent(params: {
|
|
523
|
-
type: 'keyDown' | 'keyUp' | 'rawKeyDown' | 'char';
|
|
524
|
-
key?: string;
|
|
525
|
-
code?: string;
|
|
526
|
-
text?: string;
|
|
527
|
-
modifiers?: number;
|
|
528
|
-
}): Promise<void>;
|
|
529
|
-
/**
|
|
530
|
-
* Inject touch event via CDP (for mobile emulation)
|
|
531
|
-
*/
|
|
532
|
-
injectTouchEvent(params: {
|
|
533
|
-
type: 'touchStart' | 'touchEnd' | 'touchMove' | 'touchCancel';
|
|
534
|
-
touchPoints: Array<{
|
|
535
|
-
x: number;
|
|
536
|
-
y: number;
|
|
537
|
-
id?: number;
|
|
538
|
-
}>;
|
|
539
|
-
modifiers?: number;
|
|
540
|
-
}): Promise<void>;
|
|
541
|
-
/**
|
|
542
|
-
* Insert text directly via CDP (for IME input, paste, etc.)
|
|
543
|
-
*/
|
|
544
|
-
insertText(text: string): Promise<void>;
|
|
545
|
-
private _lastFillSelector;
|
|
546
|
-
private _lastFillValue;
|
|
547
|
-
private _fillFocusedSelector;
|
|
548
|
-
fillValue(selector: string, value: string): Promise<void>;
|
|
549
|
-
clearFillState(selector?: string): void;
|
|
550
|
-
blurElement(selector: string): Promise<void>;
|
|
551
|
-
/**
|
|
552
|
-
* Press a key on the page via Playwright.
|
|
553
|
-
*/
|
|
554
|
-
pressKey(key: string): Promise<void>;
|
|
555
|
-
/**
|
|
556
|
-
* Inject focus/input/blur event listeners into the remote page.
|
|
557
|
-
* Uses Playwright exposeFunction + addInitScript so the
|
|
558
|
-
* injected script can call back to Node.js when input elements are focused.
|
|
559
|
-
*/
|
|
560
|
-
injectFocusListener(onEvent: (data: {
|
|
561
|
-
type: string;
|
|
562
|
-
[key: string]: unknown;
|
|
563
|
-
}) => void): Promise<void>;
|
|
564
|
-
/**
|
|
565
|
-
* Check if video recording is currently active
|
|
566
|
-
*/
|
|
567
|
-
isRecording(): boolean;
|
|
568
|
-
isRecordingSession(): boolean;
|
|
569
|
-
injectRecorderIfNeeded(): Promise<void>;
|
|
570
|
-
/**
|
|
571
|
-
* Whether recording is temporarily paused (e.g., during replay)
|
|
572
|
-
*/
|
|
573
|
-
recorderPaused: boolean;
|
|
574
|
-
/**
|
|
575
|
-
* Pause recording temporarily
|
|
576
|
-
*/
|
|
577
|
-
pauseRecording(): void;
|
|
578
|
-
/**
|
|
579
|
-
* Resume recording
|
|
580
|
-
*/
|
|
581
|
-
resumeRecording(): void;
|
|
582
|
-
recordStep(step: {
|
|
583
|
-
action: string;
|
|
584
|
-
index?: number;
|
|
585
|
-
key?: string;
|
|
586
|
-
code?: string;
|
|
587
|
-
ctrlKey?: boolean;
|
|
588
|
-
metaKey?: boolean;
|
|
589
|
-
altKey?: boolean;
|
|
590
|
-
shiftKey?: boolean;
|
|
591
|
-
selector?: string;
|
|
592
|
-
value?: string;
|
|
593
|
-
}): void;
|
|
594
|
-
/**
|
|
595
|
-
* Start recording to a video file using Playwright's native video recording.
|
|
596
|
-
* Creates a fresh browser context with video recording enabled.
|
|
597
|
-
* Automatically captures current URL and transfers cookies/storage if no URL provided.
|
|
598
|
-
*
|
|
599
|
-
* @param outputPath - Path to the output video file (will be .webm)
|
|
600
|
-
* @param url - Optional URL to navigate to (defaults to current page URL)
|
|
601
|
-
*/
|
|
602
|
-
startRecording(outputPath: string, url?: string): Promise<void>;
|
|
603
|
-
/**
|
|
604
|
-
* Stop recording and save the video file
|
|
605
|
-
* @returns Recording result with path
|
|
606
|
-
*/
|
|
607
|
-
stopRecording(): Promise<{
|
|
608
|
-
path: string;
|
|
609
|
-
frames: number;
|
|
610
|
-
error?: string;
|
|
611
|
-
}>;
|
|
612
|
-
/**
|
|
613
|
-
* Restart recording - stops current recording (if any) and starts a new one.
|
|
614
|
-
* Convenience method that combines stopRecording and startRecording.
|
|
615
|
-
*
|
|
616
|
-
* @param outputPath - Path to the output video file (must be .webm)
|
|
617
|
-
* @param url - Optional URL to navigate to (defaults to current page URL)
|
|
618
|
-
* @returns Result from stopping the previous recording (if any)
|
|
619
|
-
*/
|
|
620
|
-
restartRecording(outputPath: string, url?: string): Promise<{
|
|
621
|
-
previousPath?: string;
|
|
622
|
-
stopped: boolean;
|
|
623
|
-
}>;
|
|
624
|
-
private getPageIndex;
|
|
625
|
-
private getRecorderInjectScript;
|
|
626
|
-
startRecorder(url?: string, hide?: boolean): Promise<{
|
|
627
|
-
started: boolean;
|
|
628
|
-
sessionId: string;
|
|
629
|
-
}>;
|
|
630
|
-
stopRecorder(): Promise<{
|
|
631
|
-
yaml: string;
|
|
632
|
-
steps: number;
|
|
633
|
-
wasRecording?: boolean;
|
|
634
|
-
}>;
|
|
635
|
-
getRecorderStatus(): {
|
|
636
|
-
isRecording: boolean;
|
|
637
|
-
sessionId?: string;
|
|
638
|
-
steps: number;
|
|
639
|
-
};
|
|
640
|
-
private generateRecorderYaml;
|
|
641
|
-
/**
|
|
642
|
-
* Generate CLI command for a single recorder step
|
|
643
|
-
*/
|
|
644
|
-
private generateStepCliCommand;
|
|
645
|
-
/**
|
|
646
|
-
* Close the browser and clean up
|
|
647
|
-
*/
|
|
648
|
-
close(): Promise<void>;
|
|
649
|
-
}
|
|
650
|
-
export {};
|
|
651
|
-
//# sourceMappingURL=browser.d.ts.map
|
package/dist/browser.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,OAAO,EACP,KAAK,OAAO,EAEZ,KAAK,IAAI,EACT,KAAK,KAAK,EAKV,KAAK,OAAO,EACZ,KAAK,UAAU,EAIhB,MAAM,iBAAiB,CAAC;AAOzB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EACL,KAAK,MAAM,EACX,KAAK,gBAAgB,EAItB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAmB,MAAM,qBAAqB,CAAC;AAIrE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,cAAc;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,SAAS;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,gBAAgB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED,UAAU,cAAc;IACtB,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAyCD;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,mBAAmB,CAAkB;IAC7C,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,aAAa,CAAoD;IACzE,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,wBAAwB,CAAkB;IAClD,OAAO,CAAC,wBAAwB,CAAkB;IAClD,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,OAAO,CAAC,eAAe,CAA0C;IAEjE,OAAO,CAAC,eAAe,CAA6C;IACpE,OAAO,CAAC,gBAAgB,CAAwD;IAChF,OAAO,CAAC,MAAM,CAA2D;IACzE,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,0BAA0B,CAAkB;IACpD,OAAO,CAAC,UAAU,CAA4C;IAC9D,IAAI,iBAAiB,IAAI,OAAO,CAE/B;IACD,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,aAAa,CAAsC;IAC3D,OAAO,CAAC,kBAAkB,CAA2D;IACrF,OAAO,CAAC,cAAc,CAMd;IAGR,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,wBAAwB,CAAkB;IAClD,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,aAAa,CAAmD;IACxE,OAAO,CAAC,sBAAsB,CAA4D;IAC1F,OAAO,CAAC,qBAAqB,CAAkC;IAG/D,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,mBAAmB,CAAc;IACzC,OAAO,CAAC,gBAAgB,CAAc;IAGtC,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,mBAAmB,CAAmD;IAC9E,OAAO,CAAC,iBAAiB,CAAgB;IACzC,OAAO,CAAC,sBAAsB,CAAc;IAC5C,OAAO,CAAC,iBAAiB,CAAc;IACvC,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,wBAAwB,CAAkD;IAClF,OAAO,CAAC,4BAA4B,CAAkD;IAEtF;;OAEG;IACH,UAAU,IAAI,OAAO;IAOrB;;OAEG;IACG,WAAW,CAAC,OAAO,CAAC,EAAE;QAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,GAAG,CAAC,EAAE,OAAO,CAAC;KACf,GAAG,OAAO,CAAC,gBAAgB,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAgCvD;;;OAGG;IACG,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkChE;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB,gBAAgB,IAAI,aAAa;IAIjC,aAAa,CACX,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE,OAAO,GACf,IAAI;IAIP,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QACjC,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAQF,YAAY,IAAI,IAAI;IAIpB;;;;;OAKG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IA8BrE;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIhC;;OAEG;IACH,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAQ9D;;OAEG;IACH,OAAO,IAAI,IAAI;IAOf;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK;IAOnC;;;OAGG;IACH,OAAO,CAAC,cAAc;IAmDtB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAwBzB,UAAU,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAoBhE;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;IAmB3E;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAQ1B;;;OAGG;IACH,oBAAoB,CAAC,eAAe,UAAQ,GAAG,IAAI;IAuFnD;;;;OAIG;IACH,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE;IAmB7D;;OAEG;IACH,aAAa,IAAI,IAAI;IAIrB,sBAAsB,IAAI,IAAI;IAiD9B,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAQlD,eAAe,IAAI,IAAI;IAIvB;;;;;;OAMG;IACH,iBAAiB,CACf,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,GACZ;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAsFhE;;OAEG;IACG,QAAQ,CACZ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE;YACT,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SAClC,CAAC;QACF,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,GACA,OAAO,CAAC,IAAI,CAAC;IAsBhB;;OAEG;IACG,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB9C;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3F;;OAEG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAW1E;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/D;;;;;;;;;;OAUG;IACG,oBAAoB,CACxB,iBAAiB,EAAE,MAAM,EACzB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,OAAe,GACtB,OAAO,CAAC,IAAI,CAAC;IAUhB;;OAEG;IACG,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjD;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,OAAO,OAAO,CAAC,GAAG,SAAS;IAIjF;;OAEG;IACH,WAAW,IAAI,MAAM,EAAE;IAIvB;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAW5B;;OAEG;IACH,kBAAkB,IAAI,cAAc,EAAE;IAItC;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAI5B;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAU1B;;OAEG;IACH,aAAa,IAAI,SAAS,EAAE;IAI5B;;OAEG;IACH,eAAe,IAAI,IAAI;IAIvB;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxC;;OAEG;IACH,cAAc,IAAI,OAAO;IAIzB;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjD;;OAEG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrE;;;OAGG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCtF;;OAEG;IACG,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BxD;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAU1F;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9C;;OAEG;IACG,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnD;;OAEG;IACH,QAAQ,IAAI,IAAI,EAAE;IAIlB;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,UAAU,IAAI,OAAO,GAAG,IAAI;IAI5B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAa5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAazB;;OAEG;YACW,uBAAuB;IASrC;;OAEG;YACW,sBAAsB;IAepC;;OAEG;YACW,kBAAkB;IAahC;;;OAGG;YACW,oBAAoB;IA2DlC;;;OAGG;YACW,yBAAyB;IAyCvC;;;OAGG;YACW,eAAe;IA4F7B;;;OAGG;YACW,mBAAmB;IAqEjC;;;OAGG;IACG,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA+NnD;;;OAGG;YACW,aAAa;IAsF3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA4CzB;;;OAGG;YACW,oBAAoB;IA8BlC;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IA+BzD;;OAEG;IACG,SAAS,CAAC,QAAQ,CAAC,EAAE;QACzB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAkC7C;;;OAGG;YACW,oBAAoB;IAuBlC;;OAEG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAsCrF;;OAEG;IACG,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAwC9E;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAYhG;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IAa1C;;OAEG;IACH,eAAe,IAAI,OAAO;IAI1B;;;;OAIG;IACG,eAAe,CACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,EAC1C,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,IAAI,CAAC;IAoChB;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrC;;OAEG;YACW,sBAAsB;IAqBpC;;OAEG;IACG,gBAAgB,CAAC,MAAM,EAAE;QAC7B,IAAI,EAAE,cAAc,GAAG,eAAe,GAAG,YAAY,GAAG,YAAY,CAAC;QACrE,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;QAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBjB;;OAEG;IACG,mBAAmB,CAAC,MAAM,EAAE;QAChC,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,YAAY,GAAG,MAAM,CAAC;QAClD,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYjB;;OAEG;IACG,gBAAgB,CAAC,MAAM,EAAE;QAC7B,IAAI,EAAE,YAAY,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,CAAC;QAC9D,WAAW,EAAE,KAAK,CAAC;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,EAAE,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC;IAcjB;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7C,OAAO,CAAC,iBAAiB,CAAM;IAC/B,OAAO,CAAC,cAAc,CAAM;IAC5B,OAAO,CAAC,oBAAoB,CAAM;IAE5B,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4E/D,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAWjC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASlD;;OAEG;IACG,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM1C;;;;OAIG;IACG,mBAAmB,CACvB,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,KAAK,IAAI,GAChE,OAAO,CAAC,IAAI,CAAC;IAmEhB;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB,kBAAkB,IAAI,OAAO;IAIvB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB7C;;OAEG;IACH,cAAc,EAAE,OAAO,CAAS;IAEhC;;OAEG;IACH,cAAc,IAAI,IAAI;IAItB;;OAEG;IACH,eAAe,IAAI,IAAI;IAIvB,UAAU,CAAC,IAAI,EAAE;QACf,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,IAAI;IAmBR;;;;;;;OAOG;IACG,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuGrE;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAuEhF;;;;;;;OAOG;IACG,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAmBvD,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,uBAAuB;IAezB,aAAa,CACjB,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,GAAE,OAAe,GACpB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IA6W7C,YAAY,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IA2FtF,iBAAiB,IAAI;QAAE,WAAW,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAQhF,OAAO,CAAC,oBAAoB;IA8I5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAgK9B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CA+I7B"}
|