All errors are generic Error instances, making it impossible for users to programmatically distinguish between Redis failures, AI API timeouts, Playwright action failures, and validation errors. Create a PassmarkError base class with specific subclasses (TimeoutError, AIModelError, CacheError, ValidationError) each with an error code property.
All errors are generic Error instances, making it impossible for users to programmatically distinguish between Redis failures, AI API timeouts, Playwright action failures, and validation errors. Create a PassmarkError base class with specific subclasses (TimeoutError, AIModelError, CacheError, ValidationError) each with an error code property.