A single row of a conversation transcript.
The categories are named after what a reader sees, not after any agent tool's log format: an agent tool reaches this model through an adapter, so the same few rows render a conversation whichever tool produced it.
A message carries Prose rather than the characters it was written in: people and agents write to each other in markdown, and reading it is the adapter's job, so every consumer of this model gets prose that is ready to show. detail on an activity is not prose — a tool's output is not writing, and is shown as the characters it is.
at is optional because not every source timestamps every row.
Attributes
- Companion
- object
- Graph
-
- Supertypes
-
trait Enumtrait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Members list
Type members
Enum entries
Anything else the session shows: the agent's reasoning, a command the person invoked, an answer with no call on this page. label names the activity in a few words; detail carries the longer body a reader can expand, when there is one.
Anything else the session shows: the agent's reasoning, a command the person invoked, an answer with no call on this page. label names the activity in a few words; detail carries the longer body a reader can expand, when there is one.
Attributes
What the agent said back.
What the agent said back.
Attributes
Something the application attached to a turn rather than a person writing it: a brief, a protocol, the page somebody was looking at.
Something the application attached to a turn rather than a person writing it: a brief, a protocol, the page somebody was looking at.
It is a row of its own because it is not what anyone said, and showing it as a message would put an application's words in a person's mouth. What the name means, and whether a reader should see it at all, is the host's: the name is carried through untouched and nothing here knows any host's vocabulary.
A host decides what a reader sees; it does not decide what was sent. Everything here reaches the page, so a stylesheet that hides a context still ships it — in the document, in the source a reader can view, and to a screen reader. Anything a viewer must not have is left off the message before it is sent, never hidden after it arrives.
Attributes
A hook of the session's own that had something to say.
A hook of the session's own that had something to say.
A hook is not part of the conversation and nobody in it wrote what a hook says, but it changed what happened next — a warning before a command ran, the rules a session was started with — so a reader who does not see it reads the turn after it as arbitrary. It names the call it touched when that call is on this page.
Attributes
A tool the agent ran, and what it was called with. The input keeps the shape it was written in rather than being flattened to a line, because which value belongs to which name is what makes a long call readable.
A tool the agent ran, and what it was called with. The input keeps the shape it was written in rather than being flattened to a line, because which value belongs to which name is what makes a long call readable.
call is the token this exchange is known by. It says nothing on its own; it says that this row and the answer carrying the same token are one exchange, whether or not they ended up next to each other.
Attributes
What a tool answered, and the call it answers.
What a tool answered, and the call it answers.
An answer is its own row rather than one more activity because it belongs to something: it carries the token of the call it came back from, and a host can join the two rows however it wants to. An answer whose call is not on this page belongs to nothing a reader can see, and is plain activity instead.
The answer itself is a sequence rather than a body, because a call answers with what it has: words, a picture, a file it wrote, in the order they came back.
Attributes
A turn that stopped without answering, and what stopped it.
A turn that stopped without answering, and what stopped it.
It is nobody's message: the agent did not say it and neither did the reader, so it stands where the answer would have been and is attributed to no one. A reader who is not shown it waits for an answer that is not coming — the conversation simply stops, and there is nothing on the page to say why.
reason is the kind of ending, as the token a host selects by; message says it in words; detail is what the ending said for itself, in the words of whatever ended it, when it said anything.
Attributes
A turn on the person's side of the conversation, and the channel that carried it when a person did not type it.
A turn on the person's side of the conversation, and the channel that carried it when a person did not type it.
An application composes turns of its own — a prompt reacting to an event, an opening instruction — and the session records them where a person's words go. channel is the only thing that tells the two apart, so it is kept: absent means somebody typed this, and a name means the application said so. An adapter reports the channel a sender declared; it does not deduce one, so an application that declares nothing is taken at its word.
Attributes
Value members
Concrete methods
When the entry happened, if its source recorded a time.
When the entry happened, if its source recorded a time.