Skip to main content

objectiveai_api/chat/completions/upstream/
upstream.rs

1//! Upstream provider enumeration.
2
3use serde::{Deserialize, Serialize};
4
5/// Supported upstream LLM providers.
6#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
7#[serde(rename_all = "snake_case")]
8pub enum Upstream {
9    /// OpenRouter provider.
10    OpenRouter,
11}
12
13/// Returns an iterator over available upstream providers for a request.
14pub fn upstreams(
15    _ensemble_llm: &objectiveai::ensemble_llm::EnsembleLlm,
16    _request: super::Params,
17) -> impl Iterator<Item = Upstream> {
18    const ALL_UPSTREAMS: [Upstream; 1] = [Upstream::OpenRouter];
19    ALL_UPSTREAMS.iter().copied()
20}