pub struct WrapArgs {
pub agent: String,
pub system_flag: Option<String>,
pub system_env: Option<String>,
pub message_file_flag: Option<String>,
pub no_boot: bool,
pub limit: usize,
pub budget_tokens: usize,
pub trailing: Vec<String>,
}Expand description
Args for ai-memory wrap. Designed so the simplest form
(ai-memory wrap codex -- "hello") just works — every flag has a
defaulted value or the lookup table fills it in.
Fields§
§agent: StringName of the agent CLI to wrap, e.g. codex, aider, gemini,
ollama. Resolved against
crate::llm_cli_wrap::default_strategy to pick the
system-message delivery mechanism unless the user overrides
with one of the strategy flags below. The agent name is also
the executable looked up on $PATH.
system_flag: Option<String>Override the system-message flag (e.g. --system-prompt). When
set, wrap delivers the system message via this flag regardless
of what the lookup table says for <agent>.
system_env: Option<String>Override the system-message env var (e.g. OPENAI_CLI_SYSTEM).
Mutually exclusive with --system-flag and
--message-file-flag; if multiple are set, the last specified
on the command line wins (clap default), but the most common
case is supplying exactly one.
message_file_flag: Option<String>Override the message-file flag (e.g. --message-file). Wrap
will write the system message to a tempfile and pass this flag
- the tempfile path to the agent. The tempfile is cleaned up on
wrap exit (cross-platform; uses
tempfile::NamedTempFile).
no_boot: boolSkip the inner ai-memory boot call entirely. The wrapped
agent runs without any prepended memory context. Useful when
the DB is known to be unavailable, when the user wants the wrap
subcommand for argv-forwarding only, or for tests that want to
isolate the wrapping behavior from the boot-loading behavior.
limit: usizeRow limit forwarded to the inner ai-memory boot --limit.
Clamped to [1, 50] by cli::boot itself.
budget_tokens: usizeApproximate token budget forwarded to the inner
ai-memory boot --budget-tokens.
trailing: Vec<String>Trailing arguments forwarded verbatim to the wrapped agent CLI
after the system-message delivery (the convention is to
separate them with -- on the command line:
ai-memory wrap codex -- chat --model gpt-5).
Trait Implementations§
Source§impl Args for WrapArgs
impl Args for WrapArgs
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 WrapArgs
impl FromArgMatches for WrapArgs
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 WrapArgs
impl RefUnwindSafe for WrapArgs
impl Send for WrapArgs
impl Sync for WrapArgs
impl Unpin for WrapArgs
impl UnsafeUnpin for WrapArgs
impl UnwindSafe for WrapArgs
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<T> ErasedDestructor for Twhere
T: 'static,
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 more