#[non_exhaustive]pub enum ResponseStream {
Chunk(PayloadPart),
ReturnControl(ReturnControlPayload),
Trace(TracePart),
Unknown,
}
Expand description
The response from invoking the agent and associated citations and trace information.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Chunk(PayloadPart)
Contains a part of an agent response and citations for it.
ReturnControl(ReturnControlPayload)
Contains the parameters and information that the agent elicited from the customer to carry out an action. This information is returned to the system and can be used in your own setup for fulfilling the action.
Trace(TracePart)
Contains information about the agent and session, alongside the agent's reasoning process and results from calling actions and querying knowledge bases and metadata about the trace. You can use the trace to understand how the agent arrived at the response it provided the customer. For more information, see Trace events.
Unknown
The Unknown
variant represents cases where new union variant was received. Consider upgrading the SDK to the latest available version.
An unknown enum variant
Note: If you encounter this error, consider upgrading your SDK to the latest version.
The Unknown
variant represents cases where the server sent a value that wasn’t recognized
by the client. This can happen when the server adds new functionality, but the client has not been updated.
To investigate this, consider turning on debug logging to print the raw HTTP response.
Implementations§
source§impl ResponseStream
impl ResponseStream
sourcepub fn as_chunk(&self) -> Result<&PayloadPart, &Self>
pub fn as_chunk(&self) -> Result<&PayloadPart, &Self>
Tries to convert the enum instance into Chunk
, extracting the inner PayloadPart
.
Returns Err(&Self)
if it can’t be converted.
sourcepub fn as_return_control(&self) -> Result<&ReturnControlPayload, &Self>
pub fn as_return_control(&self) -> Result<&ReturnControlPayload, &Self>
Tries to convert the enum instance into ReturnControl
, extracting the inner ReturnControlPayload
.
Returns Err(&Self)
if it can’t be converted.
sourcepub fn is_return_control(&self) -> bool
pub fn is_return_control(&self) -> bool
Returns true if this is a ReturnControl
.
sourcepub fn is_unknown(&self) -> bool
pub fn is_unknown(&self) -> bool
Returns true if the enum instance is the Unknown
variant.
Trait Implementations§
source§impl Clone for ResponseStream
impl Clone for ResponseStream
source§fn clone(&self) -> ResponseStream
fn clone(&self) -> ResponseStream
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ResponseStream
impl Debug for ResponseStream
source§impl PartialEq for ResponseStream
impl PartialEq for ResponseStream
source§fn eq(&self, other: &ResponseStream) -> bool
fn eq(&self, other: &ResponseStream) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for ResponseStream
Auto Trait Implementations§
impl Freeze for ResponseStream
impl RefUnwindSafe for ResponseStream
impl Send for ResponseStream
impl Sync for ResponseStream
impl Unpin for ResponseStream
impl UnwindSafe for ResponseStream
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
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