a digital person for bluesky
1"""Ignore notification tool for Bluesky."""
2from pydantic import BaseModel, Field
3from typing import Optional
4
5
6class IgnoreNotificationArgs(BaseModel):
7 reason: str = Field(..., description="Reason for ignoring this notification")
8 category: Optional[str] = Field(
9 default="bot",
10 description="Category of ignored notification (e.g., 'bot', 'spam', 'not_relevant', 'handled_elsewhere')"
11 )
12
13
14def ignore_notification(reason: str, category: str = "bot") -> str:
15 """
16 Signal that the current notification should be ignored without a reply.
17
18 This tool allows the agent to explicitly mark a notification as ignored
19 rather than having it default to the no_reply folder. This is particularly
20 useful for ignoring interactions from bots or spam accounts.
21
22 Args:
23 reason: Reason for ignoring this notification
24 category: Category of ignored notification (default: 'bot')
25
26 Returns:
27 Confirmation message
28 """
29 return f"IGNORED_NOTIFICATION::{category}::{reason}"