Codex Handbook
protocol/src/parse_command.rs 31 lines
use schemars::JsonSchema;use serde::Deserialize;use serde::Serialize;use std::path::PathBuf;use ts_rs::TS;#[derive(Debug, Clone, PartialEq, Eq, Deserialize, Serialize, JsonSchema, TS)]#[serde(tag = "type", rename_all = "snake_case")]pub enum ParsedCommand {    Read {        cmd: String,        name: String,        /// (Best effort) Path to the file being read by the command. When        /// possible, this is an absolute path, though when relative, it should        /// be resolved against the `cwd`` that will be used to run the command        /// to derive the absolute path.        path: PathBuf,    },    ListFiles {        cmd: String,        path: Option<String>,    },    Search {        cmd: String,        query: Option<String>,        path: Option<String>,    },    Unknown {        cmd: String,    },}