Variable DirectThreadInputSchemaConst
DirectThreadInputSchema: Union<
readonly [
Struct<
{
kind: Literal<"thread">;
peerUserIds: $Array<String>;
send_attribution: optionalKey<String>;
thread_id: String;
thread_v2_id: String;
},
>,
Struct<
{
kind: Literal<"recipient">;
recipient: String;
send_attribution: optionalKey<String>;
seq_id: Number;
},
>,
],
> = ...
What a thread is opened with, a sum of its two entries:
thread: a conversation that exists, opened from the inbox list or from the profile's Message button — its v2 id and the peers the opener named;recipient: a person the inbox's "New message" picker chose. The participant lookup's answer decides what is shown: a thread there is opened from the answer (the 1:1 recording's hidden, empty conversation), a conversation the account never had is the composer — the case no recording shows.seq_idis required — it is the inbox sequence the picker row carried and the lookup sends it asseq_id, with no invented fallback;send_attributionis the attribution the message reports (direct_thread_creation_omnipickerfrom the picker,message_buttonfrom the profile,inboxfrom a thread the inbox opened).