Skip to main content

ras_agent/domain/
agent_output.rs

1use ras_types::ActionName;
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, Serialize, Deserialize)]
5pub struct AgentBrain {
6    pub evaluation_previous_goal: String,
7    pub memory: String,
8    pub next_goal: String,
9}
10
11#[derive(Debug, Clone, Serialize, Deserialize)]
12pub struct PlanItem {
13    pub step: u32,
14    pub description: String,
15    pub completed: bool,
16}
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
19pub struct AgentOutput {
20    pub current_state: AgentBrain,
21    pub action: Vec<ActionInvocation>,
22    pub plan: Option<Vec<PlanItem>>,
23    pub current_plan_item: Option<u32>,
24}
25
26#[derive(Debug, Clone, Serialize, Deserialize)]
27pub struct ActionInvocation {
28    pub name: ActionName,
29    pub parameters: serde_json::Value,
30}