pub struct NonInteractiveRunner { /* private fields */ }Expand description
Non-interactive runner that executes a single prompt and captures output.
Implementations§
Source§impl NonInteractiveRunner
impl NonInteractiveRunner
Sourcepub fn new(
provider: Box<dyn Provider>,
model: String,
config: OpiConfig,
workspace_root: PathBuf,
allow_mutating: bool,
user_system_prompt: Option<String>,
initial_messages: Vec<AgentMessage>,
) -> Self
pub fn new( provider: Box<dyn Provider>, model: String, config: OpiConfig, workspace_root: PathBuf, allow_mutating: bool, user_system_prompt: Option<String>, initial_messages: Vec<AgentMessage>, ) -> Self
Create a new non-interactive runner.
Sourcepub fn new_with_resume(
provider: Box<dyn Provider>,
model: String,
config: OpiConfig,
workspace_root: PathBuf,
allow_mutating: bool,
user_system_prompt: Option<String>,
initial_messages: Vec<AgentMessage>,
resume_info: Option<ResumeInfo>,
tool_selection: ToolSelection,
) -> Result<Self, ToolPolicyError>
pub fn new_with_resume( provider: Box<dyn Provider>, model: String, config: OpiConfig, workspace_root: PathBuf, allow_mutating: bool, user_system_prompt: Option<String>, initial_messages: Vec<AgentMessage>, resume_info: Option<ResumeInfo>, tool_selection: ToolSelection, ) -> Result<Self, ToolPolicyError>
Create a new non-interactive runner, optionally adopting an existing session (resume).
Sourcepub async fn run_json(&mut self, prompt: &str) -> NonInteractiveResult
pub async fn run_json(&mut self, prompt: &str) -> NonInteractiveResult
Run a single prompt in JSON mode, returning NDJSON output in stdout.
Sourcepub async fn run_with_content(
&mut self,
content: Vec<InputContent>,
) -> NonInteractiveResult
pub async fn run_with_content( &mut self, content: Vec<InputContent>, ) -> NonInteractiveResult
Run with arbitrary content (text + images) and return captured output.
Sourcepub async fn run_json_with_content(
&mut self,
content: Vec<InputContent>,
) -> NonInteractiveResult
pub async fn run_json_with_content( &mut self, content: Vec<InputContent>, ) -> NonInteractiveResult
Run with arbitrary content in JSON mode, returning NDJSON output.
Sourcepub fn session(&self) -> Option<&SessionCoordinator>
pub fn session(&self) -> Option<&SessionCoordinator>
Return the session coordinator, if active.
Sourcepub async fn run(&mut self, prompt: &str) -> NonInteractiveResult
pub async fn run(&mut self, prompt: &str) -> NonInteractiveResult
Run a single prompt and return captured output.
Auto Trait Implementations§
impl !RefUnwindSafe for NonInteractiveRunner
impl !UnwindSafe for NonInteractiveRunner
impl Freeze for NonInteractiveRunner
impl Send for NonInteractiveRunner
impl Sync for NonInteractiveRunner
impl Unpin for NonInteractiveRunner
impl UnsafeUnpin for NonInteractiveRunner
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