"""Agent 与消息查询依赖。""" from fastapi import Depends from sqlalchemy.ext.asyncio import AsyncSession from app.api.context import ( get_agent_chat_runtime, get_agent_chat_repository, get_agent_chat_transaction, get_async_session, get_host_runtime, ) from app.application.messaging.chat import ( AgentChatService, AgentChatPersistenceService, AsyncAgentChatRepository, AsyncUnitOfWork, ) from app.application.messaging.message import MessageQueryService from app.startup.composition.context import AgentChatRuntime, HostRuntime def get_agent_chat_service( chat_repository: AsyncAgentChatRepository = Depends(get_agent_chat_repository), unit_of_work: AsyncUnitOfWork = Depends(get_agent_chat_transaction), ) -> AgentChatService: """组装类型化 Agent 会话历史查询和删除服务。""" return AgentChatService(chat_repository, unit_of_work) def get_agent_chat_persistence( runtime: AgentChatRuntime = Depends(get_agent_chat_runtime), ) -> AgentChatPersistenceService: """从类型化 Agent 运行时获取有界会话写入端口。""" return runtime.persistence def get_message_query_service( db: AsyncSession = Depends(get_async_session), runtime: HostRuntime = Depends(get_host_runtime), ) -> MessageQueryService: """组装消息历史异步查询服务。""" return MessageQueryService(repository=runtime.messaging.repository(db))