pub struct CanonicalResponse {
pub id: String,
pub model: String,
pub content: Vec<CanonicalContent>,
pub stop_reason: Option<CanonicalStopReason>,
pub usage: CanonicalUsage,
pub grounding: Option<Grounding>,
pub code_execution: Option<CodeExecutionOutput>,
pub raw_finish_reason: Option<String>,
pub received_surface: ForwardedSurface,
}Fields§
§id: String§model: String§content: Vec<CanonicalContent>§stop_reason: Option<CanonicalStopReason>§usage: CanonicalUsage§grounding: Option<Grounding>§code_execution: Option<CodeExecutionOutput>§raw_finish_reason: Option<String>§received_surface: ForwardedSurfaceEvery string in the bytes the client receives.
The canonical form is lossy in the same way it is on the request side,
so the gateway fills this from the rendered response body — buffered
bytes directly, streamed bytes via
sse_string_leaves — before
any response scan runs. Callers that never serve through the gateway
leave it empty.
Implementations§
Source§impl CanonicalResponse
impl CanonicalResponse
Sourcepub fn content_units(&self) -> Vec<String>
pub fn content_units(&self) -> Vec<String>
Each content block and each surface leaf is its own unit: concatenating them would let two unrelated strings splice into a match neither one contains.
Trait Implementations§
Source§impl Clone for CanonicalResponse
impl Clone for CanonicalResponse
Source§fn clone(&self) -> CanonicalResponse
fn clone(&self) -> CanonicalResponse
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CanonicalResponse
impl Debug for CanonicalResponse
Source§impl Default for CanonicalResponse
impl Default for CanonicalResponse
Source§fn default() -> CanonicalResponse
fn default() -> CanonicalResponse
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for CanonicalResponse
impl RefUnwindSafe for CanonicalResponse
impl Send for CanonicalResponse
impl Sync for CanonicalResponse
impl Unpin for CanonicalResponse
impl UnsafeUnpin for CanonicalResponse
impl UnwindSafe for CanonicalResponse
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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