Files
dify/api/controllers/service_api/knowledge_fs/error.py
T
fd2db63184 feat: KnowledgeFS and New Knowledge (#44165)
Co-authored-by: Jyong <76649700+JohnJyong@users.noreply.github.com>
Co-authored-by: hjlarry <hjlarry@163.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: zhaohao1004 <zhaohao1004@gmail.com>
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
Co-authored-by: FFXN <lizy@dify.ai>
2026-10-23 03:34:59 +00:00

93 lines
3.4 KiB
Python

"""Stable KnowledgeFS Service API error contract."""
from libs.exception import BaseHTTPException
from services.knowledge_fs.product_dto import KnowledgeFSPublicFailureResponse
class _KnowledgeFSServiceFailureHTTPError(BaseHTTPException):
def __init__(self, failure: KnowledgeFSPublicFailureResponse | None = None) -> None:
super().__init__(failure.message if failure else None)
if failure is not None and self.data is not None:
self.data["failure"] = failure.model_dump(by_alias=True, exclude_none=True)
class KnowledgeFSInvalidCredentialHTTPError(_KnowledgeFSServiceFailureHTTPError):
error_code = "knowledge_fs_invalid_credential"
description = "Invalid Agent Knowledge Base service credential."
code = 401
class KnowledgeFSServiceOperationUnavailableHTTPError(_KnowledgeFSServiceFailureHTTPError):
error_code = "knowledge_fs_operation_unavailable"
description = "Agent Knowledge Base operation is not available."
code = 503
class KnowledgeFSServiceUpstreamUnavailableHTTPError(_KnowledgeFSServiceFailureHTTPError):
error_code = "knowledge_fs_upstream_unavailable"
description = "Agent Knowledge Base is unavailable."
code = 502
class KnowledgeFSServiceTimeoutHTTPError(_KnowledgeFSServiceFailureHTTPError):
error_code = "knowledge_fs_timeout"
description = "Agent Knowledge Base request timed out."
code = 504
class KnowledgeFSServiceInvalidRequestHTTPError(_KnowledgeFSServiceFailureHTTPError):
error_code = "knowledge_fs_invalid_request"
description = "Agent Knowledge Base request is invalid."
code = 400
class KnowledgeFSServiceAccessDeniedHTTPError(_KnowledgeFSServiceFailureHTTPError):
error_code = "knowledge_fs_access_denied"
description = "Agent Knowledge Base operation is not allowed."
code = 403
class KnowledgeFSServiceResourceNotFoundHTTPError(_KnowledgeFSServiceFailureHTTPError):
error_code = "knowledge_fs_resource_not_found"
description = "Agent Knowledge Base resource was not found."
code = 404
class KnowledgeFSServiceConflictHTTPError(_KnowledgeFSServiceFailureHTTPError):
error_code = "knowledge_fs_conflict"
description = "Agent Knowledge Base operation conflicts with the current resource state."
code = 409
class KnowledgeFSServiceRequestTooLargeHTTPError(_KnowledgeFSServiceFailureHTTPError):
error_code = "knowledge_fs_request_too_large"
description = "Agent Knowledge Base request is too large."
code = 413
class KnowledgeFSServiceRequestRejectedHTTPError(_KnowledgeFSServiceFailureHTTPError):
error_code = "knowledge_fs_request_rejected"
description = "Agent Knowledge Base request was rejected."
code = 422
class KnowledgeFSServiceRateLimitHTTPError(_KnowledgeFSServiceFailureHTTPError):
error_code = "knowledge_fs_rate_limit_exceeded"
description = "Agent Knowledge Base request rate limit exceeded."
code = 429
__all__ = [
"KnowledgeFSInvalidCredentialHTTPError",
"KnowledgeFSServiceAccessDeniedHTTPError",
"KnowledgeFSServiceConflictHTTPError",
"KnowledgeFSServiceInvalidRequestHTTPError",
"KnowledgeFSServiceOperationUnavailableHTTPError",
"KnowledgeFSServiceRateLimitHTTPError",
"KnowledgeFSServiceRequestRejectedHTTPError",
"KnowledgeFSServiceRequestTooLargeHTTPError",
"KnowledgeFSServiceResourceNotFoundHTTPError",
"KnowledgeFSServiceTimeoutHTTPError",
"KnowledgeFSServiceUpstreamUnavailableHTTPError",
]