(value: &str)
| 27 | } |
| 28 | |
| 29 | pub fn parse(value: &str) -> Option<Self> { |
| 30 | match value { |
| 31 | "cursor" => Some(Self::Cursor), |
| 32 | "claude" => Some(Self::Claude), |
| 33 | "codex" => Some(Self::Codex), |
| 34 | "vibe" => Some(Self::Vibe), |
| 35 | "cline" => Some(Self::Cline), |
| 36 | "roo-code" => Some(Self::RooCode), |
| 37 | "kilo" => Some(Self::Kilo), |
| 38 | "kiro" => Some(Self::Kiro), |
| 39 | "hermes" => Some(Self::Hermes), |
| 40 | _ => None, |
| 41 | } |
| 42 | } |
| 43 | } |
| 44 | |
| 45 | pub const MESSAGE_SEARCH_PROVIDER_IDS: &[&str] = &[ |
no outgoing calls