pub struct CopilotProvider { /* private fields */ }Expand description
GitHub Copilot provider that wraps OpenAI-compatible streaming.
Implementations§
Source§impl CopilotProvider
impl CopilotProvider
Sourcepub fn new(model: impl Into<String>, github_token: impl Into<String>) -> Self
pub fn new(model: impl Into<String>, github_token: impl Into<String>) -> Self
Create a new Copilot provider.
Sourcepub fn with_github_api_base(self, base: impl Into<String>) -> Self
pub fn with_github_api_base(self, base: impl Into<String>) -> Self
Set the GitHub API base URL (for Enterprise).
Sourcepub fn with_provider_name(self, name: impl Into<String>) -> Self
pub fn with_provider_name(self, name: impl Into<String>) -> Self
Set the provider name for event attribution.
Sourcepub fn with_compat(self, compat: Option<CompatConfig>) -> Self
pub fn with_compat(self, compat: Option<CompatConfig>) -> Self
Attach compatibility overrides.
Sourcepub fn with_client(self, client: Client) -> Self
pub fn with_client(self, client: Client) -> Self
Inject a custom HTTP client (for testing / VCR).
Trait Implementations§
Source§impl Provider for CopilotProvider
impl Provider for CopilotProvider
Source§fn stream<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 Context<'life2>,
options: &'life3 StreamOptions,
) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = Result<StreamEvent>> + Send>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn stream<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 Context<'life2>,
options: &'life3 StreamOptions,
) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = Result<StreamEvent>> + Send>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Start streaming a completion. Read more
Auto Trait Implementations§
impl !Freeze for CopilotProvider
impl !RefUnwindSafe for CopilotProvider
impl Send for CopilotProvider
impl Sync for CopilotProvider
impl Unpin for CopilotProvider
impl UnsafeUnpin for CopilotProvider
impl !UnwindSafe for CopilotProvider
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, _span: NoopSpan) -> Self
fn instrument(self, _span: NoopSpan) -> Self
Instruments this future with a span (no-op when disabled).
Source§fn in_current_span(self) -> Self
fn in_current_span(self) -> Self
Instruments this future with the current span (no-op when disabled).
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more