Message Model¶
Ravi treats messages as typed execution artifacts, not just free-form strings.
Important message types¶
SystemMessageUserMessageAssistantMessageToolCallMessageToolExecutionResultMessage
Important details¶
UserMessagecan contain text and media content.AssistantMessagemay contain text, tool calls, or both.ToolCallMessageusesnameandargumentsfields.- tool execution results are appended back into the conversation for the next model step.
Why this matters¶
These message shapes are the contract between the agent loop, memory system, provider adapters, and the UI streaming layer.