@browserbridge/bbx 1.1.0 → 1.3.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/README.md +6 -5
- package/package.json +1 -1
- package/packages/agent-client/src/cli.js +30 -20
- package/packages/agent-client/src/client.js +105 -42
- package/packages/agent-client/src/command-registry.js +4 -14
- package/packages/agent-client/src/detect.js +3 -3
- package/packages/agent-client/src/install.js +3 -7
- package/packages/agent-client/src/mcp-config.js +1 -3
- package/packages/agent-client/src/runtime.js +7 -41
- package/packages/agent-client/src/setup-status.js +3 -13
- package/packages/agent-client/src/types.ts +131 -0
- package/packages/mcp-server/src/handlers-capture.js +291 -0
- package/packages/mcp-server/src/handlers-dom.js +203 -0
- package/packages/mcp-server/src/handlers-navigation.js +79 -0
- package/packages/mcp-server/src/handlers-page.js +365 -0
- package/packages/mcp-server/src/handlers-utils.js +318 -0
- package/packages/mcp-server/src/handlers.js +59 -1176
- package/packages/mcp-server/src/server.js +2 -1
- package/packages/native-host/bin/bridge-daemon.js +2 -1
- package/packages/native-host/bin/install-manifest.js +8 -0
- package/packages/native-host/bin/postinstall.js +46 -9
- package/packages/native-host/src/daemon-logger.js +157 -0
- package/packages/native-host/src/daemon-process.js +43 -18
- package/packages/native-host/src/daemon.js +133 -12
- package/packages/native-host/src/framing.js +13 -0
- package/packages/native-host/src/native-host.js +7 -5
- package/packages/protocol/src/capabilities.js +1 -0
- package/packages/protocol/src/protocol.js +40 -0
- package/packages/protocol/src/registry.js +5 -9
- package/packages/protocol/src/types.ts +572 -0
- package/packages/protocol/src/types.js +0 -626
|
@@ -0,0 +1,572 @@
|
|
|
1
|
+
export type BridgeRequestSource = 'cli' | 'mcp';
|
|
2
|
+
|
|
3
|
+
export type Capability =
|
|
4
|
+
| 'page.read'
|
|
5
|
+
| 'page.evaluate'
|
|
6
|
+
| 'dom.read'
|
|
7
|
+
| 'styles.read'
|
|
8
|
+
| 'layout.read'
|
|
9
|
+
| 'viewport.control'
|
|
10
|
+
| 'navigation.control'
|
|
11
|
+
| 'screenshot.partial'
|
|
12
|
+
| 'patch.dom'
|
|
13
|
+
| 'patch.styles'
|
|
14
|
+
| 'cdp.dom_snapshot'
|
|
15
|
+
| 'cdp.box_model'
|
|
16
|
+
| 'cdp.styles'
|
|
17
|
+
| 'cdp.input'
|
|
18
|
+
| 'automation.input'
|
|
19
|
+
| 'tabs.manage'
|
|
20
|
+
| 'performance.read'
|
|
21
|
+
| 'network.read';
|
|
22
|
+
|
|
23
|
+
export type ErrorCode =
|
|
24
|
+
| 'ACCESS_DENIED'
|
|
25
|
+
| 'TAB_MISMATCH'
|
|
26
|
+
| 'ELEMENT_STALE'
|
|
27
|
+
| 'RESULT_TRUNCATED'
|
|
28
|
+
| 'RATE_LIMITED'
|
|
29
|
+
| 'INTERNAL_ERROR'
|
|
30
|
+
| 'INVALID_REQUEST'
|
|
31
|
+
| 'NATIVE_HOST_UNAVAILABLE'
|
|
32
|
+
| 'EXTENSION_DISCONNECTED'
|
|
33
|
+
| 'TIMEOUT';
|
|
34
|
+
|
|
35
|
+
export type BridgeMethod =
|
|
36
|
+
| 'access.request'
|
|
37
|
+
| 'tabs.list'
|
|
38
|
+
| 'tabs.create'
|
|
39
|
+
| 'tabs.close'
|
|
40
|
+
| 'skill.get_runtime_context'
|
|
41
|
+
| 'setup.get_status'
|
|
42
|
+
| 'setup.install'
|
|
43
|
+
| 'page.get_state'
|
|
44
|
+
| 'page.evaluate'
|
|
45
|
+
| 'page.get_console'
|
|
46
|
+
| 'page.wait_for_load_state'
|
|
47
|
+
| 'page.get_storage'
|
|
48
|
+
| 'page.get_text'
|
|
49
|
+
| 'page.get_network'
|
|
50
|
+
| 'navigation.navigate'
|
|
51
|
+
| 'navigation.reload'
|
|
52
|
+
| 'navigation.go_back'
|
|
53
|
+
| 'navigation.go_forward'
|
|
54
|
+
| 'dom.query'
|
|
55
|
+
| 'dom.describe'
|
|
56
|
+
| 'dom.get_text'
|
|
57
|
+
| 'dom.get_attributes'
|
|
58
|
+
| 'dom.wait_for'
|
|
59
|
+
| 'dom.find_by_text'
|
|
60
|
+
| 'dom.find_by_role'
|
|
61
|
+
| 'dom.get_html'
|
|
62
|
+
| 'dom.get_accessibility_tree'
|
|
63
|
+
| 'layout.get_box_model'
|
|
64
|
+
| 'layout.hit_test'
|
|
65
|
+
| 'styles.get_computed'
|
|
66
|
+
| 'styles.get_matched_rules'
|
|
67
|
+
| 'viewport.scroll'
|
|
68
|
+
| 'viewport.resize'
|
|
69
|
+
| 'input.click'
|
|
70
|
+
| 'input.focus'
|
|
71
|
+
| 'input.type'
|
|
72
|
+
| 'input.press_key'
|
|
73
|
+
| 'input.set_checked'
|
|
74
|
+
| 'input.select_option'
|
|
75
|
+
| 'input.hover'
|
|
76
|
+
| 'input.drag'
|
|
77
|
+
| 'input.scroll_into_view'
|
|
78
|
+
| 'screenshot.capture_region'
|
|
79
|
+
| 'screenshot.capture_element'
|
|
80
|
+
| 'screenshot.capture_full_page'
|
|
81
|
+
| 'patch.apply_styles'
|
|
82
|
+
| 'patch.apply_dom'
|
|
83
|
+
| 'patch.list'
|
|
84
|
+
| 'patch.rollback'
|
|
85
|
+
| 'patch.commit_session_baseline'
|
|
86
|
+
| 'cdp.get_document'
|
|
87
|
+
| 'cdp.get_dom_snapshot'
|
|
88
|
+
| 'cdp.get_box_model'
|
|
89
|
+
| 'cdp.get_computed_styles_for_node'
|
|
90
|
+
| 'cdp.dispatch_key_event'
|
|
91
|
+
| 'performance.get_metrics'
|
|
92
|
+
| 'log.tail'
|
|
93
|
+
| 'health.ping'
|
|
94
|
+
| 'daemon.metrics';
|
|
95
|
+
|
|
96
|
+
export type CostClass = 'cheap' | 'moderate' | 'heavy' | 'extreme';
|
|
97
|
+
|
|
98
|
+
export interface BridgeMeta {
|
|
99
|
+
protocol_version?: string;
|
|
100
|
+
token_budget?: number | null;
|
|
101
|
+
transport_bytes?: number;
|
|
102
|
+
transport_approx_tokens?: number;
|
|
103
|
+
transport_cost_class?: CostClass;
|
|
104
|
+
text_bytes?: number;
|
|
105
|
+
text_approx_tokens?: number;
|
|
106
|
+
text_cost_class?: CostClass;
|
|
107
|
+
image_approx_tokens?: number;
|
|
108
|
+
image_bytes?: number;
|
|
109
|
+
source?: BridgeRequestSource;
|
|
110
|
+
response_bytes?: number;
|
|
111
|
+
approx_tokens?: number;
|
|
112
|
+
cost_class?: CostClass;
|
|
113
|
+
debugger_backed?: boolean;
|
|
114
|
+
budget_applied?: boolean;
|
|
115
|
+
budget_truncated?: boolean;
|
|
116
|
+
continuation_hint?: string | null;
|
|
117
|
+
[key: string]: unknown;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export interface BridgeParams {
|
|
121
|
+
[key: string]: unknown;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
export interface BridgeRequest {
|
|
125
|
+
id: string;
|
|
126
|
+
method: BridgeMethod;
|
|
127
|
+
tab_id: number | null;
|
|
128
|
+
params: BridgeParams;
|
|
129
|
+
meta: Required<Pick<BridgeMeta, 'protocol_version' | 'token_budget'>> & Record<string, unknown>;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
export interface BridgeRecovery {
|
|
133
|
+
hint: string;
|
|
134
|
+
retry?: boolean;
|
|
135
|
+
retryAfterMs?: number;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export interface BridgeFailure {
|
|
139
|
+
code: ErrorCode;
|
|
140
|
+
message: string;
|
|
141
|
+
details: unknown;
|
|
142
|
+
recovery?: BridgeRecovery;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
export interface BridgeSuccessResponse {
|
|
146
|
+
id: string;
|
|
147
|
+
ok: true;
|
|
148
|
+
result: unknown;
|
|
149
|
+
error: null;
|
|
150
|
+
meta: { protocol_version: string } & Record<string, unknown>;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
export interface BridgeFailureResponse {
|
|
154
|
+
id: string;
|
|
155
|
+
ok: false;
|
|
156
|
+
result: null;
|
|
157
|
+
error: BridgeFailure;
|
|
158
|
+
meta: { protocol_version: string } & Record<string, unknown>;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
export type BridgeResponse = BridgeSuccessResponse | BridgeFailureResponse;
|
|
162
|
+
|
|
163
|
+
export interface BudgetOptions {
|
|
164
|
+
maxNodes?: number;
|
|
165
|
+
maxDepth?: number;
|
|
166
|
+
textBudget?: number;
|
|
167
|
+
includeBbox?: boolean;
|
|
168
|
+
attributeAllowlist?: string[];
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
export interface Budget {
|
|
172
|
+
maxNodes: number;
|
|
173
|
+
maxDepth: number;
|
|
174
|
+
textBudget: number;
|
|
175
|
+
includeBbox: boolean;
|
|
176
|
+
attributeAllowlist: string[];
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
export interface TruncateResult {
|
|
180
|
+
value: string;
|
|
181
|
+
truncated: boolean;
|
|
182
|
+
omitted: number;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
export interface DomQueryParams extends BudgetOptions {
|
|
186
|
+
selector?: string;
|
|
187
|
+
withinRef?: string | null;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
export interface NormalizedDomQuery extends BridgeParams {
|
|
191
|
+
selector: string;
|
|
192
|
+
withinRef: string | null;
|
|
193
|
+
budget: Budget;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
export interface StyleQueryParams {
|
|
197
|
+
elementRef?: string;
|
|
198
|
+
target?: InputTarget;
|
|
199
|
+
properties?: string[];
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
export interface NormalizedStyleQuery extends BridgeParams {
|
|
203
|
+
elementRef: string;
|
|
204
|
+
target: InputTarget;
|
|
205
|
+
properties: string[];
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
export interface InputTarget {
|
|
209
|
+
elementRef?: string;
|
|
210
|
+
selector?: string;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
export interface InputActionParams {
|
|
214
|
+
target?: InputTarget;
|
|
215
|
+
button?: 'left' | 'middle' | 'right';
|
|
216
|
+
clickCount?: number;
|
|
217
|
+
text?: string;
|
|
218
|
+
clear?: boolean;
|
|
219
|
+
submit?: boolean;
|
|
220
|
+
key?: string;
|
|
221
|
+
modifiers?: string[];
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
export interface NormalizedInputAction extends BridgeParams {
|
|
225
|
+
target: InputTarget;
|
|
226
|
+
button: 'left' | 'middle' | 'right';
|
|
227
|
+
clickCount: number;
|
|
228
|
+
text: string;
|
|
229
|
+
clear: boolean;
|
|
230
|
+
submit: boolean;
|
|
231
|
+
key: string;
|
|
232
|
+
modifiers: string[];
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
export interface CdpDispatchKeyEventParams {
|
|
236
|
+
key?: string;
|
|
237
|
+
code?: string;
|
|
238
|
+
modifiers?: string[] | number;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
export interface CdpNodeIdParams {
|
|
242
|
+
nodeId?: number;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
export interface NormalizedCdpDispatchKeyEventParams extends BridgeParams {
|
|
246
|
+
key: string;
|
|
247
|
+
code: string;
|
|
248
|
+
modifiers: string[] | number;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
export interface NormalizedCdpNodeIdParams extends BridgeParams {
|
|
252
|
+
nodeId: number;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
export interface CheckedActionParams {
|
|
256
|
+
target?: InputTarget;
|
|
257
|
+
checked?: boolean;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
export interface NormalizedCheckedAction extends BridgeParams {
|
|
261
|
+
target: InputTarget;
|
|
262
|
+
checked: boolean;
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
export interface SelectActionParams {
|
|
266
|
+
target?: InputTarget;
|
|
267
|
+
values?: string[];
|
|
268
|
+
labels?: string[];
|
|
269
|
+
indexes?: number[];
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
export interface NormalizedSelectAction extends BridgeParams {
|
|
273
|
+
target: InputTarget;
|
|
274
|
+
values: string[];
|
|
275
|
+
labels: string[];
|
|
276
|
+
indexes: number[];
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
export interface ViewportActionParams {
|
|
280
|
+
target?: InputTarget;
|
|
281
|
+
top?: number;
|
|
282
|
+
left?: number;
|
|
283
|
+
behavior?: 'auto' | 'smooth';
|
|
284
|
+
relative?: boolean;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
export interface NormalizedViewportAction extends BridgeParams {
|
|
288
|
+
target: InputTarget;
|
|
289
|
+
top: number;
|
|
290
|
+
left: number;
|
|
291
|
+
behavior: 'auto' | 'smooth';
|
|
292
|
+
relative: boolean;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
export interface NavigationActionParams {
|
|
296
|
+
url?: string;
|
|
297
|
+
waitForLoad?: boolean;
|
|
298
|
+
timeoutMs?: number;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
export interface NormalizedNavigationAction extends BridgeParams {
|
|
302
|
+
url: string;
|
|
303
|
+
waitForLoad: boolean;
|
|
304
|
+
timeoutMs: number;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
export interface PatchOperationParams {
|
|
308
|
+
patchId?: string | null;
|
|
309
|
+
target?: Record<string, unknown>;
|
|
310
|
+
operation?: string | null;
|
|
311
|
+
name?: string | null;
|
|
312
|
+
declarations?: Record<string, string>;
|
|
313
|
+
value?: unknown;
|
|
314
|
+
important?: boolean;
|
|
315
|
+
verify?: boolean;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
export interface NormalizedPatchOperation extends BridgeParams {
|
|
319
|
+
patchId: string | null;
|
|
320
|
+
target: Record<string, unknown>;
|
|
321
|
+
operation: string | null;
|
|
322
|
+
name: string | null;
|
|
323
|
+
declarations: Record<string, string>;
|
|
324
|
+
value: unknown;
|
|
325
|
+
important: boolean;
|
|
326
|
+
verify: boolean;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
export interface McpClientStatus {
|
|
330
|
+
key: string;
|
|
331
|
+
label: string;
|
|
332
|
+
detected: boolean;
|
|
333
|
+
configPath: string;
|
|
334
|
+
configExists: boolean;
|
|
335
|
+
configured: boolean;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
export interface SkillInstallationStatus {
|
|
339
|
+
name: string;
|
|
340
|
+
path: string;
|
|
341
|
+
exists: boolean;
|
|
342
|
+
managed: boolean;
|
|
343
|
+
version: string | null;
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
export interface SkillTargetStatus {
|
|
347
|
+
key: string;
|
|
348
|
+
label: string;
|
|
349
|
+
detected: boolean;
|
|
350
|
+
basePath: string;
|
|
351
|
+
installed: boolean;
|
|
352
|
+
managed: boolean;
|
|
353
|
+
installedVersion: string | null;
|
|
354
|
+
currentVersion: string | null;
|
|
355
|
+
updateAvailable: boolean;
|
|
356
|
+
skills: SkillInstallationStatus[];
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
export interface SetupStatus {
|
|
360
|
+
scope: 'global' | 'local';
|
|
361
|
+
mcpClients: McpClientStatus[];
|
|
362
|
+
skillTargets: SkillTargetStatus[];
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
export interface SetupInstallParams {
|
|
366
|
+
action?: 'install' | 'uninstall';
|
|
367
|
+
kind?: 'mcp' | 'skill';
|
|
368
|
+
target?: string;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
export interface SetupInstallResult {
|
|
372
|
+
action: 'install' | 'uninstall';
|
|
373
|
+
kind: 'mcp' | 'skill';
|
|
374
|
+
target: string;
|
|
375
|
+
paths: string[];
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
export interface EvaluateParams {
|
|
379
|
+
expression?: string;
|
|
380
|
+
awaitPromise?: boolean;
|
|
381
|
+
timeoutMs?: number;
|
|
382
|
+
returnByValue?: boolean;
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
export interface NormalizedEvaluateParams extends BridgeParams {
|
|
386
|
+
expression: string;
|
|
387
|
+
awaitPromise: boolean;
|
|
388
|
+
timeoutMs: number;
|
|
389
|
+
returnByValue: boolean;
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
export interface ConsoleParams {
|
|
393
|
+
level?: string;
|
|
394
|
+
clear?: boolean;
|
|
395
|
+
limit?: number;
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
export interface NormalizedConsoleParams extends BridgeParams {
|
|
399
|
+
level: string;
|
|
400
|
+
clear: boolean;
|
|
401
|
+
limit: number;
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
export interface WaitForParams {
|
|
405
|
+
selector?: string;
|
|
406
|
+
text?: string;
|
|
407
|
+
state?: 'attached' | 'detached' | 'visible' | 'hidden';
|
|
408
|
+
timeoutMs?: number;
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
export interface NormalizedWaitForParams extends BridgeParams {
|
|
412
|
+
selector: string;
|
|
413
|
+
text: string | null;
|
|
414
|
+
state: 'attached' | 'detached' | 'visible' | 'hidden';
|
|
415
|
+
timeoutMs: number;
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
export interface FindByTextParams {
|
|
419
|
+
text?: string;
|
|
420
|
+
exact?: boolean;
|
|
421
|
+
selector?: string;
|
|
422
|
+
maxResults?: number;
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
export interface NormalizedFindByTextParams extends BridgeParams {
|
|
426
|
+
text: string;
|
|
427
|
+
exact: boolean;
|
|
428
|
+
selector: string;
|
|
429
|
+
maxResults: number;
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
export interface FindByRoleParams {
|
|
433
|
+
role?: string;
|
|
434
|
+
name?: string;
|
|
435
|
+
selector?: string;
|
|
436
|
+
maxResults?: number;
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
export interface NormalizedFindByRoleParams extends BridgeParams {
|
|
440
|
+
role: string;
|
|
441
|
+
name: string;
|
|
442
|
+
selector: string;
|
|
443
|
+
maxResults: number;
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
export interface GetHtmlParams {
|
|
447
|
+
elementRef?: string;
|
|
448
|
+
target?: InputTarget;
|
|
449
|
+
outer?: boolean;
|
|
450
|
+
maxLength?: number;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
export interface NormalizedGetHtmlParams extends BridgeParams {
|
|
454
|
+
elementRef: string;
|
|
455
|
+
target: InputTarget;
|
|
456
|
+
outer: boolean;
|
|
457
|
+
maxLength: number;
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
export interface HoverParams {
|
|
461
|
+
target?: InputTarget;
|
|
462
|
+
duration?: number;
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
export interface NormalizedHoverParams extends BridgeParams {
|
|
466
|
+
target: InputTarget;
|
|
467
|
+
duration: number;
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
export interface DragParams {
|
|
471
|
+
source?: InputTarget;
|
|
472
|
+
destination?: InputTarget;
|
|
473
|
+
offsetX?: number;
|
|
474
|
+
offsetY?: number;
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
export interface NormalizedDragParams extends BridgeParams {
|
|
478
|
+
source: InputTarget;
|
|
479
|
+
destination: InputTarget;
|
|
480
|
+
offsetX: number;
|
|
481
|
+
offsetY: number;
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
export interface StorageParams {
|
|
485
|
+
type?: 'local' | 'session';
|
|
486
|
+
keys?: string[];
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
export interface NormalizedStorageParams extends BridgeParams {
|
|
490
|
+
type: 'local' | 'session';
|
|
491
|
+
keys: string[] | null;
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
export interface WaitForLoadStateParams {
|
|
495
|
+
waitForLoad?: boolean;
|
|
496
|
+
timeoutMs?: number;
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
export interface NormalizedWaitForLoadStateParams extends BridgeParams {
|
|
500
|
+
waitForLoad: boolean;
|
|
501
|
+
timeoutMs: number;
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
export interface TabCreateParams {
|
|
505
|
+
url?: string;
|
|
506
|
+
active?: boolean;
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
export interface NormalizedTabCreateParams extends BridgeParams {
|
|
510
|
+
url: string;
|
|
511
|
+
active: boolean;
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
export interface TabCloseParams {
|
|
515
|
+
tabId?: number;
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
export interface NormalizedTabCloseParams extends BridgeParams {
|
|
519
|
+
tabId: number;
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
export interface AccessibilityTreeParams {
|
|
523
|
+
maxDepth?: number;
|
|
524
|
+
maxNodes?: number;
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
export interface NormalizedAccessibilityTreeParams extends BridgeParams {
|
|
528
|
+
maxDepth: number;
|
|
529
|
+
maxNodes: number;
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
export interface NetworkParams {
|
|
533
|
+
clear?: boolean;
|
|
534
|
+
limit?: number;
|
|
535
|
+
urlPattern?: string;
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
export interface NormalizedNetworkParams extends BridgeParams {
|
|
539
|
+
clear: boolean;
|
|
540
|
+
limit: number;
|
|
541
|
+
urlPattern: string | null;
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
export interface PageTextParams {
|
|
545
|
+
textBudget?: number;
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
export interface NormalizedPageTextParams extends BridgeParams {
|
|
549
|
+
textBudget: number;
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
export interface LogTailParams {
|
|
553
|
+
limit?: number;
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
export interface NormalizedLogTailParams extends BridgeParams {
|
|
557
|
+
limit: number;
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
export interface ViewportResizeParams {
|
|
561
|
+
width?: number;
|
|
562
|
+
height?: number;
|
|
563
|
+
deviceScaleFactor?: number;
|
|
564
|
+
reset?: boolean;
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
export interface NormalizedViewportResizeParams extends BridgeParams {
|
|
568
|
+
width: number;
|
|
569
|
+
height: number;
|
|
570
|
+
deviceScaleFactor: number;
|
|
571
|
+
reset: boolean;
|
|
572
|
+
}
|