Skip to main content

typesafe/
constants.rs

1//! Environment-variable names, defaults and protocol constants.
2
3use std::time::Duration;
4
5/// Environment variable for the API key.
6pub const API_KEY_ENV: &str = "TYPESAFE_API_KEY";
7/// Environment variable for the API base URL.
8pub const BASE_URL_ENV: &str = "TYPESAFE_BASE_URL";
9/// Environment variable for the default model.
10pub const DEFAULT_MODEL_ENV: &str = "TYPESAFE_DEFAULT_MODEL";
11
12/// Default API base URL.
13pub const DEFAULT_BASE_URL: &str = "https://api.typesafe.ai";
14/// Default model name.
15pub const DEFAULT_MODEL: &str = "jev-latest";
16/// Default timeout for each HTTP attempt.
17pub const DEFAULT_TIMEOUT: Duration = Duration::from_secs(10);
18
19/// Crate version.
20pub const VERSION: &str = env!("CARGO_PKG_VERSION");
21/// SDK identifier sent in `User-Agent` and `X-TypeSafe-SDK`.
22pub const SDK_NAME: &str = "typesafe-sdk-rust";
23
24pub(crate) const SYSTEM_ONE_PATH: &str = "/v1/systemone";
25pub(crate) const MODELS_PATH: &str = "/v1/models";
26
27pub(crate) const MAX_ERROR_BODY_LENGTH: usize = 200;
28
29pub(crate) const SDK_HEADER: &str = "x-typesafe-sdk";
30pub(crate) const RUNTIME_HEADER: &str = "x-typesafe-runtime";
31pub(crate) const RETRY_COUNT_HEADER: &str = "x-typesafe-retry-count";
32pub(crate) const REQUEST_ID_HEADER: &str = "x-typesafe-request-id";
33pub(crate) const RETRY_AFTER_HEADER: &str = "retry-after";
34pub(crate) const RETRY_AFTER_MS_HEADER: &str = "retry-after-ms";
35
36pub(crate) const SECRET_HEADERS: [&str; 6] = [
37    "authorization",
38    "proxy-authorization",
39    "x-api-key",
40    "api-key",
41    "cookie",
42    "set-cookie",
43];