use serde::{Deserialize, Serialize};
pub type JsonValue = serde_json::Value;
#[non_exhaustive]
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct ReasoningConfiguration {
#[serde(skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub custom_instructions: Option<String>,
}
#[non_exhaustive]
#[derive(Debug, Clone, Default, Serialize, Deserialize, PartialEq)]
pub struct SummaryConfiguration {
#[serde(skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub messages_per_short_summary: Option<u32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub messages_per_long_summary: Option<u32>,
}
#[non_exhaustive]
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct DreamConfiguration {
#[serde(skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
}
#[non_exhaustive]
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
pub struct PeerCardConfiguration {
#[serde(rename = "use", default, skip_serializing_if = "Option::is_none")]
pub use_peer_card: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub create: Option<bool>,
}