agcodex_protocol/
plan_tool.rs

1use serde::Deserialize;
2use serde::Serialize;
3
4// Types for the TODO tool arguments matching codex-vscode/todo-mcp/src/main.rs
5#[derive(Debug, Clone, Serialize, Deserialize)]
6#[serde(rename_all = "snake_case")]
7pub enum StepStatus {
8    Pending,
9    InProgress,
10    Completed,
11}
12
13#[derive(Debug, Clone, Serialize, Deserialize)]
14#[serde(deny_unknown_fields)]
15pub struct PlanItemArg {
16    pub step: String,
17    pub status: StepStatus,
18}
19
20#[derive(Debug, Clone, Serialize, Deserialize)]
21#[serde(deny_unknown_fields)]
22pub struct UpdatePlanArgs {
23    #[serde(default)]
24    pub explanation: Option<String>,
25    pub plan: Vec<PlanItemArg>,
26}