Files
landing/src/generated/protoDocs.ts
2026-07-31 04:32:34 -07:00

3844 lines
112 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* This file is generated by scripts/generate-proto-docs.mjs. */
import type { ProtoLayer } from '../types/proto';
export const protoLayers = [
{
"version": 1,
"description": "",
"source": "layer.1.yml",
"enums": [
{
"name": "AttachmentType",
"type": "int8",
"description": "",
"yaml": "AttachmentType:\n type: int8\n values:\n - id: 0\n name: IMAGE\n - id: 1\n name: MESSAGES\n - id: 2\n name: FILE\n - id: 3\n name: AVATAR\n - id: 4\n name: CALL\n - id: 5\n name: VOICE\n - id: 6\n name: VIDEO_CIRCLE",
"values": [
{
"id": 0,
"name": "IMAGE",
"description": "Image"
},
{
"id": 1,
"name": "MESSAGES",
"description": "Reply/Forwarded messages"
},
{
"id": 2,
"name": "FILE",
"description": "File"
},
{
"id": 3,
"name": "AVATAR",
"description": "Avatar"
},
{
"id": 4,
"name": "CALL",
"description": "Call"
},
{
"id": 5,
"name": "VOICE",
"description": "Voice message"
},
{
"id": 6,
"name": "VIDEO_CIRCLE",
"description": "Video circle"
}
]
},
{
"name": "DeviceSolution",
"type": "int8",
"description": "Solution by device after accept or decline request to attach new device",
"yaml": "DeviceSolution:\n type: int8\n values:\n - id: 0\n name: ACCEPT\n - id: 1\n name: DECLINE",
"values": [
{
"id": 0,
"name": "ACCEPT",
"description": "Accept device to log in to account"
},
{
"id": 1,
"name": "DECLINE",
"description": "Decline device"
}
]
},
{
"name": "HandshakeStage",
"type": "int8",
"description": "Handshake Stage (need for set device confirm view after pass seed)",
"yaml": "HandshakeStage:\n type: int8\n values:\n - id: 0\n name: COMPLETED\n - id: 1\n name: NEED_DEVICE_VERIFICATION",
"values": [
{
"id": 0,
"name": "COMPLETED",
"description": ""
},
{
"id": 1,
"name": "NEED_DEVICE_VERIFICATION",
"description": ""
}
]
},
{
"name": "GroupStatus",
"type": "int8",
"description": "",
"yaml": "GroupStatus:\n type: int8\n values:\n - id: 0\n name: JOINED\n - id: 1\n name: INVALID\n - id: 2\n name: NOT_JOINED\n - id: 3\n name: BANNED",
"values": [
{
"id": 0,
"name": "JOINED",
"description": ""
},
{
"id": 1,
"name": "INVALID",
"description": ""
},
{
"id": 2,
"name": "NOT_JOINED",
"description": ""
},
{
"id": 3,
"name": "BANNED",
"description": ""
}
]
},
{
"name": "NotificationAction",
"type": "int8",
"description": "",
"yaml": "NotificationAction:\n type: int8\n values:\n - id: 0\n name: SUBSCRIBE\n - id: 1\n name: UNSUBSCRIBE",
"values": [
{
"id": 0,
"name": "SUBSCRIBE",
"description": ""
},
{
"id": 1,
"name": "UNSUBSCRIBE",
"description": ""
}
]
},
{
"name": "SignalType",
"type": "int8",
"description": "",
"yaml": "SignalType:\n type: int8\n values:\n - id: 0\n name: CALL\n - id: 1\n name: KEY_EXCHANGE\n - id: 2\n name: ACTIVE_CALL\n - id: 3\n name: END_CALL\n - id: 4\n name: ACTIVE\n - id: 5\n name: END_CALL_BECAUSE_PEER_DISCONNECTED\n - id: 6\n name: END_CALL_BECAUSE_BUSY\n - id: 7\n name: ACCEPT\n - id: 8\n name: RINGING_TIMEOUT",
"values": [
{
"id": 0,
"name": "CALL",
"description": ""
},
{
"id": 1,
"name": "KEY_EXCHANGE",
"description": ""
},
{
"id": 2,
"name": "ACTIVE_CALL",
"description": ""
},
{
"id": 3,
"name": "END_CALL",
"description": ""
},
{
"id": 4,
"name": "ACTIVE",
"description": ""
},
{
"id": 5,
"name": "END_CALL_BECAUSE_PEER_DISCONNECTED",
"description": ""
},
{
"id": 6,
"name": "END_CALL_BECAUSE_BUSY",
"description": ""
},
{
"id": 7,
"name": "ACCEPT",
"description": ""
},
{
"id": 8,
"name": "RINGING_TIMEOUT",
"description": ""
}
]
},
{
"name": "NetworkStatus",
"type": "int8",
"description": "",
"yaml": "NetworkStatus:\n type: int8\n values:\n - id: 0\n name: ONLINE\n - id: 1\n name: OFFLINE",
"values": [
{
"id": 0,
"name": "ONLINE",
"description": ""
},
{
"id": 1,
"name": "OFFLINE",
"description": ""
}
]
},
{
"name": "SyncStatus",
"type": "int8",
"description": "",
"yaml": "SyncStatus:\n type: int8\n values:\n - id: 0\n name: NOT_NEEDED\n - id: 1\n name: BATCH_START\n - id: 2\n name: BATCH_END",
"values": [
{
"id": 0,
"name": "NOT_NEEDED",
"description": ""
},
{
"id": 1,
"name": "BATCH_START",
"description": ""
},
{
"id": 2,
"name": "BATCH_END",
"description": ""
}
]
},
{
"name": "WebRTCType",
"type": "int8",
"description": "",
"yaml": "WebRTCType:\n type: int8\n values:\n - id: 0\n name: OFFER\n - id: 1\n name: ANSWER\n - id: 2\n name: ICE_CANDIDATE",
"values": [
{
"id": 0,
"name": "OFFER",
"description": ""
},
{
"id": 1,
"name": "ANSWER",
"description": ""
},
{
"id": 2,
"name": "ICE_CANDIDATE",
"description": ""
}
]
},
{
"name": "ResultCode",
"type": "int8",
"description": "",
"yaml": "ResultCode:\n type: int8\n values:\n - id: 0\n name: SUCCESS\n - id: 1\n name: ERROR\n - id: 2\n name: INVALID\n - id: 3\n name: USERNAME_TAKEN",
"values": [
{
"id": 0,
"name": "SUCCESS",
"description": ""
},
{
"id": 1,
"name": "ERROR",
"description": ""
},
{
"id": 2,
"name": "INVALID",
"description": ""
},
{
"id": 3,
"name": "USERNAME_TAKEN",
"description": ""
}
]
},
{
"name": "TokenType",
"type": "int8",
"description": "",
"yaml": "TokenType:\n type: int8\n values:\n - id: 0\n name: FCM\n - id: 1\n name: VoIPApns",
"values": [
{
"id": 0,
"name": "FCM",
"description": ""
},
{
"id": 1,
"name": "VoIPApns",
"description": ""
}
]
}
],
"types": [
{
"name": "Attachment",
"description": "",
"yaml": "Attachment:\n fields:\n - id: 1\n name: id\n type: string\n - id: 2\n name: blob?\n type: string\n - id: 3\n name: type\n type: AttachmentType\n - id: 4\n name: preview\n type: string\n - id: 5\n name: transport\n type: AttachmentTransport",
"fields": [
{
"id": 1,
"name": "id",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "blob",
"type": "string",
"optional": true,
"description": ""
},
{
"id": 3,
"name": "type",
"type": "AttachmentType",
"optional": false,
"description": ""
},
{
"id": 4,
"name": "preview",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 5,
"name": "transport",
"type": "AttachmentTransport",
"optional": false,
"description": ""
}
]
},
{
"name": "AttachmentTransport",
"description": "",
"yaml": "AttachmentTransport:\n fields:\n - id: 1\n name: transportTag\n type: string\n - id: 2\n name: transportServer\n type: string",
"fields": [
{
"id": 1,
"name": "transportTag",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "transportServer",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "NetworkDevice",
"description": "",
"yaml": "NetworkDevice:\n fields:\n - id: 1\n name: networkStatus\n type: NetworkStatus\n - id: 2\n name: deviceName\n type: string\n - id: 3\n name: deviceOs\n type: string\n - id: 4\n name: deviceId\n type: string\n - id: 5\n name: deviceSolution\n type: DeviceSolution",
"fields": [
{
"id": 1,
"name": "networkStatus",
"type": "NetworkStatus",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "deviceName",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "deviceOs",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 4,
"name": "deviceId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 5,
"name": "deviceSolution",
"type": "DeviceSolution",
"optional": false,
"description": ""
}
]
},
{
"name": "PKNetworkStatus",
"description": "",
"yaml": "PKNetworkStatus:\n fields:\n - id: 1\n name: publicKey\n type: string\n - id: 2\n name: networkStatus\n type: NetworkStatus",
"fields": [
{
"id": 1,
"name": "publicKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "networkStatus",
"type": "NetworkStatus",
"optional": false,
"description": ""
}
]
},
{
"name": "SearchInfo",
"description": "",
"yaml": "SearchInfo:\n fields:\n - id: 1\n name: username\n type: string\n - id: 2\n name: title\n type: string\n - id: 3\n name: publicKey\n type: string\n - id: 4\n name: verified\n type: int32\n - id: 5\n name: networkStatus\n type: NetworkStatus",
"fields": [
{
"id": 1,
"name": "username",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "title",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "publicKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 4,
"name": "verified",
"type": "int32",
"optional": false,
"description": ""
},
{
"id": 5,
"name": "networkStatus",
"type": "NetworkStatus",
"optional": false,
"description": ""
}
]
},
{
"name": "RTCIceServer",
"description": "",
"yaml": "RTCIceServer:\n fields:\n - id: 1\n name: url\n type: string\n - id: 2\n name: username\n type: string\n - id: 3\n name: credential\n type: string\n - id: 4\n name: transport\n type: string",
"fields": [
{
"id": 1,
"name": "url",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "username",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "credential",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 4,
"name": "transport",
"type": "string",
"optional": false,
"description": ""
}
]
}
],
"packets": [
{
"name": "Handshake",
"id": 0,
"description": "",
"yaml": "Handshake:\n id: 0\n fields:\n - id: 1\n name: publicKey\n type: string\n - id: 2\n name: privateKey\n type: string\n - id: 3\n name: deviceId\n type: string\n - id: 4\n name: deviceName\n type: string\n - id: 5\n name: deviceOs\n type: string\n - id: 6\n name: handshakeStage?\n type: HandshakeStage",
"fields": [
{
"id": 1,
"name": "publicKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "privateKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "deviceId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 4,
"name": "deviceName",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 5,
"name": "deviceOs",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 6,
"name": "handshakeStage",
"type": "HandshakeStage",
"optional": true,
"description": ""
}
]
},
{
"name": "UserInfo",
"id": 1,
"description": "",
"yaml": "UserInfo:\n id: 1\n fields:\n - id: 1\n name: privateKey\n type: string\n - id: 2\n name: username\n type: string\n - id: 3\n name: title\n type: string",
"fields": [
{
"id": 1,
"name": "privateKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "username",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "title",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "Result",
"id": 2,
"description": "",
"yaml": "Result:\n id: 2\n fields:\n - id: 1\n name: resultCode\n type: ResultCode",
"fields": [
{
"id": 1,
"name": "resultCode",
"type": "ResultCode",
"optional": false,
"description": ""
}
]
},
{
"name": "Search",
"id": 3,
"description": "",
"yaml": "Search:\n id: 3\n fields:\n - id: 1\n name: privateKey\n type: string\n - id: 2\n name: search\n type: string\n - id: 3\n name: searchInfo?\n type: SearchInfo[]",
"fields": [
{
"id": 1,
"name": "privateKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "search",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "searchInfo",
"type": "SearchInfo[]",
"optional": true,
"description": ""
}
]
},
{
"name": "OnlineSubscribe",
"id": 4,
"description": "",
"yaml": "OnlineSubscribe:\n id: 4\n fields:\n - id: 1\n name: privateKey\n type: string\n - id: 2\n name: publicKeys\n type: string[]",
"fields": [
{
"id": 1,
"name": "privateKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "publicKeys",
"type": "string[]",
"optional": false,
"description": ""
}
]
},
{
"name": "OnlineState",
"id": 5,
"description": "",
"yaml": "OnlineState:\n id: 5\n fields:\n - id: 1\n name: pkNetworkStatuses\n type: PKNetworkStatus[]",
"fields": [
{
"id": 1,
"name": "pkNetworkStatuses",
"type": "PKNetworkStatus[]",
"optional": false,
"description": ""
}
]
},
{
"name": "Message",
"id": 6,
"description": "",
"yaml": "Message:\n id: 6\n fields:\n - id: 1\n name: fromPublicKey\n type: string\n - id: 2\n name: toPublicKey\n type: string\n - id: 3\n name: privateKey\n type: string\n - id: 4\n name: content\n type: string\n - id: 5\n name: chachaKey\n type: string\n - id: 6\n name: timestamp\n type: int64\n - id: 7\n name: messageId\n type: string\n - id: 8\n name: attachments?\n type: Attachment[]\n - id: 9\n name: aesChachaKey\n type: string",
"fields": [
{
"id": 1,
"name": "fromPublicKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "toPublicKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "privateKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 4,
"name": "content",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 5,
"name": "chachaKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 6,
"name": "timestamp",
"type": "int64",
"optional": false,
"description": ""
},
{
"id": 7,
"name": "messageId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 8,
"name": "attachments",
"type": "Attachment[]",
"optional": true,
"description": ""
},
{
"id": 9,
"name": "aesChachaKey",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "Read",
"id": 7,
"description": "",
"yaml": "Read:\n id: 7\n fields:\n - id: 1\n name: fromPublicKey\n type: string\n - id: 2\n name: toPublicKey\n type: string\n - id: 3\n name: privateKey\n type: string",
"fields": [
{
"id": 1,
"name": "fromPublicKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "toPublicKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "privateKey",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "Delivery",
"id": 8,
"description": "",
"yaml": "Delivery:\n id: 8\n fields:\n - id: 1\n name: messageId\n type: string\n - id: 2\n name: toPublicKey\n type: string",
"fields": [
{
"id": 1,
"name": "messageId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "toPublicKey",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "DeviceNew",
"id": 9,
"description": "",
"yaml": "DeviceNew:\n id: 9\n fields:\n - id: 1\n name: ipAddress\n type: string\n - id: 2\n name: deviceId\n type: string\n - id: 3\n name: deviceName\n type: string\n - id: 4\n name: deviceOs\n type: string",
"fields": [
{
"id": 1,
"name": "ipAddress",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "deviceId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "deviceName",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 4,
"name": "deviceOs",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "RequestUpdate",
"id": 10,
"description": "",
"yaml": "RequestUpdate:\n id: 10\n fields:\n - id: 1\n name: server?\n type: string",
"fields": [
{
"id": 1,
"name": "server",
"type": "string",
"optional": true,
"description": ""
}
]
},
{
"name": "Typeing",
"id": 11,
"description": "",
"yaml": "Typeing:\n id: 11\n fields:\n - id: 1\n name: fromPublicKey\n type: string\n - id: 2\n name: toPublicKey\n type: string\n - id: 3\n name: privateKey\n type: string",
"fields": [
{
"id": 1,
"name": "fromPublicKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "toPublicKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "privateKey",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "RequestTransport",
"id": 15,
"description": "",
"yaml": "RequestTransport:\n id: 15\n fields:\n - id: 1\n name: server?\n type: string",
"fields": [
{
"id": 1,
"name": "server",
"type": "string",
"optional": true,
"description": ""
}
]
},
{
"name": "PushNotification",
"id": 16,
"description": "",
"yaml": "PushNotification:\n id: 16\n fields:\n - id: 1\n name: notificationToken\n type: string\n - id: 2\n name: action\n type: NotificationAction\n - id: 3\n name: tokenType\n type: TokenType\n - id: 4\n name: deviceId\n type: string",
"fields": [
{
"id": 1,
"name": "notificationToken",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "action",
"type": "NotificationAction",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "tokenType",
"type": "TokenType",
"optional": false,
"description": ""
},
{
"id": 4,
"name": "deviceId",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "GroupCreate",
"id": 17,
"description": "",
"yaml": "GroupCreate:\n id: 17\n fields:\n - id: 1\n name: groupId\n type: string",
"fields": [
{
"id": 1,
"name": "groupId",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "GroupInfo",
"id": 18,
"description": "",
"yaml": "GroupInfo:\n id: 18\n fields:\n - id: 1\n name: groupId\n type: string\n - id: 2\n name: membersPKs?\n type: string[]",
"fields": [
{
"id": 1,
"name": "groupId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "membersPKs",
"type": "string[]",
"optional": true,
"description": ""
}
]
},
{
"name": "GroupInviteInfo",
"id": 19,
"description": "",
"yaml": "GroupInviteInfo:\n id: 19\n fields:\n - id: 1\n name: groupId\n type: string\n - id: 2\n name: membersCount?\n type: int32\n - id: 3\n name: status?\n type: GroupStatus",
"fields": [
{
"id": 1,
"name": "groupId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "membersCount",
"type": "int32",
"optional": true,
"description": ""
},
{
"id": 3,
"name": "status",
"type": "GroupStatus",
"optional": true,
"description": ""
}
]
},
{
"name": "GroupJoin",
"id": 20,
"description": "",
"yaml": "GroupJoin:\n id: 20\n fields:\n - id: 1\n name: groupId\n type: string\n - id: 2\n name: status?\n type: GroupStatus\n - id: 3\n name: groupString\n type: string",
"fields": [
{
"id": 1,
"name": "groupId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "status",
"type": "GroupStatus",
"optional": true,
"description": ""
},
{
"id": 3,
"name": "groupString",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "GroupLeave",
"id": 21,
"description": "",
"yaml": "GroupLeave:\n id: 21\n fields:\n - id: 1\n name: groupId\n type: string",
"fields": [
{
"id": 1,
"name": "groupId",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "GroupBan",
"id": 22,
"description": "",
"yaml": "GroupBan:\n id: 22\n fields:\n - id: 1\n name: groupId\n type: string\n - id: 2\n name: publicKey\n type: string",
"fields": [
{
"id": 1,
"name": "groupId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "publicKey",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "DeviceList",
"id": 23,
"description": "",
"yaml": "DeviceList:\n id: 23\n fields:\n - id: 1\n name: devices\n type: NetworkDevice[]",
"fields": [
{
"id": 1,
"name": "devices",
"type": "NetworkDevice[]",
"optional": false,
"description": ""
}
]
},
{
"name": "DeviceResolve",
"id": 24,
"description": "",
"yaml": "DeviceResolve:\n id: 24\n fields:\n - id: 1\n name: deviceId\n type: string\n - id: 2\n name: solution\n type: DeviceSolution",
"fields": [
{
"id": 1,
"name": "deviceId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "solution",
"type": "DeviceSolution",
"optional": false,
"description": ""
}
]
},
{
"name": "Sync",
"id": 25,
"description": "",
"yaml": "Sync:\n id: 25\n fields:\n - id: 1\n name: syncStatus\n type: SyncStatus\n - id: 2\n name: timestamp\n type: int64",
"fields": [
{
"id": 1,
"name": "syncStatus",
"type": "SyncStatus",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "timestamp",
"type": "int64",
"optional": false,
"description": ""
}
]
},
{
"name": "SignalPeer",
"id": 26,
"description": "",
"yaml": "SignalPeer:\n id: 26\n fields:\n - id: 1\n name: src\n type: string\n - id: 2\n name: dst\n type: string\n - id: 3\n name: sharedPublic\n type: string\n - id: 4\n name: signalType\n type: SignalType\n - id: 5\n name: callId\n type: string\n - id: 6\n name: joinToken\n type: string",
"fields": [
{
"id": 1,
"name": "src",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "dst",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "sharedPublic",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 4,
"name": "signalType",
"type": "SignalType",
"optional": false,
"description": ""
},
{
"id": 5,
"name": "callId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 6,
"name": "joinToken",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "WebRTC",
"id": 27,
"description": "",
"yaml": "WebRTC:\n id: 27\n fields:\n - id: 1\n name: sdpOrCandidate\n type: string\n - id: 2\n name: type\n type: WebRTCType",
"fields": [
{
"id": 1,
"name": "sdpOrCandidate",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "type",
"type": "WebRTCType",
"optional": false,
"description": ""
}
]
},
{
"name": "IceServers",
"id": 28,
"description": "",
"yaml": "IceServers:\n id: 28\n fields:\n - id: 1\n name: iceServers?\n type: RTCIceServer[]",
"fields": [
{
"id": 1,
"name": "iceServers",
"type": "RTCIceServer[]",
"optional": true,
"description": ""
}
]
}
]
},
{
"version": 2,
"description": "Remove avatars as attachments, add video",
"source": "layer.2.yml",
"enums": [
{
"name": "AttachmentType",
"type": "int8",
"description": "",
"yaml": "AttachmentType:\n type: int8\n values:\n - id: 0\n name: IMAGE\n - id: 1\n name: MESSAGES\n - id: 2\n name: FILE\n - id: 4\n name: CALL\n - id: 5\n name: VOICE\n - id: 6\n name: VIDEO_CIRCLE\n - id: 7\n name: VIDEO",
"values": [
{
"id": 0,
"name": "IMAGE",
"description": ""
},
{
"id": 1,
"name": "MESSAGES",
"description": ""
},
{
"id": 2,
"name": "FILE",
"description": ""
},
{
"id": 4,
"name": "CALL",
"description": ""
},
{
"id": 5,
"name": "VOICE",
"description": ""
},
{
"id": 6,
"name": "VIDEO_CIRCLE",
"description": ""
},
{
"id": 7,
"name": "VIDEO",
"description": ""
}
]
},
{
"name": "DeviceSolution",
"type": "int8",
"description": "",
"yaml": "DeviceSolution:\n type: int8\n values:\n - id: 0\n name: ACCEPT\n - id: 1\n name: DECLINE",
"values": [
{
"id": 0,
"name": "ACCEPT",
"description": ""
},
{
"id": 1,
"name": "DECLINE",
"description": ""
}
]
},
{
"name": "HandshakeStage",
"type": "int8",
"description": "",
"yaml": "HandshakeStage:\n type: int8\n values:\n - id: 0\n name: COMPLETED\n - id: 1\n name: NEED_DEVICE_VERIFICATION",
"values": [
{
"id": 0,
"name": "COMPLETED",
"description": ""
},
{
"id": 1,
"name": "NEED_DEVICE_VERIFICATION",
"description": ""
}
]
},
{
"name": "GroupStatus",
"type": "int8",
"description": "",
"yaml": "GroupStatus:\n type: int8\n values:\n - id: 0\n name: JOINED\n - id: 1\n name: INVALID\n - id: 2\n name: NOT_JOINED\n - id: 3\n name: BANNED",
"values": [
{
"id": 0,
"name": "JOINED",
"description": ""
},
{
"id": 1,
"name": "INVALID",
"description": ""
},
{
"id": 2,
"name": "NOT_JOINED",
"description": ""
},
{
"id": 3,
"name": "BANNED",
"description": ""
}
]
},
{
"name": "NotificationAction",
"type": "int8",
"description": "",
"yaml": "NotificationAction:\n type: int8\n values:\n - id: 0\n name: SUBSCRIBE\n - id: 1\n name: UNSUBSCRIBE",
"values": [
{
"id": 0,
"name": "SUBSCRIBE",
"description": ""
},
{
"id": 1,
"name": "UNSUBSCRIBE",
"description": ""
}
]
},
{
"name": "SignalType",
"type": "int8",
"description": "",
"yaml": "SignalType:\n type: int8\n values:\n - id: 0\n name: CALL\n - id: 1\n name: KEY_EXCHANGE\n - id: 2\n name: ACTIVE_CALL\n - id: 3\n name: END_CALL\n - id: 4\n name: ACTIVE\n - id: 5\n name: END_CALL_BECAUSE_PEER_DISCONNECTED\n - id: 6\n name: END_CALL_BECAUSE_BUSY\n - id: 7\n name: ACCEPT\n - id: 8\n name: RINGING_TIMEOUT",
"values": [
{
"id": 0,
"name": "CALL",
"description": ""
},
{
"id": 1,
"name": "KEY_EXCHANGE",
"description": ""
},
{
"id": 2,
"name": "ACTIVE_CALL",
"description": ""
},
{
"id": 3,
"name": "END_CALL",
"description": ""
},
{
"id": 4,
"name": "ACTIVE",
"description": ""
},
{
"id": 5,
"name": "END_CALL_BECAUSE_PEER_DISCONNECTED",
"description": ""
},
{
"id": 6,
"name": "END_CALL_BECAUSE_BUSY",
"description": ""
},
{
"id": 7,
"name": "ACCEPT",
"description": ""
},
{
"id": 8,
"name": "RINGING_TIMEOUT",
"description": ""
}
]
},
{
"name": "NetworkStatus",
"type": "int8",
"description": "",
"yaml": "NetworkStatus:\n type: int8\n values:\n - id: 0\n name: ONLINE\n - id: 1\n name: OFFLINE",
"values": [
{
"id": 0,
"name": "ONLINE",
"description": ""
},
{
"id": 1,
"name": "OFFLINE",
"description": ""
}
]
},
{
"name": "SyncStatus",
"type": "int8",
"description": "",
"yaml": "SyncStatus:\n type: int8\n values:\n - id: 0\n name: NOT_NEEDED\n - id: 1\n name: BATCH_START\n - id: 2\n name: BATCH_END",
"values": [
{
"id": 0,
"name": "NOT_NEEDED",
"description": ""
},
{
"id": 1,
"name": "BATCH_START",
"description": ""
},
{
"id": 2,
"name": "BATCH_END",
"description": ""
}
]
},
{
"name": "WebRTCType",
"type": "int8",
"description": "",
"yaml": "WebRTCType:\n type: int8\n values:\n - id: 0\n name: OFFER\n - id: 1\n name: ANSWER\n - id: 2\n name: ICE_CANDIDATE",
"values": [
{
"id": 0,
"name": "OFFER",
"description": ""
},
{
"id": 1,
"name": "ANSWER",
"description": ""
},
{
"id": 2,
"name": "ICE_CANDIDATE",
"description": ""
}
]
},
{
"name": "ResultCode",
"type": "int8",
"description": "",
"yaml": "ResultCode:\n type: int8\n values:\n - id: 0\n name: SUCCESS\n - id: 1\n name: ERROR\n - id: 2\n name: INVALID\n - id: 3\n name: USERNAME_TAKEN",
"values": [
{
"id": 0,
"name": "SUCCESS",
"description": ""
},
{
"id": 1,
"name": "ERROR",
"description": ""
},
{
"id": 2,
"name": "INVALID",
"description": ""
},
{
"id": 3,
"name": "USERNAME_TAKEN",
"description": ""
}
]
},
{
"name": "TokenType",
"type": "int8",
"description": "",
"yaml": "TokenType:\n type: int8\n values:\n - id: 0\n name: FCM\n - id: 1\n name: VoIPApns",
"values": [
{
"id": 0,
"name": "FCM",
"description": ""
},
{
"id": 1,
"name": "VoIPApns",
"description": ""
}
]
}
],
"types": [
{
"name": "Attachment",
"description": "",
"yaml": "Attachment:\n fields:\n - id: 1\n name: id\n type: string\n - id: 2\n name: blob?\n type: string\n - id: 3\n name: type\n type: AttachmentType\n - id: 4\n name: preview\n type: string\n - id: 5\n name: transport\n type: AttachmentTransport",
"fields": [
{
"id": 1,
"name": "id",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "blob",
"type": "string",
"optional": true,
"description": ""
},
{
"id": 3,
"name": "type",
"type": "AttachmentType",
"optional": false,
"description": ""
},
{
"id": 4,
"name": "preview",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 5,
"name": "transport",
"type": "AttachmentTransport",
"optional": false,
"description": ""
}
]
},
{
"name": "AttachmentTransport",
"description": "",
"yaml": "AttachmentTransport:\n fields:\n - id: 1\n name: transportTag\n type: string\n - id: 2\n name: transportServer\n type: string",
"fields": [
{
"id": 1,
"name": "transportTag",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "transportServer",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "NetworkDevice",
"description": "",
"yaml": "NetworkDevice:\n fields:\n - id: 1\n name: networkStatus\n type: NetworkStatus\n - id: 2\n name: deviceName\n type: string\n - id: 3\n name: deviceOs\n type: string\n - id: 4\n name: deviceId\n type: string\n - id: 5\n name: deviceSolution\n type: DeviceSolution",
"fields": [
{
"id": 1,
"name": "networkStatus",
"type": "NetworkStatus",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "deviceName",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "deviceOs",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 4,
"name": "deviceId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 5,
"name": "deviceSolution",
"type": "DeviceSolution",
"optional": false,
"description": ""
}
]
},
{
"name": "PKNetworkStatus",
"description": "",
"yaml": "PKNetworkStatus:\n fields:\n - id: 1\n name: publicKey\n type: string\n - id: 2\n name: networkStatus\n type: NetworkStatus",
"fields": [
{
"id": 1,
"name": "publicKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "networkStatus",
"type": "NetworkStatus",
"optional": false,
"description": ""
}
]
},
{
"name": "SearchInfo",
"description": "",
"yaml": "SearchInfo:\n fields:\n - id: 1\n name: username\n type: string\n - id: 2\n name: title\n type: string\n - id: 3\n name: publicKey\n type: string\n - id: 4\n name: verified\n type: int32\n - id: 5\n name: networkStatus\n type: NetworkStatus",
"fields": [
{
"id": 1,
"name": "username",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "title",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "publicKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 4,
"name": "verified",
"type": "int32",
"optional": false,
"description": ""
},
{
"id": 5,
"name": "networkStatus",
"type": "NetworkStatus",
"optional": false,
"description": ""
}
]
},
{
"name": "RTCIceServer",
"description": "",
"yaml": "RTCIceServer:\n fields:\n - id: 1\n name: url\n type: string\n - id: 2\n name: username\n type: string\n - id: 3\n name: credential\n type: string\n - id: 4\n name: transport\n type: string",
"fields": [
{
"id": 1,
"name": "url",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "username",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "credential",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 4,
"name": "transport",
"type": "string",
"optional": false,
"description": ""
}
]
}
],
"packets": [
{
"name": "Handshake",
"id": 0,
"description": "",
"yaml": "Handshake:\n id: 0\n fields:\n - id: 1\n name: publicKey\n type: string\n - id: 2\n name: privateKey\n type: string\n - id: 3\n name: deviceId\n type: string\n - id: 4\n name: deviceName\n type: string\n - id: 5\n name: deviceOs\n type: string\n - id: 6\n name: handshakeStage?\n type: HandshakeStage",
"fields": [
{
"id": 1,
"name": "publicKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "privateKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "deviceId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 4,
"name": "deviceName",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 5,
"name": "deviceOs",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 6,
"name": "handshakeStage",
"type": "HandshakeStage",
"optional": true,
"description": ""
}
]
},
{
"name": "UserInfo",
"id": 1,
"description": "",
"yaml": "UserInfo:\n id: 1\n fields:\n - id: 1\n name: privateKey\n type: string\n - id: 2\n name: username\n type: string\n - id: 3\n name: title\n type: string",
"fields": [
{
"id": 1,
"name": "privateKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "username",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "title",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "Result",
"id": 2,
"description": "",
"yaml": "Result:\n id: 2\n fields:\n - id: 1\n name: resultCode\n type: ResultCode",
"fields": [
{
"id": 1,
"name": "resultCode",
"type": "ResultCode",
"optional": false,
"description": ""
}
]
},
{
"name": "Search",
"id": 3,
"description": "",
"yaml": "Search:\n id: 3\n fields:\n - id: 1\n name: privateKey\n type: string\n - id: 2\n name: search\n type: string\n - id: 3\n name: searchInfo?\n type: SearchInfo[]",
"fields": [
{
"id": 1,
"name": "privateKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "search",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "searchInfo",
"type": "SearchInfo[]",
"optional": true,
"description": ""
}
]
},
{
"name": "OnlineSubscribe",
"id": 4,
"description": "",
"yaml": "OnlineSubscribe:\n id: 4\n fields:\n - id: 1\n name: privateKey\n type: string\n - id: 2\n name: publicKeys\n type: string[]",
"fields": [
{
"id": 1,
"name": "privateKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "publicKeys",
"type": "string[]",
"optional": false,
"description": ""
}
]
},
{
"name": "OnlineState",
"id": 5,
"description": "",
"yaml": "OnlineState:\n id: 5\n fields:\n - id: 1\n name: pkNetworkStatuses\n type: PKNetworkStatus[]",
"fields": [
{
"id": 1,
"name": "pkNetworkStatuses",
"type": "PKNetworkStatus[]",
"optional": false,
"description": ""
}
]
},
{
"name": "Message",
"id": 6,
"description": "",
"yaml": "Message:\n id: 6\n fields:\n - id: 1\n name: fromPublicKey\n type: string\n - id: 2\n name: toPublicKey\n type: string\n - id: 3\n name: privateKey\n type: string\n - id: 4\n name: content\n type: string\n - id: 5\n name: chachaKey\n type: string\n - id: 6\n name: timestamp\n type: int64\n - id: 7\n name: messageId\n type: string\n - id: 8\n name: attachments?\n type: Attachment[]\n - id: 9\n name: aesChachaKey\n type: string",
"fields": [
{
"id": 1,
"name": "fromPublicKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "toPublicKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "privateKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 4,
"name": "content",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 5,
"name": "chachaKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 6,
"name": "timestamp",
"type": "int64",
"optional": false,
"description": ""
},
{
"id": 7,
"name": "messageId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 8,
"name": "attachments",
"type": "Attachment[]",
"optional": true,
"description": ""
},
{
"id": 9,
"name": "aesChachaKey",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "Read",
"id": 7,
"description": "",
"yaml": "Read:\n id: 7\n fields:\n - id: 1\n name: fromPublicKey\n type: string\n - id: 2\n name: toPublicKey\n type: string\n - id: 4\n name: timestamp\n type: int64",
"fields": [
{
"id": 1,
"name": "fromPublicKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "toPublicKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 4,
"name": "timestamp",
"type": "int64",
"optional": false,
"description": ""
}
]
},
{
"name": "Delivery",
"id": 8,
"description": "",
"yaml": "Delivery:\n id: 8\n fields:\n - id: 1\n name: messageId\n type: string\n - id: 2\n name: toPublicKey\n type: string",
"fields": [
{
"id": 1,
"name": "messageId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "toPublicKey",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "DeviceNew",
"id": 9,
"description": "",
"yaml": "DeviceNew:\n id: 9\n fields:\n - id: 1\n name: ipAddress\n type: string\n - id: 2\n name: deviceId\n type: string\n - id: 3\n name: deviceName\n type: string\n - id: 4\n name: deviceOs\n type: string",
"fields": [
{
"id": 1,
"name": "ipAddress",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "deviceId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "deviceName",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 4,
"name": "deviceOs",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "RequestUpdate",
"id": 10,
"description": "",
"yaml": "RequestUpdate:\n id: 10\n fields:\n - id: 1\n name: server?\n type: string",
"fields": [
{
"id": 1,
"name": "server",
"type": "string",
"optional": true,
"description": ""
}
]
},
{
"name": "Typeing",
"id": 11,
"description": "",
"yaml": "Typeing:\n id: 11\n fields:\n - id: 1\n name: fromPublicKey\n type: string\n - id: 2\n name: toPublicKey\n type: string\n - id: 3\n name: privateKey\n type: string",
"fields": [
{
"id": 1,
"name": "fromPublicKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "toPublicKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "privateKey",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "RequestTransport",
"id": 15,
"description": "",
"yaml": "RequestTransport:\n id: 15\n fields:\n - id: 1\n name: server?\n type: string",
"fields": [
{
"id": 1,
"name": "server",
"type": "string",
"optional": true,
"description": ""
}
]
},
{
"name": "PushNotification",
"id": 16,
"description": "",
"yaml": "PushNotification:\n id: 16\n fields:\n - id: 1\n name: notificationToken\n type: string\n - id: 2\n name: action\n type: NotificationAction\n - id: 3\n name: tokenType\n type: TokenType\n - id: 4\n name: deviceId\n type: string",
"fields": [
{
"id": 1,
"name": "notificationToken",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "action",
"type": "NotificationAction",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "tokenType",
"type": "TokenType",
"optional": false,
"description": ""
},
{
"id": 4,
"name": "deviceId",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "GroupCreate",
"id": 17,
"description": "",
"yaml": "GroupCreate:\n id: 17\n fields:\n - id: 1\n name: groupId?\n type: string",
"fields": [
{
"id": 1,
"name": "groupId",
"type": "string",
"optional": true,
"description": ""
}
]
},
{
"name": "GroupInfo",
"id": 18,
"description": "",
"yaml": "GroupInfo:\n id: 18\n fields:\n - id: 1\n name: groupId\n type: string\n - id: 2\n name: membersPKs?\n type: string[]",
"fields": [
{
"id": 1,
"name": "groupId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "membersPKs",
"type": "string[]",
"optional": true,
"description": ""
}
]
},
{
"name": "GroupInviteInfo",
"id": 19,
"description": "",
"yaml": "GroupInviteInfo:\n id: 19\n fields:\n - id: 1\n name: groupId\n type: string\n - id: 2\n name: membersCount?\n type: int32\n - id: 3\n name: status?\n type: GroupStatus",
"fields": [
{
"id": 1,
"name": "groupId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "membersCount",
"type": "int32",
"optional": true,
"description": ""
},
{
"id": 3,
"name": "status",
"type": "GroupStatus",
"optional": true,
"description": ""
}
]
},
{
"name": "GroupJoin",
"id": 20,
"description": "",
"yaml": "GroupJoin:\n id: 20\n fields:\n - id: 1\n name: groupId\n type: string\n - id: 2\n name: status?\n type: GroupStatus\n - id: 3\n name: groupString\n type: string",
"fields": [
{
"id": 1,
"name": "groupId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "status",
"type": "GroupStatus",
"optional": true,
"description": ""
},
{
"id": 3,
"name": "groupString",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "GroupLeave",
"id": 21,
"description": "",
"yaml": "GroupLeave:\n id: 21\n fields:\n - id: 1\n name: groupId\n type: string",
"fields": [
{
"id": 1,
"name": "groupId",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "GroupBan",
"id": 22,
"description": "",
"yaml": "GroupBan:\n id: 22\n fields:\n - id: 1\n name: groupId\n type: string\n - id: 2\n name: publicKey\n type: string",
"fields": [
{
"id": 1,
"name": "groupId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "publicKey",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "DeviceList",
"id": 23,
"description": "",
"yaml": "DeviceList:\n id: 23\n fields:\n - id: 1\n name: devices\n type: NetworkDevice[]",
"fields": [
{
"id": 1,
"name": "devices",
"type": "NetworkDevice[]",
"optional": false,
"description": ""
}
]
},
{
"name": "DeviceResolve",
"id": 24,
"description": "",
"yaml": "DeviceResolve:\n id: 24\n fields:\n - id: 1\n name: deviceId\n type: string\n - id: 2\n name: solution\n type: DeviceSolution",
"fields": [
{
"id": 1,
"name": "deviceId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "solution",
"type": "DeviceSolution",
"optional": false,
"description": ""
}
]
},
{
"name": "Sync",
"id": 25,
"description": "",
"yaml": "Sync:\n id: 25\n fields:\n - id: 1\n name: syncStatus\n type: SyncStatus\n - id: 2\n name: timestamp\n type: int64",
"fields": [
{
"id": 1,
"name": "syncStatus",
"type": "SyncStatus",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "timestamp",
"type": "int64",
"optional": false,
"description": ""
}
]
},
{
"name": "SignalPeer",
"id": 26,
"description": "",
"yaml": "SignalPeer:\n id: 26\n fields:\n - id: 1\n name: src\n type: string\n - id: 2\n name: dst\n type: string\n - id: 3\n name: sharedPublic?\n type: string\n - id: 4\n name: signalType\n type: SignalType\n - id: 5\n name: callId?\n type: string\n - id: 6\n name: joinToken?\n type: string",
"fields": [
{
"id": 1,
"name": "src",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "dst",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "sharedPublic",
"type": "string",
"optional": true,
"description": ""
},
{
"id": 4,
"name": "signalType",
"type": "SignalType",
"optional": false,
"description": ""
},
{
"id": 5,
"name": "callId",
"type": "string",
"optional": true,
"description": ""
},
{
"id": 6,
"name": "joinToken",
"type": "string",
"optional": true,
"description": ""
}
]
},
{
"name": "WebRTC",
"id": 27,
"description": "",
"yaml": "WebRTC:\n id: 27\n fields:\n - id: 1\n name: sdpOrCandidate\n type: string\n - id: 2\n name: type\n type: WebRTCType",
"fields": [
{
"id": 1,
"name": "sdpOrCandidate",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "type",
"type": "WebRTCType",
"optional": false,
"description": ""
}
]
},
{
"name": "IceServers",
"id": 28,
"description": "",
"yaml": "IceServers:\n id: 28\n fields:\n - id: 1\n name: iceServers?\n type: RTCIceServer[]",
"fields": [
{
"id": 1,
"name": "iceServers",
"type": "RTCIceServer[]",
"optional": true,
"description": ""
}
]
}
]
},
{
"version": 3,
"description": "Add avatars and more CDN safety, remove transport server",
"source": "layer.3.yml",
"enums": [
{
"name": "AttachmentType",
"type": "int8",
"description": "",
"yaml": "AttachmentType:\n type: int8\n values:\n - id: 0\n name: IMAGE\n - id: 1\n name: MESSAGES\n - id: 2\n name: FILE\n - id: 4\n name: CALL\n - id: 5\n name: VOICE\n - id: 6\n name: VIDEO_CIRCLE\n - id: 7\n name: VIDEO",
"values": [
{
"id": 0,
"name": "IMAGE",
"description": ""
},
{
"id": 1,
"name": "MESSAGES",
"description": ""
},
{
"id": 2,
"name": "FILE",
"description": ""
},
{
"id": 4,
"name": "CALL",
"description": ""
},
{
"id": 5,
"name": "VOICE",
"description": ""
},
{
"id": 6,
"name": "VIDEO_CIRCLE",
"description": ""
},
{
"id": 7,
"name": "VIDEO",
"description": ""
}
]
},
{
"name": "DeviceSolution",
"type": "int8",
"description": "",
"yaml": "DeviceSolution:\n type: int8\n values:\n - id: 0\n name: ACCEPT\n - id: 1\n name: DECLINE",
"values": [
{
"id": 0,
"name": "ACCEPT",
"description": ""
},
{
"id": 1,
"name": "DECLINE",
"description": ""
}
]
},
{
"name": "HandshakeStage",
"type": "int8",
"description": "",
"yaml": "HandshakeStage:\n type: int8\n values:\n - id: 0\n name: COMPLETED\n - id: 1\n name: NEED_DEVICE_VERIFICATION",
"values": [
{
"id": 0,
"name": "COMPLETED",
"description": ""
},
{
"id": 1,
"name": "NEED_DEVICE_VERIFICATION",
"description": ""
}
]
},
{
"name": "GroupStatus",
"type": "int8",
"description": "",
"yaml": "GroupStatus:\n type: int8\n values:\n - id: 0\n name: JOINED\n - id: 1\n name: INVALID\n - id: 2\n name: NOT_JOINED\n - id: 3\n name: BANNED",
"values": [
{
"id": 0,
"name": "JOINED",
"description": ""
},
{
"id": 1,
"name": "INVALID",
"description": ""
},
{
"id": 2,
"name": "NOT_JOINED",
"description": ""
},
{
"id": 3,
"name": "BANNED",
"description": ""
}
]
},
{
"name": "NotificationAction",
"type": "int8",
"description": "",
"yaml": "NotificationAction:\n type: int8\n values:\n - id: 0\n name: SUBSCRIBE\n - id: 1\n name: UNSUBSCRIBE",
"values": [
{
"id": 0,
"name": "SUBSCRIBE",
"description": ""
},
{
"id": 1,
"name": "UNSUBSCRIBE",
"description": ""
}
]
},
{
"name": "SignalType",
"type": "int8",
"description": "",
"yaml": "SignalType:\n type: int8\n values:\n - id: 0\n name: CALL\n - id: 1\n name: KEY_EXCHANGE\n - id: 2\n name: ACTIVE_CALL\n - id: 3\n name: END_CALL\n - id: 4\n name: ACTIVE\n - id: 5\n name: END_CALL_BECAUSE_PEER_DISCONNECTED\n - id: 6\n name: END_CALL_BECAUSE_BUSY\n - id: 7\n name: ACCEPT\n - id: 8\n name: RINGING_TIMEOUT",
"values": [
{
"id": 0,
"name": "CALL",
"description": ""
},
{
"id": 1,
"name": "KEY_EXCHANGE",
"description": ""
},
{
"id": 2,
"name": "ACTIVE_CALL",
"description": ""
},
{
"id": 3,
"name": "END_CALL",
"description": ""
},
{
"id": 4,
"name": "ACTIVE",
"description": ""
},
{
"id": 5,
"name": "END_CALL_BECAUSE_PEER_DISCONNECTED",
"description": ""
},
{
"id": 6,
"name": "END_CALL_BECAUSE_BUSY",
"description": ""
},
{
"id": 7,
"name": "ACCEPT",
"description": ""
},
{
"id": 8,
"name": "RINGING_TIMEOUT",
"description": ""
}
]
},
{
"name": "NetworkStatus",
"type": "int8",
"description": "",
"yaml": "NetworkStatus:\n type: int8\n values:\n - id: 0\n name: ONLINE\n - id: 1\n name: OFFLINE",
"values": [
{
"id": 0,
"name": "ONLINE",
"description": ""
},
{
"id": 1,
"name": "OFFLINE",
"description": ""
}
]
},
{
"name": "SyncStatus",
"type": "int8",
"description": "",
"yaml": "SyncStatus:\n type: int8\n values:\n - id: 0\n name: NOT_NEEDED\n - id: 1\n name: BATCH_START\n - id: 2\n name: BATCH_END",
"values": [
{
"id": 0,
"name": "NOT_NEEDED",
"description": ""
},
{
"id": 1,
"name": "BATCH_START",
"description": ""
},
{
"id": 2,
"name": "BATCH_END",
"description": ""
}
]
},
{
"name": "WebRTCType",
"type": "int8",
"description": "",
"yaml": "WebRTCType:\n type: int8\n values:\n - id: 0\n name: OFFER\n - id: 1\n name: ANSWER\n - id: 2\n name: ICE_CANDIDATE",
"values": [
{
"id": 0,
"name": "OFFER",
"description": ""
},
{
"id": 1,
"name": "ANSWER",
"description": ""
},
{
"id": 2,
"name": "ICE_CANDIDATE",
"description": ""
}
]
},
{
"name": "ResultCode",
"type": "int8",
"description": "",
"yaml": "ResultCode:\n type: int8\n values:\n - id: 0\n name: SUCCESS\n - id: 1\n name: ERROR\n - id: 2\n name: INVALID\n - id: 3\n name: USERNAME_TAKEN\n - id: 4\n name: OVERSIZE\n - id: 5\n name: OVERLIFE",
"values": [
{
"id": 0,
"name": "SUCCESS",
"description": ""
},
{
"id": 1,
"name": "ERROR",
"description": ""
},
{
"id": 2,
"name": "INVALID",
"description": "любая ошибка смысл которой зависит от контекста, например в случае с файловой системой - нет файла"
},
{
"id": 3,
"name": "USERNAME_TAKEN",
"description": ""
},
{
"id": 4,
"name": "OVERSIZE",
"description": "слишком большой размер файла"
},
{
"id": 5,
"name": "OVERLIFE",
"description": "слишком большой TTL"
}
]
},
{
"name": "TokenType",
"type": "int8",
"description": "",
"yaml": "TokenType:\n type: int8\n values:\n - id: 0\n name: FCM\n - id: 1\n name: VoIPApns",
"values": [
{
"id": 0,
"name": "FCM",
"description": ""
},
{
"id": 1,
"name": "VoIPApns",
"description": ""
}
]
},
{
"name": "ProfileMediaType",
"type": "uint8",
"description": "Тип медиа файла профиля (пока только фото)",
"yaml": "ProfileMediaType:\n type: uint8\n values:\n - id: 0\n name: PROFILE_PHOTO",
"values": [
{
"id": 0,
"name": "PROFILE_PHOTO",
"description": ""
}
]
}
],
"types": [
{
"name": "Attachment",
"description": "",
"yaml": "Attachment:\n fields:\n - id: 1\n name: id\n type: string\n - id: 2\n name: blob?\n type: string\n - id: 3\n name: type\n type: AttachmentType\n - id: 4\n name: preview\n type: string\n - id: 6\n name: objectId\n type: string",
"fields": [
{
"id": 1,
"name": "id",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "blob",
"type": "string",
"optional": true,
"description": ""
},
{
"id": 3,
"name": "type",
"type": "AttachmentType",
"optional": false,
"description": ""
},
{
"id": 4,
"name": "preview",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 6,
"name": "objectId",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "ProfileMedia",
"description": "Медиа-файлы профиля такие как аватарки (фото) и будущие истории",
"yaml": "ProfileMedia:\n fields:\n - id: 1\n name: preview\n type: string\n - id: 2\n name: objectId\n type: string\n - id: 3\n name: type\n type: ProfileMediaType\n - id: 4\n name: timestamp\n type: int64\n - id: 5\n name: mediaKey\n type: string",
"fields": [
{
"id": 1,
"name": "preview",
"type": "string",
"optional": false,
"description": "превью (для фото blurhash)"
},
{
"id": 2,
"name": "objectId",
"type": "string",
"optional": false,
"description": "обьект на cdn"
},
{
"id": 3,
"name": "type",
"type": "ProfileMediaType",
"optional": false,
"description": "тип медиа"
},
{
"id": 4,
"name": "timestamp",
"type": "int64",
"optional": false,
"description": "дата публикации"
},
{
"id": 5,
"name": "mediaKey",
"type": "string",
"optional": false,
"description": "ключ шифрования от медиа"
}
]
},
{
"name": "NetworkDevice",
"description": "",
"yaml": "NetworkDevice:\n fields:\n - id: 1\n name: networkStatus\n type: NetworkStatus\n - id: 2\n name: deviceName\n type: string\n - id: 3\n name: deviceOs\n type: string\n - id: 4\n name: deviceId\n type: string\n - id: 5\n name: deviceSolution\n type: DeviceSolution",
"fields": [
{
"id": 1,
"name": "networkStatus",
"type": "NetworkStatus",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "deviceName",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "deviceOs",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 4,
"name": "deviceId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 5,
"name": "deviceSolution",
"type": "DeviceSolution",
"optional": false,
"description": ""
}
]
},
{
"name": "PKNetworkStatus",
"description": "",
"yaml": "PKNetworkStatus:\n fields:\n - id: 1\n name: publicKey\n type: string\n - id: 2\n name: networkStatus\n type: NetworkStatus",
"fields": [
{
"id": 1,
"name": "publicKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "networkStatus",
"type": "NetworkStatus",
"optional": false,
"description": ""
}
]
},
{
"name": "SearchInfo",
"description": "Информация при поиске пользователя (приходит в ответ на пакет PacketSearch)",
"yaml": "SearchInfo:\n fields:\n - id: 1\n name: username\n type: string\n - id: 2\n name: title\n type: string\n - id: 3\n name: publicKey\n type: string\n - id: 4\n name: verified\n type: int32\n - id: 5\n name: networkStatus\n type: NetworkStatus\n - id: 6\n name: avatar?\n type: ProfileMedia",
"fields": [
{
"id": 1,
"name": "username",
"type": "string",
"optional": false,
"description": "имя для поиска"
},
{
"id": 2,
"name": "title",
"type": "string",
"optional": false,
"description": "отображаемое имя пользователя"
},
{
"id": 3,
"name": "publicKey",
"type": "string",
"optional": false,
"description": "публичный ключ"
},
{
"id": 4,
"name": "verified",
"type": "int32",
"optional": false,
"description": "верификация"
},
{
"id": 5,
"name": "networkStatus",
"type": "NetworkStatus",
"optional": false,
"description": "онлайн пользователь или нет"
},
{
"id": 6,
"name": "avatar",
"type": "ProfileMedia",
"optional": true,
"description": "аватар пользователя если есть"
}
]
},
{
"name": "ProfileInfo",
"description": "Информация которая используется только при входе в профиль пользователя",
"yaml": "ProfileInfo:\n fields:\n - id: 1\n name: username\n type: string\n - id: 2\n name: title\n type: string\n - id: 3\n name: publicKey\n type: string\n - id: 4\n name: verified\n type: int32\n - id: 5\n name: networkStatus\n type: NetworkStatus\n - id: 6\n name: media?\n type: ProfileMedia[]",
"fields": [
{
"id": 1,
"name": "username",
"type": "string",
"optional": false,
"description": "имя для поиска"
},
{
"id": 2,
"name": "title",
"type": "string",
"optional": false,
"description": "отображаемое имя пользователя"
},
{
"id": 3,
"name": "publicKey",
"type": "string",
"optional": false,
"description": "публичный ключ"
},
{
"id": 4,
"name": "verified",
"type": "int32",
"optional": false,
"description": "верификация"
},
{
"id": 5,
"name": "networkStatus",
"type": "NetworkStatus",
"optional": false,
"description": "онлайн пользователь или нет"
},
{
"id": 6,
"name": "media",
"type": "ProfileMedia[]",
"optional": true,
"description": "все активное медиа (включая будущие истории)"
}
]
},
{
"name": "RTCIceServer",
"description": "",
"yaml": "RTCIceServer:\n fields:\n - id: 1\n name: url\n type: string\n - id: 2\n name: username\n type: string\n - id: 3\n name: credential\n type: string\n - id: 4\n name: transport\n type: string",
"fields": [
{
"id": 1,
"name": "url",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "username",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "credential",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 4,
"name": "transport",
"type": "string",
"optional": false,
"description": ""
}
]
}
],
"packets": [
{
"name": "Handshake",
"id": 0,
"description": "",
"yaml": "Handshake:\n id: 0\n fields:\n - id: 1\n name: publicKey\n type: string\n - id: 2\n name: privateKey\n type: string\n - id: 3\n name: deviceId\n type: string\n - id: 4\n name: deviceName\n type: string\n - id: 5\n name: deviceOs\n type: string\n - id: 6\n name: handshakeStage?\n type: HandshakeStage",
"fields": [
{
"id": 1,
"name": "publicKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "privateKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "deviceId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 4,
"name": "deviceName",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 5,
"name": "deviceOs",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 6,
"name": "handshakeStage",
"type": "HandshakeStage",
"optional": true,
"description": ""
}
]
},
{
"name": "UserInfo",
"id": 1,
"description": "",
"yaml": "UserInfo:\n id: 1\n fields:\n - id: 1\n name: privateKey\n type: string\n - id: 2\n name: username\n type: string\n - id: 3\n name: title\n type: string",
"fields": [
{
"id": 1,
"name": "privateKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "username",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "title",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "Result",
"id": 2,
"description": "",
"yaml": "Result:\n id: 2\n fields:\n - id: 1\n name: resultCode\n type: ResultCode",
"fields": [
{
"id": 1,
"name": "resultCode",
"type": "ResultCode",
"optional": false,
"description": ""
}
]
},
{
"name": "Search",
"id": 3,
"description": "",
"yaml": "Search:\n id: 3\n fields:\n - id: 1\n name: privateKey\n type: string\n - id: 2\n name: search\n type: string\n - id: 3\n name: searchInfo?\n type: SearchInfo[]",
"fields": [
{
"id": 1,
"name": "privateKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "search",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "searchInfo",
"type": "SearchInfo[]",
"optional": true,
"description": ""
}
]
},
{
"name": "OnlineSubscribe",
"id": 4,
"description": "",
"yaml": "OnlineSubscribe:\n id: 4\n fields:\n - id: 1\n name: privateKey\n type: string\n - id: 2\n name: publicKeys\n type: string[]",
"fields": [
{
"id": 1,
"name": "privateKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "publicKeys",
"type": "string[]",
"optional": false,
"description": ""
}
]
},
{
"name": "OnlineState",
"id": 5,
"description": "",
"yaml": "OnlineState:\n id: 5\n fields:\n - id: 1\n name: pkNetworkStatuses\n type: PKNetworkStatus[]",
"fields": [
{
"id": 1,
"name": "pkNetworkStatuses",
"type": "PKNetworkStatus[]",
"optional": false,
"description": ""
}
]
},
{
"name": "Message",
"id": 6,
"description": "",
"yaml": "Message:\n id: 6\n fields:\n - id: 1\n name: fromPublicKey\n type: string\n - id: 2\n name: toPublicKey\n type: string\n - id: 3\n name: privateKey\n type: string\n - id: 4\n name: content\n type: string\n - id: 5\n name: chachaKey\n type: string\n - id: 6\n name: timestamp\n type: int64\n - id: 7\n name: messageId\n type: string\n - id: 8\n name: attachments?\n type: Attachment[]\n - id: 9\n name: aesChachaKey\n type: string",
"fields": [
{
"id": 1,
"name": "fromPublicKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "toPublicKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "privateKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 4,
"name": "content",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 5,
"name": "chachaKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 6,
"name": "timestamp",
"type": "int64",
"optional": false,
"description": ""
},
{
"id": 7,
"name": "messageId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 8,
"name": "attachments",
"type": "Attachment[]",
"optional": true,
"description": ""
},
{
"id": 9,
"name": "aesChachaKey",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "Read",
"id": 7,
"description": "",
"yaml": "Read:\n id: 7\n fields:\n - id: 1\n name: fromPublicKey\n type: string\n - id: 2\n name: toPublicKey\n type: string\n - id: 4\n name: timestamp\n type: int64",
"fields": [
{
"id": 1,
"name": "fromPublicKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "toPublicKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 4,
"name": "timestamp",
"type": "int64",
"optional": false,
"description": ""
}
]
},
{
"name": "Delivery",
"id": 8,
"description": "",
"yaml": "Delivery:\n id: 8\n fields:\n - id: 1\n name: messageId\n type: string\n - id: 2\n name: toPublicKey\n type: string",
"fields": [
{
"id": 1,
"name": "messageId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "toPublicKey",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "DeviceNew",
"id": 9,
"description": "",
"yaml": "DeviceNew:\n id: 9\n fields:\n - id: 1\n name: ipAddress\n type: string\n - id: 2\n name: deviceId\n type: string\n - id: 3\n name: deviceName\n type: string\n - id: 4\n name: deviceOs\n type: string",
"fields": [
{
"id": 1,
"name": "ipAddress",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "deviceId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "deviceName",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 4,
"name": "deviceOs",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "RequestUpdate",
"id": 10,
"description": "",
"yaml": "RequestUpdate:\n id: 10\n fields:\n - id: 1\n name: server?\n type: string",
"fields": [
{
"id": 1,
"name": "server",
"type": "string",
"optional": true,
"description": ""
}
]
},
{
"name": "Typeing",
"id": 11,
"description": "",
"yaml": "Typeing:\n id: 11\n fields:\n - id: 1\n name: fromPublicKey\n type: string\n - id: 2\n name: toPublicKey\n type: string\n - id: 3\n name: privateKey\n type: string",
"fields": [
{
"id": 1,
"name": "fromPublicKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "toPublicKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "privateKey",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "RequestTransport",
"id": 15,
"description": "Запрос транспортного сервера",
"yaml": "RequestTransport:\n id: 15\n fields:\n - id: 1\n name: server?\n type: string",
"fields": [
{
"id": 1,
"name": "server",
"type": "string",
"optional": true,
"description": "выбранный транспортный сервер"
}
]
},
{
"name": "PushNotification",
"id": 16,
"description": "",
"yaml": "PushNotification:\n id: 16\n fields:\n - id: 1\n name: notificationToken\n type: string\n - id: 2\n name: action\n type: NotificationAction\n - id: 3\n name: tokenType\n type: TokenType\n - id: 4\n name: deviceId\n type: string",
"fields": [
{
"id": 1,
"name": "notificationToken",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "action",
"type": "NotificationAction",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "tokenType",
"type": "TokenType",
"optional": false,
"description": ""
},
{
"id": 4,
"name": "deviceId",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "GroupCreate",
"id": 17,
"description": "",
"yaml": "GroupCreate:\n id: 17\n fields:\n - id: 1\n name: groupId?\n type: string",
"fields": [
{
"id": 1,
"name": "groupId",
"type": "string",
"optional": true,
"description": ""
}
]
},
{
"name": "GroupInfo",
"id": 18,
"description": "",
"yaml": "GroupInfo:\n id: 18\n fields:\n - id: 1\n name: groupId\n type: string\n - id: 2\n name: membersPKs?\n type: string[]",
"fields": [
{
"id": 1,
"name": "groupId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "membersPKs",
"type": "string[]",
"optional": true,
"description": ""
}
]
},
{
"name": "GroupInviteInfo",
"id": 19,
"description": "",
"yaml": "GroupInviteInfo:\n id: 19\n fields:\n - id: 1\n name: groupId\n type: string\n - id: 2\n name: membersCount?\n type: int32\n - id: 3\n name: status?\n type: GroupStatus",
"fields": [
{
"id": 1,
"name": "groupId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "membersCount",
"type": "int32",
"optional": true,
"description": ""
},
{
"id": 3,
"name": "status",
"type": "GroupStatus",
"optional": true,
"description": ""
}
]
},
{
"name": "GroupJoin",
"id": 20,
"description": "",
"yaml": "GroupJoin:\n id: 20\n fields:\n - id: 1\n name: groupId\n type: string\n - id: 2\n name: status?\n type: GroupStatus\n - id: 3\n name: groupString\n type: string",
"fields": [
{
"id": 1,
"name": "groupId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "status",
"type": "GroupStatus",
"optional": true,
"description": ""
},
{
"id": 3,
"name": "groupString",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "GroupLeave",
"id": 21,
"description": "",
"yaml": "GroupLeave:\n id: 21\n fields:\n - id: 1\n name: groupId\n type: string",
"fields": [
{
"id": 1,
"name": "groupId",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "GroupBan",
"id": 22,
"description": "",
"yaml": "GroupBan:\n id: 22\n fields:\n - id: 1\n name: groupId\n type: string\n - id: 2\n name: publicKey\n type: string",
"fields": [
{
"id": 1,
"name": "groupId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "publicKey",
"type": "string",
"optional": false,
"description": ""
}
]
},
{
"name": "DeviceList",
"id": 23,
"description": "",
"yaml": "DeviceList:\n id: 23\n fields:\n - id: 1\n name: devices\n type: NetworkDevice[]",
"fields": [
{
"id": 1,
"name": "devices",
"type": "NetworkDevice[]",
"optional": false,
"description": ""
}
]
},
{
"name": "DeviceResolve",
"id": 24,
"description": "",
"yaml": "DeviceResolve:\n id: 24\n fields:\n - id: 1\n name: deviceId\n type: string\n - id: 2\n name: solution\n type: DeviceSolution",
"fields": [
{
"id": 1,
"name": "deviceId",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "solution",
"type": "DeviceSolution",
"optional": false,
"description": ""
}
]
},
{
"name": "Sync",
"id": 25,
"description": "",
"yaml": "Sync:\n id: 25\n fields:\n - id: 1\n name: syncStatus\n type: SyncStatus\n - id: 2\n name: timestamp\n type: int64",
"fields": [
{
"id": 1,
"name": "syncStatus",
"type": "SyncStatus",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "timestamp",
"type": "int64",
"optional": false,
"description": ""
}
]
},
{
"name": "SignalPeer",
"id": 26,
"description": "",
"yaml": "SignalPeer:\n id: 26\n fields:\n - id: 1\n name: src\n type: string\n - id: 2\n name: dst\n type: string\n - id: 3\n name: sharedPublic?\n type: string\n - id: 4\n name: signalType\n type: SignalType\n - id: 5\n name: callId?\n type: string\n - id: 6\n name: joinToken?\n type: string",
"fields": [
{
"id": 1,
"name": "src",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "dst",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 3,
"name": "sharedPublic",
"type": "string",
"optional": true,
"description": ""
},
{
"id": 4,
"name": "signalType",
"type": "SignalType",
"optional": false,
"description": ""
},
{
"id": 5,
"name": "callId",
"type": "string",
"optional": true,
"description": ""
},
{
"id": 6,
"name": "joinToken",
"type": "string",
"optional": true,
"description": ""
}
]
},
{
"name": "WebRTC",
"id": 27,
"description": "",
"yaml": "WebRTC:\n id: 27\n fields:\n - id: 1\n name: sdpOrCandidate\n type: string\n - id: 2\n name: type\n type: WebRTCType",
"fields": [
{
"id": 1,
"name": "sdpOrCandidate",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "type",
"type": "WebRTCType",
"optional": false,
"description": ""
}
]
},
{
"name": "IceServers",
"id": 28,
"description": "",
"yaml": "IceServers:\n id: 28\n fields:\n - id: 1\n name: iceServers?\n type: RTCIceServer[]",
"fields": [
{
"id": 1,
"name": "iceServers",
"type": "RTCIceServer[]",
"optional": true,
"description": ""
}
]
},
{
"name": "UploadCandidate",
"id": 29,
"description": "Запрос \"посадочного места\" у сервера при загрузке файла",
"yaml": "UploadCandidate:\n id: 29\n fields:\n - id: 1\n name: size\n type: uint32\n - id: 2\n name: objectId?\n type: string\n - id: 3\n name: chunkLength?\n type: uint32\n - id: 4\n name: chunks?\n type: uint32\n - id: 5\n name: host?\n type: string\n - id: 6\n name: ttl?\n type: uint32",
"fields": [
{
"id": 1,
"name": "size",
"type": "uint32",
"optional": false,
"description": "размер загружаемого файла (декларируемый)"
},
{
"id": 2,
"name": "objectId",
"type": "string",
"optional": true,
"description": "выделенный сервером objectId"
},
{
"id": 3,
"name": "chunkLength",
"type": "uint32",
"optional": true,
"description": "размер чанка"
},
{
"id": 4,
"name": "chunks",
"type": "uint32",
"optional": true,
"description": "количество чанков"
},
{
"id": 5,
"name": "host",
"type": "string",
"optional": true,
"description": "хост, где сохранен файл"
},
{
"id": 6,
"name": "ttl",
"type": "uint32",
"optional": true,
"description": "ttl в секундах, после которого файл будет удален с CDN и с таблицы, по умолчанию 7 дней, не допускается использование слишком больших значений"
}
]
},
{
"name": "DownloadCandidate",
"id": 30,
"description": "Запрос скачивания файла с сервера, нужно передать objectId, а дальнейшую информацию вернет сервер",
"yaml": "DownloadCandidate:\n id: 30\n fields:\n - id: 1\n name: size?\n type: uint32\n - id: 2\n name: objectId\n type: string\n - id: 3\n name: chunkLength?\n type: uint32\n - id: 4\n name: chunks?\n type: uint32\n - id: 5\n name: host?\n type: string",
"fields": [
{
"id": 1,
"name": "size",
"type": "uint32",
"optional": true,
"description": "размер файла"
},
{
"id": 2,
"name": "objectId",
"type": "string",
"optional": false,
"description": "выделенный сервером objectId"
},
{
"id": 3,
"name": "chunkLength",
"type": "uint32",
"optional": true,
"description": "размер чанка"
},
{
"id": 4,
"name": "chunks",
"type": "uint32",
"optional": true,
"description": "количество чанков"
},
{
"id": 5,
"name": "host",
"type": "string",
"optional": true,
"description": "сервер с которого скачивать файл"
}
]
},
{
"name": "SetAvatar",
"id": 31,
"description": "Установить аватар профиля",
"yaml": "SetAvatar:\n id: 31\n fields:\n - id: 1\n name: objectId\n type: string\n - id: 2\n name: blurhash\n type: string\n - id: 3\n name: mediaKey\n type: string",
"fields": [
{
"id": 1,
"name": "objectId",
"type": "string",
"optional": false,
"description": "выделенный сервером objectId при отправке пакета UploadCandidate"
},
{
"id": 2,
"name": "blurhash",
"type": "string",
"optional": false,
"description": "превью аватара, строка blurhash"
},
{
"id": 3,
"name": "mediaKey",
"type": "string",
"optional": false,
"description": "ключ шифрования"
}
]
},
{
"name": "RemoveAvatar",
"id": 32,
"description": "Удаляет аватар или фотографию из профиля",
"yaml": "RemoveAvatar:\n id: 32\n fields:\n - id: 1\n name: objectId\n type: string",
"fields": [
{
"id": 1,
"name": "objectId",
"type": "string",
"optional": false,
"description": "objectId аватара, аватар или фотография профиля должна при этом стоять у профиля отправителя пакета"
}
]
},
{
"name": "Profile",
"id": 33,
"description": "Запрос профиля",
"yaml": "Profile:\n id: 33\n fields:\n - id: 1\n name: publicKey\n type: string\n - id: 2\n name: info?\n type: ProfileInfo",
"fields": [
{
"id": 1,
"name": "publicKey",
"type": "string",
"optional": false,
"description": ""
},
{
"id": 2,
"name": "info",
"type": "ProfileInfo",
"optional": true,
"description": ""
}
]
}
]
}
] satisfies ProtoLayer[];