codex-mobile-bridge 0.2.11

Remote bridge and service manager for codex-mobile.
Documentation
use std::fs;
use std::path::{Path, PathBuf};

use anyhow::{Context, Result, bail};
use base64::Engine as _;
use serde_json::{Map, Value, json};
use uuid::Uuid;

use super::BridgeState;
use super::helpers::{
    OptionalTextUpdate, normalize_name, normalize_note, optional_string,
    resolve_optional_text_update,
};
use super::render::build_thread_render_snapshot;
use super::timeline::{
    normalize_thread, timeline_entries_from_events, timeline_entries_from_thread,
};
use crate::bridge_protocol::{
    ArchiveThreadRequest, InterruptTurnRequest, ListThreadsRequest, ReadThreadRequest,
    RespondPendingRequestRequest, ResumeThreadRequest, SendTurnInputItem, SendTurnRequest,
    StageInputImageRequest, StagedInputImage, StartThreadRequest, UnarchiveThreadRequest,
    UpdateThreadRequest,
};
use crate::config::expand_path;
use crate::directory::{canonicalize_directory, directory_contains, normalize_absolute_directory};

mod operations;
mod request_payloads;
#[cfg(test)]
mod tests;
mod thread_response;
mod turn_inputs;

#[cfg(test)]
pub(crate) use turn_inputs::build_turn_input_items;