Generated from cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-ffi.
pub struct AnnotatedLlmResponse {
pub id: Option<String>,
pub model: Option<String>,
pub message: Option<MessageContent>,
pub tool_calls: Option<Vec<ResponseToolCall>>,
pub finish_reason: Option<FinishReason>,
pub usage: Option<Usage>,
pub api_specific: Option<ApiSpecificResponse>,
pub extra: Map<String, Json>,
}
Structured view of an LLM response, produced by a response codec from raw JSON API output.
The extra field captures any top-level keys not modeled by the known fields, ensuring lossless round-trip through serde.
id: Option<String>Response ID from the API (e.g., “chatcmpl-abc123”, “resp_abc123”, “msg_abc123”).
model: Option<String>The model that actually served the request (may differ from requested model).
message: Option<MessageContent>The assistant’s response content, reusing MessageContent from request types.
tool_calls: Option<Vec<ResponseToolCall>>Tool calls requested by the model, normalized across APIs.
Uses ResponseToolCall (arguments as Json) NOT the request-side ToolCall (arguments as String).
finish_reason: Option<FinishReason>Why generation stopped, normalized across APIs.
usage: Option<Usage>Token usage statistics.
api_specific: Option<ApiSpecificResponse>API-specific response data that cannot be normalized across providers.
extra: Map<String, Json>Catch-all for unmodeled top-level fields, ensuring lossless round-trip.
impl AnnotatedLlmResponseimpl AnnotatedLlmResponse
response_textpub fn response_text(&self) -> Option<&str>
Extract the text content of the response message.
For MessageContent::Text, returns the string directly. For MessageContent::Parts, returns the text of the first super::request::ContentPart::Text part. Returns None if message is None.
has_tool_callspub fn has_tool_calls(&self) -> bool
Check if the response contains any tool calls.
Returns true if tool_calls is Some with at least one element.
impl Clone for AnnotatedLlmResponseimpl Clone for AnnotatedLlmResponse
clonefn clone(&self) -> AnnotatedLlmResponse
clone_fromfn clone_from(&mut self, source: &Self)
impl Debug for AnnotatedLlmResponseimpl Debug for AnnotatedLlmResponse
fmtfn fmt(&self, f: &mut Formatter<'_>) -> Result
impl<'de> Deserialize<'de> for AnnotatedLlmResponseimpl<'de> Deserialize<'de> for AnnotatedLlmResponse
deserializefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl PartialEq for AnnotatedLlmResponseimpl PartialEq for AnnotatedLlmResponse
eqfn eq(&self, other: &AnnotatedLlmResponse) -> bool
nefn ne(&self, other: &Rhs) -> bool
impl Serialize for AnnotatedLlmResponseimpl Serialize for AnnotatedLlmResponse
serializefn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where
__S: Serializer,
impl StructuralPartialEq for AnnotatedLlmResponseimpl StructuralPartialEq for AnnotatedLlmResponse