1use std::time::Duration;
4
5pub const API_KEY_ENV: &str = "TYPESAFE_API_KEY";
7pub const BASE_URL_ENV: &str = "TYPESAFE_BASE_URL";
9pub const DEFAULT_MODEL_ENV: &str = "TYPESAFE_DEFAULT_MODEL";
11pub const RECORD_ENV: &str = "TYPESAFE_RECORD";
13pub const REPLAY_ENV: &str = "TYPESAFE_REPLAY";
15
16pub const DEFAULT_BASE_URL: &str = "https://api.typesafe.ai";
18pub const DEFAULT_MODEL: &str = "jev-latest";
20pub const DEFAULT_TIMEOUT: Duration = Duration::from_secs(10);
22
23pub const VERSION: &str = env!("CARGO_PKG_VERSION");
25pub const SDK_NAME: &str = "typesafe-sdk-rust";
27
28pub(crate) const SYSTEM_ONE_PATH: &str = "/v1/systemone";
29pub(crate) const MODELS_PATH: &str = "/v1/models";
30
31pub(crate) const MAX_ERROR_BODY_LENGTH: usize = 200;
32
33pub(crate) const SDK_HEADER: &str = "x-typesafe-sdk";
34pub(crate) const RUNTIME_HEADER: &str = "x-typesafe-runtime";
35pub(crate) const RETRY_COUNT_HEADER: &str = "x-typesafe-retry-count";
36pub(crate) const REQUEST_ID_HEADER: &str = "x-typesafe-request-id";
37pub(crate) const RETRY_AFTER_HEADER: &str = "retry-after";
38pub(crate) const RETRY_AFTER_MS_HEADER: &str = "retry-after-ms";
39
40pub(crate) const SECRET_HEADERS: [&str; 6] = [
41 "authorization",
42 "proxy-authorization",
43 "x-api-key",
44 "api-key",
45 "cookie",
46 "set-cookie",
47];