pub struct KiroCliRunner { /* private fields */ }Expand description
Kiro CLI runner
Implements LlmProvider by delegating to the kiro-cli binary with
chat --no-interactive --wrap never for non-interactive plain text output.
ANSI escape codes are stripped from the response, and the > prefix on
response lines is removed. Streaming is not supported; complete_stream()
wraps complete() in a single-chunk stream via tokio_stream::once.
Implementations§
Source§impl KiroCliRunner
impl KiroCliRunner
Sourcepub fn new(config: RunnerConfig) -> Self
pub fn new(config: RunnerConfig) -> Self
Create a new Kiro 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 KiroCliRunner
impl LlmProvider for KiroCliRunner
Source§fn display_name(&self) -> &str
fn display_name(&self) -> &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 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
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
Auto Trait Implementations§
impl Freeze for KiroCliRunner
impl !RefUnwindSafe for KiroCliRunner
impl Send for KiroCliRunner
impl Sync for KiroCliRunner
impl Unpin for KiroCliRunner
impl UnsafeUnpin for KiroCliRunner
impl !UnwindSafe for KiroCliRunner
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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