{
"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
}