Message: TaggedStruct<
"message",
{
attachments: optional<
$Array<
Struct<
{
contentId: optional<String>;
name: optional<String>;
ref: RefSchema<Unknown>;
},
>,
>,
>;
blocks: $Array<
Union<
readonly [
TaggedStruct<
"anchor",
{
objectId: EntityIdClass;
pending: optional<Boolean>;
version: Unknown;
},
>,
TaggedStruct<
"change",
{ after: String; before: String; pending: optional<Boolean> },
>,
TaggedStruct<
"file",
{
mediaType: optional<String>;
name: optional<String>;
pending: optional<Boolean>;
url: String;
},
>,
TaggedStruct<
"image",
{
id: optional<String>;
pending: optional<Boolean>;
source: optional<Union<readonly [Struct<(...)>, Struct<(...)>]>>;
},
>,
TaggedStruct<
"json",
{
data: String;
disposition: optional<
Literals<
readonly ["user", "synthetic", "cot", "version-pin", "summary"],
>,
>;
pending: optional<Boolean>;
},
>,
TaggedStruct<"proposal", { pending: optional<Boolean>; text: String }>,
TaggedStruct<
"reasoning",
{
pending: optional<Boolean>;
reasoningText: optional<String>;
redactedText: optional<String>;
signature: optional<String>;
},
>,
TaggedStruct<
"reference",
{ pending: optional<Boolean>; reference: RefSchema<Unknown> },
>,
TaggedStruct<
"request",
{
options: $Array<
Struct<{ id: String; kind: Literals<(...)>; label: String }>,
>;
pending: optional<Boolean>;
preview: optional<Struct<{ label: String; text: String }>>;
requestId: String;
resolution: optional<
Struct<{ optionId: optional<(...)>; outcome: Literals<(...)> }>,
>;
title: String;
toolCallId: optional<String>;
},
>,
TaggedStruct<
"select",
{ options: mutable<$Array<String>>; pending: optional<Boolean> },
>,
TaggedStruct<
"status",
{ pending: optional<Boolean>; statusText: String },
>,
TaggedStruct<
"suggestion",
{ pending: optional<Boolean>; text: String },
>,
TaggedStruct<
"stats",
{
duration: optional<Number>;
errors: optional<Number>;
finishReason: optional<
Literals<
readonly [
"stop",
"length",
"content-filter",
"tool-calls",
"error",
"pause",
"other",
"unknown",
],
>,
>;
message: optional<String>;
mimeType: optional<String>;
model: optional<String>;
pending: optional<Boolean>;
toolCalls: optional<Number>;
usage: optional<
Struct<
{
inputTokens: optional<(...)>;
outputTokens: optional<(...)>;
totalTokens: optional<(...)>;
},
>,
>;
},
>,
TaggedStruct<
"surface",
{
data: optional<$Record<String, Unknown>>;
pending: optional<Boolean>;
role: String;
},
>,
TaggedStruct<
"text",
{
disposition: optional<
Literals<
readonly ["user", "synthetic", "cot", "version-pin", "summary"],
>,
>;
mimeType: optional<String>;
pending: optional<Boolean>;
text: String;
},
>,
TaggedStruct<
"summary",
{ content: String; pending: optional<Boolean> },
>,
TaggedStruct<"toolkit", { pending: optional<Boolean> }>,
TaggedStruct<
"toolCall",
{
displayIcon: optional<String>;
displayName: optional<String>;
input: String;
name: String;
operationIcon: optional<String>;
operationKey: optional<String>;
operationName: optional<String>;
pending: optional<Boolean>;
providerExecuted: Boolean;
toolCallId: String;
},
>,
TaggedStruct<
"toolResult",
{
error: optional<String>;
invocations: optional<mutable<$Array<Struct<(...)>>>>;
name: String;
pending: optional<Boolean>;
providerExecuted: Boolean;
result: optional<Union<readonly [String, suspend<(...)>]>>;
toolCallId: String;
},
>,
TaggedStruct<
"transcript",
{
candidates: optional<mutable<$Array<Struct<(...)>>>>;
corrected: optional<String>;
pending: optional<Boolean>;
references: optional<mutable<$Array<RefSchema<(...)>>>>;
started: String;
text: String;
translation: optional<String>;
},
>,
],
>,
>;
properties: optional<$Record<String, Any>>;
},
> = ...
Content seen by the model, attributed by the event's
sender. A user message stays out of the prompt until a PromptConsume names it, so a prompt typed mid-turn never lands inside a prefix already sent.