Agent Operations

Agent operations.

async shared.database.operations.agent.count_analyses_for_user(user_id)[source]

Count analyses for user.

Parameters:

user_id (int) – User ID

Return type:

int

Returns:

Analysis count

async shared.database.operations.agent.count_relevant_analyses_for_user(user_id, min_overall)[source]

Count relevant analyses for user.

Parameters:
  • user_id (int) – User ID

  • min_overall (float) – Minimum relevance score

Return type:

int

Returns:

Relevant analysis count

async shared.database.operations.agent.get_agent_status(agent_id)[source]

Get agent status.

Parameters:

agent_id (str) – Agent ID

Return type:

Optional[AgentStatus]

Returns:

AgentStatus instance or None

async shared.database.operations.agent.list_recent_analyses_for_user(user_id, limit=5)[source]

List recent analyses for user.

Parameters:
  • user_id (int) – User ID

  • limit (int) – Result limit

Return type:

List[Tuple[PaperAnalysis, ArxivPaper]]

Returns:

List of (PaperAnalysis, ArxivPaper) tuples

async shared.database.operations.agent.swap_user_active_topics(user_id)[source]

Swap user active topics.

Parameters:

user_id (int) – User ID

Return type:

Optional[ResearchTopic]

Returns:

ResearchTopic instance or None

async shared.database.operations.agent.update_agent_status(*, agent_id, status, activity, current_user_id=None, current_topic_id=None, papers_processed=0, papers_found=0)[source]

Update agent status.

Parameters:
  • agent_id (str) – Agent ID

  • status (str) – Agent status

  • activity (str) – Agent activity

  • current_user_id (Optional[int]) – Current user ID

  • current_topic_id (Optional[int]) – Current topic ID

  • papers_processed (int) – Papers processed count

  • papers_found (int) – Papers found count

Return type:

None