pub struct ContinueCliRunner { /* private fields */ }Expand description
Continue CLI runner
Implements LlmProvider by delegating to the cn binary with
-p --format json for non-interactive JSON output. Streaming is
not supported; complete_stream() wraps complete() in a single-chunk
stream via tokio_stream::once.
Implementations§
Source§impl ContinueCliRunner
impl ContinueCliRunner
Sourcepub fn new(config: RunnerConfig) -> Self
pub fn new(config: RunnerConfig) -> Self
Create a new Continue CLI runner with the given configuration
Sourcepub async fn set_session(&self, key: &str, session_id: &str)
pub async fn set_session(&self, key: &str, session_id: &str)
Store a session marker for later resumption
Trait Implementations§
Source§impl LlmProvider for ContinueCliRunner
impl LlmProvider for ContinueCliRunner
Source§fn display_name(&self) -> &'static str
fn display_name(&self) -> &'static str
Human-readable display name for the provider
Source§fn capabilities(&self) -> LlmCapabilities
fn capabilities(&self) -> LlmCapabilities
Provider capabilities (streaming, function calling, etc.)
Source§fn default_model(&self) -> &str
fn default_model(&self) -> &str
Default model to use if not specified in request
Source§fn available_models(&self) -> &[String]
fn available_models(&self) -> &[String]
Available models for this provider
Source§fn complete<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 ChatRequest,
) -> Pin<Box<dyn Future<Output = Result<ChatResponse, RunnerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn complete<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 ChatRequest,
) -> Pin<Box<dyn Future<Output = Result<ChatResponse, RunnerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Perform a chat completion (non-streaming)
Source§fn complete_stream<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 ChatRequest,
) -> Pin<Box<dyn Future<Output = Result<ChatStream, RunnerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn complete_stream<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 ChatRequest,
) -> Pin<Box<dyn Future<Output = Result<ChatStream, RunnerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Perform a streaming chat completion Read more
Source§fn health_check<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<bool, RunnerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn health_check<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<bool, RunnerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Check if the provider is healthy and ready to serve requests
Auto Trait Implementations§
impl Freeze for ContinueCliRunner
impl !RefUnwindSafe for ContinueCliRunner
impl Send for ContinueCliRunner
impl Sync for ContinueCliRunner
impl Unpin for ContinueCliRunner
impl UnsafeUnpin for ContinueCliRunner
impl !UnwindSafe for ContinueCliRunner
Blanket Implementations§
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: 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