#[non_exhaustive]pub enum Api {
Show 15 variants
OpenAiCompletions,
OpenAiResponses,
OpenRouter,
OpenAiCodexResponses,
AzureOpenAiResponses,
AnthropicMessages,
BedrockConverseStream,
GoogleGenerativeAi,
GoogleGeminiCli,
GoogleVertex,
OllamaChat,
CursorAgent,
GitLabDuo,
GitLabDuoAgent,
DevinAgent,
}Expand description
Provider API identifier.
Selects the wire-format / protocol dialect spoken to a particular LLM
provider. The canonical 14 KnownApi dialects from omp; Mistral is
intentionally absent — omp treats Mistral as openai-completions-compatible
(no separate dialect).
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
OpenAiCompletions
OpenAI Chat Completions API (also: Mistral, DeepSeek, Together, …).
OpenAiResponses
OpenAI Responses API.
OpenRouter
OpenRouter.
OpenAiCodexResponses
OpenAI Codex Responses API.
AzureOpenAiResponses
Azure OpenAI Responses API.
AnthropicMessages
Anthropic Messages API.
BedrockConverseStream
AWS Bedrock Converse Stream API.
GoogleGenerativeAi
Google Generative AI (Gemini) API.
GoogleGeminiCli
Google Gemini CLI (remote-AGENT protocol).
GoogleVertex
Google Vertex AI endpoint.
OllamaChat
Ollama chat API (local server).
CursorAgent
Cursor (remote-AGENT protocol).
GitLabDuo
GitLab Duo REST proxy (AI Gateway — delegates to Anthropic/OpenAI).
GitLabDuoAgent
GitLab Duo Agent (WebSocket workflow protocol).
DevinAgent
Devin (remote-AGENT protocol).
Implementations§
Source§impl Api
impl Api
Sourcepub fn from_kebab_str(s: &str) -> Option<Self>
pub fn from_kebab_str(s: &str) -> Option<Self>
Parse a kebab-case dialect string (omp KnownApi serialization) into
an Api. Returns None for unrecognized strings — the single
authoritative parser (callers decide the fallback, e.g.
OpenAI-compatible default for unknown gateways/aggregators).
This exists so the dialect↔string mapping lives with the enum (not
duplicated as stale parse_api matches across crates that miss new
variants).