use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
#[derive(
Debug,
Clone,
PartialEq,
Serialize,
Deserialize,
JsonSchema,
arbitrary::Arbitrary,
)]
#[serde(tag = "role")]
#[schemars(rename = "agent.script.OutputMessage")]
pub enum OutputMessage {
#[schemars(title = "Assistant")]
#[serde(rename = "assistant")]
Assistant(super::super::completions::message::AssistantMessage),
#[schemars(title = "Tool")]
#[serde(rename = "tool")]
Tool(super::super::completions::message::ToolMessage),
}
impl From<OutputMessage> for super::super::completions::message::Message {
fn from(message: OutputMessage) -> Self {
match message {
OutputMessage::Assistant(message) => {
super::super::completions::message::Message::Assistant(message)
}
OutputMessage::Tool(message) => {
super::super::completions::message::Message::Tool(message)
}
}
}
}