pub enum ContentBlock {
Text {
text: String,
},
Thinking {
thinking: String,
signature: Option<String>,
encrypted_content: Option<String>,
id: Option<String>,
provenance: Option<ReasoningProvenance>,
redacted: bool,
},
Image {
source: ImageSource,
},
ToolUse {
id: String,
name: String,
input: Value,
},
ToolResult {
tool_use_id: String,
content: ToolResultContent,
is_error: bool,
},
HostedToolSearch {
call: HostedToolSearchCall,
},
HostedWebSearch {
call: HostedWebSearchCall,
},
ImageGeneration {
call: ImageGenerationCall,
},
}Expand description
The per-turn steering seam, whole: the trait a host implements and every type its signatures make that host name.
Re-exported rather than wrapped, under the rule stated on
CancellationToken — a mentra type basis’s surface asks a caller to
write is a name basis re-exports, or the caller pins mentra in their own
manifest to spell it. And like the token, a strategy is an identity
rather than a value: TurnOptions::with_round_strategy hands mentra the
caller’s own Arc, so a basis-owned mirror of RoundDecision would be a
translation layer with opinions of its own — the opposite of a seam.
The set is exactly what implementing costs. RoundStrategy is the trait
(spelled with async_trait, which basis already
re-exports); RoundContext and RoundBoundary are its question;
RoundDecision, RoundAdjustment, ReasoningChange and
RoundToolResult are its vocabulary for answering. The last three are
here because the vocabulary’s own signatures demand them:
RoundDecision::inject takes ContentBlocks,
RoundAdjustment::with_model a ModelInfo, and
ReasoningChange::Set a ReasoningOptions — whose effort field an
Effort converts into, so switching effort mid-run never names mentra’s
own level enum.
A provider-neutral content block exchanged with models.
Variants§
Text
Thinking
Fields
provenance: Option<ReasoningProvenance>Image
Fields
source: ImageSourceToolUse
ToolResult
HostedToolSearch
Fields
call: HostedToolSearchCallHostedWebSearch
Fields
call: HostedWebSearchCallImageGeneration
Fields
call: ImageGenerationCallImplementations§
Source§impl ContentBlock
impl ContentBlock
pub fn text(text: impl Into<String>) -> ContentBlock
pub fn thinking(thinking: impl Into<String>) -> ContentBlock
pub fn image_bytes( media_type: impl Into<String>, data: impl Into<Vec<u8>>, ) -> ContentBlock
pub fn image_url(url: impl Into<String>) -> ContentBlock
Trait Implementations§
Source§impl Clone for ContentBlock
impl Clone for ContentBlock
Source§fn clone(&self) -> ContentBlock
fn clone(&self) -> ContentBlock
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ContentBlock
impl Debug for ContentBlock
Source§impl<'de> Deserialize<'de> for ContentBlock
impl<'de> Deserialize<'de> for ContentBlock
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ContentBlock, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ContentBlock, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
impl Eq for ContentBlock
Source§impl PartialEq for ContentBlock
impl PartialEq for ContentBlock
Source§impl Serialize for ContentBlock
impl Serialize for ContentBlock
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for ContentBlock
Source§impl TryFrom<(AnthropicContentBlock, ReasoningProvenance)> for ContentBlock
impl TryFrom<(AnthropicContentBlock, ReasoningProvenance)> for ContentBlock
Source§type Error = ProviderError
type Error = ProviderError
Source§fn try_from(
_: (AnthropicContentBlock, ReasoningProvenance),
) -> Result<ContentBlock, <ContentBlock as TryFrom<(AnthropicContentBlock, ReasoningProvenance)>>::Error>
fn try_from( _: (AnthropicContentBlock, ReasoningProvenance), ) -> Result<ContentBlock, <ContentBlock as TryFrom<(AnthropicContentBlock, ReasoningProvenance)>>::Error>
Auto Trait Implementations§
impl Freeze for ContentBlock
impl RefUnwindSafe for ContentBlock
impl Send for ContentBlock
impl Sync for ContentBlock
impl Unpin for ContentBlock
impl UnsafeUnpin for ContentBlock
impl UnwindSafe for ContentBlock
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
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.