hlx 1.1.2

Configuration language designed specifically for AI systems
Documentation
use std::fs;
use std::path::Path;
fn main() -> Result<(), Box<dyn std::error::Error>> {
    println!("🔍 Verifying HELIX Language Implementation...\n");
    println!("Test 1: Parsing hlx file...");
    let content = fs::read_to_string("test_example.hlxbb")?;
    let ast = helix_core::parse(&content)?;
    println!("✅ Successfully parsed {} declarations", ast.declarations.len());
    println!("\nTest 2: Validating AST...");
    helix_core::validate(&ast)?;
    println!("✅ AST validation passed");
    println!("\nTest 3: Converting to config...");
    let config = helix_core::ast_to_config(ast)?;
    println!("✅ Config created with:");
    println!("   - {} projects", config.projects.len());
    println!("   - {} agents", config.agents.len());
    println!("   - {} workflows", config.workflows.len());
    println!("   - {} crews", config.crews.len());
    println!("\nTest 4: Compiling to binary...");
    let compiler = helix_core::compiler::Compiler::new(
        helix_core::compiler::OptimizationLevel::Two,
    );
    let binary = compiler.compile_source(&content, None)?;
    println!("✅ Binary compilation successful");
    println!("   - Version: {}", binary.version);
    println!("   - Compressed: {}", binary.flags.compressed);
    println!("   - Optimized: {}", binary.flags.optimized);
    println!("   - Size: {} bytes", binary.size());
    println!("\nTest 5: Binary serialization...");
    let serializer = helix_core::compiler::serializer::BinarySerializer::new(true);
    serializer.write_to_file(&binary, Path::new("test_example.hlxb"))?;
    println!("✅ Binary written to file");
    println!("\nTest 6: Binary loading...");
    let loader = helix_core::compiler::loader::BinaryLoader::new();
    let loaded_binary = loader.load_file("test_example.hlxb")?;
    println!("✅ Binary loaded successfully");
    println!("   - Checksum match: {}", loaded_binary.checksum == binary.checksum);
    println!("\nTest 7: Config merging...");
    let loader = helix_core::HelixLoader::new();
    let merged = loader.merge_configs(vec![& config]);
    println!("✅ Config merging works");
    println!("   - Merged agents: {}", merged.agents.len());
    println!("\nTest 8: JSON to hlx migration...");
    let json_config = r#"{"agents": {"test": {"model": "gpt-4"}}}"#;
    let migrator = helix_core::Migrator::new();
    let hlx_content = migrator.migrate_json(json_config)?;
    println!("✅ Migration successful");
    println!("   Generated hlx: {} characters", hlx_content.len());
    println!("\n🎉 All verification tests passed!");
    println!("✅ Core parsing works");
    println!("✅ AST validation works");
    println!("✅ Config conversion works");
    println!("✅ Binary compilation works");
    println!("✅ Serialization/deserialization works");
    println!("✅ Config merging works");
    println!("✅ Migration tools work");
    let _ = fs::remove_file("test_example.hlxb");
    Ok(())
}
#[cfg(test)]
mod verification_tests {
    use super::*;
    #[test]
    fn verify_all_functionality() {
        main().expect("Verification failed");
    }
}