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}