use super::ClaudeCommand;
use std::path::PathBuf;
impl ClaudeCommand {
#[inline]
#[must_use]
pub fn with_working_directory<P: Into<PathBuf>>( mut self, dir: P ) -> Self {
self.working_directory = Some( dir.into() );
self
}
#[inline]
#[must_use]
pub fn with_max_output_tokens( mut self, tokens: u32 ) -> Self {
self.max_output_tokens = Some( tokens );
self
}
#[inline]
#[must_use]
pub fn with_continue_conversation( mut self, continue_: bool ) -> Self {
self.continue_conversation = continue_;
self
}
#[inline]
#[must_use]
pub fn with_message<S: Into<String>>( mut self, message: S ) -> Self {
self.message = Some( message.into() );
self
}
#[inline]
#[must_use]
pub fn with_arg<S: Into<String>>( mut self, arg: S ) -> Self {
self.args.push( arg.into() );
self
}
#[ inline ]
#[ must_use ]
pub fn with_home( mut self, path : &std::path::Path ) -> Self
{
self.home_override = Some( path.to_owned() );
self
}
#[ inline ]
#[ must_use ]
#[ allow( unused_mut ) ]
pub fn with_home_isolation( mut self ) -> Self
{
self.with_chrome( None )
}
#[inline]
#[must_use]
pub fn with_args<I, S>( mut self, args: I ) -> Self
where
I: IntoIterator<Item = S>,
S: Into<String>,
{
self.args.extend( args.into_iter().map( Into::into ) );
self
}
#[inline]
#[must_use]
pub fn with_bash_timeout_ms( mut self, timeout_ms: u32 ) -> Self {
self.bash_default_timeout_ms = Some( timeout_ms );
self
}
#[inline]
#[must_use]
pub fn with_bash_max_timeout_ms( mut self, timeout_ms: u32 ) -> Self {
self.bash_max_timeout_ms = Some( timeout_ms );
self
}
#[inline]
#[must_use]
pub fn with_auto_continue( mut self, auto_continue: bool ) -> Self {
self.auto_continue = Some( auto_continue );
self
}
#[ inline ]
#[ must_use ]
pub fn with_stdin_file( mut self, path : std::path::PathBuf ) -> Self
{
self.stdin_file = Some( path );
self
}
#[ inline ]
#[ must_use ]
pub fn with_unset_claudecode( mut self, unset : bool ) -> Self
{
self.unset_claudecode = unset;
self
}
#[inline]
#[must_use]
pub fn with_telemetry( mut self, telemetry: bool ) -> Self {
self.telemetry = Some( telemetry );
self
}
}