//! Release manifest for the `code_graph` stub crate.
//!
//! Constants are templated by `.github/workflows/release.yml` between
//! `make-manifest` and `publish-cargo`. Local development builds keep
//! the empty placeholder values, which cause `build.rs` to produce a
//! non-runnable stub binary (see `build.rs` placeholder detection and
//! `main.rs` placeholder check).

/// Base URL for the GitHub Release that hosts the per-platform
/// binary archives.
pub const RELEASE_URL_BASE: &str = "https://github.com/Renso-AI/code-graph-dist/releases/download";

/// File-name stem of the prebuilt archive. The full URL is
/// `<RELEASE_URL_BASE>/v<version>/<ARCHIVE_PREFIX>-<target>.<ext>`.
pub const ARCHIVE_PREFIX: &str = "code_graph";

/// The binary inside the archive (`code_graph` or `code_graph-mcp`).
/// This is what gets extracted and embedded into the trampoline.
pub const BINARY_NAME: &str = "code_graph";

/// SHA256 hex of each per-target archive, keyed by Rust target triple.
/// Templated at release time. An empty slice triggers placeholder mode
/// (workspace dev builds, `cargo build --workspace` without network).
pub const SHA256_BY_TARGET: &[(&str, &str)] = &[
    ("aarch64-apple-darwin", "b55e72ea5cdf15627d6999fca5ffef0f88465781396cff68bf1253370ebd78ea"),
    ("aarch64-unknown-linux-gnu", "3bc7369d74bd923327b2baa3fe72ccbae502495d3a0b737ce51df04efcfee6cb"),
    ("x86_64-apple-darwin", "cee5414c5a9f2b983a2dde4e27d5325d702c6911be1da746ed43b062c3380e96"),
    ("x86_64-pc-windows-msvc", "eb63a83212004d90e7fb1ad83f1e710a03e57d0e4c7105a058aa7805012e3e1e"),
    ("x86_64-unknown-linux-gnu", "13d2ee7a7e4a87992afb18f6b1e21461d40e94e904b6174bfeac2e51b8ee8fd8"),
];

/// Optional minisign public key (base64) that signs each release
/// archive. Empty string disables signature verification. Templated
/// alongside `SHA256_BY_TARGET` at release time.
pub const MINISIGN_PUBKEY: &str = "";
