Interactive permission decider (used by AgentLoop).
Checks PermissionStore first (session grants, overrides),
then falls back to sending approval request via channel.
Permission decision interface. TurnRunner calls this when a tool requires approval.
Different implementations support interactive (main agent) and automatic (subagent) modes.