use semver::Version; use serde::{Deserialize, Serialize}; use std::borrow::Cow; use std::sync::LazyLock; // the usage of X- has been deprecated for quite along time, it turns out pub(crate) static ATUIN_HEADER_VERSION: &str = "Atuin-Version"; pub(crate) static ATUIN_CARGO_VERSION: &str = env!("CARGO_PKG_VERSION"); pub(crate) static ATUIN_VERSION: LazyLock = LazyLock::new(|| Version::parse(ATUIN_CARGO_VERSION).expect("failed to parse self semver")); #[derive(Debug, Serialize, Deserialize)] pub(crate) struct ErrorResponse<'a> { pub(crate) reason: Cow<'a, str>, } #[derive(Debug, Serialize, Deserialize)] pub(crate) struct IndexResponse { pub(crate) homage: String, pub(crate) version: String, }