pub struct Client { /* private fields */ }Implementations§
Source§impl Client
impl Client
Sourcepub async fn with_path(path: impl AsRef<Path>) -> Result<Self>
pub async fn with_path(path: impl AsRef<Path>) -> Result<Self>
Create a new client with a specific claude path
Sourcepub async fn launch(&self, config: SessionConfig) -> Result<Session>
pub async fn launch(&self, config: SessionConfig) -> Result<Session>
Launch a new Claude session asynchronously
Sourcepub async fn launch_and_wait(
&self,
config: SessionConfig,
) -> Result<ClaudeResult>
pub async fn launch_and_wait( &self, config: SessionConfig, ) -> Result<ClaudeResult>
Launch a session and wait for it to complete
Sourcepub async fn probe_cli(&self) -> Result<CliCapabilities>
pub async fn probe_cli(&self) -> Result<CliCapabilities>
Probe the CLI for supported capabilities.
This runs claude --help and parses the output to detect supported flags.
Useful for validating SDK compatibility with the installed CLI version.
§Example
ⓘ
let client = Client::new().await?;
let caps = client.probe_cli().await?;
if caps.supports("--permission-mode") {
println!("Permission mode is supported");
}Trait Implementations§
Auto Trait Implementations§
impl Freeze for Client
impl RefUnwindSafe for Client
impl Send for Client
impl Sync for Client
impl Unpin for Client
impl UnsafeUnpin for Client
impl UnwindSafe for Client
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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