47 lines
1.2 KiB
Python
47 lines
1.2 KiB
Python
|
|
class MoreLikeThisDisabledError(Exception):
|
||
|
|
pass
|
||
|
|
|
||
|
|
|
||
|
|
class WorkflowHashNotEqualError(Exception):
|
||
|
|
pass
|
||
|
|
|
||
|
|
|
||
|
|
class IsDraftWorkflowError(Exception):
|
||
|
|
pass
|
||
|
|
|
||
|
|
|
||
|
|
class WorkflowNotFoundError(Exception):
|
||
|
|
pass
|
||
|
|
|
||
|
|
|
||
|
|
class WorkflowIdFormatError(Exception):
|
||
|
|
pass
|
||
|
|
|
||
|
|
|
||
|
|
class InvokeRateLimitError(Exception):
|
||
|
|
"""Raised when rate limit is exceeded for workflow invocations."""
|
||
|
|
|
||
|
|
pass
|
||
|
|
|
||
|
|
|
||
|
|
class QuotaExceededError(ValueError):
|
||
|
|
"""Raised when billing quota is exceeded for a feature."""
|
||
|
|
|
||
|
|
def __init__(self, feature: str, tenant_id: str, required: int):
|
||
|
|
self.feature = feature
|
||
|
|
self.tenant_id = tenant_id
|
||
|
|
self.required = required
|
||
|
|
super().__init__(f"Quota exceeded for feature '{feature}' (tenant: {tenant_id}). Required: {required}")
|
||
|
|
|
||
|
|
|
||
|
|
class TriggerNodeLimitExceededError(ValueError):
|
||
|
|
"""Raised when trigger node count exceeds the plan limit."""
|
||
|
|
|
||
|
|
def __init__(self, count: int, limit: int):
|
||
|
|
self.count = count
|
||
|
|
self.limit = limit
|
||
|
|
super().__init__(
|
||
|
|
f"Trigger node count ({count}) exceeds the limit ({limit}) for your subscription plan. "
|
||
|
|
f"Please upgrade your plan or reduce the number of trigger nodes."
|
||
|
|
)
|