erosolar-cli 1.5.15 → 1.6.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/dist/browser/BrowserSessionManager.d.ts +307 -0
- package/dist/browser/BrowserSessionManager.d.ts.map +1 -0
- package/dist/browser/BrowserSessionManager.js +713 -0
- package/dist/browser/BrowserSessionManager.js.map +1 -0
- package/dist/capabilities/browserAutomationCapability.d.ts +37 -0
- package/dist/capabilities/browserAutomationCapability.d.ts.map +1 -0
- package/dist/capabilities/browserAutomationCapability.js +49 -0
- package/dist/capabilities/browserAutomationCapability.js.map +1 -0
- package/dist/capabilities/index.d.ts +1 -0
- package/dist/capabilities/index.d.ts.map +1 -1
- package/dist/capabilities/index.js +1 -0
- package/dist/capabilities/index.js.map +1 -1
- package/dist/plugins/tools/browser/browserAutomationPlugin.d.ts +14 -0
- package/dist/plugins/tools/browser/browserAutomationPlugin.d.ts.map +1 -0
- package/dist/plugins/tools/browser/browserAutomationPlugin.js +26 -0
- package/dist/plugins/tools/browser/browserAutomationPlugin.js.map +1 -0
- package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -1
- package/dist/plugins/tools/nodeDefaults.js +2 -0
- package/dist/plugins/tools/nodeDefaults.js.map +1 -1
- package/dist/tools/browserAutomationTools.d.ts +23 -0
- package/dist/tools/browserAutomationTools.d.ts.map +1 -0
- package/dist/tools/browserAutomationTools.js +908 -0
- package/dist/tools/browserAutomationTools.js.map +1 -0
- package/package.json +4 -1
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser Session Manager - Manages browser instances, sessions, cookies, and authentication
|
|
3
|
+
*
|
|
4
|
+
* Provides browser-use-like functionality for AI agents:
|
|
5
|
+
* - Persistent browser sessions with cookie management
|
|
6
|
+
* - Authentication state persistence
|
|
7
|
+
* - Multi-profile support
|
|
8
|
+
* - Session recovery and cleanup
|
|
9
|
+
*
|
|
10
|
+
* @license MIT
|
|
11
|
+
* @author Bo Shang
|
|
12
|
+
*/
|
|
13
|
+
import { Browser, BrowserContext, Page } from 'playwright';
|
|
14
|
+
export interface SessionConfig {
|
|
15
|
+
/** Session identifier */
|
|
16
|
+
sessionId: string;
|
|
17
|
+
/** Browser type to use */
|
|
18
|
+
browserType?: 'chromium' | 'firefox' | 'webkit';
|
|
19
|
+
/** Run in headless mode */
|
|
20
|
+
headless?: boolean;
|
|
21
|
+
/** User agent string */
|
|
22
|
+
userAgent?: string;
|
|
23
|
+
/** Viewport size */
|
|
24
|
+
viewport?: {
|
|
25
|
+
width: number;
|
|
26
|
+
height: number;
|
|
27
|
+
};
|
|
28
|
+
/** Load existing profile */
|
|
29
|
+
profilePath?: string;
|
|
30
|
+
/** Enable stealth mode (anti-detection) */
|
|
31
|
+
stealthMode?: boolean;
|
|
32
|
+
/** Proxy configuration */
|
|
33
|
+
proxy?: {
|
|
34
|
+
server: string;
|
|
35
|
+
username?: string;
|
|
36
|
+
password?: string;
|
|
37
|
+
};
|
|
38
|
+
/** Session timeout in milliseconds */
|
|
39
|
+
timeout?: number;
|
|
40
|
+
}
|
|
41
|
+
export interface AuthConfig {
|
|
42
|
+
/** Authentication type */
|
|
43
|
+
type: 'basic' | 'form' | 'oauth' | 'cookie' | 'token';
|
|
44
|
+
/** Credentials */
|
|
45
|
+
credentials?: {
|
|
46
|
+
username?: string;
|
|
47
|
+
password?: string;
|
|
48
|
+
token?: string;
|
|
49
|
+
};
|
|
50
|
+
/** Form selectors for form-based auth */
|
|
51
|
+
formSelectors?: {
|
|
52
|
+
usernameField: string;
|
|
53
|
+
passwordField: string;
|
|
54
|
+
submitButton: string;
|
|
55
|
+
};
|
|
56
|
+
/** Login URL */
|
|
57
|
+
loginUrl?: string;
|
|
58
|
+
/** URL to verify successful login */
|
|
59
|
+
successUrl?: string;
|
|
60
|
+
/** Selector that indicates successful login */
|
|
61
|
+
successSelector?: string;
|
|
62
|
+
}
|
|
63
|
+
export interface SessionState {
|
|
64
|
+
sessionId: string;
|
|
65
|
+
browserType: string;
|
|
66
|
+
isActive: boolean;
|
|
67
|
+
createdAt: number;
|
|
68
|
+
lastAccessedAt: number;
|
|
69
|
+
currentUrl?: string;
|
|
70
|
+
isAuthenticated: boolean;
|
|
71
|
+
authDomain?: string;
|
|
72
|
+
cookies: SerializedCookie[];
|
|
73
|
+
localStorage?: Record<string, string>;
|
|
74
|
+
}
|
|
75
|
+
interface SerializedCookie {
|
|
76
|
+
name: string;
|
|
77
|
+
value: string;
|
|
78
|
+
domain: string;
|
|
79
|
+
path: string;
|
|
80
|
+
expires?: number;
|
|
81
|
+
httpOnly?: boolean;
|
|
82
|
+
secure?: boolean;
|
|
83
|
+
sameSite?: 'Strict' | 'Lax' | 'None';
|
|
84
|
+
}
|
|
85
|
+
interface ActiveSession {
|
|
86
|
+
config: SessionConfig;
|
|
87
|
+
browser: Browser;
|
|
88
|
+
context: BrowserContext;
|
|
89
|
+
page: Page;
|
|
90
|
+
state: SessionState;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Browser Session Manager
|
|
94
|
+
* Manages browser instances, sessions, and authentication state
|
|
95
|
+
*/
|
|
96
|
+
export declare class BrowserSessionManager {
|
|
97
|
+
private sessions;
|
|
98
|
+
private storageDir;
|
|
99
|
+
constructor(storageDir?: string);
|
|
100
|
+
private ensureStorageDir;
|
|
101
|
+
/**
|
|
102
|
+
* Create a new browser session
|
|
103
|
+
*/
|
|
104
|
+
createSession(config: SessionConfig): Promise<string>;
|
|
105
|
+
/**
|
|
106
|
+
* Apply stealth scripts to avoid bot detection
|
|
107
|
+
*/
|
|
108
|
+
private applyStealthScripts;
|
|
109
|
+
/**
|
|
110
|
+
* Get an active session
|
|
111
|
+
*/
|
|
112
|
+
getSession(sessionId: string): ActiveSession | undefined;
|
|
113
|
+
/**
|
|
114
|
+
* Get the page for a session
|
|
115
|
+
*/
|
|
116
|
+
getPage(sessionId: string): Page | undefined;
|
|
117
|
+
/**
|
|
118
|
+
* Navigate to a URL
|
|
119
|
+
*/
|
|
120
|
+
navigateTo(sessionId: string, url: string, options?: {
|
|
121
|
+
waitUntil?: 'load' | 'domcontentloaded' | 'networkidle';
|
|
122
|
+
}): Promise<{
|
|
123
|
+
success: boolean;
|
|
124
|
+
url: string;
|
|
125
|
+
title: string;
|
|
126
|
+
error?: string;
|
|
127
|
+
}>;
|
|
128
|
+
/**
|
|
129
|
+
* Perform authentication
|
|
130
|
+
*/
|
|
131
|
+
authenticate(sessionId: string, authConfig: AuthConfig): Promise<{
|
|
132
|
+
success: boolean;
|
|
133
|
+
message: string;
|
|
134
|
+
}>;
|
|
135
|
+
/**
|
|
136
|
+
* Perform form-based authentication
|
|
137
|
+
*/
|
|
138
|
+
private performFormAuth;
|
|
139
|
+
/**
|
|
140
|
+
* Perform basic HTTP authentication
|
|
141
|
+
*/
|
|
142
|
+
private performBasicAuth;
|
|
143
|
+
/**
|
|
144
|
+
* Perform cookie-based authentication
|
|
145
|
+
*/
|
|
146
|
+
private performCookieAuth;
|
|
147
|
+
/**
|
|
148
|
+
* Perform token-based authentication
|
|
149
|
+
*/
|
|
150
|
+
private performTokenAuth;
|
|
151
|
+
/**
|
|
152
|
+
* Save cookies for a session
|
|
153
|
+
*/
|
|
154
|
+
saveCookies(session: ActiveSession): Promise<void>;
|
|
155
|
+
/**
|
|
156
|
+
* Save session state to disk
|
|
157
|
+
*/
|
|
158
|
+
private saveSessionState;
|
|
159
|
+
/**
|
|
160
|
+
* Load session state from disk
|
|
161
|
+
*/
|
|
162
|
+
private loadSessionState;
|
|
163
|
+
/**
|
|
164
|
+
* Take a screenshot
|
|
165
|
+
*/
|
|
166
|
+
takeScreenshot(sessionId: string, options?: {
|
|
167
|
+
fullPage?: boolean;
|
|
168
|
+
path?: string;
|
|
169
|
+
}): Promise<{
|
|
170
|
+
success: boolean;
|
|
171
|
+
data?: string;
|
|
172
|
+
path?: string;
|
|
173
|
+
error?: string;
|
|
174
|
+
}>;
|
|
175
|
+
/**
|
|
176
|
+
* Click on an element
|
|
177
|
+
*/
|
|
178
|
+
click(sessionId: string, selector: string, options?: {
|
|
179
|
+
timeout?: number;
|
|
180
|
+
force?: boolean;
|
|
181
|
+
}): Promise<{
|
|
182
|
+
success: boolean;
|
|
183
|
+
error?: string;
|
|
184
|
+
}>;
|
|
185
|
+
/**
|
|
186
|
+
* Type text into an element
|
|
187
|
+
*/
|
|
188
|
+
type(sessionId: string, selector: string, text: string, options?: {
|
|
189
|
+
delay?: number;
|
|
190
|
+
clear?: boolean;
|
|
191
|
+
}): Promise<{
|
|
192
|
+
success: boolean;
|
|
193
|
+
error?: string;
|
|
194
|
+
}>;
|
|
195
|
+
/**
|
|
196
|
+
* Fill an input field (faster than type)
|
|
197
|
+
*/
|
|
198
|
+
fill(sessionId: string, selector: string, value: string): Promise<{
|
|
199
|
+
success: boolean;
|
|
200
|
+
error?: string;
|
|
201
|
+
}>;
|
|
202
|
+
/**
|
|
203
|
+
* Get text content of an element
|
|
204
|
+
*/
|
|
205
|
+
getText(sessionId: string, selector: string): Promise<{
|
|
206
|
+
success: boolean;
|
|
207
|
+
text?: string;
|
|
208
|
+
error?: string;
|
|
209
|
+
}>;
|
|
210
|
+
/**
|
|
211
|
+
* Get page HTML content
|
|
212
|
+
*/
|
|
213
|
+
getPageContent(sessionId: string): Promise<{
|
|
214
|
+
success: boolean;
|
|
215
|
+
html?: string;
|
|
216
|
+
error?: string;
|
|
217
|
+
}>;
|
|
218
|
+
/**
|
|
219
|
+
* Wait for a selector to appear
|
|
220
|
+
*/
|
|
221
|
+
waitForSelector(sessionId: string, selector: string, options?: {
|
|
222
|
+
timeout?: number;
|
|
223
|
+
state?: 'attached' | 'visible' | 'hidden';
|
|
224
|
+
}): Promise<{
|
|
225
|
+
success: boolean;
|
|
226
|
+
error?: string;
|
|
227
|
+
}>;
|
|
228
|
+
/**
|
|
229
|
+
* Execute JavaScript in the page context
|
|
230
|
+
*/
|
|
231
|
+
executeScript<T>(sessionId: string, script: string, args?: any[]): Promise<{
|
|
232
|
+
success: boolean;
|
|
233
|
+
result?: T;
|
|
234
|
+
error?: string;
|
|
235
|
+
}>;
|
|
236
|
+
/**
|
|
237
|
+
* Select an option from a dropdown
|
|
238
|
+
*/
|
|
239
|
+
selectOption(sessionId: string, selector: string, value: string | string[]): Promise<{
|
|
240
|
+
success: boolean;
|
|
241
|
+
error?: string;
|
|
242
|
+
}>;
|
|
243
|
+
/**
|
|
244
|
+
* Check/uncheck a checkbox
|
|
245
|
+
*/
|
|
246
|
+
setChecked(sessionId: string, selector: string, checked: boolean): Promise<{
|
|
247
|
+
success: boolean;
|
|
248
|
+
error?: string;
|
|
249
|
+
}>;
|
|
250
|
+
/**
|
|
251
|
+
* Upload a file
|
|
252
|
+
*/
|
|
253
|
+
uploadFile(sessionId: string, selector: string, filePath: string | string[]): Promise<{
|
|
254
|
+
success: boolean;
|
|
255
|
+
error?: string;
|
|
256
|
+
}>;
|
|
257
|
+
/**
|
|
258
|
+
* Get all cookies for the session
|
|
259
|
+
*/
|
|
260
|
+
getCookies(sessionId: string, urls?: string[]): Promise<{
|
|
261
|
+
success: boolean;
|
|
262
|
+
cookies?: SerializedCookie[];
|
|
263
|
+
error?: string;
|
|
264
|
+
}>;
|
|
265
|
+
/**
|
|
266
|
+
* Add cookies to the session
|
|
267
|
+
*/
|
|
268
|
+
addCookies(sessionId: string, cookies: SerializedCookie[]): Promise<{
|
|
269
|
+
success: boolean;
|
|
270
|
+
error?: string;
|
|
271
|
+
}>;
|
|
272
|
+
/**
|
|
273
|
+
* Clear cookies for the session
|
|
274
|
+
*/
|
|
275
|
+
clearCookies(sessionId: string): Promise<{
|
|
276
|
+
success: boolean;
|
|
277
|
+
error?: string;
|
|
278
|
+
}>;
|
|
279
|
+
/**
|
|
280
|
+
* Close a session
|
|
281
|
+
*/
|
|
282
|
+
closeSession(sessionId: string, saveCookies?: boolean): Promise<void>;
|
|
283
|
+
/**
|
|
284
|
+
* Close all sessions
|
|
285
|
+
*/
|
|
286
|
+
closeAllSessions(): Promise<void>;
|
|
287
|
+
/**
|
|
288
|
+
* List all stored sessions
|
|
289
|
+
*/
|
|
290
|
+
listStoredSessions(): string[];
|
|
291
|
+
/**
|
|
292
|
+
* Delete stored session data
|
|
293
|
+
*/
|
|
294
|
+
deleteStoredSession(sessionId: string): boolean;
|
|
295
|
+
/**
|
|
296
|
+
* Get session info
|
|
297
|
+
*/
|
|
298
|
+
getSessionInfo(sessionId: string): SessionState | null;
|
|
299
|
+
/**
|
|
300
|
+
* Check if session is authenticated
|
|
301
|
+
*/
|
|
302
|
+
isAuthenticated(sessionId: string): boolean;
|
|
303
|
+
}
|
|
304
|
+
export declare function getDefaultBrowserSessionManager(): BrowserSessionManager;
|
|
305
|
+
export declare function createBrowserSessionManager(storageDir?: string): BrowserSessionManager;
|
|
306
|
+
export {};
|
|
307
|
+
//# sourceMappingURL=BrowserSessionManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrowserSessionManager.d.ts","sourceRoot":"","sources":["../../src/browser/BrowserSessionManager.ts"],"names":[],"mappings":"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"}
|