//! Soul Auth — minimal, framework-agnostic auth primitives.
//!
//! Provides:
//! - [`AuthError`] — a unified error enum for authentication/authorization flows.
//! - [`Claims`] — a JWT claims struct (sub / exp / iat / session_id / subject_type).
//! - [`encode_token`] / [`decode_token`] — HS256 helpers around `jsonwebtoken`.
//!
//! # Example
//!
//! ```
//! use soul_auth::{Claims, SubjectType, encode_token, decode_token};
//!
//! let secret = b"my-secret-key";
//! let claims = Claims {
//! sub: "user:42".into(),
//! exp: 9_999_999_999,
//! iat: 1_700_000_000,
//! session_id: Some("session:1".into()),
//! subject_type: Some(SubjectType::Human),
//! };
//!
//! let token = encode_token(&claims, secret).unwrap();
//! let decoded = decode_token(&token, secret).unwrap();
//! assert_eq!(decoded.sub, "user:42");
//! ```
pub use ;
pub use ;