Skip to main content

ProviderExtension

Trait ProviderExtension 

Source
pub trait ProviderExtension {
    type Options: ExtensionOptions;
    type Extras: ReplyExtras;

    const PROVIDER: &'static str;
}
Expand description

A provider’s typed request options and reply extras.

Required Associated Constants§

Source

const PROVIDER: &'static str

The provider’s key: the name its wires report as ReplayTarget::provider and stamp on a reply’s Origin.

Stable API from 0.44: requests store provider options under this key, and the model catalog files the provider’s models under it, so rig does not rename a provider’s key in a minor release.

Required Associated Types§

Source

type Options: ExtensionOptions

The request options: an object of sections, SHARED and route API names, each an object of body keys.

Source

type Extras: ReplyExtras

The typed view of a reply’s raw document.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl ProviderExtension for AnthropicExt

Source§

const PROVIDER: &'static str = super::PROVIDER_NAME

Source§

type Options = AnthropicOptions

Source§

type Extras = AnthropicExtras

Source§

impl ProviderExtension for AzureExt

Source§

const PROVIDER: &'static str = super::PROVIDER_NAME

Source§

type Options = AzureOptions

Source§

type Extras = AzureExtras

Source§

impl ProviderExtension for ChatGptExt

Source§

const PROVIDER: &'static str = crate::providers::chatgpt::PROVIDER_NAME

Source§

type Options = ChatGptOptions

Source§

type Extras = ChatGptExtras

Source§

impl ProviderExtension for CohereExt

Source§

const PROVIDER: &'static str = super::PROVIDER_NAME

Source§

type Options = CohereOptions

Source§

type Extras = CohereExtras

Source§

impl ProviderExtension for CopilotExt

Source§

const PROVIDER: &'static str = super::PROVIDER_NAME

Source§

type Options = CopilotOptions

Source§

type Extras = CopilotExtras

Source§

impl ProviderExtension for DeepSeekExt

Source§

const PROVIDER: &'static str = super::PROVIDER_NAME

Source§

type Options = DeepSeekOptions

Source§

type Extras = DeepSeekExtras

Source§

impl ProviderExtension for GeminiExt

Source§

const PROVIDER: &'static str = super::PROVIDER_NAME

Source§

type Options = GeminiOptions

Source§

type Extras = GeminiExtras

Source§

impl ProviderExtension for GroqExt

Source§

const PROVIDER: &'static str = super::PROVIDER_NAME

Source§

type Options = GroqOptions

Source§

type Extras = GroqExtras

Source§

impl ProviderExtension for LlamaCppExt

Source§

const PROVIDER: &'static str = super::PROVIDER_NAME

Source§

type Options = LlamaCppOptions

Source§

type Extras = LlamaCppExtras

Source§

impl ProviderExtension for MiniMaxExt

Source§

const PROVIDER: &'static str = super::PROVIDER_NAME

Source§

type Options = MiniMaxOptions

Source§

type Extras = MiniMaxExtras

Source§

impl ProviderExtension for MistralExt

Source§

const PROVIDER: &'static str = super::PROVIDER_NAME

Source§

type Options = MistralOptions

Source§

type Extras = MistralExtras

Source§

impl ProviderExtension for MoonshotExt

Source§

const PROVIDER: &'static str = super::PROVIDER_NAME

Source§

type Options = MoonshotOptions

Source§

type Extras = MoonshotExtras

Source§

impl ProviderExtension for OllamaExt

Source§

const PROVIDER: &'static str = super::PROVIDER_NAME

Source§

type Options = OllamaOptions

Source§

type Extras = OllamaExtras

Source§

impl ProviderExtension for OpenAiExt

Source§

const PROVIDER: &'static str = crate::providers::openai::PROVIDER_NAME

Source§

type Options = OpenAiOptions

Source§

type Extras = OpenAiExtras

Source§

impl ProviderExtension for OpenRouterExt

Source§

const PROVIDER: &'static str = super::PROVIDER_NAME

Source§

type Options = OpenRouterOptions

Source§

type Extras = OpenRouterExtras

Source§

impl ProviderExtension for PerplexityExt

Source§

const PROVIDER: &'static str = super::PROVIDER_NAME

Source§

type Options = PerplexityOptions

Source§

type Extras = PerplexityExtras

Source§

impl ProviderExtension for TogetherExt

Source§

const PROVIDER: &'static str = super::PROVIDER_NAME

Source§

type Options = TogetherOptions

Source§

type Extras = TogetherExtras

Source§

impl ProviderExtension for VeniceExt

Source§

const PROVIDER: &'static str = super::PROVIDER_NAME

Source§

type Options = VeniceOptions

Source§

type Extras = VeniceExtras

Source§

impl ProviderExtension for XaiExt

Source§

const PROVIDER: &'static str = super::PROVIDER_NAME

Source§

type Options = XaiOptions

Source§

type Extras = XaiExtras

Source§

impl ProviderExtension for XiaomiMimoExt

Source§

const PROVIDER: &'static str = super::PROVIDER_NAME

Source§

type Options = XiaomiMimoOptions

Source§

type Extras = XiaomiMimoExtras

Source§

impl ProviderExtension for ZaiExt

Source§

const PROVIDER: &'static str = super::PROVIDER_NAME

Source§

type Options = ZaiOptions

Source§

type Extras = ZaiExtras