@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.
Files changed (245) hide show
  1. package/bin/agent-browser-darwin-arm64 +0 -0
  2. package/dist/__tests__/e2e/utils/test-helpers.d.ts +2 -2
  3. package/dist/__tests__/e2e/utils/test-helpers.d.ts.map +1 -1
  4. package/dist/__tests__/e2e/utils/test-helpers.js +6 -4
  5. package/dist/__tests__/e2e/utils/test-helpers.js.map +1 -1
  6. package/dist/actions/advanced.d.ts +73 -0
  7. package/dist/actions/advanced.d.ts.map +1 -0
  8. package/dist/actions/advanced.js +390 -0
  9. package/dist/actions/advanced.js.map +1 -0
  10. package/dist/actions/context.d.ts +36 -0
  11. package/dist/actions/context.d.ts.map +1 -0
  12. package/dist/actions/context.js +164 -0
  13. package/dist/actions/context.js.map +1 -0
  14. package/dist/actions/crawl.d.ts +8 -0
  15. package/dist/actions/crawl.d.ts.map +1 -0
  16. package/dist/actions/crawl.js +290 -0
  17. package/dist/actions/crawl.js.map +1 -0
  18. package/dist/actions/elements.d.ts +11 -0
  19. package/dist/actions/elements.d.ts.map +1 -0
  20. package/dist/actions/elements.js +78 -0
  21. package/dist/actions/elements.js.map +1 -0
  22. package/dist/actions/flow.d.ts +4 -0
  23. package/dist/actions/flow.d.ts.map +1 -0
  24. package/dist/actions/flow.js +170 -0
  25. package/dist/actions/flow.js.map +1 -0
  26. package/dist/actions/index.d.ts +7 -0
  27. package/dist/actions/index.d.ts.map +1 -0
  28. package/dist/actions/index.js +323 -0
  29. package/dist/actions/index.js.map +1 -0
  30. package/dist/actions/interact.d.ts +4 -0
  31. package/dist/actions/interact.d.ts.map +1 -0
  32. package/dist/actions/interact.js +162 -0
  33. package/dist/actions/interact.js.map +1 -0
  34. package/dist/actions/interaction.d.ts +31 -0
  35. package/dist/actions/interaction.d.ts.map +1 -0
  36. package/dist/actions/interaction.js +477 -0
  37. package/dist/actions/interaction.js.map +1 -0
  38. package/dist/actions/locators.d.ts +14 -0
  39. package/dist/actions/locators.d.ts.map +1 -0
  40. package/dist/actions/locators.js +310 -0
  41. package/dist/actions/locators.js.map +1 -0
  42. package/dist/actions/map.d.ts +4 -0
  43. package/dist/actions/map.d.ts.map +1 -0
  44. package/dist/actions/map.js +79 -0
  45. package/dist/actions/map.js.map +1 -0
  46. package/dist/actions/meta.d.ts +44 -0
  47. package/dist/actions/meta.d.ts.map +1 -0
  48. package/dist/actions/meta.js +190 -0
  49. package/dist/actions/meta.js.map +1 -0
  50. package/dist/actions/mouse.d.ts +8 -0
  51. package/dist/actions/mouse.d.ts.map +1 -0
  52. package/dist/actions/mouse.js +52 -0
  53. package/dist/actions/mouse.js.map +1 -0
  54. package/dist/actions/recorder.d.ts +20 -0
  55. package/dist/actions/recorder.d.ts.map +1 -0
  56. package/dist/actions/recorder.js +231 -0
  57. package/dist/actions/recorder.js.map +1 -0
  58. package/dist/actions/recording.d.ts +6 -0
  59. package/dist/actions/recording.d.ts.map +1 -0
  60. package/dist/actions/recording.js +22 -0
  61. package/dist/actions/recording.js.map +1 -0
  62. package/dist/actions/scrape.d.ts +10 -0
  63. package/dist/actions/scrape.d.ts.map +1 -0
  64. package/dist/actions/scrape.js +39 -0
  65. package/dist/actions/scrape.js.map +1 -0
  66. package/dist/actions/screencast.d.ts +8 -0
  67. package/dist/actions/screencast.d.ts.map +1 -0
  68. package/dist/actions/screencast.js +56 -0
  69. package/dist/actions/screencast.js.map +1 -0
  70. package/dist/actions/search.d.ts +4 -0
  71. package/dist/actions/search.d.ts.map +1 -0
  72. package/dist/actions/search.js +129 -0
  73. package/dist/actions/search.js.map +1 -0
  74. package/dist/actions/storage.d.ts +14 -0
  75. package/dist/actions/storage.d.ts.map +1 -0
  76. package/dist/actions/storage.js +63 -0
  77. package/dist/actions/storage.js.map +1 -0
  78. package/dist/actions/tabs.d.ts +16 -0
  79. package/dist/actions/tabs.d.ts.map +1 -0
  80. package/dist/actions/tabs.js +47 -0
  81. package/dist/actions/tabs.js.map +1 -0
  82. package/dist/actions/utils.d.ts +15 -0
  83. package/dist/actions/utils.d.ts.map +1 -0
  84. package/dist/actions/utils.js +234 -0
  85. package/dist/actions/utils.js.map +1 -0
  86. package/dist/browser/browser-manager.d.ts +249 -0
  87. package/dist/browser/browser-manager.d.ts.map +1 -0
  88. package/dist/browser/browser-manager.js +1251 -0
  89. package/dist/browser/browser-manager.js.map +1 -0
  90. package/dist/browser/index.d.ts +3 -0
  91. package/dist/browser/index.d.ts.map +1 -0
  92. package/dist/browser/index.js +2 -0
  93. package/dist/browser/index.js.map +1 -0
  94. package/dist/browser/network-tracker.d.ts +39 -0
  95. package/dist/browser/network-tracker.d.ts.map +1 -0
  96. package/dist/browser/network-tracker.js +287 -0
  97. package/dist/browser/network-tracker.js.map +1 -0
  98. package/dist/browser/providers.d.ts +27 -0
  99. package/dist/browser/providers.d.ts.map +1 -0
  100. package/dist/browser/providers.js +293 -0
  101. package/dist/browser/providers.js.map +1 -0
  102. package/dist/browser/recorder-manager.d.ts +69 -0
  103. package/dist/browser/recorder-manager.d.ts.map +1 -0
  104. package/dist/browser/recorder-manager.js +755 -0
  105. package/dist/browser/recorder-manager.js.map +1 -0
  106. package/dist/browser/recording-manager.d.ts +46 -0
  107. package/dist/browser/recording-manager.d.ts.map +1 -0
  108. package/dist/browser/recording-manager.js +156 -0
  109. package/dist/browser/recording-manager.js.map +1 -0
  110. package/dist/browser/screencast-manager.d.ts +49 -0
  111. package/dist/browser/screencast-manager.d.ts.map +1 -0
  112. package/dist/browser/screencast-manager.js +131 -0
  113. package/dist/browser/screencast-manager.js.map +1 -0
  114. package/dist/browser/types.d.ts +101 -0
  115. package/dist/browser/types.d.ts.map +1 -0
  116. package/dist/browser/types.js +2 -0
  117. package/dist/browser/types.js.map +1 -0
  118. package/dist/browser-events.d.ts +25 -0
  119. package/dist/browser-events.d.ts.map +1 -0
  120. package/dist/browser-events.js +15 -0
  121. package/dist/browser-events.js.map +1 -0
  122. package/dist/cli/commands.d.ts.map +1 -1
  123. package/dist/cli/commands.js +145 -1
  124. package/dist/cli/commands.js.map +1 -1
  125. package/dist/cli/connection.d.ts.map +1 -1
  126. package/dist/cli/connection.js +15 -22
  127. package/dist/cli/connection.js.map +1 -1
  128. package/dist/cli/flags.d.ts +1 -0
  129. package/dist/cli/flags.d.ts.map +1 -1
  130. package/dist/cli/flags.js +8 -0
  131. package/dist/cli/flags.js.map +1 -1
  132. package/dist/cli/help.d.ts.map +1 -1
  133. package/dist/cli/help.js +204 -4
  134. package/dist/cli/help.js.map +1 -1
  135. package/dist/cli/output.d.ts.map +1 -1
  136. package/dist/cli/output.js +72 -0
  137. package/dist/cli/output.js.map +1 -1
  138. package/dist/cli.js +149 -14
  139. package/dist/cli.js.map +1 -1
  140. package/dist/daemon.d.ts +1 -1
  141. package/dist/daemon.d.ts.map +1 -1
  142. package/dist/daemon.js +12 -13
  143. package/dist/daemon.js.map +1 -1
  144. package/dist/flow/exporters/playwright.d.ts +23 -1
  145. package/dist/flow/exporters/playwright.d.ts.map +1 -1
  146. package/dist/flow/exporters/playwright.js +333 -85
  147. package/dist/flow/exporters/playwright.js.map +1 -1
  148. package/dist/flow/exporters/python.d.ts +22 -0
  149. package/dist/flow/exporters/python.d.ts.map +1 -1
  150. package/dist/flow/exporters/python.js +325 -74
  151. package/dist/flow/exporters/python.js.map +1 -1
  152. package/dist/flow/exporters/selenium.d.ts.map +1 -1
  153. package/dist/flow/exporters/selenium.js +0 -1
  154. package/dist/flow/exporters/selenium.js.map +1 -1
  155. package/dist/flow/flow-executor.d.ts +1 -1
  156. package/dist/flow/flow-executor.d.ts.map +1 -1
  157. package/dist/flow/flow-executor.js +11 -11
  158. package/dist/flow/flow-executor.js.map +1 -1
  159. package/dist/flow/output.js.map +1 -1
  160. package/dist/flow/plugin-system.d.ts +1 -1
  161. package/dist/flow/plugin-system.d.ts.map +1 -1
  162. package/dist/flow/plugin-system.js +2 -2
  163. package/dist/flow/plugin-system.js.map +1 -1
  164. package/dist/flow/plugins/logging-plugin.js +1 -1
  165. package/dist/flow/plugins/logging-plugin.js.map +1 -1
  166. package/dist/flow/presets/console-capture.js +50 -0
  167. package/dist/flow/presets/fetch-capture.js +107 -0
  168. package/dist/flow/presets/sse-stream.js +85 -0
  169. package/dist/flow/presets/xhr-only.js +44 -0
  170. package/dist/flow/recorder-to-flow.d.ts.map +1 -1
  171. package/dist/flow/recorder-to-flow.js +1 -3
  172. package/dist/flow/recorder-to-flow.js.map +1 -1
  173. package/dist/flow/site-manager.d.ts.map +1 -1
  174. package/dist/flow/site-manager.js +6 -2
  175. package/dist/flow/site-manager.js.map +1 -1
  176. package/dist/human-mouse.d.ts +1 -1
  177. package/dist/human-mouse.d.ts.map +1 -1
  178. package/dist/human-mouse.js +2 -2
  179. package/dist/human-mouse.js.map +1 -1
  180. package/dist/protocol.d.ts.map +1 -1
  181. package/dist/protocol.js +91 -1
  182. package/dist/protocol.js.map +1 -1
  183. package/dist/rc-config.js +4 -4
  184. package/dist/rc-config.js.map +1 -1
  185. package/dist/recorder/inject.js +31 -5
  186. package/dist/snapshot.d.ts.map +1 -1
  187. package/dist/snapshot.js +3 -4
  188. package/dist/snapshot.js.map +1 -1
  189. package/dist/stream-server-standalone.d.ts +1 -1
  190. package/dist/stream-server-standalone.d.ts.map +1 -1
  191. package/dist/stream-server-standalone.js +42 -23
  192. package/dist/stream-server-standalone.js.map +1 -1
  193. package/dist/stream-server.d.ts +1 -1
  194. package/dist/stream-server.d.ts.map +1 -1
  195. package/dist/stream-server.js +26 -21
  196. package/dist/stream-server.js.map +1 -1
  197. package/dist/test-live.js +9 -3
  198. package/dist/test-live.js.map +1 -1
  199. package/dist/types.d.ts +123 -2
  200. package/dist/types.d.ts.map +1 -1
  201. package/dist/types.js.map +1 -1
  202. package/package.json +4 -3
  203. package/scripts/README.md +66 -0
  204. package/scripts/check_goods_container.js +35 -0
  205. package/scripts/check_page_content.js +36 -0
  206. package/scripts/click_applause_rate.js +30 -0
  207. package/scripts/copy-flow-presets.js +25 -0
  208. package/scripts/douyin-flow-test.sh +72 -0
  209. package/scripts/douyin-test.sh +101 -0
  210. package/scripts/explore_jd_page.js +31 -0
  211. package/scripts/extract_all_jd_data.js +80 -0
  212. package/scripts/extract_jd_product_detail.js +62 -0
  213. package/scripts/extract_jd_products_correct_links.js +78 -0
  214. package/scripts/extract_jd_products_final.js +80 -0
  215. package/scripts/extract_jd_reviews.js +48 -0
  216. package/scripts/extract_jd_seafood_final.js +78 -0
  217. package/scripts/extract_multiple_products.js +77 -0
  218. package/scripts/extract_products_no_scroll.js +68 -0
  219. package/scripts/extract_products_simple.js +68 -0
  220. package/scripts/find_applause_rate.js +26 -0
  221. package/scripts/find_jd_links.js +28 -0
  222. package/scripts/find_main_content.js +20 -0
  223. package/scripts/find_product_cards.js +38 -0
  224. package/scripts/find_root_content.js +26 -0
  225. package/scripts/find_unique_products.js +55 -0
  226. package/scripts/get_jd_product_detail.js +16 -0
  227. package/scripts/get_jd_products.js +23 -0
  228. package/scripts/get_jd_seafood_products.js +44 -0
  229. package/scripts/get_product_details_from_images.js +54 -0
  230. package/scripts/verify-form.sh +67 -0
  231. package/scripts/verify-login.sh +65 -0
  232. package/scripts/verify-recording.sh +80 -0
  233. package/scripts/verify-upload.sh +41 -0
  234. package/bin/agent-browser-darwin-x64 +0 -0
  235. package/bin/agent-browser-linux-arm64 +0 -0
  236. package/bin/agent-browser-linux-x64 +0 -0
  237. package/bin/agent-browser-win32-x64.exe +0 -0
  238. package/dist/actions.d.ts +0 -51
  239. package/dist/actions.d.ts.map +0 -1
  240. package/dist/actions.js +0 -2662
  241. package/dist/actions.js.map +0 -1
  242. package/dist/browser.d.ts +0 -651
  243. package/dist/browser.d.ts.map +0 -1
  244. package/dist/browser.js +0 -3088
  245. 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
@@ -1 +0,0 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}