Skip to main content

codetether_agent/provider/deepseek/
provider_impl.rs

1//! Provider trait implementation for DeepSeek.
2
3use anyhow::Result;
4use async_trait::async_trait;
5use futures::stream::BoxStream;
6
7use crate::provider::{CompletionRequest, CompletionResponse, ModelInfo, Provider, StreamChunk};
8
9use super::DeepSeekProvider;
10use super::models;
11
12#[async_trait]
13impl Provider for DeepSeekProvider {
14    fn name(&self) -> &str {
15        "deepseek"
16    }
17
18    async fn list_models(&self) -> Result<Vec<ModelInfo>> {
19        Ok(models::list())
20    }
21
22    async fn complete(&self, request: CompletionRequest) -> Result<CompletionResponse> {
23        super::complete::exec(self, request).await
24    }
25
26    async fn complete_stream(
27        &self,
28        request: CompletionRequest,
29    ) -> Result<BoxStream<'static, StreamChunk>> {
30        super::stream::exec(self, request).await
31    }
32}