diff --git a/libs/agno/agno/os/interfaces/whatsapp/router.py b/libs/agno/agno/os/interfaces/whatsapp/router.py index d03210a0e3..21363f759e 100644 --- a/libs/agno/agno/os/interfaces/whatsapp/router.py +++ b/libs/agno/agno/os/interfaces/whatsapp/router.py @@ -369,7 +369,11 @@ def _extract_media_bytes(media_obj) -> Optional[bytes]: except (UnicodeDecodeError, Exception): return content elif isinstance(content, str): - return base64.b64decode(content) + try: + return base64.b64decode(content) + except Exception: + log_warning("Failed to decode base64 content: not valid base64 data") + return None return None def _send_whatsapp_message(tools: WhatsAppTools, recipient: str, message: str, italics: bool = False): diff --git a/libs/agno/agno/tools/whatsapp.py b/libs/agno/agno/tools/whatsapp.py index 3b7c76be72..7a1cc9879b 100644 --- a/libs/agno/agno/tools/whatsapp.py +++ b/libs/agno/agno/tools/whatsapp.py @@ -13,7 +13,7 @@ class ReplyButton(BaseModel): """A quick-reply button.""" id: str = Field(..., description="Unique button identifier (e.g. 'yes', 'no').") - title: str = Field(..., description="Button display text, max 20 characters.") + title: str = Field(..., max_length=20, description="Button display text, max 20 characters.") class ListRow(BaseModel):