Durable messaging is the persisted conversation lane of the Conversation API. It stores the thread that readers and agents return to after refreshes, reconnects, delegated work, and long-running execution.Documentation Index
Fetch the complete documentation index at: https://veryfront.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
What durable messaging owns
| Concept | Purpose |
|---|---|
| Conversation | Thread metadata, project scope, status, title, current node, and message count |
| Message | User, assistant, system, or tool content stored as a node in the thread |
| Message parts | Typed blocks such as text, files, images, tool calls, tool results, reasoning, citations, errors, and data |
| Branches | Alternate message paths created by edits, forks, or regenerated answers |
| Participants | Users and roles that can access the conversation |
| Read state | Last-read cursor and unread count for a participant |
| Input requests | Durable requests for human, agent, or system input while work is paused |
Key concepts
- Conversation: The durable thread that owns messages, participants, read state, and conversation-owned runs.
- Message: A user, assistant, system, or tool entry made from typed content parts.
- Message part: A structured block for text, files, images, tool calls, tool results, reasoning, citations, errors, or data.
- Branch: An alternate message path created by edits, forks, or regenerated answers.
- Participant: A user and role associated with a conversation.
- Read state: A participant cursor for last-read message and unread count.
- Input request: A durable request for structured human, agent, or system input.
Message graph
Messages form a graph, not only a flat list. Each message can point to a parent message, and the conversation stores the active branch tip as the current node. This model supports editing, forking, branch selection, and replaying the visible path without losing alternate branches.Typed content
A message stores structured parts instead of flattening every response into text. Typed parts let the UI render files, tool calls, tool results, reasoning, citations, and errors with the right presentation. The durable message is what the user sees. Durable execution explains how an assistant answer was produced.Input requests
Input requests are durable prompts for structured responses. They are separate from generic chat messages because they have their own lifecycle, fields, responder type, and response history. Use input requests when execution needs to pause for a form response, approval, tool result, or other structured input.How messaging relates to execution
Durable messaging and durable execution work together:- A user prompt is stored as a message.
- A run creates or claims an assistant output message.
- Runtime events stream and persist while execution runs.
- Final output is stored back on the assistant message.
- Later reads use messages for the visible thread and runs/events for execution history.