11"""Repository session manager implementation."""
22
33import logging
4- from typing import Any , Optional
4+ from typing import TYPE_CHECKING , Any , Optional
55
6- from ..agent .agent import Agent
76from ..agent .state import AgentState
87from ..types .content import Message
98from ..types .exceptions import SessionException
1615from .session_manager import SessionManager
1716from .session_repository import SessionRepository
1817
18+ if TYPE_CHECKING :
19+ from ..agent .agent import Agent
20+
1921logger = logging .getLogger (__name__ )
2022
2123
@@ -49,7 +51,7 @@ def __init__(self, session_id: str, session_repository: SessionRepository, **kwa
4951 # Keep track of the latest message of each agent in case we need to redact it.
5052 self ._latest_agent_message : dict [str , Optional [SessionMessage ]] = {}
5153
52- def append_message (self , message : Message , agent : Agent , ** kwargs : Any ) -> None :
54+ def append_message (self , message : Message , agent : " Agent" , ** kwargs : Any ) -> None :
5355 """Append a message to the agent's session.
5456
5557 Args:
@@ -68,7 +70,7 @@ def append_message(self, message: Message, agent: Agent, **kwargs: Any) -> None:
6870 self ._latest_agent_message [agent .agent_id ] = session_message
6971 self .session_repository .create_message (self .session_id , agent .agent_id , session_message )
7072
71- def redact_latest_message (self , redact_message : Message , agent : Agent , ** kwargs : Any ) -> None :
73+ def redact_latest_message (self , redact_message : Message , agent : " Agent" , ** kwargs : Any ) -> None :
7274 """Redact the latest message appended to the session.
7375
7476 Args:
@@ -82,7 +84,7 @@ def redact_latest_message(self, redact_message: Message, agent: Agent, **kwargs:
8284 latest_agent_message .redact_message = redact_message
8385 return self .session_repository .update_message (self .session_id , agent .agent_id , latest_agent_message )
8486
85- def sync_agent (self , agent : Agent , ** kwargs : Any ) -> None :
87+ def sync_agent (self , agent : " Agent" , ** kwargs : Any ) -> None :
8688 """Serialize and update the agent into the session repository.
8789
8890 Args:
@@ -94,7 +96,7 @@ def sync_agent(self, agent: Agent, **kwargs: Any) -> None:
9496 SessionAgent .from_agent (agent ),
9597 )
9698
97- def initialize (self , agent : Agent , ** kwargs : Any ) -> None :
99+ def initialize (self , agent : " Agent" , ** kwargs : Any ) -> None :
98100 """Initialize an agent with a session.
99101
100102 Args:
0 commit comments