use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(untagged)]
pub enum SessionEvent {
Error(Box<models::SessionEventError>),
AgentSessionEnvironmentReady(Box<models::SessionEventAgentSessionEnvironmentReady>),
AgentSessionEnvironmentSuspended(Box<models::SessionEventAgentSessionEnvironmentSuspended>),
AgentSessionEnvironmentExpired(Box<models::SessionEventAgentSessionEnvironmentExpired>),
AgentSessionEnvironmentReset(Box<models::SessionEventAgentSessionEnvironmentReset>),
AgentOutputCommandExecutionOutputDelta(
Box<models::SessionEventAgentOutputCommandExecutionOutputDelta>,
),
AgentSessionCreated(Box<models::SessionEventAgentSessionCreated>),
AgentSessionTurnCreated(Box<models::SessionEventAgentSessionTurnCreated>),
AgentSessionTurnInProgress(Box<models::SessionEventAgentSessionTurnInProgress>),
AgentSessionTurnCompleted(Box<models::SessionEventAgentSessionTurnCompleted>),
AgentSessionTurnFailed(Box<models::SessionEventAgentSessionTurnFailed>),
AgentSessionTurnCancelled(Box<models::SessionEventAgentSessionTurnCancelled>),
AgentSessionTurnItemAdded(Box<models::SessionEventAgentSessionTurnItemAdded>),
AgentSessionIdle(Box<models::SessionEventAgentSessionIdle>),
AgentSessionInProgress(Box<models::SessionEventAgentSessionInProgress>),
AgentSessionRequiresAction(Box<models::SessionEventAgentSessionRequiresAction>),
AgentSessionFailed(Box<models::SessionEventAgentSessionFailed>),
AgentSessionEnvironmentPending(Box<models::SessionEventAgentSessionEnvironmentPending>),
AgentSessionEnvironmentConnected(Box<models::SessionEventAgentSessionEnvironmentConnected>),
AgentSessionEnvironmentDisconnected(
Box<models::SessionEventAgentSessionEnvironmentDisconnected>,
),
AgentSessionEnvironmentFailed(Box<models::SessionEventAgentSessionEnvironmentFailed>),
AgentSessionSubagentCreated(Box<models::SessionEventAgentSessionSubagentCreated>),
AgentSessionSubagentActive(Box<models::SessionEventAgentSessionSubagentActive>),
AgentSessionSubagentClosed(Box<models::SessionEventAgentSessionSubagentClosed>),
AgentSessionTurnItemDone(Box<models::SessionEventAgentSessionTurnItemDone>),
AgentSessionTurnContentPartAdded(Box<models::SessionEventAgentSessionTurnContentPartAdded>),
AgentSessionTurnContentPartDone(Box<models::SessionEventAgentSessionTurnContentPartDone>),
AgentSessionTurnOutputTextDelta(Box<models::SessionEventAgentSessionTurnOutputTextDelta>),
AgentSessionTurnOutputTextDone(Box<models::SessionEventAgentSessionTurnOutputTextDone>),
AgentSessionTurnReasoningSummaryPartAdded(
Box<models::SessionEventAgentSessionTurnReasoningSummaryPartAdded>,
),
AgentSessionTurnReasoningSummaryPartDone(
Box<models::SessionEventAgentSessionTurnReasoningSummaryPartDone>,
),
AgentSessionTurnReasoningSummaryTextDelta(
Box<models::SessionEventAgentSessionTurnReasoningSummaryTextDelta>,
),
AgentSessionTurnReasoningSummaryTextDone(
Box<models::SessionEventAgentSessionTurnReasoningSummaryTextDone>,
),
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Status {
Incomplete,
}
impl Default for Status {
fn default() -> Status {
Self::Incomplete
}
}