1#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3pub struct PingRequest {}
4#[derive(Clone, PartialEq, ::prost::Message)]
5pub struct PingResponse {
6 #[prost(string, tag = "1")]
7 pub message: ::prost::alloc::string::String,
8 #[prost(string, tag = "2")]
9 pub version: ::prost::alloc::string::String,
10}
11#[derive(Clone, Copy, PartialEq, ::prost::Message)]
12pub struct CommandRetryOptions {
13 #[prost(uint32, optional, tag = "1")]
14 pub timeout_ms: ::core::option::Option<u32>,
15 #[prost(uint32, optional, tag = "2")]
16 pub retry_interval_ms: ::core::option::Option<u32>,
17}
18#[derive(Clone, PartialEq, ::prost::Message)]
19pub struct ConnectDesktopCommand {
20 #[prost(enumeration = "DesktopPlatform", tag = "1")]
21 pub platform: i32,
22 #[prost(string, optional, tag = "2")]
23 pub agent_endpoint: ::core::option::Option<::prost::alloc::string::String>,
24 #[prost(message, optional, tag = "3")]
25 pub retry_options: ::core::option::Option<CommandRetryOptions>,
26}
27#[derive(Clone, PartialEq, ::prost::Message)]
28pub struct DesktopConnectedEvent {
29 #[prost(enumeration = "DesktopPlatform", tag = "1")]
30 pub platform: i32,
31 #[prost(string, tag = "2")]
32 pub host_name: ::prost::alloc::string::String,
33 #[prost(string, tag = "3")]
34 pub note: ::prost::alloc::string::String,
35 #[prost(string, tag = "4")]
36 pub backend: ::prost::alloc::string::String,
37 #[prost(string, tag = "5")]
38 pub desktop_session_id: ::prost::alloc::string::String,
39 #[prost(string, tag = "6")]
40 pub initial_app_session_id: ::prost::alloc::string::String,
41}
42#[derive(Clone, PartialEq, ::prost::Message)]
43pub struct LaunchDesktopAppCommand {
44 #[prost(string, tag = "1")]
45 pub app_id: ::prost::alloc::string::String,
46 #[prost(bool, tag = "2")]
47 pub terminate_running: bool,
48 #[prost(message, optional, tag = "3")]
49 pub retry_options: ::core::option::Option<CommandRetryOptions>,
50}
51#[derive(Clone, PartialEq, ::prost::Message)]
52pub struct DesktopAppLaunchedEvent {
53 #[prost(string, tag = "1")]
54 pub app_session_id: ::prost::alloc::string::String,
55 #[prost(string, tag = "2")]
56 pub app_id: ::prost::alloc::string::String,
57 #[prost(string, tag = "3")]
58 pub note: ::prost::alloc::string::String,
59}
60#[derive(Clone, Copy, PartialEq, ::prost::Message)]
61pub struct ListDesktopWindowsCommand {}
62#[derive(Clone, Copy, PartialEq, ::prost::Message)]
63pub struct CloseDesktopWindowCommand {}
64#[derive(Clone, Copy, PartialEq, ::prost::Message)]
65pub struct RegisterDesktopWindowHook {}
66#[derive(Clone, PartialEq, ::prost::Message)]
67pub struct DesktopWindowInfo {
68 #[prost(string, tag = "1")]
69 pub context_session_id: ::prost::alloc::string::String,
70 #[prost(string, tag = "2")]
71 pub window_id: ::prost::alloc::string::String,
72 #[prost(string, tag = "3")]
73 pub title: ::prost::alloc::string::String,
74 #[prost(bool, tag = "4")]
75 pub is_main: bool,
76}
77#[derive(Clone, PartialEq, ::prost::Message)]
78pub struct DesktopWindowsResolvedEvent {
79 #[prost(message, repeated, tag = "1")]
80 pub windows: ::prost::alloc::vec::Vec<DesktopWindowInfo>,
81}
82#[derive(Clone, PartialEq, ::prost::Message)]
83pub struct DesktopWindowClosedEvent {
84 #[prost(string, tag = "1")]
85 pub window_id: ::prost::alloc::string::String,
86}
87#[derive(Clone, PartialEq, ::prost::Message)]
88pub struct DesktopWindowHookResult {
89 #[prost(message, optional, tag = "1")]
90 pub window: ::core::option::Option<DesktopWindowInfo>,
91}
92#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
93#[repr(i32)]
94pub enum DesktopPlatform {
95 Unspecified = 0,
96 Mac = 1,
97 Windows = 2,
98}
99impl DesktopPlatform {
100 pub fn as_str_name(&self) -> &'static str {
105 match self {
106 Self::Unspecified => "DESKTOP_PLATFORM_UNSPECIFIED",
107 Self::Mac => "DESKTOP_PLATFORM_MAC",
108 Self::Windows => "DESKTOP_PLATFORM_WINDOWS",
109 }
110 }
111 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
113 match value {
114 "DESKTOP_PLATFORM_UNSPECIFIED" => Some(Self::Unspecified),
115 "DESKTOP_PLATFORM_MAC" => Some(Self::Mac),
116 "DESKTOP_PLATFORM_WINDOWS" => Some(Self::Windows),
117 _ => None,
118 }
119 }
120}
121#[derive(Clone, PartialEq, ::prost::Message)]
122pub struct ConnectMobileCommand {
123 #[prost(enumeration = "MobilePlatform", tag = "1")]
124 pub platform: i32,
125 #[prost(string, optional, tag = "2")]
126 pub device: ::core::option::Option<::prost::alloc::string::String>,
127 #[prost(string, optional, tag = "3")]
128 pub adb_endpoint: ::core::option::Option<::prost::alloc::string::String>,
129 #[prost(bool, tag = "4")]
130 pub preserve_app_state: bool,
131 #[prost(message, optional, tag = "5")]
132 pub retry_options: ::core::option::Option<CommandRetryOptions>,
133}
134#[derive(Clone, PartialEq, ::prost::Message)]
135pub struct MobileConnectedEvent {
136 #[prost(enumeration = "MobilePlatform", tag = "1")]
137 pub platform: i32,
138 #[prost(string, tag = "2")]
139 pub device_name: ::prost::alloc::string::String,
140 #[prost(string, tag = "3")]
141 pub note: ::prost::alloc::string::String,
142 #[prost(string, tag = "4")]
143 pub device_id: ::prost::alloc::string::String,
144 #[prost(enumeration = "DeviceConnectionKind", tag = "5")]
145 pub connection_kind: i32,
146 #[prost(string, tag = "6")]
147 pub backend: ::prost::alloc::string::String,
148 #[prost(string, tag = "7")]
149 pub device_session_id: ::prost::alloc::string::String,
150 #[prost(string, tag = "8")]
151 pub initial_app_session_id: ::prost::alloc::string::String,
152 #[prost(string, optional, tag = "9")]
153 pub package_name: ::core::option::Option<::prost::alloc::string::String>,
154 #[prost(string, optional, tag = "10")]
155 pub activity_name: ::core::option::Option<::prost::alloc::string::String>,
156}
157#[derive(Clone, PartialEq, ::prost::Message)]
158pub struct LaunchAppCommand {
159 #[prost(string, optional, tag = "1")]
160 pub apk_path: ::core::option::Option<::prost::alloc::string::String>,
161 #[prost(string, optional, tag = "2")]
162 pub app_id: ::core::option::Option<::prost::alloc::string::String>,
163 #[prost(string, optional, tag = "3")]
164 pub launch_activity: ::core::option::Option<::prost::alloc::string::String>,
165 #[prost(bool, tag = "4")]
166 pub stop_before_launch: bool,
167 #[prost(message, optional, tag = "5")]
168 pub retry_options: ::core::option::Option<CommandRetryOptions>,
169}
170#[derive(Clone, PartialEq, ::prost::Message)]
171pub struct AppLaunchedEvent {
172 #[prost(string, tag = "1")]
173 pub app_session_id: ::prost::alloc::string::String,
174 #[prost(string, tag = "2")]
175 pub note: ::prost::alloc::string::String,
176 #[prost(string, optional, tag = "3")]
177 pub package_name: ::core::option::Option<::prost::alloc::string::String>,
178 #[prost(string, optional, tag = "4")]
179 pub activity_name: ::core::option::Option<::prost::alloc::string::String>,
180 #[prost(string, optional, tag = "5")]
181 pub webview_context: ::core::option::Option<::prost::alloc::string::String>,
182}
183#[derive(Clone, Copy, PartialEq, ::prost::Message)]
184pub struct RegisterMobileFileChooserHook {}
185#[derive(Clone, PartialEq, ::prost::Message)]
186pub struct MobileFileChooserHookResult {
187 #[prost(string, tag = "1")]
188 pub file_chooser_id: ::prost::alloc::string::String,
189 #[prost(bool, tag = "2")]
190 pub is_multiple: bool,
191 #[prost(string, tag = "3")]
192 pub note: ::prost::alloc::string::String,
193}
194#[derive(Clone, PartialEq, ::prost::Message)]
195pub struct SetMobileFileChooserFilesCommand {
196 #[prost(string, tag = "1")]
197 pub file_chooser_id: ::prost::alloc::string::String,
198 #[prost(string, repeated, tag = "2")]
199 pub file_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
200 #[prost(message, optional, tag = "3")]
201 pub retry_options: ::core::option::Option<CommandRetryOptions>,
202}
203#[derive(Clone, PartialEq, ::prost::Message)]
204pub struct MobileFileChooserFilesSetEvent {
205 #[prost(string, tag = "1")]
206 pub file_chooser_id: ::prost::alloc::string::String,
207 #[prost(string, repeated, tag = "2")]
208 pub file_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
209 #[prost(string, tag = "3")]
210 pub note: ::prost::alloc::string::String,
211}
212#[derive(Clone, Copy, PartialEq, ::prost::Message)]
213pub struct RegisterMobileDownloadHook {}
214#[derive(Clone, PartialEq, ::prost::Message)]
215pub struct MobileDownloadHookResult {
216 #[prost(string, tag = "1")]
217 pub download_id: ::prost::alloc::string::String,
218 #[prost(string, tag = "2")]
219 pub suggested_filename: ::prost::alloc::string::String,
220 #[prost(string, tag = "3")]
221 pub note: ::prost::alloc::string::String,
222}
223#[derive(Clone, PartialEq, ::prost::Message)]
224pub struct SaveMobileDownloadCommand {
225 #[prost(string, tag = "1")]
226 pub download_id: ::prost::alloc::string::String,
227 #[prost(message, optional, tag = "2")]
228 pub retry_options: ::core::option::Option<CommandRetryOptions>,
229}
230#[derive(Clone, PartialEq, ::prost::Message)]
231pub struct MobileDownloadSavedEvent {
232 #[prost(string, tag = "1")]
233 pub download_id: ::prost::alloc::string::String,
234 #[prost(string, tag = "2")]
235 pub file_id: ::prost::alloc::string::String,
236 #[prost(string, tag = "3")]
237 pub suggested_filename: ::prost::alloc::string::String,
238 #[prost(uint64, tag = "4")]
239 pub size: u64,
240 #[prost(string, tag = "5")]
241 pub note: ::prost::alloc::string::String,
242}
243#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
244#[repr(i32)]
245pub enum MobilePlatform {
246 Unspecified = 0,
247 Android = 1,
248 Ios = 2,
249}
250impl MobilePlatform {
251 pub fn as_str_name(&self) -> &'static str {
256 match self {
257 Self::Unspecified => "MOBILE_PLATFORM_UNSPECIFIED",
258 Self::Android => "MOBILE_PLATFORM_ANDROID",
259 Self::Ios => "MOBILE_PLATFORM_IOS",
260 }
261 }
262 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
264 match value {
265 "MOBILE_PLATFORM_UNSPECIFIED" => Some(Self::Unspecified),
266 "MOBILE_PLATFORM_ANDROID" => Some(Self::Android),
267 "MOBILE_PLATFORM_IOS" => Some(Self::Ios),
268 _ => None,
269 }
270 }
271}
272#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
273#[repr(i32)]
274pub enum DeviceConnectionKind {
275 Unspecified = 0,
276 Usb = 1,
277 Emulator = 2,
278 RemoteAdb = 3,
279}
280impl DeviceConnectionKind {
281 pub fn as_str_name(&self) -> &'static str {
286 match self {
287 Self::Unspecified => "DEVICE_CONNECTION_KIND_UNSPECIFIED",
288 Self::Usb => "DEVICE_CONNECTION_KIND_USB",
289 Self::Emulator => "DEVICE_CONNECTION_KIND_EMULATOR",
290 Self::RemoteAdb => "DEVICE_CONNECTION_KIND_REMOTE_ADB",
291 }
292 }
293 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
295 match value {
296 "DEVICE_CONNECTION_KIND_UNSPECIFIED" => Some(Self::Unspecified),
297 "DEVICE_CONNECTION_KIND_USB" => Some(Self::Usb),
298 "DEVICE_CONNECTION_KIND_EMULATOR" => Some(Self::Emulator),
299 "DEVICE_CONNECTION_KIND_REMOTE_ADB" => Some(Self::RemoteAdb),
300 _ => None,
301 }
302 }
303}
304#[derive(Clone, PartialEq, ::prost::Message)]
305pub struct LaunchBrowserCommand {
306 #[prost(enumeration = "BrowserKind", tag = "1")]
307 pub browser_kind: i32,
308 #[prost(string, optional, tag = "2")]
309 pub browser_binary: ::core::option::Option<::prost::alloc::string::String>,
310 #[prost(message, optional, tag = "3")]
311 pub retry_options: ::core::option::Option<CommandRetryOptions>,
312}
313#[derive(Clone, PartialEq, ::prost::Message)]
314pub struct BrowserLaunchedEvent {
315 #[prost(enumeration = "BrowserKind", tag = "1")]
316 pub browser_kind: i32,
317 #[prost(string, tag = "2")]
318 pub browser: ::prost::alloc::string::String,
319 #[prost(string, tag = "3")]
320 pub note: ::prost::alloc::string::String,
321 #[prost(string, tag = "4")]
322 pub user_data_dir: ::prost::alloc::string::String,
323 #[prost(string, tag = "5")]
324 pub initial_page_session_id: ::prost::alloc::string::String,
325}
326#[derive(Clone, PartialEq, ::prost::Message)]
327pub struct LaunchChromeCommand {
328 #[prost(string, optional, tag = "1")]
329 pub chrome_binary: ::core::option::Option<::prost::alloc::string::String>,
330 #[prost(message, optional, tag = "2")]
331 pub retry_options: ::core::option::Option<CommandRetryOptions>,
332}
333#[derive(Clone, PartialEq, ::prost::Message)]
334pub struct ChromeLaunchedEvent {
335 #[prost(string, tag = "1")]
336 pub browser: ::prost::alloc::string::String,
337 #[prost(string, tag = "2")]
338 pub note: ::prost::alloc::string::String,
339 #[prost(string, tag = "3")]
340 pub cdp_websocket_url: ::prost::alloc::string::String,
341 #[prost(string, tag = "4")]
342 pub user_data_dir: ::prost::alloc::string::String,
343 #[prost(string, tag = "5")]
344 pub initial_page_session_id: ::prost::alloc::string::String,
345}
346#[derive(Clone, Copy, PartialEq, ::prost::Message)]
348pub struct RegisterDialogHook {}
349#[derive(Clone, PartialEq, ::prost::Message)]
350pub struct DialogHookResult {
351 #[prost(string, tag = "1")]
352 pub dialog_id: ::prost::alloc::string::String,
353 #[prost(string, tag = "2")]
354 pub r#type: ::prost::alloc::string::String,
355 #[prost(string, tag = "3")]
356 pub message: ::prost::alloc::string::String,
357 #[prost(string, tag = "4")]
358 pub default_value: ::prost::alloc::string::String,
359}
360#[derive(Clone, PartialEq, ::prost::Message)]
361pub struct HandleDialogCommand {
362 #[prost(string, tag = "1")]
363 pub dialog_id: ::prost::alloc::string::String,
364 #[prost(bool, tag = "2")]
365 pub accept: bool,
366 #[prost(string, optional, tag = "3")]
367 pub prompt_text: ::core::option::Option<::prost::alloc::string::String>,
368 #[prost(message, optional, tag = "4")]
370 pub retry_options: ::core::option::Option<CommandRetryOptions>,
371}
372#[derive(Clone, PartialEq, ::prost::Message)]
373pub struct DialogHandledEvent {
374 #[prost(string, tag = "1")]
375 pub dialog_id: ::prost::alloc::string::String,
376}
377#[derive(Clone, Copy, PartialEq, ::prost::Message)]
378pub struct RegisterNewPageHook {}
379#[derive(Clone, PartialEq, ::prost::Message)]
380pub struct NewPageHookResult {
381 #[prost(string, tag = "1")]
382 pub context_session_id: ::prost::alloc::string::String,
383 #[prost(string, tag = "2")]
384 pub note: ::prost::alloc::string::String,
385}
386#[derive(Clone, Copy, PartialEq, ::prost::Message)]
387pub struct RegisterFileChooserHook {}
388#[derive(Clone, PartialEq, ::prost::Message)]
389pub struct FileChooserHookResult {
390 #[prost(string, tag = "1")]
391 pub file_chooser_id: ::prost::alloc::string::String,
392 #[prost(bool, tag = "2")]
393 pub is_multiple: bool,
394 #[prost(string, tag = "3")]
395 pub note: ::prost::alloc::string::String,
396}
397#[derive(Clone, PartialEq, ::prost::Message)]
398pub struct SetFileChooserFilesCommand {
399 #[prost(string, tag = "1")]
400 pub file_chooser_id: ::prost::alloc::string::String,
401 #[prost(string, repeated, tag = "2")]
402 pub file_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
403 #[prost(message, optional, tag = "3")]
404 pub retry_options: ::core::option::Option<CommandRetryOptions>,
405}
406#[derive(Clone, PartialEq, ::prost::Message)]
407pub struct FileChooserFilesSetEvent {
408 #[prost(string, tag = "1")]
409 pub file_chooser_id: ::prost::alloc::string::String,
410 #[prost(string, repeated, tag = "2")]
411 pub file_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
412 #[prost(string, tag = "3")]
413 pub note: ::prost::alloc::string::String,
414}
415#[derive(Clone, Copy, PartialEq, ::prost::Message)]
416pub struct RegisterDownloadHook {}
417#[derive(Clone, PartialEq, ::prost::Message)]
418pub struct DownloadHookResult {
419 #[prost(string, tag = "1")]
420 pub download_id: ::prost::alloc::string::String,
421 #[prost(string, tag = "2")]
422 pub url: ::prost::alloc::string::String,
423 #[prost(string, tag = "3")]
424 pub suggested_filename: ::prost::alloc::string::String,
425 #[prost(string, tag = "4")]
426 pub note: ::prost::alloc::string::String,
427}
428#[derive(Clone, PartialEq, ::prost::Message)]
429pub struct SaveDownloadCommand {
430 #[prost(string, tag = "1")]
431 pub download_id: ::prost::alloc::string::String,
432 #[prost(message, optional, tag = "2")]
433 pub retry_options: ::core::option::Option<CommandRetryOptions>,
434}
435#[derive(Clone, PartialEq, ::prost::Message)]
436pub struct DownloadSavedEvent {
437 #[prost(string, tag = "1")]
438 pub download_id: ::prost::alloc::string::String,
439 #[prost(string, tag = "2")]
440 pub file_id: ::prost::alloc::string::String,
441 #[prost(string, tag = "3")]
442 pub suggested_filename: ::prost::alloc::string::String,
443 #[prost(uint64, tag = "4")]
444 pub size: u64,
445 #[prost(string, tag = "5")]
446 pub note: ::prost::alloc::string::String,
447}
448#[derive(Clone, PartialEq, ::prost::Message)]
450pub struct ResolveFrameCommand {
451 #[prost(string, tag = "1")]
452 pub css_selector: ::prost::alloc::string::String,
453 #[prost(message, optional, tag = "2")]
454 pub retry_options: ::core::option::Option<CommandRetryOptions>,
455}
456#[derive(Clone, PartialEq, ::prost::Message)]
457pub struct FrameResolvedEvent {
458 #[prost(string, tag = "1")]
459 pub context_session_id: ::prost::alloc::string::String,
460}
461#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
462#[repr(i32)]
463pub enum BrowserKind {
464 Unspecified = 0,
465 Chromium = 1,
466 Firefox = 2,
467}
468impl BrowserKind {
469 pub fn as_str_name(&self) -> &'static str {
474 match self {
475 Self::Unspecified => "BROWSER_KIND_UNSPECIFIED",
476 Self::Chromium => "BROWSER_KIND_CHROMIUM",
477 Self::Firefox => "BROWSER_KIND_FIREFOX",
478 }
479 }
480 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
482 match value {
483 "BROWSER_KIND_UNSPECIFIED" => Some(Self::Unspecified),
484 "BROWSER_KIND_CHROMIUM" => Some(Self::Chromium),
485 "BROWSER_KIND_FIREFOX" => Some(Self::Firefox),
486 _ => None,
487 }
488 }
489}
490#[derive(Clone, PartialEq, ::prost::Message)]
491pub struct SurfaceSessionCommand {
492 #[prost(
493 oneof = "surface_session_command::Command",
494 tags = "1, 2, 3, 4, 5, 6, 7, 8, 9"
495 )]
496 pub command: ::core::option::Option<surface_session_command::Command>,
497}
498pub mod surface_session_command {
500 #[derive(Clone, PartialEq, ::prost::Oneof)]
501 pub enum Command {
502 #[prost(message, tag = "1")]
503 LaunchChrome(super::LaunchChromeCommand),
504 #[prost(message, tag = "2")]
505 OpenContext(super::OpenContextCommand),
506 #[prost(message, tag = "3")]
507 Ping(super::SessionPingCommand),
508 #[prost(message, tag = "4")]
509 Close(super::CloseSurfaceSessionCommand),
510 #[prost(message, tag = "5")]
511 LaunchBrowser(super::LaunchBrowserCommand),
512 #[prost(message, tag = "6")]
513 ConnectMobile(super::ConnectMobileCommand),
514 #[prost(message, tag = "7")]
515 LaunchApp(super::LaunchAppCommand),
516 #[prost(message, tag = "8")]
517 ConnectDesktop(super::ConnectDesktopCommand),
518 #[prost(message, tag = "9")]
519 LaunchDesktopApp(super::LaunchDesktopAppCommand),
520 }
521}
522#[derive(Clone, Copy, PartialEq, ::prost::Message)]
523pub struct OpenContextCommand {
524 #[prost(message, optional, tag = "1")]
525 pub retry_options: ::core::option::Option<CommandRetryOptions>,
526}
527#[derive(Clone, PartialEq, ::prost::Message)]
528pub struct SessionPingCommand {
529 #[prost(string, tag = "1")]
530 pub message: ::prost::alloc::string::String,
531}
532#[derive(Clone, Copy, PartialEq, ::prost::Message)]
533pub struct CloseSurfaceSessionCommand {}
534#[derive(Clone, PartialEq, ::prost::Message)]
535pub struct SurfaceSessionEvent {
536 #[prost(string, tag = "1")]
537 pub session_id: ::prost::alloc::string::String,
538 #[prost(
539 oneof = "surface_session_event::Event",
540 tags = "2, 3, 4, 5, 6, 7, 8, 9, 10, 11"
541 )]
542 pub event: ::core::option::Option<surface_session_event::Event>,
543}
544pub mod surface_session_event {
546 #[derive(Clone, PartialEq, ::prost::Oneof)]
547 pub enum Event {
548 #[prost(message, tag = "2")]
549 ChromeLaunched(super::ChromeLaunchedEvent),
550 #[prost(message, tag = "3")]
551 ContextOpened(super::ContextOpenedEvent),
552 #[prost(message, tag = "4")]
553 Pong(super::SessionPongEvent),
554 #[prost(message, tag = "5")]
555 Closed(super::SurfaceSessionClosedEvent),
556 #[prost(message, tag = "6")]
557 Error(super::SurfaceSessionErrorEvent),
558 #[prost(message, tag = "7")]
559 BrowserLaunched(super::BrowserLaunchedEvent),
560 #[prost(message, tag = "8")]
561 MobileConnected(super::MobileConnectedEvent),
562 #[prost(message, tag = "9")]
563 AppLaunched(super::AppLaunchedEvent),
564 #[prost(message, tag = "10")]
565 DesktopConnected(super::DesktopConnectedEvent),
566 #[prost(message, tag = "11")]
567 DesktopAppLaunched(super::DesktopAppLaunchedEvent),
568 }
569}
570#[derive(Clone, PartialEq, ::prost::Message)]
571pub struct ContextOpenedEvent {
572 #[prost(string, tag = "1")]
573 pub context_session_id: ::prost::alloc::string::String,
574 #[prost(string, tag = "2")]
575 pub note: ::prost::alloc::string::String,
576}
577#[derive(Clone, PartialEq, ::prost::Message)]
578pub struct SessionPongEvent {
579 #[prost(string, tag = "1")]
580 pub message: ::prost::alloc::string::String,
581}
582#[derive(Clone, PartialEq, ::prost::Message)]
583pub struct SurfaceSessionClosedEvent {
584 #[prost(string, tag = "1")]
585 pub reason: ::prost::alloc::string::String,
586}
587#[derive(Clone, PartialEq, ::prost::Message)]
588pub struct SurfaceSessionErrorEvent {
589 #[prost(string, tag = "1")]
590 pub message: ::prost::alloc::string::String,
591}
592#[derive(Clone, PartialEq, ::prost::Message)]
593pub struct ContextSessionCommand {
594 #[prost(string, tag = "1")]
595 pub surface_session_id: ::prost::alloc::string::String,
596 #[prost(string, tag = "2")]
597 pub context_session_id: ::prost::alloc::string::String,
598 #[prost(
599 oneof = "context_session_command::Command",
600 tags = "3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30"
601 )]
602 pub command: ::core::option::Option<context_session_command::Command>,
603}
604pub mod context_session_command {
606 #[derive(Clone, PartialEq, ::prost::Oneof)]
607 pub enum Command {
608 #[prost(message, tag = "3")]
609 Ping(super::ContextSessionPingCommand),
610 #[prost(message, tag = "4")]
611 Close(super::CloseContextSessionCommand),
612 #[prost(message, tag = "5")]
613 Navigate(super::NavigatePageCommand),
614 #[prost(message, tag = "6")]
615 ClickElement(super::ClickElementCommand),
616 #[prost(message, tag = "7")]
617 CountElements(super::CountElementsCommand),
618 #[prost(message, tag = "8")]
619 HighlightElements(super::HighlightElementsCommand),
620 #[prost(message, tag = "9")]
621 FocusElement(super::FocusElementCommand),
622 #[prost(message, tag = "10")]
623 FillElement(super::FillElementCommand),
624 #[prost(message, tag = "11")]
625 HoverElement(super::HoverElementCommand),
626 #[prost(message, tag = "12")]
627 PressKey(super::PressKeyCommand),
628 #[prost(message, tag = "13")]
629 GetTextContent(super::GetTextContentCommand),
630 #[prost(message, tag = "14")]
631 GetInnerText(super::GetInnerTextCommand),
632 #[prost(message, tag = "15")]
633 WaitForSelector(super::WaitForSelectorCommand),
634 #[prost(message, tag = "16")]
635 Screenshot(super::ScreenshotCommand),
636 #[prost(message, tag = "17")]
637 AccessibilitySnapshot(super::AccessibilitySnapshotCommand),
638 #[prost(message, tag = "18")]
639 RegisterHook(super::RegisterHookCommand),
640 #[prost(message, tag = "19")]
641 WaitForHook(super::WaitForHookCommand),
642 #[prost(message, tag = "20")]
643 SetFileChooserFiles(super::SetFileChooserFilesCommand),
644 #[prost(message, tag = "21")]
645 SaveDownload(super::SaveDownloadCommand),
646 #[prost(message, tag = "22")]
647 UploadFileChunk(super::UploadFileChunkCommand),
648 #[prost(message, tag = "23")]
649 ReadFileChunk(super::ReadFileChunkCommand),
650 #[prost(message, tag = "24")]
651 SetMobileFileChooserFiles(super::SetMobileFileChooserFilesCommand),
652 #[prost(message, tag = "25")]
653 SaveMobileDownload(super::SaveMobileDownloadCommand),
654 #[prost(message, tag = "26")]
655 ResolveFrame(super::ResolveFrameCommand),
656 #[prost(message, tag = "27")]
657 Capture(super::CaptureCommand),
658 #[prost(message, tag = "28")]
659 HandleDialog(super::HandleDialogCommand),
660 #[prost(message, tag = "29")]
661 ListDesktopWindows(super::ListDesktopWindowsCommand),
662 #[prost(message, tag = "30")]
663 CloseDesktopWindow(super::CloseDesktopWindowCommand),
664 }
665}
666#[derive(Clone, PartialEq, ::prost::Message)]
667pub struct ContextSessionPingCommand {
668 #[prost(string, tag = "1")]
669 pub message: ::prost::alloc::string::String,
670}
671#[derive(Clone, Copy, PartialEq, ::prost::Message)]
672pub struct CloseContextSessionCommand {}
673#[derive(Clone, PartialEq, ::prost::Message)]
674pub struct ContextSessionEvent {
675 #[prost(string, tag = "1")]
676 pub context_session_id: ::prost::alloc::string::String,
677 #[prost(
678 oneof = "context_session_event::Event",
679 tags = "2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32"
680 )]
681 pub event: ::core::option::Option<context_session_event::Event>,
682}
683pub mod context_session_event {
685 #[derive(Clone, PartialEq, ::prost::Oneof)]
686 pub enum Event {
687 #[prost(message, tag = "2")]
688 Attached(super::ContextSessionAttachedEvent),
689 #[prost(message, tag = "3")]
690 Pong(super::ContextSessionPongEvent),
691 #[prost(message, tag = "4")]
692 Closed(super::ContextSessionClosedEvent),
693 #[prost(message, tag = "5")]
694 Error(super::ContextSessionErrorEvent),
695 #[prost(message, tag = "6")]
696 Navigated(super::PageNavigatedEvent),
697 #[prost(message, tag = "7")]
698 ChromiumBidiInjection(super::ChromiumBidiInjectionEvent),
699 #[prost(message, tag = "8")]
700 ElementClicked(super::ElementClickedEvent),
701 #[prost(message, tag = "9")]
702 ElementCounted(super::ElementCountedEvent),
703 #[prost(message, tag = "10")]
704 ElementsHighlighted(super::ElementsHighlightedEvent),
705 #[prost(message, tag = "11")]
706 ElementFocused(super::ElementFocusedEvent),
707 #[prost(message, tag = "12")]
708 ElementFilled(super::ElementFilledEvent),
709 #[prost(message, tag = "13")]
710 ElementHovered(super::ElementHoveredEvent),
711 #[prost(message, tag = "14")]
712 KeyPressed(super::KeyPressedEvent),
713 #[prost(message, tag = "15")]
714 TextContentResolved(super::TextContentResolvedEvent),
715 #[prost(message, tag = "16")]
716 InnerTextResolved(super::InnerTextResolvedEvent),
717 #[prost(message, tag = "17")]
718 SelectorWaitSatisfied(super::SelectorWaitSatisfiedEvent),
719 #[prost(message, tag = "18")]
720 ScreenshotCaptured(super::ScreenshotCapturedEvent),
721 #[prost(message, tag = "19")]
722 AccessibilitySnapshotCaptured(super::AccessibilitySnapshotCapturedEvent),
723 #[prost(message, tag = "20")]
724 HookRegistered(super::HookRegisteredEvent),
725 #[prost(message, tag = "21")]
726 HookCompleted(super::HookCompletedEvent),
727 #[prost(message, tag = "22")]
728 FileChooserFilesSet(super::FileChooserFilesSetEvent),
729 #[prost(message, tag = "23")]
730 DownloadSaved(super::DownloadSavedEvent),
731 #[prost(message, tag = "24")]
732 FileUploaded(super::FileUploadedEvent),
733 #[prost(message, tag = "25")]
734 FileChunk(super::FileChunkEvent),
735 #[prost(message, tag = "26")]
736 MobileFileChooserFilesSet(super::MobileFileChooserFilesSetEvent),
737 #[prost(message, tag = "27")]
738 MobileDownloadSaved(super::MobileDownloadSavedEvent),
739 #[prost(message, tag = "28")]
740 FrameResolved(super::FrameResolvedEvent),
741 #[prost(message, tag = "29")]
742 CaptureResolved(super::CaptureResolvedEvent),
743 #[prost(message, tag = "30")]
744 DialogHandled(super::DialogHandledEvent),
745 #[prost(message, tag = "31")]
746 DesktopWindowsResolved(super::DesktopWindowsResolvedEvent),
747 #[prost(message, tag = "32")]
748 DesktopWindowClosed(super::DesktopWindowClosedEvent),
749 }
750}
751#[derive(Clone, PartialEq, ::prost::Message)]
752pub struct ContextSessionAttachedEvent {
753 #[prost(string, tag = "1")]
754 pub note: ::prost::alloc::string::String,
755}
756#[derive(Clone, PartialEq, ::prost::Message)]
757pub struct ContextSessionPongEvent {
758 #[prost(string, tag = "1")]
759 pub message: ::prost::alloc::string::String,
760}
761#[derive(Clone, PartialEq, ::prost::Message)]
762pub struct ContextSessionClosedEvent {
763 #[prost(string, tag = "1")]
764 pub reason: ::prost::alloc::string::String,
765}
766#[derive(Clone, PartialEq, ::prost::Message)]
767pub struct ContextSessionErrorEvent {
768 #[prost(string, tag = "1")]
769 pub message: ::prost::alloc::string::String,
770}
771#[derive(Clone, Copy, PartialEq, ::prost::Message)]
772pub struct RegisterHookCommand {
773 #[prost(oneof = "register_hook_command::Hook", tags = "1, 2, 3, 4, 5, 6, 7")]
774 pub hook: ::core::option::Option<register_hook_command::Hook>,
775}
776pub mod register_hook_command {
778 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
779 pub enum Hook {
780 #[prost(message, tag = "1")]
781 NewPage(super::RegisterNewPageHook),
782 #[prost(message, tag = "2")]
783 FileChooser(super::RegisterFileChooserHook),
784 #[prost(message, tag = "3")]
785 Download(super::RegisterDownloadHook),
786 #[prost(message, tag = "4")]
787 MobileFileChooser(super::RegisterMobileFileChooserHook),
788 #[prost(message, tag = "5")]
789 MobileDownload(super::RegisterMobileDownloadHook),
790 #[prost(message, tag = "6")]
791 Dialog(super::RegisterDialogHook),
792 #[prost(message, tag = "7")]
793 DesktopWindow(super::RegisterDesktopWindowHook),
794 }
795}
796#[derive(Clone, PartialEq, ::prost::Message)]
797pub struct WaitForHookCommand {
798 #[prost(string, tag = "1")]
799 pub hook_id: ::prost::alloc::string::String,
800 #[prost(message, optional, tag = "2")]
801 pub retry_options: ::core::option::Option<CommandRetryOptions>,
802}
803#[derive(Clone, PartialEq, ::prost::Message)]
804pub struct HookRegisteredEvent {
805 #[prost(string, tag = "1")]
806 pub hook_id: ::prost::alloc::string::String,
807}
808#[derive(Clone, PartialEq, ::prost::Message)]
809pub struct HookCompletedEvent {
810 #[prost(string, tag = "1")]
811 pub hook_id: ::prost::alloc::string::String,
812 #[prost(oneof = "hook_completed_event::Result", tags = "2, 3, 4, 5, 6, 7, 8")]
813 pub result: ::core::option::Option<hook_completed_event::Result>,
814}
815pub mod hook_completed_event {
817 #[derive(Clone, PartialEq, ::prost::Oneof)]
818 pub enum Result {
819 #[prost(message, tag = "2")]
820 NewPage(super::NewPageHookResult),
821 #[prost(message, tag = "3")]
822 FileChooser(super::FileChooserHookResult),
823 #[prost(message, tag = "4")]
824 Download(super::DownloadHookResult),
825 #[prost(message, tag = "5")]
826 MobileFileChooser(super::MobileFileChooserHookResult),
827 #[prost(message, tag = "6")]
828 MobileDownload(super::MobileDownloadHookResult),
829 #[prost(message, tag = "7")]
830 Dialog(super::DialogHookResult),
831 #[prost(message, tag = "8")]
832 DesktopWindow(super::DesktopWindowHookResult),
833 }
834}
835#[derive(Clone, PartialEq, ::prost::Message)]
836pub struct UploadFileChunkCommand {
837 #[prost(string, tag = "1")]
838 pub transfer_id: ::prost::alloc::string::String,
839 #[prost(string, tag = "2")]
840 pub name: ::prost::alloc::string::String,
841 #[prost(uint64, tag = "3")]
842 pub offset: u64,
843 #[prost(bytes = "vec", tag = "4")]
844 pub data: ::prost::alloc::vec::Vec<u8>,
845 #[prost(bool, tag = "5")]
846 pub last: bool,
847}
848#[derive(Clone, PartialEq, ::prost::Message)]
849pub struct FileUploadedEvent {
850 #[prost(string, tag = "1")]
851 pub transfer_id: ::prost::alloc::string::String,
852 #[prost(string, tag = "2")]
853 pub file_id: ::prost::alloc::string::String,
854 #[prost(string, tag = "3")]
855 pub name: ::prost::alloc::string::String,
856 #[prost(uint64, tag = "4")]
857 pub size: u64,
858}
859#[derive(Clone, PartialEq, ::prost::Message)]
860pub struct ReadFileChunkCommand {
861 #[prost(string, tag = "1")]
862 pub file_id: ::prost::alloc::string::String,
863 #[prost(uint64, tag = "2")]
864 pub offset: u64,
865 #[prost(uint32, tag = "3")]
866 pub max_bytes: u32,
867}
868#[derive(Clone, PartialEq, ::prost::Message)]
869pub struct FileChunkEvent {
870 #[prost(string, tag = "1")]
871 pub file_id: ::prost::alloc::string::String,
872 #[prost(uint64, tag = "2")]
873 pub offset: u64,
874 #[prost(bytes = "vec", tag = "3")]
875 pub data: ::prost::alloc::vec::Vec<u8>,
876 #[prost(bool, tag = "4")]
877 pub last: bool,
878}
879#[derive(Clone, PartialEq, ::prost::Message)]
880pub struct NavigatePageCommand {
881 #[prost(string, tag = "1")]
882 pub url: ::prost::alloc::string::String,
883 #[prost(message, optional, tag = "2")]
884 pub retry_options: ::core::option::Option<CommandRetryOptions>,
885}
886#[derive(Clone, PartialEq, ::prost::Message)]
887pub struct ClickElementCommand {
888 #[prost(string, tag = "1")]
889 pub css_selector: ::prost::alloc::string::String,
890 #[prost(message, optional, tag = "2")]
891 pub retry_options: ::core::option::Option<CommandRetryOptions>,
892 #[prost(string, optional, tag = "3")]
893 pub button: ::core::option::Option<::prost::alloc::string::String>,
894 #[prost(uint32, optional, tag = "4")]
895 pub click_count: ::core::option::Option<u32>,
896}
897#[derive(Clone, PartialEq, ::prost::Message)]
898pub struct CountElementsCommand {
899 #[prost(string, tag = "1")]
900 pub css_selector: ::prost::alloc::string::String,
901 #[prost(message, optional, tag = "2")]
902 pub retry_options: ::core::option::Option<CommandRetryOptions>,
903}
904#[derive(Clone, PartialEq, ::prost::Message)]
905pub struct HighlightElementsCommand {
906 #[prost(string, tag = "1")]
907 pub css_selector: ::prost::alloc::string::String,
908 #[prost(uint32, optional, tag = "2")]
909 pub duration_ms: ::core::option::Option<u32>,
910 #[prost(message, optional, tag = "3")]
911 pub retry_options: ::core::option::Option<CommandRetryOptions>,
912}
913#[derive(Clone, PartialEq, ::prost::Message)]
914pub struct FocusElementCommand {
915 #[prost(string, tag = "1")]
916 pub css_selector: ::prost::alloc::string::String,
917 #[prost(message, optional, tag = "2")]
918 pub retry_options: ::core::option::Option<CommandRetryOptions>,
919}
920#[derive(Clone, PartialEq, ::prost::Message)]
921pub struct FillElementCommand {
922 #[prost(string, tag = "1")]
923 pub css_selector: ::prost::alloc::string::String,
924 #[prost(string, tag = "2")]
925 pub value: ::prost::alloc::string::String,
926 #[prost(message, optional, tag = "3")]
927 pub retry_options: ::core::option::Option<CommandRetryOptions>,
928}
929#[derive(Clone, PartialEq, ::prost::Message)]
930pub struct HoverElementCommand {
931 #[prost(string, tag = "1")]
932 pub css_selector: ::prost::alloc::string::String,
933 #[prost(message, optional, tag = "2")]
934 pub retry_options: ::core::option::Option<CommandRetryOptions>,
935}
936#[derive(Clone, PartialEq, ::prost::Message)]
937pub struct PressKeyCommand {
938 #[prost(string, tag = "1")]
939 pub css_selector: ::prost::alloc::string::String,
940 #[prost(string, tag = "2")]
941 pub key: ::prost::alloc::string::String,
942 #[prost(string, optional, tag = "3")]
943 pub text: ::core::option::Option<::prost::alloc::string::String>,
944 #[prost(message, optional, tag = "4")]
945 pub retry_options: ::core::option::Option<CommandRetryOptions>,
946}
947#[derive(Clone, PartialEq, ::prost::Message)]
948pub struct GetTextContentCommand {
949 #[prost(string, tag = "1")]
950 pub css_selector: ::prost::alloc::string::String,
951 #[prost(message, optional, tag = "2")]
952 pub retry_options: ::core::option::Option<CommandRetryOptions>,
953}
954#[derive(Clone, PartialEq, ::prost::Message)]
955pub struct GetInnerTextCommand {
956 #[prost(string, tag = "1")]
957 pub css_selector: ::prost::alloc::string::String,
958 #[prost(message, optional, tag = "2")]
959 pub retry_options: ::core::option::Option<CommandRetryOptions>,
960}
961#[derive(Clone, PartialEq, ::prost::Message)]
962pub struct WaitForSelectorCommand {
963 #[prost(string, tag = "1")]
964 pub css_selector: ::prost::alloc::string::String,
965 #[prost(bool, optional, tag = "2")]
966 pub visible: ::core::option::Option<bool>,
967 #[prost(message, optional, tag = "3")]
968 pub retry_options: ::core::option::Option<CommandRetryOptions>,
969}
970#[derive(Clone, Copy, PartialEq, ::prost::Message)]
971pub struct ScreenshotCommand {
972 #[prost(message, optional, tag = "1")]
973 pub retry_options: ::core::option::Option<CommandRetryOptions>,
974 #[prost(bool, optional, tag = "2")]
975 pub full_page: ::core::option::Option<bool>,
976}
977#[derive(Clone, PartialEq, ::prost::Message)]
978pub struct PageNavigatedEvent {
979 #[prost(string, tag = "1")]
980 pub url: ::prost::alloc::string::String,
981 #[prost(string, tag = "2")]
982 pub note: ::prost::alloc::string::String,
983}
984#[derive(Clone, PartialEq, ::prost::Message)]
985pub struct ChromiumBidiInjectionEvent {
986 #[prost(string, tag = "1")]
987 pub note: ::prost::alloc::string::String,
988 #[prost(string, tag = "2")]
989 pub bidi_session_id: ::prost::alloc::string::String,
990 #[prost(string, tag = "3")]
991 pub mapper_target_id: ::prost::alloc::string::String,
992 #[prost(string, tag = "4")]
993 pub mapper_session_id: ::prost::alloc::string::String,
994 #[prost(string, tag = "5")]
995 pub package_version: ::prost::alloc::string::String,
996}
997#[derive(Clone, PartialEq, ::prost::Message)]
998pub struct ElementClickedEvent {
999 #[prost(string, tag = "1")]
1000 pub css_selector: ::prost::alloc::string::String,
1001 #[prost(string, tag = "2")]
1002 pub note: ::prost::alloc::string::String,
1003 #[prost(string, tag = "3")]
1004 pub bidi_session_id: ::prost::alloc::string::String,
1005}
1006#[derive(Clone, PartialEq, ::prost::Message)]
1007pub struct ElementCountedEvent {
1008 #[prost(string, tag = "1")]
1009 pub css_selector: ::prost::alloc::string::String,
1010 #[prost(uint32, tag = "2")]
1011 pub count: u32,
1012 #[prost(string, tag = "3")]
1013 pub note: ::prost::alloc::string::String,
1014}
1015#[derive(Clone, PartialEq, ::prost::Message)]
1016pub struct ElementsHighlightedEvent {
1017 #[prost(string, tag = "1")]
1018 pub css_selector: ::prost::alloc::string::String,
1019 #[prost(uint32, tag = "2")]
1020 pub count: u32,
1021 #[prost(string, tag = "3")]
1022 pub note: ::prost::alloc::string::String,
1023}
1024#[derive(Clone, PartialEq, ::prost::Message)]
1025pub struct ElementFocusedEvent {
1026 #[prost(string, tag = "1")]
1027 pub css_selector: ::prost::alloc::string::String,
1028 #[prost(string, tag = "2")]
1029 pub note: ::prost::alloc::string::String,
1030}
1031#[derive(Clone, PartialEq, ::prost::Message)]
1032pub struct ElementFilledEvent {
1033 #[prost(string, tag = "1")]
1034 pub css_selector: ::prost::alloc::string::String,
1035 #[prost(string, tag = "2")]
1036 pub value: ::prost::alloc::string::String,
1037 #[prost(string, tag = "3")]
1038 pub note: ::prost::alloc::string::String,
1039}
1040#[derive(Clone, PartialEq, ::prost::Message)]
1041pub struct ElementHoveredEvent {
1042 #[prost(string, tag = "1")]
1043 pub css_selector: ::prost::alloc::string::String,
1044 #[prost(string, tag = "2")]
1045 pub note: ::prost::alloc::string::String,
1046}
1047#[derive(Clone, PartialEq, ::prost::Message)]
1048pub struct KeyPressedEvent {
1049 #[prost(string, tag = "1")]
1050 pub css_selector: ::prost::alloc::string::String,
1051 #[prost(string, tag = "2")]
1052 pub key: ::prost::alloc::string::String,
1053 #[prost(string, tag = "3")]
1054 pub note: ::prost::alloc::string::String,
1055}
1056#[derive(Clone, PartialEq, ::prost::Message)]
1057pub struct TextContentResolvedEvent {
1058 #[prost(string, tag = "1")]
1059 pub css_selector: ::prost::alloc::string::String,
1060 #[prost(string, tag = "2")]
1061 pub text: ::prost::alloc::string::String,
1062 #[prost(string, tag = "3")]
1063 pub note: ::prost::alloc::string::String,
1064}
1065#[derive(Clone, PartialEq, ::prost::Message)]
1066pub struct InnerTextResolvedEvent {
1067 #[prost(string, tag = "1")]
1068 pub css_selector: ::prost::alloc::string::String,
1069 #[prost(string, tag = "2")]
1070 pub text: ::prost::alloc::string::String,
1071 #[prost(string, tag = "3")]
1072 pub note: ::prost::alloc::string::String,
1073}
1074#[derive(Clone, PartialEq, ::prost::Message)]
1075pub struct SelectorWaitSatisfiedEvent {
1076 #[prost(string, tag = "1")]
1077 pub css_selector: ::prost::alloc::string::String,
1078 #[prost(bool, tag = "2")]
1079 pub visible: bool,
1080 #[prost(string, tag = "3")]
1081 pub note: ::prost::alloc::string::String,
1082}
1083#[derive(Clone, PartialEq, ::prost::Message)]
1084pub struct ScreenshotCapturedEvent {
1085 #[prost(bytes = "vec", tag = "1")]
1086 pub png_data: ::prost::alloc::vec::Vec<u8>,
1087 #[prost(string, tag = "2")]
1088 pub note: ::prost::alloc::string::String,
1089}
1090#[derive(Clone, PartialEq, ::prost::Message)]
1092pub struct AccessibilitySnapshotCommand {
1093 #[prost(string, tag = "3")]
1096 pub mode: ::prost::alloc::string::String,
1097 #[prost(string, tag = "1")]
1098 pub format: ::prost::alloc::string::String,
1099 #[prost(message, optional, tag = "2")]
1100 pub retry_options: ::core::option::Option<CommandRetryOptions>,
1101}
1102#[derive(Clone, PartialEq, ::prost::Message)]
1104pub struct AccessibilitySnapshotCapturedEvent {
1105 #[prost(string, tag = "1")]
1106 pub snapshot: ::prost::alloc::string::String,
1107 #[prost(string, tag = "2")]
1108 pub format: ::prost::alloc::string::String,
1109}
1110#[derive(Clone, PartialEq, ::prost::Message)]
1111pub struct CaptureCommand {
1112 #[prost(enumeration = "CaptureKind", tag = "1")]
1113 pub kind: i32,
1114 #[prost(string, tag = "2")]
1115 pub css_selector: ::prost::alloc::string::String,
1116 #[prost(string, tag = "3")]
1117 pub attribute_name: ::prost::alloc::string::String,
1118 #[prost(message, optional, tag = "4")]
1119 pub retry_options: ::core::option::Option<CommandRetryOptions>,
1120}
1121#[derive(Clone, PartialEq, ::prost::Message)]
1122pub struct CapturedOption {
1123 #[prost(string, tag = "1")]
1124 pub value: ::prost::alloc::string::String,
1125 #[prost(string, tag = "2")]
1126 pub label: ::prost::alloc::string::String,
1127 #[prost(uint32, tag = "3")]
1128 pub index: u32,
1129}
1130#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1131pub struct BoundingBox {
1132 #[prost(double, tag = "1")]
1133 pub x: f64,
1134 #[prost(double, tag = "2")]
1135 pub y: f64,
1136 #[prost(double, tag = "3")]
1137 pub width: f64,
1138 #[prost(double, tag = "4")]
1139 pub height: f64,
1140}
1141#[derive(Clone, PartialEq, ::prost::Message)]
1142pub struct CaptureResolvedEvent {
1143 #[prost(string, optional, tag = "1")]
1145 pub value: ::core::option::Option<::prost::alloc::string::String>,
1146 #[prost(bool, optional, tag = "2")]
1147 pub checked: ::core::option::Option<bool>,
1148 #[prost(message, repeated, tag = "3")]
1149 pub selected_options: ::prost::alloc::vec::Vec<CapturedOption>,
1150 #[prost(message, optional, tag = "4")]
1152 pub bounding_box: ::core::option::Option<BoundingBox>,
1153}
1154#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1156#[repr(i32)]
1157pub enum CaptureKind {
1158 Unspecified = 0,
1159 Url = 1,
1160 InputValue = 2,
1161 SelectedOptions = 3,
1162 SelectedText = 4,
1163 Checked = 5,
1164 Attribute = 6,
1165 BoundingBox = 7,
1166}
1167impl CaptureKind {
1168 pub fn as_str_name(&self) -> &'static str {
1173 match self {
1174 Self::Unspecified => "CAPTURE_KIND_UNSPECIFIED",
1175 Self::Url => "CAPTURE_KIND_URL",
1176 Self::InputValue => "CAPTURE_KIND_INPUT_VALUE",
1177 Self::SelectedOptions => "CAPTURE_KIND_SELECTED_OPTIONS",
1178 Self::SelectedText => "CAPTURE_KIND_SELECTED_TEXT",
1179 Self::Checked => "CAPTURE_KIND_CHECKED",
1180 Self::Attribute => "CAPTURE_KIND_ATTRIBUTE",
1181 Self::BoundingBox => "CAPTURE_KIND_BOUNDING_BOX",
1182 }
1183 }
1184 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1186 match value {
1187 "CAPTURE_KIND_UNSPECIFIED" => Some(Self::Unspecified),
1188 "CAPTURE_KIND_URL" => Some(Self::Url),
1189 "CAPTURE_KIND_INPUT_VALUE" => Some(Self::InputValue),
1190 "CAPTURE_KIND_SELECTED_OPTIONS" => Some(Self::SelectedOptions),
1191 "CAPTURE_KIND_SELECTED_TEXT" => Some(Self::SelectedText),
1192 "CAPTURE_KIND_CHECKED" => Some(Self::Checked),
1193 "CAPTURE_KIND_ATTRIBUTE" => Some(Self::Attribute),
1194 "CAPTURE_KIND_BOUNDING_BOX" => Some(Self::BoundingBox),
1195 _ => None,
1196 }
1197 }
1198}
1199pub mod engine_service_client {
1201 #![allow(
1202 unused_variables,
1203 dead_code,
1204 missing_docs,
1205 clippy::wildcard_imports,
1206 clippy::let_unit_value,
1207 )]
1208 use tonic::codegen::*;
1209 use tonic::codegen::http::Uri;
1210 #[derive(Debug, Clone)]
1211 pub struct EngineServiceClient<T> {
1212 inner: tonic::client::Grpc<T>,
1213 }
1214 impl EngineServiceClient<tonic::transport::Channel> {
1215 pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
1217 where
1218 D: TryInto<tonic::transport::Endpoint>,
1219 D::Error: Into<StdError>,
1220 {
1221 let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
1222 Ok(Self::new(conn))
1223 }
1224 }
1225 impl<T> EngineServiceClient<T>
1226 where
1227 T: tonic::client::GrpcService<tonic::body::BoxBody>,
1228 T::Error: Into<StdError>,
1229 T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
1230 <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
1231 {
1232 pub fn new(inner: T) -> Self {
1233 let inner = tonic::client::Grpc::new(inner);
1234 Self { inner }
1235 }
1236 pub fn with_origin(inner: T, origin: Uri) -> Self {
1237 let inner = tonic::client::Grpc::with_origin(inner, origin);
1238 Self { inner }
1239 }
1240 pub fn with_interceptor<F>(
1241 inner: T,
1242 interceptor: F,
1243 ) -> EngineServiceClient<InterceptedService<T, F>>
1244 where
1245 F: tonic::service::Interceptor,
1246 T::ResponseBody: Default,
1247 T: tonic::codegen::Service<
1248 http::Request<tonic::body::BoxBody>,
1249 Response = http::Response<
1250 <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
1251 >,
1252 >,
1253 <T as tonic::codegen::Service<
1254 http::Request<tonic::body::BoxBody>,
1255 >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
1256 {
1257 EngineServiceClient::new(InterceptedService::new(inner, interceptor))
1258 }
1259 #[must_use]
1264 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
1265 self.inner = self.inner.send_compressed(encoding);
1266 self
1267 }
1268 #[must_use]
1270 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
1271 self.inner = self.inner.accept_compressed(encoding);
1272 self
1273 }
1274 #[must_use]
1278 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
1279 self.inner = self.inner.max_decoding_message_size(limit);
1280 self
1281 }
1282 #[must_use]
1286 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
1287 self.inner = self.inner.max_encoding_message_size(limit);
1288 self
1289 }
1290 pub async fn ping(
1291 &mut self,
1292 request: impl tonic::IntoRequest<super::PingRequest>,
1293 ) -> std::result::Result<tonic::Response<super::PingResponse>, tonic::Status> {
1294 self.inner
1295 .ready()
1296 .await
1297 .map_err(|e| {
1298 tonic::Status::unknown(
1299 format!("Service was not ready: {}", e.into()),
1300 )
1301 })?;
1302 let codec = tonic::codec::ProstCodec::default();
1303 let path = http::uri::PathAndQuery::from_static(
1304 "/allwright.engine.v1.EngineService/Ping",
1305 );
1306 let mut req = request.into_request();
1307 req.extensions_mut()
1308 .insert(GrpcMethod::new("allwright.engine.v1.EngineService", "Ping"));
1309 self.inner.unary(req, path, codec).await
1310 }
1311 pub async fn surface_session(
1312 &mut self,
1313 request: impl tonic::IntoStreamingRequest<
1314 Message = super::SurfaceSessionCommand,
1315 >,
1316 ) -> std::result::Result<
1317 tonic::Response<tonic::codec::Streaming<super::SurfaceSessionEvent>>,
1318 tonic::Status,
1319 > {
1320 self.inner
1321 .ready()
1322 .await
1323 .map_err(|e| {
1324 tonic::Status::unknown(
1325 format!("Service was not ready: {}", e.into()),
1326 )
1327 })?;
1328 let codec = tonic::codec::ProstCodec::default();
1329 let path = http::uri::PathAndQuery::from_static(
1330 "/allwright.engine.v1.EngineService/SurfaceSession",
1331 );
1332 let mut req = request.into_streaming_request();
1333 req.extensions_mut()
1334 .insert(
1335 GrpcMethod::new(
1336 "allwright.engine.v1.EngineService",
1337 "SurfaceSession",
1338 ),
1339 );
1340 self.inner.streaming(req, path, codec).await
1341 }
1342 pub async fn context_session(
1343 &mut self,
1344 request: impl tonic::IntoStreamingRequest<
1345 Message = super::ContextSessionCommand,
1346 >,
1347 ) -> std::result::Result<
1348 tonic::Response<tonic::codec::Streaming<super::ContextSessionEvent>>,
1349 tonic::Status,
1350 > {
1351 self.inner
1352 .ready()
1353 .await
1354 .map_err(|e| {
1355 tonic::Status::unknown(
1356 format!("Service was not ready: {}", e.into()),
1357 )
1358 })?;
1359 let codec = tonic::codec::ProstCodec::default();
1360 let path = http::uri::PathAndQuery::from_static(
1361 "/allwright.engine.v1.EngineService/ContextSession",
1362 );
1363 let mut req = request.into_streaming_request();
1364 req.extensions_mut()
1365 .insert(
1366 GrpcMethod::new(
1367 "allwright.engine.v1.EngineService",
1368 "ContextSession",
1369 ),
1370 );
1371 self.inner.streaming(req, path, codec).await
1372 }
1373 }
1374}
1375pub mod engine_service_server {
1377 #![allow(
1378 unused_variables,
1379 dead_code,
1380 missing_docs,
1381 clippy::wildcard_imports,
1382 clippy::let_unit_value,
1383 )]
1384 use tonic::codegen::*;
1385 #[async_trait]
1387 pub trait EngineService: std::marker::Send + std::marker::Sync + 'static {
1388 async fn ping(
1389 &self,
1390 request: tonic::Request<super::PingRequest>,
1391 ) -> std::result::Result<tonic::Response<super::PingResponse>, tonic::Status>;
1392 type SurfaceSessionStream: tonic::codegen::tokio_stream::Stream<
1394 Item = std::result::Result<super::SurfaceSessionEvent, tonic::Status>,
1395 >
1396 + std::marker::Send
1397 + 'static;
1398 async fn surface_session(
1399 &self,
1400 request: tonic::Request<tonic::Streaming<super::SurfaceSessionCommand>>,
1401 ) -> std::result::Result<
1402 tonic::Response<Self::SurfaceSessionStream>,
1403 tonic::Status,
1404 >;
1405 type ContextSessionStream: tonic::codegen::tokio_stream::Stream<
1407 Item = std::result::Result<super::ContextSessionEvent, tonic::Status>,
1408 >
1409 + std::marker::Send
1410 + 'static;
1411 async fn context_session(
1412 &self,
1413 request: tonic::Request<tonic::Streaming<super::ContextSessionCommand>>,
1414 ) -> std::result::Result<
1415 tonic::Response<Self::ContextSessionStream>,
1416 tonic::Status,
1417 >;
1418 }
1419 #[derive(Debug)]
1420 pub struct EngineServiceServer<T> {
1421 inner: Arc<T>,
1422 accept_compression_encodings: EnabledCompressionEncodings,
1423 send_compression_encodings: EnabledCompressionEncodings,
1424 max_decoding_message_size: Option<usize>,
1425 max_encoding_message_size: Option<usize>,
1426 }
1427 impl<T> EngineServiceServer<T> {
1428 pub fn new(inner: T) -> Self {
1429 Self::from_arc(Arc::new(inner))
1430 }
1431 pub fn from_arc(inner: Arc<T>) -> Self {
1432 Self {
1433 inner,
1434 accept_compression_encodings: Default::default(),
1435 send_compression_encodings: Default::default(),
1436 max_decoding_message_size: None,
1437 max_encoding_message_size: None,
1438 }
1439 }
1440 pub fn with_interceptor<F>(
1441 inner: T,
1442 interceptor: F,
1443 ) -> InterceptedService<Self, F>
1444 where
1445 F: tonic::service::Interceptor,
1446 {
1447 InterceptedService::new(Self::new(inner), interceptor)
1448 }
1449 #[must_use]
1451 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
1452 self.accept_compression_encodings.enable(encoding);
1453 self
1454 }
1455 #[must_use]
1457 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
1458 self.send_compression_encodings.enable(encoding);
1459 self
1460 }
1461 #[must_use]
1465 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
1466 self.max_decoding_message_size = Some(limit);
1467 self
1468 }
1469 #[must_use]
1473 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
1474 self.max_encoding_message_size = Some(limit);
1475 self
1476 }
1477 }
1478 impl<T, B> tonic::codegen::Service<http::Request<B>> for EngineServiceServer<T>
1479 where
1480 T: EngineService,
1481 B: Body + std::marker::Send + 'static,
1482 B::Error: Into<StdError> + std::marker::Send + 'static,
1483 {
1484 type Response = http::Response<tonic::body::BoxBody>;
1485 type Error = std::convert::Infallible;
1486 type Future = BoxFuture<Self::Response, Self::Error>;
1487 fn poll_ready(
1488 &mut self,
1489 _cx: &mut Context<'_>,
1490 ) -> Poll<std::result::Result<(), Self::Error>> {
1491 Poll::Ready(Ok(()))
1492 }
1493 fn call(&mut self, req: http::Request<B>) -> Self::Future {
1494 match req.uri().path() {
1495 "/allwright.engine.v1.EngineService/Ping" => {
1496 #[allow(non_camel_case_types)]
1497 struct PingSvc<T: EngineService>(pub Arc<T>);
1498 impl<
1499 T: EngineService,
1500 > tonic::server::UnaryService<super::PingRequest> for PingSvc<T> {
1501 type Response = super::PingResponse;
1502 type Future = BoxFuture<
1503 tonic::Response<Self::Response>,
1504 tonic::Status,
1505 >;
1506 fn call(
1507 &mut self,
1508 request: tonic::Request<super::PingRequest>,
1509 ) -> Self::Future {
1510 let inner = Arc::clone(&self.0);
1511 let fut = async move {
1512 <T as EngineService>::ping(&inner, request).await
1513 };
1514 Box::pin(fut)
1515 }
1516 }
1517 let accept_compression_encodings = self.accept_compression_encodings;
1518 let send_compression_encodings = self.send_compression_encodings;
1519 let max_decoding_message_size = self.max_decoding_message_size;
1520 let max_encoding_message_size = self.max_encoding_message_size;
1521 let inner = self.inner.clone();
1522 let fut = async move {
1523 let method = PingSvc(inner);
1524 let codec = tonic::codec::ProstCodec::default();
1525 let mut grpc = tonic::server::Grpc::new(codec)
1526 .apply_compression_config(
1527 accept_compression_encodings,
1528 send_compression_encodings,
1529 )
1530 .apply_max_message_size_config(
1531 max_decoding_message_size,
1532 max_encoding_message_size,
1533 );
1534 let res = grpc.unary(method, req).await;
1535 Ok(res)
1536 };
1537 Box::pin(fut)
1538 }
1539 "/allwright.engine.v1.EngineService/SurfaceSession" => {
1540 #[allow(non_camel_case_types)]
1541 struct SurfaceSessionSvc<T: EngineService>(pub Arc<T>);
1542 impl<
1543 T: EngineService,
1544 > tonic::server::StreamingService<super::SurfaceSessionCommand>
1545 for SurfaceSessionSvc<T> {
1546 type Response = super::SurfaceSessionEvent;
1547 type ResponseStream = T::SurfaceSessionStream;
1548 type Future = BoxFuture<
1549 tonic::Response<Self::ResponseStream>,
1550 tonic::Status,
1551 >;
1552 fn call(
1553 &mut self,
1554 request: tonic::Request<
1555 tonic::Streaming<super::SurfaceSessionCommand>,
1556 >,
1557 ) -> Self::Future {
1558 let inner = Arc::clone(&self.0);
1559 let fut = async move {
1560 <T as EngineService>::surface_session(&inner, request).await
1561 };
1562 Box::pin(fut)
1563 }
1564 }
1565 let accept_compression_encodings = self.accept_compression_encodings;
1566 let send_compression_encodings = self.send_compression_encodings;
1567 let max_decoding_message_size = self.max_decoding_message_size;
1568 let max_encoding_message_size = self.max_encoding_message_size;
1569 let inner = self.inner.clone();
1570 let fut = async move {
1571 let method = SurfaceSessionSvc(inner);
1572 let codec = tonic::codec::ProstCodec::default();
1573 let mut grpc = tonic::server::Grpc::new(codec)
1574 .apply_compression_config(
1575 accept_compression_encodings,
1576 send_compression_encodings,
1577 )
1578 .apply_max_message_size_config(
1579 max_decoding_message_size,
1580 max_encoding_message_size,
1581 );
1582 let res = grpc.streaming(method, req).await;
1583 Ok(res)
1584 };
1585 Box::pin(fut)
1586 }
1587 "/allwright.engine.v1.EngineService/ContextSession" => {
1588 #[allow(non_camel_case_types)]
1589 struct ContextSessionSvc<T: EngineService>(pub Arc<T>);
1590 impl<
1591 T: EngineService,
1592 > tonic::server::StreamingService<super::ContextSessionCommand>
1593 for ContextSessionSvc<T> {
1594 type Response = super::ContextSessionEvent;
1595 type ResponseStream = T::ContextSessionStream;
1596 type Future = BoxFuture<
1597 tonic::Response<Self::ResponseStream>,
1598 tonic::Status,
1599 >;
1600 fn call(
1601 &mut self,
1602 request: tonic::Request<
1603 tonic::Streaming<super::ContextSessionCommand>,
1604 >,
1605 ) -> Self::Future {
1606 let inner = Arc::clone(&self.0);
1607 let fut = async move {
1608 <T as EngineService>::context_session(&inner, request).await
1609 };
1610 Box::pin(fut)
1611 }
1612 }
1613 let accept_compression_encodings = self.accept_compression_encodings;
1614 let send_compression_encodings = self.send_compression_encodings;
1615 let max_decoding_message_size = self.max_decoding_message_size;
1616 let max_encoding_message_size = self.max_encoding_message_size;
1617 let inner = self.inner.clone();
1618 let fut = async move {
1619 let method = ContextSessionSvc(inner);
1620 let codec = tonic::codec::ProstCodec::default();
1621 let mut grpc = tonic::server::Grpc::new(codec)
1622 .apply_compression_config(
1623 accept_compression_encodings,
1624 send_compression_encodings,
1625 )
1626 .apply_max_message_size_config(
1627 max_decoding_message_size,
1628 max_encoding_message_size,
1629 );
1630 let res = grpc.streaming(method, req).await;
1631 Ok(res)
1632 };
1633 Box::pin(fut)
1634 }
1635 _ => {
1636 Box::pin(async move {
1637 let mut response = http::Response::new(empty_body());
1638 let headers = response.headers_mut();
1639 headers
1640 .insert(
1641 tonic::Status::GRPC_STATUS,
1642 (tonic::Code::Unimplemented as i32).into(),
1643 );
1644 headers
1645 .insert(
1646 http::header::CONTENT_TYPE,
1647 tonic::metadata::GRPC_CONTENT_TYPE,
1648 );
1649 Ok(response)
1650 })
1651 }
1652 }
1653 }
1654 }
1655 impl<T> Clone for EngineServiceServer<T> {
1656 fn clone(&self) -> Self {
1657 let inner = self.inner.clone();
1658 Self {
1659 inner,
1660 accept_compression_encodings: self.accept_compression_encodings,
1661 send_compression_encodings: self.send_compression_encodings,
1662 max_decoding_message_size: self.max_decoding_message_size,
1663 max_encoding_message_size: self.max_encoding_message_size,
1664 }
1665 }
1666 }
1667 pub const SERVICE_NAME: &str = "allwright.engine.v1.EngineService";
1669 impl<T> tonic::server::NamedService for EngineServiceServer<T> {
1670 const NAME: &'static str = SERVICE_NAME;
1671 }
1672}