Conversation.get_messages()

Return messages, optionally filtered by role.

Usage

Source

Conversation.get_messages(role=None)

Returns a shallow copy of the internal message list so that callers can iterate or slice freely without mutating conversation state.

Parameters

role: Optional[str] = None
When provided, only messages matching this role are returned. When None (the default), all messages are returned.

Returns

list[Message]
A list of matching Message objects (copy of the internal list).

Examples

from talk_box.conversation import Conversation

convo = Conversation()
convo.add_user_message("Hi")
convo.add_assistant_message("Hello!")
len(convo.get_messages(role="user"))
1