pub struct RunArgs {Show 14 fields
pub path: Option<String>,
pub task: Option<String>,
pub model: Option<String>,
pub yolo: bool,
pub allow: Vec<String>,
pub max_depth: Option<usize>,
pub no_seed_commands: bool,
pub workdir: Option<PathBuf>,
pub json: bool,
pub count: usize,
pub output_format: Option<String>,
pub output_instructions: Option<String>,
pub output_schema: Option<String>,
pub regions: HashMap<String, String>,
}Expand description
Arguments for lev run.
Fields§
§path: Option<String>Path to the agent (a manifest file, its directory, or an installed name).
task: Option<String>Task prompt, or the path of a file holding it. Left off, your editor opens on a template for you to write it in.
model: Option<String>Model override (provider/model or a bare model name).
yolo: boolRun unattended: approve every tool call, and answer the agent’s own prompts (ask_user_*, interaction points) instead of waiting for a person.
One exception, and it is the one that looks like a hang: an interaction
point declaring unattended = "ask" still holds for a person. The
bundled coder’s plan approval can, deliberately, because
everything after it writes code. Such a run parks in Waiting until
[limits] interaction_timeout_secs (default 3600) releases it. Lower
that to bound the wait.
allow: Vec<String>Allow a tool outright (repeatable).
max_depth: Option<usize>Override the blueprint’s max sub-agent tree depth.
no_seed_commands: boolRefuse the blueprint’s seed = { command = "..." } regions. Those run a
shell command at spawn - before the first inference, and so before any
approval prompt. See lev validate <path> to inspect them first.
workdir: Option<PathBuf>Working directory for the run (default: the directory lev run is
invoked from). The agent’s file tools are confined to it, and relative
[read_paths] entries resolve against it.
json: boolPrint the spawned run as JSON instead of a sentence, for a caller that
has to parse the run id back out and poll lev ps --json. With
--count above 1 the JSON is an array, one object per run.
count: usizeStart this many runs of the same agent and task, each under its own run id, from one invocation. One process launch and one socket dial per run caps a shell loop near 60 spawns/second; the daemon itself has no run cap, and a single invocation carrying the batch spawns as fast as the daemon accepts.
output_format: Option<String>Ask for the final output in a particular shape, overriding whatever the
blueprint declares. Any label works - markdown, json, xml, a2ui,
a media type, a house format - because nothing converts between shapes:
the label and any instructions are handed to the model, which produces
the bytes. Read the answer back with lev result <run-id>.
Naming a format without --output-schema drops a schema the blueprint
declared, since a check written for one shape says nothing about another.
output_instructions: Option<String>Extra guidance about the shape, passed to the model alongside
--output-format. This is how an unusual format gets explained.
output_schema: Option<String>A JSON Schema (inline, or @path to a file) the final output must
satisfy. The only thing that ever inspects the answer’s contents, and it
only happens because you asked: a submission that fails is refused back
to the agent to correct.
regions: HashMap<String, String>Dynamic per-region seed flags (--<region> <text|@file>), collected by an
argv pre-scan in the binary since region names are blueprint-defined.
clap skips this field; it is populated after parsing.
Trait Implementations§
Source§impl Args for RunArgs
impl Args for RunArgs
Source§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§impl FromArgMatches for RunArgs
impl FromArgMatches for RunArgs
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Auto Trait Implementations§
impl Freeze for RunArgs
impl RefUnwindSafe for RunArgs
impl Send for RunArgs
impl Sync for RunArgs
impl Unpin for RunArgs
impl UnsafeUnpin for RunArgs
impl UnwindSafe for RunArgs
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ConditionalSend for Twhere
T: Send,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> FromTemplate for T
impl<T> FromTemplate for T
Source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
Source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates Self using default().
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> ⓘ
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> ⓘ
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 moreSource§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
Source§fn into_result(self) -> Result<T, RunSystemError>
fn into_result(self) -> Result<T, RunSystemError>
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> Template for T
impl<T> Template for T
Source§fn build_template(
&self,
_context: &mut TemplateContext<'_, '_>,
) -> Result<<T as Template>::Output, BevyError>
fn build_template( &self, _context: &mut TemplateContext<'_, '_>, ) -> Result<<T as Template>::Output, BevyError>
entity context to produce a Template::Output.Source§fn clone_template(&self) -> T
fn clone_template(&self) -> T
Clone.