use crate::openai_compat::OpenAiCompatProvider;
pub const OPENROUTER_BASE_URL: &str = "https://openrouter.ai/api";
pub fn provider(api_key: impl Into<String>) -> OpenAiCompatProvider {
OpenAiCompatProvider::new("openrouter", api_key, OPENROUTER_BASE_URL)
}
pub fn provider_with_attribution(
api_key: impl Into<String>,
referer: impl Into<String>,
title: impl Into<String>,
) -> OpenAiCompatProvider {
provider(api_key)
.with_header("HTTP-Referer", referer)
.with_header("X-Title", title)
}
#[cfg(test)]
mod tests {
use super::*;
use aonyx_core::LlmProvider;
#[test]
fn provider_name_is_openrouter() {
let p = provider("sk-or-test");
assert_eq!(p.name(), "openrouter");
assert_eq!(p.base_url(), OPENROUTER_BASE_URL);
}
}