Skip to main content

kunobi_jev/client/
env.rs

1//! Environment variables for client configuration.
2
3/// Required API key, used when [`ClientBuilder::api_key`](super::ClientBuilder::api_key) is not set.
4pub const ENV_API_KEY: &str = "TYPESAFE_API_KEY";
5
6/// API root; defaults to `https://api.typesafe.ai`.
7pub const ENV_BASE_URL: &str = "TYPESAFE_BASE_URL";
8
9/// Default model; defaults to `jev-latest`.
10pub const ENV_DEFAULT_MODEL: &str = "TYPESAFE_DEFAULT_MODEL";
11
12/// Read a trimmed variable, treating missing, blank and non-UTF-8 values as unset.
13pub(crate) fn read_env(name: &str) -> Option<String> {
14    non_blank(std::env::var(name).ok())
15}
16
17pub(crate) fn non_blank(value: Option<String>) -> Option<String> {
18    value
19        .map(|value| value.trim().to_owned())
20        .filter(|value| !value.is_empty())
21}