ltfi-wsap 2.0.2

LTFI-WSAP (Layered Transformer Framework Intelligence - Web System Alignment Protocol) Rust SDK
Documentation
use ltfi_wsap::{Client, DisclosureLevel};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    dotenv::dotenv().ok();
    let client = Client::from_env()?;
    
    let domain = "example.com";
    
    // Initiate domain verification
    let verification = client.initiate_verification(domain).await?;
    
    println!("Domain verification initiated for: {}", domain);
    println!("\nAdd the following DNS TXT record:");
    println!("Name: {}", verification.txt_record_name);
    println!("Value: {}", verification.txt_record_value);
    println!("\nStatus: {}", verification.status);
    
    // Check verification status
    let is_verified = client.verify_domain(domain).await?;
    if is_verified {
        println!("\n✅ Domain is verified!");
        
        // Generate WSAP data (requires entity ID)
        // let wsap_data = client.generate_wsap("entity-slug", DisclosureLevel::Standard).await?;
        // println!("Generated WSAP data version: {}", wsap_data.version);
    } else {
        println!("\n⏳ Domain not yet verified. DNS changes can take up to 48 hours to propagate.");
    }
    
    // Fetch public WSAP data
    match client.fetch_wsap(domain).await {
        Ok(wsap) => {
            println!("\nPublic WSAP data found:");
            println!("Entity: {}", wsap.entity_id);
            println!("Disclosure level: {:?}", wsap.disclosure_level);
            println!("Generated: {}", wsap.generated_at);
        },
        Err(e) => {
            println!("\nNo public WSAP data available: {}", e);
        }
    }
    
    Ok(())
}