//! Sharenet Passport Core Library //! //! This library provides core functionality for creating, managing, and verifying //! Sharenet Passports using the .spf file format. pub mod domain; pub mod application; pub mod infrastructure; #[cfg(any(target_arch = "wasm32", feature = "force-wasm"))] pub mod wasm; // Re-export WASM API functions when building for WASM target #[cfg(any(target_arch = "wasm32", feature = "force-wasm"))] pub use wasm::{ create_passport, import_from_recovery, import_from_encrypted_data, export_to_encrypted_data, sign_message, generate_recovery_phrase, validate_recovery_phrase, create_user_profile, update_user_profile, delete_user_profile, change_passport_password, get_passport_metadata, validate_passport_file, }; #[cfg(any(target_arch = "wasm32", feature = "force-wasm"))] #[cfg(test)] pub mod wasm_test; // Public API surface pub use domain::entities::{Passport, RecoveryPhrase, PassportFile, PublicKey, PrivateKey, Did, Seed}; pub use domain::traits::{MnemonicGenerator, KeyDeriver, FileEncryptor, FileStorage}; pub use domain::error::DomainError; pub use application::use_cases::{ CreatePassportUseCase, ImportFromRecoveryUseCase, ImportFromFileUseCase, ExportPassportUseCase, SignCardUseCase }; pub use application::error::ApplicationError; // Re-export infrastructure implementations (automatically selected by target) pub use infrastructure::{ Bip39MnemonicGenerator, Ed25519KeyDeriver, XChaCha20FileEncryptor, FileSystemStorage, };