Skip to main content

AgentModel

Enum AgentModel 

Source
pub enum AgentModel {
    Gpt56Sol,
    Gpt56Terra,
    Gpt56Luna,
    Gemini37Flash,
    Gemini35FlashLite,
    Gemini31Pro,
    Gpt53CodexSpark,
    ClaudeOpus5,
    ClaudeSonnet5,
    ClaudeFable5,
    ClaudeHaiku4520251001,
}
Expand description

Supported agent model names across all providers.

Gemini model ids are shared by the direct Gemini and Antigravity providers, so provider ownership lives on AgentSelection rather than on these variants.

Variants§

§

Gpt56Sol

Codex Sol model backed by gpt-5.6-sol.

§

Gpt56Terra

Codex Terra model backed by gpt-5.6-terra.

§

Gpt56Luna

Codex Luna model backed by gpt-5.6-luna.

§

Gemini37Flash

Fast Gemini model backed by gemini-3.7-flash.

§

Gemini35FlashLite

Lightweight Gemini model backed by gemini-3.5-flash-lite.

§

Gemini31Pro

Higher-quality Gemini preview model backed by gemini-3.1-pro-preview.

§

Gpt53CodexSpark

Codex spark model backed by gpt-5.3-codex-spark.

§

ClaudeOpus5

Claude Opus model backed by claude-opus-5.

§

ClaudeSonnet5

Claude Sonnet model backed by claude-sonnet-5.

§

ClaudeFable5

Claude Fable model backed by claude-fable-5.

§

ClaudeHaiku4520251001

Claude Haiku model backed by claude-haiku-4-5-20251001.

Implementations§

Source§

impl AgentModel

Source

pub fn as_str(self) -> &'static str

Returns the stable wire/model identifier used in persistence and CLI invocations.

Source

pub fn provider_model_str(self) -> &'static str

Returns the model identifier passed to provider transports.

Antigravity and Gemini use the same raw Gemini CLI model ids; callers route those ids through the provider stored on AgentSelection.

Source

pub fn parse_persisted(value: &str) -> Result<Self, String>

Parses one persisted model identifier and upgrades retired ids to their replacement models.

Stored retired Gemini, Claude, and Codex ids are migrated forward through AgentModel::retired_replacement so existing projects and sessions continue loading after model retirements. Raw gemini-* ids parse to shared Gemini model variants; persisted session agents decide whether Gemini or Antigravity owns the session.

§Errors

Returns an error when value is not a known current or retired model identifier.

Source

pub fn retired_replacement(value: &str) -> Option<Self>

Returns the current replacement model for a retired persisted model id, or None when value is not a retired id.

This registry is the single source of truth for model retirement. Retiring a model means removing its selectable AgentModel variant and mapping its persisted id to the replacement model here. Retired ids never appear in selectable model lists; they stay in the database as history for finished sessions, while sessions that are still active are switched to the replacement automatically.

Trait Implementations§

Source§

impl AgentSelectionMetadata for AgentModel

Source§

fn name(&self) -> &'static str

Returns a stable item name shown in menus.
Source§

fn description(&self) -> &'static str

Returns a short descriptive subtitle shown in menus.
Source§

impl Clone for AgentModel

Source§

fn clone(&self) -> AgentModel

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for AgentModel

Source§

impl Debug for AgentModel

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for AgentModel

Source§

impl FromStr for AgentModel

Source§

type Err = String

The associated error which can be returned from parsing.
Source§

fn from_str(value: &str) -> Result<Self, Self::Err>

Parses a string s to return a value of this type. Read more
Source§

impl PartialEq for AgentModel

Source§

fn eq(&self, other: &AgentModel) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for AgentModel

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoMaybeUndefined<T> for T

Source§

fn into_maybe_undefined(self) -> MaybeUndefined<T>

Converts this value into a three-state builder argument.
Source§

impl<T> IntoOption<T> for T

Source§

fn into_option(self) -> Option<T>

Converts this value into an optional builder argument.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more