feat: add Nailong Fund advisor capabilities

This commit is contained in:
Windows
2026-09-11 09:47:40 +08:00
parent 5907fcd6d2
commit a4499defee
143 changed files with 12255 additions and 89 deletions
+41 -9
View File
@@ -1,21 +1,28 @@
class AgentError(Exception):
"""Base error with a stable public code."""
code = "AGENT_ERROR"
code = "AGENT_INTERNAL_ERROR"
status_code = 500
retryable: bool | None = False
def __init__(self, message: str) -> None:
super().__init__(message)
self.message = message
declared = type(self).retryable
self.retryable = self.status_code >= 500 if declared is None else declared
@property
def is_retryable(self) -> bool:
return bool(self.retryable)
class ValidationAgentError(AgentError):
code = "VALIDATION_ERROR"
status_code = 400
code = "AGENT_INPUT_INVALID"
status_code = 422
class UnauthorizedAgentError(AgentError):
code = "UNAUTHORIZED"
code = "AUTHENTICATION_REQUIRED"
status_code = 401
@@ -25,12 +32,16 @@ class AgentTypeNotFoundError(ValidationAgentError):
class ForbiddenAgentError(AgentError):
code = "FORBIDDEN"
code = "AGENT_PERMISSION_DENIED"
status_code = 403
class OnboardingRequiredError(ForbiddenAgentError):
code = "ONBOARDING_REQUIRED"
class ConflictAgentError(AgentError):
code = "CONFLICT"
code = "RUN_NOT_CANCELLABLE"
status_code = 409
@@ -39,14 +50,35 @@ class IdempotencyConflictError(ConflictAgentError):
class RecoverableAgentError(AgentError):
code = "RECOVERABLE_ERROR"
code = "DEPENDENCY_UNAVAILABLE"
status_code = 503
retryable = True
class RunLeaseLostError(ConflictAgentError):
code = "RUN_LEASE_LOST"
code = "RUN_NOT_CANCELLABLE"
class ResourceNotFoundError(AgentError):
code = "RESOURCE_NOT_FOUND"
code = "SESSION_NOT_FOUND"
status_code = 404
class RunNotFoundError(ResourceNotFoundError):
code = "RUN_NOT_FOUND"
class InvalidCursorError(AgentError):
code = "INVALID_CURSOR"
status_code = 400
class RateLimitedError(AgentError):
code = "RATE_LIMITED"
status_code = 429
retryable = True
class SseNotAcceptableError(AgentError):
code = "SSE_NOT_ACCEPTABLE"
status_code = 406