Skip to main content

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.

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.

What durable messaging owns

ConceptPurpose
ConversationThread metadata, project scope, status, title, current node, and message count
MessageUser, assistant, system, or tool content stored as a node in the thread
Message partsTyped blocks such as text, files, images, tool calls, tool results, reasoning, citations, errors, and data
BranchesAlternate message paths created by edits, forks, or regenerated answers
ParticipantsUsers and roles that can access the conversation
Read stateLast-read cursor and unread count for a participant
Input requestsDurable 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:
  1. A user prompt is stored as a message.
  2. A run creates or claims an assistant output message.
  3. Runtime events stream and persist while execution runs.
  4. Final output is stored back on the assistant message.
  5. Later reads use messages for the visible thread and runs/events for execution history.

Next