chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
import asyncio
|
||||
|
||||
from langchain_core.runnables import RunnableConfig
|
||||
from loguru import logger
|
||||
|
||||
|
||||
async def get_session_message_count(graph, session_id: str) -> int:
|
||||
"""Get message count from LangGraph state, returns 0 on error."""
|
||||
try:
|
||||
# Use sync get_state() in a thread (SqliteSaver doesn't support async)
|
||||
thread_state = await asyncio.to_thread(
|
||||
graph.get_state,
|
||||
config=RunnableConfig(configurable={"thread_id": session_id}),
|
||||
)
|
||||
if (
|
||||
thread_state
|
||||
and thread_state.values
|
||||
and "messages" in thread_state.values
|
||||
):
|
||||
return len(thread_state.values["messages"])
|
||||
except Exception as e:
|
||||
logger.warning(f"Could not fetch message count for session {session_id}: {e}")
|
||||
return 0
|
||||
Reference in New Issue
Block a user