Move retry logic and quota detection from provider-specific code to BaseProvider to reduce duplication and simplify error handling.
Move retry logic and quota detection from provider-specific code to BaseProvider to reduce duplication and simplify error handling.