RA.Aid/ra_aid/exceptions.py

40 lines
987 B
Python

"""Custom exceptions for RA.Aid."""
from typing import Optional
from langchain_core.messages import BaseMessage
class AgentInterrupt(Exception):
"""Exception raised when an agent's execution is interrupted.
This exception is used for internal agent interruption handling,
separate from KeyboardInterrupt which is reserved for top-level handling.
"""
pass
class ToolExecutionError(Exception):
"""Exception raised when a tool execution fails.
This exception is used to distinguish tool execution failures
from other types of errors in the agent system.
"""
def __init__(
self,
message: str,
base_message: Optional[BaseMessage] = None,
tool_name: Optional[str] = None,
):
super().__init__(message)
self.base_message = base_message
self.tool_name = tool_name
class FallbackToolExecutionError(Exception):
"""Exception raised when a fallback tool execution fails."""
pass