agcodex_protocol/
plan_tool.rs1use serde::Deserialize;
2use serde::Serialize;
3
4#[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}