"""Oracle client exception hierarchy.""" from __future__ import annotations from libs.common.retries import NonRetryableError, RetryableError class OracleConnectionError(RetryableError): """Cannot connect to Stock Oracle (network down, refused).""" class OracleTimeoutError(RetryableError): """Request to Stock Oracle timed out.""" class OracleServerError(RetryableError): """Stock Oracle returned 5xx.""" class OracleNotFoundError(NonRetryableError): """Stock Oracle returned 404 (resource not found).""" class OracleClientError(NonRetryableError): """Stock Oracle returned 4xx (other than 404)."""