Skip to main content

soma_provider_core/
surface.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Serialize, Deserialize)]
4#[serde(rename_all = "kebab-case")]
5pub enum ProviderSurface {
6    #[default]
7    Internal,
8    Mcp,
9    Rest,
10    Cli,
11    Palette,
12    Ui,
13}
14
15impl ProviderSurface {
16    pub fn as_str(self) -> &'static str {
17        match self {
18            Self::Internal => "internal",
19            Self::Mcp => "mcp",
20            Self::Rest => "rest",
21            Self::Cli => "cli",
22            Self::Palette => "palette",
23            Self::Ui => "ui",
24        }
25    }
26}