ilo 0.8.2

ilo — a programming language for AI agents
from dataclasses import dataclass
from typing import List

@dataclass
class CustomerRecord:
    name: str
    email: str
    tier: str
    total_spent: float

@dataclass
class LoyaltySummary:
    customer_name: str
    level: str
    discount_percent: int

def classify_loyalty(spent: float) -> str:
    if spent >= 1000:
        return "gold"
    elif spent >= 500:
        return "silver"
    else:
        return "bronze"

def build_loyalty_summaries(customers: List[CustomerRecord]) -> List[LoyaltySummary]:
    results = []
    for c in customers:
        level = classify_loyalty(c.total_spent)
        discount = {"gold": 20, "silver": 10, "bronze": 5}.get(level, 0)
        results.append(LoyaltySummary(
            customer_name=c.name,
            level=level,
            discount_percent=discount
        ))
    return results