codex-mobile-bridge 0.3.14

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_thread, optional_string,
    resolve_optional_text_update,
};
use super::render::build_thread_render_snapshot;
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 history;
mod history_rollout;
#[cfg(test)]
mod history_tests;
mod operations;
mod reads;
mod request_payloads;
#[cfg(test)]
mod tests;
mod thread_response;
mod turn_inputs;

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