objectiveai_sdk/agent/script/
output_message.rs1use schemars::JsonSchema;
4use serde::{Deserialize, Serialize};
5
6#[derive(
11 Debug,
12 Clone,
13 PartialEq,
14 Serialize,
15 Deserialize,
16 JsonSchema,
17 arbitrary::Arbitrary,
18)]
19#[serde(tag = "role")]
20#[schemars(rename = "agent.script.OutputMessage")]
21pub enum OutputMessage {
22 #[schemars(title = "Assistant")]
24 #[serde(rename = "assistant")]
25 Assistant(super::super::completions::message::AssistantMessage),
26 #[schemars(title = "Tool")]
28 #[serde(rename = "tool")]
29 Tool(super::super::completions::message::ToolMessage),
30}
31
32impl From<OutputMessage> for super::super::completions::message::Message {
33 fn from(message: OutputMessage) -> Self {
34 match message {
35 OutputMessage::Assistant(message) => {
36 super::super::completions::message::Message::Assistant(message)
37 }
38 OutputMessage::Tool(message) => {
39 super::super::completions::message::Message::Tool(message)
40 }
41 }
42 }
43}