From 2f443f572abcd24f48869eedbf06e5c200a34f20 Mon Sep 17 00:00:00 2001 From: Scott Severance Date: Mon, 17 Aug 2026 21:55:54 +0000 Subject: [PATCH] feat(conversation): validate message content is not empty --- agent/core/conversation.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/agent/core/conversation.py b/agent/core/conversation.py index d04a6b2..fd0d248 100644 --- a/agent/core/conversation.py +++ b/agent/core/conversation.py @@ -17,6 +17,10 @@ class Message: name: Optional[str] = None # tool name for tool messages timestamp: float = field(default_factory=time.time) + def __post_init__(self): + if not self.content or (isinstance(self.content, str) and not self.content.strip()): + raise ValueError(f"Message content cannot be None or empty (role={self.role})") + def to_dict(self) -> dict: d: dict[str, Any] = {"role": self.role, "content": self.content} if self.tool_calls: