pub struct StructuredDirective {
pub force_tool: Option<String>,
pub response_format: Option<ResponseFormat>,
pub validation_schema: Option<Value>,
}Expand description
Instruction telling a provider how to enforce structured output for a call.
Carries the union of intents; each provider honors what it supports and
ignores the rest (e.g. Anthropic has no response_format, so it only acts
on force_tool). Self::validation_schema is host-only metadata and must
never be serialized into a provider request. The default reproduces an
ordinary completion, which is why the trait’s default complete_structured
implementation is behavior-preserving.
Fields§
§force_tool: Option<String>Force the model to call exactly this tool (provider tool_choice).
response_format: Option<ResponseFormat>Request a provider-native response_format (OpenAI-compatible only).
validation_schema: Option<Value>Provider-facing response schema retained for composite-client stream validation, including prompt fallback and JSON-object modes where the provider directive itself does not carry a schema.
Trait Implementations§
Source§impl Clone for StructuredDirective
impl Clone for StructuredDirective
Source§fn clone(&self) -> StructuredDirective
fn clone(&self) -> StructuredDirective
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 StructuredDirective
impl Debug for StructuredDirective
Source§impl Default for StructuredDirective
impl Default for StructuredDirective
Source§fn default() -> StructuredDirective
fn default() -> StructuredDirective
Source§impl PartialEq for StructuredDirective
impl PartialEq for StructuredDirective
impl StructuralPartialEq for StructuredDirective
Auto Trait Implementations§
impl Freeze for StructuredDirective
impl RefUnwindSafe for StructuredDirective
impl Send for StructuredDirective
impl Sync for StructuredDirective
impl Unpin for StructuredDirective
impl UnsafeUnpin for StructuredDirective
impl UnwindSafe for StructuredDirective
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,
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>
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