II.
HookSurface JSON
Structured · livehook-surface:message-received
MessageReceived (canonical) json
Inspect the normalized record payload exactly as the atlas UI reads it.
{
"id": "hook-surface:message-received",
"_kind": "HookSurface",
"_file": "channels-hooks/hook-surfaces/canonical/lifecycle-and-native-stubs.yaml",
"_cluster": "channels-hooks",
"attributes": {
"eventName": "MessageReceived (canonical)",
"displayName": "MessageReceived (canonical)",
"kind": "canonical",
"direction": "event",
"blocking": false,
"family": "in-process",
"payloadSchema": {
"type": "object",
"required": [
"message_id",
"delta"
],
"properties": {
"turn_id": {
"type": "string"
},
"message_id": {
"type": "string"
},
"index": {
"type": "integer"
},
"final": {
"type": "boolean"
},
"delta": {
"type": "string",
"description": "New assistant message display text delta."
}
}
},
"description": "Fires as assistant message text is received for display. Handlers may\ntransform display-only text without changing stored transcript content.\n"
},
"outgoingEdges": [],
"incomingEdges": [
{
"from": "hook-surface:claude.message-display",
"to": "hook-surface:message-received",
"kind": "canonicalized_to",
"attributes": {}
}
]
}