SYMBOL INDEX (2993 symbols across 258 files) FILE: codex-rs/ansi-escape/src/lib.rs function ansi_escape_line (line 9) | pub fn ansi_escape_line(s: &str) -> Line<'static> { function ansi_escape (line 21) | pub fn ansi_escape(s: &str) -> Text<'static> { FILE: codex-rs/apply-patch/src/lib.rs constant APPLY_PATCH_TOOL_INSTRUCTIONS (line 26) | pub const APPLY_PATCH_TOOL_INSTRUCTIONS: &str = include_str!("../apply_p... constant APPLY_PATCH_COMMANDS (line 28) | const APPLY_PATCH_COMMANDS: [&str; 2] = ["apply_patch", "applypatch"]; type ApplyPatchError (line 31) | pub enum ApplyPatchError { method from (line 42) | fn from(err: std::io::Error) -> Self { method from (line 51) | fn from(err: &std::io::Error) -> Self { type IoError (line 61) | pub struct IoError { method eq (line 68) | fn eq(&self, other: &Self) -> bool { type MaybeApplyPatch (line 74) | pub enum MaybeApplyPatch { type ApplyPatchArgs (line 84) | pub struct ApplyPatchArgs { function maybe_parse_apply_patch (line 89) | pub fn maybe_parse_apply_patch(argv: &[String]) -> MaybeApplyPatch { type ApplyPatchFileChange (line 115) | pub enum ApplyPatchFileChange { type MaybeApplyPatchVerified (line 129) | pub enum MaybeApplyPatchVerified { type ApplyPatchAction (line 146) | pub struct ApplyPatchAction { method is_empty (line 159) | pub fn is_empty(&self) -> bool { method changes (line 164) | pub fn changes(&self) -> &HashMap { method new_add_for_test (line 170) | pub fn new_add_for_test(path: &Path, content: String) -> Self { function maybe_parse_apply_patch_verified (line 202) | pub fn maybe_parse_apply_patch_verified(argv: &[String], cwd: &Path) -> ... function extract_heredoc_body_from_apply_patch_command (line 268) | fn extract_heredoc_body_from_apply_patch_command( type ExtractHeredocError (line 311) | pub enum ExtractHeredocError { function apply_patch (line 320) | pub fn apply_patch( function apply_hunks (line 353) | pub fn apply_hunks( type AffectedPaths (line 408) | pub struct AffectedPaths { function apply_hunks_to_files (line 416) | fn apply_hunks_to_files(hunks: &[Hunk]) -> anyhow::Result { type AppliedPatch (line 478) | struct AppliedPatch { function derive_new_contents_from_chunks (line 485) | fn derive_new_contents_from_chunks( function compute_replacements (line 526) | fn compute_replacements( function apply_replacements (line 616) | fn apply_replacements( type ApplyPatchFileUpdate (line 644) | pub struct ApplyPatchFileUpdate { function unified_diff_from_chunks (line 649) | pub fn unified_diff_from_chunks( function unified_diff_from_chunks_with_context (line 656) | pub fn unified_diff_from_chunks_with_context( function print_summary (line 675) | pub fn print_summary( function wrap_patch (line 700) | fn wrap_patch(body: &str) -> String { function strs_to_strings (line 704) | fn strs_to_strings(strs: &[&str]) -> Vec { function test_literal (line 709) | fn test_literal() { function test_literal_applypatch (line 734) | fn test_literal_applypatch() { function test_heredoc (line 759) | fn test_heredoc() { function test_heredoc_applypatch (line 786) | fn test_heredoc_applypatch() { function test_add_file_hunk_creates_file_with_contents (line 813) | fn test_add_file_hunk_creates_file_with_contents() { function test_delete_file_hunk_removes_file (line 839) | fn test_delete_file_hunk_removes_file() { function test_update_file_hunk_modifies_content (line 859) | fn test_update_file_hunk_modifies_content() { function test_update_file_hunk_can_move_file (line 888) | fn test_update_file_hunk_can_move_file() { function test_multiple_update_chunks_apply_to_single_file (line 922) | fn test_multiple_update_chunks_apply_to_single_file() { function test_update_file_hunk_interleaved_changes (line 962) | fn test_update_file_hunk_interleaved_changes() { function test_update_line_with_unicode_dash (line 1016) | fn test_update_line_with_unicode_dash() { function test_unified_diff (line 1055) | fn test_unified_diff() { function test_unified_diff_first_line_replacement (line 1095) | fn test_unified_diff_first_line_replacement() { function test_unified_diff_last_line_replacement (line 1131) | fn test_unified_diff_last_line_replacement() { function test_unified_diff_insert_at_eof (line 1168) | fn test_unified_diff_insert_at_eof() { function test_unified_diff_interleaved_changes (line 1202) | fn test_unified_diff_interleaved_changes() { function test_apply_patch_should_resolve_absolute_paths_in_cwd (line 1274) | fn test_apply_patch_should_resolve_absolute_paths_in_cwd() { function test_apply_patch_fails_on_write_error (line 1320) | fn test_apply_patch_fails_on_write_error() { FILE: codex-rs/apply-patch/src/main.rs function main (line 1) | pub fn main() -> ! { FILE: codex-rs/apply-patch/src/parser.rs constant BEGIN_PATCH_MARKER (line 31) | const BEGIN_PATCH_MARKER: &str = "*** Begin Patch"; constant END_PATCH_MARKER (line 32) | const END_PATCH_MARKER: &str = "*** End Patch"; constant ADD_FILE_MARKER (line 33) | const ADD_FILE_MARKER: &str = "*** Add File: "; constant DELETE_FILE_MARKER (line 34) | const DELETE_FILE_MARKER: &str = "*** Delete File: "; constant UPDATE_FILE_MARKER (line 35) | const UPDATE_FILE_MARKER: &str = "*** Update File: "; constant MOVE_TO_MARKER (line 36) | const MOVE_TO_MARKER: &str = "*** Move to: "; constant EOF_MARKER (line 37) | const EOF_MARKER: &str = "*** End of File"; constant CHANGE_CONTEXT_MARKER (line 38) | const CHANGE_CONTEXT_MARKER: &str = "@@ "; constant EMPTY_CHANGE_CONTEXT_MARKER (line 39) | const EMPTY_CHANGE_CONTEXT_MARKER: &str = "@@"; constant PARSE_IN_STRICT_MODE (line 47) | const PARSE_IN_STRICT_MODE: bool = false; type ParseError (line 50) | pub enum ParseError { type Hunk (line 60) | pub enum Hunk { method resolve_path (line 79) | pub fn resolve_path(&self, cwd: &Path) -> PathBuf { type UpdateFileChunk (line 91) | pub struct UpdateFileChunk { function parse_patch (line 106) | pub fn parse_patch(patch: &str) -> Result { type ParseMode (line 115) | enum ParseMode { function parse_patch_text (line 154) | fn parse_patch_text(patch: &str, mode: ParseMode) -> Result Result<(), ParseErro... function check_patch_boundaries_lenient (line 199) | fn check_patch_boundaries_lenient<'a>( function check_start_and_end_lines_strict (line 222) | fn check_start_and_end_lines_strict( function parse_one_hunk (line 241) | fn parse_one_hunk(lines: &[&str], line_number: usize) -> Result<(Hunk, u... function parse_update_file_chunk (line 336) | fn parse_update_file_chunk( function test_parse_patch (line 430) | fn test_parse_patch() { function test_parse_patch_lenient (line 561) | fn test_parse_patch_lenient() { function test_parse_one_hunk (line 644) | fn test_parse_one_hunk() { function test_update_file_chunk (line 657) | fn test_update_file_chunk() { FILE: codex-rs/apply-patch/src/seek_sequence.rs function seek_sequence (line 12) | pub(crate) fn seek_sequence( function to_vec (line 116) | fn to_vec(strings: &[&str]) -> Vec { function test_exact_match_finds_sequence (line 121) | fn test_exact_match_finds_sequence() { function test_rstrip_match_ignores_trailing_whitespace (line 128) | fn test_rstrip_match_ignores_trailing_whitespace() { function test_trim_match_ignores_leading_and_trailing_whitespace (line 136) | fn test_trim_match_ignores_leading_and_trailing_whitespace() { function test_pattern_longer_than_input_returns_none (line 144) | fn test_pattern_longer_than_input_returns_none() { FILE: codex-rs/apply-patch/src/standalone_executable.rs function main (line 4) | pub fn main() -> ! { function run_main (line 11) | pub fn run_main() -> i32 { FILE: codex-rs/apply-patch/tests/suite/cli.rs function test_apply_patch_cli_add_and_update (line 7) | fn test_apply_patch_cli_add_and_update() -> anyhow::Result<()> { function test_apply_patch_cli_stdin_add_and_update (line 50) | fn test_apply_patch_cli_stdin_add_and_update() -> anyhow::Result<()> { FILE: codex-rs/arg0/src/lib.rs constant LINUX_SANDBOX_ARG0 (line 10) | const LINUX_SANDBOX_ARG0: &str = "codex-linux-sandbox"; constant APPLY_PATCH_ARG0 (line 11) | const APPLY_PATCH_ARG0: &str = "apply_patch"; constant MISSPELLED_APPLY_PATCH_ARG0 (line 12) | const MISSPELLED_APPLY_PATCH_ARG0: &str = "applypatch"; function arg0_dispatch_or_else (line 36) | pub fn arg0_dispatch_or_else(main_fn: F) -> anyhow::Result<()> constant ILLEGAL_ENV_VAR_PREFIX (line 107) | const ILLEGAL_ENV_VAR_PREFIX: &str = "CODEX_"; function load_dotenv (line 113) | fn load_dotenv() { function set_filtered (line 126) | fn set_filtered(iter: I) function prepend_path_entry_for_apply_patch (line 152) | fn prepend_path_entry_for_apply_patch() -> std::io::Result { FILE: codex-rs/chatgpt/src/apply_command.rs type ApplyCommand (line 16) | pub struct ApplyCommand { function run_apply_command (line 22) | pub async fn run_apply_command( function apply_diff_from_task (line 40) | pub async fn apply_diff_from_task( function apply_diff (line 58) | async fn apply_diff(diff: &str, cwd: Option) -> anyhow::Result<... FILE: codex-rs/chatgpt/src/chatgpt_client.rs function chatgpt_get_request (line 11) | pub(crate) async fn chatgpt_get_request( FILE: codex-rs/chatgpt/src/chatgpt_token.rs function get_chatgpt_token_data (line 11) | pub fn get_chatgpt_token_data() -> Option { function set_chatgpt_token_data (line 15) | pub fn set_chatgpt_token_data(value: TokenData) { function init_chatgpt_token_from_auth (line 22) | pub async fn init_chatgpt_token_from_auth(codex_home: &Path) -> std::io:... FILE: codex-rs/chatgpt/src/get_task.rs type GetTaskResponse (line 7) | pub struct GetTaskResponse { type AssistantTurn (line 13) | pub struct AssistantTurn { type OutputItem (line 19) | pub enum OutputItem { type PrOutputItem (line 28) | pub struct PrOutputItem { type OutputDiff (line 33) | pub struct OutputDiff { function get_task (line 37) | pub(crate) async fn get_task(config: &Config, task_id: String) -> anyhow... FILE: codex-rs/chatgpt/tests/suite/apply_command_e2e.rs function create_temp_git_repo (line 8) | async fn create_temp_git_repo() -> anyhow::Result { function mock_get_task_with_fixture (line 70) | async fn mock_get_task_with_fixture() -> anyhow::Result { function test_apply_command_creates_fibonacci_file (line 78) | async fn test_apply_command_creates_fibonacci_file() { function test_apply_command_with_merge_conflicts (line 120) | async fn test_apply_command_with_merge_conflicts() { FILE: codex-rs/cli/src/debug_sandbox.rs function run_command_under_seatbelt (line 16) | pub async fn run_command_under_seatbelt( function run_command_under_landlock (line 35) | pub async fn run_command_under_landlock( type SandboxType (line 54) | enum SandboxType { function run_command_under_sandbox (line 59) | async fn run_command_under_sandbox( function create_sandbox_mode (line 107) | pub fn create_sandbox_mode(full_auto: bool) -> SandboxMode { FILE: codex-rs/cli/src/exit_status.rs function handle_exit_status (line 2) | pub(crate) fn handle_exit_status(status: std::process::ExitStatus) -> ! { function handle_exit_status (line 16) | pub(crate) fn handle_exit_status(status: std::process::ExitStatus) -> ! { FILE: codex-rs/cli/src/lib.rs type SeatbeltCommand (line 10) | pub struct SeatbeltCommand { type LandlockCommand (line 24) | pub struct LandlockCommand { FILE: codex-rs/cli/src/login.rs function login_with_chatgpt (line 15) | pub async fn login_with_chatgpt(codex_home: PathBuf) -> std::io::Result<... function run_login_with_chatgpt (line 27) | pub async fn run_login_with_chatgpt(cli_config_overrides: CliConfigOverr... function run_login_with_api_key (line 42) | pub async fn run_login_with_api_key( function run_login_status (line 60) | pub async fn run_login_status(cli_config_overrides: CliConfigOverrides) ... function run_logout (line 99) | pub async fn run_logout(cli_config_overrides: CliConfigOverrides) -> ! { function load_config_or_exit (line 118) | fn load_config_or_exit(cli_config_overrides: CliConfigOverrides) -> Conf... function safe_format_key (line 137) | fn safe_format_key(key: &str) -> String { function formats_long_key (line 151) | fn formats_long_key() { function short_key_returns_stars (line 157) | fn short_key_returns_stars() { FILE: codex-rs/cli/src/main.rs type MultitoolCli (line 38) | struct MultitoolCli { type Subcommand (line 50) | enum Subcommand { type CompletionCommand (line 88) | struct CompletionCommand { type DebugArgs (line 95) | struct DebugArgs { type DebugCommand (line 101) | enum DebugCommand { type LoginCommand (line 110) | struct LoginCommand { type LoginSubcommand (line 122) | enum LoginSubcommand { type LogoutCommand (line 128) | struct LogoutCommand { type GenerateTsCommand (line 134) | struct GenerateTsCommand { type AutonomousCommand (line 145) | struct AutonomousCommand { function main (line 189) | fn main() -> anyhow::Result<()> { function cli_main (line 196) | async fn cli_main(codex_linux_sandbox_exe: Option) -> anyhow::R... function run_autonomous_mode (line 275) | async fn run_autonomous_mode( function collect_codex_response_with_tools (line 972) | async fn collect_codex_response_with_tools( function inject_template_variables (line 1439) | fn inject_template_variables(template: &str, config_yaml: &str, context:... function _inject_approval_variables (line 1445) | fn _inject_approval_variables( function inject_approval_variables_with_context (line 1461) | fn inject_approval_variables_with_context( function inject_patch_approval_variables_with_context (line 1479) | fn inject_patch_approval_variables_with_context( function inject_bugcrowd_approval_variables (line 1499) | fn inject_bugcrowd_approval_variables( function parse_approval_response (line 1514) | fn parse_approval_response(response: &str) -> (bool, String) { function count_tokens (line 1556) | fn count_tokens(text: &str) -> anyhow::Result { function summarize_context (line 1562) | async fn summarize_context( function generate_user_prompt (line 1588) | async fn generate_user_prompt( function handle_supervisor_tool_calls (line 1921) | async fn handle_supervisor_tool_calls( function prepend_config_flags (line 2124) | fn prepend_config_flags( function print_completion (line 2133) | fn print_completion(cmd: CompletionCommand) { FILE: codex-rs/cli/src/proto.rs type ProtoCli (line 19) | pub struct ProtoCli { function run_main (line 24) | pub async fn run_main(opts: ProtoCli) -> anyhow::Result<()> { FILE: codex-rs/common/src/approval_mode_cli_arg.rs type ApprovalModeCliArg (line 10) | pub enum ApprovalModeCliArg { method from (line 30) | fn from(value: ApprovalModeCliArg) -> Self { FILE: codex-rs/common/src/approval_presets.rs type ApprovalPreset (line 6) | pub struct ApprovalPreset { function builtin_approval_presets (line 22) | pub fn builtin_approval_presets() -> Vec { FILE: codex-rs/common/src/config_override.rs type CliConfigOverrides (line 19) | pub struct CliConfigOverrides { method parse_overrides (line 42) | pub fn parse_overrides(&self) -> Result, String> { method apply_on_value (line 82) | pub fn apply_on_value(&self, target: &mut Value) -> Result<(), String> { function apply_single_override (line 93) | fn apply_single_override(root: &mut Value, path: &str, value: Value) { function parse_toml_value (line 135) | fn parse_toml_value(raw: &str) -> Result { function parses_basic_scalar (line 149) | fn parses_basic_scalar() { function fails_on_unquoted_string (line 155) | fn fails_on_unquoted_string() { function parses_array (line 160) | fn parses_array() { function parses_inline_table (line 167) | fn parses_inline_table() { FILE: codex-rs/common/src/config_summary.rs function create_config_summary_entries (line 7) | pub fn create_config_summary_entries(config: &Config) -> Vec<(&'static s... FILE: codex-rs/common/src/elapsed.rs function format_elapsed (line 6) | pub fn format_elapsed(start_time: Instant) -> String { function format_duration (line 16) | pub fn format_duration(duration: Duration) -> String { function format_elapsed_millis (line 21) | fn format_elapsed_millis(millis: i64) -> String { function test_format_duration_subsecond (line 38) | fn test_format_duration_subsecond() { function test_format_duration_seconds (line 49) | fn test_format_duration_seconds() { function test_format_duration_minutes (line 61) | fn test_format_duration_minutes() { FILE: codex-rs/common/src/fuzzy_match.rs function fuzzy_match (line 12) | pub fn fuzzy_match(haystack: &str, needle: &str) -> Option<(Vec, ... function fuzzy_indices (line 72) | pub fn fuzzy_indices(haystack: &str, needle: &str) -> Option> { function ascii_basic_indices (line 85) | fn ascii_basic_indices() { function unicode_dotted_i_istanbul_highlighting (line 96) | fn unicode_dotted_i_istanbul_highlighting() { function unicode_german_sharp_s_casefold (line 107) | fn unicode_german_sharp_s_casefold() { function prefer_contiguous_match_over_spread (line 112) | fn prefer_contiguous_match_over_spread() { function start_of_string_bonus_applies (line 129) | fn start_of_string_bonus_applies() { function empty_needle_matches_with_max_score_and_no_indices (line 146) | fn empty_needle_matches_with_max_score_and_no_indices() { function case_insensitive_matching_basic (line 156) | fn case_insensitive_matching_basic() { function indices_are_deduped_for_multichar_lowercase_expansion (line 167) | fn indices_are_deduped_for_multichar_lowercase_expansion() { FILE: codex-rs/common/src/model_presets.rs type ModelPreset (line 5) | pub struct ModelPreset { function builtin_model_presets (line 21) | pub fn builtin_model_presets() -> &'static [ModelPreset] { FILE: codex-rs/common/src/sandbox_mode_cli_arg.rs type SandboxModeCliArg (line 14) | pub enum SandboxModeCliArg { method from (line 21) | fn from(value: SandboxModeCliArg) -> Self { FILE: codex-rs/common/src/sandbox_summary.rs function summarize_sandbox_policy (line 3) | pub fn summarize_sandbox_policy(sandbox_policy: &SandboxPolicy) -> String { FILE: codex-rs/core/src/apply_patch.rs constant CODEX_APPLY_PATCH_ARG1 (line 14) | pub const CODEX_APPLY_PATCH_ARG1: &str = "--codex-run-as-apply-patch"; type InternalApplyPatchInvocation (line 16) | pub(crate) enum InternalApplyPatchInvocation { method from (line 37) | fn from(item: ResponseInputItem) -> Self { type ApplyPatchExec (line 31) | pub(crate) struct ApplyPatchExec { function apply_patch (line 42) | pub(crate) async fn apply_patch( function convert_apply_patch_to_protocol (line 102) | pub(crate) fn convert_apply_patch_to_protocol( FILE: codex-rs/core/src/bash.rs function try_parse_bash (line 7) | pub fn try_parse_bash(bash_lc_arg: &str) -> Option { function try_parse_word_only_commands_sequence (line 23) | pub fn try_parse_word_only_commands_sequence(tree: &Tree, src: &str) -> ... function parse_plain_command_from_node (line 87) | fn parse_plain_command_from_node(cmd: tree_sitter::Node, src: &str) -> O... function parse_seq (line 137) | fn parse_seq(src: &str) -> Option>> { function accepts_single_simple_command (line 143) | fn accepts_single_simple_command() { function accepts_multiple_commands_with_allowed_operators (line 149) | fn accepts_multiple_commands_with_allowed_operators() { function extracts_double_and_single_quoted_strings (line 162) | fn extracts_double_and_single_quoted_strings() { function accepts_numbers_as_words (line 177) | fn accepts_numbers_as_words() { function rejects_parentheses_and_subshells (line 190) | fn rejects_parentheses_and_subshells() { function rejects_redirections_and_unsupported_operators (line 196) | fn rejects_redirections_and_unsupported_operators() { function rejects_command_and_process_substitutions_and_expansions (line 202) | fn rejects_command_and_process_substitutions_and_expansions() { function rejects_variable_assignment_prefix (line 210) | fn rejects_variable_assignment_prefix() { function rejects_trailing_operator_parse_error (line 215) | fn rejects_trailing_operator_parse_error() { FILE: codex-rs/core/src/chat_completions.rs function stream_chat_completions (line 32) | pub(crate) async fn stream_chat_completions( function process_chat_sse (line 214) | async fn process_chat_sse( type AggregateMode (line 477) | enum AggregateMode { type AggregatedChatStream (line 481) | pub(crate) struct AggregatedChatStream { type Item (line 493) | type Item = Result; method poll_next (line 495) | fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll... method aggregate (line 659) | fn aggregate(self) -> AggregatedChatStream { function new (line 667) | fn new(inner: S, mode: AggregateMode) -> Self { function streaming_mode (line 677) | pub(crate) fn streaming_mode(inner: S) -> Self { FILE: codex-rs/core/src/client.rs type ErrorResponse (line 49) | struct ErrorResponse { type Error (line 54) | struct Error { type ModelClient (line 64) | pub struct ModelClient { method new (line 76) | pub fn new( method get_model_context_window (line 97) | pub fn get_model_context_window(&self) -> Option { method stream (line 106) | pub async fn stream(&self, prompt: &Prompt) -> Result { method stream_responses (line 149) | async fn stream_responses(&self, prompt: &Prompt) -> Result ModelProviderInfo { method get_model (line 373) | pub fn get_model(&self) -> String { method get_model_family (line 378) | pub fn get_model_family(&self) -> ModelFamily { method get_reasoning_effort (line 383) | pub fn get_reasoning_effort(&self) -> ReasoningEffortConfig { method get_reasoning_summary (line 388) | pub fn get_reasoning_summary(&self) -> ReasoningSummaryConfig { method get_auth_manager (line 392) | pub fn get_auth_manager(&self) -> Option> { type SseEvent (line 398) | struct SseEvent { type ResponseCreated (line 407) | struct ResponseCreated {} type ResponseCompleted (line 410) | struct ResponseCompleted { type ResponseCompletedUsage (line 416) | struct ResponseCompletedUsage { method from (line 425) | fn from(val: ResponseCompletedUsage) -> Self { type ResponseCompletedInputTokensDetails (line 437) | struct ResponseCompletedInputTokensDetails { type ResponseCompletedOutputTokensDetails (line 442) | struct ResponseCompletedOutputTokensDetails { function process_sse (line 446) | async fn process_sse( function stream_from_fixture (line 650) | async fn stream_from_fixture( function collect_events (line 689) | async fn collect_events( function run_sse (line 712) | async fn run_sse( function parses_items_and_completed (line 745) | async fn parses_items_and_completed() { function error_when_missing_completed (line 824) | async fn error_when_missing_completed() { function error_when_error_event (line 866) | async fn error_when_error_event() { function table_driven_event_kinds (line 908) | async fn table_driven_event_kinds() { FILE: codex-rs/core/src/client_common.rs constant BASE_INSTRUCTIONS (line 21) | const BASE_INSTRUCTIONS: &str = include_str!("../prompt.md"); constant ACTIVE_DIRECTORY_INSTRUCTIONS (line 24) | const ACTIVE_DIRECTORY_INSTRUCTIONS: &str = include_str!("../active_dire... constant CLIENT_SIDE_WEB_INSTRUCTIONS (line 25) | const CLIENT_SIDE_WEB_INSTRUCTIONS: &str = include_str!("../client_side_... constant ENUMERATION_INSTRUCTIONS (line 26) | const ENUMERATION_INSTRUCTIONS: &str = include_str!("../enumeration.md"); constant LINUX_PRIVESC_INSTRUCTIONS (line 27) | const LINUX_PRIVESC_INSTRUCTIONS: &str = include_str!("../linux_privesc.... constant SHELLING_INSTRUCTIONS (line 28) | const SHELLING_INSTRUCTIONS: &str = include_str!("../shelling.md"); constant WEB_ENUMERATION_INSTRUCTIONS (line 29) | const WEB_ENUMERATION_INSTRUCTIONS: &str = include_str!("../web_enumerat... constant WEB_INSTRUCTIONS (line 30) | const WEB_INSTRUCTIONS: &str = include_str!("../web.md"); constant WINDOWS_PRIVESC_INSTRUCTIONS (line 31) | const WINDOWS_PRIVESC_INSTRUCTIONS: &str = include_str!("../windows_priv... constant USER_INSTRUCTIONS_START (line 34) | const USER_INSTRUCTIONS_START: &str = "\n\n"; constant USER_INSTRUCTIONS_END (line 35) | const USER_INSTRUCTIONS_END: &str = "\n\n"; type Prompt (line 39) | pub struct Prompt { method get_full_instructions (line 55) | pub(crate) fn get_full_instructions( method get_formatted_input (line 93) | pub(crate) fn get_formatted_input(&self) -> Vec { method format_user_instructions_message (line 98) | pub(crate) fn format_user_instructions_message(ui: &str) -> ResponseIt... type ResponseEvent (line 110) | pub enum ResponseEvent { type Reasoning (line 128) | pub(crate) struct Reasoning { type TextControls (line 135) | pub(crate) struct TextControls { type OpenAiVerbosity (line 142) | pub(crate) enum OpenAiVerbosity { method from (line 150) | fn from(v: VerbosityConfig) -> Self { type ResponsesApiRequest (line 162) | pub(crate) struct ResponsesApiRequest<'a> { function create_reasoning_param_for_request (line 183) | pub(crate) fn create_reasoning_param_for_request( function create_text_param_for_request (line 195) | pub(crate) fn create_text_param_for_request( type ResponseStream (line 203) | pub struct ResponseStream { type Item (line 208) | type Item = Result; method poll_next (line 210) | fn poll_next(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { method lock_unchecked (line 127) | fn lock_unchecked(&self) -> MutexGuard<'_, T>; function lock_unchecked (line 131) | fn lock_unchecked(&self) -> MutexGuard<'_, T> { type Codex (line 139) | pub struct Codex { method spawn (line 165) | pub async fn spawn( method submit (line 225) | pub async fn submit(&self, op: Op) -> CodexResult { method submit_with_id (line 237) | pub async fn submit_with_id(&self, sub: Submission) -> CodexResult<()> { method next_event (line 245) | pub async fn next_event(&self) -> CodexResult { type CodexSpawnOk (line 148) | pub struct CodexSpawnOk { constant INITIAL_SUBMIT_ID (line 153) | pub(crate) const INITIAL_SUBMIT_ID: &str = ""; constant SUBMISSION_CHANNEL_CAPACITY (line 154) | pub(crate) const SUBMISSION_CHANNEL_CAPACITY: usize = 64; constant MODEL_FORMAT_MAX_BYTES (line 157) | pub(crate) const MODEL_FORMAT_MAX_BYTES: usize = 10 * 1024; constant MODEL_FORMAT_MAX_LINES (line 158) | pub(crate) const MODEL_FORMAT_MAX_LINES: usize = 256; constant MODEL_FORMAT_HEAD_LINES (line 159) | pub(crate) const MODEL_FORMAT_HEAD_LINES: usize = MODEL_FORMAT_MAX_LINES... constant MODEL_FORMAT_TAIL_LINES (line 160) | pub(crate) const MODEL_FORMAT_TAIL_LINES: usize = MODEL_FORMAT_MAX_LINES... constant MODEL_FORMAT_HEAD_BYTES (line 161) | pub(crate) const MODEL_FORMAT_HEAD_BYTES: usize = MODEL_FORMAT_MAX_BYTES... type State (line 257) | struct State { type Session (line 268) | pub(crate) struct Session { method new (line 356) | async fn new( method set_task (line 578) | pub fn set_task(&self, task: AgentTask) { method remove_task (line 586) | pub fn remove_task(&self, sub_id: &str) { method send_event (line 597) | pub(crate) async fn send_event(&self, event: Event) { method request_command_approval (line 603) | pub async fn request_command_approval( method request_patch_approval (line 629) | pub async fn request_patch_approval( method notify_approval (line 655) | pub fn notify_approval(&self, sub_id: &str, decision: ReviewDecision) { method add_approved_command (line 662) | pub fn add_approved_command(&self, cmd: Vec) { method record_conversation_items (line 669) | async fn record_conversation_items(&self, items: &[ResponseItem]) { method record_state_snapshot (line 676) | async fn record_state_snapshot(&self, items: &[ResponseItem]) { method on_exec_command_begin (line 694) | async fn on_exec_command_begin( method on_exec_command_end (line 736) | async fn on_exec_command_end( method run_exec_with_events (line 800) | async fn run_exec_with_events<'a>( method notify_background_event (line 851) | async fn notify_background_event(&self, sub_id: &str, message: impl In... method notify_stream_error (line 861) | async fn notify_stream_error(&self, sub_id: &str, message: impl Into) -> Vec... method inject_input (line 878) | pub fn inject_input(&self, input: Vec) -> Result<(), Vec Vec { method call_tool (line 899) | pub async fn call_tool( method interrupt_task (line 911) | fn interrupt_task(&self) { method maybe_notify (line 924) | fn maybe_notify(&self, notification: UserNotification) { type TurnContext (line 291) | pub(crate) struct TurnContext { method resolve_path (line 307) | fn resolve_path(&self, path: Option) -> PathBuf { type ConfigureSession (line 315) | struct ConfigureSession { method drop (line 952) | fn drop(&mut self) { type ExecCommandContext (line 958) | pub(crate) struct ExecCommandContext { type ApplyPatchCommandContext (line 967) | pub(crate) struct ApplyPatchCommandContext { type AgentTask (line 973) | pub(crate) struct AgentTask { method spawn (line 980) | fn spawn( method compact (line 1000) | fn compact( method abort (line 1023) | fn abort(self, reason: TurnAbortReason) { function submission_loop (line 1039) | async fn submission_loop( function run_task (line 1373) | async fn run_task( function run_turn (line 1576) | async fn run_turn( type ProcessedResponseItem (line 1642) | struct ProcessedResponseItem { function try_run_turn (line 1647) | async fn try_run_turn( function run_compact_task (line 1821) | async fn run_compact_task( function handle_response_item (line 1906) | async fn handle_response_item( function handle_function_call (line 2056) | async fn handle_function_call( function handle_custom_tool_call (line 2188) | async fn handle_custom_tool_call( function to_exec_params (line 2240) | fn to_exec_params(params: ShellToolCallParams, turn_context: &TurnContex... function parse_container_exec_arguments (line 2251) | fn parse_container_exec_arguments( type ExecInvokeArgs (line 2273) | pub struct ExecInvokeArgs<'a> { function maybe_translate_shell_command (line 2281) | fn maybe_translate_shell_command( function handle_container_exec_with_params (line 2299) | async fn handle_container_exec_with_params( function handle_sandbox_error (line 2518) | async fn handle_sandbox_error( function format_exec_output_str (line 2656) | fn format_exec_output_str(exec_output: &ExecToolCallOutput) -> String { function take_bytes_at_char_boundary (line 2720) | fn take_bytes_at_char_boundary(s: &str, maxb: usize) -> &str { function take_last_bytes_at_char_boundary (line 2737) | fn take_last_bytes_at_char_boundary(s: &str, maxb: usize) -> &str { function format_exec_output (line 2758) | fn format_exec_output(exec_output: &ExecToolCallOutput) -> String { function get_last_assistant_message_from_turn (line 2794) | fn get_last_assistant_message_from_turn(responses: &[ResponseItem]) -> O... function drain_to_completed (line 2814) | async fn drain_to_completed( function convert_call_tool_result_to_function_call_output_payload (line 2858) | fn convert_call_tool_result_to_function_call_output_payload( function text_block (line 2902) | fn text_block(s: &str) -> ContentBlock { function prefers_structured_content_when_present (line 2911) | fn prefers_structured_content_when_present() { function model_truncation_head_tail_by_lines (line 2936) | fn model_truncation_head_tail_by_lines() { function model_truncation_respects_byte_budget (line 2976) | fn model_truncation_respects_byte_budget() { function falls_back_to_content_when_structured_is_null (line 3012) | fn falls_back_to_content_when_structured_is_null() { function success_flag_reflects_is_error_true (line 3030) | fn success_flag_reflects_is_error_true() { function success_flag_true_with_no_error_and_content_used (line 3047) | fn success_flag_true_with_no_error_and_content_used() { FILE: codex-rs/core/src/codex_conversation.rs type CodexConversation (line 7) | pub struct CodexConversation { method new (line 14) | pub(crate) fn new(codex: Codex) -> Self { method submit (line 18) | pub async fn submit(&self, op: Op) -> CodexResult { method submit_with_id (line 23) | pub async fn submit_with_id(&self, sub: Submission) -> CodexResult<()> { method next_event (line 27) | pub async fn next_event(&self) -> CodexResult { FILE: codex-rs/core/src/config.rs constant OPENAI_DEFAULT_MODEL (line 31) | const OPENAI_DEFAULT_MODEL: &str = "gpt-5"; constant PROJECT_DOC_MAX_BYTES (line 36) | pub(crate) const PROJECT_DOC_MAX_BYTES: usize = 32 * 1024; constant CONFIG_TOML_FILE (line 38) | const CONFIG_TOML_FILE: &str = "config.toml"; constant DEFAULT_RESPONSES_ORIGINATOR_HEADER (line 40) | const DEFAULT_RESPONSES_ORIGINATOR_HEADER: &str = "codex_cli_rs"; type Config (line 44) | pub struct Config { method load_with_cli_overrides (line 193) | pub fn load_with_cli_overrides( method load_from_base_config_with_overrides (line 601) | pub fn load_from_base_config_with_overrides( method load_instructions (line 797) | fn load_instructions(codex_dir: Option<&Path>) -> Option { method get_base_instructions (line 814) | fn get_base_instructions( function load_config_as_toml_with_cli_overrides (line 222) | pub fn load_config_as_toml_with_cli_overrides( function load_config_as_toml (line 242) | pub fn load_config_as_toml(codex_home: &Path) -> std::io::Result an... function apply_toml_override (line 344) | fn apply_toml_override(root: &mut TomlValue, path: &str, value: TomlValu... type ConfigToml (line 388) | pub struct ConfigToml { method derive_sandbox_policy (line 507) | fn derive_sandbox_policy(&self, sandbox_mode_override: Option bool { method get_config_profile (line 557) | pub fn get_config_profile( type ProjectConfig (line 494) | pub struct ProjectConfig { type ToolsToml (line 499) | pub struct ToolsToml { type ConfigOverrides (line 581) | pub struct ConfigOverrides { function default_model (line 857) | fn default_model() -> String { function find_codex_home (line 869) | pub fn find_codex_home() -> std::io::Result { function log_dir (line 890) | pub fn log_dir(cfg: &Config) -> std::io::Result { function test_toml_parsing (line 905) | fn test_toml_parsing() { function test_sandbox_config_parsing (line 937) | fn test_sandbox_config_parsing() { type PrecedenceTestFixture (line 992) | struct PrecedenceTestFixture { method cwd (line 1002) | fn cwd(&self) -> PathBuf { method codex_home (line 1006) | fn codex_home(&self) -> PathBuf { function create_test_fixture (line 1011) | fn create_test_fixture() -> std::io::Result { function test_precedence_fixture_with_o3_profile (line 1111) | fn test_precedence_fixture_with_o3_profile() -> std::io::Result<()> { function test_precedence_fixture_with_gpt3_profile (line 1169) | fn test_precedence_fixture_with_gpt3_profile() -> std::io::Result<()> { function test_precedence_fixture_with_zdr_profile (line 1241) | fn test_precedence_fixture_with_zdr_profile() -> std::io::Result<()> { function test_set_project_trusted_writes_explicit_tables (line 1299) | fn test_set_project_trusted_writes_explicit_tables() -> anyhow::Result<(... function test_set_project_trusted_converts_inline_to_explicit (line 1327) | fn test_set_project_trusted_converts_inline_to_explicit() -> anyhow::Res... FILE: codex-rs/core/src/config_profile.rs type ConfigProfile (line 12) | pub struct ConfigProfile { FILE: codex-rs/core/src/config_types.rs type McpServerConfig (line 15) | pub struct McpServerConfig { type UriBasedFileOpener (line 26) | pub enum UriBasedFileOpener { method get_scheme (line 45) | pub fn get_scheme(&self) -> Option<&str> { type History (line 58) | pub struct History { type HistoryPersistence (line 69) | pub enum HistoryPersistence { type Tui (line 79) | pub struct Tui {} type SandboxWorkspaceWrite (line 82) | pub struct SandboxWorkspaceWrite { type ShellEnvironmentPolicyInherit (line 95) | pub enum ShellEnvironmentPolicyInherit { type ShellEnvironmentPolicyToml (line 111) | pub struct ShellEnvironmentPolicyToml { type EnvironmentVariablePattern (line 127) | pub type EnvironmentVariablePattern = WildMatchPattern<'*', '?'>; type ShellEnvironmentPolicy (line 137) | pub struct ShellEnvironmentPolicy { method from (line 159) | fn from(toml: ShellEnvironmentPolicyToml) -> Self { type ReasoningEffort (line 193) | pub enum ReasoningEffort { type ReasoningSummary (line 208) | pub enum ReasoningSummary { type Verbosity (line 222) | pub enum Verbosity { FILE: codex-rs/core/src/conversation_history.rs type ConversationHistory (line 5) | pub(crate) struct ConversationHistory { method new (line 11) | pub(crate) fn new() -> Self { method contents (line 16) | pub(crate) fn contents(&self) -> Vec { method record_items (line 21) | pub(crate) fn record_items(&mut self, items: I) method keep_last_messages (line 35) | pub(crate) fn keep_last_messages(&mut self, n: usize) { function is_api_message (line 66) | fn is_api_message(message: &ResponseItem) -> bool { function assistant_msg (line 84) | fn assistant_msg(text: &str) -> ResponseItem { function user_msg (line 94) | fn user_msg(text: &str) -> ResponseItem { function filters_non_api_messages (line 105) | fn filters_non_api_messages() { FILE: codex-rs/core/src/conversation_manager.rs type NewConversation (line 23) | pub struct NewConversation { type ConversationManager (line 31) | pub struct ConversationManager { method new (line 37) | pub fn new(auth_manager: Arc) -> Self { method with_auth (line 46) | pub fn with_auth(auth: CodexAuth) -> Self { method new_conversation (line 50) | pub async fn new_conversation(&self, config: Config) -> CodexResult, n: us... function user_msg (line 179) | fn user_msg(text: &str) -> ResponseItem { function assistant_msg (line 188) | fn assistant_msg(text: &str) -> ResponseItem { function drops_from_last_user_only (line 199) | fn drops_from_last_user_only() { FILE: codex-rs/core/src/environment_context.rs constant ENVIRONMENT_CONTEXT_START (line 14) | pub(crate) const ENVIRONMENT_CONTEXT_START: &str = ""; constant ENVIRONMENT_CONTEXT_END (line 15) | pub(crate) const ENVIRONMENT_CONTEXT_END: &str = ""; type NetworkAccess (line 20) | pub enum NetworkAccess { type EnvironmentContext (line 26) | pub(crate) struct EnvironmentContext { method new (line 35) | pub fn new( method serialize_to_xml (line 81) | pub fn serialize_to_xml(self) -> String { method from (line 112) | fn from(ec: EnvironmentContext) -> Self { FILE: codex-rs/core/src/error.rs type Result (line 9) | pub type Result = std::result::Result; type SandboxErr (line 12) | pub enum SandboxErr { type CodexErr (line 41) | pub enum CodexErr { method downcast_ref (line 219) | pub fn downcast_ref(&self) -> Option<&T> { type UsageLimitReachedError (line 129) | pub struct UsageLimitReachedError { method fmt (line 135) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function format_reset_duration (line 165) | fn format_reset_duration(total_secs: u64) -> String { type EnvVarError (line 196) | pub struct EnvVarError { method fmt (line 206) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function get_error_message_ui (line 224) | pub fn get_error_message_ui(e: &CodexErr) -> String { function usage_limit_reached_error_formats_plus_plan (line 238) | fn usage_limit_reached_error_formats_plus_plan() { function usage_limit_reached_error_formats_default_when_none (line 250) | fn usage_limit_reached_error_formats_default_when_none() { function usage_limit_reached_error_formats_default_for_other_plans (line 262) | fn usage_limit_reached_error_formats_default_for_other_plans() { function usage_limit_reached_includes_minutes_when_available (line 274) | fn usage_limit_reached_includes_minutes_when_available() { function usage_limit_reached_includes_hours_and_minutes (line 286) | fn usage_limit_reached_includes_hours_and_minutes() { function usage_limit_reached_includes_days_hours_minutes (line 298) | fn usage_limit_reached_includes_days_hours_minutes() { function usage_limit_reached_less_than_minute (line 310) | fn usage_limit_reached_less_than_minute() { FILE: codex-rs/core/src/exec.rs constant DEFAULT_TIMEOUT_MS (line 31) | const DEFAULT_TIMEOUT_MS: u64 = 10_000; constant SIGKILL_CODE (line 35) | const SIGKILL_CODE: i32 = 9; constant TIMEOUT_CODE (line 36) | const TIMEOUT_CODE: i32 = 64; constant EXIT_CODE_SIGNAL_BASE (line 37) | const EXIT_CODE_SIGNAL_BASE: i32 = 128; constant READ_CHUNK_SIZE (line 40) | const READ_CHUNK_SIZE: usize = 8192; constant AGGREGATE_BUFFER_INITIAL_CAPACITY (line 41) | const AGGREGATE_BUFFER_INITIAL_CAPACITY: usize = 8 * 1024; constant MAX_EXEC_OUTPUT_DELTAS_PER_CALL (line 45) | pub(crate) const MAX_EXEC_OUTPUT_DELTAS_PER_CALL: usize = 10_000; type ExecParams (line 48) | pub struct ExecParams { method timeout_duration (line 58) | pub fn timeout_duration(&self) -> Duration { type SandboxType (line 64) | pub enum SandboxType { type StdoutStream (line 75) | pub struct StdoutStream { function process_exec_tool_call (line 81) | pub async fn process_exec_tool_call( function is_likely_sandbox_denied (line 175) | fn is_likely_sandbox_denied(sandbox_type: SandboxType, exit_code: i32) -... type StreamOutput (line 191) | pub struct StreamOutput { type RawExecToolCallOutput (line 196) | struct RawExecToolCallOutput { function new (line 204) | pub fn new(text: String) -> Self { function from_utf8_lossy (line 213) | pub fn from_utf8_lossy(&self) -> StreamOutput { function append_all (line 222) | fn append_all(dst: &mut Vec, src: &[u8]) { type ExecToolCallOutput (line 227) | pub struct ExecToolCallOutput { function exec (line 235) | async fn exec( function consume_truncated_output (line 267) | async fn consume_truncated_output( function read_capped (line 343) | async fn read_capped( function synthetic_exit_status (line 398) | fn synthetic_exit_status(code: i32) -> ExitStatus { function synthetic_exit_status (line 404) | fn synthetic_exit_status(code: i32) -> ExitStatus { FILE: codex-rs/core/src/exec_command/exec_command_params.rs type ExecCommandParams (line 7) | pub struct ExecCommandParams { function default_yield_time (line 23) | fn default_yield_time() -> u64 { function max_output_tokens (line 27) | fn max_output_tokens() -> u64 { function default_login (line 31) | fn default_login() -> bool { function default_shell (line 35) | fn default_shell() -> String { type WriteStdinParams (line 40) | pub struct WriteStdinParams { function write_stdin_default_yield_time_ms (line 51) | fn write_stdin_default_yield_time_ms() -> u64 { function write_stdin_default_max_output_tokens (line 55) | fn write_stdin_default_max_output_tokens() -> u64 { FILE: codex-rs/core/src/exec_command/exec_command_session.rs type ExecCommandSession (line 8) | pub(crate) struct ExecCommandSession { method new (line 30) | pub(crate) fn new( method writer_sender (line 48) | pub(crate) fn writer_sender(&self) -> mpsc::Sender> { method output_receiver (line 52) | pub(crate) fn output_receiver(&self) -> broadcast::Receiver> { method drop (line 58) | fn drop(&mut self) { FILE: codex-rs/core/src/exec_command/responses_api.rs constant EXEC_COMMAND_TOOL_NAME (line 6) | pub const EXEC_COMMAND_TOOL_NAME: &str = "exec_command"; constant WRITE_STDIN_TOOL_NAME (line 7) | pub const WRITE_STDIN_TOOL_NAME: &str = "write_stdin"; function create_exec_command_tool_for_responses_api (line 9) | pub fn create_exec_command_tool_for_responses_api() -> ResponsesApiTool { function create_write_stdin_tool_for_responses_api (line 57) | pub fn create_write_stdin_tool_for_responses_api() -> ResponsesApiTool { FILE: codex-rs/core/src/exec_command/session_id.rs type SessionId (line 5) | pub(crate) struct SessionId(pub u32); FILE: codex-rs/core/src/exec_command/session_manager.rs type SessionManager (line 25) | pub struct SessionManager { method handle_exec_command_request (line 84) | pub async fn handle_exec_command_request( method handle_write_stdin_request (line 179) | pub async fn handle_write_stdin_request( type ExecCommandOutput (line 31) | pub struct ExecCommandOutput { method to_text_output (line 39) | fn to_text_output(&self) -> String { type ExitStatus (line 64) | pub enum ExitStatus { function result_into_payload (line 69) | pub fn result_into_payload(result: Result) ->... function create_exec_command_session (line 244) | async fn create_exec_command_session( function truncate_middle (line 354) | fn truncate_middle(s: &str, max_bytes: usize) -> (String, Option) { function session_manager_streams_and_truncates_from_now (line 477) | async fn session_manager_streams_and_truncates_from_now() { function extract_monotonic_numbers (line 579) | fn extract_monotonic_numbers(s: &str) -> Vec { function to_text_output_exited_no_truncation (line 597) | fn to_text_output_exited_no_truncation() { function to_text_output_ongoing_with_truncation (line 613) | fn to_text_output_ongoing_with_truncation() { function truncate_middle_no_newlines_fallback (line 630) | fn truncate_middle_no_newlines_fallback() { function truncate_middle_prefers_newline_boundaries (line 643) | fn truncate_middle_prefers_newline_boundaries() { FILE: codex-rs/core/src/exec_env.rs function create_env (line 14) | pub fn create_env(policy: &ShellEnvironmentPolicy) -> HashMap(vars: I, policy: &ShellEnvironmentPolicy) -> HashMap<... function make_vars (line 77) | fn make_vars(pairs: &[(&str, &str)]) -> Vec<(String, String)> { function test_core_inherit_and_default_excludes (line 85) | fn test_core_inherit_and_default_excludes() { function test_include_only (line 105) | fn test_include_only() { function test_set_overrides (line 125) | fn test_set_overrides() { function test_inherit_all (line 145) | fn test_inherit_all() { function test_inherit_all_with_default_excludes (line 160) | fn test_inherit_all_with_default_excludes() { function test_inherit_none (line 176) | fn test_inherit_none() { FILE: codex-rs/core/src/git_info.rs constant GIT_COMMAND_TIMEOUT (line 16) | const GIT_COMMAND_TIMEOUT: TokioDuration = TokioDuration::from_secs(5); type GitInfo (line 19) | pub struct GitInfo { type GitDiffToRemote (line 32) | pub struct GitDiffToRemote { function collect_git_info (line 41) | pub async fn collect_git_info(cwd: &Path) -> Option { function git_diff_to_remote (line 96) | pub async fn git_diff_to_remote(cwd: &Path) -> Option { function run_git_command_with_timeout (line 113) | async fn run_git_command_with_timeout(args: &[&str], cwd: &Path) -> Opti... function get_git_remotes (line 126) | async fn get_git_remotes(cwd: &Path) -> Option> { function get_default_branch (line 149) | async fn get_default_branch(cwd: &Path) -> Option { function branch_ancestry (line 213) | async fn branch_ancestry(cwd: &Path) -> Option> { function branch_remote_and_distance (line 284) | async fn branch_remote_and_distance( function find_closest_sha (line 363) | async fn find_closest_sha(cwd: &Path, branches: &[String], remotes: &[St... function diff_against_sha (line 387) | async fn diff_against_sha(cwd: &Path, sha: &GitSha) -> Option { function resolve_root_git_project_for_trust (line 445) | pub fn resolve_root_git_project_for_trust(cwd: &Path) -> Option { function create_test_git_repo (line 483) | async fn create_test_git_repo(temp_dir: &TempDir) -> PathBuf { function create_test_git_repo_with_remote (line 540) | async fn create_test_git_repo_with_remote(temp_dir: &TempDir) -> (PathBu... function test_collect_git_info_non_git_directory (line 576) | async fn test_collect_git_info_non_git_directory() { function test_collect_git_info_git_repository (line 583) | async fn test_collect_git_info_git_repository() { function test_collect_git_info_with_remote (line 607) | async fn test_collect_git_info_with_remote() { function test_collect_git_info_detached_head (line 636) | async fn test_collect_git_info_detached_head() { function test_collect_git_info_with_branch (line 668) | async fn test_collect_git_info_with_branch() { function test_get_git_working_tree_state_clean_repo (line 689) | async fn test_get_git_working_tree_state_clean_repo() { function test_get_git_working_tree_state_with_changes (line 712) | async fn test_get_git_working_tree_state_with_changes() { function test_get_git_working_tree_state_branch_fallback (line 740) | async fn test_get_git_working_tree_state_branch_fallback() { function resolve_root_git_project_for_trust_returns_none_outside_repo (line 782) | fn resolve_root_git_project_for_trust_returns_none_outside_repo() { function resolve_root_git_project_for_trust_regular_repo_returns_repo_root (line 788) | async fn resolve_root_git_project_for_trust_regular_repo_returns_repo_ro... function resolve_root_git_project_for_trust_detects_worktree_and_returns_main_root (line 806) | async fn resolve_root_git_project_for_trust_detects_worktree_and_returns... function resolve_root_git_project_for_trust_non_worktrees_gitdir_returns_none (line 836) | fn resolve_root_git_project_for_trust_non_worktrees_gitdir_returns_none() { function test_get_git_working_tree_state_unpushed_commit (line 856) | async fn test_get_git_working_tree_state_unpushed_commit() { function test_git_info_serialization (line 893) | fn test_git_info_serialization() { function test_git_info_serialization_with_nones (line 912) | fn test_git_info_serialization_with_nones() { FILE: codex-rs/core/src/is_safe_command.rs function is_known_safe_command (line 4) | pub fn is_known_safe_command(command: &[String]) -> bool { function is_safe_to_call_with_exec (line 31) | fn is_safe_to_call_with_exec(command: &[String]) -> bool { function is_valid_sed_n_arg (line 128) | fn is_valid_sed_n_arg(arg: Option<&str>) -> bool { function vec_str (line 164) | fn vec_str(args: &[&str]) -> Vec { function known_safe_examples (line 169) | fn known_safe_examples() { function unknown_or_partial (line 188) | fn unknown_or_partial() { function ripgrep_rules (line 217) | fn ripgrep_rules() { function bash_lc_safe_examples (line 251) | fn bash_lc_safe_examples() { function bash_lc_safe_examples_with_operators (line 283) | fn bash_lc_safe_examples_with_operators() { function bash_lc_unsafe_examples (line 307) | fn bash_lc_unsafe_examples() { FILE: codex-rs/core/src/landlock.rs function spawn_command_under_linux_sandbox (line 16) | pub async fn spawn_command_under_linux_sandbox

( function create_linux_sandbox_command_args (line 42) | fn create_linux_sandbox_command_args( FILE: codex-rs/core/src/mcp_connection_manager.rs constant MCP_TOOL_NAME_DELIMITER (line 36) | const MCP_TOOL_NAME_DELIMITER: &str = "__"; constant MAX_TOOL_NAME_LENGTH (line 37) | const MAX_TOOL_NAME_LENGTH: usize = 64; constant LIST_TOOLS_TIMEOUT (line 40) | const LIST_TOOLS_TIMEOUT: Duration = Duration::from_secs(10); type ClientStartErrors (line 44) | pub type ClientStartErrors = HashMap; function qualify_tools (line 46) | fn qualify_tools(tools: Vec) -> HashMap { type ToolInfo (line 78) | struct ToolInfo { type McpConnectionManager (line 86) | pub(crate) struct McpConnectionManager { method new (line 106) | pub async fn new( method list_all_tools (line 196) | pub fn list_all_tools(&self) -> HashMap { method call_tool (line 204) | pub async fn call_tool( method parse_tool_name (line 223) | pub fn parse_tool_name(&self, tool_name: &str) -> Option<(String, Stri... function list_all_tools (line 232) | async fn list_all_tools( function is_valid_mcp_server_name (line 276) | fn is_valid_mcp_server_name(server_name: &str) -> bool { function create_test_tool (line 288) | fn create_test_tool(server_name: &str, tool_name: &str) -> ToolInfo { function test_qualify_tools_short_non_duplicated_names (line 308) | fn test_qualify_tools_short_non_duplicated_names() { function test_qualify_tools_duplicated_names_skipped (line 322) | fn test_qualify_tools_duplicated_names_skipped() { function test_qualify_tools_long_names_same_server (line 336) | fn test_qualify_tools_long_names_same_server() { FILE: codex-rs/core/src/mcp_tool_call.rs function handle_mcp_tool_call (line 17) | pub(crate) async fn handle_mcp_tool_call( function notify_mcp_tool_call_event (line 76) | async fn notify_mcp_tool_call_event(sess: &Session, sub_id: &str, event:... FILE: codex-rs/core/src/message_history.rs constant HISTORY_FILENAME (line 39) | const HISTORY_FILENAME: &str = "history.jsonl"; constant MAX_RETRIES (line 41) | const MAX_RETRIES: usize = 10; constant RETRY_SLEEP (line 42) | const RETRY_SLEEP: Duration = Duration::from_millis(100); type HistoryEntry (line 45) | pub struct HistoryEntry { function history_filepath (line 51) | fn history_filepath(config: &Config) -> PathBuf { function append_entry (line 60) | pub(crate) async fn append_entry(text: &str, session_id: &Uuid, config: ... function acquire_exclusive_lock_with_retry (line 128) | async fn acquire_exclusive_lock_with_retry(file: &File) -> Result<()> { function history_metadata (line 151) | pub(crate) async fn history_metadata(config: &Config) -> (u64, usize) { function lookup (line 198) | pub(crate) fn lookup(log_id: u64, offset: usize, config: &Config) -> Opt... function lookup (line 256) | pub(crate) fn lookup(log_id: u64, offset: usize, config: &Config) -> Opt... function acquire_shared_lock_with_retry (line 262) | fn acquire_shared_lock_with_retry(file: &File) -> Result<()> { function ensure_owner_only_permissions (line 284) | async fn ensure_owner_only_permissions(file: &File) -> Result<()> { function ensure_owner_only_permissions (line 298) | async fn ensure_owner_only_permissions(_file: &File) -> Result<()> { FILE: codex-rs/core/src/model_family.rs type ModelFamily (line 5) | pub struct ModelFamily { function find_family_for_model (line 72) | pub fn find_family_for_model(slug: &str) -> Option { FILE: codex-rs/core/src/model_provider_info.rs constant DEFAULT_STREAM_IDLE_TIMEOUT_MS (line 17) | const DEFAULT_STREAM_IDLE_TIMEOUT_MS: u64 = 300_000; constant DEFAULT_STREAM_MAX_RETRIES (line 18) | const DEFAULT_STREAM_MAX_RETRIES: u64 = 5; constant DEFAULT_REQUEST_MAX_RETRIES (line 19) | const DEFAULT_REQUEST_MAX_RETRIES: u64 = 4; constant MAX_STREAM_MAX_RETRIES (line 21) | const MAX_STREAM_MAX_RETRIES: u64 = 100; constant MAX_REQUEST_MAX_RETRIES (line 23) | const MAX_REQUEST_MAX_RETRIES: u64 = 100; type WireApi (line 33) | pub enum WireApi { type ModelProviderInfo (line 44) | pub struct ModelProviderInfo { method create_request_builder (line 97) | pub async fn create_request_builder<'a>( method get_query_string (line 125) | fn get_query_string(&self) -> String { method get_full_url (line 138) | pub(crate) fn get_full_url(&self, auth: &Option) -> String { method apply_http_headers (line 165) | fn apply_http_headers(&self, mut builder: reqwest::RequestBuilder) -> ... method api_key (line 187) | pub fn api_key(&self) -> crate::error::Result> { method request_max_retries (line 211) | pub fn request_max_retries(&self) -> u64 { method stream_max_retries (line 218) | pub fn stream_max_retries(&self) -> u64 { method stream_idle_timeout (line 225) | pub fn stream_idle_timeout(&self) -> Duration { constant DEFAULT_OLLAMA_PORT (line 232) | const DEFAULT_OLLAMA_PORT: u32 = 11434; constant BUILT_IN_OSS_MODEL_PROVIDER_ID (line 234) | pub const BUILT_IN_OSS_MODEL_PROVIDER_ID: &str = "oss"; function built_in_model_providers (line 237) | pub fn built_in_model_providers() -> HashMap { function create_oss_provider (line 291) | pub fn create_oss_provider() -> ModelProviderInfo { function create_oss_provider_with_base_url (line 312) | pub fn create_oss_provider_with_base_url(base_url: &str) -> ModelProvide... function test_deserialize_ollama_model_provider_toml (line 335) | fn test_deserialize_ollama_model_provider_toml() { function test_deserialize_azure_model_provider_toml (line 360) | fn test_deserialize_azure_model_provider_toml() { function test_deserialize_example_model_provider_toml (line 389) | fn test_deserialize_example_model_provider_toml() { FILE: codex-rs/core/src/openai_model_info.rs type ModelInfo (line 9) | pub(crate) struct ModelInfo { function get_model_info (line 17) | pub(crate) fn get_model_info(model_family: &ModelFamily) -> Option Self { type ToolsConfigParams (line 72) | pub struct ToolsConfigParams<'a> { type JsonSchema (line 130) | pub(crate) enum JsonSchema { function create_shell_tool (line 163) | fn create_shell_tool() -> OpenAiTool { function create_shell_tool_for_sandbox (line 197) | fn create_shell_tool_for_sandbox(sandbox_policy: &SandboxPolicy) -> Open... type ApplyPatchToolArgs (line 297) | pub(crate) struct ApplyPatchToolArgs { function create_tools_json_for_responses_api (line 304) | pub fn create_tools_json_for_responses_api( function create_tools_json_for_chat_completions_api (line 319) | pub(crate) fn create_tools_json_for_chat_completions_api( function mcp_tool_to_openai_tool (line 347) | pub(crate) fn mcp_tool_to_openai_tool( function sanitize_json_schema (line 389) | fn sanitize_json_schema(value: &mut JsonValue) { function get_openai_tools (line 499) | pub fn get_openai_tools( function assert_eq_tool_names (line 571) | fn assert_eq_tool_names(tools: &[OpenAiTool], expected_names: &[&str]) { function test_get_openai_tools (line 596) | fn test_get_openai_tools() { function test_get_openai_tools_default_shell (line 614) | fn test_get_openai_tools_default_shell() { function test_get_openai_tools_mcp_tools (line 631) | fn test_get_openai_tools_mcp_tools() { function test_get_openai_tools_mcp_tools_sorted_by_name (line 730) | fn test_get_openai_tools_mcp_tools_sorted_by_name() { function test_mcp_tool_property_missing_type_defaults_to_string (line 805) | fn test_mcp_tool_property_missing_type_defaults_to_string() { function test_mcp_tool_integer_normalized_to_number (line 863) | fn test_mcp_tool_integer_normalized_to_number() { function test_mcp_tool_array_without_items_gets_default_string_items (line 916) | fn test_mcp_tool_array_without_items_gets_default_string_items() { function test_mcp_tool_anyof_defaults_to_string (line 972) | fn test_mcp_tool_anyof_defaults_to_string() { FILE: codex-rs/core/src/parse_command.rs type ParsedCommand (line 9) | pub enum ParsedCommand { function from (line 47) | fn from(v: ParsedCommand) -> Self { function shlex_join (line 62) | fn shlex_join(tokens: &[String]) -> String { function parse_command (line 77) | pub fn parse_command(command: &[String]) -> Vec { function shlex_split_safe (line 96) | fn shlex_split_safe(s: &str) -> Vec { function vec_str (line 100) | fn vec_str(args: &[&str]) -> Vec { function assert_parsed (line 104) | fn assert_parsed(args: &[String], expected: Vec) { function git_status_is_unknown (line 110) | fn git_status_is_unknown() { function handles_git_pipe_wc (line 120) | fn handles_git_pipe_wc() { function bash_lc_redirect_not_quoted (line 131) | fn bash_lc_redirect_not_quoted() { function handles_complex_bash_command_head (line 142) | fn handles_complex_bash_command_head() { function supports_searching_for_navigate_to_route (line 173) | fn supports_searching_for_navigate_to_route() -> anyhow::Result<()> { function handles_complex_bash_command (line 187) | fn handles_complex_bash_command() { function supports_rg_files_with_path_and_pipe (line 205) | fn supports_rg_files_with_path_and_pipe() { function supports_rg_files_then_head (line 218) | fn supports_rg_files_then_head() { function supports_cat (line 236) | fn supports_cat() { function supports_ls_with_pipe (line 248) | fn supports_ls_with_pipe() { function supports_head_n (line 260) | fn supports_head_n() { function supports_cat_sed_n (line 272) | fn supports_cat_sed_n() { function supports_tail_n_plus (line 284) | fn supports_tail_n_plus() { function supports_tail_n_last_lines (line 296) | fn supports_tail_n_last_lines() { function supports_npm_run_build_is_unknown (line 309) | fn supports_npm_run_build_is_unknown() { function supports_npm_run_with_forwarded_args (line 319) | fn supports_npm_run_with_forwarded_args() { function supports_grep_recursive_current_dir (line 340) | fn supports_grep_recursive_current_dir() { function supports_grep_recursive_specific_file (line 352) | fn supports_grep_recursive_specific_file() { function supports_grep_query_with_slashes_not_shortened (line 370) | fn supports_grep_query_with_slashes_not_shortened() { function supports_grep_weird_backtick_in_query (line 384) | fn supports_grep_weird_backtick_in_query() { function supports_cd_and_rg_files (line 396) | fn supports_cd_and_rg_files() { function echo_then_cargo_test_sequence (line 413) | fn echo_then_cargo_test_sequence() { function supports_cargo_fmt_and_test_with_config (line 423) | fn supports_cargo_fmt_and_test_with_config() { function recognizes_rustfmt_and_clippy (line 442) | fn recognizes_rustfmt_and_clippy() { function recognizes_pytest_go_and_tools (line 463) | fn recognizes_pytest_go_and_tools() { function recognizes_jest_and_vitest_filters (line 510) | fn recognizes_jest_and_vitest_filters() { function recognizes_npx_and_scripts (line 527) | fn recognizes_npx_and_scripts() { function small_formatting_always_true_commands (line 572) | fn small_formatting_always_true_commands() { function head_behavior (line 584) | fn head_behavior() { function tail_behavior (line 600) | fn tail_behavior() { function sed_behavior (line 622) | fn sed_behavior() { function empty_tokens_is_not_small (line 644) | fn empty_tokens_is_not_small() { function supports_nl_then_sed_reading (line 650) | fn supports_nl_then_sed_reading() { function supports_sed_n (line 662) | fn supports_sed_n() { function filters_out_printf (line 674) | fn filters_out_printf() { function drops_yes_in_pipelines (line 687) | fn drops_yes_in_pipelines() { function supports_sed_n_then_nl_as_search (line 701) | fn supports_sed_n_then_nl_as_search() { function preserves_rg_with_spaces (line 716) | fn preserves_rg_with_spaces() { function ls_with_glob (line 728) | fn ls_with_glob() { function trim_on_semicolon (line 739) | fn trim_on_semicolon() { function split_on_or_connector (line 756) | fn split_on_or_connector() { function strips_true_in_sequence (line 774) | fn strips_true_in_sequence() { function strips_true_inside_bash_lc (line 796) | fn strips_true_inside_bash_lc() { function shorten_path_on_windows (line 819) | fn shorten_path_on_windows() { function head_with_no_space (line 830) | fn head_with_no_space() { function bash_dash_c_pipeline_parsing (line 841) | fn bash_dash_c_pipeline_parsing() { function tail_with_no_space (line 860) | fn tail_with_no_space() { function pnpm_test_is_parsed_as_test (line 871) | fn pnpm_test_is_parsed_as_test() { function pnpm_exec_vitest_is_unknown (line 881) | fn pnpm_exec_vitest_is_unknown() { function cargo_test_with_crate (line 898) | fn cargo_test_with_crate() { function cargo_test_with_crate_2 (line 908) | fn cargo_test_with_crate_2() { function cargo_test_with_crate_3 (line 920) | fn cargo_test_with_crate_3() { function cargo_test_with_crate_4 (line 930) | fn cargo_test_with_crate_4() { function recognizes_black_and_ruff (line 941) | fn recognizes_black_and_ruff() { function recognizes_pnpm_monorepo_test_and_npm_format_script (line 974) | fn recognizes_pnpm_monorepo_test_and_npm_format_script() { function yarn_test_is_parsed_as_test (line 995) | fn yarn_test_is_parsed_as_test() { function pytest_file_only_and_go_run_regex (line 1005) | fn pytest_file_only_and_go_run_regex() { function grep_with_query_and_path (line 1024) | fn grep_with_query_and_path() { function rg_with_equals_style_flags (line 1036) | fn rg_with_equals_style_flags() { function cat_with_double_dash_and_sed_ranges (line 1048) | fn cat_with_double_dash_and_sed_ranges() { function drop_trailing_nl_in_pipeline (line 1069) | fn drop_trailing_nl_in_pipeline() { function ls_with_time_style_and_path (line 1082) | fn ls_with_time_style_and_path() { function eslint_with_config_path_and_target (line 1094) | fn eslint_with_config_path_and_target() { function npx_eslint_with_config_path_and_target (line 1106) | fn npx_eslint_with_config_path_and_target() { function fd_file_finder_variants (line 1118) | fn fd_file_finder_variants() { function find_basic_name_filter (line 1140) | fn find_basic_name_filter() { function find_type_only_path (line 1152) | fn find_type_only_path() { function parse_command_impl (line 1164) | pub fn parse_command_impl(command: &[String]) -> Vec { function simplify_once (line 1193) | fn simplify_once(commands: &[ParsedCommand]) -> Option) -> bool { function normalize_tokens (line 1280) | fn normalize_tokens(cmd: &[String]) -> Vec { function contains_connectors (line 1298) | fn contains_connectors(tokens: &[String]) -> bool { function split_on_connectors (line 1304) | fn split_on_connectors(tokens: &[String]) -> Vec> { function trim_at_connector (line 1322) | fn trim_at_connector(tokens: &[String]) -> Vec { function short_display_path (line 1335) | fn short_display_path(path: &str) -> String { function skip_flag_values (line 1349) | fn skip_flag_values<'a>(args: &'a [String], flags_with_vals: &[&str]) ->... constant ESLINT_FLAGS_WITH_VALUES (line 1382) | const ESLINT_FLAGS_WITH_VALUES: &[&str] = &[ function collect_non_flag_targets (line 1393) | fn collect_non_flag_targets(args: &[String]) -> Option> { function collect_non_flag_targets_with_flags (line 1433) | fn collect_non_flag_targets_with_flags( function is_pathish (line 1449) | fn is_pathish(s: &str) -> bool { function parse_fd_query_and_path (line 1458) | fn parse_fd_query_and_path(tail: &[String]) -> (Option, Option (Option, Option... function classify_npm_like (line 1517) | fn classify_npm_like(tool: &str, tail: &[String], full_cmd: &[String]) -... function parse_bash_lc_commands (line 1558) | fn parse_bash_lc_commands(original: &[String]) -> Option bool { function drop_small_formatting_commands (line 1724) | fn drop_small_formatting_commands(mut commands: Vec>) -> Vec... function summarize_main_tokens (line 1729) | fn summarize_main_tokens(main_cmd: &[String]) -> ParsedCommand { FILE: codex-rs/core/src/plan_tool.rs function handle_update_plan (line 66) | pub(crate) async fn handle_update_plan( function parse_update_plan_arguments (line 93) | fn parse_update_plan_arguments( FILE: codex-rs/core/src/project_doc.rs constant CANDIDATE_FILENAMES (line 21) | const CANDIDATE_FILENAMES: &[&str] = &["AGENTS.md"]; constant PROJECT_DOC_SEPARATOR (line 25) | const PROJECT_DOC_SEPARATOR: &str = "\n\n--- project-doc ---\n\n"; function get_user_instructions (line 29) | pub(crate) async fn get_user_instructions(config: &Config) -> Option std::io::Result std::io::Result)... function no_doc_file_returns_none (line 207) | async fn no_doc_file_returns_none() { function doc_smaller_than_limit_is_returned (line 220) | async fn doc_smaller_than_limit_is_returned() { function doc_larger_than_limit_is_truncated (line 236) | async fn doc_larger_than_limit_is_truncated() { function finds_doc_in_repo_root (line 254) | async fn finds_doc_in_repo_root() { function zero_byte_limit_disables_docs (line 281) | async fn zero_byte_limit_disables_docs() { function merges_existing_instructions_with_project_doc (line 295) | async fn merges_existing_instructions_with_project_doc() { function keeps_existing_instructions_when_doc_missing (line 313) | async fn keeps_existing_instructions_when_doc_missing() { function concatenates_root_and_cwd_docs (line 326) | async fn concatenates_root_and_cwd_docs() { FILE: codex-rs/core/src/rollout.rs constant SESSIONS_SUBDIR (line 27) | const SESSIONS_SUBDIR: &str = "sessions"; type SessionMeta (line 30) | pub struct SessionMeta { type SessionMetaWithGit (line 37) | struct SessionMetaWithGit { type SessionStateSnapshot (line 45) | pub struct SessionStateSnapshot {} type SavedSession (line 48) | pub struct SavedSession { type RolloutRecorder (line 67) | pub(crate) struct RolloutRecorder { method new (line 81) | pub async fn new( method record_items (line 124) | pub(crate) async fn record_items(&self, items: &[ResponseItem]) -> std... method record_state (line 153) | pub(crate) async fn record_state(&self, state: SessionStateSnapshot) -... method resume (line 160) | pub async fn resume( method shutdown (line 233) | pub async fn shutdown(&self) -> std::io::Result<()> { type RolloutCmd (line 71) | enum RolloutCmd { type LogFileInfo (line 249) | struct LogFileInfo { function create_log_file (line 260) | fn create_log_file(config: &Config, session_id: Uuid) -> std::io::Result... function rollout_writer (line 294) | async fn rollout_writer( type JsonlWriter (line 356) | struct JsonlWriter { method write_line (line 361) | async fn write_line(&mut self, item: &impl serde::Serialize) -> std::i... FILE: codex-rs/core/src/safety.rs type SafetyCheck (line 15) | pub enum SafetyCheck { function assess_patch_safety (line 21) | pub fn assess_patch_safety( function assess_command_safety (line 74) | pub fn assess_command_safety( function assess_safety_for_untrusted_command (line 103) | pub(crate) fn assess_safety_for_untrusted_command( function get_platform_sandbox (line 162) | pub fn get_platform_sandbox() -> Option { function is_write_patch_constrained_to_writable_paths (line 173) | fn is_write_patch_constrained_to_writable_paths( function test_writable_roots_constraint (line 253) | fn test_writable_roots_constraint() { function test_request_escalated_privileges (line 303) | fn test_request_escalated_privileges() { function test_request_escalated_privileges_no_sandbox_fallback (line 323) | fn test_request_escalated_privileges_no_sandbox_fallback() { FILE: codex-rs/core/src/seatbelt.rs constant MACOS_SEATBELT_BASE_POLICY (line 11) | const MACOS_SEATBELT_BASE_POLICY: &str = include_str!("seatbelt_base_pol... constant MACOS_PATH_TO_SEATBELT_EXECUTABLE (line 17) | const MACOS_PATH_TO_SEATBELT_EXECUTABLE: &str = "/usr/bin/sandbox-exec"; function spawn_command_under_seatbelt (line 19) | pub async fn spawn_command_under_seatbelt( function create_seatbelt_command_args (line 41) | fn create_seatbelt_command_args( function create_seatbelt_args_with_read_only_git_subpath (line 135) | fn create_seatbelt_args_with_read_only_git_subpath() { function create_seatbelt_args_for_cwd_as_git_repo (line 211) | fn create_seatbelt_args_for_cwd_as_git_repo() { type PopulatedTmp (line 303) | struct PopulatedTmp { function populate_tmpdir (line 311) | fn populate_tmpdir(tmp: &Path) -> PopulatedTmp { FILE: codex-rs/core/src/shell.rs type ZshShell (line 7) | pub struct ZshShell { type PowerShellConfig (line 13) | pub struct PowerShellConfig { type Shell (line 19) | pub enum Shell { method format_default_shell_invocation (line 26) | pub fn format_default_shell_invocation(&self, command: Vec) ->... method name (line 95) | pub fn name(&self) -> Option { function strip_bash_lc (line 106) | fn strip_bash_lc(command: &Vec) -> Option { function default_user_shell (line 120) | pub async fn default_user_shell() -> Shell { function default_user_shell (line 155) | pub async fn default_user_shell() -> Shell { function default_user_shell (line 160) | pub async fn default_user_shell() -> Shell { function test_current_shell_detects_zsh (line 206) | async fn test_current_shell_detects_zsh() { function test_run_with_profile_zshrc_not_exists (line 227) | async fn test_run_with_profile_zshrc_not_exists() { function test_run_with_profile_escaping_and_execution (line 237) | async fn test_run_with_profile_escaping_and_execution() { function test_format_default_shell_invocation_powershell (line 346) | fn test_format_default_shell_invocation_powershell() { FILE: codex-rs/core/src/spawn.rs constant CODEX_SANDBOX_NETWORK_DISABLED_ENV_VAR (line 18) | pub const CODEX_SANDBOX_NETWORK_DISABLED_ENV_VAR: &str = "CODEX_SANDBOX_... constant CODEX_SANDBOX_ENV_VAR (line 23) | pub const CODEX_SANDBOX_ENV_VAR: &str = "CODEX_SANDBOX"; type StdioPolicy (line 26) | pub enum StdioPolicy { function spawn_child_async (line 38) | pub(crate) async fn spawn_child_async( FILE: codex-rs/core/src/terminal.rs function user_agent (line 5) | pub fn user_agent() -> String { function is_valid_header_value_char (line 16) | fn is_valid_header_value_char(c: char) -> bool { function sanitize_header_value (line 20) | fn sanitize_header_value(value: String) -> String { function detect_terminal (line 24) | fn detect_terminal() -> String { FILE: codex-rs/core/src/tool_apply_patch.rs type ApplyPatchToolArgs (line 12) | pub(crate) struct ApplyPatchToolArgs { type ApplyPatchToolType (line 18) | pub enum ApplyPatchToolType { function create_apply_patch_freeform_tool (line 25) | pub(crate) fn create_apply_patch_freeform_tool() -> OpenAiTool { function create_apply_patch_json_tool (line 58) | pub(crate) fn create_apply_patch_json_tool() -> OpenAiTool { FILE: codex-rs/core/src/turn_diff_tracker.rs constant ZERO_OID (line 15) | const ZERO_OID: &str = "0000000000000000000000000000000000000000"; constant DEV_NULL (line 16) | const DEV_NULL: &str = "/dev/null"; type BaselineFileInfo (line 18) | struct BaselineFileInfo { type TurnDiffTracker (line 33) | pub struct TurnDiffTracker { method new (line 46) | pub fn new() -> Self { method on_patch_begin (line 54) | pub fn on_patch_begin(&mut self, changes: &HashMap Option { method find_git_root_cached (line 143) | fn find_git_root_cached(&mut self, start: &Path) -> Option { method relative_to_git_root_str (line 188) | fn relative_to_git_root_str(&mut self, path: &Path) -> String { method git_blob_oid_for_path (line 203) | fn git_blob_oid_for_path(&mut self, path: &Path) -> Option { method get_unified_diff (line 225) | pub fn get_unified_diff(&mut self) -> Result> { method get_file_diff (line 252) | fn get_file_diff(&mut self, internal_file_name: &str) -> String { function git_blob_sha1_hex_bytes (line 372) | fn git_blob_sha1_hex_bytes(data: &[u8]) -> Output { type FileMode (line 383) | enum FileMode { method as_str (line 391) | fn as_str(&self) -> &'static str { method fmt (line 402) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function file_mode_for_path (line 408) | fn file_mode_for_path(path: &Path) -> Option { function file_mode_for_path (line 425) | fn file_mode_for_path(_path: &Path) -> Option { function blob_bytes (line 430) | fn blob_bytes(path: &Path, mode: &FileMode) -> Option> { function symlink_blob_bytes (line 446) | fn symlink_blob_bytes(path: &Path) -> Option> { function symlink_blob_bytes (line 453) | fn symlink_blob_bytes(_path: &Path) -> Option> { function is_windows_drive_or_unc_root (line 458) | fn is_windows_drive_or_unc_root(p: &std::path::Path) -> bool { function git_blob_sha1_hex (line 475) | fn git_blob_sha1_hex(data: &str) -> String { function normalize_diff_for_test (line 479) | fn normalize_diff_for_test(input: &str, root: &Path) -> String { function accumulates_add_and_update (line 507) | fn accumulates_add_and_update() { function accumulates_delete (line 575) | fn accumulates_delete() { function accumulates_move_and_update (line 606) | fn accumulates_move_and_update() { function move_without_1change_yields_no_diff (line 646) | fn move_without_1change_yields_no_diff() { function move_declared_but_file_only_appears_at_dest_is_add (line 670) | fn move_declared_but_file_only_appears_at_dest_is_add() { function update_persists_across_new_baseline_for_new_file (line 705) | fn update_persists_across_new_baseline_for_new_file() { function binary_files_differ_update (line 778) | fn binary_files_differ_update() { function filenames_with_spaces_add_and_update (line 820) | fn filenames_with_spaces_add_and_update() { FILE: codex-rs/core/src/user_agent.rs constant DEFAULT_ORIGINATOR (line 1) | const DEFAULT_ORIGINATOR: &str = "codex_cli_rs"; function get_codex_user_agent (line 3) | pub fn get_codex_user_agent(originator: Option<&str>) -> String { function test_get_codex_user_agent (line 21) | fn test_get_codex_user_agent() { function test_macos (line 28) | fn test_macos() { FILE: codex-rs/core/src/user_notification.rs type UserNotification (line 8) | pub(crate) enum UserNotification { function test_user_notification (line 26) | fn test_user_notification() { FILE: codex-rs/core/src/util.rs constant INITIAL_DELAY_MS (line 6) | const INITIAL_DELAY_MS: u64 = 200; constant BACKOFF_FACTOR (line 7) | const BACKOFF_FACTOR: f64 = 2.0; function backoff (line 9) | pub(crate) fn backoff(attempt: u64) -> Duration { function is_inside_git_repo (line 28) | pub fn is_inside_git_repo(base_dir: &Path) -> bool { FILE: codex-rs/core/tests/common/lib.rs function load_default_config_for_test (line 13) | pub fn load_default_config_for_test(codex_home: &TempDir) -> Config { function load_sse_fixture (line 30) | pub fn load_sse_fixture(path: impl AsRef) -> String { function load_sse_fixture_with_id_from_str (line 50) | pub fn load_sse_fixture_with_id_from_str(raw: &str, id: &str) -> String { function load_sse_fixture_with_id (line 74) | pub fn load_sse_fixture_with_id(path: impl AsRef, id: &... function wait_for_event (line 95) | pub async fn wait_for_event( function wait_for_event_with_timeout (line 106) | pub async fn wait_for_event_with_timeout( FILE: codex-rs/core/tests/suite/cli_stream.rs function chat_mode_stream_cli (line 21) | async fn chat_mode_stream_cli() { function exec_cli_applies_experimental_instructions_file (line 86) | async fn exec_cli_applies_experimental_instructions_file() { function responses_api_stream_cli (line 179) | async fn responses_api_stream_cli() { function integration_creates_and_checks_session_file (line 215) | async fn integration_creates_and_checks_session_file() { function integration_git_info_unit_test (line 452) | async fn integration_git_info_unit_test() { FILE: codex-rs/core/tests/suite/client.rs function sse_completed (line 26) | fn sse_completed(id: &str) -> String { function assert_message_role (line 31) | fn assert_message_role(request_body: &serde_json::Value, role: &str) { function assert_message_starts_with (line 36) | fn assert_message_starts_with(request_body: &serde_json::Value, text: &s... function assert_message_ends_with (line 48) | fn assert_message_ends_with(request_body: &serde_json::Value, text: &str) { function write_auth_json (line 62) | fn write_auth_json( function includes_session_id_and_model_headers_in_request (line 112) | async fn includes_session_id_and_model_headers_in_request() { function includes_base_instructions_override_in_request (line 185) | async fn includes_base_instructions_override_in_request() { function originator_config_override_is_used (line 242) | async fn originator_config_override_is_used() { function chatgpt_auth_sends_correct_request (line 292) | async fn chatgpt_auth_sends_correct_request() { function prefers_chatgpt_token_when_config_prefers_chatgpt (line 372) | async fn prefers_chatgpt_token_when_config_prefers_chatgpt() { function prefers_apikey_when_config_prefers_apikey_even_with_chatgpt_tokens (line 453) | async fn prefers_apikey_when_config_prefers_apikey_even_with_chatgpt_tok... function includes_user_instructions_message_in_request (line 534) | async fn includes_user_instructions_message_in_request() { function azure_overrides_assign_properties_used_for_responses_url (line 595) | async fn azure_overrides_assign_properties_used_for_responses_url() { function env_var_overrides_loaded_auth (line 671) | async fn env_var_overrides_loaded_auth() { function create_dummy_codex_auth (line 746) | fn create_dummy_codex_auth() -> CodexAuth { function history_dedupes_streamed_and_final_messages_across_turns (line 757) | async fn history_dedupes_streamed_and_final_messages_across_turns() { FILE: codex-rs/core/tests/suite/compact.rs function sse (line 26) | fn sse(events: Vec) -> String { function ev_completed (line 42) | fn ev_completed(id: &str) -> Value { function ev_assistant_message (line 53) | fn ev_assistant_message(id: &str, text: &str) -> Value { function sse_response (line 65) | fn sse_response(body: String) -> ResponseTemplate { function mount_sse_once (line 71) | async fn mount_sse_once(server: &MockServer, matcher: M, body: String) constant FIRST_REPLY (line 84) | const FIRST_REPLY: &str = "FIRST_REPLY"; constant SUMMARY_TEXT (line 85) | const SUMMARY_TEXT: &str = "SUMMARY_ONLY_CONTEXT"; constant SUMMARIZE_TRIGGER (line 86) | const SUMMARIZE_TRIGGER: &str = "Start Summarization"; constant THIRD_USER_MSG (line 87) | const THIRD_USER_MSG: &str = "next turn"; function summarize_context_three_requests_and_instructions (line 90) | async fn summarize_context_three_requests_and_instructions() { FILE: codex-rs/core/tests/suite/exec.rs function skip_test (line 17) | fn skip_test() -> bool { function run_test_cmd (line 27) | async fn run_test_cmd(tmp: TempDir, cmd: Vec<&str>) -> Result) -> Vec { function test_exec_stdout_stream_events_echo (line 33) | async fn test_exec_stdout_stream_events_echo() { function test_exec_stderr_stream_events_echo (line 83) | async fn test_exec_stderr_stream_events_echo() { function test_aggregated_output_interleaves_in_order (line 144) | async fn test_aggregated_output_interleaves_in_order() { FILE: codex-rs/core/tests/suite/live_cli.rs function require_api_key (line 13) | fn require_api_key() -> String { function run_live (line 19) | fn run_live(prompt: &str) -> (assert_cmd::assert::Assert, TempDir) { function live_create_file_hello_txt (line 115) | fn live_create_file_hello_txt() { function live_print_working_directory (line 137) | fn live_print_working_directory() { FILE: codex-rs/core/tests/suite/prompt_caching.rs function sse_completed (line 27) | fn sse_completed(id: &str) -> String { function assert_tool_names (line 31) | fn assert_tool_names(body: &serde_json::Value, expected_names: &[&str]) { function codex_mini_latest_tools (line 44) | async fn codex_mini_latest_tools() { function prompt_tools_are_consistent_across_requests (line 128) | async fn prompt_tools_are_consistent_across_requests() { function prefixes_context_and_instructions_once_and_consistently_across_requests (line 211) | async fn prefixes_context_and_instructions_once_and_consistently_across_... function overrides_turn_context_but_keeps_cached_prefix_and_key_constant (line 333) | async fn overrides_turn_context_but_keeps_cached_prefix_and_key_constant... function per_turn_overrides_keep_cached_prefix_and_key_constant (line 456) | async fn per_turn_overrides_keep_cached_prefix_and_key_constant() { FILE: codex-rs/core/tests/suite/seatbelt.rs type TestScenario (line 16) | struct TestScenario { method run_test (line 31) | async fn run_test(&self, policy: &SandboxPolicy, expectations: TestExp... type TestExpectations (line 24) | struct TestExpectations { function if_parent_of_repo_is_writable_then_dot_git_folder_is_writable (line 75) | async fn if_parent_of_repo_is_writable_then_dot_git_folder_is_writable() { function if_git_repo_is_writable_root_then_dot_git_folder_is_read_only (line 101) | async fn if_git_repo_is_writable_root_then_dot_git_folder_is_read_only() { function danger_full_access_allows_all_writes (line 126) | async fn danger_full_access_allows_all_writes() { function read_only_forbids_all_writes (line 145) | async fn read_only_forbids_all_writes() { function create_test_scenario (line 163) | fn create_test_scenario(tmp: &TempDir) -> TestScenario { function touch (line 182) | async fn touch(path: &Path, policy: &SandboxPolicy) -> bool { FILE: codex-rs/core/tests/suite/stream_error_allows_next_turn.rs function sse_completed (line 22) | fn sse_completed(id: &str) -> String { function continue_after_stream_error (line 27) | async fn continue_after_stream_error() { FILE: codex-rs/core/tests/suite/stream_no_completed.rs function sse_incomplete (line 26) | fn sse_incomplete() -> String { function sse_completed (line 30) | fn sse_completed(id: &str) -> String { function retries_on_early_close (line 35) | async fn retries_on_early_close() { FILE: codex-rs/exec/src/cli.rs type Cli (line 8) | pub struct Cli { type Color (line 90) | pub enum Color { type Mode (line 99) | pub enum Mode { method fmt (line 114) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: codex-rs/exec/src/event_processor.rs type CodexStatus (line 6) | pub(crate) enum CodexStatus { type EventProcessor (line 12) | pub(crate) trait EventProcessor { method print_config_summary (line 14) | fn print_config_summary(&mut self, config: &Config, prompt: &str); method process_event (line 17) | fn process_event(&mut self, event: Event) -> CodexStatus; function handle_last_message (line 20) | pub(crate) fn handle_last_message(last_agent_message: Option<&str>, outp... function write_last_message_file (line 31) | fn write_last_message_file(contents: &str, last_message_path: Option<&Pa... FILE: codex-rs/exec/src/event_processor_with_human_output.rs constant MAX_OUTPUT_LINES_FOR_EXEC_TOOL_CALL (line 43) | const MAX_OUTPUT_LINES_FOR_EXEC_TOOL_CALL: usize = 20; type EventProcessorWithHumanOutput (line 44) | pub(crate) struct EventProcessorWithHumanOutput { method create_with_ansi (line 70) | pub(crate) fn create_with_ansi( type ExecCommandBegin (line 118) | struct ExecCommandBegin { type PatchApplyBegin (line 122) | struct PatchApplyBegin { method print_config_summary (line 142) | fn print_config_summary(&mut self, config: &Config, prompt: &str) { method process_event (line 169) | fn process_event(&mut self, event: Event) -> CodexStatus { function escape_command (line 551) | fn escape_command(command: &[String]) -> String { function format_file_change (line 555) | fn format_file_change(change: &FileChange) -> &'static str { function format_mcp_invocation (line 568) | fn format_mcp_invocation(invocation: &McpInvocation) -> String { FILE: codex-rs/exec/src/event_processor_with_json_output.rs type EventProcessorWithJsonOutput (line 15) | pub(crate) struct EventProcessorWithJsonOutput { method new (line 20) | pub fn new(last_message_path: Option) -> Self { method print_config_summary (line 26) | fn print_config_summary(&mut self, config: &Config, prompt: &str) { method process_event (line 42) | fn process_event(&mut self, event: Event) -> CodexStatus { FILE: codex-rs/exec/src/lib.rs function get_specialist_system_prompt (line 39) | fn get_specialist_system_prompt(specialist: &str) -> String { function get_default_system_prompt (line 55) | fn get_default_system_prompt() -> String { function run_main (line 59) | pub async fn run_main(cli: Cli, codex_linux_sandbox_exe: Option... function handle_last_message (line 465) | fn handle_last_message( function wait_for_supervisor_followup (line 487) | async fn wait_for_supervisor_followup( FILE: codex-rs/exec/src/main.rs type TopCli (line 19) | struct TopCli { function main (line 27) | fn main() -> anyhow::Result<()> { FILE: codex-rs/exec/src/realtime_logger.rs type RealtimeLogger (line 13) | pub struct RealtimeLogger { method new (line 26) | pub fn new( method log_event (line 131) | pub async fn log_event(&self, event: &Event) -> anyhow::Result<()> { method append_context (line 460) | async fn append_context(&self, text: &str) -> anyhow::Result<()> { method save_final_result (line 467) | async fn save_final_result(&self, status: &str) -> anyhow::Result<()> { FILE: codex-rs/exec/tests/suite/apply_patch.rs function test_standalone_exec_cli_can_use_apply_patch (line 14) | fn test_standalone_exec_cli_can_use_apply_patch() -> anyhow::Result<()> { function test_apply_patch_tool (line 45) | async fn test_apply_patch_tool() -> anyhow::Result<()> { function test_apply_patch_freeform_tool (line 77) | async fn test_apply_patch_freeform_tool() -> anyhow::Result<()> { FILE: codex-rs/exec/tests/suite/common.rs type SeqResponder (line 19) | struct SeqResponder { method respond (line 25) | fn respond(&self, _: &wiremock::Request) -> wiremock::ResponseTemplate { function run_e2e_exec_test (line 42) | pub(crate) async fn run_e2e_exec_test(cwd: &Path, response_streams: Vec<... FILE: codex-rs/exec/tests/suite/sandbox.rs function spawn_command_under_sandbox (line 12) | async fn spawn_command_under_sandbox( function spawn_command_under_sandbox (line 24) | async fn spawn_command_under_sandbox( function python_multiprocessing_lock_works_under_sandbox (line 45) | async fn python_multiprocessing_lock_works_under_sandbox() { function unix_sock_body (line 95) | fn unix_sock_body() { function allow_unix_socketpair_recvfrom (line 169) | async fn allow_unix_socketpair_recvfrom() { constant IN_SANDBOX_ENV_VAR (line 179) | const IN_SANDBOX_ENV_VAR: &str = "IN_SANDBOX"; function run_code_under_sandbox (line 182) | pub async fn run_code_under_sandbox( FILE: codex-rs/execpolicy/build.rs function main (line 1) | fn main() { FILE: codex-rs/execpolicy/src/arg_matcher.rs type ArgMatcher (line 20) | pub enum ArgMatcher { method cardinality (line 51) | pub fn cardinality(&self) -> ArgMatcherCardinality { method arg_type (line 66) | pub fn arg_type(&self) -> ArgType { method alloc_value (line 98) | fn alloc_value(self, heap: &'v Heap) -> Value<'v> { type Canonical (line 105) | type Canonical = ArgMatcher; type Error (line 109) | type Error = starlark::Error; method unpack_value_impl (line 111) | fn unpack_value_impl(value: Value<'v>) -> starlark::Result Option { FILE: codex-rs/execpolicy/src/arg_resolver.rs type PositionalArg (line 10) | pub struct PositionalArg { function resolve_observed_args_with_patterns (line 15) | pub fn resolve_observed_args_with_patterns( type ParitionedArgs (line 148) | struct ParitionedArgs { function partition_args (line 156) | fn partition_args(program: &str, arg_patterns: &Vec) -> Resu... function get_range_checked (line 190) | fn get_range_checked(vec: &[T], range: std::ops::Range) -> Res... FILE: codex-rs/execpolicy/src/arg_type.rs type ArgType (line 15) | pub enum ArgType { method validate (line 32) | pub fn validate(&self, value: &str) -> Result<()> { method might_write_file (line 72) | pub fn might_write_file(&self) -> bool { type Canonical (line 86) | type Canonical = ArgType; FILE: codex-rs/execpolicy/src/error.rs type Result (line 10) | pub type Result = std::result::Result; type Error (line 15) | pub enum Error { FILE: codex-rs/execpolicy/src/exec_call.rs type ExecCall (line 6) | pub struct ExecCall { method new (line 12) | pub fn new(program: &str, args: &[&str]) -> Self { method fmt (line 21) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { FILE: codex-rs/execpolicy/src/execv_checker.rs type ExecvChecker (line 28) | pub struct ExecvChecker { method new (line 33) | pub fn new(execv_policy: Policy) -> Self { method r#match (line 37) | pub fn r#match(&self, exec_call: &ExecCall) -> Result { method check (line 43) | pub fn check( function ensure_absolute_path (line 100) | fn ensure_absolute_path(path: &str, cwd: &Option) -> Result bool { function setup (line 149) | fn setup(fake_cp: &Path) -> ExecvChecker { function test_check_valid_input_files (line 165) | fn test_check_valid_input_files() -> Result<()> { FILE: codex-rs/execpolicy/src/lib.rs constant DEFAULT_POLICY (line 40) | const DEFAULT_POLICY: &str = include_str!("default.policy"); function get_default_policy (line 42) | pub fn get_default_policy() -> starlark::Result { FILE: codex-rs/execpolicy/src/main.rs constant MATCHED_BUT_WRITES_FILES_EXIT_CODE (line 16) | const MATCHED_BUT_WRITES_FILES_EXIT_CODE: i32 = 12; constant MIGHT_BE_SAFE_EXIT_CODE (line 17) | const MIGHT_BE_SAFE_EXIT_CODE: i32 = 13; constant FORBIDDEN_EXIT_CODE (line 18) | const FORBIDDEN_EXIT_CODE: i32 = 14; type Args (line 22) | pub struct Args { type Command (line 37) | pub enum Command { type ExecArg (line 54) | pub struct ExecArg { function main (line 61) | fn main() -> Result<()> { function check_command (line 96) | fn check_command( type Output (line 128) | pub enum Output { function deserialize_from_json (line 150) | fn deserialize_from_json<'de, D>(deserializer: D) -> Result Result { FILE: codex-rs/execpolicy/src/opt.rs type Opt (line 19) | pub struct Opt { method new (line 40) | pub fn new(opt: String, meta: OptMeta, required: bool) -> Self { method name (line 48) | pub fn name(&self) -> &str { type Canonical (line 55) | type Canonical = Opt; type Error (line 59) | type Error = starlark::Error; method unpack_value_impl (line 61) | fn unpack_value_impl(value: Value<'v>) -> starlark::Result Value<'v> { type OptMeta (line 31) | pub enum OptMeta { type Canonical (line 76) | type Canonical = OptMeta; FILE: codex-rs/execpolicy/src/policy.rs type Policy (line 15) | pub struct Policy { method new (line 22) | pub fn new( method check (line 44) | pub fn check(&self, exec_call: &ExecCall) -> Result { method check_each_good_list_individually (line 88) | pub fn check_each_good_list_individually(&self) -> Vec Vec Self { method parse (line 37) | pub fn parse(&self) -> starlark::Result { type ForbiddenProgramRegex (line 75) | pub struct ForbiddenProgramRegex { type PolicyBuilder (line 81) | struct PolicyBuilder { method new (line 88) | fn new() -> Self { method build (line 96) | fn build(self) -> Result { method add_program_spec (line 103) | fn add_program_spec(&self, program_spec: ProgramSpec) { method add_forbidden_substrings (line 110) | fn add_forbidden_substrings(&self, substrings: &[String]) { method add_forbidden_program_regex (line 115) | fn add_forbidden_program_regex(&self, regex: Regex, reason: String) { function policy_builtins (line 122) | fn policy_builtins(builder: &mut GlobalsBuilder) { FILE: codex-rs/execpolicy/src/program.rs type ProgramSpec (line 19) | pub struct ProgramSpec { method new (line 33) | pub fn new( method check (line 94) | pub fn check(&self, exec_call: &ExecCall) -> Result { method verify_should_match_list (line 197) | pub fn verify_should_match_list(&self) -> Vec Vec Result<()> { FILE: codex-rs/execpolicy/src/valid_exec.rs type ValidExec (line 7) | pub struct ValidExec { method new (line 21) | pub fn new(program: &str, args: Vec, system_path: &[&str])... method might_write_files (line 33) | pub fn might_write_files(&self) -> bool { type MatchedArg (line 40) | pub struct MatchedArg { method new (line 47) | pub fn new(index: usize, r#type: ArgType, value: &str) -> Result { type MatchedOpt (line 59) | pub struct MatchedOpt { method new (line 69) | pub fn new(name: &str, value: &str, r#type: ArgType) -> Result { method name (line 78) | pub fn name(&self) -> &str { type MatchedFlag (line 84) | pub struct MatchedFlag { method new (line 90) | pub fn new(name: &str) -> Self { FILE: codex-rs/execpolicy/tests/suite/bad.rs function verify_everything_in_bad_list_is_rejected (line 5) | fn verify_everything_in_bad_list_is_rejected() { FILE: codex-rs/execpolicy/tests/suite/cp.rs function setup (line 15) | fn setup() -> Policy { function test_cp_no_args (line 20) | fn test_cp_no_args() { function test_cp_one_arg (line 34) | fn test_cp_one_arg() { function test_cp_one_file (line 48) | fn test_cp_one_file() -> Result<()> { function test_cp_multiple_files (line 68) | fn test_cp_multiple_files() -> Result<()> { FILE: codex-rs/execpolicy/tests/suite/good.rs function verify_everything_in_good_list_is_allowed (line 5) | fn verify_everything_in_good_list_is_allowed() { FILE: codex-rs/execpolicy/tests/suite/head.rs function setup (line 16) | fn setup() -> Policy { function test_head_no_args (line 21) | fn test_head_no_args() { function test_head_one_file_no_flags (line 42) | fn test_head_one_file_no_flags() -> Result<()> { function test_head_one_flag_one_file (line 63) | fn test_head_one_flag_one_file() -> Result<()> { function test_head_invalid_n_as_0 (line 89) | fn test_head_invalid_n_as_0() { function test_head_invalid_n_as_nonint_float (line 101) | fn test_head_invalid_n_as_nonint_float() { function test_head_invalid_n_as_float (line 113) | fn test_head_invalid_n_as_float() { function test_head_invalid_n_as_negative_int (line 125) | fn test_head_invalid_n_as_negative_int() { FILE: codex-rs/execpolicy/tests/suite/literal.rs function test_invalid_subcommand (line 13) | fn test_invalid_subcommand() -> Result<()> { FILE: codex-rs/execpolicy/tests/suite/ls.rs function setup (line 15) | fn setup() -> Policy { function test_ls_no_args (line 20) | fn test_ls_no_args() { function test_ls_dash_a_dash_l (line 32) | fn test_ls_dash_a_dash_l() { function test_ls_dash_z (line 50) | fn test_ls_dash_z() { function test_ls_dash_al (line 66) | fn test_ls_dash_al() { function test_ls_one_file_arg (line 81) | fn test_ls_one_file_arg() -> Result<()> { function test_ls_multiple_file_args (line 99) | fn test_ls_multiple_file_args() -> Result<()> { function test_ls_multiple_flags_and_file_args (line 121) | fn test_ls_multiple_flags_and_file_args() -> Result<()> { function test_flags_after_file_args (line 145) | fn test_flags_after_file_args() -> Result<()> { FILE: codex-rs/execpolicy/tests/suite/parse_sed_command.rs function parses_simple_print_command (line 5) | fn parses_simple_print_command() { function rejects_malformed_print_command (line 10) | fn rejects_malformed_print_command() { FILE: codex-rs/execpolicy/tests/suite/pwd.rs function setup (line 15) | fn setup() -> Policy { function test_pwd_no_args (line 20) | fn test_pwd_no_args() { function test_pwd_capital_l (line 35) | fn test_pwd_capital_l() { function test_pwd_capital_p (line 51) | fn test_pwd_capital_p() { function test_pwd_extra_args (line 67) | fn test_pwd_extra_args() { FILE: codex-rs/execpolicy/tests/suite/sed.rs function setup (line 16) | fn setup() -> Policy { function test_sed_print_specific_lines (line 21) | fn test_sed_print_specific_lines() -> Result<()> { function test_sed_print_specific_lines_with_e_flag (line 43) | fn test_sed_print_specific_lines_with_e_flag() -> Result<()> { function test_sed_reject_dangerous_command (line 65) | fn test_sed_reject_dangerous_command() { function test_sed_verify_e_or_pattern_is_required (line 77) | fn test_sed_verify_e_or_pattern_is_required() { FILE: codex-rs/file-search/src/cli.rs type Cli (line 10) | pub struct Cli { FILE: codex-rs/file-search/src/lib.rs type FileMatch (line 36) | pub struct FileMatch { type FileSearchResults (line 43) | pub struct FileSearchResults { type Reporter (line 48) | pub trait Reporter { method report_match (line 49) | fn report_match(&self, file_match: &FileMatch); method warn_matches_truncated (line 50) | fn warn_matches_truncated(&self, total_match_count: usize, shown_match... method warn_no_search_pattern (line 51) | fn warn_no_search_pattern(&self, search_directory: &Path); function run_main (line 54) | pub async fn run_main( function run (line 124) | pub fn run( function sort_matches (line 283) | fn sort_matches(matches: &mut [(u32, String)]) { type BestMatchesList (line 291) | struct BestMatchesList { method new (line 303) | fn new(max_count: usize, pattern: Pattern, matcher: Matcher) -> Self { method insert (line 314) | fn insert(&mut self, line: &str) { type WorkerCount (line 333) | struct WorkerCount { function create_worker_count (line 338) | fn create_worker_count(num_workers: NonZero) -> WorkerCount { function create_pattern (line 357) | fn create_pattern(pattern: &str) -> Pattern { function verify_score_is_none_for_non_match (line 371) | fn verify_score_is_none_for_non_match() { function tie_breakers_sort_by_path_when_scores_equal (line 382) | fn tie_breakers_sort_by_path_when_scores_equal() { FILE: codex-rs/file-search/src/main.rs function main (line 12) | async fn main() -> anyhow::Result<()> { type StdioReporter (line 22) | struct StdioReporter { method report_match (line 28) | fn report_match(&self, file_match: &FileMatch) { method warn_matches_truncated (line 61) | fn warn_matches_truncated(&self, total_match_count: usize, shown_match_c... method warn_no_search_pattern (line 72) | fn warn_no_search_pattern(&self, search_directory: &Path) { FILE: codex-rs/linux-sandbox/src/landlock.rs function apply_sandbox_policy_to_current_thread (line 30) | pub(crate) fn apply_sandbox_policy_to_current_thread( function install_filesystem_landlock_rules_on_current_thread (line 59) | fn install_filesystem_landlock_rules_on_current_thread(writable_roots: V... function install_network_seccomp_filter_on_current_thread (line 87) | fn install_network_seccomp_filter_on_current_thread() -> std::result::Re... FILE: codex-rs/linux-sandbox/src/lib.rs function run_main (line 7) | pub fn run_main() -> ! { function run_main (line 12) | pub fn run_main() -> ! { FILE: codex-rs/linux-sandbox/src/linux_run_main.rs type LandlockCommand (line 8) | pub struct LandlockCommand { function run_main (line 20) | pub fn run_main() -> ! { FILE: codex-rs/linux-sandbox/src/main.rs function main (line 4) | fn main() -> ! { FILE: codex-rs/linux-sandbox/tests/suite/landlock.rs constant SHORT_TIMEOUT_MS (line 17) | const SHORT_TIMEOUT_MS: u64 = 200; constant SHORT_TIMEOUT_MS (line 19) | const SHORT_TIMEOUT_MS: u64 = 5_000; constant LONG_TIMEOUT_MS (line 22) | const LONG_TIMEOUT_MS: u64 = 1_000; constant LONG_TIMEOUT_MS (line 24) | const LONG_TIMEOUT_MS: u64 = 5_000; constant NETWORK_TIMEOUT_MS (line 27) | const NETWORK_TIMEOUT_MS: u64 = 2_000; constant NETWORK_TIMEOUT_MS (line 29) | const NETWORK_TIMEOUT_MS: u64 = 10_000; function create_env_from_core_vars (line 31) | fn create_env_from_core_vars() -> HashMap { function run_cmd (line 37) | async fn run_cmd(cmd: &[&str], writable_roots: &[PathBuf], timeout_ms: u... function test_root_read (line 76) | async fn test_root_read() { function test_root_write (line 82) | async fn test_root_write() { function test_dev_null_write (line 94) | async fn test_dev_null_write() { function test_writable_root (line 106) | async fn test_writable_root() { function test_timeout (line 125) | async fn test_timeout() { function assert_network_blocked (line 134) | async fn assert_network_blocked(cmd: &[&str]) { function sandbox_blocks_curl (line 183) | async fn sandbox_blocks_curl() { function sandbox_blocks_wget (line 188) | async fn sandbox_blocks_wget() { function sandbox_blocks_ping (line 193) | async fn sandbox_blocks_ping() { function sandbox_blocks_nc (line 199) | async fn sandbox_blocks_nc() { function sandbox_blocks_ssh (line 205) | async fn sandbox_blocks_ssh() { function sandbox_blocks_getent (line 220) | async fn sandbox_blocks_getent() { function sandbox_blocks_dev_tcp_redirection (line 225) | async fn sandbox_blocks_dev_tcp_redirection() { FILE: codex-rs/login/src/auth_manager.rs type CachedAuth (line 10) | struct CachedAuth { type AuthManager (line 24) | pub struct AuthManager { method new (line 34) | pub fn new(codex_home: PathBuf, preferred_auth_mode: AuthMode) -> Self { method from_auth_for_testing (line 48) | pub fn from_auth_for_testing(auth: CodexAuth) -> Arc { method auth (line 61) | pub fn auth(&self) -> Option { method preferred_auth_method (line 66) | pub fn preferred_auth_method(&self) -> AuthMode { method reload (line 75) | pub fn reload(&self) -> bool { method auths_equal (line 89) | fn auths_equal(a: &Option, b: &Option) -> bool { method shared (line 98) | pub fn shared(codex_home: PathBuf, preferred_auth_mode: AuthMode) -> A... method refresh_token (line 104) | pub async fn refresh_token(&self) -> std::io::Result> { method logout (line 123) | pub fn logout(&self) -> std::io::Result { FILE: codex-rs/login/src/lib.rs constant CLIENT_ID (line 31) | pub const CLIENT_ID: &str = "app_EMoamEEZ73f0CkXaXp7hrann"; constant OPENAI_API_KEY_ENV_VAR (line 32) | pub const OPENAI_API_KEY_ENV_VAR: &str = "OPENAI_API_KEY"; type CodexAuth (line 37) | pub struct CodexAuth { method from_api_key (line 52) | pub fn from_api_key(api_key: &str) -> Self { method refresh_token (line 61) | pub async fn refresh_token(&self) -> Result { method from_codex_home (line 96) | pub fn from_codex_home( method get_token_data (line 103) | pub async fn get_token_data(&self) -> Result { method get_token (line 148) | pub async fn get_token(&self) -> Result { method get_account_id (line 159) | pub fn get_account_id(&self) -> Option { method get_plan_type (line 164) | pub fn get_plan_type(&self) -> Option { method get_current_auth_json (line 169) | fn get_current_auth_json(&self) -> Option { method get_current_token_data (line 174) | fn get_current_token_data(&self) -> Option { method create_dummy_chatgpt_auth_for_testing (line 179) | pub fn create_dummy_chatgpt_auth_for_testing() -> Self { method eq (line 46) | fn eq(&self, other: &Self) -> bool { function load_auth (line 201) | fn load_auth( function read_openai_api_key_from_env (line 271) | fn read_openai_api_key_from_env() -> Option { function get_auth_file (line 277) | pub fn get_auth_file(codex_home: &Path) -> PathBuf { function logout (line 283) | pub fn logout(codex_home: &Path) -> std::io::Result { function login_with_api_key (line 292) | pub fn login_with_api_key(codex_home: &Path, api_key: &str) -> std::io::... function try_read_auth_json (line 303) | pub fn try_read_auth_json(auth_file: &Path) -> std::io::Result std... function update_tokens (line 326) | async fn update_tokens( function try_refresh_token (line 347) | async fn try_refresh_token(refresh_token: String) -> std::io::Result std::io... function id_token_info_handles_missing_fields (line 642) | fn id_token_info_handles_missing_fields() { function loads_api_key_from_auth_json (line 659) | async fn loads_api_key_from_auth_json() { function logout_removes_auth_file (line 684) | fn logout_removes_auth_file() -> Result<(), std::io::Error> { FILE: codex-rs/login/src/pkce.rs type PkceCodes (line 7) | pub struct PkceCodes { function generate_pkce (line 12) | pub fn generate_pkce() -> PkceCodes { FILE: codex-rs/login/src/server.rs constant DEFAULT_ISSUER (line 20) | const DEFAULT_ISSUER: &str = "https://auth.openai.com"; constant DEFAULT_PORT (line 21) | const DEFAULT_PORT: u16 = 1455; type ServerOptions (line 24) | pub struct ServerOptions { method new (line 34) | pub fn new(codex_home: PathBuf, client_id: String) -> Self { type LoginServer (line 46) | pub struct LoginServer { method block_until_done (line 54) | pub async fn block_until_done(self) -> io::Result<()> { method cancel (line 60) | pub fn cancel(&self) { method cancel_handle (line 64) | pub fn cancel_handle(&self) -> ShutdownHandle { type ShutdownHandle (line 70) | pub struct ShutdownHandle { method shutdown (line 75) | pub fn shutdown(&self) { function run_login_server (line 80) | pub fn run_login_server(opts: ServerOptions) -> io::Result { type HandledRequest (line 170) | enum HandledRequest { function process_request (line 176) | async fn process_request( function build_authorize_url (line 274) | fn build_authorize_url( function generate_state (line 300) | fn generate_state() -> String { type ExchangedTokens (line 306) | struct ExchangedTokens { function exchange_code_for_tokens (line 312) | async fn exchange_code_for_tokens( function persist_tokens_async (line 356) | async fn persist_tokens_async( function read_or_default (line 401) | fn read_or_default(path: &Path) -> AuthDotJson { function compose_success_url (line 412) | fn compose_success_url(port: u16, issuer: &str, id_token: &str, access_t... function jwt_auth_claims (line 460) | fn jwt_auth_claims(jwt: &str) -> serde_json::Map bool { type IdTokenInfo (line 57) | pub struct IdTokenInfo { method get_chatgpt_plan_type (line 67) | pub fn get_chatgpt_plan_type(&self) -> Option { type PlanType (line 77) | pub(crate) enum PlanType { method is_plan_that_should_use_api_key (line 83) | fn is_plan_that_should_use_api_key(&self) -> bool { method as_string (line 96) | pub fn as_string(&self) -> String { type KnownPlan (line 106) | pub(crate) enum KnownPlan { type IdClaims (line 117) | struct IdClaims { type AuthClaims (line 125) | struct AuthClaims { type IdTokenInfoError (line 131) | pub enum IdTokenInfoError { function parse_id_token (line 140) | pub(crate) fn parse_id_token(id_token: &str) -> Result(deserializer: D) -> Result(id_token: &IdTokenInfo, serializer: S) -> Resul... function id_token_info_parses_email_and_plan (line 179) | fn id_token_info_parses_email_and_plan() { FILE: codex-rs/login/tests/suite/login_server_e2e.rs constant CODEX_SANDBOX_NETWORK_DISABLED_ENV_VAR (line 12) | pub const CODEX_SANDBOX_NETWORK_DISABLED_ENV_VAR: &str = "CODEX_SANDBOX_... function start_mock_issuer (line 14) | fn start_mock_issuer() -> (SocketAddr, thread::JoinHandle<()>) { function end_to_end_login_flow_persists_auth_json (line 77) | async fn end_to_end_login_flow_persists_auth_json() { function creates_missing_codex_home_dir (line 136) | async fn creates_missing_codex_home_dir() { FILE: codex-rs/mcp-client/src/main.rs function main (line 27) | async fn main() -> Result<()> { FILE: codex-rs/mcp-client/src/mcp_client.rs constant CHANNEL_CAPACITY (line 57) | const CHANNEL_CAPACITY: usize = 128; type PendingSender (line 60) | type PendingSender = oneshot::Sender; type McpClient (line 63) | pub struct McpClient { method new_stdio_client (line 85) | pub async fn new_stdio_client( method send_request (line 195) | pub async fn send_request( method send_notification (line 286) | pub async fn send_notification(&self, params: N::Params) -> Result<()> method initialize (line 318) | pub async fn initialize( method list_tools (line 333) | pub async fn list_tools( method call_tool (line 342) | pub async fn call_tool( method dispatch_response (line 354) | async fn dispatch_response( method dispatch_error (line 377) | async fn dispatch_error( method drop (line 393) | fn drop(&mut self) { constant DEFAULT_ENV_VARS (line 406) | const DEFAULT_ENV_VARS: &[&str] = &[ constant DEFAULT_ENV_VARS (line 432) | const DEFAULT_ENV_VARS: &[&str] = &[ function create_env_for_mcp_server (line 445) | fn create_env_for_mcp_server( function test_create_env_for_mcp_server (line 463) | fn test_create_env_for_mcp_server() { FILE: codex-rs/mcp-server/src/codex_message_processor.rs constant LOGIN_CHATGPT_TIMEOUT (line 68) | const LOGIN_CHATGPT_TIMEOUT: Duration = Duration::from_secs(10 * 60); type ActiveLogin (line 70) | struct ActiveLogin { method drop (line 76) | fn drop(&self) { type CodexMessageProcessor (line 82) | pub(crate) struct CodexMessageProcessor { method new (line 95) | pub fn new( method process_request (line 114) | pub async fn process_request(&mut self, request: ClientRequest) { method login_chatgpt (line 158) | async fn login_chatgpt(&mut self, request_id: RequestId) { method cancel_login_chatgpt (line 260) | async fn cancel_login_chatgpt(&mut self, request_id: RequestId, login_... method logout_chatgpt (line 284) | async fn logout_chatgpt(&mut self, request_id: RequestId) { method get_auth_status (line 321) | async fn get_auth_status( method get_config_toml (line 363) | async fn get_config_toml(&self, request_id: RequestId) { method process_new_conversation (line 419) | async fn process_new_conversation(&self, request_id: RequestId, params... method send_user_message (line 457) | async fn send_user_message(&self, request_id: RequestId, params: SendU... method send_user_turn (line 498) | async fn send_user_turn(&self, request_id: RequestId, params: SendUser... method interrupt_conversation (line 550) | async fn interrupt_conversation( method add_conversation_listener (line 580) | async fn add_conversation_listener( method remove_conversation_listener (line 655) | async fn remove_conversation_listener( method git_diff_to_origin (line 679) | async fn git_diff_to_origin(&self, request_id: RequestId, cwd: PathBuf) { function apply_bespoke_event_handling (line 701) | async fn apply_bespoke_event_handling( function derive_config_from_params (line 775) | fn derive_config_from_params( function on_patch_approval_response (line 816) | async fn on_patch_approval_response( function on_exec_approval_response (line 858) | async fn on_exec_approval_response( FILE: codex-rs/mcp-server/src/codex_tool_config.rs type CodexToolCallParam (line 19) | pub struct CodexToolCallParam { method into_config (line 136) | pub fn into_config( type CodexToolCallApprovalPolicy (line 63) | pub enum CodexToolCallApprovalPolicy { method from (line 71) | fn from(value: CodexToolCallApprovalPolicy) -> Self { type CodexToolCallSandboxMode (line 85) | pub enum CodexToolCallSandboxMode { method from (line 92) | fn from(value: CodexToolCallSandboxMode) -> Self { function create_tool_for_codex_tool_call_param (line 102) | pub(crate) fn create_tool_for_codex_tool_call_param() -> Tool { type CodexToolCallReplyParam (line 184) | pub struct CodexToolCallReplyParam { function create_tool_for_codex_tool_call_reply_param (line 193) | pub(crate) fn create_tool_for_codex_tool_call_reply_param() -> Tool { function verify_codex_tool_json_schema (line 240) | fn verify_codex_tool_json_schema() { function verify_codex_tool_reply_json_schema (line 308) | fn verify_codex_tool_reply_json_schema() { FILE: codex-rs/mcp-server/src/codex_tool_runner.rs constant INVALID_PARAMS_ERROR_CODE (line 34) | pub(crate) const INVALID_PARAMS_ERROR_CODE: i64 = -32602; function run_codex_tool_session (line 40) | pub async fn run_codex_tool_session( function run_codex_tool_session_reply (line 117) | pub async fn run_codex_tool_session_reply( function run_codex_tool_session_inner (line 153) | async fn run_codex_tool_session_inner( FILE: codex-rs/mcp-server/src/error_code.rs constant INVALID_REQUEST_ERROR_CODE (line 1) | pub(crate) const INVALID_REQUEST_ERROR_CODE: i64 = -32600; constant INTERNAL_ERROR_CODE (line 2) | pub(crate) const INTERNAL_ERROR_CODE: i64 = -32603; FILE: codex-rs/mcp-server/src/exec_approval.rs type ExecApprovalElicitRequestParams (line 22) | pub struct ExecApprovalElicitRequestParams { type ExecApprovalResponse (line 45) | pub struct ExecApprovalResponse { function handle_exec_approval_request (line 50) | pub(crate) async fn handle_exec_approval_request( function on_exec_approval_response (line 116) | async fn on_exec_approval_response( FILE: codex-rs/mcp-server/src/json_to_toml.rs function json_to_toml (line 5) | pub(crate) fn json_to_toml(v: JsonValue) -> TomlValue { function json_number_to_toml (line 37) | fn json_number_to_toml() { function json_array_to_toml (line 43) | fn json_array_to_toml() { function json_bool_to_toml (line 52) | fn json_bool_to_toml() { function json_float_to_toml (line 58) | fn json_float_to_toml() { function json_null_to_toml (line 64) | fn json_null_to_toml() { function json_object_nested (line 70) | fn json_object_nested() { FILE: codex-rs/mcp-server/src/lib.rs constant CHANNEL_CAPACITY (line 47) | const CHANNEL_CAPACITY: usize = 128; function run_main (line 49) | pub async fn run_main( FILE: codex-rs/mcp-server/src/main.rs function main (line 5) | fn main() -> anyhow::Result<()> { FILE: codex-rs/mcp-server/src/message_processor.rs type MessageProcessor (line 38) | pub(crate) struct MessageProcessor { method new (line 50) | pub(crate) fn new( method process_request (line 76) | pub(crate) async fn process_request(&mut self, request: JSONRPCRequest) { method process_response (line 144) | pub(crate) async fn process_response(&mut self, response: JSONRPCRespo... method process_notification (line 151) | pub(crate) async fn process_notification(&mut self, notification: JSON... method process_error (line 188) | pub(crate) fn process_error(&mut self, err: JSONRPCError) { method handle_initialize (line 192) | async fn handle_initialize( method send_response (line 237) | async fn send_response(&self, id: RequestId, result: T::Result) method handle_ping (line 244) | async fn handle_ping( method handle_list_resources (line 255) | fn handle_list_resources( method handle_list_resource_templates (line 262) | fn handle_list_resource_templates( method handle_read_resource (line 270) | fn handle_read_resource( method handle_subscribe (line 277) | fn handle_subscribe( method handle_unsubscribe (line 284) | fn handle_unsubscribe( method handle_list_prompts (line 291) | fn handle_list_prompts( method handle_get_prompt (line 298) | fn handle_get_prompt( method handle_list_tools (line 305) | async fn handle_list_tools( method handle_call_tool (line 323) | async fn handle_call_tool( method handle_tool_call_codex (line 352) | async fn handle_tool_call_codex(&self, id: RequestId, arguments: Optio... method handle_tool_call_codex_session_reply (line 428) | async fn handle_tool_call_codex_session_reply( method handle_set_level (line 535) | fn handle_set_level( method handle_complete (line 542) | fn handle_complete( method handle_cancelled_notification (line 553) | async fn handle_cancelled_notification( method handle_progress_notification (line 604) | fn handle_progress_notification( method handle_resource_list_changed (line 611) | fn handle_resource_list_changed( method handle_resource_updated (line 621) | fn handle_resource_updated( method handle_prompt_list_changed (line 628) | fn handle_prompt_list_changed( method handle_tool_list_changed (line 635) | fn handle_tool_list_changed( method handle_logging_message (line 642) | fn handle_logging_message( FILE: codex-rs/mcp-server/src/outgoing_message.rs type OutgoingMessageSender (line 25) | pub(crate) struct OutgoingMessageSender { method new (line 32) | pub(crate) fn new(sender: mpsc::Sender) -> Self { method send_request (line 40) | pub(crate) async fn send_request( method notify_client_response (line 62) | pub(crate) async fn notify_client_response(&self, id: RequestId, resul... method send_response (line 80) | pub(crate) async fn send_response(&self, id: RequestId, ... method send_event_as_notification (line 100) | pub(crate) async fn send_event_as_notification( method send_server_notification (line 125) | pub(crate) async fn send_server_notification(&self, notification: Serv... method send_notification (line 136) | pub(crate) async fn send_notification(&self, notification: OutgoingNot... method send_error (line 141) | pub(crate) async fn send_error(&self, id: RequestId, error: JSONRPCErr... type OutgoingMessage (line 148) | pub(crate) enum OutgoingMessage { method from (line 156) | fn from(val: OutgoingMessage) -> Self { type OutgoingRequest (line 191) | pub(crate) struct OutgoingRequest { type OutgoingNotification (line 199) | pub(crate) struct OutgoingNotification { type OutgoingNotificationParams (line 206) | pub(crate) struct OutgoingNotificationParams { type OutgoingNotificationMeta (line 219) | pub(crate) struct OutgoingNotificationMeta { method new (line 224) | pub(crate) fn new(request_id: Option) -> Self { type OutgoingResponse (line 230) | pub(crate) struct OutgoingResponse { type OutgoingError (line 236) | pub(crate) struct OutgoingError { function test_send_event_as_notification (line 252) | async fn test_send_event_as_notification() { function test_send_event_as_notification_with_meta (line 283) | async fn test_send_event_as_notification_with_meta() { FILE: codex-rs/mcp-server/src/patch_approval.rs type PatchApprovalElicitRequestParams (line 23) | pub struct PatchApprovalElicitRequestParams { type PatchApprovalResponse (line 39) | pub struct PatchApprovalResponse { function handle_patch_approval_request (line 44) | pub(crate) async fn handle_patch_approval_request( function on_patch_approval_response (line 111) | pub(crate) async fn on_patch_approval_response( FILE: codex-rs/mcp-server/tests/common/lib.rs function to_response (line 13) | pub fn to_response(response: JSONRPCResponse) -> an... FILE: codex-rs/mcp-server/tests/common/mcp_process.rs type McpProcess (line 41) | pub struct McpProcess { method new (line 53) | pub async fn new(codex_home: &Path) -> anyhow::Result { method initialize (line 89) | pub async fn initialize(&mut self) -> anyhow::Result<()> { method send_codex_tool_call (line 151) | pub async fn send_codex_tool_call( method send_new_conversation_request (line 167) | pub async fn send_new_conversation_request( method send_add_conversation_listener_request (line 176) | pub async fn send_add_conversation_listener_request( method send_send_user_message_request (line 185) | pub async fn send_send_user_message_request( method send_remove_conversation_listener_request (line 195) | pub async fn send_remove_conversation_listener_request( method send_send_user_turn_request (line 205) | pub async fn send_send_user_turn_request( method send_interrupt_conversation_request (line 214) | pub async fn send_interrupt_conversation_request( method send_get_auth_status_request (line 223) | pub async fn send_get_auth_status_request( method send_get_config_toml_request (line 232) | pub async fn send_get_config_toml_request(&mut self) -> anyhow::Result... method send_login_chat_gpt_request (line 237) | pub async fn send_login_chat_gpt_request(&mut self) -> anyhow::Result<... method send_cancel_login_chat_gpt_request (line 242) | pub async fn send_cancel_login_chat_gpt_request( method send_logout_chat_gpt_request (line 251) | pub async fn send_logout_chat_gpt_request(&mut self) -> anyhow::Result... method send_request (line 255) | async fn send_request( method send_response (line 272) | pub async fn send_response( method send_jsonrpc_message (line 285) | async fn send_jsonrpc_message(&mut self, message: JSONRPCMessage) -> a... method read_jsonrpc_message (line 293) | async fn read_jsonrpc_message(&mut self) -> anyhow::Result anyhow::R... method read_stream_until_response_message (line 322) | pub async fn read_stream_until_response_message( method read_stream_until_error_message (line 349) | pub async fn read_stream_until_error_message( method read_stream_until_notification_message (line 376) | pub async fn read_stream_until_notification_message( method read_stream_until_legacy_task_complete_notification (line 405) | pub async fn read_stream_until_legacy_task_complete_notification( FILE: codex-rs/mcp-server/tests/common/mock_model_server.rs function create_mock_chat_completions_server (line 13) | pub async fn create_mock_chat_completions_server(responses: Vec)... type SeqResponder (line 32) | struct SeqResponder { method respond (line 38) | fn respond(&self, _: &wiremock::Request) -> ResponseTemplate { FILE: codex-rs/mcp-server/tests/common/responses.rs function create_shell_sse_response (line 4) | pub fn create_shell_sse_response( function create_final_assistant_message_sse_response (line 42) | pub fn create_final_assistant_message_sse_response(message: &str) -> any... function create_apply_patch_sse_response (line 61) | pub fn create_apply_patch_sse_response( FILE: codex-rs/mcp-server/tests/suite/auth.rs constant DEFAULT_READ_TIMEOUT (line 15) | const DEFAULT_READ_TIMEOUT: std::time::Duration = std::time::Duration::f... function create_config_toml (line 18) | fn create_config_toml(codex_home: &Path) -> std::io::Result<()> { function get_auth_status_no_auth (line 40) | async fn get_auth_status_no_auth() { function get_auth_status_with_api_key (line 73) | async fn get_auth_status_with_api_key() { function get_auth_status_with_api_key_no_include_token (line 108) | async fn get_auth_status_with_api_key_no_include_token() { FILE: codex-rs/mcp-server/tests/suite/codex_message_processor_flow.rs constant DEFAULT_READ_TIMEOUT (line 32) | const DEFAULT_READ_TIMEOUT: std::time::Duration = std::time::Duration::f... function test_codex_jsonrpc_conversation_flow (line 35) | async fn test_codex_jsonrpc_conversation_flow() { function test_send_user_turn_changes_approval_policy_behavior (line 172) | async fn test_send_user_turn_changes_approval_policy_behavior() { function create_config_toml (line 350) | fn create_config_toml(codex_home: &Path, server_uri: &str) -> std::io::R... FILE: codex-rs/mcp-server/tests/suite/codex_tool.rs constant DEFAULT_READ_TIMEOUT (line 33) | const DEFAULT_READ_TIMEOUT: std::time::Duration = std::time::Duration::f... function test_shell_command_approval_triggers_elicitation (line 39) | async fn test_shell_command_approval_triggers_elicitation() { function shell_command_approval_triggers_elicitation (line 54) | async fn shell_command_approval_triggers_elicitation() -> anyhow::Result... function create_expected_elicitation_request (line 156) | fn create_expected_elicitation_request( function test_patch_approval_triggers_elicitation (line 192) | async fn test_patch_approval_triggers_elicitation() { function patch_approval_triggers_elicitation (line 205) | async fn patch_approval_triggers_elicitation() -> anyhow::Result<()> { function test_codex_tool_passes_base_instructions (line 299) | async fn test_codex_tool_passes_base_instructions() { function codex_tool_passes_base_instructions (line 314) | async fn codex_tool_passes_base_instructions() -> anyhow::Result<()> { function create_expected_patch_approval_elicitation_request (line 367) | fn create_expected_patch_approval_elicitation_request( type McpHandle (line 405) | pub struct McpHandle { function create_mcp_process (line 415) | async fn create_mcp_process(responses: Vec) -> anyhow::Result std::io::R... FILE: codex-rs/mcp-server/tests/suite/config.rs constant DEFAULT_READ_TIMEOUT (line 17) | const DEFAULT_READ_TIMEOUT: std::time::Duration = std::time::Duration::f... function create_config_toml (line 19) | fn create_config_toml(codex_home: &Path) -> std::io::Result<()> { function get_config_toml_returns_subset (line 39) | async fn get_config_toml_returns_subset() { FILE: codex-rs/mcp-server/tests/suite/create_conversation.rs constant DEFAULT_READ_TIMEOUT (line 21) | const DEFAULT_READ_TIMEOUT: std::time::Duration = std::time::Duration::f... function test_conversation_create_and_send_message_ok (line 24) | async fn test_conversation_create_and_send_message_ok() { function create_config_toml (line 134) | fn create_config_toml(codex_home: &Path, server_uri: &str) -> std::io::R... FILE: codex-rs/mcp-server/tests/suite/interrupt.rs constant DEFAULT_READ_TIMEOUT (line 25) | const DEFAULT_READ_TIMEOUT: std::time::Duration = std::time::Duration::f... function test_shell_command_interruption (line 28) | async fn test_shell_command_interruption() { function shell_command_interruption (line 41) | async fn shell_command_interruption() -> anyhow::Result<()> { function create_config_toml (line 143) | fn create_config_toml(codex_home: &Path, server_uri: String) -> std::io:... FILE: codex-rs/mcp-server/tests/suite/login.rs constant DEFAULT_READ_TIMEOUT (line 18) | const DEFAULT_READ_TIMEOUT: std::time::Duration = std::time::Duration::f... function create_config_toml (line 21) | fn create_config_toml(codex_home: &Path) -> std::io::Result<()> { function logout_chatgpt_removes_auth (line 43) | async fn logout_chatgpt_removes_auth() { function login_and_cancel_chatgpt (line 96) | async fn login_and_cancel_chatgpt() { FILE: codex-rs/mcp-server/tests/suite/send_message.rs constant DEFAULT_READ_TIMEOUT (line 22) | const DEFAULT_READ_TIMEOUT: std::time::Duration = std::time::Duration::f... function test_send_message_success (line 25) | async fn test_send_message_success() { function send_message (line 84) | async fn send_message(message: &str, conversation_id: ConversationId, mc... function test_send_message_session_not_found (line 130) | async fn test_send_message_session_not_found() { function create_config_toml (line 165) | fn create_config_toml(codex_home: &Path, server_uri: &str) -> std::io::R... FILE: codex-rs/mcp-types/generate_mcp_types.py function main (line 38) | def main() -> int: function add_definition (line 197) | def add_definition(name: str, definition: dict[str, Any], out: list[str]... class StructField (line 263) | class StructField: method append (line 269) | def append(self, out: list[str], supports_const: bool) -> None: function define_struct (line 281) | def define_struct( function infer_result_type (line 336) | def infer_result_type(request_type_name: str) -> str: function implements_request_trait (line 347) | def implements_request_trait(name: str) -> bool: function implements_notification_trait (line 355) | def implements_notification_trait(name: str) -> bool: function add_trait_impl (line 362) | def add_trait_impl( function define_string_enum (line 383) | def define_string_enum( function define_untagged_enum (line 398) | def define_untagged_enum(name: str, type_list: list[str], out: list[str]... function define_any_of (line 415) | def define_any_of( function get_serde_annotation_for_anyof_type (line 507) | def get_serde_annotation_for_anyof_type(type_name: str) -> str | None: function map_type (line 518) | def map_type( class RustProp (line 590) | class RustProp: function rust_prop_name (line 596) | def rust_prop_name(name: str, is_optional: bool) -> RustProp: function to_snake_case (line 626) | def to_snake_case(name: str) -> str: function capitalize (line 637) | def capitalize(name: str) -> str: function check_string_list (line 642) | def check_string_list(value: Any) -> list[str] | None: function type_from_ref (line 652) | def type_from_ref(ref: str) -> str: function emit_doc_comment (line 658) | def emit_doc_comment(text: str | None, out: list[str]) -> None: FILE: codex-rs/mcp-types/src/lib.rs constant MCP_SCHEMA_VERSION (line 15) | pub const MCP_SCHEMA_VERSION: &str = "2025-06-18"; constant JSONRPC_VERSION (line 16) | pub const JSONRPC_VERSION: &str = "2.0"; type ModelContextProtocolRequest (line 19) | pub trait ModelContextProtocolRequest { constant METHOD (line 20) | const METHOD: &'static str; constant METHOD (line 92) | const METHOD: &'static str = "tools/call"; type Params (line 93) | type Params = CallToolRequestParams; type Result (line 94) | type Result = CallToolResult; constant METHOD (line 221) | const METHOD: &'static str = "completion/complete"; type Params (line 222) | type Params = CompleteRequestParams; type Result (line 223) | type Result = CompleteResult; constant METHOD (line 292) | const METHOD: &'static str = "sampling/createMessage"; type Params (line 293) | type Params = CreateMessageRequestParams; type Result (line 294) | type Result = CreateMessageResult; constant METHOD (line 369) | const METHOD: &'static str = "elicitation/create"; type Params (line 370) | type Params = ElicitRequestParams; type Result (line 371) | type Result = ElicitResult; constant METHOD (line 444) | const METHOD: &'static str = "prompts/get"; type Params (line 445) | type Params = GetPromptRequestParams; type Result (line 446) | type Result = GetPromptResult; constant METHOD (line 496) | const METHOD: &'static str = "initialize"; type Params (line 497) | type Params = InitializeRequestParams; type Result (line 498) | type Result = InitializeResult; constant METHOD (line 599) | const METHOD: &'static str = "prompts/list"; type Params (line 600) | type Params = Option; type Result (line 601) | type Result = ListPromptsResult; constant METHOD (line 634) | const METHOD: &'static str = "resources/templates/list"; type Params (line 635) | type Params = Option; type Result (line 636) | type Result = ListResourceTemplatesResult; constant METHOD (line 670) | const METHOD: &'static str = "resources/list"; type Params (line 671) | type Params = Option; type Result (line 672) | type Result = ListResourcesResult; constant METHOD (line 705) | const METHOD: &'static str = "roots/list"; type Params (line 706) | type Params = Option; type Result (line 707) | type Result = ListRootsResult; constant METHOD (line 730) | const METHOD: &'static str = "tools/list"; type Params (line 731) | type Params = Option; type Result (line 732) | type Result = ListToolsResult; constant METHOD (line 901) | const METHOD: &'static str = "ping"; type Params (line 902) | type Params = Option; type Result (line 903) | type Result = Result; constant METHOD (line 998) | const METHOD: &'static str = "resources/read"; type Params (line 999) | type Params = ReadResourceRequestParams; type Result (line 1000) | type Result = ReadResourceResult; constant METHOD (line 1284) | const METHOD: &'static str = "logging/setLevel"; type Params (line 1285) | type Params = SetLevelRequestParams; type Result (line 1286) | type Result = Result; constant METHOD (line 1313) | const METHOD: &'static str = "resources/subscribe"; type Params (line 1314) | type Params = SubscribeRequestParams; type Result (line 1315) | type Result = Result; constant METHOD (line 1431) | const METHOD: &'static str = "resources/unsubscribe"; type Params (line 1432) | type Params = UnsubscribeRequestParams; type Result (line 1433) | type Result = Result; type ModelContextProtocolNotification (line 26) | pub trait ModelContextProtocolNotification { constant METHOD (line 27) | const METHOD: &'static str; constant METHOD (line 130) | const METHOD: &'static str = "notifications/cancelled"; type Params (line 131) | type Params = CancelledNotificationParams; constant METHOD (line 534) | const METHOD: &'static str = "notifications/initialized"; type Params (line 535) | type Params = Option; constant METHOD (line 789) | const METHOD: &'static str = "notifications/message"; type Params (line 790) | type Params = LoggingMessageNotificationParams; constant METHOD (line 921) | const METHOD: &'static str = "notifications/progress"; type Params (line 922) | type Params = ProgressNotificationParams; constant METHOD (line 971) | const METHOD: &'static str = "notifications/prompts/list_changed"; type Params (line 972) | type Params = Option; constant METHOD (line 1092) | const METHOD: &'static str = "notifications/resources/list_changed"; type Params (line 1093) | type Params = Option; constant METHOD (line 1123) | const METHOD: &'static str = "notifications/resources/updated"; type Params (line 1124) | type Params = ResourceUpdatedNotificationParams; constant METHOD (line 1155) | const METHOD: &'static str = "notifications/roots/list_changed"; type Params (line 1156) | type Params = Option; constant METHOD (line 1423) | const METHOD: &'static str = "notifications/tools/list_changed"; type Params (line 1424) | type Params = Option; function default_jsonrpc (line 31) | fn default_jsonrpc() -> String { type Annotations (line 37) | pub struct Annotations { type AudioContent (line 52) | pub struct AudioContent { type BaseMetadata (line 63) | pub struct BaseMetadata { type BlobResourceContents (line 70) | pub struct BlobResourceContents { type BooleanSchema (line 78) | pub struct BooleanSchema { type CallToolRequest (line 89) | pub enum CallToolRequest {} type CallToolRequestParams (line 98) | pub struct CallToolRequestParams { type CallToolResult (line 106) | pub struct CallToolResult { function from (line 119) | fn from(value: CallToolResult) -> Self { type CancelledNotification (line 127) | pub enum CancelledNotification {} type CancelledNotificationParams (line 135) | pub struct CancelledNotificationParams { type ClientCapabilities (line 144) | pub struct ClientCapabilities { type ClientCapabilitiesRoots (line 157) | pub struct ClientCapabilitiesRoots { type ClientNotification (line 168) | pub enum ClientNotification { type ClientRequest (line 177) | pub enum ClientRequest { type Error (line 1442) | type Error = serde_json::Error; method try_from (line 1443) | fn try_from(req: JSONRPCRequest) -> std::result::Result Self { type ContentBlock (line 280) | pub enum ContentBlock { type CreateMessageRequest (line 289) | pub enum CreateMessageRequest {} type CreateMessageRequestParams (line 298) | pub struct CreateMessageRequestParams { type CreateMessageResult (line 334) | pub struct CreateMessageResult { type CreateMessageResultContent (line 348) | pub enum CreateMessageResultContent { function from (line 355) | fn from(value: CreateMessageResult) -> Self { type Cursor (line 363) | pub struct Cursor(String); type ElicitRequest (line 366) | pub enum ElicitRequest {} type ElicitRequestParams (line 375) | pub struct ElicitRequestParams { type ElicitRequestParamsRequestedSchema (line 384) | pub struct ElicitRequestParamsRequestedSchema { type ElicitResult (line 393) | pub struct ElicitResult { function from (line 400) | fn from(value: ElicitResult) -> Self { type EmbeddedResource (line 412) | pub struct EmbeddedResource { type EmbeddedResourceResource (line 421) | pub enum EmbeddedResourceResource { type EmptyResult (line 426) | pub type EmptyResult = Result; type EnumSchema (line 429) | pub struct EnumSchema { type GetPromptRequest (line 441) | pub enum GetPromptRequest {} type GetPromptRequestParams (line 450) | pub struct GetPromptRequestParams { type GetPromptResult (line 458) | pub struct GetPromptResult { function from (line 465) | fn from(value: GetPromptResult) -> Self { type ImageContent (line 474) | pub struct ImageContent { type Implementation (line 485) | pub struct Implementation { type InitializeRequest (line 493) | pub enum InitializeRequest {} type InitializeRequestParams (line 502) | pub struct InitializeRequestParams { type InitializeResult (line 512) | pub struct InitializeResult { function from (line 523) | fn from(value: InitializeResult) -> Self { type InitializedNotification (line 531) | pub enum InitializedNotification {} type JSONRPCError (line 540) | pub struct JSONRPCError { type JSONRPCErrorError (line 548) | pub struct JSONRPCErrorError { type JSONRPCMessage (line 558) | pub enum JSONRPCMessage { type JSONRPCNotification (line 567) | pub struct JSONRPCNotification { type JSONRPCRequest (line 577) | pub struct JSONRPCRequest { type JSONRPCResponse (line 588) | pub struct JSONRPCResponse { type ListPromptsRequest (line 596) | pub enum ListPromptsRequest {} type ListPromptsRequestParams (line 605) | pub struct ListPromptsRequestParams { type ListPromptsResult (line 612) | pub struct ListPromptsResult { function from (line 623) | fn from(value: ListPromptsResult) -> Self { type ListResourceTemplatesRequest (line 631) | pub enum ListResourceTemplatesRequest {} type ListResourceTemplatesRequestParams (line 640) | pub struct ListResourceTemplatesRequestParams { type ListResourceTemplatesResult (line 647) | pub struct ListResourceTemplatesResult { function from (line 659) | fn from(value: ListResourceTemplatesResult) -> Self { type ListResourcesRequest (line 667) | pub enum ListResourcesRequest {} type ListResourcesRequestParams (line 676) | pub struct ListResourcesRequestParams { type ListResourcesResult (line 683) | pub struct ListResourcesResult { function from (line 694) | fn from(value: ListResourcesResult) -> Self { type ListRootsRequest (line 702) | pub enum ListRootsRequest {} type ListRootsResult (line 714) | pub struct ListRootsResult { function from (line 719) | fn from(value: ListRootsResult) -> Self { type ListToolsRequest (line 727) | pub enum ListToolsRequest {} type ListToolsRequestParams (line 736) | pub struct ListToolsRequestParams { type ListToolsResult (line 743) | pub struct ListToolsResult { function from (line 754) | fn from(value: ListToolsResult) -> Self { type LoggingLevel (line 766) | pub enum LoggingLevel { type LoggingMessageNotification (line 786) | pub enum LoggingMessageNotification {} type LoggingMessageNotificationParams (line 794) | pub struct LoggingMessageNotificationParams { type ModelHint (line 806) | pub struct ModelHint { type ModelPreferences (line 823) | pub struct ModelPreferences { type Notification (line 847) | pub struct Notification { type NumberSchema (line 854) | pub struct NumberSchema { type PaginatedRequest (line 867) | pub struct PaginatedRequest { type PaginatedRequestParams (line 874) | pub struct PaginatedRequestParams { type PaginatedResult (line 880) | pub struct PaginatedResult { function from (line 890) | fn from(value: PaginatedResult) -> Self { type PingRequest (line 898) | pub enum PingRequest {} type PrimitiveSchemaDefinition (line 910) | pub enum PrimitiveSchemaDefinition { type ProgressNotification (line 918) | pub enum ProgressNotification {} type ProgressNotificationParams (line 926) | pub struct ProgressNotificationParams { type ProgressToken (line 938) | pub enum ProgressToken { type Prompt (line 945) | pub struct Prompt { type PromptArgument (line 957) | pub struct PromptArgument { type PromptListChangedNotification (line 968) | pub enum PromptListChangedNotification {} type PromptMessage (line 980) | pub struct PromptMessage { type PromptReference (line 987) | pub struct PromptReference { type ReadResourceRequest (line 995) | pub enum ReadResourceRequest {} type ReadResourceRequestParams (line 1004) | pub struct ReadResourceRequestParams { type ReadResourceResult (line 1010) | pub struct ReadResourceResult { type ReadResourceResultContents (line 1016) | pub enum ReadResourceResultContents { function from (line 1022) | fn from(value: ReadResourceResult) -> Self { type Request (line 1030) | pub struct Request { type RequestId (line 1038) | pub enum RequestId { type Resource (line 1045) | pub struct Resource { type ResourceContents (line 1062) | pub struct ResourceContents { type ResourceLink (line 1072) | pub struct ResourceLink { type ResourceListChangedNotification (line 1089) | pub enum ResourceListChangedNotification {} type ResourceTemplate (line 1098) | pub struct ResourceTemplate { type ResourceTemplateReference (line 1114) | pub struct ResourceTemplateReference { type ResourceUpdatedNotification (line 1120) | pub enum ResourceUpdatedNotification {} type ResourceUpdatedNotificationParams (line 1128) | pub struct ResourceUpdatedNotificationParams { type Result (line 1132) | pub type Result = serde_json::Value; type Role (line 1136) | pub enum Role { type Root (line 1145) | pub struct Root { type RootsListChangedNotification (line 1152) | pub enum RootsListChangedNotification {} type SamplingMessage (line 1161) | pub struct SamplingMessage { type SamplingMessageContent (line 1168) | pub enum SamplingMessageContent { type ServerCapabilities (line 1176) | pub struct ServerCapabilities { type ServerCapabilitiesTools (line 1193) | pub struct ServerCapabilitiesTools { type ServerCapabilitiesResources (line 1204) | pub struct ServerCapabilitiesResources { type ServerCapabilitiesPrompts (line 1217) | pub struct ServerCapabilitiesPrompts { type ServerNotification (line 1228) | pub enum ServerNotification { type Error (line 1532) | type Error = serde_json::Error; method try_from (line 1533) | fn try_from(n: JSONRPCNotification) -> std::result::Result std::io::Result<()> { FILE: codex-rs/ollama/src/parser.rs function pull_events_from_value (line 6) | pub(crate) fn pull_events_from_value(value: &JsonValue) -> Vec { function test_pull_events_decoder_status_and_success (line 36) | fn test_pull_events_decoder_status_and_success() { function test_pull_events_decoder_progress (line 49) | fn test_pull_events_decoder_progress() { FILE: codex-rs/ollama/src/pull.rs type PullEvent (line 7) | pub enum PullEvent { type PullProgressReporter (line 25) | pub trait PullProgressReporter { method on_event (line 26) | fn on_event(&mut self, event: &PullEvent) -> io::Result<()>; method on_event (line 57) | fn on_event(&mut self, event: &PullEvent) -> io::Result<()> { method on_event (line 144) | fn on_event(&mut self, event: &PullEvent) -> io::Result<()> { type CliProgressReporter (line 30) | pub struct CliProgressReporter { method new (line 45) | pub fn new() -> Self { method default (line 39) | fn default() -> Self { type TuiProgressReporter (line 141) | pub struct TuiProgressReporter(CliProgressReporter); FILE: codex-rs/ollama/src/url.rs function is_openai_compatible_base_url (line 2) | pub(crate) fn is_openai_compatible_base_url(base_url: &str) -> bool { function base_url_to_host_root (line 8) | pub fn base_url_to_host_root(base_url: &str) -> String { function test_base_url_to_host_root (line 25) | fn test_base_url_to_host_root() { FILE: codex-rs/protocol-ts/src/lib.rs constant HEADER (line 13) | const HEADER: &str = "// GENERATED CODE! DO NOT MODIFY BY HAND!\n\n"; function generate_ts (line 15) | pub fn generate_ts(out_dir: &Path, prettier: Option<&Path>) -> Result<()> { function ensure_dir (line 76) | fn ensure_dir(dir: &Path) -> Result<()> { function prepend_header_if_missing (line 81) | fn prepend_header_if_missing(path: &Path) -> Result<()> { function ts_files_in (line 103) | fn ts_files_in(dir: &Path) -> Result> { function generate_index_ts (line 120) | fn generate_index_ts(out_dir: &Path) -> Result { FILE: codex-rs/protocol-ts/src/main.rs type Args (line 7) | struct Args { function main (line 17) | fn main() -> Result<()> { FILE: codex-rs/protocol/src/config_types.rs type ReasoningEffort (line 15) | pub enum ReasoningEffort { type ReasoningSummary (line 29) | pub enum ReasoningSummary { type SandboxMode (line 41) | pub enum SandboxMode { type ConfigProfile (line 57) | pub struct ConfigProfile { FILE: codex-rs/protocol/src/mcp_protocol.rs type ConversationId (line 23) | pub struct ConversationId(pub Uuid); method fmt (line 26) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type GitSha (line 33) | pub struct GitSha(pub String); method new (line 36) | pub fn new(sha: &str) -> Self { type AuthMode (line 43) | pub enum AuthMode { type ClientRequest (line 51) | pub enum ClientRequest { type NewConversationParams (line 113) | pub struct NewConversationParams { type NewConversationResponse (line 156) | pub struct NewConversationResponse { type AddConversationSubscriptionResponse (line 163) | pub struct AddConversationSubscriptionResponse { type RemoveConversationSubscriptionResponse (line 169) | pub struct RemoveConversationSubscriptionResponse {} type LoginChatGptResponse (line 173) | pub struct LoginChatGptResponse { type GitDiffToRemoteResponse (line 181) | pub struct GitDiffToRemoteResponse { type CancelLoginChatGptParams (line 188) | pub struct CancelLoginChatGptParams { type GitDiffToRemoteParams (line 194) | pub struct GitDiffToRemoteParams { type CancelLoginChatGptResponse (line 200) | pub struct CancelLoginChatGptResponse {} type LogoutChatGptParams (line 204) | pub struct LogoutChatGptParams {} type LogoutChatGptResponse (line 208) | pub struct LogoutChatGptResponse {} type GetAuthStatusParams (line 212) | pub struct GetAuthStatusParams { type GetAuthStatusResponse (line 223) | pub struct GetAuthStatusResponse { type GetConfigTomlResponse (line 233) | pub struct GetConfigTomlResponse { type SendUserMessageParams (line 253) | pub struct SendUserMessageParams { type SendUserTurnParams (line 260) | pub struct SendUserTurnParams { type SendUserTurnResponse (line 273) | pub struct SendUserTurnResponse {} type InterruptConversationParams (line 277) | pub struct InterruptConversationParams { type InterruptConversationResponse (line 283) | pub struct InterruptConversationResponse { type SendUserMessageResponse (line 289) | pub struct SendUserMessageResponse {} type AddConversationListenerParams (line 293) | pub struct AddConversationListenerParams { type RemoveConversationListenerParams (line 299) | pub struct RemoveConversationListenerParams { type InputItem (line 306) | pub enum InputItem { constant APPLY_PATCH_APPROVAL_METHOD (line 324) | pub const APPLY_PATCH_APPROVAL_METHOD: &str = "applyPatchApproval"; constant EXEC_COMMAND_APPROVAL_METHOD (line 325) | pub const EXEC_COMMAND_APPROVAL_METHOD: &str = "execCommandApproval"; type ServerRequest (line 330) | pub enum ServerRequest { type ApplyPatchApprovalParams (line 346) | pub struct ApplyPatchApprovalParams { type ExecCommandApprovalParams (line 362) | pub struct ExecCommandApprovalParams { type ExecCommandApprovalResponse (line 374) | pub struct ExecCommandApprovalResponse { type ApplyPatchApprovalResponse (line 379) | pub struct ApplyPatchApprovalResponse { type LoginChatGptCompleteNotification (line 385) | pub struct LoginChatGptCompleteNotification { type AuthStatusChangeNotification (line 394) | pub struct AuthStatusChangeNotification { type ServerNotification (line 403) | pub enum ServerNotification { function serialize_new_conversation (line 418) | fn serialize_new_conversation() { FILE: codex-rs/protocol/src/message_history.rs type HistoryEntry (line 5) | pub struct HistoryEntry { FILE: codex-rs/protocol/src/models.rs type ResponseInputItem (line 14) | pub enum ResponseInputItem { method from (line 179) | fn from(items: Vec) -> Self { type ContentItem (line 35) | pub enum ContentItem { type ResponseItem (line 43) | pub enum ResponseItem { method from (line 112) | fn from(item: ResponseInputItem) -> Self { function should_serialize_reasoning_content (line 102) | fn should_serialize_reasoning_content(content: &Option(deserializer: D) -> Result method fmt (line 274) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type Target (line 280) | type Target = str; method deref (line 281) | fn deref(&self) -> &Self::Target { method serialize (line 242) | fn serialize(&self, serializer: S) -> Result function serializes_success_as_plain_string (line 291) | fn serializes_success_as_plain_string() { function serializes_failure_as_string (line 308) | fn serializes_failure_as_string() { function deserialize_shell_tool_call_params (line 324) | fn deserialize_shell_tool_call_params() { FILE: codex-rs/protocol/src/parse_command.rs type ParsedCommand (line 6) | pub enum ParsedCommand { FILE: codex-rs/protocol/src/plan_tool.rs type StepStatus (line 7) | pub enum StepStatus { type PlanItemArg (line 15) | pub struct PlanItemArg { type UpdatePlanArgs (line 22) | pub struct UpdatePlanArgs { FILE: codex-rs/protocol/src/protocol.rs type Submission (line 30) | pub struct Submission { type Op (line 42) | pub enum Op { type AskForApproval (line 161) | pub enum AskForApproval { type SandboxPolicy (line 188) | pub enum SandboxPolicy { method new_read_only_policy (line 265) | pub fn new_read_only_policy() -> Self { method new_workspace_write_policy (line 271) | pub fn new_workspace_write_policy() -> Self { method has_full_disk_read_access (line 281) | pub fn has_full_disk_read_access(&self) -> bool { method has_full_disk_write_access (line 285) | pub fn has_full_disk_write_access(&self) -> bool { method has_full_network_access (line 293) | pub fn has_full_network_access(&self) -> bool { method get_writable_roots_with_cwd (line 304) | pub fn get_writable_roots_with_cwd(&self, cwd: &Path) -> Vec bool { type Err (line 256) | type Err = serde_json::Error; method from_str (line 258) | fn from_str(s: &str) -> Result { type InputItem (line 368) | pub enum InputItem { type Event (line 386) | pub struct Event { type EventMsg (line 397) | pub enum EventMsg { type ErrorEvent (line 486) | pub struct ErrorEvent { type TaskCompleteEvent (line 491) | pub struct TaskCompleteEvent { type TaskStartedEvent (line 496) | pub struct TaskStartedEvent { type TokenUsage (line 501) | pub struct TokenUsage { method is_zero (line 510) | pub fn is_zero(&self) -> bool { method cached_input (line 514) | pub fn cached_input(&self) -> u64 { method non_cached_input (line 518) | pub fn non_cached_input(&self) -> u64 { method blended_total (line 523) | pub fn blended_total(&self) -> u64 { method tokens_in_context_window (line 531) | pub fn tokens_in_context_window(&self) -> u64 { method percent_of_context_window_remaining (line 546) | pub fn percent_of_context_window_remaining( type FinalOutput (line 565) | pub struct FinalOutput { method from (line 570) | fn from(token_usage: TokenUsage) -> Self { method fmt (line 576) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type AgentMessageEvent (line 598) | pub struct AgentMessageEvent { type AgentMessageDeltaEvent (line 603) | pub struct AgentMessageDeltaEvent { type AgentReasoningEvent (line 608) | pub struct AgentReasoningEvent { type AgentReasoningRawContentEvent (line 613) | pub struct AgentReasoningRawContentEvent { type AgentReasoningRawContentDeltaEvent (line 618) | pub struct AgentReasoningRawContentDeltaEvent { type AgentReasoningSectionBreakEvent (line 623) | pub struct AgentReasoningSectionBreakEvent {} type AgentReasoningDeltaEvent (line 626) | pub struct AgentReasoningDeltaEvent { type McpInvocation (line 631) | pub struct McpInvocation { type McpToolCallBeginEvent (line 641) | pub struct McpToolCallBeginEvent { type McpToolCallEndEvent (line 648) | pub struct McpToolCallEndEvent { method is_success (line 658) | pub fn is_success(&self) -> bool { type WebSearchBeginEvent (line 667) | pub struct WebSearchBeginEvent { type ConversationHistoryResponseEvent (line 675) | pub struct ConversationHistoryResponseEvent { type ExecCommandBeginEvent (line 681) | pub struct ExecCommandBeginEvent { type ExecCommandEndEvent (line 692) | pub struct ExecCommandEndEvent { type ExecOutputStream (line 712) | pub enum ExecOutputStream { type ExecCommandOutputDeltaEvent (line 718) | pub struct ExecCommandOutputDeltaEvent { type ExecApprovalRequestEvent (line 729) | pub struct ExecApprovalRequestEvent { type ApplyPatchApprovalRequestEvent (line 742) | pub struct ApplyPatchApprovalRequestEvent { type BackgroundEventEvent (line 755) | pub struct BackgroundEventEvent { type StreamErrorEvent (line 760) | pub struct StreamErrorEvent { type PatchApplyBeginEvent (line 765) | pub struct PatchApplyBeginEvent { type PatchApplyEndEvent (line 775) | pub struct PatchApplyEndEvent { type TurnDiffEvent (line 787) | pub struct TurnDiffEvent { type GetHistoryEntryResponseEvent (line 792) | pub struct GetHistoryEntryResponseEvent { type McpListToolsResponseEvent (line 802) | pub struct McpListToolsResponseEvent { type SessionConfiguredEvent (line 808) | pub struct SessionConfiguredEvent { type ReviewDecision (line 825) | pub enum ReviewDecision { type FileChange (line 846) | pub enum FileChange { type Chunk (line 858) | pub struct Chunk { type TurnAbortedEvent (line 866) | pub struct TurnAbortedEvent { type TurnAbortReason (line 872) | pub enum TurnAbortReason { function serialize_event (line 884) | fn serialize_event() { FILE: codex-rs/tui/src/app.rs type App (line 31) | pub(crate) struct App { method run (line 57) | pub async fn run( method handle_tui_event (line 115) | pub(crate) async fn handle_tui_event( method handle_event (line 160) | async fn handle_event(&mut self, tui: &mut tui::Tui, event: AppEvent) ... method token_usage (line 274) | pub(crate) fn token_usage(&self) -> codex_core::protocol::TokenUsage { method handle_key_event (line 278) | async fn handle_key_event(&mut self, tui: &mut tui::Tui, key_event: Ke... FILE: codex-rs/tui/src/app_backtrack.rs type BacktrackState (line 13) | pub(crate) struct BacktrackState { method handle_backtrack_overlay_event (line 31) | pub(crate) async fn handle_backtrack_overlay_event( method handle_backtrack_esc_key (line 77) | pub(crate) fn handle_backtrack_esc_key(&mut self, tui: &mut tui::Tui) { method request_backtrack (line 91) | pub(crate) fn request_backtrack( method open_transcript_overlay (line 104) | pub(crate) fn open_transcript_overlay(&mut self, tui: &mut tui::Tui) { method close_transcript_overlay (line 111) | pub(crate) fn close_transcript_overlay(&mut self, tui: &mut tui::Tui) { method render_transcript_once (line 128) | pub(crate) fn render_transcript_once(&mut self, tui: &mut tui::Tui) { method prime_backtrack (line 135) | fn prime_backtrack(&mut self) { method open_backtrack_preview (line 143) | fn open_backtrack_preview(&mut self, tui: &mut tui::Tui) { method begin_overlay_backtrack_preview (line 152) | fn begin_overlay_backtrack_preview(&mut self, tui: &mut tui::Tui) { method step_backtrack_and_highlight (line 162) | fn step_backtrack_and_highlight(&mut self, tui: &mut tui::Tui) { method compute_backtrack_selection (line 170) | fn compute_backtrack_selection( method apply_backtrack_selection (line 190) | fn apply_backtrack_selection( method overlay_forward_event (line 205) | fn overlay_forward_event(&mut self, tui: &mut tui::Tui, event: TuiEvent)... method overlay_confirm_backtrack (line 217) | fn overlay_confirm_backtrack(&mut self, tui: &mut tui::Tui) { method overlay_step_backtrack (line 230) | fn overlay_step_backtrack(&mut self, tui: &mut tui::Tui, event: TuiEvent... method confirm_backtrack_from_main (line 241) | pub(crate) fn confirm_backtrack_from_main(&mut self) { method reset_backtrack_state (line 253) | pub(crate) fn reset_backtrack_state(&mut self) { method on_conversation_history_for_backtrack (line 263) | pub(crate) async fn on_conversation_history_for_backtrack( method fork_and_switch_to_new_conversation (line 279) | async fn fork_and_switch_to_new_conversation( method perform_fork (line 300) | async fn perform_fork( method install_forked_conversation (line 312) | fn install_forked_conversation( method trim_transcript_for_backtrack (line 340) | fn trim_transcript_for_backtrack(&mut self, drop_count: usize) { FILE: codex-rs/tui/src/app_event.rs type AppEvent (line 14) | pub(crate) enum AppEvent { FILE: codex-rs/tui/src/app_event_sender.rs type AppEventSender (line 7) | pub(crate) struct AppEventSender { method new (line 12) | pub(crate) fn new(app_event_tx: UnboundedSender) -> Self { method send (line 18) | pub(crate) fn send(&self, event: AppEvent) { FILE: codex-rs/tui/src/backtrack_helpers.rs function highlight_range_for_nth_last_user (line 4) | pub(crate) fn highlight_range_for_nth_last_user( function wrapped_offset_before (line 13) | pub(crate) fn wrapped_offset_before(lines: &[Line<'_>], header_idx: usiz... function find_nth_last_user_header_index (line 20) | pub(crate) fn find_nth_last_user_header_index(lines: &[Line<'_>], n: usi... function normalize_backtrack_n (line 46) | pub(crate) fn normalize_backtrack_n(lines: &[Line<'_>], n: usize) -> usi... function nth_last_user_text (line 63) | pub(crate) fn nth_last_user_text(lines: &[Line<'_>], n: usize) -> Option... function extract_message_text_after_header (line 69) | fn extract_message_text_after_header(lines: &[Line<'_>], header_idx: usi... function highlight_range_from_header (line 98) | fn highlight_range_from_header(lines: &[Line<'_>], header_idx: usize) ->... function line (line 118) | fn line(s: &str) -> Line<'static> { function transcript_with_users (line 122) | fn transcript_with_users(count: usize) -> Vec> { function normalize_wraps_to_one_when_past_oldest (line 134) | fn normalize_wraps_to_one_when_past_oldest() { function normalize_returns_zero_when_no_user_messages (line 143) | fn normalize_returns_zero_when_no_user_messages() { function normalize_keeps_valid_n (line 150) | fn normalize_keeps_valid_n() { FILE: codex-rs/tui/src/bottom_pane/approval_modal_view.rs type ApprovalModalView (line 15) | pub(crate) struct ApprovalModalView { method new (line 22) | pub fn new(request: ApprovalRequest, app_event_tx: AppEventSender) -> ... method enqueue_request (line 30) | pub fn enqueue_request(&mut self, req: ApprovalRequest) { method maybe_advance (line 35) | fn maybe_advance(&mut self) { method handle_key_event (line 45) | fn handle_key_event(&mut self, _pane: &mut BottomPane, key_event: KeyEve... method on_ctrl_c (line 50) | fn on_ctrl_c(&mut self, _pane: &mut BottomPane) -> CancellationEvent { method is_complete (line 56) | fn is_complete(&self) -> bool { method desired_height (line 60) | fn desired_height(&self, width: u16) -> u16 { method render (line 64) | fn render(&self, area: Rect, buf: &mut Buffer) { method try_consume_approval_request (line 68) | fn try_consume_approval_request(&mut self, req: ApprovalRequest) -> Opti... function make_exec_request (line 80) | fn make_exec_request() -> ApprovalRequest { function ctrl_c_aborts_and_clears_queue (line 89) | fn ctrl_c_aborts_and_clears_queue() { FILE: codex-rs/tui/src/bottom_pane/bottom_pane_view.rs type BottomPaneView (line 10) | pub(crate) trait BottomPaneView { method handle_key_event (line 13) | fn handle_key_event(&mut self, _pane: &mut BottomPane, _key_event: Key... method is_complete (line 16) | fn is_complete(&self) -> bool { method on_ctrl_c (line 21) | fn on_ctrl_c(&mut self, _pane: &mut BottomPane) -> CancellationEvent { method desired_height (line 26) | fn desired_height(&self, width: u16) -> u16; method render (line 29) | fn render(&self, area: Rect, buf: &mut Buffer); method try_consume_approval_request (line 33) | fn try_consume_approval_request( FILE: codex-rs/tui/src/bottom_pane/chat_composer.rs constant PASTE_BURST_MIN_CHARS (line 44) | const PASTE_BURST_MIN_CHARS: u16 = 3; constant PASTE_BURST_CHAR_INTERVAL (line 45) | const PASTE_BURST_CHAR_INTERVAL: Duration = Duration::from_millis(8); constant PASTE_ENTER_SUPPRESS_WINDOW (line 46) | const PASTE_ENTER_SUPPRESS_WINDOW: Duration = Duration::from_millis(120); constant LARGE_PASTE_CHAR_THRESHOLD (line 50) | const LARGE_PASTE_CHAR_THRESHOLD: usize = 1000; type InputResult (line 53) | pub enum InputResult { type AttachedImage (line 60) | struct AttachedImage { type TokenUsageInfo (line 65) | struct TokenUsageInfo { type ChatComposer (line 80) | pub(crate) struct ChatComposer { method new (line 113) | pub fn new( method desired_height (line 145) | pub fn desired_height(&self, width: u16) -> u16 { method cursor_pos (line 154) | pub fn cursor_pos(&self, area: Rect) -> Option<(u16, u16)> { method is_empty (line 170) | pub(crate) fn is_empty(&self) -> bool { method set_token_usage (line 177) | pub(crate) fn set_token_usage( method set_history_metadata (line 199) | pub(crate) fn set_history_metadata(&mut self, log_id: u64, entry_count... method on_history_entry_response (line 206) | pub(crate) fn on_history_entry_response( method handle_paste (line 220) | pub fn handle_paste(&mut self, pasted: String) -> bool { method handle_paste_image_path (line 240) | pub fn handle_paste_image_path(&mut self, pasted: String) -> bool { method set_text_content (line 260) | pub(crate) fn set_text_content(&mut self, text: String) { method current_text (line 269) | pub(crate) fn current_text(&self) -> String { method attach_image (line 273) | pub fn attach_image(&mut self, path: PathBuf, width: u32, height: u32,... method take_recent_submission_images (line 282) | pub fn take_recent_submission_images(&mut self) -> Vec { method on_file_search_result (line 288) | pub(crate) fn on_file_search_result(&mut self, query: String, matches:... method set_ctrl_c_quit_hint (line 304) | pub fn set_ctrl_c_quit_hint(&mut self, show: bool, has_focus: bool) { method insert_str (line 309) | pub(crate) fn insert_str(&mut self, text: &str) { method handle_key_event (line 316) | pub fn handle_key_event(&mut self, key_event: KeyEvent) -> (InputResul... method popup_active (line 335) | pub(crate) fn popup_active(&self) -> bool { method handle_key_event_with_slash_popup (line 340) | fn handle_key_event_with_slash_popup(&mut self, key_event: KeyEvent) -... method clamp_to_char_boundary (line 411) | fn clamp_to_char_boundary(text: &str, pos: usize) -> usize { method handle_non_ascii_char (line 425) | fn handle_non_ascii_char(&mut self, input: KeyEvent) -> (InputResult, ... method handle_key_event_with_file_popup (line 439) | fn handle_key_event_with_file_popup(&mut self, key_event: KeyEvent) ->... method is_image_path (line 541) | fn is_image_path(path: &str) -> bool { method current_at_token (line 557) | fn current_at_token(textarea: &TextArea) -> Option { method insert_selected_path (line 653) | fn insert_selected_path(&mut self, path: &str) { method handle_key_event_without_popup (line 690) | fn handle_key_event_without_popup(&mut self, key_event: KeyEvent) -> (... method handle_input_basic (line 809) | fn handle_input_basic(&mut self, input: KeyEvent) -> (InputResult, boo... method try_remove_any_placeholder_at_cursor (line 982) | fn try_remove_any_placeholder_at_cursor(&mut self) -> bool { method sync_command_popup (line 1125) | fn sync_command_popup(&mut self) { method sync_file_search_popup (line 1148) | fn sync_file_search_popup(&mut self) { method set_has_focus (line 1192) | fn set_has_focus(&mut self, has_focus: bool) { method set_esc_backtrack_hint (line 1196) | pub(crate) fn set_esc_backtrack_hint(&mut self, show: bool) { type ActivePopup (line 106) | enum ActivePopup { method render_ref (line 1202) | fn render_ref(&self, area: Rect, buf: &mut Buffer) { function test_current_at_token_basic_cases (line 1327) | fn test_current_at_token_basic_cases() { function test_current_at_token_cursor_positions (line 1385) | fn test_current_at_token_cursor_positions() { function test_current_at_token_whitespace_boundaries (line 1419) | fn test_current_at_token_whitespace_boundaries() { function handle_paste_small_inserts_text (line 1476) | fn handle_paste_small_inserts_text() { function handle_paste_large_uses_placeholder_and_replaces_on_submit (line 1500) | fn handle_paste_large_uses_placeholder_and_replaces_on_submit() { function edit_clears_pending_paste (line 1529) | fn edit_clears_pending_paste() { function ui_snapshots (line 1549) | fn ui_snapshots() { function slash_init_dispatches_command_and_does_not_submit_literal_text (line 1609) | fn slash_init_dispatches_command_and_does_not_submit_literal_text() { function slash_tab_completion_moves_cursor_to_end (line 1645) | fn slash_tab_completion_moves_cursor_to_end() { function slash_mention_dispatches_command_and_inserts_at (line 1667) | fn slash_mention_dispatches_command_and_inserts_at() { function test_multiple_pastes_submission (line 1699) | fn test_multiple_pastes_submission() { function test_placeholder_deletion (line 1773) | fn test_placeholder_deletion() { function test_partial_placeholder_deletion (line 1840) | fn test_partial_placeholder_deletion() { function attach_image_and_submit_includes_image_paths (line 1887) | fn attach_image_and_submit_includes_image_paths() { function attach_image_without_text_submits_empty_text_and_images (line 1906) | fn attach_image_without_text_submits_empty_text_and_images() { function image_placeholder_backspace_behaves_like_text_placeholder (line 1926) | fn image_placeholder_backspace_behaves_like_text_placeholder() { function backspace_with_multibyte_text_before_placeholder_does_not_panic (line 1958) | fn backspace_with_multibyte_text_before_placeholder_does_not_panic() { function deleting_one_of_duplicate_image_placeholders_removes_matching_entry (line 1983) | fn deleting_one_of_duplicate_image_placeholders_removes_matching_entry() { function pasting_filepath_attaches_image (line 2019) | fn pasting_filepath_attaches_image() { FILE: codex-rs/tui/src/bottom_pane/chat_composer_history.rs type ChatComposerHistory (line 10) | pub(crate) struct ChatComposerHistory { method new (line 34) | pub fn new() -> Self { method set_metadata (line 46) | pub fn set_metadata(&mut self, log_id: u64, entry_count: usize) { method record_local_submission (line 57) | pub fn record_local_submission(&mut self, text: &str) { method should_handle_navigation (line 74) | pub fn should_handle_navigation(&self, text: &str, cursor: usize) -> b... method navigate_up (line 95) | pub fn navigate_up(&mut self, app_event_tx: &AppEventSender) -> Option... method navigate_down (line 112) | pub fn navigate_down(&mut self, app_event_tx: &AppEventSender) -> Opti... method on_entry_response (line 139) | pub fn on_entry_response( method populate_history_at_index (line 162) | fn populate_history_at_index( function duplicate_submissions_are_not_recorded (line 198) | fn duplicate_submissions_are_not_recorded() { function navigation_with_async_fetch (line 221) | fn navigation_with_async_fetch() { FILE: codex-rs/tui/src/bottom_pane/command_popup.rs type CommandPopup (line 13) | pub(crate) struct CommandPopup { method new (line 20) | pub(crate) fn new() -> Self { method on_composer_text_change (line 32) | pub(crate) fn on_composer_text_change(&mut self, text: String) { method calculate_required_height (line 61) | pub(crate) fn calculate_required_height(&self) -> u16 { method filtered (line 67) | fn filtered(&self) -> Vec<(&SlashCommand, Option>, i32)> { method filtered_commands (line 88) | fn filtered_commands(&self) -> Vec<&SlashCommand> { method move_up (line 93) | pub(crate) fn move_up(&mut self) { method move_down (line 101) | pub(crate) fn move_down(&mut self) { method selected_command (line 110) | pub(crate) fn selected_command(&self) -> Option<&SlashCommand> { method render_ref (line 119) | fn render_ref(&self, area: Rect, buf: &mut Buffer) { function filter_includes_init_when_typing_prefix (line 143) | fn filter_includes_init_when_typing_prefix() { function selecting_init_by_exact_match (line 159) | fn selecting_init_by_exact_match() { FILE: codex-rs/tui/src/bottom_pane/file_search_popup.rs type FileSearchPopup (line 12) | pub(crate) struct FileSearchPopup { method new (line 27) | pub(crate) fn new() -> Self { method set_query (line 38) | pub(crate) fn set_query(&mut self, query: &str) { method set_empty_prompt (line 59) | pub(crate) fn set_empty_prompt(&mut self) { method set_matches (line 70) | pub(crate) fn set_matches(&mut self, query: &str, matches: Vec Option<&str> { method calculate_required_height (line 104) | pub(crate) fn calculate_required_height(&self) -> u16 { method render_ref (line 116) | fn render_ref(&self, area: Rect, buf: &mut Buffer) { FILE: codex-rs/tui/src/bottom_pane/list_selection_view.rs type SelectionAction (line 24) | pub(crate) type SelectionAction = Box Span<'static> { method render_dim_prefix_line (line 48) | fn render_dim_prefix_line(area: Rect, buf: &mut Buffer) { method new (line 52) | pub fn new( method move_up (line 77) | fn move_up(&mut self) { method move_down (line 83) | fn move_down(&mut self) { method accept (line 89) | fn accept(&mut self) { method cancel (line 102) | fn cancel(&mut self) { method handle_key_event (line 109) | fn handle_key_event(&mut self, _pane: &mut BottomPane, key_event: KeyEve... method is_complete (line 130) | fn is_complete(&self) -> bool { method on_ctrl_c (line 134) | fn on_ctrl_c(&mut self, _pane: &mut BottomPane) -> CancellationEvent { method desired_height (line 139) | fn desired_height(&self, _width: u16) -> u16 { method render (line 153) | fn render(&self, area: Rect, buf: &mut Buffer) { FILE: codex-rs/tui/src/bottom_pane/mod.rs type CancellationEvent (line 30) | pub(crate) enum CancellationEvent { type BottomPane (line 44) | pub(crate) struct BottomPane { constant BOTTOM_PAD_LINES (line 75) | const BOTTOM_PAD_LINES: u16 = 1; method new (line 76) | pub fn new(params: BottomPaneParams) -> Self { method desired_height (line 97) | pub fn desired_height(&self, width: u16) -> u16 { method layout (line 118) | fn layout(&self, area: Rect) -> [Rect; 2] { method cursor_pos (line 147) | pub fn cursor_pos(&self, area: Rect) -> Option<(u16, u16)> { method handle_key_event (line 161) | pub fn handle_key_event(&mut self, key_event: KeyEvent) -> InputResult { method on_ctrl_c (line 191) | pub(crate) fn on_ctrl_c(&mut self) -> CancellationEvent { method handle_paste (line 212) | pub fn handle_paste(&mut self, pasted: String) { method insert_str (line 221) | pub(crate) fn insert_str(&mut self, text: &str) { method set_composer_text (line 227) | pub(crate) fn set_composer_text(&mut self, text: String) { method composer_text (line 234) | pub(crate) fn composer_text(&self) -> String { method update_status_header (line 241) | pub(crate) fn update_status_header(&mut self, header: String) { method show_ctrl_c_quit_hint (line 248) | pub(crate) fn show_ctrl_c_quit_hint(&mut self) { method clear_ctrl_c_quit_hint (line 255) | pub(crate) fn clear_ctrl_c_quit_hint(&mut self) { method ctrl_c_quit_hint_visible (line 264) | pub(crate) fn ctrl_c_quit_hint_visible(&self) -> bool { method show_esc_backtrack_hint (line 268) | pub(crate) fn show_esc_backtrack_hint(&mut self) { method clear_esc_backtrack_hint (line 274) | pub(crate) fn clear_esc_backtrack_hint(&mut self) { method set_task_running (line 284) | pub fn set_task_running(&mut self, running: bool) { method show_selection_view (line 305) | pub(crate) fn show_selection_view( method set_queued_user_messages (line 324) | pub(crate) fn set_queued_user_messages(&mut self, queued: Vec) { method composer_is_empty (line 332) | pub(crate) fn composer_is_empty(&self) -> bool { method is_task_running (line 336) | pub(crate) fn is_task_running(&self) -> bool { method is_normal_backtrack_mode (line 343) | pub(crate) fn is_normal_backtrack_mode(&self) -> bool { method set_token_usage (line 349) | pub(crate) fn set_token_usage( method push_approval_request (line 361) | pub fn push_approval_request(&mut self, request: ApprovalRequest) { method request_redraw (line 381) | pub(crate) fn request_redraw(&self) { method set_history_metadata (line 387) | pub(crate) fn set_history_metadata(&mut self, log_id: u64, entry_count... method on_history_entry_response (line 391) | pub(crate) fn on_history_entry_response( method on_file_search_result (line 406) | pub(crate) fn on_file_search_result(&mut self, query: String, matches:... method attach_image (line 411) | pub(crate) fn attach_image( method take_recent_submission_images (line 425) | pub(crate) fn take_recent_submission_images(&mut self) -> Vec { type BottomPaneParams (line 66) | pub(crate) struct BottomPaneParams { method render_ref (line 431) | fn render_ref(&self, area: Rect, buf: &mut Buffer) { function exec_request (line 458) | fn exec_request() -> ApprovalRequest { function ctrl_c_on_modal_consumes_and_shows_quit_hint (line 467) | fn ctrl_c_on_modal_consumes_and_shows_quit_hint() { function overlay_not_shown_above_approval_modal (line 486) | fn overlay_not_shown_above_approval_modal() { function composer_shown_after_denied_while_task_running (line 516) | fn composer_shown_after_denied_while_task_running() { function status_indicator_visible_during_command_execution (line 583) | fn status_indicator_visible_during_command_execution() { function bottom_padding_present_with_status_above_composer (line 613) | fn bottom_padding_present_with_status_above_composer() { function bottom_padding_shrinks_when_tiny (line 663) | fn bottom_padding_shrinks_when_tiny() { FILE: codex-rs/tui/src/bottom_pane/popup_consts.rs constant MAX_POPUP_ROWS (line 5) | pub(crate) const MAX_POPUP_ROWS: usize = 8; FILE: codex-rs/tui/src/bottom_pane/scroll_state.rs type ScrollState (line 8) | pub(crate) struct ScrollState { method new (line 14) | pub fn new() -> Self { method reset (line 22) | pub fn reset(&mut self) { method clamp_selection (line 28) | pub fn clamp_selection(&mut self, len: usize) { method move_up_wrap (line 39) | pub fn move_up_wrap(&mut self, len: usize) { method move_down_wrap (line 53) | pub fn move_down_wrap(&mut self, len: usize) { method ensure_visible (line 67) | pub fn ensure_visible(&mut self, len: usize, visible_rows: usize) { function wrap_navigation_and_visibility (line 92) | fn wrap_navigation_and_visibility() { FILE: codex-rs/tui/src/bottom_pane/selection_popup_common.rs type GenericDisplayRow (line 20) | pub(crate) struct GenericDisplayRow { function render_rows (line 31) | pub(crate) fn render_rows( FILE: codex-rs/tui/src/bottom_pane/textarea.rs type TextElement (line 18) | struct TextElement { type TextArea (line 23) | pub(crate) struct TextArea { method new (line 44) | pub fn new() -> Self { method set_text (line 54) | pub fn set_text(&mut self, text: &str) { method text (line 62) | pub fn text(&self) -> &str { method insert_str (line 66) | pub fn insert_str(&mut self, text: &str) { method insert_str_at (line 70) | pub fn insert_str_at(&mut self, pos: usize, text: &str) { method replace_range (line 81) | pub fn replace_range(&mut self, range: std::ops::Range, text: &... method replace_range_raw (line 86) | fn replace_range_raw(&mut self, range: std::ops::Range, text: &... method cursor (line 119) | pub fn cursor(&self) -> usize { method set_cursor (line 123) | pub fn set_cursor(&mut self, pos: usize) { method desired_height (line 129) | pub fn desired_height(&self, width: u16) -> u16 { method cursor_pos (line 134) | pub fn cursor_pos(&self, area: Rect) -> Option<(u16, u16)> { method cursor_pos_with_state (line 139) | pub fn cursor_pos_with_state(&self, area: Rect, state: &TextAreaState)... method is_empty (line 152) | pub fn is_empty(&self) -> bool { method current_display_col (line 156) | fn current_display_col(&self) -> usize { method wrapped_line_index_by_start (line 161) | fn wrapped_line_index_by_start(lines: &[Range], pos: usize) -> ... method move_to_display_col_on_line (line 168) | fn move_to_display_col_on_line( method beginning_of_line (line 188) | fn beginning_of_line(&self, pos: usize) -> usize { method beginning_of_current_line (line 191) | fn beginning_of_current_line(&self) -> usize { method end_of_line (line 195) | fn end_of_line(&self, pos: usize) -> usize { method end_of_current_line (line 201) | fn end_of_current_line(&self) -> usize { method input (line 205) | pub fn input(&mut self, event: KeyEvent) { method delete_backward (line 406) | pub fn delete_backward(&mut self, n: usize) { method delete_forward (line 420) | pub fn delete_forward(&mut self, n: usize) { method delete_backward_word (line 434) | pub fn delete_backward_word(&mut self) { method kill_to_end_of_line (line 439) | pub fn kill_to_end_of_line(&mut self) { method kill_to_beginning_of_line (line 450) | pub fn kill_to_beginning_of_line(&mut self) { method move_cursor_left (line 462) | pub fn move_cursor_left(&mut self) { method move_cursor_right (line 468) | pub fn move_cursor_right(&mut self) { method move_cursor_up (line 473) | pub fn move_cursor_up(&mut self) { method move_cursor_down (line 536) | pub fn move_cursor_down(&mut self) { method move_cursor_to_beginning_of_line (line 604) | pub fn move_cursor_to_beginning_of_line(&mut self, move_up_at_bol: boo... method move_cursor_to_end_of_line (line 614) | pub fn move_cursor_to_end_of_line(&mut self, move_down_at_eol: bool) { method insert_element (line 626) | pub fn insert_element(&mut self, text: &str) { method add_element (line 635) | fn add_element(&mut self, range: Range) { method find_element_containing (line 643) | fn find_element_containing(&self, pos: usize) -> Option { method clamp_pos_to_nearest_boundary (line 649) | fn clamp_pos_to_nearest_boundary(&self, mut pos: usize) -> usize { method clamp_pos_for_insertion (line 667) | fn clamp_pos_for_insertion(&self, pos: usize) -> usize { method expand_range_to_element_boundaries (line 684) | fn expand_range_to_element_boundaries(&self, mut range: Range) ... method shift_elements (line 706) | fn shift_elements(&mut self, at: usize, removed: usize, inserted: usiz... method update_elements_after_replace (line 731) | fn update_elements_after_replace(&mut self, start: usize, end: usize, ... method prev_atomic_boundary (line 735) | fn prev_atomic_boundary(&self, pos: usize) -> usize { method next_atomic_boundary (line 761) | fn next_atomic_boundary(&self, pos: usize) -> usize { method beginning_of_previous_word (line 787) | pub(crate) fn beginning_of_previous_word(&self) -> usize { method end_of_next_word (line 800) | pub(crate) fn end_of_next_word(&self) -> usize { method adjust_pos_out_of_elements (line 813) | fn adjust_pos_out_of_elements(&self, pos: usize, prefer_start: bool) -... method wrapped_lines (line 827) | fn wrapped_lines(&self, width: u16) -> Ref<'_, Vec>> { method effective_scroll (line 868) | fn effective_scroll( method render_lines (line 919) | fn render_lines( type WrapCache (line 32) | struct WrapCache { type TextAreaState (line 38) | pub(crate) struct TextAreaState { method render_ref (line 898) | fn render_ref(&self, area: Rect, buf: &mut Buffer) { type State (line 905) | type State = TextAreaState; method render_ref (line 907) | fn render_ref(&self, area: Rect, buf: &mut Buffer, state: &mut Self::Sta... function rand_grapheme (line 956) | fn rand_grapheme(rng: &mut rand::rngs::StdRng) -> String { function ta_with (line 997) | fn ta_with(text: &str) -> TextArea { function insert_and_replace_update_cursor_and_text (line 1004) | fn insert_and_replace_update_cursor_and_text() { function delete_backward_and_forward_edges (line 1047) | fn delete_backward_and_forward_edges() { function delete_backward_word_and_kill_line_variants (line 1073) | fn delete_backward_word_and_kill_line_variants() { function cursor_left_and_right_handle_graphemes (line 1124) | fn cursor_left_and_right_handle_graphemes() { function control_b_and_f_move_cursor (line 1147) | fn control_b_and_f_move_cursor() { function control_b_f_fallback_control_chars_move_cursor (line 1159) | fn control_b_f_fallback_control_chars_move_cursor() { function delete_backward_word_alt_keys (line 1174) | fn delete_backward_word_alt_keys() { function control_h_backspace (line 1194) | fn control_h_backspace() { function cursor_vertical_movement_across_lines_and_bounds (line 1216) | fn cursor_vertical_movement_across_lines_and_bounds() { function home_end_and_emacs_style_home_end (line 1248) | fn home_end_and_emacs_style_home_end() { function end_of_line_or_down_at_end_of_text (line 1273) | fn end_of_line_or_down_at_end_of_text() { function word_navigation_helpers (line 1289) | fn word_navigation_helpers() { function wrapping_and_cursor_positions (line 1308) | fn wrapping_and_cursor_positions() { function cursor_pos_with_state_basic_and_scroll_behaviors (line 1336) | fn cursor_pos_with_state_basic_and_scroll_behaviors() { function wrapped_navigation_across_visual_lines (line 1377) | fn wrapped_navigation_across_visual_lines() { function cursor_pos_with_state_after_movements (line 1415) | fn cursor_pos_with_state_after_movements() { function wrapped_navigation_with_newlines_and_spaces (line 1459) | fn wrapped_navigation_with_newlines_and_spaces() { function wrapped_navigation_with_wide_graphemes (line 1484) | fn wrapped_navigation_with_wide_graphemes() { function fuzz_textarea_randomized (line 1504) | fn fuzz_textarea_randomized() { FILE: codex-rs/tui/src/chatwidget.rs type RunningCommand (line 85) | struct RunningCommand { type ChatWidget (line 90) | pub(crate) struct ChatWidget { method flush_answer_stream_with_separator (line 142) | fn flush_answer_stream_with_separator(&mut self) { method on_session_configured (line 147) | fn on_session_configured(&mut self, event: codex_core::protocol::Sessi... method on_agent_message (line 162) | fn on_agent_message(&mut self, message: String) { method on_agent_message_delta (line 169) | fn on_agent_message_delta(&mut self, delta: String) { method on_agent_reasoning_delta (line 173) | fn on_agent_reasoning_delta(&mut self, delta: String) { method on_agent_reasoning_final (line 188) | fn on_agent_reasoning_final(&mut self) { method on_reasoning_section_break (line 202) | fn on_reasoning_section_break(&mut self) { method on_task_started (line 211) | fn on_task_started(&mut self) { method on_task_complete (line 220) | fn on_task_complete(&mut self) { method on_token_count (line 236) | fn on_token_count(&mut self, token_usage: TokenUsage) { method finalize_turn_with_error_message (line 248) | fn finalize_turn_with_error_message(&mut self, message: String) { method on_error (line 259) | fn on_error(&mut self, message: String) { method on_interrupted_turn (line 270) | fn on_interrupted_turn(&mut self) { method on_plan_update (line 291) | fn on_plan_update(&mut self, update: codex_core::plan_tool::UpdatePlan... method on_exec_approval_request (line 295) | fn on_exec_approval_request(&mut self, id: String, ev: ExecApprovalReq... method on_apply_patch_approval_request (line 304) | fn on_apply_patch_approval_request(&mut self, id: String, ev: ApplyPat... method on_exec_command_begin (line 313) | fn on_exec_command_begin(&mut self, ev: ExecCommandBeginEvent) { method on_exec_command_output_delta (line 319) | fn on_exec_command_output_delta( method on_patch_apply_begin (line 326) | fn on_patch_apply_begin(&mut self, event: PatchApplyBeginEvent) { method on_patch_apply_end (line 335) | fn on_patch_apply_end(&mut self, event: codex_core::protocol::PatchApp... method on_exec_command_end (line 343) | fn on_exec_command_end(&mut self, ev: ExecCommandEndEvent) { method on_mcp_tool_call_begin (line 348) | fn on_mcp_tool_call_begin(&mut self, ev: McpToolCallBeginEvent) { method on_mcp_tool_call_end (line 353) | fn on_mcp_tool_call_end(&mut self, ev: McpToolCallEndEvent) { method on_web_search_begin (line 358) | fn on_web_search_begin(&mut self, ev: WebSearchBeginEvent) { method on_get_history_entry_response (line 363) | fn on_get_history_entry_response( method on_shutdown_complete (line 376) | fn on_shutdown_complete(&mut self) { method on_turn_diff (line 380) | fn on_turn_diff(&mut self, unified_diff: String) { method on_background_event (line 384) | fn on_background_event(&mut self, message: String) { method on_stream_error (line 388) | fn on_stream_error(&mut self, message: String) { method on_commit_tick (line 395) | pub(crate) fn on_commit_tick(&mut self) { method is_write_cycle_active (line 400) | fn is_write_cycle_active(&self) -> bool { method flush_interrupt_queue (line 404) | fn flush_interrupt_queue(&mut self) { method defer_or_handle (line 411) | fn defer_or_handle( method handle_if_stream_finished (line 427) | fn handle_if_stream_finished(&mut self, finished: bool) { method handle_streaming_delta (line 441) | fn handle_streaming_delta(&mut self, delta: String) { method handle_exec_end_now (line 448) | pub(crate) fn handle_exec_end_now(&mut self, ev: ExecCommandEndEvent) { method handle_patch_apply_end_now (line 483) | pub(crate) fn handle_patch_apply_end_now( method handle_exec_approval_now (line 494) | pub(crate) fn handle_exec_approval_now(&mut self, id: String, ev: Exec... method handle_apply_patch_approval_now (line 506) | pub(crate) fn handle_apply_patch_approval_now( method handle_exec_begin_now (line 526) | pub(crate) fn handle_exec_begin_now(&mut self, ev: ExecCommandBeginEve... method handle_mcp_begin_now (line 554) | pub(crate) fn handle_mcp_begin_now(&mut self, ev: McpToolCallBeginEven... method handle_mcp_end_now (line 558) | pub(crate) fn handle_mcp_end_now(&mut self, ev: McpToolCallEndEvent) { method layout_areas (line 572) | fn layout_areas(&self, area: Rect) -> [Rect; 2] { method new (line 584) | pub(crate) fn new( method new_from_existing (line 631) | pub(crate) fn new_from_existing( method desired_height (line 675) | pub fn desired_height(&self, width: u16) -> u16 { method handle_key_event (line 683) | pub(crate) fn handle_key_event(&mut self, key_event: KeyEvent) { method attach_image (line 738) | pub(crate) fn attach_image( method dispatch_command (line 753) | fn dispatch_command(&mut self, cmd: SlashCommand) { method handle_paste (line 849) | pub(crate) fn handle_paste(&mut self, text: String) { method flush_active_exec_cell (line 853) | fn flush_active_exec_cell(&mut self) { method add_to_history (line 861) | fn add_to_history(&mut self, cell: impl HistoryCell + 'static) { method add_boxed_history (line 872) | fn add_boxed_history(&mut self, cell: Box) { method submit_user_message (line 877) | fn submit_user_message(&mut self, user_message: UserMessage) { method handle_codex_event (line 914) | pub(crate) fn handle_codex_event(&mut self, event: Event) { method request_redraw (line 980) | fn request_redraw(&mut self) { method finalize_active_exec_cell_as_failed (line 985) | fn finalize_active_exec_cell_as_failed(&mut self) { method maybe_send_next_queued_input (line 995) | fn maybe_send_next_queued_input(&mut self) { method refresh_queued_user_messages (line 1007) | fn refresh_queued_user_messages(&mut self) { method add_diff_in_progress (line 1016) | pub(crate) fn add_diff_in_progress(&mut self) { method on_diff_complete (line 1020) | pub(crate) fn on_diff_complete(&mut self) { method add_status_output (line 1024) | pub(crate) fn add_status_output(&mut self) { method open_model_popup (line 1033) | pub(crate) fn open_model_popup(&mut self) { method open_approvals_popup (line 1074) | pub(crate) fn open_approvals_popup(&mut self) { method set_approval_policy (line 1115) | pub(crate) fn set_approval_policy(&mut self, policy: AskForApproval) { method set_sandbox_policy (line 1120) | pub(crate) fn set_sandbox_policy(&mut self, policy: SandboxPolicy) { method set_reasoning_effort (line 1125) | pub(crate) fn set_reasoning_effort(&mut self, effort: ReasoningEffortC... method set_model (line 1130) | pub(crate) fn set_model(&mut self, model: String) { method add_mcp_output (line 1134) | pub(crate) fn add_mcp_output(&mut self) { method apply_file_search_result (line 1143) | pub(crate) fn apply_file_search_result(&mut self, query: String, match... method on_ctrl_c (line 1148) | fn on_ctrl_c(&mut self) { method composer_is_empty (line 1160) | pub(crate) fn composer_is_empty(&self) -> bool { method is_normal_backtrack_mode (line 1167) | pub(crate) fn is_normal_backtrack_mode(&self) -> bool { method insert_str (line 1171) | pub(crate) fn insert_str(&mut self, text: &str) { method show_esc_backtrack_hint (line 1175) | pub(crate) fn show_esc_backtrack_hint(&mut self) { method clear_esc_backtrack_hint (line 1179) | pub(crate) fn clear_esc_backtrack_hint(&mut self) { method submit_op (line 1183) | pub(crate) fn submit_op(&self, op: Op) { method on_list_mcp_tools (line 1191) | fn on_list_mcp_tools(&mut self, ev: McpListToolsResponseEvent) { method submit_text_message (line 1198) | pub(crate) fn submit_text_message(&mut self, text: String) { method token_usage (line 1205) | pub(crate) fn token_usage(&self) -> &TokenUsage { method session_id (line 1209) | pub(crate) fn session_id(&self) -> Option { method config_ref (line 1215) | pub(crate) fn config_ref(&self) -> &Config { method clear_token_usage (line 1219) | pub(crate) fn clear_token_usage(&mut self) { method cursor_pos (line 1228) | pub fn cursor_pos(&self, area: Rect) -> Option<(u16, u16)> { type UserMessage (line 119) | struct UserMessage { method from (line 125) | fn from(text: String) -> Self { function create_initial_user_message (line 133) | fn create_initial_user_message(text: String, image_paths: Vec) ... method render_ref (line 1235) | fn render_ref(&self, area: Rect, buf: &mut Buffer) { constant EXAMPLE_PROMPTS (line 1244) | const EXAMPLE_PROMPTS: [&str; 6] = [ function add_token_usage (line 1253) | fn add_token_usage(current_usage: &TokenUsage, new_usage: &TokenUsage) -... function extract_first_bold (line 1283) | fn extract_first_bold(s: &str) -> Option { FILE: codex-rs/tui/src/chatwidget/agent.rs function spawn_agent (line 16) | pub(crate) fn spawn_agent( function spawn_agent_from_existing (line 67) | pub(crate) fn spawn_agent_from_existing( FILE: codex-rs/tui/src/chatwidget/interrupts.rs type QueuedInterrupt (line 14) | pub(crate) enum QueuedInterrupt { type InterruptManager (line 25) | pub(crate) struct InterruptManager { method new (line 30) | pub(crate) fn new() -> Self { method is_empty (line 37) | pub(crate) fn is_empty(&self) -> bool { method push_exec_approval (line 41) | pub(crate) fn push_exec_approval(&mut self, id: String, ev: ExecApprov... method push_apply_patch_approval (line 45) | pub(crate) fn push_apply_patch_approval( method push_exec_begin (line 54) | pub(crate) fn push_exec_begin(&mut self, ev: ExecCommandBeginEvent) { method push_exec_end (line 58) | pub(crate) fn push_exec_end(&mut self, ev: ExecCommandEndEvent) { method push_mcp_begin (line 62) | pub(crate) fn push_mcp_begin(&mut self, ev: McpToolCallBeginEvent) { method push_mcp_end (line 66) | pub(crate) fn push_mcp_end(&mut self, ev: McpToolCallEndEvent) { method push_patch_end (line 70) | pub(crate) fn push_patch_end(&mut self, ev: PatchApplyEndEvent) { method flush_all (line 74) | pub(crate) fn flush_all(&mut self, chat: &mut ChatWidget) { FILE: codex-rs/tui/src/chatwidget/tests.rs function test_config (line 39) | fn test_config() -> Config { function upgrade_event_payload_for_tests (line 51) | fn upgrade_event_payload_for_tests(mut payload: serde_json::Value) -> se... function final_answer_without_newline_is_flushed_immediately (line 75) | fn final_answer_without_newline_is_flushed_immediately() { function helpers_are_available_and_do_not_panic (line 131) | async fn helpers_are_available_and_do_not_panic() { function make_chatwidget_manual (line 152) | fn make_chatwidget_manual() -> ( function drain_insert_history (line 193) | fn drain_insert_history( function lines_to_single_string (line 207) | fn lines_to_single_string(lines: &[ratatui::text::Line<'static>]) -> Str... function open_fixture (line 218) | fn open_fixture(name: &str) -> std::fs::File { function alt_up_edits_most_recent_queued_message (line 243) | fn alt_up_edits_most_recent_queued_message() { function exec_history_cell_shows_working_then_completed (line 273) | fn exec_history_cell_shows_working_then_completed() { function exec_history_cell_shows_working_then_failed (line 324) | fn exec_history_cell_shows_working_then_failed() { function interrupt_exec_marks_failed_snapshot (line 377) | fn interrupt_exec_marks_failed_snapshot() { function exec_history_extends_previous_when_consecutive (line 417) | fn exec_history_extends_previous_when_consecutive() { function binary_size_transcript_matches_ideal_fixture (line 486) | async fn binary_size_transcript_matches_ideal_fixture() { function approval_modal_exec_snapshot (line 705) | fn approval_modal_exec_snapshot() { function approval_modal_patch_snapshot (line 734) | fn approval_modal_patch_snapshot() { function interrupt_restores_queued_messages_into_composer (line 768) | fn interrupt_restores_queued_messages_into_composer() { function ui_snapshots_small_heights_idle (line 809) | fn ui_snapshots_small_heights_idle() { function ui_snapshots_small_heights_task_running (line 826) | fn ui_snapshots_small_heights_task_running() { function status_widget_and_approval_modal_snapshot (line 857) | fn status_widget_and_approval_modal_snapshot() { function status_widget_active_snapshot (line 901) | fn status_widget_active_snapshot() { function apply_patch_events_emit_history_cells (line 928) | fn apply_patch_events_emit_history_cells() { function apply_patch_approval_sends_op_with_submission_id (line 1003) | fn apply_patch_approval_sends_op_with_submission_id() { function apply_patch_full_flow_integration_like (line 1044) | fn apply_patch_full_flow_integration_like() { function apply_patch_untrusted_shows_approval_modal (line 1116) | fn apply_patch_untrusted_shows_approval_modal() { function apply_patch_request_shows_diff_summary (line 1160) | fn apply_patch_request_shows_diff_summary() { function plan_update_renders_history_cell (line 1207) | fn plan_update_renders_history_cell() { function stream_error_is_rendered_to_history (line 1243) | fn stream_error_is_rendered_to_history() { function headers_emitted_on_stream_begin_for_answer_and_not_for_reasoning (line 1262) | fn headers_emitted_on_stream_begin_for_answer_and_not_for_reasoning() { function multiple_agent_messages_in_single_turn_emit_multiple_headers (line 1350) | fn multiple_agent_messages_in_single_turn_emit_multiple_headers() { function final_reasoning_then_message_without_deltas_are_rendered (line 1420) | fn final_reasoning_then_message_without_deltas_are_rendered() { function deltas_then_same_final_message_are_rendered_snapshot (line 1447) | fn deltas_then_same_final_message_are_rendered_snapshot() { FILE: codex-rs/tui/src/cli.rs type Cli (line 8) | pub struct Cli { FILE: codex-rs/tui/src/clipboard_paste.rs type PasteImageError (line 6) | pub enum PasteImageError { method fmt (line 14) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type EncodedImageFormat (line 26) | pub enum EncodedImageFormat { method label (line 33) | pub fn label(self) -> &'static str { type PastedImageInfo (line 43) | pub struct PastedImageInfo { function paste_image_as_png (line 50) | pub fn paste_image_as_png() -> Result<(Vec, PastedImageInfo), PasteI... function paste_image_to_temp_png (line 88) | pub fn paste_image_to_temp_png() -> Result<(PathBuf, PastedImageInfo), P... function normalize_pasted_path (line 110) | pub fn normalize_pasted_path(pasted: &str) -> Option { function pasted_image_format (line 156) | pub fn pasted_image_format(path: &Path) -> EncodedImageFormat { function normalize_file_url (line 175) | fn normalize_file_url() { function normalize_file_url_windows (line 182) | fn normalize_file_url_windows() { function normalize_shell_escaped_single_path (line 189) | fn normalize_shell_escaped_single_path() { function normalize_simple_quoted_path_fallback (line 196) | fn normalize_simple_quoted_path_fallback() { function normalize_single_quoted_unix_path (line 203) | fn normalize_single_quoted_unix_path() { function normalize_multiple_tokens_returns_none (line 210) | fn normalize_multiple_tokens_returns_none() { function pasted_image_format_png_jpeg_unknown (line 218) | fn pasted_image_format_png_jpeg_unknown() { function normalize_single_quoted_windows_path (line 242) | fn normalize_single_quoted_windows_path() { function normalize_unquoted_windows_path_with_spaces (line 250) | fn normalize_unquoted_windows_path_with_spaces() { function normalize_unc_windows_path (line 260) | fn normalize_unc_windows_path() { function pasted_image_format_with_windows_style_paths (line 270) | fn pasted_image_format_with_windows_style_paths() { FILE: codex-rs/tui/src/common.rs constant DEFAULT_WRAP_COLS (line 1) | pub(crate) const DEFAULT_WRAP_COLS: u16 = 80; FILE: codex-rs/tui/src/custom_terminal.rs type Frame (line 38) | pub struct Frame<'a> { function area (line 64) | pub const fn area(&self) -> Rect { function render_widget (line 74) | pub fn render_widget(&mut self, widget: W, area: Rect) { function render_widget_ref (line 83) | pub fn render_widget_ref(&mut self, widget: W, area: Rect) { function render_stateful_widget (line 96) | pub fn render_stateful_widget(&mut self, widget: W, area: Rect, state... function render_stateful_widget_ref (line 112) | pub fn render_stateful_widget_ref(&mut self, widget: W, area: Rect, s... function set_cursor_position (line 129) | pub fn set_cursor_position>(&mut self, position: P) { function buffer_mut (line 134) | pub fn buffer_mut(&mut self) -> &mut Buffer { function count (line 151) | pub const fn count(&self) -> usize { type Terminal (line 157) | pub struct Terminal method drop (line 186) | fn drop(&mut self) { function with_options (line 201) | pub fn with_options(mut backend: B) -> io::Result { function get_frame (line 220) | pub fn get_frame(&mut self) -> Frame<'_> { function current_buffer_mut (line 231) | pub fn current_buffer_mut(&mut self) -> &mut Buffer { function backend (line 236) | pub const fn backend(&self) -> &B { function backend_mut (line 241) | pub fn backend_mut(&mut self) -> &mut B { function flush (line 247) | pub fn flush(&mut self) -> io::Result<()> { function resize (line 261) | pub fn resize(&mut self, screen_size: Size) -> io::Result<()> { function set_viewport_area (line 267) | pub fn set_viewport_area(&mut self, area: Rect) { function autoresize (line 274) | pub fn autoresize(&mut self) -> io::Result<()> { function draw (line 305) | pub fn draw(&mut self, render_callback: F) -> io::Result<()> function try_draw (line 350) | pub fn try_draw(&mut self, render_callback: F) -> io::Result<()> function hide_cursor (line 391) | pub fn hide_cursor(&mut self) -> io::Result<()> { function show_cursor (line 398) | pub fn show_cursor(&mut self) -> io::Result<()> { function get_cursor_position (line 408) | pub fn get_cursor_position(&mut self) -> io::Result { function set_cursor_position (line 413) | pub fn set_cursor_position>(&mut self, position: P) ->... function clear (line 421) | pub fn clear(&mut self) -> io::Result<()> { function swap_buffers (line 434) | pub fn swap_buffers(&mut self) { function size (line 440) | pub fn size(&self) -> io::Result { FILE: codex-rs/tui/src/diff_render.rs constant SPACES_AFTER_LINE_NUMBER (line 15) | const SPACES_AFTER_LINE_NUMBER: usize = 6; type DiffLineType (line 18) | enum DiffLineType { function create_diff_summary (line 24) | pub(crate) fn create_diff_summary( function render_patch_details (line 171) | fn render_patch_details(changes: &HashMap) -> Vec Style { function style_add (line 363) | fn style_add() -> Style { function style_del (line 367) | fn style_del() -> Style { function snapshot_lines (line 382) | fn snapshot_lines(name: &str, lines: Vec>, width: u16, h... function ui_snapshot_add_details (line 395) | fn ui_snapshot_add_details() { function ui_snapshot_update_details_with_rename (line 411) | fn ui_snapshot_update_details_with_rename() { function ui_snapshot_wrap_behavior_insert (line 433) | fn ui_snapshot_wrap_behavior_insert() { function ui_snapshot_single_line_replacement_counts (line 446) | fn ui_snapshot_single_line_replacement_counts() { function ui_snapshot_blank_context_line (line 468) | fn ui_snapshot_blank_context_line() { function ui_snapshot_vertical_ellipsis_between_hunks (line 490) | fn ui_snapshot_vertical_ellipsis_between_hunks() { FILE: codex-rs/tui/src/exec_command.rs function escape_command (line 6) | pub(crate) fn escape_command(command: &[String]) -> String { function strip_bash_lc_and_escape (line 10) | pub(crate) fn strip_bash_lc_and_escape(command: &[String]) -> String { function relativize_to_home (line 20) | pub(crate) fn relativize_to_home

(path: P) -> Option function test_escape_command (line 44) | fn test_escape_command() { function test_strip_bash_lc_and_escape (line 51) | fn test_strip_bash_lc_and_escape() { FILE: codex-rs/tui/src/file_search.rs constant MAX_FILE_SEARCH_RESULTS (line 34) | const MAX_FILE_SEARCH_RESULTS: NonZeroUsize = NonZeroUsize::new(8).unwra... constant NUM_FILE_SEARCH_THREADS (line 35) | const NUM_FILE_SEARCH_THREADS: NonZeroUsize = NonZeroUsize::new(2).unwra... constant FILE_SEARCH_DEBOUNCE (line 39) | const FILE_SEARCH_DEBOUNCE: Duration = Duration::from_millis(100); constant ACTIVE_SEARCH_COMPLETE_POLL_INTERVAL (line 41) | const ACTIVE_SEARCH_COMPLETE_POLL_INTERVAL: Duration = Duration::from_mi... type FileSearchManager (line 44) | pub(crate) struct FileSearchManager { method new (line 69) | pub fn new(search_dir: PathBuf, tx: AppEventSender) -> Self { method on_user_query (line 82) | pub fn on_user_query(&self, query: String) { method spawn_file_search (line 158) | fn spawn_file_search( type SearchState (line 52) | struct SearchState { type ActiveSearch (line 63) | struct ActiveSearch { FILE: codex-rs/tui/src/get_git_diff.rs function get_git_diff (line 17) | pub(crate) async fn get_git_diff() -> io::Result<(bool, String)> { function run_git_capture_stdout (line 66) | async fn run_git_capture_stdout(args: &[&str]) -> io::Result { function run_git_capture_diff (line 86) | async fn run_git_capture_diff(args: &[&str]) -> io::Result { function inside_git_repo (line 105) | async fn inside_git_repo() -> io::Result { FILE: codex-rs/tui/src/history_cell.rs type CommandOutput (line 45) | pub(crate) struct CommandOutput { type PatchEventType (line 52) | pub(crate) enum PatchEventType { type HistoryCell (line 60) | pub(crate) trait HistoryCell: std::fmt::Debug + Send + Sync { method display_lines (line 61) | fn display_lines(&self) -> Vec>; method transcript_lines (line 63) | fn transcript_lines(&self) -> Vec> { method desired_height (line 67) | fn desired_height(&self, width: u16) -> u16 { method display_lines (line 82) | fn display_lines(&self) -> Vec> { method display_lines (line 93) | fn display_lines(&self) -> Vec> { method transcript_lines (line 97) | fn transcript_lines(&self) -> Vec> { method display_lines (line 112) | fn display_lines(&self) -> Vec> { method transcript_lines (line 122) | fn transcript_lines(&self) -> Vec> { method display_lines (line 203) | fn display_lines(&self) -> Vec> { type PlainHistoryCell (line 77) | pub(crate) struct PlainHistoryCell { type TranscriptOnlyHistoryCell (line 88) | pub(crate) struct TranscriptOnlyHistoryCell { type ExecCell (line 103) | pub(crate) struct ExecCell { method into_failed (line 181) | pub(crate) fn into_failed(mut self) -> ExecCell { method render_ref (line 162) | fn render_ref(&self, area: Rect, buf: &mut Buffer) { type CompletedMcpToolCallWithImageOutput (line 199) | struct CompletedMcpToolCallWithImageOutput { constant TOOL_CALL_MAX_LINES (line 211) | const TOOL_CALL_MAX_LINES: usize = 5; function title_case (line 213) | fn title_case(s: &str) -> String { function pretty_provider_name (line 226) | fn pretty_provider_name(id: &str) -> String { function padded_emoji (line 236) | fn padded_emoji(emoji: &str) -> String { function padded_emoji_with (line 241) | fn padded_emoji_with(emoji: &str, text: impl AsRef) -> String { function new_session_info (line 245) | pub(crate) fn new_session_info( function new_user_prompt (line 298) | pub(crate) fn new_user_prompt(message: String) -> PlainHistoryCell { function new_active_exec_command (line 307) | pub(crate) fn new_active_exec_command( function new_completed_exec_command (line 322) | pub(crate) fn new_completed_exec_command( function exec_command_lines (line 339) | fn exec_command_lines( function new_parsed_command (line 351) | fn new_parsed_command( function new_exec_command_generic (line 422) | fn new_exec_command_generic( function new_active_mcp_tool_call (line 471) | pub(crate) fn new_active_mcp_tool_call(invocation: McpInvocation) -> Pla... function new_web_search_call (line 482) | pub(crate) fn new_web_search_call(query: String) -> PlainHistoryCell { function try_new_completed_mcp_tool_call_with_image_output (line 492) | fn try_new_completed_mcp_tool_call_with_image_output( function new_completed_mcp_tool_call (line 530) | pub(crate) fn new_completed_mcp_tool_call( function new_status_output (line 611) | pub(crate) fn new_status_output( function empty_mcp_output (line 806) | pub(crate) fn empty_mcp_output() -> PlainHistoryCell { function new_mcp_tools_output (line 829) | pub(crate) fn new_mcp_tools_output( function new_error_event (line 894) | pub(crate) fn new_error_event(message: String) -> PlainHistoryCell { function new_stream_error_event (line 905) | pub(crate) fn new_stream_error_event(message: String) -> PlainHistoryCell { function new_plan_update (line 919) | pub(crate) fn new_plan_update(update: UpdatePlanArgs) -> PlainHistoryCell { function new_patch_event (line 1021) | pub(crate) fn new_patch_event( function new_patch_apply_failure (line 1048) | pub(crate) fn new_patch_apply_failure(stderr: String) -> PlainHistoryCell { function new_patch_apply_success (line 1072) | pub(crate) fn new_patch_apply_success(stdout: String) -> PlainHistoryCell { function new_reasoning_block (line 1120) | pub(crate) fn new_reasoning_block( function output_lines (line 1131) | fn output_lines( function format_mcp_invocation (line 1193) | fn format_mcp_invocation<'a>(invocation: McpInvocation) -> Line<'a> { function parsed_command_with_newlines_starts_each_line_at_origin (line 1219) | fn parsed_command_with_newlines_starts_each_line_at_origin() { FILE: codex-rs/tui/src/insert_history.rs function insert_history_lines (line 25) | pub(crate) fn insert_history_lines(terminal: &mut tui::Terminal, lines: ... function insert_history_lines_to_writer (line 32) | pub fn insert_history_lines_to_writer( type SetScrollRegion (line 117) | pub struct SetScrollRegion(pub std::ops::Range); method write_ansi (line 120) | fn write_ansi(&self, f: &mut impl fmt::Write) -> fmt::Result { method execute_winapi (line 125) | fn execute_winapi(&self) -> std::io::Result<()> { method is_ansi_code_supported (line 130) | fn is_ansi_code_supported(&self) -> bool { type ResetScrollRegion (line 137) | pub struct ResetScrollRegion; method write_ansi (line 140) | fn write_ansi(&self, f: &mut impl fmt::Write) -> fmt::Result { method execute_winapi (line 145) | fn execute_winapi(&self) -> std::io::Result<()> { method is_ansi_code_supported (line 150) | fn is_ansi_code_supported(&self) -> bool { type ModifierDiff (line 156) | struct ModifierDiff { method queue (line 162) | fn queue(self, mut w: W) -> io::Result<()> function write_spans (line 223) | fn write_spans<'a, I>(mut writer: &mut impl Write, content: I) -> io::Re... function word_wrap_lines (line 265) | pub(crate) fn word_wrap_lines(lines: &[Line], width: u16) -> Vec Vec> { function to_owned_line (line 332) | fn to_owned_line(l: &Line<'_>) -> Line<'static> { function slice_line_spans (line 347) | fn slice_line_spans( function writes_bold_then_regular_spans (line 389) | fn writes_bold_then_regular_spans() { function line_height_counts_double_width_emoji (line 417) | fn line_height_counts_double_width_emoji() { function word_wrap_does_not_split_words_simple_english (line 425) | fn word_wrap_does_not_split_words_simple_english() { FILE: codex-rs/tui/src/lib.rs function run_main (line 77) | pub async fn run_main( function run_ratatui_app (line 232) | async fn run_ratatui_app( function restore (line 343) | fn restore() { type LoginStatus (line 352) | pub enum LoginStatus { function get_login_status (line 357) | fn get_login_status(config: &Config) -> LoginStatus { function determine_repo_trust_state (line 378) | fn determine_repo_trust_state( function should_show_onboarding (line 411) | fn should_show_onboarding( function should_show_login_screen (line 423) | fn should_show_login_screen(login_status: LoginStatus, config: &Config) ... function make_config (line 440) | fn make_config(preferred: AuthMode) -> Config { function shows_login_when_not_authenticated (line 452) | fn shows_login_when_not_authenticated() { function shows_login_when_api_key_but_prefers_chatgpt (line 461) | fn shows_login_when_api_key_but_prefers_chatgpt() { function hides_login_when_api_key_and_prefers_api_key (line 470) | fn hides_login_when_api_key_and_prefers_api_key() { function hides_login_when_chatgpt_and_prefers_chatgpt (line 479) | fn hides_login_when_chatgpt_and_prefers_chatgpt() { FILE: codex-rs/tui/src/live_wrap.rs type Row (line 6) | pub struct Row { method width (line 13) | pub fn width(&self) -> usize { type RowBuilder (line 21) | pub struct RowBuilder { method new (line 30) | pub fn new(target_width: usize) -> Self { method width (line 38) | pub fn width(&self) -> usize { method set_width (line 42) | pub fn set_width(&mut self, width: usize) { method push_fragment (line 58) | pub fn push_fragment(&mut self, fragment: &str) { method end_line (line 80) | pub fn end_line(&mut self) { method drain_rows (line 85) | pub fn drain_rows(&mut self) -> Vec { method rows (line 90) | pub fn rows(&self) -> &[Row] { method display_rows (line 95) | pub fn display_rows(&self) -> Vec { method drain_commit_ready (line 108) | pub fn drain_commit_ready(&mut self, max_keep: usize) -> Vec { method flush_current_line (line 122) | fn flush_current_line(&mut self, explicit_break: bool) { method wrap_current_line (line 148) | fn wrap_current_line(&mut self) { function take_prefix_by_width (line 187) | pub fn take_prefix_by_width(text: &str, max_cols: usize) -> (String, &st... function rows_do_not_exceed_width_ascii (line 215) | fn rows_do_not_exceed_width_ascii() { function rows_do_not_exceed_width_emoji_cjk (line 235) | fn rows_do_not_exceed_width_emoji_cjk() { function fragmentation_invariance_long_token (line 253) | fn fragmentation_invariance_long_token() { function newline_splits_rows (line 270) | fn newline_splits_rows() { function rewrap_on_width_change (line 281) | fn rewrap_on_width_change() { FILE: codex-rs/tui/src/main.rs type TopCli (line 8) | struct TopCli { function main (line 16) | fn main() -> anyhow::Result<()> { FILE: codex-rs/tui/src/markdown.rs function append_markdown (line 9) | pub(crate) fn append_markdown( function append_markdown_with_opener_and_cwd (line 17) | fn append_markdown_with_opener_and_cwd( function rewrite_file_citations (line 62) | fn rewrite_file_citations<'a>( type Segment (line 110) | enum Segment { function split_text_and_fences (line 118) | fn split_text_and_fences(src: &str) -> Vec { function citation_is_rewritten_with_absolute_path (line 263) | fn citation_is_rewritten_with_absolute_path() { function citation_is_rewritten_with_relative_path (line 275) | fn citation_is_rewritten_with_relative_path() { function citation_followed_by_space_so_they_do_not_run_together (line 287) | fn citation_followed_by_space_so_they_do_not_run_together() { function citation_unchanged_without_file_opener (line 299) | fn citation_unchanged_without_file_opener() { function fenced_code_blocks_preserve_leading_whitespace (line 320) | fn fenced_code_blocks_preserve_leading_whitespace() { function citations_not_rewritten_inside_code_blocks (line 345) | fn citations_not_rewritten_inside_code_blocks() { function indented_code_blocks_preserve_leading_whitespace (line 366) | fn indented_code_blocks_preserve_leading_whitespace() { function citations_not_rewritten_inside_indented_code_blocks (line 393) | fn citations_not_rewritten_inside_indented_code_blocks() { function append_markdown_preserves_full_text_line (line 415) | fn append_markdown_preserves_full_text_line() { function tui_markdown_splits_ordered_marker_and_text (line 440) | fn tui_markdown_splits_ordered_marker_and_text() { function append_markdown_matches_tui_markdown_for_ordered_item (line 461) | fn append_markdown_matches_tui_markdown_for_ordered_item() { function tui_markdown_shape_for_loose_tight_section (line 485) | fn tui_markdown_shape_for_loose_tight_section() { function split_text_and_fences_keeps_ordered_list_line_as_text (line 534) | fn split_text_and_fences_keeps_ordered_list_line_as_text() { function append_markdown_keeps_ordered_list_line_unsplit_in_context (line 551) | fn append_markdown_keeps_ordered_list_line_unsplit_in_context() { FILE: codex-rs/tui/src/markdown_stream.rs type MarkdownStreamCollector (line 12) | pub(crate) struct MarkdownStreamCollector { method new (line 18) | pub fn new() -> Self { method committed_count (line 27) | pub fn committed_count(&self) -> usize { method clear (line 31) | pub fn clear(&mut self) { method replace_with_and_mark_committed (line 38) | pub fn replace_with_and_mark_committed(&mut self, s: &str, committed_c... method push_delta (line 44) | pub fn push_delta(&mut self, delta: &str) { method commit_complete_lines (line 51) | pub fn commit_complete_lines(&mut self, config: &Config) -> Vec Vec bool { function starts_with_list_marker (line 213) | fn starts_with_list_marker(text: &str) -> bool { function is_short_plain_word (line 243) | fn is_short_plain_word(s: &str) -> bool { function unwrap_markdown_language_fence_if_enabled (line 253) | fn unwrap_markdown_language_fence_if_enabled(s: String) -> String { function unwrap_markdown_language_fence_if_enabled (line 259) | fn unwrap_markdown_language_fence_if_enabled(s: String) -> String { type StepResult (line 298) | pub(crate) struct StepResult { type AnimatedLineStreamer (line 304) | pub(crate) struct AnimatedLineStreamer { method new (line 309) | pub fn new() -> Self { method clear (line 315) | pub fn clear(&mut self) { method enqueue (line 319) | pub fn enqueue(&mut self, lines: Vec>) { method step (line 325) | pub fn step(&mut self) -> StepResult { method drain_all (line 338) | pub fn drain_all(&mut self) -> StepResult { method is_idle (line 346) | pub fn is_idle(&self) -> bool { function simulate_stream_markdown_for_tests (line 352) | pub(crate) fn simulate_stream_markdown_for_tests( function test_config (line 377) | fn test_config() -> Config { function no_commit_until_newline (line 389) | fn no_commit_until_newline() { function finalize_commits_partial_line (line 401) | fn finalize_commits_partial_line() { function heading_starts_on_new_line_when_following_paragraph (line 410) | fn heading_starts_on_new_line_when_following_paragraph() { function heading_not_inlined_when_split_across_chunks (line 467) | fn heading_not_inlined_when_split_across_chunks() { function lines_to_plain_strings (line 548) | fn lines_to_plain_strings(lines: &[ratatui::text::Line<'_>]) -> Vec StepState { method render_ref (line 406) | fn render_ref(&self, area: Rect, buf: &mut Buffer) { FILE: codex-rs/tui/src/onboarding/onboarding_screen.rs type Step (line 29) | enum Step { type KeyboardHandler (line 35) | pub(crate) trait KeyboardHandler { method handle_key_event (line 36) | fn handle_key_event(&mut self, key_event: KeyEvent); method handle_key_event (line 169) | fn handle_key_event(&mut self, key_event: KeyEvent) { method handle_key_event (line 260) | fn handle_key_event(&mut self, key_event: KeyEvent) { type StepState (line 39) | pub(crate) enum StepState { type StepStateProvider (line 45) | pub(crate) trait StepStateProvider { method get_step_state (line 46) | fn get_step_state(&self) -> StepState; method get_step_state (line 270) | fn get_step_state(&self) -> StepState { type OnboardingScreen (line 49) | pub(crate) struct OnboardingScreen { method new (line 66) | pub(crate) fn new(tui: &mut Tui, args: OnboardingScreenArgs) -> Self { method current_steps_mut (line 116) | fn current_steps_mut(&mut self) -> Vec<&mut Step> { method current_steps (line 131) | fn current_steps(&self) -> Vec<&Step> { method is_done (line 146) | pub(crate) fn is_done(&self) -> bool { method directory_trust_decision (line 154) | pub fn directory_trust_decision(&self) -> Option StepState { FILE: codex-rs/tui/src/onboarding/welcome.rs type WelcomeWidget (line 14) | pub(crate) struct WelcomeWidget { method render_ref (line 19) | fn render_ref(&self, area: Rect, buf: &mut Buffer) { method get_step_state (line 32) | fn get_step_state(&self) -> StepState { FILE: codex-rs/tui/src/pager_overlay.rs type Overlay (line 21) | pub(crate) enum Overlay { method new_transcript (line 27) | pub(crate) fn new_transcript(lines: Vec>) -> Self { method new_static_with_title (line 31) | pub(crate) fn new_static_with_title(lines: Vec>, title: ... method handle_event (line 35) | pub(crate) fn handle_event(&mut self, tui: &mut tui::Tui, event: TuiEv... method is_done (line 42) | pub(crate) fn is_done(&self) -> bool { constant PAGER_KEY_HINTS (line 51) | const PAGER_KEY_HINTS: &[(&str, &str)] = &[ function render_key_hints (line 58) | fn render_key_hints(area: Rect, buf: &mut Buffer, pairs: &[(&str, &str)]) { type PagerView (line 75) | struct PagerView { method new (line 83) | fn new(lines: Vec>, title: String, scroll_offset: usize)... method render (line 92) | fn render(&mut self, area: Rect, buf: &mut Buffer) { method render_with_highlight (line 114) | fn render_with_highlight( method render_header (line 141) | fn render_header(&self, area: Rect, buf: &mut Buffer) { method render_content_page_prepared (line 151) | fn render_content_page_prepared(&self, area: Rect, buf: &mut Buffer, p... method render_bottom_bar (line 166) | fn render_bottom_bar( method handle_key_event (line 198) | fn handle_key_event(&mut self, tui: &mut tui::Tui, key_event: KeyEvent... method scroll_area (line 253) | fn scroll_area(&self, area: Rect) -> Rect { method ensure_wrapped (line 270) | fn ensure_wrapped(&mut self, width: u16) { method cached (line 294) | fn cached(&self) -> (&[Line<'static>], &[usize]) { method page_with_optional_highlight (line 302) | fn page_with_optional_highlight<'a>( type WrapCache (line 262) | struct WrapCache { type TranscriptOverlay (line 342) | pub(crate) struct TranscriptOverlay { method new (line 349) | pub(crate) fn new(transcript_lines: Vec>) -> Self { method insert_lines (line 361) | pub(crate) fn insert_lines(&mut self, lines: Vec>) { method set_highlight_range (line 366) | pub(crate) fn set_highlight_range(&mut self, range: Option<(usize, usi... method render_hints (line 370) | fn render_hints(&self, area: Rect, buf: &mut Buffer) { method render (line 383) | pub(crate) fn render(&mut self, area: Rect, buf: &mut Buffer) { method handle_event (line 394) | pub(crate) fn handle_event(&mut self, tui: &mut tui::Tui, event: TuiEv... method is_done (line 428) | pub(crate) fn is_done(&self) -> bool { method set_scroll_offset (line 431) | pub(crate) fn set_scroll_offset(&mut self, offset: usize) { type StaticOverlay (line 436) | pub(crate) struct StaticOverlay { method with_title (line 442) | pub(crate) fn with_title(lines: Vec>, title: String) -> ... method render_hints (line 449) | fn render_hints(&self, area: Rect, buf: &mut Buffer) { method render (line 457) | pub(crate) fn render(&mut self, area: Rect, buf: &mut Buffer) { method handle_event (line 467) | pub(crate) fn handle_event(&mut self, tui: &mut tui::Tui, event: TuiEv... method is_done (line 495) | pub(crate) fn is_done(&self) -> bool { function edit_prev_hint_is_visible (line 508) | fn edit_prev_hint_is_visible() { function transcript_overlay_snapshot_basic (line 531) | fn transcript_overlay_snapshot_basic() { function static_overlay_snapshot_basic (line 545) | fn static_overlay_snapshot_basic() { function pager_wrap_cache_reuses_for_same_width_and_rebuilds_on_change (line 558) | fn pager_wrap_cache_reuses_for_same_width_and_rebuilds_on_change() { function pager_wrap_cache_invalidates_on_append (line 587) | fn pager_wrap_cache_invalidates_on_append() { FILE: codex-rs/tui/src/render/line_utils.rs function line_to_static (line 5) | pub fn line_to_static(line: &Line<'_>) -> Line<'static> { function push_owned_lines (line 21) | pub fn push_owned_lines<'a>(src: &[Line<'a>], out: &mut Vec) -> bool { FILE: codex-rs/tui/src/render/markdown_utils.rs function is_inside_unclosed_fence (line 3) | pub fn is_inside_unclosed_fence(s: &str) -> bool { function strip_empty_fenced_code_blocks (line 21) | pub fn strip_empty_fenced_code_blocks(s: &str) -> String { FILE: codex-rs/tui/src/session_log.rs type SessionLogger (line 18) | struct SessionLogger { method new (line 23) | fn new() -> Self { method open (line 29) | fn open(&self, path: PathBuf) -> std::io::Result<()> { method write_json_line (line 48) | fn write_json_line(&self, value: serde_json::Value) { method is_enabled (line 74) | fn is_enabled(&self) -> bool { function now_ts (line 79) | fn now_ts() -> String { function maybe_init (line 84) | pub(crate) fn maybe_init(config: &Config) { function log_inbound_app_event (line 125) | pub(crate) fn log_inbound_app_event(event: &AppEvent) { function log_outbound_op (line 194) | pub(crate) fn log_outbound_op(op: &Op) { function log_session_end (line 201) | pub(crate) fn log_session_end() { function write_record (line 213) | fn write_record(dir: &str, kind: &str, obj: &T) FILE: codex-rs/tui/src/shimmer.rs function elapsed_since_start (line 12) | fn elapsed_since_start() -> Duration { function shimmer_spans (line 17) | pub(crate) fn shimmer_spans(text: &str) -> Vec> { function color_for_level (line 65) | fn color_for_level(level: u8) -> Style { FILE: codex-rs/tui/src/slash_command.rs type SlashCommand (line 12) | pub enum SlashCommand { method description (line 32) | pub fn description(self) -> &'static str { method command (line 52) | pub fn command(self) -> &'static str { function built_in_slash_commands (line 58) | pub fn built_in_slash_commands() -> Vec<(&'static str, SlashCommand)> { FILE: codex-rs/tui/src/status_indicator_widget.rs type StatusIndicatorWidget (line 22) | pub(crate) struct StatusIndicatorWidget { method new (line 34) | pub(crate) fn new(app_event_tx: AppEventSender, frame_requester: Frame... method desired_height (line 45) | pub fn desired_height(&self, width: u16) -> u16 { method interrupt (line 73) | pub(crate) fn interrupt(&self) { method update_header (line 78) | pub(crate) fn update_header(&mut self, header: String) { method set_queued_messages (line 85) | pub(crate) fn set_queued_messages(&mut self, queued: Vec) { method render_ref (line 93) | fn render_ref(&self, area: Rect, buf: &mut Buffer) { function renders_with_working_header (line 152) | fn renders_with_working_header() { function renders_truncated (line 166) | fn renders_truncated() { function renders_with_queued_messages (line 180) | fn renders_with_queued_messages() { FILE: codex-rs/tui/src/streaming/controller.rs type HistorySink (line 8) | pub(crate) trait HistorySink { method insert_history (line 9) | fn insert_history(&self, lines: Vec>); method start_commit_animation (line 10) | fn start_commit_animation(&self); method stop_commit_animation (line 11) | fn stop_commit_animation(&self); method insert_history (line 18) | fn insert_history(&self, lines: Vec>) { method start_commit_animation (line 22) | fn start_commit_animation(&self) { method stop_commit_animation (line 26) | fn stop_commit_animation(&self) { method insert_history (line 247) | fn insert_history(&self, lines: Vec>) { method start_commit_animation (line 250) | fn start_commit_animation(&self) {} method stop_commit_animation (line 251) | fn stop_commit_animation(&self) {} type AppEventHistorySink (line 15) | pub(crate) struct AppEventHistorySink(pub(crate) crate::app_event_sender... type Lines (line 31) | type Lines = Vec>; type StreamController (line 35) | pub(crate) struct StreamController { method new (line 44) | pub(crate) fn new(config: Config) -> Self { method reset_headers_for_new_turn (line 54) | pub(crate) fn reset_headers_for_new_turn(&mut self) { method is_write_cycle_active (line 58) | pub(crate) fn is_write_cycle_active(&self) -> bool { method clear_all (line 62) | pub(crate) fn clear_all(&mut self) { method emit_header_if_needed (line 69) | fn emit_header_if_needed(&mut self, out_lines: &mut Lines) -> bool { method begin (line 74) | pub(crate) fn begin(&mut self, _sink: &impl HistorySink) { method push_and_maybe_commit (line 84) | pub(crate) fn push_and_maybe_commit(&mut self, delta: &str, sink: &imp... method finalize (line 105) | pub(crate) fn finalize(&mut self, flush_immediately: bool, sink: &impl... method on_commit_tick (line 156) | pub(crate) fn on_commit_tick(&mut self, sink: &impl HistorySink) -> bo... method apply_final_answer (line 189) | pub(crate) fn apply_final_answer(&mut self, message: &str, sink: &impl... method apply_full_final (line 193) | fn apply_full_final(&mut self, message: &str, sink: &impl HistorySink)... function test_config (line 225) | fn test_config() -> Config { type TestSink (line 236) | struct TestSink { method new (line 240) | fn new() -> Self { function lines_to_plain_strings (line 254) | fn lines_to_plain_strings(lines: &[ratatui::text::Line<'_>]) -> Vec Self { method clear (line 19) | pub(crate) fn clear(&mut self) { method step (line 24) | pub(crate) fn step(&mut self) -> crate::markdown_stream::StepResult { method drain_all (line 27) | pub(crate) fn drain_all(&mut self) -> crate::markdown_stream::StepResu... method is_idle (line 30) | pub(crate) fn is_idle(&self) -> bool { method enqueue (line 33) | pub(crate) fn enqueue(&mut self, lines: Vec Self { method reset_for_new_turn (line 51) | pub(crate) fn reset_for_new_turn(&mut self) { method reset_for_stream (line 56) | pub(crate) fn reset_for_stream(&mut self) { method allow_reemit_in_turn (line 61) | pub(crate) fn allow_reemit_in_turn(&mut self) { method maybe_emit (line 65) | pub(crate) fn maybe_emit(&mut self, out_lines: &mut Vec ratatui::text::Line<'static> { FILE: codex-rs/tui/src/text_formatting.rs function format_and_truncate_tool_result (line 5) | pub(crate) fn format_and_truncate_tool_result( function format_json_compact (line 30) | pub(crate) fn format_json_compact(text: &str) -> Option { function truncate_text (line 77) | pub(crate) fn truncate_text(text: &str, max_graphemes: usize) -> String { function test_truncate_text (line 109) | fn test_truncate_text() { function test_truncate_empty_string (line 116) | fn test_truncate_empty_string() { function test_truncate_max_graphemes_zero (line 123) | fn test_truncate_max_graphemes_zero() { function test_truncate_max_graphemes_one (line 130) | fn test_truncate_max_graphemes_one() { function test_truncate_max_graphemes_two (line 137) | fn test_truncate_max_graphemes_two() { function test_truncate_max_graphemes_three_boundary (line 144) | fn test_truncate_max_graphemes_three_boundary() { function test_truncate_text_shorter_than_limit (line 151) | fn test_truncate_text_shorter_than_limit() { function test_truncate_text_exact_length (line 158) | fn test_truncate_text_exact_length() { function test_truncate_emoji (line 165) | fn test_truncate_emoji() { function test_truncate_unicode_combining_characters (line 175) | fn test_truncate_unicode_combining_characters() { function test_truncate_very_long_text (line 182) | fn test_truncate_very_long_text() { function test_format_json_compact_simple_object (line 190) | fn test_format_json_compact_simple_object() { function test_format_json_compact_nested_object (line 197) | fn test_format_json_compact_nested_object() { function test_format_json_compact_array (line 207) | fn test_format_json_compact_array() { function test_format_json_compact_already_compact (line 214) | fn test_format_json_compact_already_compact() { function test_format_json_compact_with_whitespace (line 221) | fn test_format_json_compact_with_whitespace() { function test_format_json_compact_invalid_json (line 239) | fn test_format_json_compact_invalid_json() { function test_format_json_compact_empty_object (line 246) | fn test_format_json_compact_empty_object() { function test_format_json_compact_empty_array (line 253) | fn test_format_json_compact_empty_array() { function test_format_json_compact_primitive_values (line 260) | fn test_format_json_compact_primitive_values() { FILE: codex-rs/tui/src/tui.rs type Terminal (line 48) | pub type Terminal = CustomTerminal>; function set_modes (line 50) | pub fn set_modes() -> Result<()> { type EnableAlternateScroll (line 72) | struct EnableAlternateScroll; method write_ansi (line 75) | fn write_ansi(&self, f: &mut impl std::fmt::Write) -> std::fmt::Result { method execute_winapi (line 80) | fn execute_winapi(&self) -> std::io::Result<()> { method is_ansi_code_supported (line 87) | fn is_ansi_code_supported(&self) -> bool { type DisableAlternateScroll (line 93) | struct DisableAlternateScroll; method write_ansi (line 96) | fn write_ansi(&self, f: &mut impl std::fmt::Write) -> std::fmt::Result { method execute_winapi (line 101) | fn execute_winapi(&self) -> std::io::Result<()> { method is_ansi_code_supported (line 108) | fn is_ansi_code_supported(&self) -> bool { function restore (line 115) | pub fn restore() -> Result<()> { function init (line 125) | pub fn init() -> Result { function set_panic_hook (line 144) | fn set_panic_hook() { type TuiEvent (line 153) | pub enum TuiEvent { type Tui (line 165) | pub struct Tui { method new (line 228) | pub fn new(terminal: Terminal) -> Self { method frame_requester (line 287) | pub fn frame_requester(&self) -> FrameRequester { method event_stream (line 293) | pub fn event_stream(&self) -> Pin + Se... method suspend (line 392) | fn suspend() -> Result<()> { method prepare_resume_action (line 400) | fn prepare_resume_action( method apply_prepared_resume_action (line 424) | fn apply_prepared_resume_action(&mut self, prepared: PreparedResumeAct... method enter_alt_screen (line 449) | pub fn enter_alt_screen(&mut self) -> Result<()> { method leave_alt_screen (line 468) | pub fn leave_alt_screen(&mut self) -> Result<()> { method insert_history_lines (line 479) | pub fn insert_history_lines(&mut self, lines: Vec>) { method draw (line 484) | pub fn draw( type ResumeAction (line 182) | enum ResumeAction { type PreparedResumeAction (line 189) | enum PreparedResumeAction { function take_resume_action (line 195) | fn take_resume_action(pending: &AtomicU8) -> ResumeAction { type FrameRequester (line 204) | pub struct FrameRequester { method schedule_frame (line 208) | pub fn schedule_frame(&self) { method schedule_frame_in (line 211) | pub fn schedule_frame_in(&self, dur: Duration) { method test_dummy (line 219) | pub(crate) fn test_dummy() -> Self { FILE: codex-rs/tui/src/updates.rs function get_upgrade_version (line 14) | pub fn get_upgrade_version(config: &Config) -> Option { type VersionInfo (line 43) | struct VersionInfo { type ReleaseInfo (line 50) | struct ReleaseInfo { constant VERSION_FILENAME (line 54) | const VERSION_FILENAME: &str = "version.json"; constant LATEST_RELEASE_URL (line 55) | const LATEST_RELEASE_URL: &str = "https://api.github.com/repos/openai/co... function version_filepath (line 57) | fn version_filepath(config: &Config) -> PathBuf { function read_version_info (line 61) | fn read_version_info(version_file: &Path) -> anyhow::Result { function check_for_update (line 66) | async fn check_for_update(version_file: &Path) -> anyhow::Result<()> { function is_newer (line 94) | fn is_newer(latest: &str, current: &str) -> Option { function parse_version (line 101) | fn parse_version(v: &str) -> Option<(u64, u64, u64)> { function prerelease_version_is_not_considered_newer (line 114) | fn prerelease_version_is_not_considered_newer() { function plain_semver_comparisons_work (line 120) | fn plain_semver_comparisons_work() { function whitespace_is_ignored (line 128) | fn whitespace_is_ignored() { FILE: codex-rs/tui/src/user_approval_widget.rs type ApprovalRequest (line 34) | pub(crate) enum ApprovalRequest { type SelectOption (line 50) | struct SelectOption { type UserApprovalWidget (line 98) | pub(crate) struct UserApprovalWidget { method new (line 141) | pub(crate) fn new(approval_request: ApprovalRequest, app_event_tx: App... method get_confirmation_prompt_height (line 195) | fn get_confirmation_prompt_height(&self, width: u16) -> u16 { method handle_key_event (line 205) | pub(crate) fn handle_key_event(&mut self, key: KeyEvent) { method normalize_keycode (line 214) | fn normalize_keycode(code: KeyCode) -> KeyCode { method on_ctrl_c (line 223) | pub(crate) fn on_ctrl_c(&mut self) { method handle_select_key (line 227) | fn handle_select_key(&mut self, key_event: KeyEvent) { method send_decision (line 256) | fn send_decision(&mut self, decision: ReviewDecision) { method send_decision_with_feedback (line 260) | fn send_decision_with_feedback(&mut self, decision: ReviewDecision, fe... method is_complete (line 349) | pub(crate) fn is_complete(&self) -> bool { method desired_height (line 353) | pub(crate) fn desired_height(&self, width: u16) -> u16 { function to_command_display (line 112) | fn to_command_display<'a>( method render_ref (line 363) | fn render_ref(&self, area: Rect, buf: &mut Buffer) { function lowercase_shortcut_is_accepted (line 433) | fn lowercase_shortcut_is_accepted() { function uppercase_shortcut_is_accepted (line 458) | fn uppercase_shortcut_is_accepted() { FILE: codex-rs/tui/tests/suite/status_indicator.rs function ansi_escape_line_strips_escape_sequences (line 10) | fn ansi_escape_line_strips_escape_sequences() { FILE: codex-rs/tui/tests/suite/vt100_history.rs type TestScenario (line 27) | struct TestScenario { method new (line 34) | fn new(width: u16, height: u16, viewport: Rect) -> Self { method run_insert (line 46) | fn run_insert(&mut self, lines: Vec>) -> Vec { method screen_rows_from_bytes (line 52) | fn screen_rows_from_bytes(&self, bytes: &[u8]) -> Vec { function basic_insertion_no_wrap (line 78) | fn basic_insertion_no_wrap() { function long_token_wraps (line 100) | fn long_token_wraps() { function emoji_and_cjk (line 132) | fn emoji_and_cjk() { function mixed_ansi_spans (line 150) | fn mixed_ansi_spans() { function cursor_restoration (line 164) | fn cursor_restoration() { function word_wrap_no_mid_word_split (line 184) | fn word_wrap_no_mid_word_split() { function em_dash_and_space_word_wrap (line 200) | fn em_dash_and_space_word_wrap() { function pre_scroll_region_down (line 216) | fn pre_scroll_region_down() { FILE: codex-rs/tui/tests/suite/vt100_live_commit.rs function live_001_commit_on_overflow (line 8) | fn live_001_commit_on_overflow() { function live_002_pre_scroll_and_commit (line 65) | fn live_002_pre_scroll_and_commit() { FILE: codex-rs/tui/tests/suite/vt100_streaming_no_dup.rs function term (line 7) | fn term(viewport: Rect) -> codex_tui::custom_terminal::Terminal "WorkingHoursConfig": FILE: supervisor/context_manager.py class ContextManager (line 15) | class ContextManager: method __init__ (line 18) | def __init__(self, max_tokens: int = 200_000, buffer_tokens: int = 15_... method count_tokens (line 50) | def count_tokens(self, messages: List[Dict[str, Any]]) -> int: method should_summarize (line 75) | def should_summarize(self, messages: List[Dict[str, Any]]) -> bool: method summarize_conversation (line 80) | async def summarize_conversation(self, messages: List[Dict[str, Any]], method _validate_tool_message_structure (line 135) | def _validate_tool_message_structure(self, messages: List[Dict[str, An... method _format_messages_for_summary (line 173) | def _format_messages_for_summary(self, messages: List[Dict[str, Any]])... method _get_summary (line 197) | async def _get_summary(self, context: str) -> str: method get_context_stats (line 224) | def get_context_stats(self, messages: List[Dict[str, Any]]) -> Dict[st... FILE: supervisor/orchestration/instance_manager.py class InstanceManager (line 16) | class InstanceManager: method __init__ (line 19) | def __init__(self, session_dir: Path, codex_binary: str, use_prompt_ge... method spawn_instance (line 29) | async def spawn_instance(self, instance_id: str, task_description: str, method terminate_instance (line 137) | async def terminate_instance(self, instance_id: str) -> bool: method get_active_instances (line 170) | def get_active_instances(self) -> Dict[str, Dict[str, Any]]: method _monitor_instance (line 188) | async def _monitor_instance(self, instance_id: str): method send_followup (line 232) | async def send_followup(self, instance_id: str, message: str) -> bool: method check_for_responses (line 278) | async def check_for_responses(self) -> Dict[str, str]: FILE: supervisor/orchestration/log_reader.py class LogReader (line 12) | class LogReader: method __init__ (line 15) | def __init__(self, session_dir: Path, instance_manager: 'InstanceManag... method read_instance_logs (line 19) | async def read_instance_logs(self, instance_id: str, format_type: str ... FILE: supervisor/orchestration/orchestrator.py class SupervisorOrchestrator (line 27) | class SupervisorOrchestrator: method __init__ (line 30) | def __init__(self, config: Dict[str, Any], session_dir: Path, supervis... method run_loop (line 113) | async def run_loop(self): method _attempt_continuation (line 220) | async def _attempt_continuation(self, start_time: datetime, end_time: ... method _create_continuation_summary (line 239) | async def _create_continuation_summary(self) -> str: method _truncate_to_token_limit (line 252) | async def _truncate_to_token_limit(self, messages: List[Dict[str, Any]... method _summarize_conversation_content (line 273) | async def _summarize_conversation_content(self, messages: List[Dict[st... method _load_vulnerabilities_log (line 304) | async def _load_vulnerabilities_log(self) -> str: method _switch_to_random_model (line 319) | async def _switch_to_random_model(self) -> None: method _reset_conversation_for_continuation (line 341) | async def _reset_conversation_for_continuation(self, summary: str, sta... method _get_supervisor_response (line 366) | async def _get_supervisor_response(self, instance_responses: Dict[str,... method _update_heartbeat (line 423) | async def _update_heartbeat(self, iteration: int, start_time: datetime... method _save_session_metadata (line 453) | async def _save_session_metadata(self, start_time: datetime, end_time:... method _save_conversation_state (line 493) | async def _save_conversation_state(self, iteration: int): method _update_session_metadata (line 512) | async def _update_session_metadata(self, iteration: int): method shutdown (line 538) | async def shutdown(self): method _get_adjusted_end_time (line 594) | def _get_adjusted_end_time(self, start_time: datetime, original_end_ti... method _format_duration (line 601) | def _format_duration(self, duration: timedelta) -> str: method _generate_instance_update_message (line 617) | async def _generate_instance_update_message(self) -> Optional[str]: method _handle_supervisor_turn (line 685) | async def _handle_supervisor_turn(self) -> bool: FILE: supervisor/orchestration/prompt_generator.py class PromptGenerator (line 9) | class PromptGenerator: method __init__ (line 12) | def __init__(self, generator_model: str = None): method get_generation_prompt (line 35) | def get_generation_prompt(self) -> str: method generate_system_prompt (line 51) | async def generate_system_prompt(self, task_description: str) -> Tuple... FILE: supervisor/orchestration/router.py class TaskRouter (line 9) | class TaskRouter: method __init__ (line 12) | def __init__(self, router_model: str = None): method route_task (line 47) | async def route_task(self, task_description: str) -> Dict[str, Any]: FILE: supervisor/prompts/continuation_context_prompt.py function get_continuation_context_prompt (line 4) | def get_continuation_context_prompt(initial_context: str, summary: str, ... FILE: supervisor/prompts/router_prompt.py function get_router_prompt (line 3) | def get_router_prompt(task_description: str, specialists: list) -> str: FILE: supervisor/prompts/summarization_prompt.py function get_summarization_prompt (line 4) | def get_summarization_prompt(context: str) -> str: FILE: supervisor/prompts/supervisor_prompt.py class SupervisorPrompt (line 7) | class SupervisorPrompt: method get_system_prompt (line 11) | def get_system_prompt(skip_todos: bool = False) -> str: method format_initial_context (line 183) | def format_initial_context(config: Dict[str, Any], duration_minutes: i... method format_tool_result (line 201) | def format_tool_result(tool_name: str, result: str) -> str: FILE: supervisor/submissions/base.py class SubmissionResult (line 12) | class SubmissionResult: class BaseSubmissionHandler (line 20) | class BaseSubmissionHandler(ABC): method __init__ (line 23) | def __init__(self, session_dir: Path, config: Dict[str, Any]): method get_handler_type (line 29) | def get_handler_type(self) -> str: method submit (line 34) | async def submit(self, submission_data: Dict[str, Any]) -> SubmissionR... method get_submission_schema (line 39) | def get_submission_schema(self) -> Dict[str, Any]: method log_submission (line 43) | async def log_submission(self, submission_data: Dict[str, Any], result... FILE: supervisor/submissions/ctf.py class CTFSubmissionHandler (line 12) | class CTFSubmissionHandler(BaseSubmissionHandler): method get_handler_type (line 15) | def get_handler_type(self) -> str: method get_submission_schema (line 18) | def get_submission_schema(self) -> Dict[str, Any]: method submit (line 42) | async def submit(self, submission_data: Dict[str, Any]) -> SubmissionR... method _save_flag_submission (line 72) | async def _save_flag_submission(self, challenge_name: str, flag: str): FILE: supervisor/submissions/registry.py class SubmissionRegistry (line 9) | class SubmissionRegistry: method __init__ (line 12) | def __init__(self): method register (line 15) | def register(self, handler_type: str, handler_class: Type[BaseSubmissi... method get_handler_class (line 19) | def get_handler_class(self, handler_type: str) -> Optional[Type[BaseSu... method get_available_types (line 23) | def get_available_types(self) -> list[str]: method create_handler (line 27) | def create_handler(self, handler_type: str, session_dir, config) -> Op... FILE: supervisor/submissions/vulnerability.py class VulnerabilitySubmissionHandler (line 12) | class VulnerabilitySubmissionHandler(BaseSubmissionHandler): method get_handler_type (line 15) | def get_handler_type(self) -> str: method get_submission_schema (line 18) | def get_submission_schema(self) -> Dict[str, Any]: method submit (line 42) | async def submit(self, submission_data: Dict[str, Any]) -> SubmissionR... method _send_directly_to_slack (line 67) | async def _send_directly_to_slack(self, payload: Dict[str, Any]) -> None: method _log_vulnerability_submission (line 96) | async def _log_vulnerability_submission(self, payload: Dict[str, Any])... FILE: supervisor/supervisor.py function setup_logging (line 20) | def setup_logging(session_dir: Path, verbose: bool = False): function load_config (line 38) | def load_config(config_file: Path) -> dict: function main (line 51) | async def main(): function cli_main (line 215) | def cli_main(): FILE: supervisor/todo_generator.py class TodoGenerator (line 16) | class TodoGenerator: method __init__ (line 17) | def __init__(self, api_key: str, use_openrouter: bool = None): method generate_todos_from_config (line 39) | async def generate_todos_from_config(self, config_content: str) -> Lis... method _validate_and_normalize_todos (line 123) | def _validate_and_normalize_todos(self, todos: List[Dict[str, Any]]) -... method save_todos_to_file (line 150) | async def save_todos_to_file(self, todos: List[Dict[str, Any]], file_p... function generate_pentest_todos (line 158) | async def generate_pentest_todos(config_file: Path, output_file: Path, a... FILE: supervisor/tools.py class SupervisorTools (line 13) | class SupervisorTools: method __init__ (line 14) | def __init__(self, instance_manager, log_reader, session_dir: Path, co... method _init_submission_handlers (line 31) | def _init_submission_handlers(self): method _count_text_tokens (line 50) | def _count_text_tokens(self, text: str) -> int: method _smart_truncate_logs (line 54) | def _smart_truncate_logs(self, logs: str, max_tokens: int) -> str: method get_tool_definitions (line 88) | def get_tool_definitions(self) -> List[Dict[str, Any]]: method handle_tool_call (line 433) | async def handle_tool_call(self, tool_name: str, arguments: Dict[str, ... method _spawn_codex (line 483) | async def _spawn_codex(self, args: Dict[str, Any]) -> str: method _terminate_instance (line 499) | async def _terminate_instance(self, args: Dict[str, Any]) -> str: method _send_followup (line 510) | async def _send_followup(self, args: Dict[str, Any]) -> str: method _list_instances (line 523) | async def _list_instances(self, args: Dict[str, Any]) -> str: method _read_instance_logs (line 536) | async def _read_instance_logs(self, args: Dict[str, Any]) -> str: method _write_supervisor_note (line 553) | async def _write_supervisor_note(self, args: Dict[str, Any]) -> str: method _read_supervisor_notes (line 573) | async def _read_supervisor_notes(self, args: Dict[str, Any]) -> str: method _submit (line 593) | async def _submit(self, args: Dict[str, Any]) -> str: method _load_todo_list (line 625) | async def _load_todo_list(self) -> List[Dict[str, Any]]: method _save_todo_list (line 638) | async def _save_todo_list(self, todos: List[Dict[str, Any]]) -> None: method _find_todo_recursive (line 646) | def _find_todo_recursive(self, todos: List[Dict[str, Any]], item_id: s... method _flatten_todos_recursive (line 657) | def _flatten_todos_recursive(self, todos: List[Dict[str, Any]], depth:... method _count_subtasks (line 666) | def _count_subtasks(self, todo: Dict[str, Any]) -> tuple[int, int]: method _format_top_level_view (line 675) | def _format_top_level_view(self, todos: List[Dict[str, Any]]) -> str: method _format_subtasks_view (line 717) | def _format_subtasks_view(self, parent_todo: Dict[str, Any], subtasks:... method _update_supervisor_todo (line 753) | async def _update_supervisor_todo(self, args: Dict[str, Any]) -> str: method _read_supervisor_todo (line 862) | async def _read_supervisor_todo(self, args: Dict[str, Any]) -> str: method _wait_for_instance (line 918) | async def _wait_for_instance(self, args: Dict[str, Any]) -> str: method _read_supervisor_conversation (line 1031) | async def _read_supervisor_conversation(self, args: Dict[str, Any]) ->... method _search_supervisor_history (line 1100) | async def _search_supervisor_history(self, args: Dict[str, Any]) -> str: method _web_search (line 1203) | async def _web_search(self, args: Dict[str, Any]) -> str: method _finished (line 1245) | async def _finished(self, args: Dict[str, Any]) -> str: FILE: supervisor/triage/prompts/initial_review_prompt.py function get_initial_review_prompt (line 6) | def get_initial_review_prompt(vulnerability_data: Dict[str, Any], task_c... FILE: supervisor/triage/prompts/severity_prompt.py function get_severity_prompt (line 6) | def get_severity_prompt(vulnerability_data: Dict[str, Any], phase2_resul... FILE: supervisor/triage/prompts/system_prompt.py function get_triage_system_prompt (line 4) | def get_triage_system_prompt() -> str: FILE: supervisor/triage/prompts/validation_prompt.py function get_validation_prompt (line 6) | def get_validation_prompt(vulnerability_data: Dict[str, Any], phase1_res... FILE: supervisor/triage/triage_manager.py class TriagerInstance (line 28) | class TriagerInstance: method __init__ (line 31) | def __init__( method run_triage (line 89) | async def run_triage(self) -> Dict[str, Any]: method _run_triage_conversation (line 125) | async def _run_triage_conversation(self) -> Dict[str, Any]: method _call_triage_llm_with_tools (line 177) | async def _call_triage_llm_with_tools(self) -> bool: method _write_reproduction_failure_feedback (line 236) | async def _write_reproduction_failure_feedback(self, phase2_result: Di... method _write_rejection_feedback (line 263) | async def _write_rejection_feedback(self, phase1_result: Dict[str, Any]): method _log_conversation_entry (line 284) | async def _log_conversation_entry(self, response_content: str, tool_ca... method _save_conversation_history (line 302) | async def _save_conversation_history(self): class TriageManager (line 345) | class TriageManager: method __init__ (line 348) | def __init__( method submit_vulnerability_report (line 371) | async def submit_vulnerability_report(self, vulnerability_data: Dict[s... method _run_triager (line 416) | async def _run_triager(self, triager_id: str): method get_triager_feedback_dirs (line 454) | def get_triager_feedback_dirs(self) -> List[Path]: method get_triage_status (line 464) | async def get_triage_status(self) -> Dict[str, Any]: FILE: supervisor/triage/triage_tools.py class TriageTools (line 17) | class TriageTools: method __init__ (line 20) | def __init__( method get_tool_definitions (line 41) | def get_tool_definitions(self) -> List[Dict[str, Any]]: method execute_tool (line 332) | async def execute_tool(self, tool_name: str, arguments: Dict[str, Any]... method _spawn_codex (line 370) | async def _spawn_codex(self, args: Dict[str, Any]) -> str: method _wait_for_instance (line 398) | async def _wait_for_instance(self, args: Dict[str, Any]) -> str: method _read_instance_logs (line 511) | async def _read_instance_logs(self, args: Dict[str, Any]) -> str: method _send_followup (line 525) | async def _send_followup(self, args: Dict[str, Any]) -> str: method _terminate_instance (line 540) | async def _terminate_instance(self, args: Dict[str, Any]) -> str: method _finished_phase_1 (line 556) | async def _finished_phase_1(self, args: Dict[str, Any]) -> str: method _finished_phase_2 (line 580) | async def _finished_phase_2(self, args: Dict[str, Any]) -> str: method _finished_phase_3 (line 606) | async def _finished_phase_3(self, args: Dict[str, Any]) -> str: method _submit (line 631) | async def _submit(self, args: Dict[str, Any]) -> str: method _send_directly_to_slack (line 648) | async def _send_directly_to_slack(self, payload: Dict[str, Any]) -> str: method _log_vulnerability_submission (line 676) | async def _log_vulnerability_submission(self, payload: Dict[str, Any])... method _exec_bash (line 726) | async def _exec_bash(self, args: Dict[str, Any]) -> str: method _create_test_file (line 770) | async def _create_test_file(self, args: Dict[str, Any]) -> str: method _log_finding (line 794) | async def _log_finding(self, args: Dict[str, Any]) -> str: method _log_phase_completion (line 825) | async def _log_phase_completion(self, phase: int, decision: str, detai... method set_vulnerability_data (line 858) | def set_vulnerability_data(self, vulnerability_data: Dict[str, Any]): method get_phase_results (line 862) | def get_phase_results(self) -> Dict[int, Dict[str, Any]]: method get_current_phase (line 866) | def get_current_phase(self) -> int: FILE: supervisor/vulnerability_storage.py class VulnerabilityStorage (line 14) | class VulnerabilityStorage: method __init__ (line 17) | def __init__(self, session_dir: Path): method _compute_vulnerability_hash (line 23) | def _compute_vulnerability_hash(self, vuln_data: Dict[str, Any]) -> str: method log_vulnerability (line 38) | async def log_vulnerability(self, vuln_data: Dict[str, Any], session_i... method load_all_vulnerabilities (line 77) | async def load_all_vulnerabilities(self) -> List[Dict[str, Any]]: method get_vulnerability_summaries (line 97) | async def get_vulnerability_summaries(self) -> List[Dict[str, Any]]: method format_summaries_for_prompt (line 125) | def format_summaries_for_prompt(self, summaries: List[Dict[str, Any]])... method check_for_duplicate (line 146) | async def check_for_duplicate(self, vuln_data: Dict[str, Any]) -> Opti... function get_session_vulnerability_storage (line 166) | def get_session_vulnerability_storage(session_dir: Path) -> Vulnerabilit... FILE: supervisor/working_hours.py class WorkingHoursManager (line 11) | class WorkingHoursManager: method __init__ (line 14) | def __init__(self, start_hour: int = 9, end_hour: int = 17, timezone_s... method _format_time (line 44) | def _format_time(self, hour: int) -> str: method is_within_working_hours (line 55) | def is_within_working_hours(self, dt: Optional[datetime] = None) -> bool: method get_next_working_time (line 77) | def get_next_working_time(self, dt: Optional[datetime] = None) -> date... method calculate_sleep_duration (line 112) | def calculate_sleep_duration(self, dt: Optional[datetime] = None) -> T... method wait_for_working_hours (line 136) | async def wait_for_working_hours(self, dt: Optional[datetime] = None) ... method _format_duration (line 166) | def _format_duration(self, duration: timedelta) -> str: method get_status_info (line 182) | def get_status_info(self) -> dict: