codetether_agent/provider/deepseek/
provider_impl.rs1use 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}