Variable DirectThreadInputSchemaConst
DirectThreadInputSchema: Union<
readonly [
Struct<
{
kind: Literal<"thread">;
send_attribution: optionalKey<
Literals<
readonly [
"inbox",
"inbox_new_message",
"direct_thread_creation_omnipicker",
"message_button",
],
>,
>;
thread: Struct<
{
is_group: Boolean;
muted: optionalKey<Boolean>;
preview: $Array<
Struct<
{
client_context: optionalKey<String>;
item_id: String;
item_type: String;
media: optionalKey<Union<(...)>>;
text: optionalKey<String>;
timestamp: String;
user_id: String;
},
>,
>;
thread_id: String;
thread_title: String;
thread_v2_id: optionalKey<String>;
users: $Array<
Struct<
{
fbid_v2: optionalKey<String>;
full_name: String;
pk: String;
username: String;
},
>,
>;
},
>;
},
>,
Struct<
{
kind: Literal<"recipient">;
recipient: String;
send_attribution: optionalKey<
Literals<
readonly [
"inbox",
"inbox_new_message",
"direct_thread_creation_omnipicker",
"message_button",
],
>,
>;
},
>,
Struct<
{
kind: Literal<"created">;
target_user_ids: $Array<String>;
thread_id: String;
thread_v2_id: String;
},
>,
],
> = ...
What a thread is opened with, a sum of its three entries:
thread: a conversation that exists, opened from a list row — the inbox's or the "New message" picker's thread row (its long id, whether it is a group, its people and the messages it previews; the join-requests query belongs to a group only);created: the group the picker's group-modecreateGroupcreated — the identity above; the screen loads the conversation with the app's thread query (IGDirectGetThreadQuery), so the opening sends what the app sends;recipient: a person the inbox's "New message" picker chose. The participant lookup's answer names the conversation that is opened (in 1:1 a hidden, empty one); an answer without a conversation isDirectThreadNotFoundByParticipantsError. Theseq_idthe lookup sends is session state (MobileSessionState.directInboxSeqId), read by the screen and never carried by the input; a session that holds none fails with the typedDirectInboxSeqIdUnknownError.send_attributionis the attribution the message reports (direct_thread_creation_omnipickerfrom the picker,message_buttonfrom the profile,inboxfrom a thread the inbox opened).