Skip to main content

ClaudeAgentClient

Struct ClaudeAgentClient 

Source
pub struct ClaudeAgentClient { /* private fields */ }

Implementations§

Source§

impl ClaudeAgentClient

Source

pub fn new(options: ClaudeAgentOptions) -> Result<Self>

Source

pub fn with_transport( options: ClaudeAgentOptions, transport: Box<dyn Transport>, ) -> Result<Self>

Source

pub async fn connect(&mut self) -> Result<()>

Source

pub async fn connect_with_prompt( &mut self, content: impl Into<String>, ) -> Result<()>

Source

pub async fn connect_with_stream<S>(&mut self, stream: S) -> Result<()>
where S: Stream<Item = Value> + Unpin,

Source

pub async fn send_message( &mut self, content: impl Into<String>, ) -> Result<MessageResponse>

Source

pub async fn query(&mut self, content: impl Into<String>) -> Result<()>

Source

pub async fn query_with_session_id( &mut self, content: impl Into<String>, session_id: impl Into<String>, ) -> Result<()>

Source

pub async fn query_stream<S>(&mut self, stream: S) -> Result<()>
where S: Stream<Item = Value> + Unpin,

Source

pub async fn query_stream_with_session_id<S>( &mut self, stream: S, session_id: impl Into<String>, ) -> Result<()>
where S: Stream<Item = Value> + Unpin,

Source

pub async fn receive_response(&mut self) -> Result<Vec<Message>>

Source

pub async fn receive_messages(&mut self) -> Result<Vec<Message>>

Source

pub async fn stream_message( &mut self, content: impl Into<String>, ) -> Result<UnboundedReceiver<StreamEvent>>

Source

pub fn spawn_stream_message( options: ClaudeAgentOptions, prompt: impl Into<String>, ) -> UnboundedReceiver<StreamEvent>

Fire-and-forget streaming for a single prompt.

Spawns a background task that creates a fresh client from options, connects, and streams prompt, forwarding each StreamEvent to the returned receiver. Unlike Self::stream_message, this returns immediately and the spawned task owns the client for the lifetime of the stream, so the caller only needs to hold the receiver. Connection or streaming failures are surfaced as a final StreamEvent::Error.

Must be called from within a Tokio runtime.

Source

pub async fn get_conversation_history(&self) -> Result<Vec<Message>>

Source

pub async fn abort(&mut self) -> Result<()>

Source

pub async fn disconnect(&mut self) -> Result<()>

Source

pub async fn close(self) -> Result<()>

Source

pub async fn interrupt(&mut self) -> Result<()>

Source

pub async fn set_permission_mode(&mut self, mode: PermissionMode) -> Result<()>

Source

pub async fn set_model(&mut self, model: Option<String>) -> Result<()>

Source

pub async fn rewind_files( &mut self, user_message_id: impl Into<String>, ) -> Result<()>

Source

pub async fn reconnect_mcp_server( &mut self, server_name: impl Into<String>, ) -> Result<()>

Source

pub async fn toggle_mcp_server( &mut self, server_name: impl Into<String>, enabled: bool, ) -> Result<()>

Source

pub async fn stop_task(&mut self, task_id: impl Into<String>) -> Result<()>

Source

pub async fn get_mcp_status(&mut self) -> Result<MCPStatusResponse>

Source

pub async fn get_context_usage(&mut self) -> Result<ContextUsageResponse>

Source

pub fn get_server_info(&self) -> Option<&Map<String, Value>>

Trait Implementations§

Source§

impl Debug for ClaudeAgentClient

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more