chimera.types defines the dataclasses that flow across the
provider / loop / tool boundary. Importing from a single module avoids
circular imports between layers.
PendingApproval (chimera.types.PendingApproval) wraps a tool call
that needs human confirmation. Carries the tool_name, args, and a
callable to resolve the decision.