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 ( // Generic errors ErrNotFound = errors.New("not found") // Project errors ErrProjectNotFound = errors.New("project not found") ErrProjectNotRunning = errors.New("project is not running") ErrInvalidProjectName = errors.New("invalid project name") // Template errors ErrTemplateNotFound = errors.New("template not found") // 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") // Agent errors ErrInvalidAgentProvider = errors.New("invalid agent provider") ErrPromptRequired = errors.New("prompt is required") ErrInvalidTimeout = errors.New("timeout cannot be negative") // Credential errors ErrCredentialNotFound = errors.New("credential not found") // Work queue errors ErrWorkTaskNotFound = errors.New("work task not found") // Worker pool errors ErrWorkerNotFound = errors.New("worker not found") ErrWorkerIDRequired = errors.New("worker ID is required") ErrWorkerHostnameRequired = errors.New("worker hostname is required") // Build errors ErrBuildNotFound = errors.New("build not found") // 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") ErrIPNotAllowed = errors.New("ip address not allowed") // Rate limiting errors ErrRateLimited = errors.New("rate limit exceeded") // Webhook errors ErrWebhookNotFound = errors.New("webhook not found") ErrInvalidWebhook = errors.New("invalid webhook configuration") // Domain errors ErrDuplicateDomain = errors.New("domain already exists") ErrDomainNotFound = errors.New("domain not found") // Component errors ErrInvalidComponentName = errors.New("invalid component name") ErrInvalidComponentType = errors.New("invalid component type") ErrDuplicateComponent = errors.New("component already exists") ErrComponentNotFound = errors.New("component not found") // Audit errors ErrAuditNotFound = errors.New("audit log entry not found") // Operation errors ErrOperationNotFound = errors.New("operation not found") // Conversation errors ErrConversationNotFound = errors.New("conversation not found") ErrMessageNotFound = errors.New("message not found") // Blueprint errors ErrBlueprintNotFound = errors.New("blueprint not found") // Question errors ErrQuestionNotFound = errors.New("question not found") // Session errors ErrSessionNotFound = errors.New("session not found") ErrSessionNotActive = errors.New("session is not active") ErrSessionExists = errors.New("active session already exists") // Checkout errors ErrCheckoutNotFound = errors.New("checkout not found") ErrCheckoutExpired = errors.New("checkout has expired") ErrCheckoutAlreadyExists = errors.New("active checkout already exists for branch") ErrCheckoutNotActive = errors.New("checkout is not active") ErrBranchNotFound = errors.New("branch not found") ErrBranchProtected = errors.New("branch is protected") ErrInvalidCheckoutID = errors.New("invalid checkout ID") // Infrastructure errors (should typically be wrapped) ErrDatabaseConnection = errors.New("database connection error") ErrKubernetesError = errors.New("kubernetes error") ErrRegistryUnavailable = errors.New("container registry unavailable") )