pub enum ThinkingSpec {
Named(ReasoningLevel),
Budget(u32),
}Expand description
Parse the thinking config key into either a named level or a raw numeric budget.
This is the single parse path for config files, /thinking commands, and
session resumption. Named levels win over numeric-only parsing; numeric values
that don’t match a known level are treated as raw budget tokens.
Variants§
Named(ReasoningLevel)
A recognized named level.
Budget(u32)
A raw numeric budget (legacy Anthropic path, user-specified token count).
Implementations§
Source§impl ThinkingSpec
impl ThinkingSpec
Sourcepub fn parse(s: &str) -> Option<ThinkingSpec>
pub fn parse(s: &str) -> Option<ThinkingSpec>
Parse from a string (config value or command argument).
Returns None for strings that are neither a known name nor a non-negative integer.
Sourcepub fn to_level(&self) -> ReasoningLevel
pub fn to_level(&self) -> ReasoningLevel
The canonical level this spec resolves to, if deterministic.
Budget values are bucketized via ReasoningLevel::from_legacy_budget.
Trait Implementations§
Source§impl Clone for ThinkingSpec
impl Clone for ThinkingSpec
Source§fn clone(&self) -> ThinkingSpec
fn clone(&self) -> ThinkingSpec
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ThinkingSpec
impl Debug for ThinkingSpec
impl Eq for ThinkingSpec
Source§impl PartialEq for ThinkingSpec
impl PartialEq for ThinkingSpec
impl StructuralPartialEq for ThinkingSpec
Auto Trait Implementations§
impl Freeze for ThinkingSpec
impl RefUnwindSafe for ThinkingSpec
impl Send for ThinkingSpec
impl Sync for ThinkingSpec
impl Unpin for ThinkingSpec
impl UnsafeUnpin for ThinkingSpec
impl UnwindSafe for ThinkingSpec
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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
Compare self to
key and return true if they are equal.