<commit_before>declare namespace saltyrtc {

    type MessageType = 'server-hello' | 'client-hello' | 'client-auth'
                     | 'server-auth' | 'new-initiator' | 'new-responder'
                     | 'drop-responder' | 'send-error' | 'token' | 'key'
                     | 'auth' | 'offer' | 'answer' | 'candidates' | 'restart';

    interface Message {
        type: MessageType,
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#server-hello
    interface ServerHello extends Message {
        type: 'server-hello',
        key: number[],
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#client-hello
    interface ClientHello extends Message {
        type: 'client-hello',
        key: number[],
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#client-auth
    interface ClientAuth extends Message {
        type: 'client-auth',
        your_cookie: number[],
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#server-auth
    interface ServerAuth extends Message {
        type: 'server-auth',
        your_cookie: number[],
        initiator_connected?: boolean,
        responders?: number[],
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#new-initiator
    interface NewInitiator extends Message {
        type: 'new-initiator',
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#new-responder
    interface NewResponder extends Message {
        type: 'new-responder',
        id: number,
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#drop-responder
    interface DropResponder extends Message {
        type: 'drop-responder',
        id: number,
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#send-error
    interface SendError extends Message {
        type: 'send-error',
        hash: number[],
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#token
    interface Token extends Message {
        type: 'token',
        key: number[],
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#key
    interface Key extends Message {
        type: 'key',
        key: number[],
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#auth
    interface Auth extends Message {
        type: 'auth',
        your_cookie: number[],
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#offer
    interface Offer extends Message {
        type: 'offer',
        session: number[],
        sdp: string, // TODO: #28
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#answer
    interface Answer extends Message {
        type: 'answer',
        session: number[],
        sdp: string, // TODO: #28
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#candidates
    interface Candidates extends Message {
        type: 'candidates',
        session: number[],
        sdp: string[], // TODO: #28
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#restart
    interface Restart extends Message {
        type: 'restart',
    }

}<commit_msg>Types: Remove session field from Offer / Answer / Candidates<commit_after>declare namespace saltyrtc {

    type MessageType = 'server-hello' | 'client-hello' | 'client-auth'
                     | 'server-auth' | 'new-initiator' | 'new-responder'
                     | 'drop-responder' | 'send-error' | 'token' | 'key'
                     | 'auth' | 'offer' | 'answer' | 'candidates' | 'restart';

    interface Message {
        type: MessageType,
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#server-hello
    interface ServerHello extends Message {
        type: 'server-hello',
        key: number[],
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#client-hello
    interface ClientHello extends Message {
        type: 'client-hello',
        key: number[],
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#client-auth
    interface ClientAuth extends Message {
        type: 'client-auth',
        your_cookie: number[],
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#server-auth
    interface ServerAuth extends Message {
        type: 'server-auth',
        your_cookie: number[],
        initiator_connected?: boolean,
        responders?: number[],
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#new-initiator
    interface NewInitiator extends Message {
        type: 'new-initiator',
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#new-responder
    interface NewResponder extends Message {
        type: 'new-responder',
        id: number,
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#drop-responder
    interface DropResponder extends Message {
        type: 'drop-responder',
        id: number,
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#send-error
    interface SendError extends Message {
        type: 'send-error',
        hash: number[],
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#token
    interface Token extends Message {
        type: 'token',
        key: number[],
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#key
    interface Key extends Message {
        type: 'key',
        key: number[],
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#auth
    interface Auth extends Message {
        type: 'auth',
        your_cookie: number[],
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#offer
    interface Offer extends Message {
        type: 'offer',
        sdp: string, // TODO: #28
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#answer
    interface Answer extends Message {
        type: 'answer',
        sdp: string, // TODO: #28
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#candidates
    interface Candidates extends Message {
        type: 'candidates',
        sdp: string[], // TODO: #28
    }

    // https://github.com/saltyrtc/saltyrtc-meta/blob/master/Protocol.md#restart
    interface Restart extends Message {
        type: 'restart',
    }

}
{'fraction_non_alphanumeric': 0.13734756097560977, 'fraction_numerical': 0.001829268292682927, 'mean_word_length': 2.337232960325534, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 30, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3588459', 'n_tokens_mistral': 2052, 'n_tokens_neox': 1995, 'n_words': 343}