pub struct WarpCliRunner { /* private fields */ }Expand description
Warp terminal oz CLI runner
Implements LlmProvider by delegating to the oz binary with
agent run --output-format json. The CLI emits NDJSON lines with
type discriminators: system, agent, agent_reasoning,
tool_call, and tool_result. Streaming is not supported.
Implementations§
Source§impl WarpCliRunner
impl WarpCliRunner
Sourcepub fn new(config: RunnerConfig) -> Self
pub fn new(config: RunnerConfig) -> Self
Create a new Warp 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 ID (conversation ID) for later resumption
Trait Implementations§
Source§impl LlmProvider for WarpCliRunner
impl LlmProvider for WarpCliRunner
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 WarpCliRunner
impl !RefUnwindSafe for WarpCliRunner
impl Send for WarpCliRunner
impl Sync for WarpCliRunner
impl Unpin for WarpCliRunner
impl UnsafeUnpin for WarpCliRunner
impl !UnwindSafe for WarpCliRunner
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