Prompt repeatedly during quiet chat
This commit is contained in:
@@ -105,6 +105,22 @@ class Repository:
|
||||
result = await self.session.execute(stmt)
|
||||
return list(result.scalars().all())
|
||||
|
||||
async def get_recent_human_messages(
|
||||
self, session_id: str, limit: int = 50
|
||||
) -> list[ChatMessage]:
|
||||
"""Get recent non-bot chat messages from a session."""
|
||||
stmt = (
|
||||
select(ChatMessage)
|
||||
.where(
|
||||
ChatMessage.session_id == session_id,
|
||||
ChatMessage.is_bot.is_(False),
|
||||
)
|
||||
.order_by(ChatMessage.timestamp.desc())
|
||||
.limit(limit)
|
||||
)
|
||||
result = await self.session.execute(stmt)
|
||||
return list(result.scalars().all())
|
||||
|
||||
async def count_messages(self, session_id: str) -> int:
|
||||
"""Count chat messages stored for a session."""
|
||||
stmt = select(func.count()).select_from(ChatMessage).where(
|
||||
@@ -128,6 +144,22 @@ class Repository:
|
||||
result = await self.session.execute(stmt)
|
||||
return list(result.scalars().all())
|
||||
|
||||
async def get_human_messages_since(
|
||||
self, session_id: str, since: datetime
|
||||
) -> list[ChatMessage]:
|
||||
"""Get non-bot messages recorded since a specific timestamp."""
|
||||
stmt = (
|
||||
select(ChatMessage)
|
||||
.where(
|
||||
ChatMessage.session_id == session_id,
|
||||
ChatMessage.is_bot.is_(False),
|
||||
ChatMessage.timestamp >= since,
|
||||
)
|
||||
.order_by(ChatMessage.timestamp.desc())
|
||||
)
|
||||
result = await self.session.execute(stmt)
|
||||
return list(result.scalars().all())
|
||||
|
||||
# Agent Action operations
|
||||
|
||||
async def record_action(
|
||||
|
||||
Reference in New Issue
Block a user