package domain import "errors" // Domain errors - these are business-level errors that should be translated // to appropriate HTTP status codes or gRPC error codes by the presentation layer. var ( // Project errors ErrProjectNotFound = errors.New("project not found") ErrProjectNotRunning = errors.New("project is not running") // Command errors ErrCommandNotFound = errors.New("command not found") ErrCommandTimeout = errors.New("command timed out") ErrCommandCancelled = errors.New("command was cancelled") ErrLimitExceeded = errors.New("concurrent command limit exceeded") ErrInvalidCommand = errors.New("invalid command") ErrCommandSanitization = errors.New("command failed sanitization") // API Key errors ErrKeyNotFound = errors.New("api key not found") ErrKeyRevoked = errors.New("api key has been revoked") ErrKeyExpired = errors.New("api key has expired") ErrKeyInvalid = errors.New("invalid api key format") // Authorization errors ErrUnauthorized = errors.New("unauthorized") ErrForbidden = errors.New("forbidden") ErrInsufficientScope = errors.New("insufficient scope") // Rate limiting errors ErrRateLimited = errors.New("rate limit exceeded") // Audit errors ErrAuditNotFound = errors.New("audit log entry not found") // Infrastructure errors (should typically be wrapped) ErrDatabaseConnection = errors.New("database connection error") ErrKubernetesError = errors.New("kubernetes error") )