use serde::{Deserialize, Serialize};
use std::fmt;
pub use vtcode_commons::reasoning::ReasoningEffortLevel;
pub use vtcode_config::types::{SystemPromptMode, ToolDocumentationMode, VerbosityLevel};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, Default)]
#[serde(rename_all = "lowercase")]
pub enum UiSurfacePreference {
#[default]
Auto,
Alternate,
Inline,
}
impl UiSurfacePreference {
pub const fn as_str(self) -> &'static str {
match self {
Self::Auto => "auto",
Self::Alternate => "alternate",
Self::Inline => "inline",
}
}
}
impl fmt::Display for UiSurfacePreference {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
f.write_str(self.as_str())
}
}