#[non_exhaustive]pub enum Content {
Text {
text: String,
provider_metadata: Option<ProviderMetadata>,
},
Reasoning {
text: String,
provider_metadata: Option<ProviderMetadata>,
},
ReasoningFile {
data: FileData,
media_type: MediaType,
provider_metadata: Option<ProviderMetadata>,
},
File {
data: FileData,
media_type: MediaType,
filename: Option<String>,
provider_metadata: Option<ProviderMetadata>,
},
Custom {
kind: CustomKind,
provider_metadata: Option<ProviderMetadata>,
},
Source(Source),
ToolCall(ToolCall),
ToolResult(ProviderToolResult),
ToolApprovalRequest {
approval_id: ApprovalId,
tool_call_id: ToolCallId,
provider_metadata: Option<ProviderMetadata>,
},
}Expand description
A content part of a generation result, tagged by type.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Text
Generated text.
Fields
provider_metadata: Option<ProviderMetadata>Provider-specific metadata.
Reasoning
Reasoning text.
Fields
provider_metadata: Option<ProviderMetadata>Provider-specific metadata (signatures, encrypted state, …).
ReasoningFile
A reasoning artifact stored as a file.
Fields
provider_metadata: Option<ProviderMetadata>Provider-specific metadata.
File
A generated file (image, audio, …).
Fields
provider_metadata: Option<ProviderMetadata>Provider-specific metadata.
Custom
Provider-specific content identified by a provider.type kind.
Fields
kind: CustomKindKind of the content.
provider_metadata: Option<ProviderMetadata>Provider-specific metadata carrying the payload.
Source(Source)
A citation source.
ToolCall(ToolCall)
A tool call requested by the model.
ToolResult(ProviderToolResult)
The result of a provider-executed tool.
ToolApprovalRequest
The provider asks for approval before executing a tool call.
Fields
approval_id: ApprovalIdIdentifier of the approval request.
tool_call_id: ToolCallIdIdentifier of the tool call awaiting approval.
provider_metadata: Option<ProviderMetadata>Provider-specific metadata.
Implementations§
Source§impl Content
impl Content
Sourcepub fn as_text(&self) -> Option<&str>
pub fn as_text(&self) -> Option<&str>
Returns the text of a Content::Text part.
Sourcepub fn as_tool_call(&self) -> Option<&ToolCall>
pub fn as_tool_call(&self) -> Option<&ToolCall>
Returns the tool call of a Content::ToolCall part.