codex-mobile-bridge 0.2.9

Remote bridge and service manager for codex-mobile.
Documentation
use serde::Deserialize;
use serde_json::Value;

use super::management::BridgeManagementOperation;

#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GetRuntimeStatusRequest {
    pub runtime_id: Option<String>,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct StartBridgeManagementRequest {
    pub operation: BridgeManagementOperation,
}

#[derive(Debug, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ReadBridgeManagementRequest {
    pub task_id: Option<String>,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct StartRuntimeRequest {
    pub runtime_id: Option<String>,
    pub display_name: Option<String>,
    pub codex_home: Option<String>,
    pub codex_binary: Option<String>,
    pub auto_start: Option<bool>,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct StopRuntimeRequest {
    pub runtime_id: String,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RestartRuntimeRequest {
    pub runtime_id: String,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct PruneRuntimeRequest {
    pub runtime_id: String,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CreateDirectoryBookmarkRequest {
    pub path: String,
    pub display_name: Option<String>,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RemoveDirectoryBookmarkRequest {
    pub path: String,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ReadDirectoryRequest {
    pub runtime_id: Option<String>,
    pub path: String,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ListThreadsRequest {
    pub directory_prefix: Option<String>,
    pub runtime_id: Option<String>,
    pub limit: Option<usize>,
    pub cursor: Option<String>,
    pub archived: Option<bool>,
    pub search_term: Option<String>,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct StartThreadRequest {
    pub runtime_id: Option<String>,
    pub cwd: String,
    pub model: Option<String>,
    pub name: Option<String>,
    pub note: Option<String>,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ResumeThreadRequest {
    pub thread_id: String,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ReadThreadRequest {
    pub thread_id: String,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct StageInputImageRequest {
    pub file_name: Option<String>,
    pub mime_type: Option<String>,
    pub base64_data: String,
}

#[derive(Debug, Clone, serde::Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct StagedInputImage {
    pub local_path: String,
    pub display_name: Option<String>,
    pub mime_type: Option<String>,
    pub size_bytes: i64,
}

#[derive(Debug, Clone, serde::Serialize, Deserialize)]
#[serde(tag = "type", rename_all = "camelCase")]
pub enum SendTurnInputItem {
    Text { text: String },
    LocalImage { path: String },
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SendTurnRequest {
    pub thread_id: String,
    #[serde(default)]
    pub text: String,
    pub input_items: Option<Vec<SendTurnInputItem>>,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct InterruptTurnRequest {
    pub thread_id: String,
    pub turn_id: String,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct UpdateThreadRequest {
    pub thread_id: String,
    pub name: Option<String>,
    pub note: Option<String>,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ArchiveThreadRequest {
    pub thread_id: String,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct UnarchiveThreadRequest {
    pub thread_id: String,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RespondPendingRequestRequest {
    pub request_id: String,
    pub response: Value,
}