@relayflows/browser-primitive 0.1.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/DESIGN.md +778 -0
- package/dist/actions/extraction.d.ts +6 -0
- package/dist/actions/extraction.d.ts.map +1 -0
- package/dist/actions/extraction.js +91 -0
- package/dist/actions/extraction.js.map +1 -0
- package/dist/actions/interaction.d.ts +17 -0
- package/dist/actions/interaction.d.ts.map +1 -0
- package/dist/actions/interaction.js +159 -0
- package/dist/actions/interaction.js.map +1 -0
- package/dist/actions/navigation.d.ts +6 -0
- package/dist/actions/navigation.d.ts.map +1 -0
- package/dist/actions/navigation.js +37 -0
- package/dist/actions/navigation.js.map +1 -0
- package/dist/actions/script.d.ts +3 -0
- package/dist/actions/script.d.ts.map +1 -0
- package/dist/actions/script.js +35 -0
- package/dist/actions/script.js.map +1 -0
- package/dist/actions/waits.d.ts +5 -0
- package/dist/actions/waits.d.ts.map +1 -0
- package/dist/actions/waits.js +52 -0
- package/dist/actions/waits.js.map +1 -0
- package/dist/browser-client.d.ts +41 -0
- package/dist/browser-client.d.ts.map +1 -0
- package/dist/browser-client.js +435 -0
- package/dist/browser-client.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp-server.d.ts +88 -0
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/mcp-server.js +406 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/types.d.ts +364 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +52 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
import type { Browser as PlaywrightBrowser, BrowserContext, Cookie, Locator, Page } from 'playwright';
|
|
2
|
+
export type BrowserEngine = 'chromium' | 'firefox' | 'webkit';
|
|
3
|
+
export type LoadState = 'load' | 'domcontentloaded' | 'networkidle' | 'commit';
|
|
4
|
+
export type WaitForSelectorState = 'attached' | 'detached' | 'visible' | 'hidden';
|
|
5
|
+
export interface ViewportSize {
|
|
6
|
+
width: number;
|
|
7
|
+
height: number;
|
|
8
|
+
}
|
|
9
|
+
export interface BrowserConfig {
|
|
10
|
+
/** Browser engine to use. Defaults to chromium. */
|
|
11
|
+
browser?: BrowserEngine;
|
|
12
|
+
/** Run in headless mode. Defaults to true. */
|
|
13
|
+
headless?: boolean;
|
|
14
|
+
/** Browser viewport dimensions. Defaults to 1280x720. */
|
|
15
|
+
viewport?: ViewportSize;
|
|
16
|
+
/** Default action and navigation timeout in milliseconds. Defaults to 30000. */
|
|
17
|
+
timeout?: number;
|
|
18
|
+
/** Custom user agent string for new contexts. */
|
|
19
|
+
userAgent?: string;
|
|
20
|
+
/** Extra HTTP headers to send with every request. */
|
|
21
|
+
extraHTTPHeaders?: Record<string, string>;
|
|
22
|
+
/** Extra browser launch arguments. */
|
|
23
|
+
args?: string[];
|
|
24
|
+
/** Capture console messages from the page. Defaults to true. */
|
|
25
|
+
captureConsole?: boolean;
|
|
26
|
+
/** Capture response metadata from the page. Defaults to false. */
|
|
27
|
+
captureNetwork?: boolean;
|
|
28
|
+
/** Keep the browser session open between actions. Defaults to true. */
|
|
29
|
+
persistSession?: boolean;
|
|
30
|
+
/** Capture a screenshot when an action fails. Defaults to false. */
|
|
31
|
+
screenshotOnError?: boolean;
|
|
32
|
+
}
|
|
33
|
+
export interface ElementSelectorObject {
|
|
34
|
+
/** Selector passed to Playwright's locator API. */
|
|
35
|
+
selector: string;
|
|
36
|
+
/** Optional frame selector resolved with frameLocator before locating the element. */
|
|
37
|
+
frame?: string;
|
|
38
|
+
/** Optional text filter applied to the locator. */
|
|
39
|
+
hasText?: string | RegExp;
|
|
40
|
+
/** Optional zero-based match index. */
|
|
41
|
+
index?: number;
|
|
42
|
+
/** Set false to use the first matching element instead of Playwright strict matching. */
|
|
43
|
+
strict?: boolean;
|
|
44
|
+
/** Default wait state for this selector. */
|
|
45
|
+
state?: WaitForSelectorState;
|
|
46
|
+
/** Selector-specific timeout in milliseconds. */
|
|
47
|
+
timeout?: number;
|
|
48
|
+
}
|
|
49
|
+
export type ElementSelector = string | ElementSelectorObject;
|
|
50
|
+
export interface WaitForSelectorOptions {
|
|
51
|
+
state?: WaitForSelectorState;
|
|
52
|
+
timeout?: number;
|
|
53
|
+
}
|
|
54
|
+
export interface GotoParams {
|
|
55
|
+
url: string;
|
|
56
|
+
waitUntil?: LoadState;
|
|
57
|
+
timeout?: number;
|
|
58
|
+
referer?: string;
|
|
59
|
+
}
|
|
60
|
+
export interface HistoryNavigationParams {
|
|
61
|
+
waitUntil?: LoadState;
|
|
62
|
+
timeout?: number;
|
|
63
|
+
}
|
|
64
|
+
export type ReloadParams = HistoryNavigationParams;
|
|
65
|
+
export interface ClickParams {
|
|
66
|
+
selector: ElementSelector;
|
|
67
|
+
waitFor?: boolean | WaitForSelectorOptions;
|
|
68
|
+
button?: 'left' | 'right' | 'middle';
|
|
69
|
+
clickCount?: number;
|
|
70
|
+
delay?: number;
|
|
71
|
+
timeout?: number;
|
|
72
|
+
force?: boolean;
|
|
73
|
+
noWaitAfter?: boolean;
|
|
74
|
+
position?: {
|
|
75
|
+
x: number;
|
|
76
|
+
y: number;
|
|
77
|
+
};
|
|
78
|
+
modifiers?: Array<'Alt' | 'Control' | 'Meta' | 'Shift'>;
|
|
79
|
+
trial?: boolean;
|
|
80
|
+
}
|
|
81
|
+
export interface FillParams {
|
|
82
|
+
selector: ElementSelector;
|
|
83
|
+
value: string;
|
|
84
|
+
waitFor?: boolean | WaitForSelectorOptions;
|
|
85
|
+
timeout?: number;
|
|
86
|
+
force?: boolean;
|
|
87
|
+
/** Defaults to true. When false, text is typed at the current cursor position. */
|
|
88
|
+
clear?: boolean;
|
|
89
|
+
}
|
|
90
|
+
export interface CheckParams {
|
|
91
|
+
selector: ElementSelector;
|
|
92
|
+
checked?: boolean;
|
|
93
|
+
waitFor?: boolean | WaitForSelectorOptions;
|
|
94
|
+
timeout?: number;
|
|
95
|
+
force?: boolean;
|
|
96
|
+
noWaitAfter?: boolean;
|
|
97
|
+
trial?: boolean;
|
|
98
|
+
}
|
|
99
|
+
export interface SelectParams {
|
|
100
|
+
selector: ElementSelector;
|
|
101
|
+
values: string | string[];
|
|
102
|
+
waitFor?: boolean | WaitForSelectorOptions;
|
|
103
|
+
timeout?: number;
|
|
104
|
+
force?: boolean;
|
|
105
|
+
}
|
|
106
|
+
export interface HoverParams {
|
|
107
|
+
selector: ElementSelector;
|
|
108
|
+
waitFor?: boolean | WaitForSelectorOptions;
|
|
109
|
+
timeout?: number;
|
|
110
|
+
force?: boolean;
|
|
111
|
+
position?: {
|
|
112
|
+
x: number;
|
|
113
|
+
y: number;
|
|
114
|
+
};
|
|
115
|
+
modifiers?: Array<'Alt' | 'Control' | 'Meta' | 'Shift'>;
|
|
116
|
+
trial?: boolean;
|
|
117
|
+
}
|
|
118
|
+
export interface PressParams {
|
|
119
|
+
selector: ElementSelector;
|
|
120
|
+
key: string;
|
|
121
|
+
waitFor?: boolean | WaitForSelectorOptions;
|
|
122
|
+
timeout?: number;
|
|
123
|
+
delay?: number;
|
|
124
|
+
noWaitAfter?: boolean;
|
|
125
|
+
}
|
|
126
|
+
export interface SubmitParams {
|
|
127
|
+
selector?: ElementSelector;
|
|
128
|
+
waitForNavigation?: boolean;
|
|
129
|
+
waitUntil?: LoadState;
|
|
130
|
+
timeout?: number;
|
|
131
|
+
}
|
|
132
|
+
export interface UploadParams {
|
|
133
|
+
selector: ElementSelector;
|
|
134
|
+
filePath: string | string[];
|
|
135
|
+
waitFor?: boolean | WaitForSelectorOptions;
|
|
136
|
+
timeout?: number;
|
|
137
|
+
}
|
|
138
|
+
export interface TextParams {
|
|
139
|
+
selector?: ElementSelector;
|
|
140
|
+
innerText?: boolean;
|
|
141
|
+
all?: boolean;
|
|
142
|
+
timeout?: number;
|
|
143
|
+
}
|
|
144
|
+
export interface HtmlParams {
|
|
145
|
+
selector?: ElementSelector;
|
|
146
|
+
outerHTML?: boolean;
|
|
147
|
+
timeout?: number;
|
|
148
|
+
}
|
|
149
|
+
export interface AttributeParams {
|
|
150
|
+
selector: ElementSelector;
|
|
151
|
+
name: string;
|
|
152
|
+
timeout?: number;
|
|
153
|
+
}
|
|
154
|
+
export interface ScreenshotParams {
|
|
155
|
+
selector?: ElementSelector;
|
|
156
|
+
path?: string;
|
|
157
|
+
fullPage?: boolean;
|
|
158
|
+
type?: 'png' | 'jpeg';
|
|
159
|
+
quality?: number;
|
|
160
|
+
timeout?: number;
|
|
161
|
+
omitBackground?: boolean;
|
|
162
|
+
animations?: 'allow' | 'disabled';
|
|
163
|
+
scale?: 'css' | 'device';
|
|
164
|
+
}
|
|
165
|
+
export interface WaitForSelectorParams extends WaitForSelectorOptions {
|
|
166
|
+
selector: ElementSelector;
|
|
167
|
+
}
|
|
168
|
+
export interface WaitForNavigationParams {
|
|
169
|
+
url?: string | RegExp;
|
|
170
|
+
waitUntil?: LoadState;
|
|
171
|
+
timeout?: number;
|
|
172
|
+
}
|
|
173
|
+
export interface WaitForFunctionParams {
|
|
174
|
+
script: string;
|
|
175
|
+
args?: unknown[];
|
|
176
|
+
timeout?: number;
|
|
177
|
+
polling?: 'raf' | number;
|
|
178
|
+
}
|
|
179
|
+
export interface EvaluateParams {
|
|
180
|
+
script: string;
|
|
181
|
+
args?: unknown[];
|
|
182
|
+
/** When provided, evaluates against this element. The element is passed as arg 0. */
|
|
183
|
+
selector?: ElementSelector;
|
|
184
|
+
timeout?: number;
|
|
185
|
+
}
|
|
186
|
+
export interface NavigationOutput {
|
|
187
|
+
url: string;
|
|
188
|
+
status: number | null;
|
|
189
|
+
ok: boolean | null;
|
|
190
|
+
}
|
|
191
|
+
export interface SelectorActionOutput {
|
|
192
|
+
selector: string;
|
|
193
|
+
action: string;
|
|
194
|
+
}
|
|
195
|
+
export interface TextOutput {
|
|
196
|
+
selector?: string;
|
|
197
|
+
text: string | string[] | null;
|
|
198
|
+
}
|
|
199
|
+
export interface HtmlOutput {
|
|
200
|
+
selector?: string;
|
|
201
|
+
html: string | null;
|
|
202
|
+
}
|
|
203
|
+
export interface AttributeOutput {
|
|
204
|
+
selector: string;
|
|
205
|
+
name: string;
|
|
206
|
+
value: string | null;
|
|
207
|
+
}
|
|
208
|
+
export interface ScreenshotOutput {
|
|
209
|
+
path?: string;
|
|
210
|
+
base64?: string;
|
|
211
|
+
bytes: number;
|
|
212
|
+
type: 'png' | 'jpeg';
|
|
213
|
+
fullPage?: boolean;
|
|
214
|
+
selector?: string;
|
|
215
|
+
}
|
|
216
|
+
export interface WaitOutput {
|
|
217
|
+
url: string;
|
|
218
|
+
selector?: string;
|
|
219
|
+
state?: WaitForSelectorState;
|
|
220
|
+
value?: unknown;
|
|
221
|
+
}
|
|
222
|
+
export type BrowserActionName = 'goto' | 'navigate' | 'back' | 'forward' | 'reload' | 'click' | 'fill' | 'check' | 'uncheck' | 'select' | 'hover' | 'press' | 'submit' | 'upload' | 'text' | 'getText' | 'html' | 'getHTML' | 'attribute' | 'getAttribute' | 'screenshot' | 'elementScreenshot' | 'waitForSelector' | 'waitForElement' | 'waitForNavigation' | 'waitForFunction' | 'evaluate';
|
|
223
|
+
export interface BrowserActionParamsMap {
|
|
224
|
+
goto: GotoParams;
|
|
225
|
+
navigate: GotoParams;
|
|
226
|
+
back: HistoryNavigationParams;
|
|
227
|
+
forward: HistoryNavigationParams;
|
|
228
|
+
reload: ReloadParams;
|
|
229
|
+
click: ClickParams;
|
|
230
|
+
fill: FillParams;
|
|
231
|
+
check: CheckParams;
|
|
232
|
+
uncheck: Omit<CheckParams, 'checked'>;
|
|
233
|
+
select: SelectParams;
|
|
234
|
+
hover: HoverParams;
|
|
235
|
+
press: PressParams;
|
|
236
|
+
submit: SubmitParams;
|
|
237
|
+
upload: UploadParams;
|
|
238
|
+
text: TextParams;
|
|
239
|
+
getText: TextParams;
|
|
240
|
+
html: HtmlParams;
|
|
241
|
+
getHTML: HtmlParams;
|
|
242
|
+
attribute: AttributeParams;
|
|
243
|
+
getAttribute: AttributeParams;
|
|
244
|
+
screenshot: ScreenshotParams;
|
|
245
|
+
elementScreenshot: ScreenshotParams & {
|
|
246
|
+
selector: ElementSelector;
|
|
247
|
+
};
|
|
248
|
+
waitForSelector: WaitForSelectorParams;
|
|
249
|
+
waitForElement: WaitForSelectorParams;
|
|
250
|
+
waitForNavigation: WaitForNavigationParams;
|
|
251
|
+
waitForFunction: WaitForFunctionParams;
|
|
252
|
+
evaluate: EvaluateParams;
|
|
253
|
+
}
|
|
254
|
+
export interface BrowserActionOutputMap {
|
|
255
|
+
goto: NavigationOutput;
|
|
256
|
+
navigate: NavigationOutput;
|
|
257
|
+
back: NavigationOutput | null;
|
|
258
|
+
forward: NavigationOutput | null;
|
|
259
|
+
reload: NavigationOutput | null;
|
|
260
|
+
click: SelectorActionOutput;
|
|
261
|
+
fill: SelectorActionOutput;
|
|
262
|
+
check: SelectorActionOutput;
|
|
263
|
+
uncheck: SelectorActionOutput;
|
|
264
|
+
select: SelectorActionOutput & {
|
|
265
|
+
values: string[];
|
|
266
|
+
};
|
|
267
|
+
hover: SelectorActionOutput;
|
|
268
|
+
press: SelectorActionOutput & {
|
|
269
|
+
key: string;
|
|
270
|
+
};
|
|
271
|
+
submit: SelectorActionOutput;
|
|
272
|
+
upload: SelectorActionOutput & {
|
|
273
|
+
files: string[];
|
|
274
|
+
};
|
|
275
|
+
text: TextOutput;
|
|
276
|
+
getText: TextOutput;
|
|
277
|
+
html: HtmlOutput;
|
|
278
|
+
getHTML: HtmlOutput;
|
|
279
|
+
attribute: AttributeOutput;
|
|
280
|
+
getAttribute: AttributeOutput;
|
|
281
|
+
screenshot: ScreenshotOutput;
|
|
282
|
+
elementScreenshot: ScreenshotOutput;
|
|
283
|
+
waitForSelector: WaitOutput;
|
|
284
|
+
waitForElement: WaitOutput;
|
|
285
|
+
waitForNavigation: WaitOutput;
|
|
286
|
+
waitForFunction: WaitOutput;
|
|
287
|
+
evaluate: unknown;
|
|
288
|
+
}
|
|
289
|
+
export type BrowserAction<TName extends BrowserActionName = BrowserActionName> = {
|
|
290
|
+
[Name in TName]: {
|
|
291
|
+
type: Name;
|
|
292
|
+
params: BrowserActionParamsMap[Name];
|
|
293
|
+
};
|
|
294
|
+
}[TName];
|
|
295
|
+
export type BrowserWorkflowAction<TName extends BrowserActionName = BrowserActionName> = {
|
|
296
|
+
[Name in TName]: {
|
|
297
|
+
action: Name;
|
|
298
|
+
params: BrowserActionParamsMap[Name];
|
|
299
|
+
};
|
|
300
|
+
}[TName];
|
|
301
|
+
export type BrowserActionRequest<TName extends BrowserActionName = BrowserActionName> = BrowserAction<TName> | BrowserWorkflowAction<TName>;
|
|
302
|
+
export interface ConsoleMessage {
|
|
303
|
+
type: 'log' | 'error' | 'warn' | 'info' | 'debug';
|
|
304
|
+
text: string;
|
|
305
|
+
timestamp: Date;
|
|
306
|
+
location?: string;
|
|
307
|
+
}
|
|
308
|
+
export interface NetworkRequest {
|
|
309
|
+
url: string;
|
|
310
|
+
method: string;
|
|
311
|
+
status: number;
|
|
312
|
+
responseTime: number;
|
|
313
|
+
timestamp: Date;
|
|
314
|
+
error?: string;
|
|
315
|
+
}
|
|
316
|
+
export interface BrowserSession {
|
|
317
|
+
id: string;
|
|
318
|
+
config: RequiredBrowserConfig;
|
|
319
|
+
currentUrl?: string;
|
|
320
|
+
cookies: Cookie[];
|
|
321
|
+
consoleLogs: ConsoleMessage[];
|
|
322
|
+
networkLogs: NetworkRequest[];
|
|
323
|
+
startTime: Date;
|
|
324
|
+
active: boolean;
|
|
325
|
+
}
|
|
326
|
+
export interface ActionResultMetadata {
|
|
327
|
+
action?: BrowserActionName;
|
|
328
|
+
sessionId?: string;
|
|
329
|
+
currentUrl?: string;
|
|
330
|
+
executionTime?: number;
|
|
331
|
+
startedAt?: string;
|
|
332
|
+
endedAt?: string;
|
|
333
|
+
errorScreenshot?: string;
|
|
334
|
+
consoleLogs?: ConsoleMessage[];
|
|
335
|
+
networkActivity?: NetworkRequest[];
|
|
336
|
+
}
|
|
337
|
+
export interface ActionResult<TOutput = unknown> {
|
|
338
|
+
success: boolean;
|
|
339
|
+
output?: TOutput;
|
|
340
|
+
error?: string;
|
|
341
|
+
metadata?: ActionResultMetadata;
|
|
342
|
+
}
|
|
343
|
+
export type BrowserActionResult<TOutput = unknown> = ActionResult<TOutput>;
|
|
344
|
+
export interface RequiredBrowserConfig {
|
|
345
|
+
browser: BrowserEngine;
|
|
346
|
+
headless: boolean;
|
|
347
|
+
viewport: ViewportSize;
|
|
348
|
+
timeout: number;
|
|
349
|
+
userAgent?: string;
|
|
350
|
+
extraHTTPHeaders?: Record<string, string>;
|
|
351
|
+
args: string[];
|
|
352
|
+
captureConsole: boolean;
|
|
353
|
+
captureNetwork: boolean;
|
|
354
|
+
persistSession: boolean;
|
|
355
|
+
screenshotOnError: boolean;
|
|
356
|
+
}
|
|
357
|
+
export interface BrowserActionContext {
|
|
358
|
+
page: Page;
|
|
359
|
+
config: RequiredBrowserConfig;
|
|
360
|
+
resolveLocator(selector: ElementSelector): Locator;
|
|
361
|
+
waitForElement(selector: ElementSelector, options?: WaitForSelectorOptions): Promise<Locator>;
|
|
362
|
+
}
|
|
363
|
+
export type { BrowserContext, Locator, Page, PlaywrightBrowser };
|
|
364
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@relayflows/browser-primitive",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Browser automation workflow primitive for Agent Relay",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js",
|
|
12
|
+
"default": "./dist/index.js"
|
|
13
|
+
},
|
|
14
|
+
"./mcp-server": {
|
|
15
|
+
"types": "./dist/mcp-server.d.ts",
|
|
16
|
+
"import": "./dist/mcp-server.js",
|
|
17
|
+
"default": "./dist/mcp-server.js"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"bin": {
|
|
21
|
+
"agent-relay-browser-mcp": "./dist/mcp-server.js"
|
|
22
|
+
},
|
|
23
|
+
"files": [
|
|
24
|
+
"dist",
|
|
25
|
+
"examples",
|
|
26
|
+
"DESIGN.md",
|
|
27
|
+
"README.md"
|
|
28
|
+
],
|
|
29
|
+
"scripts": {
|
|
30
|
+
"build": "tsc",
|
|
31
|
+
"clean": "rm -rf dist",
|
|
32
|
+
"test": "vitest run",
|
|
33
|
+
"test:watch": "vitest"
|
|
34
|
+
},
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"@agent-relay/sdk": "^8.2.0",
|
|
37
|
+
"playwright": "^1.51.1"
|
|
38
|
+
},
|
|
39
|
+
"devDependencies": {
|
|
40
|
+
"@types/node": "^22.19.3",
|
|
41
|
+
"typescript": "^5.9.3",
|
|
42
|
+
"vitest": "^3.2.4"
|
|
43
|
+
},
|
|
44
|
+
"publishConfig": {
|
|
45
|
+
"access": "public"
|
|
46
|
+
},
|
|
47
|
+
"repository": {
|
|
48
|
+
"type": "git",
|
|
49
|
+
"url": "git+https://github.com/AgentWorkforce/relayflows.git",
|
|
50
|
+
"directory": "packages/browser-primitive"
|
|
51
|
+
}
|
|
52
|
+
}
|