pub enum TaskHint {
Chat,
Classify,
Reasoning,
Code,
}Expand description
What the caller is doing — coarse-grained categories the adaptive
router maps to InferenceTask. A closed enum so adding a new task
type is a deliberate FFI-visible change rather than a silent
fallback when the router doesn’t recognize a string.
The MVP intentionally ships only the variants that map to a
distinct InferenceTask today. Summarize / Extract were cut
because both would have collapsed to Generate with no observable
behavior change — shipping enum variants that are accepted, parsed,
and silently discarded is exactly the routing variability the
intent surface is designed to remove. Add them back when the
registry actually distinguishes summarize-tuned or extract-tuned
models.
Variants§
Chat
Conversational chat — maps to InferenceTask::Generate.
Classify
Label assignment / categorization. Maps to
InferenceTask::Classify.
Reasoning
Chain-of-thought, planning, multi-step analysis. Maps to
InferenceTask::Reasoning and tends to favor frontier
reasoning models.
Code
Code generation, repair, refactoring. Maps to
InferenceTask::Code.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for TaskHint
impl<'de> Deserialize<'de> for TaskHint
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Copy for TaskHint
impl Eq for TaskHint
impl StructuralPartialEq for TaskHint
Auto Trait Implementations§
impl Freeze for TaskHint
impl RefUnwindSafe for TaskHint
impl Send for TaskHint
impl Sync for TaskHint
impl Unpin for TaskHint
impl UnsafeUnpin for TaskHint
impl UnwindSafe for TaskHint
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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.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