{ "id": "chat.bsky.moderation.getMessageContext", "defs": { "main": { "type": "query", "output": { "schema": { "type": "object", "required": [ "messages" ], "properties": { "messages": { "type": "array", "items": { "refs": [ "chat.bsky.convo.defs#messageView", "chat.bsky.convo.defs#systemMessageView" ], "type": "union" } } } }, "encoding": "application/json" }, "parameters": { "type": "params", "required": [ "messageId" ], "properties": { "after": { "type": "integer", "default": 5, "description": "Number of user messages after the target to include. System messages between the target and the latest returned user message are also included, capped per gap by `maxInterleavedSystemMessages`. If there are no user messages after the target, up to `maxInterleavedSystemMessages` system messages immediately following the target are returned instead." }, "before": { "type": "integer", "default": 5, "description": "Number of user messages before the target to include. System messages between the earliest returned user message and the target are also included, capped per gap by `maxInterleavedSystemMessages`. If there are no user messages before the target, up to `maxInterleavedSystemMessages` system messages immediately preceding the target are returned instead." }, "convoId": { "type": "string", "description": "Conversation that the message is from. NOTE: this field will eventually be required." }, "messageId": { "type": "string" }, "maxInterleavedSystemMessages": { "type": "integer", "default": 10, "maximum": 1000, "minimum": 0, "description": "Maximum number of system messages to include per gap between consecutive returned messages (and per side when there are no user messages on that side). Within a gap, the system messages closest to the earlier message are kept." } } } } }, "$type": "com.atproto.lexicon.schema", "lexicon": 1 }