2025-10-20 11:45:11 -07:00
|
|
|
use schemars::JsonSchema;
|
2025-08-15 12:44:40 -07:00
|
|
|
use serde::Deserialize;
|
|
|
|
|
use serde::Serialize;
|
2025-09-08 14:54:47 -07:00
|
|
|
use ts_rs::TS;
|
2025-08-15 12:44:40 -07:00
|
|
|
|
|
|
|
|
// Types for the TODO tool arguments matching codex-vscode/todo-mcp/src/main.rs
|
2025-10-20 11:45:11 -07:00
|
|
|
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema, TS)]
|
2025-08-15 12:44:40 -07:00
|
|
|
#[serde(rename_all = "snake_case")]
|
|
|
|
|
pub enum StepStatus {
|
|
|
|
|
Pending,
|
|
|
|
|
InProgress,
|
|
|
|
|
Completed,
|
|
|
|
|
}
|
|
|
|
|
|
2025-10-20 11:45:11 -07:00
|
|
|
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema, TS)]
|
2025-08-15 12:44:40 -07:00
|
|
|
#[serde(deny_unknown_fields)]
|
|
|
|
|
pub struct PlanItemArg {
|
|
|
|
|
pub step: String,
|
|
|
|
|
pub status: StepStatus,
|
|
|
|
|
}
|
|
|
|
|
|
2025-10-20 11:45:11 -07:00
|
|
|
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema, TS)]
|
2025-08-15 12:44:40 -07:00
|
|
|
#[serde(deny_unknown_fields)]
|
|
|
|
|
pub struct UpdatePlanArgs {
|
|
|
|
|
#[serde(default)]
|
|
|
|
|
pub explanation: Option<String>,
|
|
|
|
|
pub plan: Vec<PlanItemArg>,
|
|
|
|
|
}
|