@onkernel/sdk 0.92.0 → 0.94.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 (79) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/client.d.mts +6 -0
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +6 -0
  5. package/client.d.ts.map +1 -1
  6. package/client.js +6 -0
  7. package/client.js.map +1 -1
  8. package/client.mjs +6 -0
  9. package/client.mjs.map +1 -1
  10. package/lib/browser-routing.d.mts +1 -0
  11. package/lib/browser-routing.d.mts.map +1 -1
  12. package/lib/browser-routing.d.ts +1 -0
  13. package/lib/browser-routing.d.ts.map +1 -1
  14. package/lib/browser-routing.js +17 -2
  15. package/lib/browser-routing.js.map +1 -1
  16. package/lib/browser-routing.mjs +17 -2
  17. package/lib/browser-routing.mjs.map +1 -1
  18. package/package.json +1 -1
  19. package/resources/auth/connections.d.mts +70 -52
  20. package/resources/auth/connections.d.mts.map +1 -1
  21. package/resources/auth/connections.d.ts +70 -52
  22. package/resources/auth/connections.d.ts.map +1 -1
  23. package/resources/browser-pools.d.mts +18 -18
  24. package/resources/browser-pools.d.ts +18 -18
  25. package/resources/browsers/browsers.d.mts +15 -15
  26. package/resources/browsers/browsers.d.mts.map +1 -1
  27. package/resources/browsers/browsers.d.ts +15 -15
  28. package/resources/browsers/browsers.d.ts.map +1 -1
  29. package/resources/browsers/browsers.js.map +1 -1
  30. package/resources/browsers/browsers.mjs.map +1 -1
  31. package/resources/browsers/index.d.mts +1 -1
  32. package/resources/browsers/index.d.mts.map +1 -1
  33. package/resources/browsers/index.d.ts +1 -1
  34. package/resources/browsers/index.d.ts.map +1 -1
  35. package/resources/browsers/index.js.map +1 -1
  36. package/resources/browsers/index.mjs.map +1 -1
  37. package/resources/browsers/telemetry.d.mts +2076 -66
  38. package/resources/browsers/telemetry.d.mts.map +1 -1
  39. package/resources/browsers/telemetry.d.ts +2076 -66
  40. package/resources/browsers/telemetry.d.ts.map +1 -1
  41. package/resources/index.d.mts +1 -0
  42. package/resources/index.d.mts.map +1 -1
  43. package/resources/index.d.ts +1 -0
  44. package/resources/index.d.ts.map +1 -1
  45. package/resources/index.js +3 -1
  46. package/resources/index.js.map +1 -1
  47. package/resources/index.mjs +1 -0
  48. package/resources/index.mjs.map +1 -1
  49. package/resources/proxies.d.mts +4 -1
  50. package/resources/proxies.d.mts.map +1 -1
  51. package/resources/proxies.d.ts +4 -1
  52. package/resources/proxies.d.ts.map +1 -1
  53. package/resources/proxies.js +4 -1
  54. package/resources/proxies.js.map +1 -1
  55. package/resources/proxies.mjs +4 -1
  56. package/resources/proxies.mjs.map +1 -1
  57. package/resources/site-configs.d.mts +445 -0
  58. package/resources/site-configs.d.mts.map +1 -0
  59. package/resources/site-configs.d.ts +445 -0
  60. package/resources/site-configs.d.ts.map +1 -0
  61. package/resources/site-configs.js +88 -0
  62. package/resources/site-configs.js.map +1 -0
  63. package/resources/site-configs.mjs +84 -0
  64. package/resources/site-configs.mjs.map +1 -0
  65. package/src/client.ts +52 -0
  66. package/src/lib/browser-routing.ts +18 -2
  67. package/src/resources/auth/connections.ts +76 -54
  68. package/src/resources/browser-pools.ts +18 -18
  69. package/src/resources/browsers/browsers.ts +27 -13
  70. package/src/resources/browsers/index.ts +7 -0
  71. package/src/resources/browsers/telemetry.ts +2582 -69
  72. package/src/resources/index.ts +23 -0
  73. package/src/resources/proxies.ts +4 -1
  74. package/src/resources/site-configs.ts +578 -0
  75. package/src/version.ts +1 -1
  76. package/version.d.mts +1 -1
  77. package/version.d.ts +1 -1
  78. package/version.js +1 -1
  79. package/version.mjs +1 -1
@@ -47,7 +47,8 @@ export declare class Telemetry extends APIResource {
47
47
  }
48
48
  export type TelemetryEventsResponsesOffsetPagination = OffsetPagination<TelemetryEventsResponse>;
49
49
  /**
50
- * An agent-driven HTTP call handled by the in-VM API server.
50
+ * An agent-driven HTTP call that drives the browser, handled by the in-VM API
51
+ * server. Calls that manage the VM instead emit platform_api_call.
51
52
  */
52
53
  export interface BrowserAPICallEvent {
53
54
  category: 'control';
@@ -73,7 +74,8 @@ export declare namespace BrowserAPICallEvent {
73
74
  */
74
75
  duration_ms: number;
75
76
  /**
76
- * OpenAPI operationId of the matched route (e.g. processExec, takeScreenshot).
77
+ * Matched route's operation, named as the in-VM API names its handler (e.g.
78
+ * ProcessExec, TakeScreenshot).
77
79
  */
78
80
  operation_id: string;
79
81
  /**
@@ -84,6 +86,12 @@ export declare namespace BrowserAPICallEvent {
84
86
  * HTTP response status code.
85
87
  */
86
88
  status: number;
89
+ /**
90
+ * Source submitted to the Playwright code-execution endpoint, capped at 8192 bytes
91
+ * like every other captured string. A capped value is cut on a character boundary
92
+ * and ends in `...[truncated]`. Absent for every other operation.
93
+ */
94
+ code?: string;
87
95
  }
88
96
  }
89
97
  /**
@@ -93,99 +101,1881 @@ export declare namespace BrowserAPICallEvent {
93
101
  */
94
102
  export interface BrowserCallStack {
95
103
  /**
96
- * Ordered list of call frames, outermost first.
104
+ * Ordered list of call frames, outermost first.
105
+ */
106
+ callFrames: Array<BrowserCallStack.CallFrame>;
107
+ /**
108
+ * Optional label for the stack trace (e.g. async cause).
109
+ */
110
+ description?: string;
111
+ /**
112
+ * Parent stack trace for async stacks.
113
+ */
114
+ parent?: BrowserCallStack;
115
+ }
116
+ export declare namespace BrowserCallStack {
117
+ interface CallFrame {
118
+ /**
119
+ * Zero-based column number within the line.
120
+ */
121
+ columnNumber: number;
122
+ /**
123
+ * JavaScript function name, or empty string for anonymous functions.
124
+ */
125
+ functionName: string;
126
+ /**
127
+ * Zero-based line number within the script.
128
+ */
129
+ lineNumber: number;
130
+ /**
131
+ * CDP script identifier.
132
+ */
133
+ scriptId: string;
134
+ /**
135
+ * URL or name of the script file.
136
+ */
137
+ url: string;
138
+ }
139
+ }
140
+ /**
141
+ * A captcha solve attempt reached a terminal outcome.
142
+ */
143
+ export interface BrowserCaptchaSolveResultEvent {
144
+ category: 'captcha';
145
+ /**
146
+ * Provenance metadata identifying which producer emitted the event.
147
+ */
148
+ source: BrowserEventSource;
149
+ /**
150
+ * Event timestamp in Unix microseconds.
151
+ */
152
+ ts: number;
153
+ type: 'captcha_solve_result';
154
+ data?: BrowserCaptchaSolveResultEvent.Data;
155
+ /**
156
+ * True if the data field was truncated due to size limits.
157
+ */
158
+ truncated?: boolean;
159
+ }
160
+ export declare namespace BrowserCaptchaSolveResultEvent {
161
+ interface Data {
162
+ /**
163
+ * Captcha vendor family. Provider-specific task names are normalized into this
164
+ * set; anything not covered is reported as other.
165
+ */
166
+ captcha_type: 'hcaptcha' | 'recaptcha_v2' | 'recaptcha_v3' | 'turnstile' | 'geetest' | 'other';
167
+ /**
168
+ * Wall-clock duration from solve start to terminal outcome.
169
+ */
170
+ duration_ms: number;
171
+ /**
172
+ * Terminal outcome. success: solver returned a usable solution. failure: solver
173
+ * returned an error (see error_code). timeout: solver did not return within the
174
+ * caller's wait budget. abandoned: caller cancelled or the page navigated away
175
+ * mid-solve.
176
+ */
177
+ status: 'success' | 'failure' | 'timeout' | 'abandoned';
178
+ /**
179
+ * Solver-specific error code on failure (e.g. ERROR_CAPTCHA_UNSOLVABLE). Absent on
180
+ * success.
181
+ */
182
+ error_code?: string;
183
+ /**
184
+ * Solver-assigned identifier. Opaque, useful for support cross-references.
185
+ */
186
+ task_id?: string;
187
+ /**
188
+ * Host of the page where the captcha was solved.
189
+ */
190
+ website_host?: string;
191
+ /**
192
+ * Path of the page where the captcha was solved. Query string excluded.
193
+ */
194
+ website_path?: string;
195
+ }
196
+ }
197
+ /**
198
+ * A browser-control command a client sent over the CDP WebSocket proxy: input
199
+ * gestures, navigation, dialog handling, file selection and screenshots.
200
+ * Configuration commands and the DOM/Runtime traffic a client library issues on
201
+ * the caller's behalf are not reported. One event per browser-control command that
202
+ * reached the browser. The command stream is not sampled, coalesced or reordered.
203
+ * An event is lost only when the method is excluded by telemetry configuration,
204
+ * when the command's arguments do not decode, or when classification cannot keep
205
+ * up. Exclusions are counted in `cdp_disconnect.telemetry_excluded`; the rest in
206
+ * `cdp_disconnect.telemetry_dropped`.
207
+ */
208
+ export interface BrowserCdpCommandEvent {
209
+ category: 'control';
210
+ /**
211
+ * Per-command payload for `cdp_command` events, discriminated by `method`. Each
212
+ * variant carries only the arguments approved for that command: values that could
213
+ * hold a secret — typed and composition text, URLs, referrers, scripts, templates,
214
+ * file paths, drag contents and autofill values — are replaced by a length, a
215
+ * count, a presence flag, an enum or a URL scheme and host.
216
+ */
217
+ data: BrowserCdpCommandEvent.BrowserCdpInputDispatchMouseEventCommandData | BrowserCdpCommandEvent.BrowserCdpInputDispatchKeyEventCommandData | BrowserCdpCommandEvent.BrowserCdpInputInsertTextCommandData | BrowserCdpCommandEvent.BrowserCdpInputImeSetCompositionCommandData | BrowserCdpCommandEvent.BrowserCdpInputDispatchTouchEventCommandData | BrowserCdpCommandEvent.BrowserCdpInputDispatchDragEventCommandData | BrowserCdpCommandEvent.BrowserCdpInputCancelDraggingCommandData | BrowserCdpCommandEvent.BrowserCdpInputEmulateTouchFromMouseEventCommandData | BrowserCdpCommandEvent.BrowserCdpInputSynthesizePinchGestureCommandData | BrowserCdpCommandEvent.BrowserCdpInputSynthesizeScrollGestureCommandData | BrowserCdpCommandEvent.BrowserCdpInputSynthesizeTapGestureCommandData | BrowserCdpCommandEvent.BrowserCdpDomSetFileInputFilesCommandData | BrowserCdpCommandEvent.BrowserCdpDomFocusCommandData | BrowserCdpCommandEvent.BrowserCdpDomScrollIntoViewIfNeededCommandData | BrowserCdpCommandEvent.BrowserCdpPageBringToFrontCommandData | BrowserCdpCommandEvent.BrowserCdpPageCaptureScreenshotCommandData | BrowserCdpCommandEvent.BrowserCdpPageCaptureSnapshotCommandData | BrowserCdpCommandEvent.BrowserCdpPageHandleJavaScriptDialogCommandData | BrowserCdpCommandEvent.BrowserCdpPageNavigateCommandData | BrowserCdpCommandEvent.BrowserCdpPageNavigateToHistoryEntryCommandData | BrowserCdpCommandEvent.BrowserCdpPageReloadCommandData | BrowserCdpCommandEvent.BrowserCdpPagePrintToPdfCommandData | BrowserCdpCommandEvent.BrowserCdpPageStartScreencastCommandData | BrowserCdpCommandEvent.BrowserCdpPageStopScreencastCommandData | BrowserCdpCommandEvent.BrowserCdpPageStopLoadingCommandData | BrowserCdpCommandEvent.BrowserCdpPageCloseCommandData | BrowserCdpCommandEvent.BrowserCdpPageSetWebLifecycleStateCommandData | BrowserCdpCommandEvent.BrowserCdpTargetActivateTargetCommandData | BrowserCdpCommandEvent.BrowserCdpTargetCloseTargetCommandData | BrowserCdpCommandEvent.BrowserCdpTargetCreateTargetCommandData | BrowserCdpCommandEvent.BrowserCdpTargetCreateBrowserContextCommandData | BrowserCdpCommandEvent.BrowserCdpTargetDisposeBrowserContextCommandData | BrowserCdpCommandEvent.BrowserCdpTargetOpenDevToolsCommandData | BrowserCdpCommandEvent.BrowserCdpBrowserCancelDownloadCommandData | BrowserCdpCommandEvent.BrowserCdpBrowserCloseCommandData | BrowserCdpCommandEvent.BrowserCdpBrowserSetWindowBoundsCommandData | BrowserCdpCommandEvent.BrowserCdpBrowserSetContentsSizeCommandData | BrowserCdpCommandEvent.BrowserCdpAutofillTriggerCommandData;
218
+ /**
219
+ * Provenance metadata identifying which producer emitted the event.
220
+ */
221
+ source: BrowserEventSource;
222
+ /**
223
+ * Event timestamp in Unix microseconds.
224
+ */
225
+ ts: number;
226
+ type: 'cdp_command';
227
+ /**
228
+ * True if the data field was truncated due to size limits.
229
+ */
230
+ truncated?: boolean;
231
+ }
232
+ export declare namespace BrowserCdpCommandEvent {
233
+ /**
234
+ * Sanitized `Input.dispatchMouseEvent` arguments. Canonical input:
235
+ * `Input.dispatchMouseEvent` in devtools-protocol@2d019e73, pinned at
236
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
237
+ * Every argument of this command has a retained or redacted decision in
238
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
239
+ */
240
+ interface BrowserCdpInputDispatchMouseEventCommandData {
241
+ /**
242
+ * Mouse event phase: `mousePressed`, `mouseReleased`, `mouseMoved` or
243
+ * `mouseWheel`. A value the protocol does not define is reported as `other`.
244
+ */
245
+ event_type: 'mousePressed' | 'mouseReleased' | 'mouseMoved' | 'mouseWheel' | 'other';
246
+ method: 'Input.dispatchMouseEvent';
247
+ /**
248
+ * Button named by the command (`none`, `left`, `middle`, `right`, `back`,
249
+ * `forward`). A value the protocol does not define is reported as `other`.
250
+ */
251
+ button?: 'none' | 'left' | 'middle' | 'right' | 'back' | 'forward' | 'other';
252
+ /**
253
+ * Bit field of buttons held down. Non-zero on a `mouseMoved` means the move is a
254
+ * drag path.
255
+ */
256
+ buttons?: number;
257
+ /**
258
+ * Number of times the button was clicked (2 is a double click).
259
+ */
260
+ click_count?: number;
261
+ /**
262
+ * The command's JSON-RPC id, so the command can be joined to the result the
263
+ * browser returned for it. Absent when the client sent none.
264
+ */
265
+ command_id?: number;
266
+ /**
267
+ * Identifies the CDP proxy connection the command arrived on, matching
268
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
269
+ * told apart by this.
270
+ */
271
+ connection_id?: string;
272
+ /**
273
+ * Horizontal scroll delta, for `mouseWheel`.
274
+ */
275
+ delta_x?: number;
276
+ /**
277
+ * Vertical scroll delta, for `mouseWheel`.
278
+ */
279
+ delta_y?: number;
280
+ /**
281
+ * Normalized pressure, 0 to 1.
282
+ */
283
+ force?: number;
284
+ /**
285
+ * Bit field of held modifier keys (1=Alt, 2=Ctrl, 4=Meta, 8=Shift).
286
+ */
287
+ modifiers?: number;
288
+ /**
289
+ * Pointer that generated the event (`mouse` or `pen`). A value the protocol does
290
+ * not define is reported as `other`.
291
+ */
292
+ pointer_type?: 'mouse' | 'pen' | 'other';
293
+ /**
294
+ * CDP session identifier the command was addressed to. Absent for browser-level
295
+ * commands. Clipped to 128 characters.
296
+ */
297
+ session_id?: string;
298
+ /**
299
+ * Normalized tangential pressure, -1 to 1.
300
+ */
301
+ tangential_pressure?: number;
302
+ /**
303
+ * Pen tilt from the Y-Z plane, in degrees.
304
+ */
305
+ tilt_x?: number;
306
+ /**
307
+ * Pen tilt from the X-Z plane, in degrees.
308
+ */
309
+ tilt_y?: number;
310
+ /**
311
+ * Pen clockwise rotation, in degrees.
312
+ */
313
+ twist?: number;
314
+ /**
315
+ * Viewport x coordinate in CSS pixels.
316
+ */
317
+ x?: number;
318
+ /**
319
+ * Viewport y coordinate in CSS pixels.
320
+ */
321
+ y?: number;
322
+ }
323
+ /**
324
+ * Sanitized `Input.dispatchKeyEvent` arguments. Canonical input:
325
+ * `Input.dispatchKeyEvent` in devtools-protocol@2d019e73, pinned at
326
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
327
+ * Every argument of this command has a retained or redacted decision in
328
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
329
+ */
330
+ interface BrowserCdpInputDispatchKeyEventCommandData {
331
+ /**
332
+ * Key event phase: `keyDown`, `keyUp`, `rawKeyDown` or `char`. A value the
333
+ * protocol does not define is reported as `other`.
334
+ */
335
+ event_type: 'keyDown' | 'keyUp' | 'rawKeyDown' | 'char' | 'other';
336
+ method: 'Input.dispatchKeyEvent';
337
+ /**
338
+ * Whether the event was generated by key repeat.
339
+ */
340
+ auto_repeat?: boolean;
341
+ /**
342
+ * Number of editing commands (e.g. `selectAll`) carried by the event.
343
+ */
344
+ command_count?: number;
345
+ /**
346
+ * The command's JSON-RPC id, so the command can be joined to the result the
347
+ * browser returned for it. Absent when the client sent none.
348
+ */
349
+ command_id?: number;
350
+ /**
351
+ * Identifies the CDP proxy connection the command arrived on, matching
352
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
353
+ * told apart by this.
354
+ */
355
+ connection_id?: string;
356
+ /**
357
+ * Whether the key is on the numeric keypad.
358
+ */
359
+ is_keypad?: boolean;
360
+ /**
361
+ * Whether the event is a system key event.
362
+ */
363
+ is_system_key?: boolean;
364
+ /**
365
+ * Keyboard location (1=left, 2=right, 3=numpad).
366
+ */
367
+ location?: number;
368
+ /**
369
+ * Bit field of held modifier keys (1=Alt, 2=Ctrl, 4=Meta, 8=Shift).
370
+ */
371
+ modifiers?: number;
372
+ /**
373
+ * Key that commands the page rather than typing into it (e.g. `Enter`, `Tab`,
374
+ * `ArrowDown`, `F5`). Keys that produce a character are never captured; those are
375
+ * counted by `text_length`.
376
+ */
377
+ named_key?: string;
378
+ /**
379
+ * CDP session identifier the command was addressed to. Absent for browser-level
380
+ * commands. Clipped to 128 characters.
381
+ */
382
+ session_id?: string;
383
+ /**
384
+ * Number of characters the command submitted. The text itself is never captured.
385
+ */
386
+ text_length?: number;
387
+ }
388
+ /**
389
+ * Sanitized `Input.insertText` arguments. Canonical input: `Input.insertText` in
390
+ * devtools-protocol@2d019e73, pinned at
391
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
392
+ * Every argument of this command has a retained or redacted decision in
393
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
394
+ */
395
+ interface BrowserCdpInputInsertTextCommandData {
396
+ method: 'Input.insertText';
397
+ /**
398
+ * Number of characters inserted. The text itself is never captured.
399
+ */
400
+ text_length: number;
401
+ /**
402
+ * The command's JSON-RPC id, so the command can be joined to the result the
403
+ * browser returned for it. Absent when the client sent none.
404
+ */
405
+ command_id?: number;
406
+ /**
407
+ * Identifies the CDP proxy connection the command arrived on, matching
408
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
409
+ * told apart by this.
410
+ */
411
+ connection_id?: string;
412
+ /**
413
+ * CDP session identifier the command was addressed to. Absent for browser-level
414
+ * commands. Clipped to 128 characters.
415
+ */
416
+ session_id?: string;
417
+ }
418
+ /**
419
+ * Sanitized `Input.imeSetComposition` arguments. Canonical input:
420
+ * `Input.imeSetComposition` in devtools-protocol@2d019e73, pinned at
421
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
422
+ * Every argument of this command has a retained or redacted decision in
423
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
424
+ */
425
+ interface BrowserCdpInputImeSetCompositionCommandData {
426
+ method: 'Input.imeSetComposition';
427
+ /**
428
+ * Number of characters in the composition. The text itself is never captured.
429
+ */
430
+ text_length: number;
431
+ /**
432
+ * The command's JSON-RPC id, so the command can be joined to the result the
433
+ * browser returned for it. Absent when the client sent none.
434
+ */
435
+ command_id?: number;
436
+ /**
437
+ * Identifies the CDP proxy connection the command arrived on, matching
438
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
439
+ * told apart by this.
440
+ */
441
+ connection_id?: string;
442
+ /**
443
+ * Replacement range end offset.
444
+ */
445
+ replacement_end?: number;
446
+ /**
447
+ * Replacement range start offset.
448
+ */
449
+ replacement_start?: number;
450
+ /**
451
+ * Selection end offset within the composition.
452
+ */
453
+ selection_end?: number;
454
+ /**
455
+ * Selection start offset within the composition.
456
+ */
457
+ selection_start?: number;
458
+ /**
459
+ * CDP session identifier the command was addressed to. Absent for browser-level
460
+ * commands. Clipped to 128 characters.
461
+ */
462
+ session_id?: string;
463
+ }
464
+ /**
465
+ * Sanitized `Input.dispatchTouchEvent` arguments. Canonical input:
466
+ * `Input.dispatchTouchEvent` in devtools-protocol@2d019e73, pinned at
467
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
468
+ * Every argument of this command has a retained or redacted decision in
469
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
470
+ */
471
+ interface BrowserCdpInputDispatchTouchEventCommandData {
472
+ /**
473
+ * Touch event phase: `touchStart`, `touchEnd`, `touchMove` or `touchCancel`. A
474
+ * value the protocol does not define is reported as `other`.
475
+ */
476
+ event_type: 'touchStart' | 'touchEnd' | 'touchMove' | 'touchCancel' | 'other';
477
+ method: 'Input.dispatchTouchEvent';
478
+ /**
479
+ * Number of active touch points the command carried.
480
+ */
481
+ touch_point_count: number;
482
+ /**
483
+ * The command's JSON-RPC id, so the command can be joined to the result the
484
+ * browser returned for it. Absent when the client sent none.
485
+ */
486
+ command_id?: number;
487
+ /**
488
+ * Identifies the CDP proxy connection the command arrived on, matching
489
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
490
+ * told apart by this.
491
+ */
492
+ connection_id?: string;
493
+ /**
494
+ * Normalized pressure of the first touch point, 0 to 1.
495
+ */
496
+ force?: number;
497
+ /**
498
+ * Bit field of held modifier keys (1=Alt, 2=Ctrl, 4=Meta, 8=Shift).
499
+ */
500
+ modifiers?: number;
501
+ /**
502
+ * Horizontal radius of the first touch point.
503
+ */
504
+ radius_x?: number;
505
+ /**
506
+ * Vertical radius of the first touch point.
507
+ */
508
+ radius_y?: number;
509
+ /**
510
+ * Rotation of the first touch point, in degrees.
511
+ */
512
+ rotation_angle?: number;
513
+ /**
514
+ * CDP session identifier the command was addressed to. Absent for browser-level
515
+ * commands. Clipped to 128 characters.
516
+ */
517
+ session_id?: string;
518
+ /**
519
+ * Normalized tangential pressure of the first touch point, -1 to 1.
520
+ */
521
+ tangential_pressure?: number;
522
+ /**
523
+ * Tilt of the first touch point from the Y-Z plane, in degrees.
524
+ */
525
+ tilt_x?: number;
526
+ /**
527
+ * Tilt of the first touch point from the X-Z plane, in degrees.
528
+ */
529
+ tilt_y?: number;
530
+ /**
531
+ * Clockwise rotation of the first touch point, in degrees.
532
+ */
533
+ twist?: number;
534
+ /**
535
+ * Viewport x coordinate of the first touch point. Touch coordinates live inside
536
+ * `touchPoints`, so this is the primary point rather than a command-level
537
+ * argument.
538
+ */
539
+ x?: number;
540
+ /**
541
+ * Viewport y coordinate of the first touch point.
542
+ */
543
+ y?: number;
544
+ }
545
+ /**
546
+ * Sanitized `Input.dispatchDragEvent` arguments. Canonical input:
547
+ * `Input.dispatchDragEvent` in devtools-protocol@2d019e73, pinned at
548
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
549
+ * Every argument of this command has a retained or redacted decision in
550
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
551
+ */
552
+ interface BrowserCdpInputDispatchDragEventCommandData {
553
+ /**
554
+ * Drag event phase: `dragEnter`, `dragOver`, `drop` or `dragCancel`. A value the
555
+ * protocol does not define is reported as `other`.
556
+ */
557
+ event_type: 'dragEnter' | 'dragOver' | 'drop' | 'dragCancel' | 'other';
558
+ method: 'Input.dispatchDragEvent';
559
+ /**
560
+ * The command's JSON-RPC id, so the command can be joined to the result the
561
+ * browser returned for it. Absent when the client sent none.
562
+ */
563
+ command_id?: number;
564
+ /**
565
+ * Identifies the CDP proxy connection the command arrived on, matching
566
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
567
+ * told apart by this.
568
+ */
569
+ connection_id?: string;
570
+ /**
571
+ * Number of files in the drag payload. File paths are never captured.
572
+ */
573
+ drag_file_count?: number;
574
+ /**
575
+ * Number of items in the drag payload. Item contents are never captured.
576
+ */
577
+ drag_item_count?: number;
578
+ /**
579
+ * Distinct top-level MIME categories of the drag items (e.g. `text`, `image`,
580
+ * `application`). Subtypes and contents are never captured. A value the protocol
581
+ * does not define is reported as `other`.
582
+ */
583
+ drag_mime_categories?: Array<'text' | 'image' | 'audio' | 'video' | 'application' | 'font' | 'model' | 'multipart' | 'message' | 'other'>;
584
+ /**
585
+ * Bit field of allowed drag operations (1=copy, 2=link, 16=move).
586
+ */
587
+ drag_operations_mask?: number;
588
+ /**
589
+ * Bit field of held modifier keys (1=Alt, 2=Ctrl, 4=Meta, 8=Shift).
590
+ */
591
+ modifiers?: number;
592
+ /**
593
+ * CDP session identifier the command was addressed to. Absent for browser-level
594
+ * commands. Clipped to 128 characters.
595
+ */
596
+ session_id?: string;
597
+ /**
598
+ * Viewport x coordinate in CSS pixels.
599
+ */
600
+ x?: number;
601
+ /**
602
+ * Viewport y coordinate in CSS pixels.
603
+ */
604
+ y?: number;
605
+ }
606
+ /**
607
+ * Sanitized `Input.cancelDragging` arguments. Canonical input:
608
+ * `Input.cancelDragging` in devtools-protocol@2d019e73, pinned at
609
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
610
+ * Every argument of this command has a retained or redacted decision in
611
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
612
+ */
613
+ interface BrowserCdpInputCancelDraggingCommandData {
614
+ method: 'Input.cancelDragging';
615
+ /**
616
+ * The command's JSON-RPC id, so the command can be joined to the result the
617
+ * browser returned for it. Absent when the client sent none.
618
+ */
619
+ command_id?: number;
620
+ /**
621
+ * Identifies the CDP proxy connection the command arrived on, matching
622
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
623
+ * told apart by this.
624
+ */
625
+ connection_id?: string;
626
+ /**
627
+ * CDP session identifier the command was addressed to. Absent for browser-level
628
+ * commands. Clipped to 128 characters.
629
+ */
630
+ session_id?: string;
631
+ }
632
+ /**
633
+ * Sanitized `Input.emulateTouchFromMouseEvent` arguments. Canonical input:
634
+ * `Input.emulateTouchFromMouseEvent` in devtools-protocol@2d019e73, pinned at
635
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
636
+ * Every argument of this command has a retained or redacted decision in
637
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
638
+ */
639
+ interface BrowserCdpInputEmulateTouchFromMouseEventCommandData {
640
+ /**
641
+ * Mouse event phase being emulated as touch. A value the protocol does not define
642
+ * is reported as `other`.
643
+ */
644
+ event_type: 'mousePressed' | 'mouseReleased' | 'mouseMoved' | 'mouseWheel' | 'other';
645
+ method: 'Input.emulateTouchFromMouseEvent';
646
+ /**
647
+ * Button named by the command. A value the protocol does not define is reported as
648
+ * `other`.
649
+ */
650
+ button?: 'none' | 'left' | 'middle' | 'right' | 'back' | 'forward' | 'other';
651
+ /**
652
+ * Number of times the button was clicked.
653
+ */
654
+ click_count?: number;
655
+ /**
656
+ * The command's JSON-RPC id, so the command can be joined to the result the
657
+ * browser returned for it. Absent when the client sent none.
658
+ */
659
+ command_id?: number;
660
+ /**
661
+ * Identifies the CDP proxy connection the command arrived on, matching
662
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
663
+ * told apart by this.
664
+ */
665
+ connection_id?: string;
666
+ /**
667
+ * Horizontal scroll delta.
668
+ */
669
+ delta_x?: number;
670
+ /**
671
+ * Vertical scroll delta.
672
+ */
673
+ delta_y?: number;
674
+ /**
675
+ * Bit field of held modifier keys (1=Alt, 2=Ctrl, 4=Meta, 8=Shift).
676
+ */
677
+ modifiers?: number;
678
+ /**
679
+ * CDP session identifier the command was addressed to. Absent for browser-level
680
+ * commands. Clipped to 128 characters.
681
+ */
682
+ session_id?: string;
683
+ /**
684
+ * Viewport x coordinate in CSS pixels.
685
+ */
686
+ x?: number;
687
+ /**
688
+ * Viewport y coordinate in CSS pixels.
689
+ */
690
+ y?: number;
691
+ }
692
+ /**
693
+ * Sanitized `Input.synthesizePinchGesture` arguments. Canonical input:
694
+ * `Input.synthesizePinchGesture` in devtools-protocol@2d019e73, pinned at
695
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
696
+ * Every argument of this command has a retained or redacted decision in
697
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
698
+ */
699
+ interface BrowserCdpInputSynthesizePinchGestureCommandData {
700
+ method: 'Input.synthesizePinchGesture';
701
+ /**
702
+ * The command's JSON-RPC id, so the command can be joined to the result the
703
+ * browser returned for it. Absent when the client sent none.
704
+ */
705
+ command_id?: number;
706
+ /**
707
+ * Identifies the CDP proxy connection the command arrived on, matching
708
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
709
+ * told apart by this.
710
+ */
711
+ connection_id?: string;
712
+ /**
713
+ * Input source the synthesized gesture emulates. A value the protocol does not
714
+ * define is reported as `other`.
715
+ */
716
+ gesture_source_type?: 'default' | 'touch' | 'mouse' | 'other';
717
+ /**
718
+ * Relative pointer speed, in pixels per second.
719
+ */
720
+ relative_speed?: number;
721
+ /**
722
+ * Relative scale of the pinch (>1 zooms in).
723
+ */
724
+ scale_factor?: number;
725
+ /**
726
+ * CDP session identifier the command was addressed to. Absent for browser-level
727
+ * commands. Clipped to 128 characters.
728
+ */
729
+ session_id?: string;
730
+ /**
731
+ * Viewport x coordinate in CSS pixels.
732
+ */
733
+ x?: number;
734
+ /**
735
+ * Viewport y coordinate in CSS pixels.
736
+ */
737
+ y?: number;
738
+ }
739
+ /**
740
+ * Sanitized `Input.synthesizeScrollGesture` arguments. Canonical input:
741
+ * `Input.synthesizeScrollGesture` in devtools-protocol@2d019e73, pinned at
742
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
743
+ * Every argument of this command has a retained or redacted decision in
744
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
745
+ */
746
+ interface BrowserCdpInputSynthesizeScrollGestureCommandData {
747
+ method: 'Input.synthesizeScrollGesture';
748
+ /**
749
+ * The command's JSON-RPC id, so the command can be joined to the result the
750
+ * browser returned for it. Absent when the client sent none.
751
+ */
752
+ command_id?: number;
753
+ /**
754
+ * Identifies the CDP proxy connection the command arrived on, matching
755
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
756
+ * told apart by this.
757
+ */
758
+ connection_id?: string;
759
+ /**
760
+ * Input source the synthesized gesture emulates. A value the protocol does not
761
+ * define is reported as `other`.
762
+ */
763
+ gesture_source_type?: 'default' | 'touch' | 'mouse' | 'other';
764
+ /**
765
+ * Whether fling was suppressed.
766
+ */
767
+ prevent_fling?: boolean;
768
+ /**
769
+ * Number of additional repeats of the scroll.
770
+ */
771
+ repeat_count?: number;
772
+ /**
773
+ * Delay between repeats, in milliseconds.
774
+ */
775
+ repeat_delay_ms?: number;
776
+ /**
777
+ * CDP session identifier the command was addressed to. Absent for browser-level
778
+ * commands. Clipped to 128 characters.
779
+ */
780
+ session_id?: string;
781
+ /**
782
+ * Swipe speed in pixels per second.
783
+ */
784
+ speed?: number;
785
+ /**
786
+ * Viewport x coordinate in CSS pixels.
787
+ */
788
+ x?: number;
789
+ /**
790
+ * Horizontal scroll distance in CSS pixels; positive scrolls left.
791
+ */
792
+ x_distance?: number;
793
+ /**
794
+ * Additional horizontal distance scrolled past the end.
795
+ */
796
+ x_overscroll?: number;
797
+ /**
798
+ * Viewport y coordinate in CSS pixels.
799
+ */
800
+ y?: number;
801
+ /**
802
+ * Vertical scroll distance in CSS pixels; positive scrolls up.
803
+ */
804
+ y_distance?: number;
805
+ /**
806
+ * Additional vertical distance scrolled past the end.
807
+ */
808
+ y_overscroll?: number;
809
+ }
810
+ /**
811
+ * Sanitized `Input.synthesizeTapGesture` arguments. Canonical input:
812
+ * `Input.synthesizeTapGesture` in devtools-protocol@2d019e73, pinned at
813
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
814
+ * Every argument of this command has a retained or redacted decision in
815
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
816
+ */
817
+ interface BrowserCdpInputSynthesizeTapGestureCommandData {
818
+ method: 'Input.synthesizeTapGesture';
819
+ /**
820
+ * The command's JSON-RPC id, so the command can be joined to the result the
821
+ * browser returned for it. Absent when the client sent none.
822
+ */
823
+ command_id?: number;
824
+ /**
825
+ * Identifies the CDP proxy connection the command arrived on, matching
826
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
827
+ * told apart by this.
828
+ */
829
+ connection_id?: string;
830
+ /**
831
+ * Duration between touchdown and touchup, in milliseconds.
832
+ */
833
+ duration?: number;
834
+ /**
835
+ * Input source the synthesized gesture emulates. A value the protocol does not
836
+ * define is reported as `other`.
837
+ */
838
+ gesture_source_type?: 'default' | 'touch' | 'mouse' | 'other';
839
+ /**
840
+ * CDP session identifier the command was addressed to. Absent for browser-level
841
+ * commands. Clipped to 128 characters.
842
+ */
843
+ session_id?: string;
844
+ /**
845
+ * Number of times to tap (2 is a double tap).
846
+ */
847
+ tap_count?: number;
848
+ /**
849
+ * Viewport x coordinate in CSS pixels.
850
+ */
851
+ x?: number;
852
+ /**
853
+ * Viewport y coordinate in CSS pixels.
854
+ */
855
+ y?: number;
856
+ }
857
+ /**
858
+ * Sanitized `DOM.setFileInputFiles` arguments. Canonical input:
859
+ * `DOM.setFileInputFiles` in devtools-protocol@2d019e73, pinned at
860
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
861
+ * Every argument of this command has a retained or redacted decision in
862
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
863
+ */
864
+ interface BrowserCdpDomSetFileInputFilesCommandData {
865
+ /**
866
+ * Number of files handed to the input. File paths are never captured.
867
+ */
868
+ file_count: number;
869
+ method: 'DOM.setFileInputFiles';
870
+ /**
871
+ * Opaque backend DOM node identifier the command targeted.
872
+ */
873
+ backend_node_id?: number;
874
+ /**
875
+ * The command's JSON-RPC id, so the command can be joined to the result the
876
+ * browser returned for it. Absent when the client sent none.
877
+ */
878
+ command_id?: number;
879
+ /**
880
+ * Identifies the CDP proxy connection the command arrived on, matching
881
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
882
+ * told apart by this.
883
+ */
884
+ connection_id?: string;
885
+ /**
886
+ * Opaque DOM node identifier the command targeted.
887
+ */
888
+ node_id?: number;
889
+ /**
890
+ * Opaque Runtime remote object identifier the command targeted. Clipped to 128
891
+ * characters; a longer value is not a real identifier.
892
+ */
893
+ object_id?: string;
894
+ /**
895
+ * CDP session identifier the command was addressed to. Absent for browser-level
896
+ * commands. Clipped to 128 characters.
897
+ */
898
+ session_id?: string;
899
+ }
900
+ /**
901
+ * Sanitized `DOM.focus` arguments. Canonical input: `DOM.focus` in
902
+ * devtools-protocol@2d019e73, pinned at
903
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
904
+ * Every argument of this command has a retained or redacted decision in
905
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
906
+ */
907
+ interface BrowserCdpDomFocusCommandData {
908
+ method: 'DOM.focus';
909
+ /**
910
+ * Opaque backend DOM node identifier the command targeted.
911
+ */
912
+ backend_node_id?: number;
913
+ /**
914
+ * The command's JSON-RPC id, so the command can be joined to the result the
915
+ * browser returned for it. Absent when the client sent none.
916
+ */
917
+ command_id?: number;
918
+ /**
919
+ * Identifies the CDP proxy connection the command arrived on, matching
920
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
921
+ * told apart by this.
922
+ */
923
+ connection_id?: string;
924
+ /**
925
+ * Opaque DOM node identifier the command targeted.
926
+ */
927
+ node_id?: number;
928
+ /**
929
+ * Opaque Runtime remote object identifier the command targeted. Clipped to 128
930
+ * characters; a longer value is not a real identifier.
931
+ */
932
+ object_id?: string;
933
+ /**
934
+ * CDP session identifier the command was addressed to. Absent for browser-level
935
+ * commands. Clipped to 128 characters.
936
+ */
937
+ session_id?: string;
938
+ }
939
+ /**
940
+ * Sanitized `DOM.scrollIntoViewIfNeeded` arguments. Canonical input:
941
+ * `DOM.scrollIntoViewIfNeeded` in devtools-protocol@2d019e73, pinned at
942
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
943
+ * Every argument of this command has a retained or redacted decision in
944
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
945
+ */
946
+ interface BrowserCdpDomScrollIntoViewIfNeededCommandData {
947
+ method: 'DOM.scrollIntoViewIfNeeded';
948
+ /**
949
+ * Opaque backend DOM node identifier the command targeted.
950
+ */
951
+ backend_node_id?: number;
952
+ /**
953
+ * The command's JSON-RPC id, so the command can be joined to the result the
954
+ * browser returned for it. Absent when the client sent none.
955
+ */
956
+ command_id?: number;
957
+ /**
958
+ * Identifies the CDP proxy connection the command arrived on, matching
959
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
960
+ * told apart by this.
961
+ */
962
+ connection_id?: string;
963
+ /**
964
+ * Opaque DOM node identifier the command targeted.
965
+ */
966
+ node_id?: number;
967
+ /**
968
+ * Opaque Runtime remote object identifier the command targeted. Clipped to 128
969
+ * characters; a longer value is not a real identifier.
970
+ */
971
+ object_id?: string;
972
+ /**
973
+ * Height of the rect the command scrolled to.
974
+ */
975
+ rect_height?: number;
976
+ /**
977
+ * Width of the rect the command scrolled to.
978
+ */
979
+ rect_width?: number;
980
+ /**
981
+ * X offset of the rect the command scrolled to, relative to the node.
982
+ */
983
+ rect_x?: number;
984
+ /**
985
+ * Y offset of the rect the command scrolled to, relative to the node.
986
+ */
987
+ rect_y?: number;
988
+ /**
989
+ * CDP session identifier the command was addressed to. Absent for browser-level
990
+ * commands. Clipped to 128 characters.
991
+ */
992
+ session_id?: string;
993
+ }
994
+ /**
995
+ * Sanitized `Page.bringToFront` arguments. Canonical input: `Page.bringToFront` in
996
+ * devtools-protocol@2d019e73, pinned at
997
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
998
+ * Every argument of this command has a retained or redacted decision in
999
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
1000
+ */
1001
+ interface BrowserCdpPageBringToFrontCommandData {
1002
+ method: 'Page.bringToFront';
1003
+ /**
1004
+ * The command's JSON-RPC id, so the command can be joined to the result the
1005
+ * browser returned for it. Absent when the client sent none.
1006
+ */
1007
+ command_id?: number;
1008
+ /**
1009
+ * Identifies the CDP proxy connection the command arrived on, matching
1010
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
1011
+ * told apart by this.
1012
+ */
1013
+ connection_id?: string;
1014
+ /**
1015
+ * CDP session identifier the command was addressed to. Absent for browser-level
1016
+ * commands. Clipped to 128 characters.
1017
+ */
1018
+ session_id?: string;
1019
+ }
1020
+ /**
1021
+ * Sanitized `Page.captureScreenshot` arguments. Canonical input:
1022
+ * `Page.captureScreenshot` in devtools-protocol@2d019e73, pinned at
1023
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
1024
+ * Every argument of this command has a retained or redacted decision in
1025
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
1026
+ */
1027
+ interface BrowserCdpPageCaptureScreenshotCommandData {
1028
+ method: 'Page.captureScreenshot';
1029
+ /**
1030
+ * Whether the capture extended past the viewport.
1031
+ */
1032
+ capture_beyond_viewport?: boolean;
1033
+ /**
1034
+ * Clip region height in CSS pixels.
1035
+ */
1036
+ clip_height?: number;
1037
+ /**
1038
+ * Clip region page scale factor.
1039
+ */
1040
+ clip_scale?: number;
1041
+ /**
1042
+ * Clip region width in CSS pixels.
1043
+ */
1044
+ clip_width?: number;
1045
+ /**
1046
+ * Clip region x offset in CSS pixels.
1047
+ */
1048
+ clip_x?: number;
1049
+ /**
1050
+ * Clip region y offset in CSS pixels.
1051
+ */
1052
+ clip_y?: number;
1053
+ /**
1054
+ * The command's JSON-RPC id, so the command can be joined to the result the
1055
+ * browser returned for it. Absent when the client sent none.
1056
+ */
1057
+ command_id?: number;
1058
+ /**
1059
+ * Identifies the CDP proxy connection the command arrived on, matching
1060
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
1061
+ * told apart by this.
1062
+ */
1063
+ connection_id?: string;
1064
+ /**
1065
+ * Image format requested (`jpeg`, `png` or `webp`). A value the protocol does not
1066
+ * define is reported as `other`.
1067
+ */
1068
+ format?: 'jpeg' | 'png' | 'webp' | 'other';
1069
+ /**
1070
+ * Whether the capture was taken from the surface rather than the view.
1071
+ */
1072
+ from_surface?: boolean;
1073
+ /**
1074
+ * Whether encoding favored speed over size.
1075
+ */
1076
+ optimize_for_speed?: boolean;
1077
+ /**
1078
+ * Compression quality, 0 to 100, for lossy formats.
1079
+ */
1080
+ quality?: number;
1081
+ /**
1082
+ * CDP session identifier the command was addressed to. Absent for browser-level
1083
+ * commands. Clipped to 128 characters.
1084
+ */
1085
+ session_id?: string;
1086
+ }
1087
+ /**
1088
+ * Sanitized `Page.captureSnapshot` arguments. Canonical input:
1089
+ * `Page.captureSnapshot` in devtools-protocol@2d019e73, pinned at
1090
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
1091
+ * Every argument of this command has a retained or redacted decision in
1092
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
1093
+ */
1094
+ interface BrowserCdpPageCaptureSnapshotCommandData {
1095
+ method: 'Page.captureSnapshot';
1096
+ /**
1097
+ * The command's JSON-RPC id, so the command can be joined to the result the
1098
+ * browser returned for it. Absent when the client sent none.
1099
+ */
1100
+ command_id?: number;
1101
+ /**
1102
+ * Identifies the CDP proxy connection the command arrived on, matching
1103
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
1104
+ * told apart by this.
1105
+ */
1106
+ connection_id?: string;
1107
+ /**
1108
+ * Snapshot format requested (`mhtml`). A value the protocol does not define is
1109
+ * reported as `other`.
1110
+ */
1111
+ format?: 'mhtml' | 'other';
1112
+ /**
1113
+ * CDP session identifier the command was addressed to. Absent for browser-level
1114
+ * commands. Clipped to 128 characters.
1115
+ */
1116
+ session_id?: string;
1117
+ }
1118
+ /**
1119
+ * Sanitized `Page.handleJavaScriptDialog` arguments. Canonical input:
1120
+ * `Page.handleJavaScriptDialog` in devtools-protocol@2d019e73, pinned at
1121
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
1122
+ * Every argument of this command has a retained or redacted decision in
1123
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
1124
+ */
1125
+ interface BrowserCdpPageHandleJavaScriptDialogCommandData {
1126
+ /**
1127
+ * Whether the dialog was accepted or dismissed.
1128
+ */
1129
+ accept: boolean;
1130
+ method: 'Page.handleJavaScriptDialog';
1131
+ /**
1132
+ * The command's JSON-RPC id, so the command can be joined to the result the
1133
+ * browser returned for it. Absent when the client sent none.
1134
+ */
1135
+ command_id?: number;
1136
+ /**
1137
+ * Identifies the CDP proxy connection the command arrived on, matching
1138
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
1139
+ * told apart by this.
1140
+ */
1141
+ connection_id?: string;
1142
+ /**
1143
+ * Number of characters entered into a prompt dialog. The text itself is never
1144
+ * captured.
1145
+ */
1146
+ prompt_text_length?: number;
1147
+ /**
1148
+ * CDP session identifier the command was addressed to. Absent for browser-level
1149
+ * commands. Clipped to 128 characters.
1150
+ */
1151
+ session_id?: string;
1152
+ }
1153
+ /**
1154
+ * Sanitized `Page.navigate` arguments. Canonical input: `Page.navigate` in
1155
+ * devtools-protocol@2d019e73, pinned at
1156
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
1157
+ * Every argument of this command has a retained or redacted decision in
1158
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
1159
+ */
1160
+ interface BrowserCdpPageNavigateCommandData {
1161
+ method: 'Page.navigate';
1162
+ /**
1163
+ * The command's JSON-RPC id, so the command can be joined to the result the
1164
+ * browser returned for it. Absent when the client sent none.
1165
+ */
1166
+ command_id?: number;
1167
+ /**
1168
+ * Identifies the CDP proxy connection the command arrived on, matching
1169
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
1170
+ * told apart by this.
1171
+ */
1172
+ connection_id?: string;
1173
+ /**
1174
+ * Opaque frame identifier. Clipped to 128 characters; a longer value is not a real
1175
+ * identifier.
1176
+ */
1177
+ frame_id?: string;
1178
+ /**
1179
+ * Referrer policy named by the command. A value the protocol does not define is
1180
+ * reported as `other`.
1181
+ */
1182
+ referrer_policy?: 'noReferrer' | 'noReferrerWhenDowngrade' | 'origin' | 'originWhenCrossOrigin' | 'sameOrigin' | 'strictOrigin' | 'strictOriginWhenCrossOrigin' | 'unsafeUrl' | 'other';
1183
+ /**
1184
+ * Whether the command carried a referrer. The referrer itself is never captured.
1185
+ */
1186
+ referrer_present?: boolean;
1187
+ /**
1188
+ * CDP session identifier the command was addressed to. Absent for browser-level
1189
+ * commands. Clipped to 128 characters.
1190
+ */
1191
+ session_id?: string;
1192
+ /**
1193
+ * Navigation reason reported by the caller (e.g. `link`, `typed`, `reload`). A
1194
+ * value the protocol does not define is reported as `other`.
1195
+ */
1196
+ transition_type?: 'link' | 'typed' | 'address_bar' | 'auto_bookmark' | 'auto_subframe' | 'manual_subframe' | 'generated' | 'auto_toplevel' | 'form_submit' | 'reload' | 'keyword' | 'keyword_generated' | 'other';
1197
+ /**
1198
+ * Scheme of the destination URL (e.g. `https`, `about`, `data`). The rest of the
1199
+ * URL is never captured.
1200
+ */
1201
+ url_scheme?: string;
1202
+ }
1203
+ /**
1204
+ * Sanitized `Page.navigateToHistoryEntry` arguments. Canonical input:
1205
+ * `Page.navigateToHistoryEntry` in devtools-protocol@2d019e73, pinned at
1206
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
1207
+ * Every argument of this command has a retained or redacted decision in
1208
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
1209
+ */
1210
+ interface BrowserCdpPageNavigateToHistoryEntryCommandData {
1211
+ /**
1212
+ * History entry the command navigated to.
1213
+ */
1214
+ entry_id: number;
1215
+ method: 'Page.navigateToHistoryEntry';
1216
+ /**
1217
+ * The command's JSON-RPC id, so the command can be joined to the result the
1218
+ * browser returned for it. Absent when the client sent none.
1219
+ */
1220
+ command_id?: number;
1221
+ /**
1222
+ * Identifies the CDP proxy connection the command arrived on, matching
1223
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
1224
+ * told apart by this.
1225
+ */
1226
+ connection_id?: string;
1227
+ /**
1228
+ * CDP session identifier the command was addressed to. Absent for browser-level
1229
+ * commands. Clipped to 128 characters.
1230
+ */
1231
+ session_id?: string;
1232
+ }
1233
+ /**
1234
+ * Sanitized `Page.reload` arguments. Canonical input: `Page.reload` in
1235
+ * devtools-protocol@2d019e73, pinned at
1236
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
1237
+ * Every argument of this command has a retained or redacted decision in
1238
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
1239
+ */
1240
+ interface BrowserCdpPageReloadCommandData {
1241
+ method: 'Page.reload';
1242
+ /**
1243
+ * The command's JSON-RPC id, so the command can be joined to the result the
1244
+ * browser returned for it. Absent when the client sent none.
1245
+ */
1246
+ command_id?: number;
1247
+ /**
1248
+ * Identifies the CDP proxy connection the command arrived on, matching
1249
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
1250
+ * told apart by this.
1251
+ */
1252
+ connection_id?: string;
1253
+ /**
1254
+ * Whether the reload bypassed the cache.
1255
+ */
1256
+ ignore_cache?: boolean;
1257
+ /**
1258
+ * Opaque document loader identifier. Clipped to 128 characters; a longer value is
1259
+ * not a real identifier.
1260
+ */
1261
+ loader_id?: string;
1262
+ /**
1263
+ * Number of characters in the injected script.
1264
+ */
1265
+ script_length?: number;
1266
+ /**
1267
+ * CDP session identifier the command was addressed to. Absent for browser-level
1268
+ * commands. Clipped to 128 characters.
1269
+ */
1270
+ session_id?: string;
1271
+ }
1272
+ /**
1273
+ * Sanitized `Page.printToPDF` arguments. Canonical input: `Page.printToPDF` in
1274
+ * devtools-protocol@2d019e73, pinned at
1275
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
1276
+ * Every argument of this command has a retained or redacted decision in
1277
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
1278
+ */
1279
+ interface BrowserCdpPagePrintToPdfCommandData {
1280
+ method: 'Page.printToPDF';
1281
+ /**
1282
+ * The command's JSON-RPC id, so the command can be joined to the result the
1283
+ * browser returned for it. Absent when the client sent none.
1284
+ */
1285
+ command_id?: number;
1286
+ /**
1287
+ * Identifies the CDP proxy connection the command arrived on, matching
1288
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
1289
+ * told apart by this.
1290
+ */
1291
+ connection_id?: string;
1292
+ /**
1293
+ * Whether a header and footer were rendered.
1294
+ */
1295
+ display_header_footer?: boolean;
1296
+ /**
1297
+ * Whether a footer template was supplied. The template itself is never captured.
1298
+ */
1299
+ footer_template_present?: boolean;
1300
+ /**
1301
+ * Whether a document outline was embedded.
1302
+ */
1303
+ generate_document_outline?: boolean;
1304
+ /**
1305
+ * Whether a tagged (accessible) PDF was requested.
1306
+ */
1307
+ generate_tagged_pdf?: boolean;
1308
+ /**
1309
+ * Whether a header template was supplied. The template itself is never captured.
1310
+ */
1311
+ header_template_present?: boolean;
1312
+ /**
1313
+ * Whether the page was laid out in landscape.
1314
+ */
1315
+ landscape?: boolean;
1316
+ /**
1317
+ * Bottom margin in inches.
1318
+ */
1319
+ margin_bottom?: number;
1320
+ /**
1321
+ * Left margin in inches.
1322
+ */
1323
+ margin_left?: number;
1324
+ /**
1325
+ * Right margin in inches.
1326
+ */
1327
+ margin_right?: number;
1328
+ /**
1329
+ * Top margin in inches.
1330
+ */
1331
+ margin_top?: number;
1332
+ /**
1333
+ * Whether a page range was supplied.
1334
+ */
1335
+ page_ranges_present?: boolean;
1336
+ /**
1337
+ * Paper height in inches.
1338
+ */
1339
+ paper_height?: number;
1340
+ /**
1341
+ * Paper width in inches.
1342
+ */
1343
+ paper_width?: number;
1344
+ /**
1345
+ * Whether the CSS page size was preferred over the paper size.
1346
+ */
1347
+ prefer_css_page_size?: boolean;
1348
+ /**
1349
+ * Whether background graphics were printed.
1350
+ */
1351
+ print_background?: boolean;
1352
+ /**
1353
+ * Page render scale.
1354
+ */
1355
+ scale?: number;
1356
+ /**
1357
+ * CDP session identifier the command was addressed to. Absent for browser-level
1358
+ * commands. Clipped to 128 characters.
1359
+ */
1360
+ session_id?: string;
1361
+ /**
1362
+ * How the PDF was returned (`ReturnAsBase64` or `ReturnAsStream`). A value the
1363
+ * protocol does not define is reported as `other`.
1364
+ */
1365
+ transfer_mode?: 'ReturnAsBase64' | 'ReturnAsStream' | 'other';
1366
+ }
1367
+ /**
1368
+ * Sanitized `Page.startScreencast` arguments. Canonical input:
1369
+ * `Page.startScreencast` in devtools-protocol@2d019e73, pinned at
1370
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
1371
+ * Every argument of this command has a retained or redacted decision in
1372
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
1373
+ */
1374
+ interface BrowserCdpPageStartScreencastCommandData {
1375
+ method: 'Page.startScreencast';
1376
+ /**
1377
+ * The command's JSON-RPC id, so the command can be joined to the result the
1378
+ * browser returned for it. Absent when the client sent none.
1379
+ */
1380
+ command_id?: number;
1381
+ /**
1382
+ * Identifies the CDP proxy connection the command arrived on, matching
1383
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
1384
+ * told apart by this.
1385
+ */
1386
+ connection_id?: string;
1387
+ /**
1388
+ * Frame sampling interval.
1389
+ */
1390
+ every_nth_frame?: number;
1391
+ /**
1392
+ * Frame format requested (`jpeg` or `png`). A value the protocol does not define
1393
+ * is reported as `other`.
1394
+ */
1395
+ format?: 'jpeg' | 'png' | 'other';
1396
+ /**
1397
+ * Maximum frame height in pixels.
1398
+ */
1399
+ max_height?: number;
1400
+ /**
1401
+ * Maximum frame width in pixels.
1402
+ */
1403
+ max_width?: number;
1404
+ /**
1405
+ * Compression quality, 0 to 100.
1406
+ */
1407
+ quality?: number;
1408
+ /**
1409
+ * CDP session identifier the command was addressed to. Absent for browser-level
1410
+ * commands. Clipped to 128 characters.
1411
+ */
1412
+ session_id?: string;
1413
+ }
1414
+ /**
1415
+ * Sanitized `Page.stopScreencast` arguments. Canonical input:
1416
+ * `Page.stopScreencast` in devtools-protocol@2d019e73, pinned at
1417
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
1418
+ * Every argument of this command has a retained or redacted decision in
1419
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
1420
+ */
1421
+ interface BrowserCdpPageStopScreencastCommandData {
1422
+ method: 'Page.stopScreencast';
1423
+ /**
1424
+ * The command's JSON-RPC id, so the command can be joined to the result the
1425
+ * browser returned for it. Absent when the client sent none.
1426
+ */
1427
+ command_id?: number;
1428
+ /**
1429
+ * Identifies the CDP proxy connection the command arrived on, matching
1430
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
1431
+ * told apart by this.
1432
+ */
1433
+ connection_id?: string;
1434
+ /**
1435
+ * CDP session identifier the command was addressed to. Absent for browser-level
1436
+ * commands. Clipped to 128 characters.
1437
+ */
1438
+ session_id?: string;
1439
+ }
1440
+ /**
1441
+ * Sanitized `Page.stopLoading` arguments. Canonical input: `Page.stopLoading` in
1442
+ * devtools-protocol@2d019e73, pinned at
1443
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
1444
+ * Every argument of this command has a retained or redacted decision in
1445
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
1446
+ */
1447
+ interface BrowserCdpPageStopLoadingCommandData {
1448
+ method: 'Page.stopLoading';
1449
+ /**
1450
+ * The command's JSON-RPC id, so the command can be joined to the result the
1451
+ * browser returned for it. Absent when the client sent none.
1452
+ */
1453
+ command_id?: number;
1454
+ /**
1455
+ * Identifies the CDP proxy connection the command arrived on, matching
1456
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
1457
+ * told apart by this.
1458
+ */
1459
+ connection_id?: string;
1460
+ /**
1461
+ * CDP session identifier the command was addressed to. Absent for browser-level
1462
+ * commands. Clipped to 128 characters.
1463
+ */
1464
+ session_id?: string;
1465
+ }
1466
+ /**
1467
+ * Sanitized `Page.close` arguments. Canonical input: `Page.close` in
1468
+ * devtools-protocol@2d019e73, pinned at
1469
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
1470
+ * Every argument of this command has a retained or redacted decision in
1471
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
1472
+ */
1473
+ interface BrowserCdpPageCloseCommandData {
1474
+ method: 'Page.close';
1475
+ /**
1476
+ * The command's JSON-RPC id, so the command can be joined to the result the
1477
+ * browser returned for it. Absent when the client sent none.
1478
+ */
1479
+ command_id?: number;
1480
+ /**
1481
+ * Identifies the CDP proxy connection the command arrived on, matching
1482
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
1483
+ * told apart by this.
1484
+ */
1485
+ connection_id?: string;
1486
+ /**
1487
+ * CDP session identifier the command was addressed to. Absent for browser-level
1488
+ * commands. Clipped to 128 characters.
1489
+ */
1490
+ session_id?: string;
1491
+ }
1492
+ /**
1493
+ * Sanitized `Page.setWebLifecycleState` arguments. Canonical input:
1494
+ * `Page.setWebLifecycleState` in devtools-protocol@2d019e73, pinned at
1495
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
1496
+ * Every argument of this command has a retained or redacted decision in
1497
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
1498
+ */
1499
+ interface BrowserCdpPageSetWebLifecycleStateCommandData {
1500
+ method: 'Page.setWebLifecycleState';
1501
+ /**
1502
+ * Lifecycle state applied (`frozen` or `active`). A value the protocol does not
1503
+ * define is reported as `other`.
1504
+ */
1505
+ state: 'frozen' | 'active' | 'other';
1506
+ /**
1507
+ * The command's JSON-RPC id, so the command can be joined to the result the
1508
+ * browser returned for it. Absent when the client sent none.
1509
+ */
1510
+ command_id?: number;
1511
+ /**
1512
+ * Identifies the CDP proxy connection the command arrived on, matching
1513
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
1514
+ * told apart by this.
1515
+ */
1516
+ connection_id?: string;
1517
+ /**
1518
+ * CDP session identifier the command was addressed to. Absent for browser-level
1519
+ * commands. Clipped to 128 characters.
1520
+ */
1521
+ session_id?: string;
1522
+ }
1523
+ /**
1524
+ * Sanitized `Target.activateTarget` arguments. Canonical input:
1525
+ * `Target.activateTarget` in devtools-protocol@2d019e73, pinned at
1526
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
1527
+ * Every argument of this command has a retained or redacted decision in
1528
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
1529
+ */
1530
+ interface BrowserCdpTargetActivateTargetCommandData {
1531
+ method: 'Target.activateTarget';
1532
+ /**
1533
+ * Opaque target identifier. Clipped to 128 characters; a longer value is not a
1534
+ * real identifier.
1535
+ */
1536
+ target_id: string;
1537
+ /**
1538
+ * The command's JSON-RPC id, so the command can be joined to the result the
1539
+ * browser returned for it. Absent when the client sent none.
1540
+ */
1541
+ command_id?: number;
1542
+ /**
1543
+ * Identifies the CDP proxy connection the command arrived on, matching
1544
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
1545
+ * told apart by this.
1546
+ */
1547
+ connection_id?: string;
1548
+ /**
1549
+ * CDP session identifier the command was addressed to. Absent for browser-level
1550
+ * commands. Clipped to 128 characters.
1551
+ */
1552
+ session_id?: string;
1553
+ }
1554
+ /**
1555
+ * Sanitized `Target.closeTarget` arguments. Canonical input: `Target.closeTarget`
1556
+ * in devtools-protocol@2d019e73, pinned at
1557
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
1558
+ * Every argument of this command has a retained or redacted decision in
1559
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
1560
+ */
1561
+ interface BrowserCdpTargetCloseTargetCommandData {
1562
+ method: 'Target.closeTarget';
1563
+ /**
1564
+ * Opaque target identifier. Clipped to 128 characters; a longer value is not a
1565
+ * real identifier.
1566
+ */
1567
+ target_id: string;
1568
+ /**
1569
+ * The command's JSON-RPC id, so the command can be joined to the result the
1570
+ * browser returned for it. Absent when the client sent none.
1571
+ */
1572
+ command_id?: number;
1573
+ /**
1574
+ * Identifies the CDP proxy connection the command arrived on, matching
1575
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
1576
+ * told apart by this.
1577
+ */
1578
+ connection_id?: string;
1579
+ /**
1580
+ * CDP session identifier the command was addressed to. Absent for browser-level
1581
+ * commands. Clipped to 128 characters.
1582
+ */
1583
+ session_id?: string;
1584
+ }
1585
+ /**
1586
+ * Sanitized `Target.createTarget` arguments. Canonical input:
1587
+ * `Target.createTarget` in devtools-protocol@2d019e73, pinned at
1588
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
1589
+ * Every argument of this command has a retained or redacted decision in
1590
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
1591
+ */
1592
+ interface BrowserCdpTargetCreateTargetCommandData {
1593
+ method: 'Target.createTarget';
1594
+ /**
1595
+ * Whether the target was created in the background.
1596
+ */
1597
+ background?: boolean;
1598
+ /**
1599
+ * Opaque browser context identifier. Clipped to 128 characters; a longer value is
1600
+ * not a real identifier.
1601
+ */
1602
+ browser_context_id?: string;
1603
+ /**
1604
+ * The command's JSON-RPC id, so the command can be joined to the result the
1605
+ * browser returned for it. Absent when the client sent none.
1606
+ */
1607
+ command_id?: number;
1608
+ /**
1609
+ * Identifies the CDP proxy connection the command arrived on, matching
1610
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
1611
+ * told apart by this.
1612
+ */
1613
+ connection_id?: string;
1614
+ /**
1615
+ * Whether BeginFrame control was enabled (headless only).
1616
+ */
1617
+ enable_begin_frame_control?: boolean;
1618
+ /**
1619
+ * Whether the new target was focused.
1620
+ */
1621
+ focus?: boolean;
1622
+ /**
1623
+ * Whether a tab target rather than a page target was created.
1624
+ */
1625
+ for_tab?: boolean;
1626
+ /**
1627
+ * Window height in DIP.
1628
+ */
1629
+ height?: number;
1630
+ /**
1631
+ * Whether the target was created hidden.
1632
+ */
1633
+ hidden?: boolean;
1634
+ /**
1635
+ * Window x position in screen coordinates.
1636
+ */
1637
+ left?: number;
1638
+ /**
1639
+ * Whether a new window was requested.
1640
+ */
1641
+ new_window?: boolean;
1642
+ /**
1643
+ * CDP session identifier the command was addressed to. Absent for browser-level
1644
+ * commands. Clipped to 128 characters.
1645
+ */
1646
+ session_id?: string;
1647
+ /**
1648
+ * Window y position in screen coordinates.
1649
+ */
1650
+ top?: number;
1651
+ /**
1652
+ * Scheme of the destination URL (e.g. `https`, `about`, `data`). The rest of the
1653
+ * URL is never captured.
1654
+ */
1655
+ url_scheme?: string;
1656
+ /**
1657
+ * Window width in DIP.
1658
+ */
1659
+ width?: number;
1660
+ /**
1661
+ * Window state requested (`normal`, `minimized`, `maximized`, `fullscreen`). A
1662
+ * value the protocol does not define is reported as `other`.
1663
+ */
1664
+ window_state?: 'normal' | 'minimized' | 'maximized' | 'fullscreen' | 'other';
1665
+ }
1666
+ /**
1667
+ * Sanitized `Target.createBrowserContext` arguments. Canonical input:
1668
+ * `Target.createBrowserContext` in devtools-protocol@2d019e73, pinned at
1669
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
1670
+ * Every argument of this command has a retained or redacted decision in
1671
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
1672
+ */
1673
+ interface BrowserCdpTargetCreateBrowserContextCommandData {
1674
+ method: 'Target.createBrowserContext';
1675
+ /**
1676
+ * The command's JSON-RPC id, so the command can be joined to the result the
1677
+ * browser returned for it. Absent when the client sent none.
1678
+ */
1679
+ command_id?: number;
1680
+ /**
1681
+ * Identifies the CDP proxy connection the command arrived on, matching
1682
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
1683
+ * told apart by this.
1684
+ */
1685
+ connection_id?: string;
1686
+ /**
1687
+ * Whether the context is disposed when the debugging session detaches.
1688
+ */
1689
+ dispose_on_detach?: boolean;
1690
+ /**
1691
+ * Whether a proxy bypass list was configured.
1692
+ */
1693
+ proxy_bypass_list_present?: boolean;
1694
+ /**
1695
+ * Whether a proxy was configured. The proxy address is never captured.
1696
+ */
1697
+ proxy_server_present?: boolean;
1698
+ /**
1699
+ * CDP session identifier the command was addressed to. Absent for browser-level
1700
+ * commands. Clipped to 128 characters.
1701
+ */
1702
+ session_id?: string;
1703
+ /**
1704
+ * Number of origins granted universal network access. The origins themselves are
1705
+ * never captured.
1706
+ */
1707
+ universal_network_access_origin_count?: number;
1708
+ }
1709
+ /**
1710
+ * Sanitized `Target.disposeBrowserContext` arguments. Canonical input:
1711
+ * `Target.disposeBrowserContext` in devtools-protocol@2d019e73, pinned at
1712
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
1713
+ * Every argument of this command has a retained or redacted decision in
1714
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
97
1715
  */
98
- callFrames: Array<BrowserCallStack.CallFrame>;
1716
+ interface BrowserCdpTargetDisposeBrowserContextCommandData {
1717
+ /**
1718
+ * Opaque browser context identifier. Clipped to 128 characters; a longer value is
1719
+ * not a real identifier.
1720
+ */
1721
+ browser_context_id: string;
1722
+ method: 'Target.disposeBrowserContext';
1723
+ /**
1724
+ * The command's JSON-RPC id, so the command can be joined to the result the
1725
+ * browser returned for it. Absent when the client sent none.
1726
+ */
1727
+ command_id?: number;
1728
+ /**
1729
+ * Identifies the CDP proxy connection the command arrived on, matching
1730
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
1731
+ * told apart by this.
1732
+ */
1733
+ connection_id?: string;
1734
+ /**
1735
+ * CDP session identifier the command was addressed to. Absent for browser-level
1736
+ * commands. Clipped to 128 characters.
1737
+ */
1738
+ session_id?: string;
1739
+ }
99
1740
  /**
100
- * Optional label for the stack trace (e.g. async cause).
1741
+ * Sanitized `Target.openDevTools` arguments. Canonical input:
1742
+ * `Target.openDevTools` in devtools-protocol@2d019e73, pinned at
1743
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
1744
+ * Every argument of this command has a retained or redacted decision in
1745
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
101
1746
  */
102
- description?: string;
1747
+ interface BrowserCdpTargetOpenDevToolsCommandData {
1748
+ method: 'Target.openDevTools';
1749
+ /**
1750
+ * Opaque target identifier. Clipped to 128 characters; a longer value is not a
1751
+ * real identifier.
1752
+ */
1753
+ target_id: string;
1754
+ /**
1755
+ * The command's JSON-RPC id, so the command can be joined to the result the
1756
+ * browser returned for it. Absent when the client sent none.
1757
+ */
1758
+ command_id?: number;
1759
+ /**
1760
+ * Identifies the CDP proxy connection the command arrived on, matching
1761
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
1762
+ * told apart by this.
1763
+ */
1764
+ connection_id?: string;
1765
+ /**
1766
+ * DevTools panel opened. Clipped to 128 characters; a longer value is not a real
1767
+ * identifier.
1768
+ */
1769
+ panel_id?: string;
1770
+ /**
1771
+ * CDP session identifier the command was addressed to. Absent for browser-level
1772
+ * commands. Clipped to 128 characters.
1773
+ */
1774
+ session_id?: string;
1775
+ }
103
1776
  /**
104
- * Parent stack trace for async stacks.
1777
+ * Sanitized `Browser.cancelDownload` arguments. Canonical input:
1778
+ * `Browser.cancelDownload` in devtools-protocol@2d019e73, pinned at
1779
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
1780
+ * Every argument of this command has a retained or redacted decision in
1781
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
105
1782
  */
106
- parent?: BrowserCallStack;
107
- }
108
- export declare namespace BrowserCallStack {
109
- interface CallFrame {
1783
+ interface BrowserCdpBrowserCancelDownloadCommandData {
110
1784
  /**
111
- * Zero-based column number within the line.
1785
+ * Opaque identifier of the download that was cancelled. Clipped to 128 characters;
1786
+ * a longer value is not a real identifier.
112
1787
  */
113
- columnNumber: number;
1788
+ download_guid: string;
1789
+ method: 'Browser.cancelDownload';
114
1790
  /**
115
- * JavaScript function name, or empty string for anonymous functions.
1791
+ * Opaque browser context identifier. Clipped to 128 characters; a longer value is
1792
+ * not a real identifier.
116
1793
  */
117
- functionName: string;
1794
+ browser_context_id?: string;
118
1795
  /**
119
- * Zero-based line number within the script.
1796
+ * The command's JSON-RPC id, so the command can be joined to the result the
1797
+ * browser returned for it. Absent when the client sent none.
120
1798
  */
121
- lineNumber: number;
1799
+ command_id?: number;
122
1800
  /**
123
- * CDP script identifier.
1801
+ * Identifies the CDP proxy connection the command arrived on, matching
1802
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
1803
+ * told apart by this.
124
1804
  */
125
- scriptId: string;
1805
+ connection_id?: string;
126
1806
  /**
127
- * URL or name of the script file.
1807
+ * CDP session identifier the command was addressed to. Absent for browser-level
1808
+ * commands. Clipped to 128 characters.
128
1809
  */
129
- url: string;
1810
+ session_id?: string;
130
1811
  }
131
- }
132
- /**
133
- * A captcha solve attempt reached a terminal outcome.
134
- */
135
- export interface BrowserCaptchaSolveResultEvent {
136
- category: 'captcha';
137
1812
  /**
138
- * Provenance metadata identifying which producer emitted the event.
1813
+ * Sanitized `Browser.close` arguments. Canonical input: `Browser.close` in
1814
+ * devtools-protocol@2d019e73, pinned at
1815
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
1816
+ * Every argument of this command has a retained or redacted decision in
1817
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
139
1818
  */
140
- source: BrowserEventSource;
1819
+ interface BrowserCdpBrowserCloseCommandData {
1820
+ method: 'Browser.close';
1821
+ /**
1822
+ * The command's JSON-RPC id, so the command can be joined to the result the
1823
+ * browser returned for it. Absent when the client sent none.
1824
+ */
1825
+ command_id?: number;
1826
+ /**
1827
+ * Identifies the CDP proxy connection the command arrived on, matching
1828
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
1829
+ * told apart by this.
1830
+ */
1831
+ connection_id?: string;
1832
+ /**
1833
+ * CDP session identifier the command was addressed to. Absent for browser-level
1834
+ * commands. Clipped to 128 characters.
1835
+ */
1836
+ session_id?: string;
1837
+ }
141
1838
  /**
142
- * Event timestamp in Unix microseconds.
1839
+ * Sanitized `Browser.setWindowBounds` arguments. Canonical input:
1840
+ * `Browser.setWindowBounds` in devtools-protocol@2d019e73, pinned at
1841
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
1842
+ * Every argument of this command has a retained or redacted decision in
1843
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
143
1844
  */
144
- ts: number;
145
- type: 'captcha_solve_result';
146
- data?: BrowserCaptchaSolveResultEvent.Data;
1845
+ interface BrowserCdpBrowserSetWindowBoundsCommandData {
1846
+ method: 'Browser.setWindowBounds';
1847
+ /**
1848
+ * Browser window identifier.
1849
+ */
1850
+ window_id: number;
1851
+ /**
1852
+ * The command's JSON-RPC id, so the command can be joined to the result the
1853
+ * browser returned for it. Absent when the client sent none.
1854
+ */
1855
+ command_id?: number;
1856
+ /**
1857
+ * Identifies the CDP proxy connection the command arrived on, matching
1858
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
1859
+ * told apart by this.
1860
+ */
1861
+ connection_id?: string;
1862
+ /**
1863
+ * Window height in DIP.
1864
+ */
1865
+ height?: number;
1866
+ /**
1867
+ * Window x position in screen coordinates.
1868
+ */
1869
+ left?: number;
1870
+ /**
1871
+ * CDP session identifier the command was addressed to. Absent for browser-level
1872
+ * commands. Clipped to 128 characters.
1873
+ */
1874
+ session_id?: string;
1875
+ /**
1876
+ * Window y position in screen coordinates.
1877
+ */
1878
+ top?: number;
1879
+ /**
1880
+ * Window width in DIP.
1881
+ */
1882
+ width?: number;
1883
+ /**
1884
+ * Window state requested (`normal`, `minimized`, `maximized`, `fullscreen`). A
1885
+ * value the protocol does not define is reported as `other`.
1886
+ */
1887
+ window_state?: 'normal' | 'minimized' | 'maximized' | 'fullscreen' | 'other';
1888
+ }
147
1889
  /**
148
- * True if the data field was truncated due to size limits.
1890
+ * Sanitized `Browser.setContentsSize` arguments. Canonical input:
1891
+ * `Browser.setContentsSize` in devtools-protocol@2d019e73, pinned at
1892
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
1893
+ * Every argument of this command has a retained or redacted decision in
1894
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
149
1895
  */
150
- truncated?: boolean;
151
- }
152
- export declare namespace BrowserCaptchaSolveResultEvent {
153
- interface Data {
1896
+ interface BrowserCdpBrowserSetContentsSizeCommandData {
1897
+ method: 'Browser.setContentsSize';
154
1898
  /**
155
- * Captcha vendor family. Provider-specific task names are normalized into this
156
- * set; anything not covered is reported as other.
1899
+ * Browser window identifier.
157
1900
  */
158
- captcha_type: 'hcaptcha' | 'recaptcha_v2' | 'recaptcha_v3' | 'turnstile' | 'geetest' | 'other';
1901
+ window_id: number;
159
1902
  /**
160
- * Wall-clock duration from solve start to terminal outcome.
1903
+ * The command's JSON-RPC id, so the command can be joined to the result the
1904
+ * browser returned for it. Absent when the client sent none.
161
1905
  */
162
- duration_ms: number;
1906
+ command_id?: number;
163
1907
  /**
164
- * Terminal outcome. success: solver returned a usable solution. failure: solver
165
- * returned an error (see error_code). timeout: solver did not return within the
166
- * caller's wait budget. abandoned: caller cancelled or the page navigated away
167
- * mid-solve.
1908
+ * Identifies the CDP proxy connection the command arrived on, matching
1909
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
1910
+ * told apart by this.
168
1911
  */
169
- status: 'success' | 'failure' | 'timeout' | 'abandoned';
1912
+ connection_id?: string;
170
1913
  /**
171
- * Solver-specific error code on failure (e.g. ERROR_CAPTCHA_UNSOLVABLE). Absent on
172
- * success.
1914
+ * Contents height in DIP.
173
1915
  */
174
- error_code?: string;
1916
+ height?: number;
175
1917
  /**
176
- * Solver-assigned identifier. Opaque, useful for support cross-references.
1918
+ * CDP session identifier the command was addressed to. Absent for browser-level
1919
+ * commands. Clipped to 128 characters.
177
1920
  */
178
- task_id?: string;
1921
+ session_id?: string;
179
1922
  /**
180
- * Host of the page where the captcha was solved.
1923
+ * Contents width in DIP.
181
1924
  */
182
- website_host?: string;
1925
+ width?: number;
1926
+ }
1927
+ /**
1928
+ * Sanitized `Autofill.trigger` arguments. Canonical input: `Autofill.trigger` in
1929
+ * devtools-protocol@2d019e73, pinned at
1930
+ * https://github.com/ChromeDevTools/devtools-protocol/blob/2d019e73eb371d1d6985d26d395d78bd8f8a22ba/json/browser_protocol.json.
1931
+ * Every argument of this command has a retained or redacted decision in
1932
+ * lib/devtoolsproxy/testdata/cdp_arguments.yaml.
1933
+ */
1934
+ interface BrowserCdpAutofillTriggerCommandData {
183
1935
  /**
184
- * Path of the page where the captcha was solved. Query string excluded.
1936
+ * Opaque backend node identifier of the field that was autofilled.
185
1937
  */
186
- website_path?: string;
1938
+ field_id: number;
1939
+ method: 'Autofill.trigger';
1940
+ /**
1941
+ * Number of address fields the command filled. Their names and values are never
1942
+ * captured.
1943
+ */
1944
+ address_field_count?: number;
1945
+ /**
1946
+ * The command's JSON-RPC id, so the command can be joined to the result the
1947
+ * browser returned for it. Absent when the client sent none.
1948
+ */
1949
+ command_id?: number;
1950
+ /**
1951
+ * Identifies the CDP proxy connection the command arrived on, matching
1952
+ * `cdp_connect` and `cdp_disconnect`. Two clients driving the same browser are
1953
+ * told apart by this.
1954
+ */
1955
+ connection_id?: string;
1956
+ /**
1957
+ * Opaque frame identifier. Clipped to 128 characters; a longer value is not a real
1958
+ * identifier.
1959
+ */
1960
+ frame_id?: string;
1961
+ /**
1962
+ * What was filled: `card` or `address`. The values themselves are never captured.
1963
+ */
1964
+ mode?: 'card' | 'address';
1965
+ /**
1966
+ * CDP session identifier the command was addressed to. Absent for browser-level
1967
+ * commands. Clipped to 128 characters.
1968
+ */
1969
+ session_id?: string;
187
1970
  }
188
1971
  }
1972
+ /**
1973
+ * A browser-control CDP method the proxy reports. The set covers the commands an
1974
+ * agent drives the browser with; configuration, DOM and Runtime bookkeeping, and
1975
+ * Chrome-specific UI commands are outside it. Canonical definitions:
1976
+ * devtools-protocol@2d019e73.
1977
+ */
1978
+ export type BrowserCdpCommandMethod = 'Input.dispatchMouseEvent' | 'Input.dispatchKeyEvent' | 'Input.insertText' | 'Input.imeSetComposition' | 'Input.dispatchTouchEvent' | 'Input.dispatchDragEvent' | 'Input.cancelDragging' | 'Input.emulateTouchFromMouseEvent' | 'Input.synthesizePinchGesture' | 'Input.synthesizeScrollGesture' | 'Input.synthesizeTapGesture' | 'DOM.setFileInputFiles' | 'DOM.focus' | 'DOM.scrollIntoViewIfNeeded' | 'Page.bringToFront' | 'Page.captureScreenshot' | 'Page.captureSnapshot' | 'Page.handleJavaScriptDialog' | 'Page.navigate' | 'Page.navigateToHistoryEntry' | 'Page.reload' | 'Page.printToPDF' | 'Page.startScreencast' | 'Page.stopScreencast' | 'Page.stopLoading' | 'Page.close' | 'Page.setWebLifecycleState' | 'Target.activateTarget' | 'Target.closeTarget' | 'Target.createTarget' | 'Target.createBrowserContext' | 'Target.disposeBrowserContext' | 'Target.openDevTools' | 'Browser.cancelDownload' | 'Browser.close' | 'Browser.setWindowBounds' | 'Browser.setContentsSize' | 'Autofill.trigger';
189
1979
  /**
190
1980
  * An external client (e.g. customer SDK, Playwright, Puppeteer) connected to the
191
1981
  * CDP WebSocket proxy on this VM.
@@ -201,11 +1991,22 @@ export interface BrowserCdpConnectEvent {
201
1991
  */
202
1992
  ts: number;
203
1993
  type: 'cdp_connect';
1994
+ data?: BrowserCdpConnectEvent.Data;
204
1995
  /**
205
1996
  * True if the data field was truncated due to size limits.
206
1997
  */
207
1998
  truncated?: boolean;
208
1999
  }
2000
+ export declare namespace BrowserCdpConnectEvent {
2001
+ interface Data {
2002
+ /**
2003
+ * Identifies this CDP proxy connection, matching the connection_id on the
2004
+ * cdp_command events that arrived on it. Two clients driving the same browser are
2005
+ * told apart by this.
2006
+ */
2007
+ connection_id?: string;
2008
+ }
2009
+ }
209
2010
  /**
210
2011
  * An external client disconnected from the CDP WebSocket proxy on this VM. Pair
211
2012
  * with the immediately preceding cdp_connect on the same stream.
@@ -245,6 +2046,27 @@ export declare namespace BrowserCdpDisconnectEvent {
245
2046
  * (typically server shutdown).
246
2047
  */
247
2048
  reason: 'client_close' | 'upstream_changed' | 'upstream_error' | 'context_cancelled';
2049
+ /**
2050
+ * Identifies this CDP proxy connection, matching the connection_id on the
2051
+ * cdp_command events that arrived on it. Two clients driving the same browser are
2052
+ * told apart by this.
2053
+ */
2054
+ connection_id?: string;
2055
+ /**
2056
+ * Number of forwarded client frames the classifier never saw, because it could not
2057
+ * keep up or because classification failed. An upper bound on lost commands rather
2058
+ * than a count: a saturated queue turns away whatever arrives next, which may be
2059
+ * library traffic that would have produced no event. Telemetry loss only; every
2060
+ * command was still relayed to the browser. Absent on events from a browser image
2061
+ * predating the field, which is not the same as zero.
2062
+ */
2063
+ telemetry_dropped?: number;
2064
+ /**
2065
+ * Number of forwarded client commands that produced no cdp_command event because
2066
+ * their method is listed in control.cdp.excluded_methods. Configuration rather
2067
+ * than loss, so it is counted apart from telemetry_dropped.
2068
+ */
2069
+ telemetry_excluded?: number;
248
2070
  }
249
2071
  }
250
2072
  /**
@@ -1030,6 +2852,45 @@ export declare namespace BrowserNetworkResponseEvent {
1030
2852
  status_text?: string;
1031
2853
  }
1032
2854
  }
2855
+ /**
2856
+ * A page's renderer process crashed (an "Aw, Snap!" failure) while the browser
2857
+ * process itself stayed alive. Reported on the crashed page's session, with the
2858
+ * session and target ids on `source.metadata`. Captured only while the `page`
2859
+ * category is enabled.
2860
+ */
2861
+ export interface BrowserPageCrashedEvent {
2862
+ category: 'page';
2863
+ /**
2864
+ * Provenance metadata identifying which producer emitted the event.
2865
+ */
2866
+ source: BrowserEventSource;
2867
+ /**
2868
+ * Event timestamp in Unix microseconds.
2869
+ */
2870
+ ts: number;
2871
+ type: 'page_crashed';
2872
+ data?: BrowserPageCrashedEvent.Data;
2873
+ /**
2874
+ * True if the data field was truncated due to size limits.
2875
+ */
2876
+ truncated?: boolean;
2877
+ }
2878
+ export declare namespace BrowserPageCrashedEvent {
2879
+ interface Data {
2880
+ /**
2881
+ * CDP target identifier of the crashed page.
2882
+ */
2883
+ target_id: string;
2884
+ /**
2885
+ * CDP target type of the page that produced the event.
2886
+ */
2887
+ target_type: 'page' | 'background_page' | 'service_worker' | 'shared_worker' | 'other';
2888
+ /**
2889
+ * URL the page was on when its renderer process crashed.
2890
+ */
2891
+ url: string;
2892
+ }
2893
+ }
1033
2894
  /**
1034
2895
  * A browser DOMContentLoaded event (CDP Page.domContentEventFired).
1035
2896
  */
@@ -1411,6 +3272,114 @@ export declare namespace BrowserPageTabOpenedEvent {
1411
3272
  url?: string;
1412
3273
  }
1413
3274
  }
3275
+ /**
3276
+ * An HTTP call that manages the browser VM rather than driving the browser,
3277
+ * handled by the in-VM API server — recording lifecycle, filesystem and process
3278
+ * management, telemetry and browser configuration. Mostly platform-induced (e.g.
3279
+ * profile save, replay capture) rather than agent actions.
3280
+ */
3281
+ export interface BrowserPlatformAPICallEvent {
3282
+ category: 'platform';
3283
+ /**
3284
+ * Provenance metadata identifying which producer emitted the event.
3285
+ */
3286
+ source: BrowserEventSource;
3287
+ /**
3288
+ * Event timestamp in Unix microseconds.
3289
+ */
3290
+ ts: number;
3291
+ type: 'platform_api_call';
3292
+ data?: BrowserPlatformAPICallEvent.Data;
3293
+ /**
3294
+ * True if the data field was truncated due to size limits.
3295
+ */
3296
+ truncated?: boolean;
3297
+ }
3298
+ export declare namespace BrowserPlatformAPICallEvent {
3299
+ interface Data {
3300
+ /**
3301
+ * Wall-clock duration of the handler in milliseconds.
3302
+ */
3303
+ duration_ms: number;
3304
+ /**
3305
+ * Matched route's operation, named as the in-VM API names its handler (e.g.
3306
+ * ProcessExec, StartRecording).
3307
+ */
3308
+ operation_id: string;
3309
+ /**
3310
+ * Per-request identifier from the in-VM API request middleware.
3311
+ */
3312
+ request_id: string;
3313
+ /**
3314
+ * HTTP response status code.
3315
+ */
3316
+ status: number;
3317
+ }
3318
+ }
3319
+ /**
3320
+ * A branded proxy-layer failure observed by the browser. Emitted when the metro
3321
+ * egress host-proxy serves a branded 5xx error page whose response carries the
3322
+ * X-Kernel-Proxy-Error header. Low-volume and carries a typed code. Its value is
3323
+ * per-session and per-URL attribution for sessions that already capture the
3324
+ * network stream: proxy failures are only observable while the CDP network
3325
+ * collector is running, so this is an opt-in refinement of the raw network events
3326
+ * rather than a default-on alerting signal.
3327
+ */
3328
+ export interface BrowserProxyErrorEvent {
3329
+ category: 'network';
3330
+ /**
3331
+ * Provenance metadata identifying which producer emitted the event.
3332
+ */
3333
+ source: BrowserEventSource;
3334
+ /**
3335
+ * Event timestamp in Unix microseconds.
3336
+ */
3337
+ ts: number;
3338
+ type: 'proxy_error';
3339
+ /**
3340
+ * Browser event context stamped by the browser monitor onto all CDP-sourced
3341
+ * events. Identifies the target, frame, and navigation epoch in which the event
3342
+ * occurred.
3343
+ */
3344
+ data?: BrowserProxyErrorEvent.Data;
3345
+ /**
3346
+ * True if the data field was truncated due to size limits.
3347
+ */
3348
+ truncated?: boolean;
3349
+ }
3350
+ export declare namespace BrowserProxyErrorEvent {
3351
+ /**
3352
+ * Browser event context stamped by the browser monitor onto all CDP-sourced
3353
+ * events. Identifies the target, frame, and navigation epoch in which the event
3354
+ * occurred.
3355
+ */
3356
+ interface Data extends TelemetryAPI.BrowserEventContext {
3357
+ /**
3358
+ * Proxy-layer error code: the X-Kernel-Proxy-Error response header value from a
3359
+ * branded 5xx error page served by the metro egress host-proxy. Values mirror what
3360
+ * the proxy emits: destination_blocked, provider_blacklisted,
3361
+ * provider_unreachable, proxy_unavailable, upstream_timeout, upstream_dns_failure,
3362
+ * upstream_connect_failed. Unknown header values are dropped.
3363
+ */
3364
+ code: 'destination_blocked' | 'provider_blacklisted' | 'provider_unreachable' | 'proxy_unavailable' | 'upstream_timeout' | 'upstream_dns_failure' | 'upstream_connect_failed';
3365
+ /**
3366
+ * CDP request identifier matching the originating request.
3367
+ */
3368
+ request_id: string;
3369
+ /**
3370
+ * HTTP response status of the branded error page (502).
3371
+ */
3372
+ status: number;
3373
+ /**
3374
+ * HTTP method of the failed request, when known.
3375
+ */
3376
+ method?: string;
3377
+ /**
3378
+ * CDP Network.ResourceType for the request, when known.
3379
+ */
3380
+ resource_type?: string;
3381
+ }
3382
+ }
1414
3383
  /**
1415
3384
  * A managed service exited unexpectedly. Intentional stops do not produce this
1416
3385
  * event; only unexpected exits and terminal restart-give-up transitions do.
@@ -1544,8 +3513,8 @@ export declare namespace BrowserSystemOomKillEvent {
1544
3513
  * Per-category telemetry capture settings layered onto the default set. The
1545
3514
  * operational signals (control, connection, system, captcha) are on by default and
1546
3515
  * are opt-out: set one to enabled=false to stop capturing it. The CDP categories
1547
- * (console, network, page, interaction) and screenshot are off by default and are
1548
- * opt-in: set enabled=true to capture them.
3516
+ * (console, network, page, interaction), screenshot and platform are off by
3517
+ * default and are opt-in: set enabled=true to capture them.
1549
3518
  */
1550
3519
  export interface BrowserTelemetryCategoriesConfig {
1551
3520
  /**
@@ -1562,10 +3531,11 @@ export interface BrowserTelemetryCategoriesConfig {
1562
3531
  */
1563
3532
  console?: BrowserTelemetryCategoryConfig;
1564
3533
  /**
1565
- * Agent-driven actions against the browser, such as inbound calls to the in-VM
1566
- * API. On by default.
3534
+ * Agent-driven actions against the browser computer-control calls, Playwright
3535
+ * code execution, screenshots, clipboard access, and browser-control commands sent
3536
+ * over the CDP proxy. On by default.
1567
3537
  */
1568
- control?: BrowserTelemetryCategoryConfig;
3538
+ control?: BrowserTelemetryControlConfig;
1569
3539
  /**
1570
3540
  * User interaction events including clicks, keydowns, and scroll-settled events.
1571
3541
  * CDP category; off by default.
@@ -1584,6 +3554,12 @@ export interface BrowserTelemetryCategoriesConfig {
1584
3554
  * shifts, and LCP. CDP category; off by default.
1585
3555
  */
1586
3556
  page?: BrowserTelemetryCategoryConfig;
3557
+ /**
3558
+ * In-VM API calls that manage the browser VM rather than drive the browser
3559
+ * (recording, filesystem, process, telemetry and browser configuration). Mostly
3560
+ * platform-induced; off by default and must be opted into.
3561
+ */
3562
+ platform?: BrowserTelemetryCategoryConfig;
1587
3563
  /**
1588
3564
  * Periodic base64-encoded viewport screenshots. High volume; off by default and
1589
3565
  * must be opted into.
@@ -1602,10 +3578,27 @@ export interface BrowserTelemetryCategoryConfig {
1602
3578
  /**
1603
3579
  * Whether this category is captured. Operational categories (control, connection,
1604
3580
  * system, captcha) default to true; set false to opt out. CDP categories (console,
1605
- * network, page, interaction) and screenshot default to false; set true to opt in.
3581
+ * network, page, interaction), screenshot and platform default to false; set true
3582
+ * to opt in.
1606
3583
  */
1607
3584
  enabled?: boolean;
1608
3585
  }
3586
+ /**
3587
+ * Settings for the cdp_command events the CDP proxy reports.
3588
+ */
3589
+ export interface BrowserTelemetryCdpControlConfig {
3590
+ /**
3591
+ * Methods to leave out of the cdp_command stream. Omit the list to keep the
3592
+ * current one; send an empty list to report every supported method again.
3593
+ * Exclusion is a telemetry setting only: an excluded command is still relayed to
3594
+ * the browser unchanged, it simply produces no event. Use it to drop the
3595
+ * highest-volume methods — Input.dispatchMouseEvent during a humanized cursor
3596
+ * path, or Page.captureScreenshot under a screencast — without turning the whole
3597
+ * category off. Excluded commands are counted in
3598
+ * cdp_disconnect.telemetry_excluded.
3599
+ */
3600
+ excluded_methods?: Array<BrowserCdpCommandMethod>;
3601
+ }
1609
3602
  /**
1610
3603
  * Active telemetry configuration for a browser session.
1611
3604
  */
@@ -1620,6 +3613,23 @@ export interface BrowserTelemetryConfig {
1620
3613
  */
1621
3614
  export?: BrowserTelemetryExportConfig;
1622
3615
  }
3616
+ /**
3617
+ * Configuration for the control category. Same enabled semantics as any other
3618
+ * category, plus settings for the browser-control commands the CDP proxy reports.
3619
+ */
3620
+ export interface BrowserTelemetryControlConfig {
3621
+ /**
3622
+ * Settings for the cdp_command events the CDP proxy reports. Merged independently
3623
+ * of enabled, so a later update that only sets enabled keeps the current exclusion
3624
+ * list.
3625
+ */
3626
+ cdp?: BrowserTelemetryCdpControlConfig;
3627
+ /**
3628
+ * Whether this category is captured. Control is on by default; set false to opt
3629
+ * out.
3630
+ */
3631
+ enabled?: boolean;
3632
+ }
1623
3633
  /**
1624
3634
  * Union type representing any browser telemetry event. Discriminated on `type`.
1625
3635
  * Each event's `category` determines when it is captured. The CDP collector-health
@@ -1630,7 +3640,7 @@ export interface BrowserTelemetryConfig {
1630
3640
  * opt-in `screenshot` category. All other event types are controlled by their
1631
3641
  * per-category enable/disable flags.
1632
3642
  */
1633
- export type BrowserTelemetryEvent = BrowserConsoleLogEvent | BrowserConsoleErrorEvent | BrowserNetworkRequestEvent | BrowserNetworkResponseEvent | BrowserNetworkLoadingFailedEvent | BrowserNetworkIdleEvent | BrowserPageNavigationEvent | BrowserPageDomContentLoadedEvent | BrowserPageLoadEvent | BrowserPageTabOpenedEvent | BrowserPageLayoutShiftEvent | BrowserPageLcpEvent | BrowserPageLayoutSettledEvent | BrowserPageNavigationSettledEvent | BrowserInteractionClickEvent | BrowserInteractionKeyEvent | BrowserInteractionScrollSettledEvent | BrowserMonitorScreenshotEvent | BrowserMonitorDisconnectedEvent | BrowserMonitorReconnectedEvent | BrowserMonitorReconnectFailedEvent | BrowserMonitorInitFailedEvent | BrowserAPICallEvent | BrowserCdpConnectEvent | BrowserCdpDisconnectEvent | BrowserLiveViewConnectEvent | BrowserLiveViewDisconnectEvent | BrowserCaptchaSolveResultEvent | BrowserSystemOomKillEvent | BrowserServiceCrashedEvent;
3643
+ export type BrowserTelemetryEvent = BrowserConsoleLogEvent | BrowserConsoleErrorEvent | BrowserNetworkRequestEvent | BrowserNetworkResponseEvent | BrowserNetworkLoadingFailedEvent | BrowserNetworkIdleEvent | BrowserProxyErrorEvent | BrowserPageNavigationEvent | BrowserPageDomContentLoadedEvent | BrowserPageLoadEvent | BrowserPageTabOpenedEvent | BrowserPageCrashedEvent | BrowserPageLayoutShiftEvent | BrowserPageLcpEvent | BrowserPageLayoutSettledEvent | BrowserPageNavigationSettledEvent | BrowserInteractionClickEvent | BrowserInteractionKeyEvent | BrowserInteractionScrollSettledEvent | BrowserMonitorScreenshotEvent | BrowserMonitorDisconnectedEvent | BrowserMonitorReconnectedEvent | BrowserMonitorReconnectFailedEvent | BrowserMonitorInitFailedEvent | BrowserAPICallEvent | BrowserPlatformAPICallEvent | BrowserCdpCommandEvent | BrowserCdpConnectEvent | BrowserCdpDisconnectEvent | BrowserLiveViewConnectEvent | BrowserLiveViewDisconnectEvent | BrowserCaptchaSolveResultEvent | BrowserSystemOomKillEvent | BrowserServiceCrashedEvent;
1634
3644
  /**
1635
3645
  * Active export state for a session's captured telemetry, by protocol.
1636
3646
  */
@@ -1707,7 +3717,7 @@ export interface TelemetryEventsParams extends OffsetPaginationParams {
1707
3717
  * Restrict results to these event categories. Repeat the parameter for multiple
1708
3718
  * values.
1709
3719
  */
1710
- category?: Array<'console' | 'network' | 'page' | 'interaction' | 'control' | 'connection' | 'system' | 'screenshot' | 'captcha' | 'monitor'>;
3720
+ category?: Array<'console' | 'network' | 'page' | 'interaction' | 'control' | 'platform' | 'connection' | 'system' | 'screenshot' | 'captcha' | 'monitor'>;
1711
3721
  /**
1712
3722
  * Read direction. asc (default) reads oldest first, starting from since or the
1713
3723
  * offset cursor. desc reads newest first: each request returns one page of up to
@@ -1743,6 +3753,6 @@ export interface TelemetryStreamParams {
1743
3753
  'Last-Event-ID'?: string;
1744
3754
  }
1745
3755
  export declare namespace Telemetry {
1746
- export { type BrowserAPICallEvent as BrowserAPICallEvent, type BrowserCallStack as BrowserCallStack, type BrowserCaptchaSolveResultEvent as BrowserCaptchaSolveResultEvent, type BrowserCdpConnectEvent as BrowserCdpConnectEvent, type BrowserCdpDisconnectEvent as BrowserCdpDisconnectEvent, type BrowserConsoleErrorEvent as BrowserConsoleErrorEvent, type BrowserConsoleLogEvent as BrowserConsoleLogEvent, type BrowserEventContext as BrowserEventContext, type BrowserEventSource as BrowserEventSource, type BrowserHTTPHeaders as BrowserHTTPHeaders, type BrowserInteractionClickEvent as BrowserInteractionClickEvent, type BrowserInteractionKeyEvent as BrowserInteractionKeyEvent, type BrowserInteractionScrollSettledEvent as BrowserInteractionScrollSettledEvent, type BrowserLiveViewConnectEvent as BrowserLiveViewConnectEvent, type BrowserLiveViewDisconnectEvent as BrowserLiveViewDisconnectEvent, type BrowserMonitorDisconnectedEvent as BrowserMonitorDisconnectedEvent, type BrowserMonitorInitFailedEvent as BrowserMonitorInitFailedEvent, type BrowserMonitorReconnectFailedEvent as BrowserMonitorReconnectFailedEvent, type BrowserMonitorReconnectedEvent as BrowserMonitorReconnectedEvent, type BrowserMonitorScreenshotEvent as BrowserMonitorScreenshotEvent, type BrowserNetworkIdleEvent as BrowserNetworkIdleEvent, type BrowserNetworkLoadingFailedEvent as BrowserNetworkLoadingFailedEvent, type BrowserNetworkRequestEvent as BrowserNetworkRequestEvent, type BrowserNetworkResponseEvent as BrowserNetworkResponseEvent, type BrowserPageDomContentLoadedEvent as BrowserPageDomContentLoadedEvent, type BrowserPageLayoutSettledEvent as BrowserPageLayoutSettledEvent, type BrowserPageLayoutShiftEvent as BrowserPageLayoutShiftEvent, type BrowserPageLcpEvent as BrowserPageLcpEvent, type BrowserPageLoadEvent as BrowserPageLoadEvent, type BrowserPageNavigationEvent as BrowserPageNavigationEvent, type BrowserPageNavigationSettledEvent as BrowserPageNavigationSettledEvent, type BrowserPageTabOpenedEvent as BrowserPageTabOpenedEvent, type BrowserServiceCrashedEvent as BrowserServiceCrashedEvent, type BrowserSystemOomKillEvent as BrowserSystemOomKillEvent, type BrowserTelemetryCategoriesConfig as BrowserTelemetryCategoriesConfig, type BrowserTelemetryCategoryConfig as BrowserTelemetryCategoryConfig, type BrowserTelemetryConfig as BrowserTelemetryConfig, type BrowserTelemetryEvent as BrowserTelemetryEvent, type BrowserTelemetryExportConfig as BrowserTelemetryExportConfig, type BrowserTelemetryOtlpExportConfig as BrowserTelemetryOtlpExportConfig, type TelemetryEventsResponse as TelemetryEventsResponse, type TelemetryStreamResponse as TelemetryStreamResponse, type TelemetryEventsResponsesOffsetPagination as TelemetryEventsResponsesOffsetPagination, type TelemetryEventsParams as TelemetryEventsParams, type TelemetryStreamParams as TelemetryStreamParams, };
3756
+ export { type BrowserAPICallEvent as BrowserAPICallEvent, type BrowserCallStack as BrowserCallStack, type BrowserCaptchaSolveResultEvent as BrowserCaptchaSolveResultEvent, type BrowserCdpCommandEvent as BrowserCdpCommandEvent, type BrowserCdpCommandMethod as BrowserCdpCommandMethod, type BrowserCdpConnectEvent as BrowserCdpConnectEvent, type BrowserCdpDisconnectEvent as BrowserCdpDisconnectEvent, type BrowserConsoleErrorEvent as BrowserConsoleErrorEvent, type BrowserConsoleLogEvent as BrowserConsoleLogEvent, type BrowserEventContext as BrowserEventContext, type BrowserEventSource as BrowserEventSource, type BrowserHTTPHeaders as BrowserHTTPHeaders, type BrowserInteractionClickEvent as BrowserInteractionClickEvent, type BrowserInteractionKeyEvent as BrowserInteractionKeyEvent, type BrowserInteractionScrollSettledEvent as BrowserInteractionScrollSettledEvent, type BrowserLiveViewConnectEvent as BrowserLiveViewConnectEvent, type BrowserLiveViewDisconnectEvent as BrowserLiveViewDisconnectEvent, type BrowserMonitorDisconnectedEvent as BrowserMonitorDisconnectedEvent, type BrowserMonitorInitFailedEvent as BrowserMonitorInitFailedEvent, type BrowserMonitorReconnectFailedEvent as BrowserMonitorReconnectFailedEvent, type BrowserMonitorReconnectedEvent as BrowserMonitorReconnectedEvent, type BrowserMonitorScreenshotEvent as BrowserMonitorScreenshotEvent, type BrowserNetworkIdleEvent as BrowserNetworkIdleEvent, type BrowserNetworkLoadingFailedEvent as BrowserNetworkLoadingFailedEvent, type BrowserNetworkRequestEvent as BrowserNetworkRequestEvent, type BrowserNetworkResponseEvent as BrowserNetworkResponseEvent, type BrowserPageCrashedEvent as BrowserPageCrashedEvent, type BrowserPageDomContentLoadedEvent as BrowserPageDomContentLoadedEvent, type BrowserPageLayoutSettledEvent as BrowserPageLayoutSettledEvent, type BrowserPageLayoutShiftEvent as BrowserPageLayoutShiftEvent, type BrowserPageLcpEvent as BrowserPageLcpEvent, type BrowserPageLoadEvent as BrowserPageLoadEvent, type BrowserPageNavigationEvent as BrowserPageNavigationEvent, type BrowserPageNavigationSettledEvent as BrowserPageNavigationSettledEvent, type BrowserPageTabOpenedEvent as BrowserPageTabOpenedEvent, type BrowserPlatformAPICallEvent as BrowserPlatformAPICallEvent, type BrowserProxyErrorEvent as BrowserProxyErrorEvent, type BrowserServiceCrashedEvent as BrowserServiceCrashedEvent, type BrowserSystemOomKillEvent as BrowserSystemOomKillEvent, type BrowserTelemetryCategoriesConfig as BrowserTelemetryCategoriesConfig, type BrowserTelemetryCategoryConfig as BrowserTelemetryCategoryConfig, type BrowserTelemetryCdpControlConfig as BrowserTelemetryCdpControlConfig, type BrowserTelemetryConfig as BrowserTelemetryConfig, type BrowserTelemetryControlConfig as BrowserTelemetryControlConfig, type BrowserTelemetryEvent as BrowserTelemetryEvent, type BrowserTelemetryExportConfig as BrowserTelemetryExportConfig, type BrowserTelemetryOtlpExportConfig as BrowserTelemetryOtlpExportConfig, type TelemetryEventsResponse as TelemetryEventsResponse, type TelemetryStreamResponse as TelemetryStreamResponse, type TelemetryEventsResponsesOffsetPagination as TelemetryEventsResponsesOffsetPagination, type TelemetryEventsParams as TelemetryEventsParams, type TelemetryStreamParams as TelemetryStreamParams, };
1747
3757
  }
1748
3758
  //# sourceMappingURL=telemetry.d.ts.map