web2api / core /plugin /errors.py
ohmyapi's picture
feat: align hosted Space deployment with latest upstream
77169b4
"""插件层公共异常,独立模块避免循环导入。"""
class AccountFrozenError(RuntimeError):
"""
插件在检测到账号被限流/额度用尽时抛出,携带解冻时间戳(Unix 秒)。
由 chat_handler 捕获后写入配置并重试其他账号。
"""
def __init__(self, message: str, unfreeze_at: int) -> None:
super().__init__(message)
self.unfreeze_at = unfreeze_at
class BrowserResourceInvalidError(RuntimeError):
"""页面 / tab / browser 资源失效时抛出,供上层做定向回收与重试。"""
def __init__(
self,
detail: str,
*,
helper_name: str,
operation: str,
stage: str,
resource_hint: str,
request_url: str,
page_url: str,
request_id: str | None = None,
stream_phase: str | None = None,
proxy_key: object | None = None,
type_name: str | None = None,
account_id: str | None = None,
) -> None:
super().__init__(detail)
self.detail = detail
self.helper_name = helper_name
self.operation = operation
self.stage = stage
self.resource_hint = resource_hint
self.request_url = request_url
self.page_url = page_url
self.request_id = request_id
self.stream_phase = stream_phase
self.proxy_key = proxy_key
self.type_name = type_name
self.account_id = account_id