SYMBOL INDEX (1653 symbols across 117 files) FILE: benchmarks/bench.ts function loadEnv (line 33) | function loadEnv() { function parseArgs (line 72) | function parseArgs() { constant TIMEOUT_MS (line 103) | const TIMEOUT_MS = 30 * 60 * 1000; constant REPO_URL (line 104) | const REPO_URL = "https://github.com/vercel-labs/agent-browser.git"; constant CHROMIUM_SYSTEM_DEPS (line 106) | const CHROMIUM_SYSTEM_DEPS = [ type SandboxInstance (line 138) | type SandboxInstance = InstanceType; function run (line 140) | async function run( function shell (line 156) | async function shell(sandbox: SandboxInstance, script: string): Promise<... function shellSafe (line 160) | async function shellSafe(sandbox: SandboxInstance, script: string): Prom... type Stats (line 169) | interface Stats { function computeStats (line 178) | function computeStats(samples: number[]): Stats { type ProcessMetrics (line 198) | interface ProcessMetrics { type DaemonMetrics (line 208) | interface DaemonMetrics { function findDaemonPids (line 221) | async function findDaemonPids( function collectProcessMetrics (line 245) | async function collectProcessMetrics( function getPeakRssKb (line 278) | async function getPeakRssKb( function getChildPids (line 289) | async function getChildPids( function getAllDescendantPids (line 301) | async function getAllDescendantPids( function collectDaemonMetrics (line 316) | async function collectDaemonMetrics( function getBinarySize (line 384) | async function getBinarySize( function getDistributionSize (line 395) | async function getDistributionSize( function formatBytes (line 430) | function formatBytes(bytes: number): string { function formatKb (line 436) | function formatKb(kb: number): string { type DaemonMode (line 445) | type DaemonMode = "node" | "native"; function daemonEnv (line 447) | function daemonEnv(mode: DaemonMode): Record { function agentBrowser (line 451) | async function agentBrowser( function timedAgentBrowser (line 470) | async function timedAgentBrowser( type ScenarioResult (line 492) | interface ScenarioResult { function runScenario (line 499) | async function runScenario( type DaemonResults (line 554) | interface DaemonResults { function benchmarkDaemon (line 561) | async function benchmarkDaemon( function installChromiumDeps (line 645) | async function installChromiumDeps(sandbox: SandboxInstance) { function installNodeDaemon (line 653) | async function installNodeDaemon(sandbox: SandboxInstance) { function installNativeDaemon (line 661) | async function installNativeDaemon(sandbox: SandboxInstance, branch: str... function printResults (line 707) | function printResults(node: DaemonResults, native: DaemonResults) { function main (line 820) | async function main() { FILE: benchmarks/scenarios.ts type Scenario (line 9) | interface Scenario { constant FORM_HTML (line 17) | const FORM_HTML = [ constant INJECT_FORM_SCRIPT (line 34) | const INJECT_FORM_SCRIPT = `document.open(); document.write(${JSON.strin... constant SETUP_PAGE (line 36) | const SETUP_PAGE: string[][] = [ FILE: bin/agent-browser.js function isMusl (line 20) | function isMusl() { function getBinaryName (line 31) | function getBinaryName() { function main (line 68) | function main() { FILE: cli/build.rs function main (line 6) | fn main() { type ProtocolSpec (line 75) | struct ProtocolSpec { type Domain (line 81) | struct Domain { type TypeDef (line 93) | struct TypeDef { type Command (line 107) | struct Command { type Event (line 119) | struct Event { type Property (line 129) | struct Property { type ItemType (line 147) | struct ItemType { function to_pascal_case (line 154) | fn to_pascal_case(s: &str) -> String { function to_snake_case (line 170) | fn to_snake_case(s: &str) -> String { function resolve_ref (line 190) | fn resolve_ref( function map_type_in_domain (line 222) | fn map_type_in_domain( function is_rust_keyword (line 274) | fn is_rust_keyword(s: &str) -> bool { function generate_domain (line 318) | fn generate_domain( FILE: cli/src/color.rs function is_enabled (line 10) | pub fn is_enabled() -> bool { function red (line 16) | pub fn red(text: &str) -> String { function green (line 25) | pub fn green(text: &str) -> String { function yellow (line 34) | pub fn yellow(text: &str) -> String { function cyan (line 43) | pub fn cyan(text: &str) -> String { function bold (line 52) | pub fn bold(text: &str) -> String { function dim (line 61) | pub fn dim(text: &str) -> String { function error_indicator (line 70) | pub fn error_indicator() -> &'static str { function success_indicator (line 82) | pub fn success_indicator() -> &'static str { function warning_indicator (line 94) | pub fn warning_indicator() -> &'static str { function console_level_prefix (line 106) | pub fn console_level_prefix(level: &str) -> String { function test_red_contains_ansi_codes (line 129) | fn test_red_contains_ansi_codes() { function test_green_contains_ansi_codes (line 137) | fn test_green_contains_ansi_codes() { function test_console_level_prefix_contains_level (line 143) | fn test_console_level_prefix_contains_level() { function test_indicators_contain_symbols (line 152) | fn test_indicators_contain_symbols() { FILE: cli/src/commands.rs type ParseError (line 11) | pub enum ParseError { method format (line 34) | pub fn format(&self) -> String { function gen_id (line 63) | pub fn gen_id() -> String { function parse_command (line 74) | pub fn parse_command(args: &[String], flags: &Flags) -> Result Result { function parse_get (line 1617) | fn parse_get(rest: &[&str], id: &str) -> Result { function parse_is (line 1690) | fn parse_is(rest: &[&str], id: &str) -> Result { function parse_find (line 1726) | fn parse_find(rest: &[&str], id: &str) -> Result { function parse_mouse (line 1863) | fn parse_mouse(rest: &[&str], id: &str) -> Result { function parse_set (line 1915) | fn parse_set(rest: &[&str], id: &str) -> Result { function parse_network (line 2052) | fn parse_network(rest: &[&str], id: &str) -> Result { function parse_storage (line 2115) | fn parse_storage(rest: &[&str], id: &str) -> Result { function default_flags (line 2170) | fn default_flags() -> Flags { function args (line 2221) | fn args(s: &str) -> Vec { function test_cookies_get (line 2228) | fn test_cookies_get() { function test_cookies_get_explicit (line 2234) | fn test_cookies_get_explicit() { function test_cookies_set (line 2240) | fn test_cookies_set() { function test_cookies_set_missing_value (line 2248) | fn test_cookies_set_missing_value() { function test_cookies_clear (line 2254) | fn test_cookies_clear() { function test_cookies_set_with_url (line 2260) | fn test_cookies_set_with_url() { function test_cookies_set_with_domain (line 2273) | fn test_cookies_set_with_domain() { function test_cookies_set_with_path (line 2286) | fn test_cookies_set_with_path() { function test_cookies_set_with_httponly (line 2299) | fn test_cookies_set_with_httponly() { function test_cookies_set_with_secure (line 2312) | fn test_cookies_set_with_secure() { function test_cookies_set_with_samesite (line 2325) | fn test_cookies_set_with_samesite() { function test_cookies_set_with_expires (line 2338) | fn test_cookies_set_with_expires() { function test_cookies_set_with_multiple_flags (line 2351) | fn test_cookies_set_with_multiple_flags() { function test_cookies_set_with_all_flags (line 2363) | fn test_cookies_set_with_all_flags() { function test_cookies_set_invalid_samesite (line 2378) | fn test_cookies_set_invalid_samesite() { function test_storage_local_get (line 2389) | fn test_storage_local_get() { function test_storage_local_get_key (line 2397) | fn test_storage_local_get_key() { function test_storage_local_get_implicit_key (line 2405) | fn test_storage_local_get_implicit_key() { function test_storage_session_get (line 2413) | fn test_storage_session_get() { function test_storage_session_get_implicit_key (line 2420) | fn test_storage_session_get_implicit_key() { function test_storage_local_set (line 2428) | fn test_storage_local_set() { function test_storage_session_set (line 2438) | fn test_storage_session_set() { function test_storage_set_missing_value (line 2448) | fn test_storage_set_missing_value() { function test_storage_local_clear (line 2454) | fn test_storage_local_clear() { function test_storage_session_clear (line 2461) | fn test_storage_session_clear() { function test_storage_invalid_type (line 2468) | fn test_storage_invalid_type() { function test_navigate_with_https (line 2476) | fn test_navigate_with_https() { function test_navigate_without_protocol (line 2483) | fn test_navigate_without_protocol() { function test_navigate_with_headers (line 2490) | fn test_navigate_with_headers() { function test_navigate_with_multiple_headers (line 2500) | fn test_navigate_with_multiple_headers() { function test_navigate_without_headers_flag (line 2510) | fn test_navigate_without_headers_flag() { function test_navigate_with_invalid_headers_json (line 2518) | fn test_navigate_with_invalid_headers_json() { function test_navigate_chrome_extension_url (line 2530) | fn test_navigate_chrome_extension_url() { function test_navigate_chrome_url (line 2541) | fn test_navigate_chrome_url() { function test_set_headers_parses_json (line 2550) | fn test_set_headers_parses_json() { function test_set_headers_with_multiple_values (line 2564) | fn test_set_headers_with_multiple_values() { function test_set_headers_invalid_json_error (line 2576) | fn test_set_headers_invalid_json_error() { function test_back (line 2587) | fn test_back() { function test_forward (line 2593) | fn test_forward() { function test_reload (line 2599) | fn test_reload() { function test_click (line 2607) | fn test_click() { function test_fill (line 2614) | fn test_fill() { function test_type_command (line 2622) | fn test_type_command() { function test_select (line 2630) | fn test_select() { function test_select_multiple_values (line 2638) | fn test_select_multiple_values() { function test_frame_main (line 2646) | fn test_frame_main() { function test_tab_new (line 2654) | fn test_tab_new() { function test_tab_new_with_url (line 2664) | fn test_tab_new_with_url() { function test_tab_list (line 2671) | fn test_tab_list() { function test_tab_switch (line 2677) | fn test_tab_switch() { function test_tab_close (line 2684) | fn test_tab_close() { function test_network_har_start (line 2692) | fn test_network_har_start() { function test_network_har_stop_with_path (line 2698) | fn test_network_har_stop_with_path() { function test_network_har_stop_without_path (line 2705) | fn test_network_har_stop_without_path() { function test_network_har_requires_subcommand (line 2712) | fn test_network_har_requires_subcommand() { function test_screenshot (line 2720) | fn test_screenshot() { function test_screenshot_path (line 2728) | fn test_screenshot_path() { function test_screenshot_full_page (line 2735) | fn test_screenshot_full_page() { function test_screenshot_full_page_shorthand (line 2742) | fn test_screenshot_full_page_shorthand() { function test_screenshot_with_ref (line 2749) | fn test_screenshot_with_ref() { function test_screenshot_with_css_class (line 2757) | fn test_screenshot_with_css_class() { function test_screenshot_with_css_id (line 2765) | fn test_screenshot_with_css_id() { function test_screenshot_with_path (line 2773) | fn test_screenshot_with_path() { function test_screenshot_with_selector_and_path (line 2781) | fn test_screenshot_with_selector_and_path() { function test_snapshot (line 2791) | fn test_snapshot() { function test_snapshot_interactive (line 2797) | fn test_snapshot_interactive() { function test_snapshot_cursor (line 2804) | fn test_snapshot_cursor() { function test_snapshot_interactive_cursor (line 2811) | fn test_snapshot_interactive_cursor() { function test_snapshot_compact (line 2819) | fn test_snapshot_compact() { function test_snapshot_depth (line 2826) | fn test_snapshot_depth() { function test_wait_selector (line 2835) | fn test_wait_selector() { function test_wait_timeout (line 2842) | fn test_wait_timeout() { function test_wait_url (line 2849) | fn test_wait_url() { function test_wait_load (line 2856) | fn test_wait_load() { function test_wait_load_missing_state (line 2863) | fn test_wait_load_missing_state() { function test_wait_fn (line 2873) | fn test_wait_fn() { function test_wait_text (line 2880) | fn test_wait_text() { function test_wait_text_with_timeout (line 2888) | fn test_wait_text_with_timeout() { function test_clipboard_read_default (line 2902) | fn test_clipboard_read_default() { function test_clipboard_read_explicit (line 2909) | fn test_clipboard_read_explicit() { function test_clipboard_write (line 2916) | fn test_clipboard_write() { function test_clipboard_write_multi_word (line 2924) | fn test_clipboard_write_multi_word() { function test_clipboard_copy (line 2932) | fn test_clipboard_copy() { function test_clipboard_paste (line 2939) | fn test_clipboard_paste() { function test_clipboard_write_missing_text (line 2946) | fn test_clipboard_write_missing_text() { function test_clipboard_unknown_subcommand (line 2952) | fn test_clipboard_unknown_subcommand() { function test_record_start (line 2962) | fn test_record_start() { function test_record_start_with_url (line 2970) | fn test_record_start_with_url() { function test_record_start_with_url_no_protocol (line 2982) | fn test_record_start_with_url_no_protocol() { function test_record_start_with_chrome_extension_url (line 2994) | fn test_record_start_with_chrome_extension_url() { function test_record_start_missing_path (line 3006) | fn test_record_start_missing_path() { function test_record_stop (line 3016) | fn test_record_stop() { function test_record_restart (line 3022) | fn test_record_restart() { function test_record_restart_with_url (line 3030) | fn test_record_restart_with_url() { function test_record_restart_missing_path (line 3042) | fn test_record_restart_missing_path() { function test_record_invalid_subcommand (line 3052) | fn test_record_invalid_subcommand() { function test_record_missing_subcommand (line 3062) | fn test_record_missing_subcommand() { function test_profiler_start (line 3074) | fn test_profiler_start() { function test_profiler_start_with_categories (line 3081) | fn test_profiler_start_with_categories() { function test_profiler_start_categories_missing_value (line 3095) | fn test_profiler_start_categories_missing_value() { function test_profiler_stop_with_path (line 3105) | fn test_profiler_stop_with_path() { function test_profiler_stop_no_path (line 3112) | fn test_profiler_stop_no_path() { function test_profiler_invalid_subcommand (line 3119) | fn test_profiler_invalid_subcommand() { function test_profiler_missing_subcommand (line 3129) | fn test_profiler_missing_subcommand() { function test_eval_basic (line 3141) | fn test_eval_basic() { function test_eval_base64_short_flag (line 3148) | fn test_eval_base64_short_flag() { function test_eval_base64_long_flag (line 3156) | fn test_eval_base64_long_flag() { function test_eval_base64_with_special_chars (line 3168) | fn test_eval_base64_with_special_chars() { function test_eval_base64_invalid (line 3180) | fn test_eval_base64_invalid() { function test_unknown_command (line 3189) | fn test_unknown_command() { function test_empty_args (line 3199) | fn test_empty_args() { function test_get_missing_subcommand (line 3211) | fn test_get_missing_subcommand() { function test_get_unknown_subcommand (line 3220) | fn test_get_unknown_subcommand() { function test_get_text_missing_selector (line 3230) | fn test_get_text_missing_selector() { function test_mouse_wheel (line 3241) | fn test_mouse_wheel() { function test_set_media (line 3249) | fn test_set_media() { function test_set_media_reduced_motion (line 3257) | fn test_set_media_reduced_motion() { function test_set_viewport (line 3265) | fn test_set_viewport() { function test_set_viewport_with_scale (line 3274) | fn test_set_viewport_with_scale() { function test_set_viewport_with_fractional_scale (line 3283) | fn test_set_viewport_with_fractional_scale() { function test_set_viewport_missing_height (line 3292) | fn test_set_viewport_missing_height() { function test_set_viewport_invalid_scale (line 3298) | fn test_set_viewport_invalid_scale() { function test_find_first_no_value (line 3304) | fn test_find_first_no_value() { function test_find_first_with_value (line 3312) | fn test_find_first_with_value() { function test_find_nth_no_value (line 3320) | fn test_find_nth_no_value() { function test_download (line 3330) | fn test_download() { function test_download_with_ref (line 3338) | fn test_download_with_ref() { function test_download_missing_path (line 3346) | fn test_download_missing_path() { function test_download_missing_selector (line 3356) | fn test_download_missing_selector() { function test_wait_download (line 3368) | fn test_wait_download() { function test_wait_download_with_path (line 3375) | fn test_wait_download_with_path() { function test_wait_download_with_timeout (line 3382) | fn test_wait_download_with_timeout() { function test_wait_download_with_path_and_timeout (line 3390) | fn test_wait_download_with_path_and_timeout() { function test_wait_download_short_flag (line 3402) | fn test_wait_download_short_flag() { function test_connect_with_port (line 3411) | fn test_connect_with_port() { function test_connect_with_ws_url (line 3419) | fn test_connect_with_ws_url() { function test_connect_with_wss_url (line 3431) | fn test_connect_with_wss_url() { function test_connect_with_http_url (line 3446) | fn test_connect_with_http_url() { function test_connect_missing_argument (line 3455) | fn test_connect_missing_argument() { function test_connect_invalid_port (line 3465) | fn test_connect_invalid_port() { function test_connect_port_zero (line 3474) | fn test_connect_port_zero() { function test_connect_port_out_of_range (line 3483) | fn test_connect_port_out_of_range() { function test_connect_port_max_valid (line 3493) | fn test_connect_port_max_valid() { function test_connect_port_min_valid (line 3500) | fn test_connect_port_min_valid() { function test_trace_start (line 3509) | fn test_trace_start() { function test_trace_stop_with_path (line 3515) | fn test_trace_stop_with_path() { function test_trace_stop_without_path (line 3522) | fn test_trace_stop_without_path() { function test_diff_snapshot_basic (line 3531) | fn test_diff_snapshot_basic() { function test_diff_snapshot_baseline (line 3537) | fn test_diff_snapshot_baseline() { function test_diff_snapshot_selector_compact_depth (line 3548) | fn test_diff_snapshot_selector_compact_depth() { function test_diff_snapshot_short_flags (line 3561) | fn test_diff_snapshot_short_flags() { function test_diff_screenshot_baseline (line 3575) | fn test_diff_screenshot_baseline() { function test_diff_screenshot_all_options (line 3586) | fn test_diff_screenshot_all_options() { function test_diff_screenshot_missing_baseline (line 3601) | fn test_diff_screenshot_missing_baseline() { function test_diff_screenshot_command_full_flag (line 3611) | fn test_diff_screenshot_command_full_flag() { function test_diff_screenshot_command_full_flag_shorthand (line 3622) | fn test_diff_screenshot_command_full_flag_shorthand() { function test_diff_url_basic (line 3633) | fn test_diff_url_basic() { function test_diff_url_with_screenshot_full (line 3645) | fn test_diff_url_with_screenshot_full() { function test_diff_url_with_wait_until (line 3657) | fn test_diff_url_with_wait_until() { function test_diff_url_command_full_flag (line 3668) | fn test_diff_url_command_full_flag() { function test_diff_missing_subcommand (line 3678) | fn test_diff_missing_subcommand() { function test_diff_unknown_subcommand (line 3688) | fn test_diff_unknown_subcommand() { function test_diff_snapshot_baseline_missing_value (line 3698) | fn test_diff_snapshot_baseline_missing_value() { function test_diff_snapshot_selector_missing_value (line 3708) | fn test_diff_snapshot_selector_missing_value() { function test_diff_snapshot_depth_missing_value (line 3718) | fn test_diff_snapshot_depth_missing_value() { function test_diff_screenshot_threshold_missing_value (line 3728) | fn test_diff_screenshot_threshold_missing_value() { function test_diff_screenshot_output_missing_value (line 3741) | fn test_diff_screenshot_output_missing_value() { function test_diff_url_wait_until_missing_value (line 3754) | fn test_diff_url_wait_until_missing_value() { function test_diff_snapshot_unexpected_arg (line 3767) | fn test_diff_snapshot_unexpected_arg() { function test_diff_screenshot_unexpected_arg (line 3777) | fn test_diff_screenshot_unexpected_arg() { function test_diff_url_unexpected_arg (line 3790) | fn test_diff_url_unexpected_arg() { function test_diff_snapshot_unknown_flag (line 3803) | fn test_diff_snapshot_unknown_flag() { function test_diff_url_missing_urls (line 3813) | fn test_diff_url_missing_urls() { function test_diff_url_missing_second_url (line 3823) | fn test_diff_url_missing_second_url() { function test_diff_snapshot_depth_invalid_value (line 3833) | fn test_diff_snapshot_depth_invalid_value() { function test_diff_screenshot_threshold_invalid_value (line 3843) | fn test_diff_screenshot_threshold_invalid_value() { function test_diff_screenshot_threshold_out_of_range (line 3856) | fn test_diff_screenshot_threshold_out_of_range() { function test_diff_screenshot_threshold_negative (line 3869) | fn test_diff_screenshot_threshold_negative() { function test_diff_url_with_selector (line 3878) | fn test_diff_url_with_selector() { function test_diff_url_with_compact_depth (line 3889) | fn test_diff_url_with_compact_depth() { function test_diff_url_with_short_snapshot_flags (line 3901) | fn test_diff_url_with_short_snapshot_flags() { function test_diff_url_depth_invalid_value (line 3914) | fn test_diff_url_depth_invalid_value() { function test_diff_snapshot_depth_negative_value (line 3927) | fn test_diff_snapshot_depth_negative_value() { function test_diff_url_depth_negative_value (line 3937) | fn test_diff_url_depth_negative_value() { function test_diff_url_selector_missing_value (line 3950) | fn test_diff_url_selector_missing_value() { function test_scroll_defaults (line 3965) | fn test_scroll_defaults() { function test_scroll_direction_and_amount (line 3974) | fn test_scroll_direction_and_amount() { function test_scroll_with_selector (line 3982) | fn test_scroll_with_selector() { function test_scroll_with_selector_short_flag (line 3995) | fn test_scroll_with_selector_short_flag() { function test_scroll_selector_before_positional (line 4004) | fn test_scroll_selector_before_positional() { function test_scroll_selector_only (line 4014) | fn test_scroll_selector_only() { function test_scroll_selector_missing_value (line 4023) | fn test_scroll_selector_missing_value() { function test_inspect (line 4035) | fn test_inspect() { function test_get_cdp_url (line 4041) | fn test_get_cdp_url() { function test_batch_default (line 4049) | fn test_batch_default() { function test_batch_with_bail (line 4056) | fn test_batch_with_bail() { FILE: cli/src/connection.rs type Request (line 17) | pub struct Request { type Response (line 25) | pub struct Response { type Connection (line 32) | pub enum Connection { method set_read_timeout (line 67) | pub fn set_read_timeout(&self, dur: Option) -> std::io::Resu... method set_write_timeout (line 75) | pub fn set_write_timeout(&self, dur: Option) -> std::io::Res... method read (line 39) | fn read(&mut self, buf: &mut [u8]) -> std::io::Result { method write (line 49) | fn write(&mut self, buf: &[u8]) -> std::io::Result { method flush (line 57) | fn flush(&mut self) -> std::io::Result<()> { function get_socket_dir (line 86) | pub fn get_socket_dir() -> PathBuf { function get_socket_path (line 111) | fn get_socket_path(session: &str) -> PathBuf { function get_pid_path (line 115) | fn get_pid_path(session: &str) -> PathBuf { function cleanup_stale_files (line 120) | fn cleanup_stale_files(session: &str) { function get_port_path (line 138) | fn get_port_path(session: &str) -> PathBuf { function get_port_for_session (line 143) | fn get_port_for_session(session: &str) -> u16 { function daemon_ready (line 153) | fn daemon_ready(session: &str) -> bool { type DaemonResult (line 171) | pub struct DaemonResult { type DaemonOptions (line 180) | pub struct DaemonOptions<'a> { function apply_daemon_env (line 206) | fn apply_daemon_env(cmd: &mut Command, session: &str, opts: &DaemonOptio... function ensure_daemon (line 281) | pub fn ensure_daemon(session: &str, opts: &DaemonOptions) -> Result Result { function send_command (line 455) | pub fn send_command(cmd: Value, session: &str) -> Result bool { function send_command_once (line 510) | fn send_command_once(cmd: &Value, session: &str) -> Result Result { function parse_idle_timeout_value (line 38) | fn parse_idle_timeout_value(value: Option, source: &str) -> Opti... type Config (line 55) | pub struct Config { method merge (line 93) | fn merge(self, other: Config) -> Config { function read_config_file (line 139) | fn read_config_file(path: &Path) -> Option { function env_var_is_truthy (line 163) | fn env_var_is_truthy(name: &str) -> bool { function parse_bool_arg (line 172) | fn parse_bool_arg(args: &[String], i: usize) -> (bool, bool) { function extract_config_path (line 192) | fn extract_config_path(args: &[String]) -> Option> { function load_config (line 234) | pub fn load_config(args: &[String]) -> Result { type Flags (line 266) | pub struct Flags { function parse_flags (line 318) | pub fn parse_flags(args: &[String]) -> Flags { function clean_args (line 707) | pub fn clean_args(args: &[String]) -> Vec { function args (line 786) | fn args(s: &str) -> Vec { function test_parse_headers_flag (line 791) | fn test_parse_headers_flag() { function test_parse_idle_timeout_raw_ms (line 797) | fn test_parse_idle_timeout_raw_ms() { function test_parse_idle_timeout_seconds (line 802) | fn test_parse_idle_timeout_seconds() { function test_parse_idle_timeout_minutes (line 807) | fn test_parse_idle_timeout_minutes() { function test_parse_idle_timeout_hours (line 812) | fn test_parse_idle_timeout_hours() { function test_parse_idle_timeout_rejects_capital_m (line 817) | fn test_parse_idle_timeout_rejects_capital_m() { function test_parse_idle_timeout_rejects_unknown_unit (line 822) | fn test_parse_idle_timeout_rejects_unknown_unit() { function test_parse_headers_flag_with_spaces (line 827) | fn test_parse_headers_flag_with_spaces() { function test_parse_no_headers_flag (line 843) | fn test_parse_no_headers_flag() { function test_clean_args_removes_headers (line 849) | fn test_clean_args_removes_headers() { function test_clean_args_removes_headers_at_start (line 861) | fn test_clean_args_removes_headers_at_start() { function test_headers_with_other_flags (line 873) | fn test_headers_with_other_flags() { function test_parse_executable_path_flag (line 892) | fn test_parse_executable_path_flag() { function test_parse_executable_path_flag_no_value (line 900) | fn test_parse_executable_path_flag_no_value() { function test_clean_args_removes_executable_path (line 906) | fn test_clean_args_removes_executable_path() { function test_clean_args_removes_executable_path_with_other_flags (line 914) | fn test_clean_args_removes_executable_path_with_other_flags() { function test_clean_args_removes_idle_timeout_before_command (line 922) | fn test_clean_args_removes_idle_timeout_before_command() { function test_parse_idle_timeout_flag_converts_to_ms (line 928) | fn test_parse_idle_timeout_flag_converts_to_ms() { function test_parse_flags_with_session_and_executable_path (line 934) | fn test_parse_flags_with_session_and_executable_path() { function test_cli_executable_path_tracking (line 943) | fn test_cli_executable_path_tracking() { function test_cli_executable_path_not_set_without_flag (line 951) | fn test_cli_executable_path_not_set_without_flag() { function test_cli_extension_tracking (line 959) | fn test_cli_extension_tracking() { function test_cli_profile_tracking (line 965) | fn test_cli_profile_tracking() { function test_cli_annotate_tracking (line 971) | fn test_cli_annotate_tracking() { function test_cli_annotate_not_set_without_flag (line 978) | fn test_cli_annotate_not_set_without_flag() { function test_cli_download_path_tracking (line 984) | fn test_cli_download_path_tracking() { function test_cli_download_path_not_set_without_flag (line 991) | fn test_cli_download_path_not_set_without_flag() { function test_cli_multiple_flags_tracking (line 997) | fn test_cli_multiple_flags_tracking() { function test_config_deserialize_full (line 1011) | fn test_config_deserialize_full() { function test_config_deserialize_partial (line 1061) | fn test_config_deserialize_partial() { function test_config_deserialize_empty (line 1072) | fn test_config_deserialize_empty() { function test_config_ignores_unknown_keys (line 1080) | fn test_config_ignores_unknown_keys() { function test_config_merge_project_overrides_user (line 1087) | fn test_config_merge_project_overrides_user() { function test_config_merge_none_does_not_override (line 1107) | fn test_config_merge_none_does_not_override() { function test_load_config_from_file (line 1120) | fn test_load_config_from_file() { function test_load_config_from_file_parses_idle_timeout (line 1137) | fn test_load_config_from_file_parses_idle_timeout() { function test_load_config_missing_file_returns_none (line 1153) | fn test_load_config_missing_file_returns_none() { function test_load_config_malformed_json_returns_none (line 1159) | fn test_load_config_malformed_json_returns_none() { function test_extract_config_path (line 1175) | fn test_extract_config_path() { function test_extract_config_path_missing (line 1183) | fn test_extract_config_path_missing() { function test_extract_config_path_no_value (line 1188) | fn test_extract_config_path_no_value() { function test_extract_config_path_skips_flag_values (line 1193) | fn test_extract_config_path_skips_flag_values() { function test_clean_args_removes_config (line 1198) | fn test_clean_args_removes_config() { function test_load_config_with_config_flag (line 1204) | fn test_load_config_with_config_flag() { function test_load_config_error_missing_config_value (line 1227) | fn test_load_config_error_missing_config_value() { function test_load_config_error_nonexistent_file (line 1234) | fn test_load_config_error_nonexistent_file() { function test_load_config_error_malformed_explicit (line 1241) | fn test_load_config_error_malformed_explicit() { function test_headed_false (line 1264) | fn test_headed_false() { function test_headed_true_explicit (line 1270) | fn test_headed_true_explicit() { function test_headed_bare_defaults_true (line 1276) | fn test_headed_bare_defaults_true() { function test_debug_false (line 1282) | fn test_debug_false() { function test_json_false (line 1288) | fn test_json_false() { function test_ignore_https_errors_false (line 1294) | fn test_ignore_https_errors_false() { function test_allow_file_access_false (line 1300) | fn test_allow_file_access_false() { function test_auto_connect_false (line 1307) | fn test_auto_connect_false() { function test_clean_args_removes_bool_flag_with_value (line 1313) | fn test_clean_args_removes_bool_flag_with_value() { function test_clean_args_removes_bare_bool_flag (line 1319) | fn test_clean_args_removes_bare_bool_flag() { function test_config_merge_extensions_concatenated (line 1327) | fn test_config_merge_extensions_concatenated() { function test_config_merge_extensions_user_only (line 1348) | fn test_config_merge_extensions_user_only() { function test_config_merge_extensions_project_only (line 1359) | fn test_config_merge_extensions_project_only() { FILE: cli/src/install.rs constant LAST_KNOWN_GOOD_URL (line 7) | const LAST_KNOWN_GOOD_URL: &str = function get_browsers_dir (line 10) | pub fn get_browsers_dir() -> PathBuf { function find_installed_chrome (line 17) | pub fn find_installed_chrome() -> Option { function chrome_binary_in_dir (line 46) | fn chrome_binary_in_dir(dir: &Path) -> Option { function platform_key (line 99) | fn platform_key() -> &'static str { function fetch_download_url (line 130) | async fn fetch_download_url() -> Result<(String, String), String> { function download_bytes (line 171) | async fn download_bytes(url: &str) -> Result, String> { function extract_zip (line 211) | fn extract_zip(bytes: Vec, dest: &Path) -> Result<(), String> { function run_install (line 272) | pub fn run_install(with_deps: bool) { function report_install_status (line 372) | fn report_install_status(status: io::Result) { function install_linux_deps (line 392) | fn install_linux_deps() { function which_exists (line 601) | fn which_exists(cmd: &str) -> bool { function package_exists_apt (line 624) | fn package_exists_apt(pkg: &str) -> bool { FILE: cli/src/main.rs function serialize_json_value (line 32) | fn serialize_json_value(value: &serde_json::Value) -> String { function print_json_value (line 38) | fn print_json_value(value: serde_json::Value) { function print_json_error (line 42) | fn print_json_error(message: impl AsRef) { function print_json_error_with_type (line 49) | fn print_json_error_with_type(message: impl AsRef, error_type: &str) { function parse_proxy (line 57) | fn parse_proxy(proxy_str: &str) -> serde_json::Value { function run_session (line 87) | fn run_session(args: &[String], session: &str, json_mode: bool) { function main (line 168) | fn main() { function run_batch (line 827) | fn run_batch(flags: &Flags, bail: bool) { function test_parse_proxy_simple (line 976) | fn test_parse_proxy_simple() { function test_parse_proxy_with_auth (line 984) | fn test_parse_proxy_with_auth() { function test_parse_proxy_username_only (line 992) | fn test_parse_proxy_username_only() { function test_parse_proxy_no_protocol (line 1000) | fn test_parse_proxy_no_protocol() { function test_parse_proxy_socks5 (line 1007) | fn test_parse_proxy_socks5() { function test_parse_proxy_socks5_with_auth (line 1014) | fn test_parse_proxy_socks5_with_auth() { function test_parse_proxy_complex_password (line 1022) | fn test_parse_proxy_complex_password() { function test_serialize_json_value_escapes_control_characters (line 1030) | fn test_serialize_json_value_escapes_control_characters() { FILE: cli/src/native/actions.rs type PendingConfirmation (line 40) | pub struct PendingConfirmation { type HarEntry (line 46) | pub struct HarEntry { type RouteEntry (line 74) | pub struct RouteEntry { type RouteResponse (line 80) | pub struct RouteResponse { type TrackedRequest (line 88) | pub struct TrackedRequest { type FetchPausedRequest (line 97) | pub struct FetchPausedRequest { type BackendType (line 107) | pub enum BackendType { type MouseState (line 113) | pub struct MouseState { type DaemonState (line 119) | pub struct DaemonState { method new (line 160) | pub fn new() -> Self { method reset_input_state (line 199) | fn reset_input_state(&mut self) { method new_with_stream (line 205) | pub fn new_with_stream( method subscribe_to_browser_events (line 215) | fn subscribe_to_browser_events(&mut self) { method start_fetch_handler (line 224) | fn start_fetch_handler(&mut self) { method update_stream_client (line 294) | pub async fn update_stream_client(&self) { method start_recording_task (line 317) | async fn start_recording_task( method stop_recording_task (line 337) | async fn stop_recording_task(&mut self) -> Result<(), String> { method drain_cdp_events (line 341) | fn drain_cdp_events(&mut self) -> (Vec, Vec, ... method drop (line 627) | fn drop(&mut self) { function execute_command (line 636) | pub async fn execute_command(cmd: &Value, state: &mut DaemonState) -> Va... function connect_auto_with_fresh_tab (line 976) | async fn connect_auto_with_fresh_tab() -> Result { function auto_launch (line 987) | async fn auto_launch(state: &mut DaemonState) -> Result<(), String> { function launch_options_from_env (line 1022) | fn launch_options_from_env() -> LaunchOptions { function daemon_state_from_env (line 1062) | async fn daemon_state_from_env(state: &mut DaemonState) { function try_auto_restore_state (line 1079) | async fn try_auto_restore_state(state: &mut DaemonState) { function handle_launch (line 1097) | async fn handle_launch(cmd: &Value, state: &mut DaemonState) -> Result Result Result Result... function handle_url (line 1472) | async fn handle_url(state: &DaemonState) -> Result { function handle_cdp_url (line 1484) | fn handle_cdp_url(state: &DaemonState) -> Result { function handle_inspect (line 1489) | async fn handle_inspect(state: &mut DaemonState) -> Result { function open_url_in_browser (line 1509) | fn open_url_in_browser(url: &str) { function handle_title (line 1528) | async fn handle_title(state: &DaemonState) -> Result { function handle_content (line 1540) | async fn handle_content(state: &DaemonState) -> Result { function handle_evaluate (line 1554) | async fn handle_evaluate(cmd: &Value, state: &DaemonState) -> Result Result { function handle_snapshot (line 1635) | async fn handle_snapshot(cmd: &Value, state: &mut DaemonState) -> Result... function handle_screenshot (line 1686) | async fn handle_screenshot(cmd: &Value, state: &mut DaemonState) -> Resu... function handle_click (line 1788) | async fn handle_click(cmd: &Value, state: &mut DaemonState) -> Result Result... function handle_fill (line 1870) | async fn handle_fill(cmd: &Value, state: &mut DaemonState) -> Result Result Result Result Result Result Result Result<... function handle_wait (line 2019) | async fn handle_wait(cmd: &Value, state: &mut DaemonState) -> Result Result<... function handle_getattribute (line 2074) | async fn handle_getattribute(cmd: &Value, state: &mut DaemonState) -> Re... function handle_isvisible (line 2098) | async fn handle_isvisible(cmd: &Value, state: &mut DaemonState) -> Resul... function handle_isenabled (line 2113) | async fn handle_isenabled(cmd: &Value, state: &mut DaemonState) -> Resul... function handle_ischecked (line 2128) | async fn handle_ischecked(cmd: &Value, state: &mut DaemonState) -> Resul... function handle_back (line 2143) | async fn handle_back(state: &mut DaemonState) -> Result { function handle_forward (line 2161) | async fn handle_forward(state: &mut DaemonState) -> Result { function handle_reload (line 2179) | async fn handle_reload(state: &mut DaemonState) -> Result { function wait_for_selector (line 2223) | async fn wait_for_selector( function wait_for_url (line 2263) | async fn wait_for_url( function wait_for_text (line 2276) | async fn wait_for_text( function wait_for_function (line 2289) | async fn wait_for_function( function poll_until_true (line 2299) | async fn poll_until_true( function handle_cookies_get (line 2342) | async fn handle_cookies_get(cmd: &Value, state: &DaemonState) -> Result<... function handle_cookies_set (line 2362) | async fn handle_cookies_set(cmd: &Value, state: &DaemonState) -> Result<... function handle_cookies_clear (line 2387) | async fn handle_cookies_clear(state: &DaemonState) -> Result Result<... function handle_storage_set (line 2402) | async fn handle_storage_set(cmd: &Value, state: &DaemonState) -> Result<... function handle_storage_clear (line 2418) | async fn handle_storage_clear(cmd: &Value, state: &DaemonState) -> Resul... function handle_setcontent (line 2426) | async fn handle_setcontent(cmd: &Value, state: &DaemonState) -> Result Result Result Result { function handle_errors (line 2468) | async fn handle_errors(state: &DaemonState) -> Result { function handle_state_save (line 2472) | async fn handle_state_save(cmd: &Value, state: &DaemonState) -> Result Result Result { function handle_state_show (line 2505) | async fn handle_state_show(cmd: &Value) -> Result { function handle_state_clear (line 2513) | async fn handle_state_clear(cmd: &Value) -> Result { function handle_state_clean (line 2518) | async fn handle_state_clean(cmd: &Value) -> Result { function handle_state_rename (line 2523) | async fn handle_state_rename(cmd: &Value) -> Result { function handle_diff_snapshot (line 2539) | async fn handle_diff_snapshot(cmd: &Value, state: &mut DaemonState) -> R... function handle_diff_url (line 2591) | async fn handle_diff_url(cmd: &Value, state: &mut DaemonState) -> Result... function handle_credentials_set (line 2634) | async fn handle_credentials_set(cmd: &Value) -> Result { function handle_credentials_get (line 2651) | async fn handle_credentials_get(cmd: &Value) -> Result { function handle_credentials_delete (line 2659) | async fn handle_credentials_delete(cmd: &Value) -> Result { function handle_credentials_list (line 2667) | async fn handle_credentials_list() -> Result { function handle_auth_show (line 2671) | async fn handle_auth_show(cmd: &Value) -> Result { function handle_mouse (line 2679) | async fn handle_mouse(cmd: &Value, state: &DaemonState) -> Result Result Result { function handle_tab_new (line 2749) | async fn handle_tab_new(cmd: &Value, state: &mut DaemonState) -> Result<... function handle_tab_switch (line 2756) | async fn handle_tab_switch(cmd: &Value, state: &mut DaemonState) -> Resu... function handle_tab_close (line 2766) | async fn handle_tab_close(cmd: &Value, state: &mut DaemonState) -> Resul... function handle_viewport (line 2776) | async fn handle_viewport(cmd: &Value, state: &DaemonState) -> Result Result Result Result Result Resu... function handle_profiler_start (line 2841) | async fn handle_profiler_start(cmd: &Value, state: &mut DaemonState) -> ... function handle_profiler_stop (line 2858) | async fn handle_profiler_stop(cmd: &Value, state: &mut DaemonState) -> R... function handle_recording_start (line 2865) | async fn handle_recording_start(cmd: &Value, state: &mut DaemonState) ->... function handle_recording_stop (line 2979) | async fn handle_recording_stop(state: &mut DaemonState) -> Result Result Result Result Resul... function handle_scrollintoview (line 3090) | async fn handle_scrollintoview(cmd: &Value, state: &mut DaemonState) -> ... function handle_dispatch (line 3102) | async fn handle_dispatch(cmd: &Value, state: &mut DaemonState) -> Result... function handle_highlight (line 3128) | async fn handle_highlight(cmd: &Value, state: &mut DaemonState) -> Resul... function handle_tap (line 3140) | async fn handle_tap(cmd: &Value, state: &mut DaemonState) -> Result Res... function handle_innertext (line 3179) | async fn handle_innertext(cmd: &Value, state: &mut DaemonState) -> Resul... function handle_innerhtml (line 3193) | async fn handle_innerhtml(cmd: &Value, state: &mut DaemonState) -> Resul... function handle_inputvalue (line 3207) | async fn handle_inputvalue(cmd: &Value, state: &mut DaemonState) -> Resu... function handle_setvalue (line 3221) | async fn handle_setvalue(cmd: &Value, state: &mut DaemonState) -> Result... function handle_count (line 3238) | async fn handle_count(cmd: &Value, state: &mut DaemonState) -> Result Result Result Result Result Result<... function handle_permissions (line 3318) | async fn handle_permissions(cmd: &Value, state: &DaemonState) -> Result<... function handle_dialog (line 3334) | async fn handle_dialog(cmd: &Value, state: &DaemonState) -> Result Result Result Resul... function handle_addstyle (line 3427) | async fn handle_addstyle(cmd: &Value, state: &DaemonState) -> Result Result Result Result Result Result Re... function handle_waitforfunction (line 3656) | async fn handle_waitforfunction(cmd: &Value, state: &DaemonState) -> Res... function handle_frame (line 3687) | async fn handle_frame(cmd: &Value, state: &mut DaemonState) -> Result Result, exact: bool) -> S... function resolve_semantic_locator (line 3902) | async fn resolve_semantic_locator( function handle_getbyrole (line 3971) | async fn handle_getbyrole(cmd: &Value, state: &mut DaemonState) -> Resul... function handle_semantic_locator (line 4056) | async fn handle_semantic_locator( function handle_getbytext (line 4182) | async fn handle_getbytext(cmd: &Value, state: &mut DaemonState) -> Resul... function handle_getbylabel (line 4186) | async fn handle_getbylabel(cmd: &Value, state: &mut DaemonState) -> Resu... function handle_getbyplaceholder (line 4190) | async fn handle_getbyplaceholder(cmd: &Value, state: &mut DaemonState) -... function handle_getbyalttext (line 4194) | async fn handle_getbyalttext(cmd: &Value, state: &mut DaemonState) -> Re... function handle_getbytitle (line 4198) | async fn handle_getbytitle(cmd: &Value, state: &mut DaemonState) -> Resu... function handle_getbytestid (line 4202) | async fn handle_getbytestid(cmd: &Value, state: &mut DaemonState) -> Res... function handle_nth (line 4206) | async fn handle_nth(cmd: &Value, state: &mut DaemonState) -> Result Result Result Result Result Result { function handle_multiselect (line 4410) | async fn handle_multiselect(cmd: &Value, state: &DaemonState) -> Result<... function handle_responsebody (line 4447) | async fn handle_responsebody(cmd: &Value, state: &DaemonState) -> Result... function handle_waitfordownload (line 4530) | async fn handle_waitfordownload(cmd: &Value, state: &DaemonState) -> Res... function handle_window_new (line 4564) | async fn handle_window_new(cmd: &Value, state: &mut DaemonState) -> Resu... function handle_diff_screenshot (line 4625) | async fn handle_diff_screenshot(cmd: &Value, state: &DaemonState) -> Res... function handle_video_start (line 4683) | async fn handle_video_start(cmd: &Value, state: &mut DaemonState) -> Res... function handle_video_stop (line 4707) | async fn handle_video_stop(state: &mut DaemonState) -> Result Result Result... function har_entry_to_json (line 4766) | fn har_entry_to_json(e: HarEntry) -> Value { function har_extract_headers (line 4860) | fn har_extract_headers(headers_val: Option<&Value>) -> Vec<(String, Stri... function har_cdp_protocol_to_http_version (line 4873) | fn har_cdp_protocol_to_http_version(protocol: &str) -> String { function har_parse_query_string (line 4883) | fn har_parse_query_string(url_str: &str) -> Vec { function har_parse_request_cookies (line 4894) | fn har_parse_request_cookies(cookie_header: &str) -> Vec { function har_compute_timings (line 4913) | fn har_compute_timings( function har_wall_time_to_rfc3339 (line 5014) | fn har_wall_time_to_rfc3339(wall_time: f64) -> String { function har_output_path (line 5028) | fn har_output_path(explicit_path: Option<&str>) -> String { function get_har_dir (line 5041) | fn get_har_dir() -> PathBuf { function unix_timestamp_millis (line 5049) | fn unix_timestamp_millis() -> u128 { function har_browser_metadata (line 5056) | async fn har_browser_metadata(state: &DaemonState) -> Option { function browser_metadata_from_version (line 5070) | fn browser_metadata_from_version(version: &Value) -> Option { function resolve_fetch_paused (line 5083) | async fn resolve_fetch_paused( function build_fetch_patterns (line 5274) | async fn build_fetch_patterns(state: &DaemonState) -> Vec { function handle_route (line 5289) | async fn handle_route(cmd: &Value, state: &mut DaemonState) -> Result Result<... function handle_requests (line 5378) | async fn handle_requests(cmd: &Value, state: &mut DaemonState) -> Result... function handle_http_credentials (line 5410) | async fn handle_http_credentials(cmd: &Value, state: &DaemonState) -> Re... function handle_auth_save (line 5438) | async fn handle_auth_save(cmd: &Value) -> Result { function handle_auth_login (line 5469) | async fn handle_auth_login(cmd: &Value, state: &mut DaemonState) -> Resu... function handle_confirm (line 5619) | async fn handle_confirm(_cmd: &Value, state: &mut DaemonState) -> Result... function handle_deny (line 5635) | async fn handle_deny(_cmd: &Value, state: &mut DaemonState) -> Result Result Result { function mouse_button_mask (line 5794) | fn mouse_button_mask(button: &str) -> i32 { function primary_button_from_mask (line 5805) | fn primary_button_from_mask(buttons: i32) -> &'static str { function build_mouse_event_params (line 5822) | fn build_mouse_event_params( function handle_input_mouse (line 5870) | async fn handle_input_mouse(cmd: &Value, state: &mut DaemonState) -> Res... function handle_input_keyboard (line 5902) | async fn handle_input_keyboard(cmd: &Value, state: &DaemonState) -> Resu... function handle_input_touch (line 5923) | async fn handle_input_touch(cmd: &Value, state: &DaemonState) -> Result<... function handle_keydown (line 5944) | async fn handle_keydown(cmd: &Value, state: &DaemonState) -> Result Result Result Resul... function handle_mousedown (line 6022) | async fn handle_mousedown(cmd: &Value, state: &mut DaemonState) -> Resul... function handle_mouseup (line 6045) | async fn handle_mouseup(cmd: &Value, state: &mut DaemonState) -> Result<... function success_response (line 6072) | fn success_response(id: &str, data: Value) -> Value { function error_response (line 6080) | fn error_response(id: &str, error: &str) -> Value { function test_success_response_structure (line 6095) | fn test_success_response_structure() { function test_error_response_structure (line 6104) | fn test_error_response_structure() { function test_daemon_state_new (line 6112) | async fn test_daemon_state_new() { function test_mouse_event_params_preserve_position_and_buttons (line 6125) | fn test_mouse_event_params_preserve_position_and_buttons() { function test_reset_input_state_clears_mouse_state (line 6198) | fn test_reset_input_state_clears_mouse_state() { function test_launch_options_from_env_defaults (line 6212) | fn test_launch_options_from_env_defaults() { function test_launch_options_from_env_headed_flag (line 6221) | fn test_launch_options_from_env_headed_flag() { function test_har_entry_to_json_enriches_request_and_response (line 6232) | fn test_har_entry_to_json_enriches_request_and_response() { function test_har_wall_time_to_rfc3339_epoch (line 6292) | fn test_har_wall_time_to_rfc3339_epoch() { function test_har_wall_time_to_rfc3339_fractional_seconds (line 6299) | fn test_har_wall_time_to_rfc3339_fractional_seconds() { function test_har_cdp_protocol_to_http_version (line 6305) | fn test_har_cdp_protocol_to_http_version() { function test_har_parse_request_cookies (line 6314) | fn test_har_parse_request_cookies() { function test_har_set_cookie_strips_attributes_before_equal_split (line 6326) | fn test_har_set_cookie_strips_attributes_before_equal_split() { function test_har_compute_timings_no_cdp_timing (line 6355) | fn test_har_compute_timings_no_cdp_timing() { function test_har_compute_timings_with_cdp_timing (line 6364) | fn test_har_compute_timings_with_cdp_timing() { function test_handle_har_stop_without_path_uses_default_location (line 6382) | async fn test_handle_har_stop_without_path_uses_default_location() { function test_execute_har_stop_skips_browser_auto_launch (line 6426) | async fn test_execute_har_stop_skips_browser_auto_launch() { function test_browser_metadata_from_version_parses_product (line 6468) | fn test_browser_metadata_from_version_parses_product() { function test_execute_unknown_command (line 6479) | async fn test_execute_unknown_command() { function test_execute_empty_action (line 6493) | async fn test_execute_empty_action() { function test_execute_close_without_browser (line 6502) | async fn test_execute_close_without_browser() { function test_navigate_without_browser (line 6511) | async fn test_navigate_without_browser() { function test_credentials_roundtrip_via_actions (line 6529) | async fn test_credentials_roundtrip_via_actions() { function test_state_list_via_actions (line 6577) | async fn test_state_list_via_actions() { function test_build_fetch_patterns_empty_state (line 6586) | async fn test_build_fetch_patterns_empty_state() { function test_build_fetch_patterns_with_routes (line 6596) | async fn test_build_fetch_patterns_with_routes() { function test_build_fetch_patterns_adds_wildcard_for_domain_filter (line 6612) | async fn test_build_fetch_patterns_adds_wildcard_for_domain_filter() { function test_build_fetch_patterns_adds_wildcard_for_origin_headers (line 6624) | async fn test_build_fetch_patterns_adds_wildcard_for_origin_headers() { function test_build_fetch_patterns_no_duplicate_wildcard (line 6638) | async fn test_build_fetch_patterns_no_duplicate_wildcard() { FILE: cli/src/native/auth.rs type AuthProfile (line 11) | pub struct AuthProfile { type Credential (line 29) | pub type Credential = AuthProfile; function validate_profile_name (line 31) | fn validate_profile_name(name: &str) -> Result<(), String> { function get_auth_dir (line 45) | fn get_auth_dir() -> PathBuf { function get_profile_path (line 53) | fn get_profile_path(name: &str) -> PathBuf { constant ENCRYPTION_KEY_ENV (line 57) | const ENCRYPTION_KEY_ENV: &str = "AGENT_BROWSER_ENCRYPTION_KEY"; constant KEY_FILE_NAME (line 58) | const KEY_FILE_NAME: &str = ".encryption-key"; function get_agent_browser_dir (line 60) | fn get_agent_browser_dir() -> PathBuf { function get_key_file_path (line 68) | fn get_key_file_path() -> PathBuf { function parse_key_hex (line 72) | fn parse_key_hex(hex_str: &str) -> Option> { function get_encryption_key (line 85) | fn get_encryption_key() -> Result, String> { function ensure_encryption_key (line 115) | fn ensure_encryption_key() -> Result, String> { function encrypt_profile (line 152) | fn encrypt_profile(profile: &AuthProfile) -> Result { type EncryptedPayload (line 186) | struct EncryptedPayload { function decrypt_profile (line 197) | fn decrypt_profile(data: &[u8]) -> Result { function save_profile (line 236) | fn save_profile(profile: &AuthProfile) -> Result<(), String> { function load_profile (line 256) | fn load_profile(name: &str) -> Result { function credentials_set (line 265) | pub fn credentials_set( function auth_save (line 287) | pub fn auth_save( function credentials_get (line 312) | pub fn credentials_get(name: &str) -> Result { function credentials_get_full (line 322) | pub fn credentials_get_full(name: &str) -> Result { function credentials_delete (line 326) | pub fn credentials_delete(name: &str) -> Result { function credentials_list (line 336) | pub fn credentials_list() -> Result { function auth_show (line 374) | pub fn auth_show(name: &str) -> Result { function with_test_key (line 396) | fn with_test_key(f: F) { function test_validate_profile_name (line 411) | fn test_validate_profile_name() { function test_auth_profile_serialization (line 422) | fn test_auth_profile_serialization() { function test_encrypt_decrypt_roundtrip (line 445) | fn test_encrypt_decrypt_roundtrip() { function test_get_encryption_key_from_env (line 466) | fn test_get_encryption_key_from_env() { function test_parse_key_hex_valid (line 475) | fn test_parse_key_hex_valid() { function test_parse_key_hex_invalid (line 483) | fn test_parse_key_hex_invalid() { function test_decrypt_json_payload_format (line 490) | fn test_decrypt_json_payload_format() { function test_encrypted_output_is_json_format (line 534) | fn test_encrypted_output_is_json_format() { FILE: cli/src/native/browser.rs function validate_launch_options (line 20) | pub fn validate_launch_options( function validate_lightpanda_options (line 61) | fn validate_lightpanda_options(options: &LaunchOptions) -> Result<(), St... function is_internal_chrome_target (line 92) | fn is_internal_chrome_target(url: &str) -> bool { function to_ai_friendly_error (line 99) | pub fn to_ai_friendly_error(error: &str) -> String { type PageInfo (line 124) | pub struct PageInfo { type WaitUntil (line 133) | pub enum WaitUntil { method from_str (line 140) | pub fn from_str(s: &str) -> Self { type BrowserProcess (line 149) | pub enum BrowserProcess { method kill (line 155) | pub fn kill(&mut self) { method wait_or_kill (line 162) | pub fn wait_or_kill(&mut self, timeout: std::time::Duration) { type BrowserManager (line 170) | pub struct BrowserManager { method launch (line 184) | pub async fn launch(options: LaunchOptions, engine: Option<&str>) -> R... method connect_cdp (line 299) | pub async fn connect_cdp(url: &str) -> Result { method connect_auto (line 315) | pub async fn connect_auto() -> Result { method discover_and_attach_targets (line 320) | async fn discover_and_attach_targets(&mut self) -> Result<(), String> { method enable_domains_pub (line 409) | pub async fn enable_domains_pub(&self, session_id: &str) -> Result<(),... method enable_domains (line 413) | async fn enable_domains(&self, session_id: &str) -> Result<(), String> { method active_session_id (line 426) | pub fn active_session_id(&self) -> Result<&str, String> { method navigate (line 433) | pub async fn navigate(&mut self, url: &str, wait_until: WaitUntil) -> ... method wait_for_lifecycle (line 467) | async fn wait_for_lifecycle( method wait_for_network_idle (line 501) | async fn wait_for_network_idle( method get_url (line 510) | pub async fn get_url(&self) -> Result { method get_title (line 515) | pub async fn get_title(&self) -> Result { method get_content (line 520) | pub async fn get_content(&self) -> Result { method evaluate (line 527) | pub async fn evaluate(&self, script: &str, _args: Option) -> Re... method evaluate_simple (line 555) | async fn evaluate_simple(&self, expression: &str) -> Result Result<(), String> { method has_pages (line 591) | pub fn has_pages(&self) -> bool { method is_connection_alive (line 597) | pub async fn is_connection_alive(&self) -> bool { method get_cdp_url (line 612) | pub fn get_cdp_url(&self) -> &str { method chrome_host_port (line 617) | pub fn chrome_host_port(&self) -> &str { method active_target_id (line 626) | pub fn active_target_id(&self) -> Result<&str, String> { method is_cdp_connection (line 634) | pub fn is_cdp_connection(&self) -> bool { method ensure_page (line 640) | pub async fn ensure_page(&mut self) -> Result<(), String> { method update_active_page_if_needed (line 687) | pub fn update_active_page_if_needed(&mut self) { method tab_list (line 697) | pub fn tab_list(&self) -> Vec { method tab_new (line 713) | pub async fn tab_new(&mut self, url: Option<&str>) -> Result Result) -> Result Result<(), Str... method set_emulated_media (line 856) | pub async fn set_emulated_media( method bring_to_front (line 879) | pub async fn bring_to_front(&self) -> Result<(), String> { method set_timezone (line 887) | pub async fn set_timezone(&self, timezone_id: &str) -> Result<(), Stri... method set_locale (line 899) | pub async fn set_locale(&self, locale: &str) -> Result<(), String> { method set_geolocation (line 911) | pub async fn set_geolocation( method grant_permissions (line 932) | pub async fn grant_permissions(&self, permissions: &[String]) -> Resul... method handle_dialog (line 943) | pub async fn handle_dialog( method upload_files (line 963) | pub async fn upload_files(&self, selector: &str, files: &[String]) -> ... method add_script_to_evaluate (line 1033) | pub async fn add_script_to_evaluate(&self, source: &str) -> Result bool { method page_count (line 1067) | pub fn page_count(&self) -> usize { method pages_list (line 1071) | pub fn pages_list(&self) -> Vec { method set_download_behavior (line 1075) | pub async fn set_download_behavior(&self, download_path: &str) -> Resu... constant LIGHTPANDA_CDP_CONNECT_TIMEOUT (line 179) | const LIGHTPANDA_CDP_CONNECT_TIMEOUT: Duration = Duration::from_secs(5); constant LIGHTPANDA_CDP_CONNECT_POLL_INTERVAL (line 180) | const LIGHTPANDA_CDP_CONNECT_POLL_INTERVAL: Duration = Duration::from_mi... constant LIGHTPANDA_TARGET_INIT_TIMEOUT (line 181) | const LIGHTPANDA_TARGET_INIT_TIMEOUT: Duration = Duration::from_secs(10); function poll_network_idle (line 1097) | async fn poll_network_idle( function connect_cdp_with_retry (line 1168) | async fn connect_cdp_with_retry( function initialize_lightpanda_manager (line 1189) | async fn initialize_lightpanda_manager( function discover_and_attach_lightpanda_targets (line 1238) | async fn discover_and_attach_lightpanda_targets( function remaining_until (line 1250) | fn remaining_until(deadline: Instant) -> Option { function run_with_lightpanda_deadline (line 1254) | async fn run_with_lightpanda_deadline( function lightpanda_target_init_timeout (line 1271) | fn lightpanda_target_init_timeout(last_error: Option<&str>) -> String { function resolve_cdp_url (line 1282) | async fn resolve_cdp_url(input: &str) -> Result { function test_validate_launch_options_extensions_and_cdp (line 1313) | fn test_validate_launch_options_extensions_and_cdp() { function test_validate_launch_options_profile_and_cdp (line 1319) | fn test_validate_launch_options_profile_and_cdp() { function test_validate_launch_options_storage_state_and_profile (line 1324) | fn test_validate_launch_options_storage_state_and_profile() { function test_validate_launch_options_storage_state_and_extensions (line 1337) | fn test_validate_launch_options_storage_state_and_extensions() { function test_validate_launch_options_allow_file_access_firefox (line 1346) | fn test_validate_launch_options_allow_file_access_firefox() { function test_validate_launch_options_valid (line 1354) | fn test_validate_launch_options_valid() { function test_to_ai_friendly_error_strict_mode (line 1359) | fn test_to_ai_friendly_error_strict_mode() { function test_to_ai_friendly_error_not_visible (line 1367) | fn test_to_ai_friendly_error_not_visible() { function test_to_ai_friendly_error_intercept (line 1375) | fn test_to_ai_friendly_error_intercept() { function test_to_ai_friendly_error_timeout (line 1383) | fn test_to_ai_friendly_error_timeout() { function test_to_ai_friendly_error_not_found (line 1391) | fn test_to_ai_friendly_error_not_found() { function test_to_ai_friendly_error_unknown (line 1399) | fn test_to_ai_friendly_error_unknown() { function test_to_ai_friendly_error_ignores_non_element_not_found (line 1406) | fn test_to_ai_friendly_error_ignores_non_element_not_found() { function test_to_ai_friendly_error_catches_no_element (line 1412) | fn test_to_ai_friendly_error_catches_no_element() { function test_remaining_until_returns_none_for_past_deadline (line 1419) | fn test_remaining_until_returns_none_for_past_deadline() { function test_run_with_lightpanda_deadline_enforces_timeout (line 1427) | async fn test_run_with_lightpanda_deadline_enforces_timeout() { function test_run_with_lightpanda_deadline_returns_operation_error (line 1451) | async fn test_run_with_lightpanda_deadline_returns_operation_error() { function test_lightpanda_target_init_timeout_includes_last_error (line 1465) | fn test_lightpanda_target_init_timeout_includes_last_error() { function test_is_internal_chrome_target (line 1474) | fn test_is_internal_chrome_target() { function cdp_event (line 1494) | fn cdp_event(method: &str, session_id: &str, params: Value) -> CdpEvent { function test_network_idle_no_events_does_not_return_instantly (line 1506) | async fn test_network_idle_no_events_does_not_return_instantly() { function test_network_idle_after_requests_complete (line 1532) | async fn test_network_idle_after_requests_complete() { function test_network_idle_resets_on_new_request (line 1571) | async fn test_network_idle_resets_on_new_request() { function test_network_idle_overall_timeout (line 1625) | async fn test_network_idle_overall_timeout() { FILE: cli/src/native/cdp/chrome.rs type ChromeProcess (line 8) | pub struct ChromeProcess { method kill (line 15) | pub fn kill(&mut self) { method wait_or_kill (line 23) | pub fn wait_or_kill(&mut self, timeout: Duration) { method drop (line 40) | fn drop(&mut self) { type LaunchOptions (line 65) | pub struct LaunchOptions { method default (line 82) | fn default() -> Self { type ChromeArgs (line 101) | struct ChromeArgs { function build_chrome_args (line 107) | fn build_chrome_args(options: &LaunchOptions) -> Result Result Res... function wait_for_devtools_active_port (line 303) | fn wait_for_devtools_active_port( function wait_for_ws_url_until (line 335) | fn wait_for_ws_url_until( function chrome_launch_error (line 362) | fn chrome_launch_error(message: &str, stderr_lines: &[String]) -> String { function find_chrome (line 420) | pub fn find_chrome() -> Option { function read_devtools_active_port (line 498) | pub fn read_devtools_active_port(user_data_dir: &Path) -> Option<(u16, S... function auto_connect_cdp (line 511) | pub async fn auto_connect_cdp() -> Result { function is_port_reachable (line 544) | fn is_port_reachable(port: u16) -> bool { function get_chrome_user_data_dirs (line 550) | fn get_chrome_user_data_dirs() -> Vec { function should_disable_sandbox (line 603) | fn should_disable_sandbox(existing_args: &[String]) -> bool { function should_disable_dev_shm (line 645) | fn should_disable_dev_shm(existing_args: &[String]) -> bool { function find_playwright_chromium (line 674) | fn find_playwright_chromium() -> Option { function build_playwright_binary_path (line 720) | fn build_playwright_binary_path(chromium_dir: &Path) -> PathBuf { function build_playwright_binary_path (line 725) | fn build_playwright_binary_path(chromium_dir: &Path) -> PathBuf { function build_playwright_binary_path (line 730) | fn build_playwright_binary_path(chromium_dir: &Path) -> PathBuf { function expand_tilde (line 734) | fn expand_tilde(path: &str) -> String { function spawn_noop_child (line 752) | fn spawn_noop_child() -> Child { function spawn_noop_child (line 763) | fn spawn_noop_child() -> Child { function test_find_chrome_returns_some_on_host (line 774) | fn test_find_chrome_returns_some_on_host() { function test_expand_tilde (line 786) | fn test_expand_tilde() { function test_expand_tilde_no_tilde (line 793) | fn test_expand_tilde_no_tilde() { function test_read_devtools_active_port_missing (line 798) | fn test_read_devtools_active_port_missing() { function test_should_disable_sandbox_skips_if_already_set (line 804) | fn test_should_disable_sandbox_skips_if_already_set() { function test_chrome_launch_error_no_stderr (line 810) | fn test_chrome_launch_error_no_stderr() { function test_chrome_launch_error_with_sandbox_hint (line 818) | fn test_chrome_launch_error_with_sandbox_hint() { function test_chrome_launch_error_generic (line 830) | fn test_chrome_launch_error_generic() { function test_find_playwright_chromium_nonexistent (line 837) | fn test_find_playwright_chromium_nonexistent() { function test_build_args_headless_includes_headless_flag (line 845) | fn test_build_args_headless_includes_headless_flag() { function test_build_args_headed_no_headless_flag (line 865) | fn test_build_args_headed_no_headless_flag() { function test_build_args_temp_user_data_dir_created (line 885) | fn test_build_args_temp_user_data_dir_created() { function test_build_args_profile_no_temp_dir (line 898) | fn test_build_args_profile_no_temp_dir() { function test_build_args_custom_window_size_not_overridden (line 912) | fn test_build_args_custom_window_size_not_overridden() { function test_build_args_start_maximized_suppresses_default_window_size (line 927) | fn test_build_args_start_maximized_suppresses_default_window_size() { function test_build_args_disables_translate (line 942) | fn test_build_args_disables_translate() { function test_build_args_headless_with_extensions_skips_headless_flag (line 955) | fn test_build_args_headless_with_extensions_skips_headless_flag() { function test_build_args_headed_with_extensions_no_headless_flag (line 980) | fn test_build_args_headed_with_extensions_no_headless_flag() { function test_chrome_process_drop_cleans_temp_dir (line 1001) | fn test_chrome_process_drop_cleans_temp_dir() { FILE: cli/src/native/cdp/client.rs type PendingMap (line 13) | type PendingMap = Arc>>>; constant WS_KEEPALIVE_INTERVAL_SECS (line 17) | const WS_KEEPALIVE_INTERVAL_SECS: u64 = 30; type RawCdpMessage (line 22) | pub struct RawCdpMessage { type CdpClient (line 27) | pub struct CdpClient { method connect (line 47) | pub async fn connect(url: &str) -> Result { method send_command (line 174) | pub async fn send_command( method subscribe (line 223) | pub fn subscribe(&self) -> broadcast::Receiver { method subscribe_raw (line 229) | pub fn subscribe_raw(&self) -> broadcast::Receiver { method inspect_handle (line 235) | pub fn inspect_handle(&self) -> InspectProxyHandle { method send_command_typed (line 242) | pub async fn send_command_typed Result<(), String> { type WsTx (line 276) | type WsTx = Arc< type InspectProxyHandle (line 289) | pub struct InspectProxyHandle { method send_raw (line 295) | pub async fn send_raw(&self, json: String) -> Result<(), String> { method subscribe_raw (line 303) | pub fn subscribe_raw(&self) -> broadcast::Receiver { function enable_tcp_keepalive (line 311) | fn enable_tcp_keepalive(stream: &tokio_tungstenite::MaybeTlsStream Result String { function fetch_cdp_info (line 68) | async fn fetch_cdp_info( function rewrite_ws_host (line 87) | fn rewrite_ws_host(ws_url: &str, host: &str, port: u16) -> String { function fetch_cdp_list (line 99) | async fn fetch_cdp_list(host: &str, port: u16, timeout: Duration) -> Res... function discover_cdp_ws (line 132) | async fn discover_cdp_ws(host: &str, port: u16, timeout: Duration) -> Re... function reqwest_get_string (line 173) | async fn reqwest_get_string(url: &str) -> Result { constant HTTP_404 (line 184) | const HTTP_404: &str = function http_200 (line 187) | fn http_200(body: &str) -> String { function accept_http (line 194) | async fn accept_http(listener: &TcpListener, response: &str) { function discovers_ws_url_from_json_version (line 202) | async fn discovers_ws_url_from_json_version() { function returns_error_when_version_returns_invalid_json (line 219) | async fn returns_error_when_version_returns_invalid_json() { function falls_back_to_json_list_on_version_404 (line 233) | async fn falls_back_to_json_list_on_version_404() { function falls_back_to_ws_when_http_returns_404 (line 251) | async fn falls_back_to_ws_when_http_returns_404() { function rewrite_ws_host_replaces_host_and_port (line 280) | fn rewrite_ws_host_replaces_host_and_port() { function rewrite_ws_host_handles_ipv6 (line 287) | fn rewrite_ws_host_handles_ipv6() { FILE: cli/src/native/cdp/lightpanda.rs constant LIGHTPANDA_STARTUP_TIMEOUT (line 11) | const LIGHTPANDA_STARTUP_TIMEOUT: Duration = Duration::from_secs(10); constant LIGHTPANDA_POLL_INTERVAL (line 12) | const LIGHTPANDA_POLL_INTERVAL: Duration = Duration::from_millis(100); constant LIGHTPANDA_DISCOVERY_TIMEOUT (line 13) | const LIGHTPANDA_DISCOVERY_TIMEOUT: Duration = Duration::from_millis(500); constant LIGHTPANDA_SESSION_TIMEOUT_SECS (line 14) | const LIGHTPANDA_SESSION_TIMEOUT_SECS: u64 = 604800; constant MAX_LOG_LINES (line 15) | const MAX_LOG_LINES: usize = 40; type LightpandaProcess (line 17) | pub struct LightpandaProcess { method kill (line 24) | pub fn kill(&mut self) { method drop (line 31) | fn drop(&mut self) { type LightpandaLaunchOptions (line 37) | pub struct LightpandaLaunchOptions { function build_lightpanda_serve_args (line 43) | fn build_lightpanda_serve_args(port: u16, proxy: Option<&str>) -> Vec Vec { method snapshot_stderr (line 86) | fn snapshot_stderr(&self) -> Vec { function push_bounded (line 96) | fn push_bounded(buffer: &Mutex>, line: String) { function find_lightpanda (line 104) | pub fn find_lightpanda() -> Option { function launch_lightpanda (line 149) | pub async fn launch_lightpanda( function start_log_drainers (line 197) | fn start_log_drainers( function drain_reader (line 221) | fn drain_reader(reader: R, mut push: F) function wait_for_lightpanda_ready (line 234) | async fn wait_for_lightpanda_ready( function lightpanda_launch_error (line 281) | fn lightpanda_launch_error( function unused_port (line 323) | fn unused_port() -> u16 { function serve_json_version_once_after_delay (line 331) | async fn serve_json_version_once_after_delay(port: u16, delay_ms: u64, b... function waits_for_ready_without_logs (line 347) | async fn waits_for_ready_without_logs() { function child_exit_surfaces_logs (line 375) | async fn child_exit_surfaces_logs() { function timeout_reports_last_probe_error (line 396) | async fn timeout_reports_last_probe_error() { function test_find_lightpanda_returns_none_when_missing (line 426) | fn test_find_lightpanda_returns_none_when_missing() { function test_lightpanda_launch_error_no_logs (line 431) | fn test_lightpanda_launch_error_no_logs() { function test_lightpanda_launch_error_with_lines (line 438) | fn test_lightpanda_launch_error_with_lines() { function test_default_options (line 449) | fn test_default_options() { function test_build_lightpanda_serve_args_sets_explicit_session_timeout (line 457) | fn test_build_lightpanda_serve_args_sets_explicit_session_timeout() { function test_build_lightpanda_serve_args_with_proxy (line 475) | fn test_build_lightpanda_serve_args_with_proxy() { FILE: cli/src/native/cdp/types.rs function string_or_int (line 7) | fn string_or_int<'de, D>(deserializer: D) -> Result function opt_vec_string_or_int (line 23) | fn opt_vec_string_or_int<'de, D>(deserializer: D) -> Result) -> std::fmt::Result { type CdpEvent (line 93) | pub struct CdpEvent { type TargetInfo (line 105) | pub struct TargetInfo { type GetTargetsResult (line 117) | pub struct GetTargetsResult { type AttachToTargetParams (line 123) | pub struct AttachToTargetParams { type AttachToTargetResult (line 130) | pub struct AttachToTargetResult { type SetDiscoverTargetsParams (line 136) | pub struct SetDiscoverTargetsParams { type CreateTargetParams (line 142) | pub struct CreateTargetParams { type CreateTargetResult (line 148) | pub struct CreateTargetResult { type CloseTargetParams (line 154) | pub struct CloseTargetParams { type TargetCreatedEvent (line 161) | pub struct TargetCreatedEvent { type TargetDestroyedEvent (line 167) | pub struct TargetDestroyedEvent { type TargetInfoChangedEvent (line 173) | pub struct TargetInfoChangedEvent { type PageNavigateParams (line 183) | pub struct PageNavigateParams { type PageNavigateResult (line 191) | pub struct PageNavigateResult { type FrameNavigatedEvent (line 199) | pub struct FrameNavigatedEvent { type FrameInfo (line 205) | pub struct FrameInfo { type JavascriptDialogOpeningEvent (line 215) | pub struct JavascriptDialogOpeningEvent { type HandleJavaScriptDialogParams (line 225) | pub struct HandleJavaScriptDialogParams { type EvaluateParams (line 237) | pub struct EvaluateParams { type EvaluateResult (line 247) | pub struct EvaluateResult { type RemoteObject (line 254) | pub struct RemoteObject { type ExceptionDetails (line 267) | pub struct ExceptionDetails { type ConsoleApiCalledEvent (line 277) | pub struct ConsoleApiCalledEvent { type ExceptionThrownEvent (line 287) | pub struct ExceptionThrownEvent { type GetFullAXTreeResult (line 298) | pub struct GetFullAXTreeResult { type AXNode (line 304) | pub struct AXNode { type AXValue (line 320) | pub struct AXValue { type AXProperty (line 328) | pub struct AXProperty { type RequestWillBeSentEvent (line 339) | pub struct RequestWillBeSentEvent { type NetworkRequest (line 346) | pub struct NetworkRequest { type LoadingFinishedEvent (line 353) | pub struct LoadingFinishedEvent { type LoadingFailedEvent (line 359) | pub struct LoadingFailedEvent { type DomResolveNodeParams (line 369) | pub struct DomResolveNodeParams { type DomResolveNodeResult (line 380) | pub struct DomResolveNodeResult { type DomGetBoxModelParams (line 386) | pub struct DomGetBoxModelParams { type DomGetBoxModelResult (line 397) | pub struct DomGetBoxModelResult { type BoxModel (line 403) | pub struct BoxModel { type DomQuerySelectorParams (line 414) | pub struct DomQuerySelectorParams { type DomQuerySelectorResult (line 421) | pub struct DomQuerySelectorResult { type DomGetDocumentParams (line 427) | pub struct DomGetDocumentParams { type DomGetDocumentResult (line 434) | pub struct DomGetDocumentResult { type DomNode (line 440) | pub struct DomNode { type DispatchMouseEventParams (line 454) | pub struct DispatchMouseEventParams { type DispatchKeyEventParams (line 475) | pub struct DispatchKeyEventParams { type InsertTextParams (line 496) | pub struct InsertTextParams { type CaptureScreenshotParams (line 506) | pub struct CaptureScreenshotParams { type Viewport (line 521) | pub struct Viewport { type CaptureScreenshotResult (line 531) | pub struct CaptureScreenshotResult { type CallFunctionOnParams (line 541) | pub struct CallFunctionOnParams { type CallArgument (line 555) | pub struct CallArgument { type BrowserVersionInfo (line 568) | pub struct BrowserVersionInfo { FILE: cli/src/native/cookies.rs type Cookie (line 8) | pub struct Cookie { function get_cookies (line 27) | pub async fn get_cookies( function set_cookies (line 49) | pub async fn set_cookies( function clear_cookies (line 82) | pub async fn clear_cookies(client: &CdpClient, session_id: &str) -> Resu... FILE: cli/src/native/daemon.rs function run_daemon (line 19) | pub async fn run_daemon(session: &str) { function run_socket_server (line 93) | async fn run_socket_server( function run_socket_server (line 161) | async fn run_socket_server( function handle_connection (line 236) | async fn handle_connection( function looks_like_http (line 302) | fn looks_like_http(line: &str) -> bool { function shutdown_signal (line 309) | async fn shutdown_signal() { function get_daemon_socket_dir (line 354) | fn get_daemon_socket_dir() -> PathBuf { function get_port_for_session (line 375) | fn get_port_for_session(session: &str) -> u16 { function test_port_matches_client_algorithm (line 389) | fn test_port_matches_client_algorithm() { FILE: cli/src/native/diff.rs type ScreenshotDiffResult (line 4) | pub struct ScreenshotDiffResult { type SnapshotDiffResult (line 13) | pub struct SnapshotDiffResult { function diff_screenshot (line 21) | pub fn diff_screenshot( function diff_snapshots (line 103) | pub fn diff_snapshots(before: &str, after: &str) -> SnapshotDiffResult { function diff_text (line 151) | pub fn diff_text(a: &str, b: &str) -> Value { function diff_unified (line 163) | pub fn diff_unified(a: &str, b: &str) -> String { function test_diff_identical (line 172) | fn test_diff_identical() { function test_diff_additions (line 180) | fn test_diff_additions() { function test_diff_deletions (line 188) | fn test_diff_deletions() { function test_diff_unified_output (line 195) | fn test_diff_unified_output() { function test_snapshot_diff_struct (line 202) | fn test_snapshot_diff_struct() { function test_diff_snapshots_identical_fast_path (line 212) | fn test_diff_snapshots_identical_fast_path() { function bench_diff_snapshots_identical_and_changed (line 224) | fn bench_diff_snapshots_identical_and_changed() { FILE: cli/src/native/e2e_tests.rs function assert_success (line 16) | fn assert_success(resp: &Value) { function get_data (line 25) | fn get_data(resp: &Value) -> &Value { function native_test_fixture_html (line 29) | fn native_test_fixture_html(name: &str) -> &'static str { function native_test_fixture_url (line 38) | fn native_test_fixture_url(name: &str) -> String { function e2e_launch_navigate_evaluate_close (line 51) | async fn e2e_launch_navigate_evaluate_close() { function e2e_lightpanda_launch_can_open_page (line 109) | async fn e2e_lightpanda_launch_can_open_page() { function e2e_lightpanda_auto_launch_can_open_page (line 152) | async fn e2e_lightpanda_auto_launch_can_open_page() { function e2e_snapshot_and_click_ref (line 199) | async fn e2e_snapshot_and_click_ref() { function e2e_screenshot (line 262) | async fn e2e_screenshot() { function e2e_form_interaction (line 382) | async fn e2e_form_interaction() { function e2e_navigation_history (line 512) | async fn e2e_navigation_history() { function e2e_cookies (line 584) | async fn e2e_cookies() { function e2e_storage (line 644) | async fn e2e_storage() { function e2e_tabs (line 718) | async fn e2e_tabs() { function e2e_element_queries (line 798) | async fn e2e_element_queries() { function e2e_wait (line 895) | async fn e2e_wait() { function e2e_viewport_scale_factor (line 958) | async fn e2e_viewport_scale_factor() { function e2e_viewport_emulation (line 1029) | async fn e2e_viewport_emulation() { function e2e_hover_scroll_press (line 1111) | async fn e2e_hover_scroll_press() { function e2e_mouse_down_move_up_preserves_drag_state (line 1179) | async fn e2e_mouse_down_move_up_preserves_drag_state() { function e2e_mouse_drag_reaches_pointer_capture_target (line 1304) | async fn e2e_mouse_drag_reaches_pointer_capture_target() { function e2e_state_management (line 1418) | async fn e2e_state_management() { function e2e_domain_filter (line 1484) | async fn e2e_domain_filter() { function e2e_diff_snapshot (line 1561) | async fn e2e_diff_snapshot() { function e2e_phase8_commands (line 1611) | async fn e2e_phase8_commands() { function e2e_auto_launch (line 1720) | async fn e2e_auto_launch() { function e2e_error_handling (line 1750) | async fn e2e_error_handling() { function e2e_profile_cookie_persistence (line 1815) | async fn e2e_profile_cookie_persistence() { function e2e_get_cdp_url (line 1927) | async fn e2e_get_cdp_url() { function e2e_inspect (line 1954) | async fn e2e_inspect() { function e2e_click_stale_ref_falls_back_to_role_name (line 2011) | async fn e2e_click_stale_ref_falls_back_to_role_name() { function e2e_material_checkbox_check_uncheck (line 2108) | async fn e2e_material_checkbox_check_uncheck() { function e2e_snapshot_cursor_interactive (line 2285) | async fn e2e_snapshot_cursor_interactive() { function e2e_screenshot_annotate_many_elements (line 2382) | async fn e2e_screenshot_annotate_many_elements() { function e2e_snapshot_cursor_many_elements (line 2441) | async fn e2e_snapshot_cursor_many_elements() { function e2e_snapshot_inline_text_box_filtered (line 2507) | async fn e2e_snapshot_inline_text_box_filtered() { function start_echo_server (line 2573) | async fn start_echo_server() -> (String, tokio::task::JoinHandle<()>) { function e2e_headers_persist_same_origin_navigation (line 2625) | async fn e2e_headers_persist_same_origin_navigation() { function e2e_headers_persist_same_origin_fetch (line 2683) | async fn e2e_headers_persist_same_origin_fetch() { function e2e_headers_do_not_leak_cross_origin (line 2730) | async fn e2e_headers_do_not_leak_cross_origin() { function e2e_headers_do_not_leak_cross_origin_fetch (line 2789) | async fn e2e_headers_do_not_leak_cross_origin_fetch() { function e2e_set_headers_not_regressed (line 2840) | async fn e2e_set_headers_not_regressed() { function e2e_headers_multiple_origins_independent (line 2895) | async fn e2e_headers_multiple_origins_independent() { function e2e_headers_persist_after_roundtrip (line 2963) | async fn e2e_headers_persist_after_roundtrip() { function e2e_headers_override_same_origin (line 3022) | async fn e2e_headers_override_same_origin() { function e2e_global_and_scoped_headers_stack (line 3092) | async fn e2e_global_and_scoped_headers_stack() { function e2e_headers_case_insensitive_no_duplicates (line 3151) | async fn e2e_headers_case_insensitive_no_duplicates() { FILE: cli/src/native/element.rs type RefEntry (line 9) | pub struct RefEntry { type RefMap (line 18) | pub struct RefMap { method new (line 24) | pub fn new() -> Self { method add (line 31) | pub fn add( method add_with_frame (line 42) | pub fn add_with_frame( method add_selector (line 64) | pub fn add_selector( method get (line 85) | pub fn get(&self, ref_id: &str) -> Option<&RefEntry> { method entries_sorted (line 89) | pub fn entries_sorted(&self) -> Vec<(String, RefEntry)> { method clear (line 106) | pub fn clear(&mut self) { method next_ref_num (line 111) | pub fn next_ref_num(&self) -> usize { method set_next_ref_num (line 115) | pub fn set_next_ref_num(&mut self, n: usize) { function parse_ref (line 120) | pub fn parse_ref(input: &str) -> Option { function resolve_element_center (line 145) | pub async fn resolve_element_center( function resolve_element_object_id (line 205) | pub async fn resolve_element_object_id( function find_node_id_by_role_name (line 290) | async fn find_node_id_by_role_name( function extract_ax_string (line 335) | fn extract_ax_string(value: &Option) -> String { function build_find_element_js (line 348) | fn build_find_element_js(selector: &str) -> String { function build_count_elements_js (line 363) | fn build_count_elements_js(selector: &str) -> String { function build_selector_js (line 377) | fn build_selector_js(selector: &str) -> String { function resolve_by_selector (line 389) | async fn resolve_by_selector( function box_model_center (line 418) | fn box_model_center(model: &BoxModel) -> (f64, f64) { function get_element_text (line 429) | pub async fn get_element_text( function get_element_attribute (line 459) | pub async fn get_element_attribute( function is_element_visible (line 488) | pub async fn is_element_visible( function is_element_enabled (line 525) | pub async fn is_element_enabled( function is_element_checked (line 554) | pub async fn is_element_checked( function get_element_inner_text (line 616) | pub async fn get_element_inner_text( function get_element_inner_html (line 645) | pub async fn get_element_inner_html( function get_element_input_value (line 674) | pub async fn get_element_input_value( function set_element_value (line 705) | pub async fn set_element_value( function get_element_bounding_box (line 736) | pub async fn get_element_bounding_box( function get_element_count (line 768) | pub async fn get_element_count( function get_element_styles (line 790) | pub async fn get_element_styles( function test_parse_ref_at_prefix (line 847) | fn test_parse_ref_at_prefix() { function test_parse_ref_equals_prefix (line 853) | fn test_parse_ref_equals_prefix() { function test_parse_ref_bare (line 858) | fn test_parse_ref_bare() { function test_parse_ref_invalid (line 864) | fn test_parse_ref_invalid() { function test_ref_map_basic (line 872) | fn test_ref_map_basic() { function test_build_selector_js_css (line 881) | fn test_build_selector_js_css() { function test_build_selector_js_xpath (line 888) | fn test_build_selector_js_xpath() { function test_build_selector_js_xpath_empty (line 895) | fn test_build_selector_js_xpath_empty() { function test_build_selector_js_not_xpath_prefix (line 901) | fn test_build_selector_js_not_xpath_prefix() { function test_build_count_elements_js_css (line 908) | fn test_build_count_elements_js_css() { function test_build_count_elements_js_xpath (line 915) | fn test_build_count_elements_js_xpath() { function test_box_model_center (line 922) | fn test_box_model_center() { FILE: cli/src/native/inspect_server.rs type InspectServer (line 23) | pub struct InspectServer { method start (line 34) | pub async fn start( method port (line 63) | pub fn port(&self) -> u16 { method shutdown (line 67) | pub fn shutdown(self) { function accept_loop (line 72) | async fn accept_loop( function handle_connection (line 97) | async fn handle_connection( constant MAX_HEADER_BYTES (line 135) | const MAX_HEADER_BYTES: usize = 8192; function handle_http_redirect (line 137) | async fn handle_http_redirect( function handle_ws_proxy (line 175) | async fn handle_ws_proxy( function inject_session_id (line 298) | fn inject_session_id(json: &str, session_id: &str) -> String { function strip_session_id (line 312) | fn strip_session_id(json: &str) -> String { function test_inject_session_id (line 328) | fn test_inject_session_id() { function test_inject_session_id_empty_object (line 338) | fn test_inject_session_id_empty_object() { function test_strip_session_id (line 345) | fn test_strip_session_id() { function test_inject_then_strip_roundtrip (line 354) | fn test_inject_then_strip_roundtrip() { FILE: cli/src/native/interaction.rs function click (line 7) | pub async fn click( function dblclick (line 19) | pub async fn dblclick( function hover (line 28) | pub async fn hover( function fill (line 55) | pub async fn fill( function type_text (line 114) | pub async fn type_text( function press_key (line 223) | pub async fn press_key(client: &CdpClient, session_id: &str, key: &str) ... function press_key_with_modifiers (line 234) | pub async fn press_key_with_modifiers( function scroll (line 279) | pub async fn scroll( function select_option (line 329) | pub async fn select_option( function check (line 367) | pub async fn check( function uncheck (line 389) | pub async fn uncheck( function js_click_checkbox (line 417) | async fn js_click_checkbox( function focus (line 466) | pub async fn focus( function clear (line 491) | pub async fn clear( function select_all (line 522) | pub async fn select_all( function scroll_into_view (line 559) | pub async fn scroll_into_view( function dispatch_event (line 586) | pub async fn dispatch_event( function highlight (line 623) | pub async fn highlight( function tap_touch (line 657) | pub async fn tap_touch( function dispatch_click (line 690) | async fn dispatch_click( function char_to_key_info (line 764) | fn char_to_key_info(ch: char) -> (String, String, i32) { function punctuation_key_info (line 796) | fn punctuation_key_info(ch: char) -> (&'static str, i32) { function named_key_info (line 824) | fn named_key_info(key: &str) -> (String, String, i32) { function test_char_to_key_info_matches_playwright_layout (line 861) | fn test_char_to_key_info_matches_playwright_layout() { function test_period_is_not_vk_delete (line 923) | fn test_period_is_not_vk_delete() { function test_unmapped_chars_return_zero_keycode (line 935) | fn test_unmapped_chars_return_zero_keycode() { FILE: cli/src/native/network.rs function set_extra_headers (line 6) | pub async fn set_extra_headers( function set_offline (line 28) | pub async fn set_offline( function set_content (line 48) | pub async fn set_content(client: &CdpClient, session_id: &str, html: &st... type DomainFilter (line 80) | pub struct DomainFilter { method new (line 85) | pub fn new(domains: &str) -> Self { method is_allowed (line 92) | pub fn is_allowed(&self, hostname: &str) -> bool { method check_url (line 109) | pub fn check_url(&self, url: &str) -> Result<(), String> { function parse_domain_list (line 128) | fn parse_domain_list(input: &str) -> Vec { function sanitize_existing_pages (line 136) | pub async fn sanitize_existing_pages( function install_domain_filter_script (line 161) | pub async fn install_domain_filter_script( function install_domain_filter_fetch (line 233) | pub async fn install_domain_filter_fetch( function install_domain_filter (line 252) | pub async fn install_domain_filter( type ConsoleEntry (line 267) | pub struct ConsoleEntry { type ErrorEntry (line 273) | pub struct ErrorEntry { type EventTracker (line 280) | pub struct EventTracker { method new (line 287) | pub fn new() -> Self { method add_console (line 295) | pub fn add_console(&mut self, level: &str, text: &str) { method add_error (line 305) | pub fn add_error( method get_console_json (line 323) | pub fn get_console_json(&self) -> Value { method get_errors_json (line 332) | pub fn get_errors_json(&self) -> Value { function test_domain_filter_exact (line 354) | fn test_domain_filter_exact() { function test_domain_filter_wildcard (line 361) | fn test_domain_filter_wildcard() { function test_domain_filter_empty (line 370) | fn test_domain_filter_empty() { function test_domain_filter_multiple (line 376) | fn test_domain_filter_multiple() { function test_parse_domain_list (line 385) | fn test_parse_domain_list() { function test_event_tracker (line 391) | fn test_event_tracker() { FILE: cli/src/native/parity_tests.rs constant ENCRYPTION_KEY_ENV (line 12) | const ENCRYPTION_KEY_ENV: &str = "AGENT_BROWSER_ENCRYPTION_KEY"; type TestKeyGuard (line 14) | struct TestKeyGuard { method new (line 20) | fn new() -> Self { method drop (line 35) | fn drop(&mut self) { constant DOCUMENTED_ACTIONS (line 45) | const DOCUMENTED_ACTIONS: &[&str] = &[ function minimal_command (line 196) | fn minimal_command(action: &str, id: &str) -> Value { function test_all_documented_actions_are_handled (line 377) | async fn test_all_documented_actions_are_handled() { function test_success_response_format (line 406) | async fn test_success_response_format() { function test_error_response_format (line 418) | async fn test_error_response_format() { function test_state_list_without_browser (line 433) | async fn test_state_list_without_browser() { function test_credentials_list_without_browser (line 443) | async fn test_credentials_list_without_browser() { function test_auth_profile_name_validation (line 457) | async fn test_auth_profile_name_validation() { function test_auth_save_and_show (line 473) | async fn test_auth_save_and_show() { function test_har_start_stop_without_browser (line 502) | async fn test_har_start_stop_without_browser() { function test_state_clean_action (line 518) | async fn test_state_clean_action() { function test_daemon_state_new_defaults (line 526) | async fn test_daemon_state_new_defaults() { function test_tracked_request_struct (line 540) | async fn test_tracked_request_struct() { function test_request_tracking_state (line 557) | async fn test_request_tracking_state() { function test_addscript_and_addinitscript_separate_dispatch (line 593) | async fn test_addscript_and_addinitscript_separate_dispatch() { function test_frame_context_management (line 615) | async fn test_frame_context_management() { function test_addstyle_supports_content_and_url (line 629) | async fn test_addstyle_supports_content_and_url() { function test_domain_filter_sanitize (line 646) | async fn test_domain_filter_sanitize() { function test_state_find_auto_returns_none_for_nonexistent (line 656) | async fn test_state_find_auto_returns_none_for_nonexistent() { FILE: cli/src/native/policy.rs type PolicyResult (line 9) | pub enum PolicyResult { type ActionPolicy (line 20) | pub struct ActionPolicy { method load (line 64) | pub fn load(path: &str) -> Result { method load_if_exists (line 76) | pub fn load_if_exists() -> Option { method check (line 84) | pub fn check(&self, action: &str) -> PolicyResult { method reload (line 124) | pub fn reload(&mut self) -> Result<(), String> { type ConfirmActions (line 35) | pub struct ConfirmActions { method from_env (line 40) | pub fn from_env() -> Option { method requires_confirmation (line 57) | pub fn requires_confirmation(&self, action: &str) -> bool { function test_policy_allow_whitelist (line 141) | fn test_policy_allow_whitelist() { function test_policy_deny (line 150) | fn test_policy_deny() { function test_policy_confirm (line 157) | fn test_policy_confirm() { function test_policy_deny_takes_precedence (line 164) | fn test_policy_deny_takes_precedence() { function test_policy_confirm_takes_precedence_over_allow (line 171) | fn test_policy_confirm_takes_precedence_over_allow() { function test_policy_empty_allow_allows_all (line 178) | fn test_policy_empty_allow_allows_all() { function test_policy_missing_allow_allows_all (line 185) | fn test_policy_missing_allow_allows_all() { function test_policy_default_allow (line 192) | fn test_policy_default_allow() { function test_policy_default_deny (line 200) | fn test_policy_default_deny() { function test_confirm_actions_from_env (line 208) | fn test_confirm_actions_from_env() { FILE: cli/src/native/providers.rs type ProviderSession (line 10) | pub struct ProviderSession { function connect_provider (line 17) | pub async fn connect_provider( function close_provider_session (line 33) | pub async fn close_provider_session(session: &ProviderSession) { function connect_browserbase (line 87) | async fn connect_browserbase() -> Result<(String, Option Result<(String, Option Result<(String, Option Result<(String, Option), S... FILE: cli/src/native/recording.rs constant CAPTURE_INTERVAL_MS (line 12) | const CAPTURE_INTERVAL_MS: u64 = 100; constant CAPTURE_FPS (line 13) | const CAPTURE_FPS: u32 = 10; type RecordingState (line 15) | pub struct RecordingState { method new (line 25) | pub fn new() -> Self { function recording_start (line 37) | pub fn recording_start(state: &mut RecordingState, path: &str) -> Result... function recording_stop (line 49) | pub fn recording_stop(state: &mut RecordingState) -> Result Resu... function build_ffmpeg_command (line 82) | fn build_ffmpeg_command(output_path: &str) -> tokio::process::Command { function spawn_recording_task (line 125) | pub fn spawn_recording_task( function stop_recording_task (line 211) | pub async fn stop_recording_task(state: &mut RecordingState) -> Result<(... function test_recording_state_new (line 241) | fn test_recording_state_new() { function test_recording_start_sets_active (line 249) | fn test_recording_start_sets_active() { function test_recording_start_while_active (line 259) | fn test_recording_start_while_active() { function test_recording_stop_not_active (line 268) | fn test_recording_stop_not_active() { function test_recording_stop_no_frames (line 276) | fn test_recording_stop_no_frames() { function test_recording_restart_while_inactive (line 286) | fn test_recording_restart_while_inactive() { function test_recording_restart_while_active (line 295) | fn test_recording_restart_while_active() { function test_build_ffmpeg_command_webm (line 307) | fn test_build_ffmpeg_command_webm() { function test_build_ffmpeg_command_mp4 (line 316) | fn test_build_ffmpeg_command_mp4() { FILE: cli/src/native/screenshot.rs constant ANNOTATION_OVERLAY_ID (line 9) | const ANNOTATION_OVERLAY_ID: &str = "__agent_browser_annotations__"; type Rect (line 12) | struct Rect { type RawAnnotation (line 20) | struct RawAnnotation { type AnnotationBox (line 29) | pub struct AnnotationBox { type ScreenshotAnnotation (line 37) | pub struct ScreenshotAnnotation { type ScreenshotResult (line 46) | pub struct ScreenshotResult { type ScreenshotOptions (line 53) | pub struct ScreenshotOptions { method default (line 64) | fn default() -> Self { method serialize (line 78) | fn serialize(&self, serializer: S) -> Result function take_screenshot (line 98) | pub async fn take_screenshot( function capture_screenshot_base64 (line 164) | async fn capture_screenshot_base64( function collect_annotations (line 221) | async fn collect_annotations( function get_rect_for_selector (line 314) | async fn get_rect_for_selector( function get_rect_for_object (line 325) | async fn get_rect_for_object( function parse_rect (line 351) | fn parse_rect(value: &Value) -> Option { function filter_annotations (line 360) | fn filter_annotations( function overlaps (line 376) | fn overlaps(left: &Rect, right: &Rect) -> bool { function inject_annotation_overlay (line 385) | async fn inject_annotation_overlay( function remove_annotation_overlay (line 450) | async fn remove_annotation_overlay(client: &CdpClient, session_id: &str)... function get_scroll_offsets (line 476) | async fn get_scroll_offsets(client: &CdpClient, session_id: &str) -> Res... function project_annotations (line 495) | fn project_annotations( function save_screenshot (line 537) | fn save_screenshot( function round (line 569) | fn round(value: f64) -> i64 { function get_screenshot_dir (line 573) | fn get_screenshot_dir() -> PathBuf { function filters_annotations_to_target_overlap (line 588) | fn filters_annotations_to_target_overlap() { function projects_selector_annotations_relative_to_target (line 629) | fn projects_selector_annotations_relative_to_target() { function projects_full_page_annotations_to_document_space (line 656) | fn projects_full_page_annotations_to_document_space() { FILE: cli/src/native/snapshot.rs constant INTERACTIVE_ROLES (line 11) | const INTERACTIVE_ROLES: &[&str] = &[ constant CONTENT_ROLES (line 32) | const CONTENT_ROLES: &[&str] = &[ constant STRUCTURAL_ROLES (line 45) | const STRUCTURAL_ROLES: &[&str] = &[ type SnapshotOptions (line 69) | pub struct SnapshotOptions { type TreeNode (line 77) | struct TreeNode { type CursorElementInfo (line 99) | struct CursorElementInfo { type RoleNameTracker (line 105) | struct RoleNameTracker { method new (line 111) | fn new() -> Self { method track (line 118) | fn track(&mut self, role: &str, name: &str, node_idx: usize) -> usize { method get_duplicates (line 127) | fn get_duplicates(&self) -> HashMap { function take_snapshot (line 136) | pub async fn take_snapshot( function resolve_iframe_frame_id (line 415) | async fn resolve_iframe_frame_id( function find_cursor_interactive_elements (line 448) | async fn find_cursor_interactive_elements( function build_tree (line 703) | fn build_tree(nodes: &[AXNode]) -> (Vec, Vec) { function render_tree (line 801) | fn render_tree( function compact_tree (line 917) | fn compact_tree(tree: &str, interactive: bool) -> String { function count_indent (line 956) | fn count_indent(line: &str) -> usize { function extract_ax_string (line 961) | fn extract_ax_string(value: &Option) -> String { function extract_ax_string_opt (line 973) | fn extract_ax_string_opt(value: &Option) -> Option { type NodeProperties (line 984) | type NodeProperties = ( function extract_properties (line 993) | fn extract_properties(props: &Option>) -> NodeProperties { function build_dedup_set (line 1039) | fn build_dedup_set(ref_map: &RefMap) -> std::collections::HashSet { function collect_backend_node_ids (line 1050) | fn collect_backend_node_ids(node: &Value, ids: &mut std::collections::Ha... function test_interactive_roles (line 1075) | fn test_interactive_roles() { function test_content_roles (line 1082) | fn test_content_roles() { function test_compact_tree_basic (line 1088) | fn test_compact_tree_basic() { function test_compact_tree_empty_interactive (line 1097) | fn test_compact_tree_empty_interactive() { function test_count_indent (line 1103) | fn test_count_indent() { function test_role_name_tracker (line 1110) | fn test_role_name_tracker() { function test_dedup_set_from_ref_map_names (line 1126) | fn test_dedup_set_from_ref_map_names() { function test_dedup_set_case_insensitive (line 1138) | fn test_dedup_set_case_insensitive() { function test_dedup_set_empty_inputs (line 1148) | fn test_dedup_set_empty_inputs() { function test_dedup_set_skips_empty_names (line 1155) | fn test_dedup_set_skips_empty_names() { FILE: cli/src/native/state.rs type StorageState (line 14) | pub struct StorageState { type OriginStorage (line 21) | pub struct OriginStorage { type StorageEntry (line 30) | pub struct StorageEntry { function save_state (line 35) | pub async fn save_state( function load_state (line 132) | pub async fn load_state(client: &CdpClient, session_id: &str, path: &str... function is_state_file (line 236) | fn is_state_file(path: &std::path::Path) -> bool { function is_encrypted_state (line 245) | fn is_encrypted_state(path: &std::path::Path) -> bool { function state_list (line 249) | pub fn state_list() -> Result { function state_show (line 290) | pub fn state_show(path: &str) -> Result { function state_clear (line 329) | pub fn state_clear(path: Option<&str>) -> Result { function state_clean (line 354) | pub fn state_clean(max_age_days: u64) -> Result { function state_rename (line 390) | pub fn state_rename(old_path: &str, new_name: &str) -> Result Result, String> { function decrypt_data (line 428) | fn decrypt_data(data: &[u8], key_str: &str) -> Result, String> { function find_auto_state_file (line 445) | pub fn find_auto_state_file(session_name: &str) -> Option { function get_sessions_dir (line 478) | pub fn get_sessions_dir() -> PathBuf { function test_storage_state_serialization (line 491) | fn test_storage_state_serialization() { function test_storage_state_empty (line 524) | fn test_storage_state_empty() { function test_state_show_nonexistent_file (line 536) | fn test_state_show_nonexistent_file() { function test_state_clear_nonexistent_file (line 542) | fn test_state_clear_nonexistent_file() { function test_state_rename_nonexistent (line 548) | fn test_state_rename_nonexistent() { function test_state_list_returns_json (line 555) | fn test_state_list_returns_json() { function test_sessions_dir_path (line 562) | fn test_sessions_dir_path() { function test_encrypt_decrypt_roundtrip (line 568) | fn test_encrypt_decrypt_roundtrip() { function test_decrypt_wrong_key_fails (line 579) | fn test_decrypt_wrong_key_fails() { function test_cookie_serde_roundtrip (line 587) | fn test_cookie_serde_roundtrip() { FILE: cli/src/native/storage.rs function storage_get (line 6) | pub async fn storage_get( function storage_set (line 40) | pub async fn storage_set( function storage_clear (line 58) | pub async fn storage_clear( function storage_js_name (line 69) | fn storage_js_name(storage_type: &str) -> &str { function eval_simple (line 76) | async fn eval_simple(client: &CdpClient, session_id: &str, js: &str) -> ... FILE: cli/src/native/stream.rs type FrameMetadata (line 14) | pub struct FrameMetadata { method default (line 25) | fn default() -> Self { type StreamServer (line 38) | pub struct StreamServer { method start (line 50) | pub async fn start( method start_without_client (line 63) | pub async fn start_without_client( method notify_client_changed (line 72) | pub fn notify_client_changed(&self) { method set_cdp_session_id (line 77) | pub async fn set_cdp_session_id(&self, session_id: Option) { method is_screencasting (line 83) | pub async fn is_screencasting(&self) -> bool { method start_inner (line 87) | async fn start_inner( method port (line 162) | pub fn port(&self) -> u16 { method broadcast_frame (line 167) | pub fn broadcast_frame(&self, frame_json: &str) { method broadcast_screencast_frame (line 172) | pub fn broadcast_screencast_frame(&self, base64_data: &str, metadata: ... method broadcast_status (line 190) | pub fn broadcast_status( method broadcast_error (line 208) | pub fn broadcast_error(&self, message: &str) { function accept_loop (line 218) | async fn accept_loop( function handle_ws_client (line 252) | async fn handle_ws_client( function cdp_event_loop (line 354) | async fn cdp_event_loop( function handle_client_message (line 506) | async fn handle_client_message(msg: &str, client: &CdpClient, session_id... function is_allowed_origin (line 568) | pub fn is_allowed_origin(origin: Option<&str>) -> bool { function start_screencast (line 585) | pub async fn start_screencast( function stop_screencast (line 609) | pub async fn stop_screencast(client: &CdpClient, session_id: &str) -> Re... function ack_screencast_frame (line 616) | pub async fn ack_screencast_frame( function test_allowed_origin_none (line 636) | fn test_allowed_origin_none() { function test_allowed_origin_file (line 641) | fn test_allowed_origin_file() { function test_allowed_origin_localhost (line 646) | fn test_allowed_origin_localhost() { function test_disallowed_origin (line 652) | fn test_disallowed_origin() { function test_frame_metadata_default (line 657) | fn test_frame_metadata_default() { FILE: cli/src/native/tracing.rs constant MAX_PROFILE_EVENTS (line 6) | const MAX_PROFILE_EVENTS: usize = 5_000_000; constant DEFAULT_PROFILER_CATEGORIES (line 8) | const DEFAULT_PROFILER_CATEGORIES: &[&str] = &[ type TracingState (line 26) | pub struct TracingState { method new (line 33) | pub fn new() -> Self { function trace_start (line 42) | pub async fn trace_start( function trace_stop (line 71) | pub async fn trace_stop( function profiler_start (line 183) | pub async fn profiler_start( function profiler_stop (line 221) | pub async fn profiler_stop( function read_io_stream (line 319) | async fn read_io_stream( function get_clock_domain (line 349) | fn get_clock_domain() -> Option<&'static str> { function get_traces_dir (line 359) | fn get_traces_dir() -> PathBuf { function get_profiles_dir (line 367) | fn get_profiles_dir() -> PathBuf { FILE: cli/src/native/webdriver/appium.rs constant APPIUM_DEFAULT_PORT (line 7) | const APPIUM_DEFAULT_PORT: u16 = 4723; constant APPIUM_STARTUP_TIMEOUT_SECS (line 8) | const APPIUM_STARTUP_TIMEOUT_SECS: u64 = 30; type AppiumManager (line 10) | pub struct AppiumManager { method connect_or_launch (line 17) | pub async fn connect_or_launch(device_udid: Option<&str>) -> Result Result<(), String> { method swipe (line 107) | pub async fn swipe( method close (line 136) | pub async fn close(&mut self) -> Result<(), String> { method drop (line 147) | fn drop(&mut self) { function is_appium_running (line 155) | async fn is_appium_running(port: u16) -> bool { function launch_appium (line 166) | fn launch_appium(port: u16) -> Result { function wait_for_appium (line 192) | async fn wait_for_appium(port: u16, timeout_secs: u64) -> Result<(), Str... function test_appium_constants (line 210) | fn test_appium_constants() { function test_ios_capabilities_use_vendor_prefix (line 216) | fn test_ios_capabilities_use_vendor_prefix() { FILE: cli/src/native/webdriver/backend.rs type BrowserBackend (line 8) | pub trait BrowserBackend: Send + Sync { method navigate (line 9) | async fn navigate(&self, url: &str) -> Result<(), String>; method get_url (line 10) | async fn get_url(&self) -> Result; method get_title (line 11) | async fn get_title(&self) -> Result; method get_content (line 12) | async fn get_content(&self) -> Result; method evaluate (line 13) | async fn evaluate(&self, script: &str) -> Result; method screenshot (line 14) | async fn screenshot(&self) -> Result; method click (line 15) | async fn click(&self, selector: &str) -> Result<(), String>; method fill (line 16) | async fn fill(&self, selector: &str, value: &str) -> Result<(), String>; method close (line 17) | async fn close(&mut self) -> Result<(), String>; method back (line 18) | async fn back(&self) -> Result<(), String>; method forward (line 19) | async fn forward(&self) -> Result<(), String>; method reload (line 20) | async fn reload(&self) -> Result<(), String>; method get_cookies (line 21) | async fn get_cookies(&self) -> Result; method backend_type (line 22) | fn backend_type(&self) -> &str; method supports (line 24) | fn supports(&self, feature: &str) -> bool { method unsupported_error (line 32) | fn unsupported_error(&self, action: &str) -> String { method navigate (line 54) | async fn navigate(&self, url: &str) -> Result<(), String> { method get_url (line 58) | async fn get_url(&self) -> Result { method get_title (line 62) | async fn get_title(&self) -> Result { method get_content (line 66) | async fn get_content(&self) -> Result { method evaluate (line 70) | async fn evaluate(&self, script: &str) -> Result { method screenshot (line 74) | async fn screenshot(&self) -> Result { method click (line 78) | async fn click(&self, selector: &str) -> Result<(), String> { method fill (line 83) | async fn fill(&self, selector: &str, value: &str) -> Result<(), String> { method close (line 89) | async fn close(&mut self) -> Result<(), String> { method back (line 93) | async fn back(&self) -> Result<(), String> { method forward (line 97) | async fn forward(&self) -> Result<(), String> { method reload (line 101) | async fn reload(&self) -> Result<(), String> { method get_cookies (line 105) | async fn get_cookies(&self) -> Result { method backend_type (line 109) | fn backend_type(&self) -> &str { type WebDriverBackend (line 42) | pub struct WebDriverBackend { method new (line 47) | pub fn new(client: super::client::WebDriverClient) -> Self { constant WEBDRIVER_UNSUPPORTED_ACTIONS (line 115) | pub const WEBDRIVER_UNSUPPORTED_ACTIONS: &[&str] = &[ function test_unsupported_actions (line 137) | fn test_unsupported_actions() { FILE: cli/src/native/webdriver/client.rs type WebDriverClient (line 4) | pub struct WebDriverClient { method new (line 10) | pub fn new(port: u16) -> Self { method create_session (line 17) | pub async fn create_session(&mut self, capabilities: Value) -> Result<... method delete_session (line 37) | pub async fn delete_session(&mut self) -> Result<(), String> { method navigate (line 45) | pub async fn navigate(&self, url: &str) -> Result<(), String> { method get_url (line 52) | pub async fn get_url(&self) -> Result { method get_title (line 62) | pub async fn get_title(&self) -> Result { method find_element (line 72) | pub async fn find_element(&self, using: &str, value: &str) -> Result Result<(), Stri... method send_keys (line 101) | pub async fn send_keys(&self, element_id: &str, text: &str) -> Result<... method clear_element (line 111) | pub async fn clear_element(&self, element_id: &str) -> Result<(), Stri... method execute_script (line 121) | pub async fn execute_script(&self, script: &str, args: Vec) -> ... method screenshot (line 132) | pub async fn screenshot(&self) -> Result { method get_cookies (line 142) | pub async fn get_cookies(&self) -> Result { method get_page_source (line 148) | pub async fn get_page_source(&self) -> Result { method back (line 158) | pub async fn back(&self) -> Result<(), String> { method forward (line 165) | pub async fn forward(&self) -> Result<(), String> { method refresh (line 172) | pub async fn refresh(&self) -> Result<(), String> { method session_id_pub (line 179) | pub fn session_id_pub(&self) -> Option<&str> { method new_with_session (line 183) | pub fn new_with_session(port: u16, session_id: String) -> Self { method execute_actions (line 190) | pub async fn execute_actions(&self, session_id: &str, actions: &Value)... method session_id (line 196) | fn session_id(&self) -> Result<&str, String> { method get (line 202) | async fn get(&self, path: &str) -> Result { method post (line 206) | async fn post(&self, path: &str, body: &Value) -> Result { method delete (line 210) | async fn delete(&self, path: &str) -> Result { function http_request (line 215) | async fn http_request(method: &str, url: &str, body: Option<&Value>) -> ... function test_client_new (line 299) | fn test_client_new() { function test_session_id_none (line 306) | fn test_session_id_none() { function test_client_custom_port (line 314) | fn test_client_custom_port() { FILE: cli/src/native/webdriver/ios.rs type IosDevice (line 5) | pub struct IosDevice { function list_simulators (line 13) | pub fn list_simulators() -> Result, String> { function list_real_devices (line 61) | pub fn list_real_devices() -> Result, String> { function list_all_devices (line 113) | pub fn list_all_devices() -> Result, String> { function boot_simulator (line 119) | pub fn boot_simulator(udid: &str) -> Result<(), String> { function shutdown_simulator (line 135) | pub fn shutdown_simulator(udid: &str) -> Result<(), String> { function select_device (line 151) | pub fn select_device(device_name: Option<&str>, udid: Option<&str>) -> R... function to_device_json (line 190) | pub fn to_device_json(devices: &[IosDevice]) -> Value { function test_ios_device_struct (line 211) | fn test_ios_device_struct() { function test_to_device_json (line 224) | fn test_to_device_json() { FILE: cli/src/native/webdriver/safari.rs type SafariDriverProcess (line 5) | pub struct SafariDriverProcess { method kill (line 11) | pub fn kill(&mut self) { method drop (line 18) | fn drop(&mut self) { function find_safaridriver (line 23) | pub fn find_safaridriver() -> Option { function launch_safaridriver (line 46) | pub fn launch_safaridriver(port: u16) -> Result Option<&str> { type FindElementRequest (line 63) | pub struct FindElementRequest { type ExecuteScriptRequest (line 69) | pub struct ExecuteScriptRequest { type CookieRequest (line 76) | pub struct CookieRequest { type CookieData (line 82) | pub struct CookieData { FILE: cli/src/output.rs function get_boundary_nonce (line 11) | fn get_boundary_nonce() -> &'static str { type OutputOptions (line 20) | pub struct OutputOptions { function truncate_if_needed (line 26) | fn truncate_if_needed(content: &str, max: Option) -> String { function print_with_boundaries (line 51) | fn print_with_boundaries(content: &str, origin: Option<&str>, opts: &Out... function format_storage_value (line 67) | fn format_storage_value(value: &serde_json::Value) -> String { function format_storage_text (line 74) | fn format_storage_text(data: &serde_json::Value) -> Option { function print_response_with_opts (line 92) | pub fn print_response_with_opts(resp: &Response, action: Option<&str>, o... function print_command_help (line 876) | pub fn print_command_help(command: &str) -> bool { function print_help (line 2484) | pub fn print_help() { function print_snapshot_diff (line 2740) | fn print_snapshot_diff(data: &serde_json::Map) { function print_screenshot_diff (line 2771) | fn print_screenshot_diff(data: &serde_json::Map { function new (line 14) | pub fn new(var_names: &[&str]) -> Self { function set (line 23) | pub fn set(&self, name: &str, value: &str) { function remove (line 31) | pub fn remove(&self, name: &str) { method drop (line 41) | fn drop(&mut self) { FILE: cli/src/upgrade.rs constant CURRENT_VERSION (line 4) | const CURRENT_VERSION: &str = env!("CARGO_PKG_VERSION"); constant NPM_REGISTRY_URL (line 5) | const NPM_REGISTRY_URL: &str = "https://registry.npmjs.org/agent-browser... type InstallMethod (line 7) | enum InstallMethod { function fetch_latest_version (line 14) | async fn fetch_latest_version() -> Result { function detect_install_method (line 30) | fn detect_install_method() -> InstallMethod { function run_upgrade_command (line 65) | fn run_upgrade_command(method: &InstallMethod) -> bool { function run_upgrade (line 95) | pub fn run_upgrade() { FILE: cli/src/validation.rs function is_valid_session_name (line 2) | pub fn is_valid_session_name(name: &str) -> bool { function session_name_error (line 10) | pub fn session_name_error(name: &str) -> String { FILE: docs/mdx-components.tsx function slugify (line 5) | function slugify(text: string): string { function extractText (line 13) | function extractText(children: React.ReactNode): string { function useMDXComponents (line 27) | function useMDXComponents(components: MDXComponents): MDXComponents { FILE: docs/src/app/api/docs-chat/route.ts constant DEFAULT_MODEL (line 13) | const DEFAULT_MODEL = "anthropic/claude-haiku-4.5"; constant SYSTEM_PROMPT (line 15) | const SYSTEM_PROMPT = `You are a helpful documentation assistant for age... function loadDocsFiles (line 33) | async function loadDocsFiles(): Promise> { function addCacheControl (line 59) | function addCacheControl(messages: ModelMessage[]): ModelMessage[] { function POST (line 75) | async function POST(req: Request) { FILE: docs/src/app/api/docs-markdown/route.ts function GET (line 6) | async function GET(req: NextRequest) { FILE: docs/src/app/api/search/route.ts function GET (line 4) | async function GET(req: NextRequest) { FILE: docs/src/app/cdp-mode/layout.tsx function Layout (line 5) | function Layout({ children }: { children: React.ReactNode }) { FILE: docs/src/app/changelog/layout.tsx function Layout (line 5) | function Layout({ children }: { children: React.ReactNode }) { FILE: docs/src/app/commands/layout.tsx function Layout (line 5) | function Layout({ children }: { children: React.ReactNode }) { FILE: docs/src/app/configuration/layout.tsx function Layout (line 5) | function Layout({ children }: { children: React.ReactNode }) { FILE: docs/src/app/diffing/layout.tsx function Layout (line 5) | function Layout({ children }: { children: React.ReactNode }) { FILE: docs/src/app/engines/chrome/layout.tsx function Layout (line 5) | function Layout({ children }: { children: React.ReactNode }) { FILE: docs/src/app/engines/lightpanda/layout.tsx function Layout (line 5) | function Layout({ children }: { children: React.ReactNode }) { FILE: docs/src/app/installation/layout.tsx function Layout (line 5) | function Layout({ children }: { children: React.ReactNode }) { FILE: docs/src/app/ios/layout.tsx function Layout (line 5) | function Layout({ children }: { children: React.ReactNode }) { FILE: docs/src/app/layout.tsx function RootLayout (line 49) | async function RootLayout({ FILE: docs/src/app/native-mode/layout.tsx function Layout (line 5) | function Layout({ children }: { children: React.ReactNode }) { FILE: docs/src/app/next/layout.tsx function Layout (line 5) | function Layout({ children }: { children: React.ReactNode }) { FILE: docs/src/app/og/[...slug]/route.tsx function GET (line 4) | async function GET( FILE: docs/src/app/og/og-image.tsx function loadFonts (line 10) | async function loadFonts() { function renderOgImage (line 20) | async function renderOgImage(title: string) { FILE: docs/src/app/og/route.tsx function GET (line 3) | async function GET() { FILE: docs/src/app/profiler/layout.tsx function Layout (line 5) | function Layout({ children }: { children: React.ReactNode }) { FILE: docs/src/app/providers/browser-use/layout.tsx function Layout (line 5) | function Layout({ children }: { children: React.ReactNode }) { FILE: docs/src/app/providers/browserbase/layout.tsx function Layout (line 5) | function Layout({ children }: { children: React.ReactNode }) { FILE: docs/src/app/providers/browserless/layout.tsx function Layout (line 5) | function Layout({ children }: { children: React.ReactNode }) { FILE: docs/src/app/providers/kernel/layout.tsx function Layout (line 5) | function Layout({ children }: { children: React.ReactNode }) { FILE: docs/src/app/quick-start/layout.tsx function Layout (line 5) | function Layout({ children }: { children: React.ReactNode }) { FILE: docs/src/app/security/layout.tsx function Layout (line 5) | function Layout({ children }: { children: React.ReactNode }) { FILE: docs/src/app/selectors/layout.tsx function Layout (line 5) | function Layout({ children }: { children: React.ReactNode }) { FILE: docs/src/app/sessions/layout.tsx function Layout (line 5) | function Layout({ children }: { children: React.ReactNode }) { FILE: docs/src/app/skills/layout.tsx function Layout (line 5) | function Layout({ children }: { children: React.ReactNode }) { FILE: docs/src/app/snapshots/layout.tsx function Layout (line 5) | function Layout({ children }: { children: React.ReactNode }) { FILE: docs/src/app/streaming/layout.tsx function Layout (line 5) | function Layout({ children }: { children: React.ReactNode }) { FILE: docs/src/components/code-block.tsx constant PLACEHOLDER_PREFIX (line 140) | const PLACEHOLDER_PREFIX = "\u200B\u200B"; constant PLACEHOLDER_SUFFIX (line 141) | const PLACEHOLDER_SUFFIX = "\u200B\u200B"; function shieldPlaceholders (line 143) | function shieldPlaceholders(code: string): string { function restorePlaceholders (line 147) | function restorePlaceholders(html: string): string { type CodeBlockProps (line 154) | interface CodeBlockProps { function CodeBlock (line 159) | async function CodeBlock({ code, lang = "bash" }: CodeBlockProps) { FILE: docs/src/components/copy-button.tsx type CopyButtonProps (line 5) | interface CopyButtonProps { function CopyButton (line 9) | function CopyButton({ code }: CopyButtonProps) { FILE: docs/src/components/copy-page-button.tsx function CopyPageButton (line 6) | function CopyPageButton() { FILE: docs/src/components/diff-demo.tsx function DiffLine (line 3) | function DiffLine({ line }: { line: string }) { function CommandLine (line 13) | function CommandLine({ children }: { children: string }) { function Terminal (line 22) | function Terminal({ children }: { children: React.ReactNode }) { function PageMockup (line 37) | function PageMockup({ function DiffDemo (line 206) | function DiffDemo() { FILE: docs/src/components/docs-chat.tsx constant STORAGE_KEY (line 16) | const STORAGE_KEY = "docs-chat-messages"; constant DESKTOP_DEFAULT_WIDTH (line 19) | const DESKTOP_DEFAULT_WIDTH = 400; constant DESKTOP_MIN_WIDTH (line 20) | const DESKTOP_MIN_WIDTH = 300; constant DESKTOP_MAX_WIDTH (line 21) | const DESKTOP_MAX_WIDTH = 700; function setCookie (line 23) | function setCookie(name: string, value: string) { constant TOOL_LABELS (line 27) | const TOOL_LABELS: Record< function isToolPart (line 35) | function isToolPart(part: { type: string }): part is { function getToolName (line 47) | function getToolName(part: { type: string; toolName?: string }): string { function ToolCallDisplay (line 52) | function ToolCallDisplay({ constant SUGGESTIONS (line 117) | const SUGGESTIONS = [ function DocsChat (line 125) | function DocsChat({ FILE: docs/src/components/docs-mobile-nav.tsx function DocsMobileNav (line 14) | function DocsMobileNav() { FILE: docs/src/components/docs-sidebar.tsx function DocsSidebar (line 8) | function DocsSidebar() { FILE: docs/src/components/header.tsx function Header (line 7) | function Header() { FILE: docs/src/components/search.tsx type SearchResult (line 8) | type SearchResult = { function Search (line 15) | function Search() { FILE: docs/src/components/theme-provider.tsx function ThemeProvider (line 5) | function ThemeProvider({ children }: { children: React.ReactNode }) { FILE: docs/src/components/theme-toggle.tsx function ThemeToggle (line 6) | function ThemeToggle() { FILE: docs/src/components/ui/dialog.tsx function Dialog (line 8) | function Dialog({ function DialogPortal (line 14) | function DialogPortal({ function DialogOverlay (line 20) | function DialogOverlay({ function DialogContent (line 36) | function DialogContent({ function DialogTitle (line 79) | function DialogTitle({ FILE: docs/src/components/ui/sheet.tsx function Sheet (line 8) | function Sheet({ ...props }: React.ComponentProps = { function getPageTitle (line 28) | function getPageTitle(slug: string): string | null { FILE: docs/src/lib/rate-limit.ts function getRedis (line 8) | function getRedis(): Redis | null { constant MINUTE_LIMIT (line 24) | const MINUTE_LIMIT = Number(process.env.RATE_LIMIT_PER_MINUTE) || 10; constant DAILY_LIMIT (line 25) | const DAILY_LIMIT = Number(process.env.RATE_LIMIT_PER_DAY) || 100; FILE: docs/src/lib/search-index.ts type IndexEntry (line 6) | type IndexEntry = { function stripMarkdown (line 15) | function stripMarkdown(md: string): string { function mdxFileForSlug (line 27) | function mdxFileForSlug(slug: string): string { function getSearchIndex (line 36) | async function getSearchIndex(): Promise { FILE: docs/src/lib/utils.ts function cn (line 4) | function cn(...inputs: ClassValue[]) { FILE: examples/environments/app/actions/browse.ts type EnvStatus (line 3) | type EnvStatus = { function getEnvStatus (line 9) | async function getEnvStatus(): Promise { FILE: examples/environments/app/api/browse/route.ts function POST (line 7) | async function POST(req: NextRequest) { FILE: examples/environments/app/layout.tsx function RootLayout (line 11) | function RootLayout({ FILE: examples/environments/app/page.tsx constant MOBILE_QUERY (line 25) | const MOBILE_QUERY = "(max-width: 767px)"; function useIsMobile (line 34) | function useIsMobile() { function useTheme (line 38) | function useTheme() { type Action (line 62) | type Action = "screenshot" | "snapshot"; type StepInfo (line 64) | type StepInfo = { type BrowseResult (line 70) | type BrowseResult = { function formatError (line 78) | function formatError(raw: string): string { function SegmentedControl (line 86) | function SegmentedControl({ function StepIndicator (line 118) | function StepIndicator({ step }: { step: StepInfo }) { function ErrorDisplay (line 150) | function ErrorDisplay({ error }: { error: string }) { function streamBrowse (line 176) | async function streamBrowse( function Home (line 231) | function Home() { FILE: examples/environments/components/ui/alert.tsx function Alert (line 22) | function Alert({ function AlertTitle (line 37) | function AlertTitle({ className, ...props }: React.ComponentProps<"div">) { function AlertDescription (line 50) | function AlertDescription({ function AlertAction (line 66) | function AlertAction({ className, ...props }: React.ComponentProps<"div"... FILE: examples/environments/components/ui/badge.tsx function Badge (line 30) | function Badge({ FILE: examples/environments/components/ui/button.tsx function Button (line 45) | function Button({ FILE: examples/environments/components/ui/input.tsx function Input (line 6) | function Input({ className, type, ...props }: React.ComponentProps<"inpu... FILE: examples/environments/components/ui/label.tsx function Label (line 7) | function Label({ className, ...props }: React.ComponentProps<"label">) { FILE: examples/environments/components/ui/resizable.tsx function ResizablePanelGroup (line 7) | function ResizablePanelGroup({ function ResizablePanel (line 23) | function ResizablePanel({ ...props }: ResizablePrimitive.PanelProps) { function ResizableHandle (line 27) | function ResizableHandle({ FILE: examples/environments/components/ui/select.tsx function SelectGroup (line 11) | function SelectGroup({ className, ...props }: SelectPrimitive.Group.Prop... function SelectValue (line 21) | function SelectValue({ className, ...props }: SelectPrimitive.Value.Prop... function SelectTrigger (line 31) | function SelectTrigger({ function SelectContent (line 59) | function SelectContent({ function SelectLabel (line 98) | function SelectLabel({ function SelectItem (line 111) | function SelectItem({ function SelectSeparator (line 139) | function SelectSeparator({ function SelectScrollUpButton (line 152) | function SelectScrollUpButton({ function SelectScrollDownButton (line 171) | function SelectScrollDownButton({ FILE: examples/environments/components/ui/separator.tsx function Separator (line 7) | function Separator({ FILE: examples/environments/components/ui/toggle-group.tsx function ToggleGroup (line 23) | function ToggleGroup({ function ToggleGroupItem (line 59) | function ToggleGroupItem({ FILE: examples/environments/components/ui/toggle.tsx function Toggle (line 29) | function Toggle({ FILE: examples/environments/lib/agent-browser-sandbox.ts type SandboxResult (line 13) | type SandboxResult = { type StepEvent (line 19) | type StepEvent = { type OnStep (line 25) | type OnStep = (event: StepEvent) => void; constant SNAPSHOT_ID (line 27) | const SNAPSHOT_ID = process.env.AGENT_BROWSER_SNAPSHOT_ID; constant CHROMIUM_SYSTEM_DEPS (line 29) | const CHROMIUM_SYSTEM_DEPS = [ function getSandboxCredentials (line 62) | function getSandboxCredentials(): function runStep (line 79) | async function runStep( function bootstrapSandbox (line 100) | async function bootstrapSandbox( function createSandbox (line 117) | async function createSandbox( function exec (line 145) | async function exec( function screenshotUrl (line 173) | async function screenshotUrl( function snapshotUrl (line 235) | async function snapshotUrl( function runCommands (line 282) | async function runCommands( function createSnapshot (line 303) | async function createSnapshot(): Promise { function tryParseJson (line 317) | function tryParseJson(str: string): any { FILE: examples/environments/lib/constants.ts constant ALLOWED_URLS (line 1) | const ALLOWED_URLS = [ type AllowedUrl (line 8) | type AllowedUrl = (typeof ALLOWED_URLS)[number]; FILE: examples/environments/lib/rate-limit.ts function getRedis (line 7) | function getRedis(): Redis | null { constant MINUTE_LIMIT (line 22) | const MINUTE_LIMIT = Number(process.env.RATE_LIMIT_PER_MINUTE) || 10; constant DAILY_LIMIT (line 23) | const DAILY_LIMIT = Number(process.env.RATE_LIMIT_PER_DAY) || 100; FILE: examples/environments/lib/utils.ts function cn (line 4) | function cn(...inputs: ClassValue[]) { FILE: examples/environments/scripts/create-snapshot.ts function main (line 40) | async function main() { FILE: scripts/postinstall.js function isMusl (line 24) | function isMusl() { constant GITHUB_REPO (line 48) | const GITHUB_REPO = 'vercel-labs/agent-browser'; constant DOWNLOAD_URL (line 49) | const DOWNLOAD_URL = `https://github.com/${GITHUB_REPO}/releases/downloa... function downloadFile (line 51) | async function downloadFile(url, dest) { function main (line 83) | async function main() { function findSystemChrome (line 131) | function findSystemChrome() { function showInstallReminder (line 162) | function showInstallReminder() { function fixGlobalInstallBin (line 192) | async function fixGlobalInstallBin() { function fixUnixSymlink (line 204) | async function fixUnixSymlink() { function fixWindowsShims (line 243) | async function fixWindowsShims() {