1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4#[serde(rename_all = "snake_case")]
5pub enum AgentStatus {
6 Pending,
7 Running,
8 WaitUser,
9 Completed,
10 Failed,
11 MaxCycles,
12}
13
14#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
15#[serde(rename_all = "snake_case")]
16pub enum ToolDirective {
17 Continue,
18 WaitUser,
19 Finish,
20}
21
22#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
23#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
24pub enum ToolResultStatus {
25 Success,
26 Error,
27 WaitResponse,
28 Running,
29 PendingCompress,
30}
31
32#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
33#[serde(rename_all = "snake_case")]
34pub enum CycleStatus {
35 Pending,
36 Processing,
37 Completed,
38 WaitResponse,
39 Failed,
40}
41
42#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, Default)]
43#[serde(rename_all = "snake_case")]
44pub enum NoToolPolicy {
45 #[default]
46 Continue,
47 WaitUser,
48 Finish,
49}