protocol/src/plan_tool.rs
29 lines
use schemars::JsonSchema;use serde::Deserialize;use serde::Serialize;use ts_rs::TS;// Types for the TODO tool arguments matching codex-vscode/todo-mcp/src/main.rs#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema, TS)]#[serde(rename_all = "snake_case")]pub enum StepStatus { Pending, InProgress, Completed,}#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema, TS)]#[serde(deny_unknown_fields)]pub struct PlanItemArg { pub step: String, pub status: StepStatus,}#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema, TS)]#[serde(deny_unknown_fields)]pub struct UpdatePlanArgs { /// Arguments for the `update_plan` todo/checklist tool (not plan mode). #[serde(default)] pub explanation: Option<String>, pub plan: Vec<PlanItemArg>,}