acp_utils/conversation/
turn.rs1use agent_client_protocol::schema::v2 as acp;
2use schemars::JsonSchema;
3use serde::Serialize;
4
5#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Serialize, JsonSchema)]
6#[serde(rename_all = "snake_case")]
7pub enum TurnPhase {
8 #[default]
9 Idle,
10 Running,
11}
12
13#[derive(Debug, Clone, PartialEq, Eq)]
14pub struct TurnFinished {
15 pub stop_reason: Option<acp::StopReason>,
16}
17
18impl TurnPhase {
19 pub fn is_idle(self) -> bool {
20 self == Self::Idle
21 }
22}