Skip to main content

hanzo_protocol/
plan_tool.rs

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