"""Remote loopback hook defaults."""
from klbr.hooks import AttentionDecision, AttentionRequest, DeliveryDecision, DeliveryRequest, HookContext

def attention(request: AttentionRequest, context: HookContext) -> AttentionDecision:
    match request.source:
        case "operator":
            return AttentionDecision.wake("operator")
        case "discord.dm" | "discord.mention":
            return AttentionDecision.wake("directed")
        case "discord.ambient":
            return AttentionDecision.defer(8)
    raise ValueError("unknown source; never silently discard it")

def delivery(request: DeliveryRequest, context: HookContext) -> DeliveryDecision:
    return DeliveryDecision.allow()
