Skip to main content

codex_convert_proxy/providers/
kimi.rs

1//! Kimi (Moonshot AI) provider implementation.
2
3use crate::providers::trait_::Provider;
4use std::any::Any;
5
6#[derive(Clone)]
7/// Kimi (Moonshot AI) provider.
8///
9/// Kimi API accepts both "kimi-" and "moonshot-v1-" model name prefixes natively.
10/// No model name normalization needed - all trait methods use default implementations.
11pub struct KimiProvider;
12
13impl Default for KimiProvider {
14    fn default() -> Self {
15        Self
16    }
17}
18
19impl KimiProvider {
20    pub fn new() -> Self {
21        Self
22    }
23}
24
25impl Provider for KimiProvider {
26    fn name(&self) -> &'static str {
27        "kimi"
28    }
29
30    fn as_any(&self) -> &dyn Any {
31        self
32    }
33
34    fn clone_box(&self) -> Box<dyn Provider + Send + Sync> {
35        Box::new(self.clone())
36    }
37}