feat: MCP support for agentic CLI providers (#6972)

Signed-off-by: Adrian Cole <adrian@tetrate.io>
This commit is contained in:
Adrian Cole
2026-02-12 07:37:52 +08:00
committed by GitHub
parent c6e27b8f84
commit 8d59c2dced
57 changed files with 1196 additions and 254 deletions
+6 -3
View File
@@ -1,4 +1,5 @@
use anyhow::Result;
use async_trait::async_trait;
use futures::future::BoxFuture;
use futures::Stream;
use serde::{Deserialize, Serialize};
@@ -7,6 +8,7 @@ use super::canonical::{map_to_canonical_model, CanonicalModelRegistry};
use super::errors::ProviderError;
use super::retry::RetryConfig;
use crate::config::base::ConfigValue;
use crate::config::ExtensionConfig;
use crate::conversation::message::Message;
use crate::conversation::Conversation;
use crate::model::ModelConfig;
@@ -342,8 +344,6 @@ impl Usage {
}
}
use async_trait::async_trait;
pub trait ProviderDef: Send + Sync {
type Provider: Provider + 'static;
@@ -351,7 +351,10 @@ pub trait ProviderDef: Send + Sync {
where
Self: Sized;
fn from_env(model: ModelConfig) -> BoxFuture<'static, Result<Self::Provider>>
fn from_env(
model: ModelConfig,
extensions: Vec<ExtensionConfig>,
) -> BoxFuture<'static, Result<Self::Provider>>
where
Self: Sized;
}