IGPAPI
    Preparing search index...

    Variable DirectThreadActionStateSchemaConst

    DirectThreadActionStateSchema: Union<
        readonly [
            Struct<
                {
                    is_group: Boolean;
                    kind: Literal<"thread">;
                    peer_user_id: optionalKey<String>;
                    send_attribution: optionalKey<String>;
                    thread_id: String;
                    thread_title: String;
                    thread_v2_id: String;
                },
            >,
            Struct<
                {
                    kind: Literal<"compose">;
                    recipient_user_id: String;
                    send_attribution: optionalKey<String>;
                },
            >,
        ],
    > = ...

    What a thread's actions need, a sum by the visit's state:

    • thread: a conversation that exists — the ids the existing-thread requests send and the attribution its messages report;
    • compose: a picked recipient whose conversation the first message will create — the recipient the broadcast targets until then. Reading a thread id here is a type error, so an action that needs one cannot silently send with a missing id.