codex_protocol/
user_input.rs

1use schemars::JsonSchema;
2use serde::Deserialize;
3use serde::Serialize;
4use ts_rs::TS;
5
6/// User input
7#[non_exhaustive]
8#[derive(Debug, Clone, Deserialize, Serialize, PartialEq, TS, JsonSchema)]
9#[serde(tag = "type", rename_all = "snake_case")]
10pub enum UserInput {
11    Text {
12        text: String,
13    },
14    /// Pre‑encoded data: URI image.
15    Image {
16        image_url: String,
17    },
18
19    /// Local image path provided by the user.  This will be converted to an
20    /// `Image` variant (base64 data URL) during request serialization.
21    LocalImage {
22        path: std::path::PathBuf,
23    },
24}