@basmilius/apple-airplay 0.0.62 → 0.0.64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -4,7 +4,7 @@
4
4
  "sourcesContent": [
5
5
  "import { type DiscoveryResult, getMacAddress, parseBinaryPlist, reporter, serializeBinaryPlist, TimingServer, uuid } from '@basmilius/apple-common';\nimport { randomInt64 } from './utils';\nimport DataStream from './dataStream';\nimport EventStream from './eventStream';\nimport Pairing from './pairing';\nimport RTSP from './rtsp';\nimport Verify from './verify';\n\nexport default class AirPlay {\n get device(): DiscoveryResult {\n return this.#device;\n }\n\n get dataStream(): DataStream | undefined {\n return this.#dataStream;\n }\n\n get eventStream(): EventStream | undefined {\n return this.#eventStream;\n }\n\n get pairing(): Pairing {\n return this.#pairing;\n }\n\n get rtsp(): RTSP {\n return this.#rtsp;\n }\n\n get sessionUUID(): string {\n return this.#sessionUUID;\n }\n\n get verify(): Verify {\n return this.#verify;\n }\n\n readonly #device: DiscoveryResult;\n readonly #pairing: Pairing;\n readonly #rtsp: RTSP;\n readonly #verify: Verify;\n readonly #sessionUUID: string;\n #dataStream?: DataStream;\n #eventStream?: EventStream;\n #timingServer?: TimingServer;\n\n constructor(device: DiscoveryResult) {\n this.#device = device;\n this.#rtsp = new RTSP(device.address, device.service.port);\n this.#pairing = new Pairing(this);\n this.#verify = new Verify(this);\n this.#sessionUUID = uuid();\n }\n\n async connect(): Promise<void> {\n await this.#rtsp.connect();\n }\n\n async disconnect(): Promise<void> {\n await this.#rtsp.disconnect();\n }\n\n async feedback(): Promise<void> {\n await this.#rtsp.post('/feedback');\n }\n\n async setupDataStream(sharedSecret: Buffer): Promise<void> {\n const seed = randomInt64();\n const request = serializeBinaryPlist({\n streams: [\n {\n controlType: 2,\n channelID: uuid().toUpperCase(),\n seed,\n clientUUID: uuid().toUpperCase(),\n type: 130,\n wantsDedicatedSocket: true,\n clientTypeUUID: '1910A70F-DBC0-4242-AF95-115DB30604E1'\n }\n ]\n });\n\n const response = await this.#rtsp.setup(`/${this.rtsp.sessionId}`, Buffer.from(request), {\n 'Content-Type': 'application/x-apple-binary-plist'\n });\n\n const plist = parseBinaryPlist(await response.arrayBuffer()) as any;\n const dataPort = plist.streams[0].dataPort & 0xFFFF;\n reporter.net(`Connecting to data stream on port ${dataPort}...`);\n\n this.#dataStream = new DataStream(this.#rtsp.address, dataPort);\n await this.#dataStream.setup(sharedSecret, seed);\n await this.#dataStream.connect();\n }\n\n async setupEventStream(pairingId: Buffer, sharedSecret: Buffer): Promise<void> {\n const body: Record<string, string | boolean | number> = {\n deviceID: pairingId.toString(),\n macAddress: getMacAddress().toUpperCase(),\n name: 'iPhone van Bas',\n model: 'iPhone16,2',\n osBuildVersion: '23C5027f',\n osName: 'iPhone OS',\n osVersion: '26.2',\n sourceVersion: '925.3.2',\n sessionUUID: this.#sessionUUID,\n sessionCorrelationUUID: uuid().toUpperCase(),\n timingProtocol: 'None',\n isRemoteControlOnly: true,\n statsCollectionEnabled: false,\n updateSessionRequest: false\n };\n\n if (this.#timingServer) {\n body.timingPort = this.#timingServer.port;\n body.timingProtocol = 'NTP';\n }\n\n const request = serializeBinaryPlist(body);\n const response = await this.#rtsp.setup(`/${this.rtsp.sessionId}`, Buffer.from(request), {\n 'Content-Type': 'application/x-apple-binary-plist'\n });\n\n if (response.status !== 200) {\n reporter.error('Cannot setup event stream', response.status, response.statusText, await response.text());\n\n throw new Error('Cannot setup event stream.');\n }\n\n const plist = parseBinaryPlist(await response.arrayBuffer()) as any;\n const eventPort = plist.eventPort & 0xFFFF;\n reporter.net(`Connecting to event stream on port ${eventPort}...`);\n\n this.#eventStream = new EventStream(this.#rtsp.address, eventPort);\n await this.#eventStream.setup(sharedSecret);\n await this.#eventStream.connect();\n\n await this.#rtsp.record(`/${this.rtsp.sessionId}`);\n }\n\n async setupTimingServer(timing: TimingServer): Promise<void> {\n this.#timingServer = timing;\n }\n}\n",
6
6
  "import { randomBytes } from 'node:crypto';\nimport type { RTSPMethod } from './types';\n\nexport function makeHttpHeader(method: RTSPMethod, path: string, headers: HeadersInit, cseq: number): string {\n const lines = [];\n lines.push(`${method} ${path} RTSP/1.0`);\n lines.push(`CSeq: ${cseq}`);\n lines.push('User-Agent: AirPlay/320.20');\n lines.push('X-Apple-ProtocolVersion: 1');\n lines.push('X-ProtocolVersion: 1');\n\n for (const [name, value] of Object.entries(headers)) {\n lines.push(`${name}: ${value}`);\n }\n\n lines.push('');\n lines.push('');\n\n return lines.join('\\r\\n');\n}\n\nexport function makeHttpRequest(buffer: Buffer): HttpRequest | null {\n const headerLength = buffer.indexOf('\\r\\n\\r\\n');\n const {headers, method, path} = parseRequestHeaders(buffer.subarray(0, headerLength));\n\n let contentLength = headers['Content-Length'] ? Number(headers['Content-Length']) : 0;\n\n if (isNaN(contentLength)) {\n contentLength = 0;\n }\n\n const requestLength = headerLength + 4 + contentLength;\n\n if (buffer.byteLength < requestLength) {\n return null;\n }\n\n const body = buffer.subarray(headerLength + 4, requestLength);\n\n return {\n headers,\n method,\n path,\n body,\n requestLength\n };\n}\n\nexport function makeHttpResponse(buffer: Buffer): HttpResponse | null {\n const headerLength = buffer.indexOf('\\r\\n\\r\\n');\n const {headers, status, statusText} = parseResponseHeaders(buffer.subarray(0, headerLength));\n\n let contentLength = headers['Content-Length'] ? Number(headers['Content-Length']) : 0;\n\n if (isNaN(contentLength)) {\n contentLength = 0;\n }\n\n const responseLength = headerLength + 4 + contentLength;\n\n // not enough data yet\n if (buffer.byteLength < responseLength) {\n return null;\n }\n\n const body = buffer.subarray(headerLength + 4, responseLength);\n const response = new Response(body, {\n status,\n statusText,\n headers\n });\n\n return {\n response,\n responseLength\n };\n}\n\nexport function randomInt32(): number {\n return randomBytes(4).readUInt32BE(0);\n}\n\nexport function randomInt64(): bigint {\n return randomBytes(8).readBigUint64LE(0);\n}\n\nfunction parseHeaders(lines: string[]): Record<string, string> {\n const headers: Record<string, string> = {};\n\n for (let i = 0; i < lines.length; i++) {\n const colon = lines[i].indexOf(':');\n\n if (colon <= 0) {\n continue;\n }\n\n const name = lines[i].substring(0, colon).trim();\n headers[name] = lines[i].substring(colon + 1).trim();\n }\n\n return headers;\n}\n\nfunction parseRequestHeaders(buffer: Buffer): HttpRequestHeader {\n const lines = buffer.toString('utf8').split('\\r\\n');\n\n const rawRequest = lines[0].match(/^(\\S+)\\s+(\\S+)\\s+RTSP\\/1\\.0$/);\n const method = rawRequest[1] as RTSPMethod;\n const path = rawRequest[2];\n const headers: Record<string, string> = parseHeaders(lines.slice(1));\n\n return {\n headers,\n method,\n path\n };\n}\n\nfunction parseResponseHeaders(buffer: Buffer): HttpResponseHeader {\n const lines = buffer.toString('utf8').split('\\r\\n');\n\n const rawStatus = lines[0].match(/(HTTP|RTSP)\\/[\\d.]+\\s+(\\d+)\\s+(.+)/);\n const status = Number(rawStatus[2]);\n const statusText = rawStatus[3];\n const headers: Record<string, string> = parseHeaders(lines.slice(1));\n\n return {\n headers,\n status,\n statusText\n };\n}\n\ntype HttpRequestHeader = {\n readonly headers: Record<string, string>;\n readonly method: RTSPMethod;\n readonly path: string;\n};\n\ntype HttpResponseHeader = {\n readonly headers: Record<string, string>;\n readonly status: number;\n readonly statusText: string;\n};\n\ntype HttpRequest = {\n readonly headers: Record<string, string>;\n readonly method: RTSPMethod;\n readonly path: string;\n readonly body: Buffer;\n readonly requestLength: number;\n};\n\ntype HttpResponse = {\n readonly response: Response;\n readonly responseLength: number;\n};\n",
7
- "import { decryptChacha20, encryptChacha20, hkdf, parseBinaryPlist, reporter, serializeBinaryPlist } from '@basmilius/apple-common';\nimport { fromBinary, getExtension, toBinary } from '@bufbuild/protobuf';\nimport * as Proto from '../proto';\nimport { randomInt32 } from './utils';\nimport AirPlayDataStreamMessages from './dataStreamMessages';\nimport AirPlayStream from './stream';\n\nconst DATA_HEADER_LENGTH = 32; // 4 + 12 + 4 + 8 + 4\n\ntype EventMap = {\n readonly deviceInfo: [Proto.DeviceInfoMessage];\n readonly originClientProperties: [Proto.OriginClientPropertiesMessage];\n readonly playerClientProperties: [Proto.PlayerClientPropertiesMessage];\n readonly sendCommandResult: [Proto.SendCommandResultMessage];\n readonly setArtwork: [Proto.SetArtworkMessage];\n readonly setDefaultSupportedCommands: [Proto.SetDefaultSupportedCommandsMessage];\n readonly setNowPlayingClient: [Proto.SetNowPlayingClientMessage];\n readonly setNowPlayingPlayer: [Proto.SetNowPlayingPlayerMessage];\n readonly setState: [Proto.SetStateMessage];\n readonly updateClient: [Proto.UpdateClientMessage];\n readonly updateContentItem: [Proto.UpdateContentItemMessage];\n readonly updateContentItemArtwork: [Proto.UpdateContentItemArtworkMessage];\n readonly updatePlayer: [Proto.UpdatePlayerMessage];\n readonly updateOutputDevice: [Proto.UpdateOutputDeviceMessage];\n readonly volumeControlAvailability: [Proto.VolumeControlAvailabilityMessage];\n readonly volumeControlCapabilitiesDidChange: [Proto.VolumeControlCapabilitiesDidChangeMessage];\n readonly volumeDidChange: [Proto.VolumeDidChangeMessage];\n};\n\nexport default class AirPlayDataStream extends AirPlayStream<EventMap> {\n get messages(): AirPlayDataStreamMessages {\n return this.#messages;\n }\n\n readonly #messages: AirPlayDataStreamMessages;\n #buffer: Buffer = Buffer.alloc(0);\n #seqno: bigint;\n #readCount: number;\n #writeCount: number;\n #handler?: [Function, Function];\n\n constructor(address: string, port: number) {\n super(address, port);\n\n this.#messages = new AirPlayDataStreamMessages();\n this.#seqno = 0x100000000n + BigInt(randomInt32());\n this.#writeCount = 0;\n }\n\n async exchange(message: Proto.ProtocolMessage): Promise<Proto.ProtocolMessage> {\n return new Promise(async (resolve, reject) => {\n this.#handler = [resolve, reject];\n await this.send(message);\n });\n }\n\n async reply(seqno: bigint): Promise<void> {\n const rply = buildReply(seqno);\n\n reporter.raw(`[datastream] Sending reply for seqno ${seqno}.`);\n\n this.socket.write(await this.#encrypt(rply));\n }\n\n async send(message: Proto.ProtocolMessage): Promise<void> {\n const bytes = toBinary(Proto.ProtocolMessageSchema, message, {writeUnknownFields: true});\n const lenPrefix = Buffer.from(encodeVarint(bytes.length));\n const pbPayload = Buffer.concat([lenPrefix, Buffer.from(bytes)]);\n\n const plistPayload = Buffer.from(\n serializeBinaryPlist({\n params: {\n data: pbPayload.buffer.slice(pbPayload.byteOffset, pbPayload.byteOffset + pbPayload.byteLength)\n }\n } as any)\n );\n\n const header = buildHeader(DATA_HEADER_LENGTH + plistPayload.byteLength, this.#seqno++);\n const frame = Buffer.concat([header, plistPayload]);\n const encrypted = await this.#encrypt(frame);\n\n reporter.raw('[datastream] Sending message.', message);\n\n this.socket.write(encrypted);\n }\n\n async setup(sharedSecret: Buffer, seed: bigint): Promise<void> {\n const readKey = hkdf({\n hash: 'sha512',\n key: sharedSecret,\n length: 32,\n salt: Buffer.from(`DataStream-Salt${seed}`),\n info: Buffer.from('DataStream-Input-Encryption-Key')\n });\n\n const writeKey = hkdf({\n hash: 'sha512',\n key: sharedSecret,\n length: 32,\n salt: Buffer.from(`DataStream-Salt${seed}`),\n info: Buffer.from('DataStream-Output-Encryption-Key')\n });\n\n await this.enableEncryption(readKey, writeKey);\n }\n\n async onData(buffer: Buffer): Promise<void> {\n try {\n this.#buffer = Buffer.concat([this.#buffer, buffer]);\n this.#buffer = await this.#decrypt(this.#buffer);\n\n while (this.#buffer.byteLength > DATA_HEADER_LENGTH) {\n const header = this.#buffer.subarray(0, DATA_HEADER_LENGTH);\n const totalLength = header.readUint32BE();\n\n if (this.#buffer.byteLength < totalLength) {\n reporter.warn(`Not enough data yet, waiting on the next frame.. needed=${totalLength} available=${this.#buffer.byteLength} receivedLength=${buffer.byteLength}`);\n return;\n }\n\n const frame = this.#buffer.subarray(DATA_HEADER_LENGTH, totalLength);\n const plist = parseBinaryPlist(frame.buffer.slice(frame.byteOffset, frame.byteOffset + frame.byteLength) as any) as any;\n const command = header.toString('ascii', 4, 8);\n\n reporter.raw('Raw data received', header.toString());\n\n this.#buffer = this.#buffer.subarray(totalLength);\n\n if (!plist || !plist.params || !plist.params.data) {\n if (command === 'rply') {\n reporter.raw('Got reply...');\n } else if (command === 'sync') {\n await this.reply(parseHeaderSeqno(header));\n }\n\n if (this.#handler) {\n const [resolve] = this.#handler;\n this.#handler = undefined;\n\n resolve();\n }\n\n continue;\n }\n\n const content = Buffer.from(plist.params.data);\n\n for (const message of await parseMessages(content)) {\n await this.#handleMessage(message);\n }\n\n if (command === 'sync') {\n await this.reply(parseHeaderSeqno(header));\n }\n }\n } catch (err) {\n reporter.error('Error in onData', err);\n }\n }\n\n async #onDeviceInfoMessage(message: Proto.DeviceInfoMessage): Promise<void> {\n reporter.info('Connected to device', message.name);\n\n this.emit('deviceInfo', message);\n }\n\n async #onOriginClientPropertiesMessage(message: Proto.OriginClientPropertiesMessage): Promise<void> {\n reporter.raw('Origin client properties', message);\n\n this.emit('originClientProperties', message);\n }\n\n async #onPlayerClientPropertiesMessage(message: Proto.PlayerClientPropertiesMessage): Promise<void> {\n reporter.raw('Player client properties', message);\n\n this.emit('playerClientProperties', message);\n }\n\n async #onSendCommandResultMessage(message: Proto.SendCommandResultMessage): Promise<void> {\n reporter.info('Send command result', message);\n\n this.emit('sendCommandResult', message);\n }\n\n async #onSetArtworkMessage(message: Proto.SetArtworkMessage): Promise<void> {\n reporter.info('Set artwork', message);\n\n this.emit('setArtwork', message);\n }\n\n async #onSetDefaultSupportedCommandsMessage(message: Proto.SetDefaultSupportedCommandsMessage): Promise<void> {\n reporter.info('Set default supported commands', message);\n\n this.emit('setDefaultSupportedCommands', message);\n }\n\n async #onSetNowPlayingClientMessage(message: Proto.SetNowPlayingClientMessage): Promise<void> {\n reporter.info('Set now playing client', message);\n\n this.emit('setNowPlayingClient', message);\n }\n\n async #onSetNowPlayingPlayerMessage(message: Proto.SetNowPlayingPlayerMessage): Promise<void> {\n reporter.info('Set now playing player', message);\n\n this.emit('setNowPlayingPlayer', message);\n }\n\n async #onSetStateMessage(message: Proto.SetStateMessage): Promise<void> {\n reporter.info('Set state', message);\n\n this.emit('setState', message);\n }\n\n async #onUpdateClientMessage(message: Proto.UpdateClientMessage): Promise<void> {\n reporter.info('Update client', message);\n\n this.emit('updateClient', message);\n }\n\n async #onUpdateContentItemMessage(message: Proto.UpdateContentItemMessage): Promise<void> {\n reporter.info('Update content item', message);\n\n this.emit('updateContentItem', message);\n }\n\n async #onUpdateContentItemArtworkMessage(message: Proto.UpdateContentItemArtworkMessage): Promise<void> {\n reporter.info('Update content artwork', message);\n\n this.emit('updateContentItemArtwork', message);\n }\n\n async #onUpdatePlayerMessage(message: Proto.UpdatePlayerMessage): Promise<void> {\n reporter.info('Update player', message);\n\n this.emit('updatePlayer', message);\n }\n\n async #onUpdateOutputDeviceMessage(message: Proto.UpdateOutputDeviceMessage): Promise<void> {\n reporter.info('Update output device', message);\n\n this.emit('updateOutputDevice', message);\n }\n\n async #onVolumeControlAvailabilityMessage(message: Proto.VolumeControlAvailabilityMessage): Promise<void> {\n reporter.info('Volume control availability', message);\n\n this.emit('volumeControlAvailability', message);\n }\n\n async #onVolumeControlCapabilitiesDidChangeMessage(message: Proto.VolumeControlCapabilitiesDidChangeMessage): Promise<void> {\n reporter.info('Volume control capabilities did change', message);\n\n this.emit('volumeControlCapabilitiesDidChange', message);\n }\n\n async #onVolumeDidChangeMessage(message: Proto.VolumeDidChangeMessage): Promise<void> {\n reporter.info('VolumeDidChange message', message);\n\n this.emit('volumeDidChange', message);\n }\n\n async #decrypt(data: Buffer): Promise<Buffer> {\n const result: Buffer[] = [];\n let offset = 0;\n let readCount = this.#readCount ?? 0;\n\n while (offset < data.length) {\n if (offset + 2 > data.length) {\n throw new Error('Truncated frame length');\n }\n\n const frameLength = data.readUInt16LE(offset);\n offset += 2;\n\n const nonce = Buffer.alloc(12);\n nonce.writeBigUInt64LE(BigInt(readCount++), 4);\n\n const end = offset + frameLength + 16;\n\n if (end > data.length) {\n throw new Error(`Truncated frame end=${end} length=${data.length}`);\n }\n\n const ciphertext = data.subarray(offset, offset + frameLength);\n const authTag = data.subarray(offset + frameLength, end);\n offset = end;\n\n const plaintext = decryptChacha20(\n this.readKey,\n nonce,\n Buffer.from(Uint16Array.of(frameLength).buffer.slice(0, 2)), // same AAD = leLength\n ciphertext,\n authTag\n );\n\n result.push(plaintext);\n }\n\n this.#readCount = readCount;\n\n return Buffer.concat(result);\n }\n\n async #encrypt(data: Buffer): Promise<Buffer> {\n const FRAME_LENGTH = 1024;\n const result: Buffer[] = [];\n\n for (let offset = 0; offset < data.length;) {\n const frame = data.subarray(offset, offset + FRAME_LENGTH);\n offset += frame.length;\n\n const leLength = Buffer.alloc(2);\n leLength.writeUInt16LE(frame.length, 0);\n\n const nonce = Buffer.alloc(12);\n nonce.writeBigUInt64LE(BigInt(this.#writeCount++), 4);\n\n const encrypted = encryptChacha20(\n this.writeKey,\n nonce,\n leLength,\n frame\n );\n\n result.push(leLength, encrypted.ciphertext, encrypted.authTag);\n }\n\n return Buffer.concat(result);\n }\n\n async #handleMessage(message: Proto.ProtocolMessage): Promise<void> {\n if (this.#handler) {\n const [resolve] = this.#handler;\n this.#handler = undefined;\n\n resolve(message);\n }\n\n switch (message.type) {\n case Proto.ProtocolMessage_Type.DEVICE_INFO_MESSAGE:\n await this.#onDeviceInfoMessage(getExtension(message, Proto.deviceInfoMessage));\n break;\n\n case Proto.ProtocolMessage_Type.ORIGIN_CLIENT_PROPERTIES_MESSAGE:\n await this.#onOriginClientPropertiesMessage(getExtension(message, Proto.originClientPropertiesMessage));\n break;\n\n case Proto.ProtocolMessage_Type.PLAYER_CLIENT_PROPERTIES_MESSAGE:\n await this.#onPlayerClientPropertiesMessage(getExtension(message, Proto.playerClientPropertiesMessage));\n break;\n\n case Proto.ProtocolMessage_Type.SEND_COMMAND_RESULT_MESSAGE:\n await this.#onSendCommandResultMessage(getExtension(message, Proto.sendCommandResultMessage));\n break;\n\n case Proto.ProtocolMessage_Type.SET_ARTWORK_MESSAGE:\n await this.#onSetArtworkMessage(getExtension(message, Proto.setArtworkMessage));\n break;\n\n case Proto.ProtocolMessage_Type.SET_DEFAULT_SUPPORTED_COMMANDS_MESSAGE:\n await this.#onSetDefaultSupportedCommandsMessage(getExtension(message, Proto.setDefaultSupportedCommandsMessage));\n break;\n\n case Proto.ProtocolMessage_Type.SET_NOW_PLAYING_CLIENT_MESSAGE:\n await this.#onSetNowPlayingClientMessage(getExtension(message, Proto.setNowPlayingClientMessage));\n break;\n\n case Proto.ProtocolMessage_Type.SET_NOW_PLAYING_PLAYER_MESSAGE:\n await this.#onSetNowPlayingPlayerMessage(getExtension(message, Proto.setNowPlayingPlayerMessage));\n break;\n\n case Proto.ProtocolMessage_Type.SET_STATE_MESSAGE:\n await this.#onSetStateMessage(getExtension(message, Proto.setStateMessage));\n break;\n\n case Proto.ProtocolMessage_Type.UPDATE_CLIENT_MESSAGE:\n await this.#onUpdateClientMessage(getExtension(message, Proto.updateClientMessage));\n break;\n\n case Proto.ProtocolMessage_Type.UPDATE_CONTENT_ITEM_MESSAGE:\n await this.#onUpdateContentItemMessage(getExtension(message, Proto.updateContentItemMessage));\n break;\n\n case Proto.ProtocolMessage_Type.UPDATE_CONTENT_ITEM_ARTWORK_MESSAGE:\n await this.#onUpdateContentItemArtworkMessage(getExtension(message, Proto.updateContentItemArtworkMessage));\n break;\n\n case Proto.ProtocolMessage_Type.UPDATE_PLAYER_MESSAGE:\n await this.#onUpdatePlayerMessage(getExtension(message, Proto.updatePlayerMessage));\n break;\n\n case Proto.ProtocolMessage_Type.UPDATE_OUTPUT_DEVICE_MESSAGE:\n await this.#onUpdateOutputDeviceMessage(getExtension(message, Proto.updateOutputDeviceMessage));\n break;\n\n case Proto.ProtocolMessage_Type.VOLUME_CONTROL_AVAILABILITY_MESSAGE:\n await this.#onVolumeControlAvailabilityMessage(getExtension(message, Proto.volumeControlAvailabilityMessage));\n break;\n\n case Proto.ProtocolMessage_Type.VOLUME_CONTROL_CAPABILITIES_DID_CHANGE_MESSAGE:\n await this.#onVolumeControlCapabilitiesDidChangeMessage(getExtension(message, Proto.volumeControlCapabilitiesDidChangeMessage));\n break;\n\n case Proto.ProtocolMessage_Type.VOLUME_DID_CHANGE_MESSAGE:\n await this.#onVolumeDidChangeMessage(getExtension(message, Proto.volumeDidChangeMessage));\n break;\n\n case Proto.ProtocolMessage_Type.UNKNOWN_MESSAGE:\n break;\n\n default:\n reporter.warn('Received unknown message.', message);\n break;\n }\n }\n}\n\nfunction buildHeader(totalSize: number, seqno: bigint): Buffer {\n const buf = Buffer.alloc(32);\n\n buf.writeUInt32BE(totalSize, 0);\n buf.write('sync', 4, 'ascii');\n buf.fill(0, 8, 16);\n buf.write('comm', 16, 'ascii');\n buf.writeBigUInt64BE(seqno, 20);\n buf.writeUInt32BE(0, 28);\n\n return buf;\n}\n\nfunction buildReply(seqno: bigint): Buffer {\n const header = Buffer.alloc(32);\n header.writeUInt32BE(0, 0); // placeholder\n header.write('rply', 4, 'ascii');\n header.fill(0, 8, 16);\n header.writeBigUInt64BE(seqno, 20);\n header.writeUInt32BE(0, 28);\n\n const plist = Buffer.from(\n serializeBinaryPlist(Buffer.alloc(0) as any)\n );\n\n const total = header.length + plist.length;\n header.writeUInt32BE(total, 0);\n\n return Buffer.concat([header, plist]);\n}\n\nfunction encodeVarint(value: number): Uint8Array {\n if (value < 0) {\n throw new RangeError('Varint only supports non-negative integers');\n }\n\n const bytes: number[] = [];\n while (value > 127) {\n bytes.push((value & 0x7f) | 0x80);\n value >>>= 7;\n }\n\n bytes.push(value);\n\n return Uint8Array.from(bytes);\n}\n\nfunction parseHeaderSeqno(header: Buffer): bigint {\n if (header.length < 28) {\n throw new Error('Header too short');\n }\n\n return header.readBigUInt64BE(20);\n}\n\nasync function parseMessages(content: Buffer): Promise<Proto.ProtocolMessage[]> {\n const messages: Proto.ProtocolMessage[] = [];\n let offset = 0;\n\n while (offset < content.length) {\n const firstByte = content[offset];\n\n if (firstByte === 0x08) {\n const message = content.subarray(offset);\n const decoded = fromBinary(Proto.ProtocolMessageSchema, message, {readUnknownFields: true});\n messages.push(decoded);\n break;\n }\n\n const [length, variantLen] = readVariant(content, offset);\n offset += variantLen;\n\n if (offset + length > content.length) {\n break;\n }\n\n const message = content.subarray(offset, offset + length);\n offset += length;\n\n const decoded = fromBinary(Proto.ProtocolMessageSchema, message, {readUnknownFields: true});\n messages.push(decoded);\n }\n\n return messages;\n}\n\nfunction readVariant(buf: Buffer, offset = 0): [number, number] {\n let result = 0;\n let shift = 0;\n let bytesRead = 0;\n\n while (true) {\n const byte = buf[offset + bytesRead++];\n result |= (byte & 0x7f) << shift;\n\n if ((byte & 0x80) === 0) {\n break;\n }\n\n shift += 7;\n }\n\n return [result, bytesRead];\n}\n",
7
+ "import { decryptChacha20, encryptChacha20, hkdf, parseBinaryPlist, reporter, serializeBinaryPlist } from '@basmilius/apple-common';\nimport { fromBinary, getExtension, toBinary } from '@bufbuild/protobuf';\nimport * as Proto from '../proto';\nimport { randomInt32 } from './utils';\nimport AirPlayDataStreamMessages from './dataStreamMessages';\nimport AirPlayStream from './stream';\n\nconst DATA_HEADER_LENGTH = 32; // 4 + 12 + 4 + 8 + 4\n\ntype EventMap = {\n readonly deviceInfo: [Proto.DeviceInfoMessage];\n readonly originClientProperties: [Proto.OriginClientPropertiesMessage];\n readonly playerClientProperties: [Proto.PlayerClientPropertiesMessage];\n readonly sendCommandResult: [Proto.SendCommandResultMessage];\n readonly setArtwork: [Proto.SetArtworkMessage];\n readonly setDefaultSupportedCommands: [Proto.SetDefaultSupportedCommandsMessage];\n readonly setNowPlayingClient: [Proto.SetNowPlayingClientMessage];\n readonly setNowPlayingPlayer: [Proto.SetNowPlayingPlayerMessage];\n readonly setState: [Proto.SetStateMessage];\n readonly updateClient: [Proto.UpdateClientMessage];\n readonly updateContentItem: [Proto.UpdateContentItemMessage];\n readonly updateContentItemArtwork: [Proto.UpdateContentItemArtworkMessage];\n readonly updatePlayer: [Proto.UpdatePlayerMessage];\n readonly updateOutputDevice: [Proto.UpdateOutputDeviceMessage];\n readonly volumeControlAvailability: [Proto.VolumeControlAvailabilityMessage];\n readonly volumeControlCapabilitiesDidChange: [Proto.VolumeControlCapabilitiesDidChangeMessage];\n readonly volumeDidChange: [Proto.VolumeDidChangeMessage];\n};\n\nexport default class AirPlayDataStream extends AirPlayStream<EventMap> {\n get messages(): AirPlayDataStreamMessages {\n return this.#messages;\n }\n\n readonly #messages: AirPlayDataStreamMessages;\n #buffer: Buffer = Buffer.alloc(0);\n #seqno: bigint;\n #readCount: number;\n #writeCount: number;\n #handler?: [Function, Function];\n\n constructor(address: string, port: number) {\n super(address, port);\n\n this.#messages = new AirPlayDataStreamMessages();\n this.#seqno = 0x100000000n + BigInt(randomInt32());\n this.#writeCount = 0;\n }\n\n async exchange(message: Proto.ProtocolMessage): Promise<Proto.ProtocolMessage> {\n return new Promise(async (resolve, reject) => {\n this.#handler = [resolve, reject];\n await this.send(message);\n });\n }\n\n async reply(seqno: bigint): Promise<void> {\n const rply = buildReply(seqno);\n\n reporter.raw(`[datastream] Sending reply for seqno ${seqno}.`);\n\n this.socket.write(await this.#encrypt(rply));\n }\n\n async send(message: Proto.ProtocolMessage): Promise<void> {\n const bytes = toBinary(Proto.ProtocolMessageSchema, message, {writeUnknownFields: true});\n const lenPrefix = Buffer.from(encodeVarint(bytes.length));\n const pbPayload = Buffer.concat([lenPrefix, Buffer.from(bytes)]);\n\n const plistPayload = Buffer.from(\n serializeBinaryPlist({\n params: {\n data: pbPayload.buffer.slice(pbPayload.byteOffset, pbPayload.byteOffset + pbPayload.byteLength)\n }\n } as any)\n );\n\n const header = buildHeader(DATA_HEADER_LENGTH + plistPayload.byteLength, this.#seqno++);\n const frame = Buffer.concat([header, plistPayload]);\n const encrypted = await this.#encrypt(frame);\n\n reporter.raw('[datastream] Sending message.', message);\n\n this.socket.write(encrypted);\n }\n\n async setup(sharedSecret: Buffer, seed: bigint): Promise<void> {\n const readKey = hkdf({\n hash: 'sha512',\n key: sharedSecret,\n length: 32,\n salt: Buffer.from(`DataStream-Salt${seed}`),\n info: Buffer.from('DataStream-Input-Encryption-Key')\n });\n\n const writeKey = hkdf({\n hash: 'sha512',\n key: sharedSecret,\n length: 32,\n salt: Buffer.from(`DataStream-Salt${seed}`),\n info: Buffer.from('DataStream-Output-Encryption-Key')\n });\n\n await this.enableEncryption(readKey, writeKey);\n }\n\n async onData(buffer: Buffer): Promise<void> {\n try {\n this.#buffer = Buffer.concat([this.#buffer, buffer]);\n this.#buffer = await this.#decrypt(this.#buffer);\n\n while (this.#buffer.byteLength > DATA_HEADER_LENGTH) {\n const header = this.#buffer.subarray(0, DATA_HEADER_LENGTH);\n const totalLength = header.readUint32BE();\n\n if (this.#buffer.byteLength < totalLength) {\n reporter.warn(`Not enough data yet, waiting on the next frame.. needed=${totalLength} available=${this.#buffer.byteLength} receivedLength=${buffer.byteLength}`);\n return;\n }\n\n const frame = this.#buffer.subarray(DATA_HEADER_LENGTH, totalLength);\n const plist = parseBinaryPlist(frame.buffer.slice(frame.byteOffset, frame.byteOffset + frame.byteLength) as any) as any;\n const command = header.toString('ascii', 4, 8);\n\n reporter.raw('Raw data received', header.toString());\n\n this.#buffer = this.#buffer.subarray(totalLength);\n\n if (!plist || !plist.params || !plist.params.data) {\n if (command === 'rply') {\n reporter.raw('Got reply...');\n } else if (command === 'sync') {\n await this.reply(parseHeaderSeqno(header));\n }\n\n if (this.#handler) {\n const [resolve] = this.#handler;\n this.#handler = undefined;\n\n resolve();\n }\n\n continue;\n }\n\n const content = Buffer.from(plist.params.data);\n\n for (const message of await parseMessages(content)) {\n await this.#handleMessage(message);\n }\n\n if (command === 'sync') {\n await this.reply(parseHeaderSeqno(header));\n }\n }\n } catch (err) {\n reporter.error('Error in onData', err);\n }\n }\n\n async #onDeviceInfoMessage(message: Proto.DeviceInfoMessage): Promise<void> {\n reporter.info('Connected to device', message.name);\n\n this.emit('deviceInfo', message);\n }\n\n async #onOriginClientPropertiesMessage(message: Proto.OriginClientPropertiesMessage): Promise<void> {\n reporter.raw('Origin client properties', message);\n\n this.emit('originClientProperties', message);\n }\n\n async #onPlayerClientPropertiesMessage(message: Proto.PlayerClientPropertiesMessage): Promise<void> {\n reporter.raw('Player client properties', message);\n\n this.emit('playerClientProperties', message);\n }\n\n async #onSendCommandResultMessage(message: Proto.SendCommandResultMessage): Promise<void> {\n reporter.info('Send command result', message);\n\n this.emit('sendCommandResult', message);\n }\n\n async #onSetArtworkMessage(message: Proto.SetArtworkMessage): Promise<void> {\n reporter.info('Set artwork', message);\n\n this.emit('setArtwork', message);\n }\n\n async #onSetDefaultSupportedCommandsMessage(message: Proto.SetDefaultSupportedCommandsMessage): Promise<void> {\n reporter.info('Set default supported commands', message);\n\n this.emit('setDefaultSupportedCommands', message);\n }\n\n async #onSetNowPlayingClientMessage(message: Proto.SetNowPlayingClientMessage): Promise<void> {\n reporter.info('Set now playing client', message);\n\n this.emit('setNowPlayingClient', message);\n }\n\n async #onSetNowPlayingPlayerMessage(message: Proto.SetNowPlayingPlayerMessage): Promise<void> {\n reporter.info('Set now playing player', message);\n\n this.emit('setNowPlayingPlayer', message);\n }\n\n async #onSetStateMessage(message: Proto.SetStateMessage): Promise<void> {\n reporter.info('Set state', message);\n\n this.emit('setState', message);\n }\n\n async #onUpdateClientMessage(message: Proto.UpdateClientMessage): Promise<void> {\n reporter.info('Update client', message);\n\n this.emit('updateClient', message);\n }\n\n async #onUpdateContentItemMessage(message: Proto.UpdateContentItemMessage): Promise<void> {\n reporter.info('Update content item', message);\n\n this.emit('updateContentItem', message);\n }\n\n async #onUpdateContentItemArtworkMessage(message: Proto.UpdateContentItemArtworkMessage): Promise<void> {\n reporter.info('Update content artwork', message);\n\n this.emit('updateContentItemArtwork', message);\n }\n\n async #onUpdatePlayerMessage(message: Proto.UpdatePlayerMessage): Promise<void> {\n reporter.info('Update player', message);\n\n this.emit('updatePlayer', message);\n }\n\n async #onUpdateOutputDeviceMessage(message: Proto.UpdateOutputDeviceMessage): Promise<void> {\n reporter.info('Update output device', message);\n\n this.emit('updateOutputDevice', message);\n }\n\n async #onVolumeControlAvailabilityMessage(message: Proto.VolumeControlAvailabilityMessage): Promise<void> {\n reporter.info('Volume control availability', message);\n\n this.emit('volumeControlAvailability', message);\n }\n\n async #onVolumeControlCapabilitiesDidChangeMessage(message: Proto.VolumeControlCapabilitiesDidChangeMessage): Promise<void> {\n reporter.info('Volume control capabilities did change', message);\n\n this.emit('volumeControlCapabilitiesDidChange', message);\n }\n\n async #onVolumeDidChangeMessage(message: Proto.VolumeDidChangeMessage): Promise<void> {\n reporter.info('VolumeDidChange message', message);\n\n this.emit('volumeDidChange', message);\n }\n\n async #decrypt(data: Buffer): Promise<Buffer> {\n const result: Buffer[] = [];\n let offset = 0;\n let readCount = this.#readCount ?? 0;\n\n while (offset < data.length) {\n if (offset + 2 > data.length) {\n reporter.warn('Truncated frame length');\n return this.#buffer;\n }\n\n const frameLength = data.readUInt16LE(offset);\n offset += 2;\n\n const nonce = Buffer.alloc(12);\n nonce.writeBigUInt64LE(BigInt(readCount++), 4);\n\n const end = offset + frameLength + 16;\n\n if (end > data.length) {\n reporter.warn(`Truncated frame end=${end} length=${data.length}`);\n return this.#buffer;\n }\n\n const ciphertext = data.subarray(offset, offset + frameLength);\n const authTag = data.subarray(offset + frameLength, end);\n offset = end;\n\n const plaintext = decryptChacha20(\n this.readKey,\n nonce,\n Buffer.from(Uint16Array.of(frameLength).buffer.slice(0, 2)), // same AAD = leLength\n ciphertext,\n authTag\n );\n\n result.push(plaintext);\n }\n\n this.#readCount = readCount;\n\n return Buffer.concat(result);\n }\n\n async #encrypt(data: Buffer): Promise<Buffer> {\n const FRAME_LENGTH = 1024;\n const result: Buffer[] = [];\n\n for (let offset = 0; offset < data.length;) {\n const frame = data.subarray(offset, offset + FRAME_LENGTH);\n offset += frame.length;\n\n const leLength = Buffer.alloc(2);\n leLength.writeUInt16LE(frame.length, 0);\n\n const nonce = Buffer.alloc(12);\n nonce.writeBigUInt64LE(BigInt(this.#writeCount++), 4);\n\n const encrypted = encryptChacha20(\n this.writeKey,\n nonce,\n leLength,\n frame\n );\n\n result.push(leLength, encrypted.ciphertext, encrypted.authTag);\n }\n\n return Buffer.concat(result);\n }\n\n async #handleMessage(message: Proto.ProtocolMessage): Promise<void> {\n if (this.#handler) {\n const [resolve] = this.#handler;\n this.#handler = undefined;\n\n resolve(message);\n }\n\n switch (message.type) {\n case Proto.ProtocolMessage_Type.DEVICE_INFO_MESSAGE:\n await this.#onDeviceInfoMessage(getExtension(message, Proto.deviceInfoMessage));\n break;\n\n case Proto.ProtocolMessage_Type.ORIGIN_CLIENT_PROPERTIES_MESSAGE:\n await this.#onOriginClientPropertiesMessage(getExtension(message, Proto.originClientPropertiesMessage));\n break;\n\n case Proto.ProtocolMessage_Type.PLAYER_CLIENT_PROPERTIES_MESSAGE:\n await this.#onPlayerClientPropertiesMessage(getExtension(message, Proto.playerClientPropertiesMessage));\n break;\n\n case Proto.ProtocolMessage_Type.SEND_COMMAND_RESULT_MESSAGE:\n await this.#onSendCommandResultMessage(getExtension(message, Proto.sendCommandResultMessage));\n break;\n\n case Proto.ProtocolMessage_Type.SET_ARTWORK_MESSAGE:\n await this.#onSetArtworkMessage(getExtension(message, Proto.setArtworkMessage));\n break;\n\n case Proto.ProtocolMessage_Type.SET_DEFAULT_SUPPORTED_COMMANDS_MESSAGE:\n await this.#onSetDefaultSupportedCommandsMessage(getExtension(message, Proto.setDefaultSupportedCommandsMessage));\n break;\n\n case Proto.ProtocolMessage_Type.SET_NOW_PLAYING_CLIENT_MESSAGE:\n await this.#onSetNowPlayingClientMessage(getExtension(message, Proto.setNowPlayingClientMessage));\n break;\n\n case Proto.ProtocolMessage_Type.SET_NOW_PLAYING_PLAYER_MESSAGE:\n await this.#onSetNowPlayingPlayerMessage(getExtension(message, Proto.setNowPlayingPlayerMessage));\n break;\n\n case Proto.ProtocolMessage_Type.SET_STATE_MESSAGE:\n await this.#onSetStateMessage(getExtension(message, Proto.setStateMessage));\n break;\n\n case Proto.ProtocolMessage_Type.UPDATE_CLIENT_MESSAGE:\n await this.#onUpdateClientMessage(getExtension(message, Proto.updateClientMessage));\n break;\n\n case Proto.ProtocolMessage_Type.UPDATE_CONTENT_ITEM_MESSAGE:\n await this.#onUpdateContentItemMessage(getExtension(message, Proto.updateContentItemMessage));\n break;\n\n case Proto.ProtocolMessage_Type.UPDATE_CONTENT_ITEM_ARTWORK_MESSAGE:\n await this.#onUpdateContentItemArtworkMessage(getExtension(message, Proto.updateContentItemArtworkMessage));\n break;\n\n case Proto.ProtocolMessage_Type.UPDATE_PLAYER_MESSAGE:\n await this.#onUpdatePlayerMessage(getExtension(message, Proto.updatePlayerMessage));\n break;\n\n case Proto.ProtocolMessage_Type.UPDATE_OUTPUT_DEVICE_MESSAGE:\n await this.#onUpdateOutputDeviceMessage(getExtension(message, Proto.updateOutputDeviceMessage));\n break;\n\n case Proto.ProtocolMessage_Type.VOLUME_CONTROL_AVAILABILITY_MESSAGE:\n await this.#onVolumeControlAvailabilityMessage(getExtension(message, Proto.volumeControlAvailabilityMessage));\n break;\n\n case Proto.ProtocolMessage_Type.VOLUME_CONTROL_CAPABILITIES_DID_CHANGE_MESSAGE:\n await this.#onVolumeControlCapabilitiesDidChangeMessage(getExtension(message, Proto.volumeControlCapabilitiesDidChangeMessage));\n break;\n\n case Proto.ProtocolMessage_Type.VOLUME_DID_CHANGE_MESSAGE:\n await this.#onVolumeDidChangeMessage(getExtension(message, Proto.volumeDidChangeMessage));\n break;\n\n case Proto.ProtocolMessage_Type.UNKNOWN_MESSAGE:\n break;\n\n default:\n reporter.warn('Received unknown message.', message);\n break;\n }\n }\n}\n\nfunction buildHeader(totalSize: number, seqno: bigint): Buffer {\n const buf = Buffer.alloc(32);\n\n buf.writeUInt32BE(totalSize, 0);\n buf.write('sync', 4, 'ascii');\n buf.fill(0, 8, 16);\n buf.write('comm', 16, 'ascii');\n buf.writeBigUInt64BE(seqno, 20);\n buf.writeUInt32BE(0, 28);\n\n return buf;\n}\n\nfunction buildReply(seqno: bigint): Buffer {\n const header = Buffer.alloc(32);\n header.writeUInt32BE(0, 0); // placeholder\n header.write('rply', 4, 'ascii');\n header.fill(0, 8, 16);\n header.writeBigUInt64BE(seqno, 20);\n header.writeUInt32BE(0, 28);\n\n const plist = Buffer.from(\n serializeBinaryPlist(Buffer.alloc(0) as any)\n );\n\n const total = header.length + plist.length;\n header.writeUInt32BE(total, 0);\n\n return Buffer.concat([header, plist]);\n}\n\nfunction encodeVarint(value: number): Uint8Array {\n if (value < 0) {\n throw new RangeError('Varint only supports non-negative integers');\n }\n\n const bytes: number[] = [];\n while (value > 127) {\n bytes.push((value & 0x7f) | 0x80);\n value >>>= 7;\n }\n\n bytes.push(value);\n\n return Uint8Array.from(bytes);\n}\n\nfunction parseHeaderSeqno(header: Buffer): bigint {\n if (header.length < 28) {\n throw new Error('Header too short');\n }\n\n return header.readBigUInt64BE(20);\n}\n\nasync function parseMessages(content: Buffer): Promise<Proto.ProtocolMessage[]> {\n const messages: Proto.ProtocolMessage[] = [];\n let offset = 0;\n\n while (offset < content.length) {\n const firstByte = content[offset];\n\n if (firstByte === 0x08) {\n const message = content.subarray(offset);\n const decoded = fromBinary(Proto.ProtocolMessageSchema, message, {readUnknownFields: true});\n messages.push(decoded);\n break;\n }\n\n const [length, variantLen] = readVariant(content, offset);\n offset += variantLen;\n\n if (offset + length > content.length) {\n break;\n }\n\n const message = content.subarray(offset, offset + length);\n offset += length;\n\n const decoded = fromBinary(Proto.ProtocolMessageSchema, message, {readUnknownFields: true});\n messages.push(decoded);\n }\n\n return messages;\n}\n\nfunction readVariant(buf: Buffer, offset = 0): [number, number] {\n let result = 0;\n let shift = 0;\n let bytesRead = 0;\n\n while (true) {\n const byte = buf[offset + bytesRead++];\n result |= (byte & 0x7f) << shift;\n\n if ((byte & 0x80) === 0) {\n break;\n }\n\n shift += 7;\n }\n\n return [result, bytesRead];\n}\n",
8
8
  "// @generated by protoc-gen-es v2.10.0 with parameter \"target=ts\"\n// @generated from file AudioFadeMessage.proto (syntax proto2)\n/* eslint-disable */\n\nimport type { GenExtension, GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { extDesc, fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { ProtocolMessage } from \"./ProtocolMessage_pb\";\nimport { file_ProtocolMessage } from \"./ProtocolMessage_pb\";\nimport type { PlayerPath } from \"./PlayerPath_pb\";\nimport { file_PlayerPath } from \"./PlayerPath_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file AudioFadeMessage.proto.\n */\nexport const file_AudioFadeMessage: GenFile = /*@__PURE__*/\n fileDesc(\"ChZBdWRpb0ZhZGVNZXNzYWdlLnByb3RvIkUKEEF1ZGlvRmFkZU1lc3NhZ2USHwoKcGxheWVyUGF0aBgBIAEoCzILLlBsYXllclBhdGgSEAoIZmFkZVR5cGUYAiABKAU6TwoQYXVkaW9GYWRlTWVzc2FnZRIQLlByb3RvY29sTWVzc2FnZRhYIAEoCzIRLkF1ZGlvRmFkZU1lc3NhZ2VSEGF1ZGlvRmFkZU1lc3NhZ2U\", [file_ProtocolMessage, file_PlayerPath]);\n\n/**\n * @generated from message AudioFadeMessage\n */\nexport type AudioFadeMessage = Message<\"AudioFadeMessage\"> & {\n /**\n * @generated from field: optional PlayerPath playerPath = 1;\n */\n playerPath?: PlayerPath;\n\n /**\n * @generated from field: optional int32 fadeType = 2;\n */\n fadeType: number;\n};\n\n/**\n * Describes the message AudioFadeMessage.\n * Use `create(AudioFadeMessageSchema)` to create a new message.\n */\nexport const AudioFadeMessageSchema: GenMessage<AudioFadeMessage> = /*@__PURE__*/\n messageDesc(file_AudioFadeMessage, 0);\n\n/**\n * @generated from extension: optional AudioFadeMessage audioFadeMessage = 88;\n */\nexport const audioFadeMessage: GenExtension<ProtocolMessage, AudioFadeMessage> = /*@__PURE__*/\n extDesc(file_AudioFadeMessage, 0);\n\n",
9
9
  "// @generated by protoc-gen-es v2.10.0 with parameter \"target=ts\"\n// @generated from file ProtocolMessage.proto (syntax proto2)\n/* eslint-disable */\n\nimport type { GenEnum, GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { enumDesc, fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file ProtocolMessage.proto.\n */\nexport const file_ProtocolMessage: GenFile = /*@__PURE__*/\n fileDesc(\"ChVQcm90b2NvbE1lc3NhZ2UucHJvdG8i4RQKCUVycm9yQ29kZSLTFAoERW51bRILCgdOb0Vycm9yEAASEAoMVW5rbm93bkVycm9yEAESFAoQSW52YWxpZE9wZXJhdGlvbhACEhkKFU9wZXJhdGlvbk5vdFBlcm1pdHRlZBADEhYKEkNsaWVudERvZXNOb3RFeGlzdBAEEhYKEk9yaWdpbkRvZXNOb3RFeGlzdBAFEhgKFFVuc3VwcG9ydGVkT3BlcmF0aW9uEAYSGgoWRmFpbGVkVG9TZXRQaWNrZWRSb3V0ZRAHEiAKHEZhaWxlZFRvUmVnaXN0ZXJDdXN0b21PcmlnaW4QCBIeChpGYWlsZWRUb1JlbW92ZUN1c3RvbU9yaWdpbhAJEiYKIlRoZUFwcGxpY2F0aW9uQWN0aXZpdHlEb2VzTm90RXhpc3QQChIuCipUaGVBcHBIYXNOb3RTZXR1cEFCcm93c2FibGVDb250ZW50RW5kcG9pbnQQCxJBCj1UaGVSZXF1ZXN0ZWRCcm93c2FibGVDb250ZW50QXBpSXNOb3RTdXBwb3J0ZWRCeVRoZUFwcGxpY2F0aW9uEAwSMgouVGhlTm90ZmljYXRpb25IYXNOb3RCZWVuV2hpdGVsaXN0ZWRCeVRoZVNlcnZlchANEjgKNE9wZXJhdGlvblJlcXVpcmVzQUNsaWVudENhbGxiYWNrVG9IYXZlQmVlblJlZ2lzdGVyZWQQDhI6CjZPcGVyYXRpb25SZXF1aXJlc0FDbGllbnREYXRhU291cmNlVG9IYXZlQmVlblJlZ2lzdGVyZWQQDxI1CjFSZXF1ZXN0ZWREYXRhSXNPdXRPZkRhdGVBbmRTaG91bGRCZVJlcXVlc3RlZEFnYWluEBASMAosVGhlRGV2aWNlc0VuZm9yY2VkVm9sdW1lTGltaXRIYXNCZWVuRXhjZWVkZWQQERIbChdWb2x1bWVWYWx1ZUlzT3V0T2ZSYW5nZRASEiQKIFZvbHVtZUlzQWxyZWFkeUF0VGhlTWF4aW11bVZhbHVlEBMSGAoUVm9sdW1lSXNBbHJlYWR5TXV0ZWQQFBIiCh5Wb2ljZUlucHV0RW5kcG9pbnREb2VzTm90RXhpc3QQFRI0CjBUaGVWb2ljZUlucHV0RGV2aWNlSXNOb3RSZWdpc3RlcmVkT3JEb2VzTm90RXhpc3QQFhIVChFFbmNyeXB0aW9uRmFpbHVyZRAXEhgKFEVuZHBvaW50RG9lc05vdEV4aXN0EBgSLgoqVGhlQ2xpZW50c0FwcGxpY2F0aW9uQ2FuY2VsbGVkVGhlT3BlcmF0aW9uEBkSGAoUVGhlT3BlcmF0aW9uVGltZWRPdXQQGhIqCiZUaGVTcGVjaWZpZWRQbGF5ZXJQYXRoT2JqZWN0V2FzSW52YWxpZBAbEjoKNkFkZGluZ09yUmVtb3ZpbmdEZXZpY2VzRnJvbVRoZUF2T3V0cHV0Q29udGV4dEhhc0ZhaWxlZBAcEiwKKENvdWxkTm90RmluZFRoZVNwZWNpZmllZE5vd1BsYXlpbmdQbGF5ZXIQHRInCiNUaGVTcGVjaWZpZWRDb250ZW50SXRlbURvZXNOb3RFeGlzdBAeEh8KG1RoZVNwZWNpZmllZE9mZnNldElzSW52YWxpZBAfEiYKIlRoZVNwZWNpZmllZE91dHB1dENvbnRleHRJc0ludmFsaWQQIBIyCi5PbmVPck1vcmVTcGVjaWZpZWRPdXRwdXREZXZpY2VzQXJlTm90R3JvdXBhYmxlECESSApEVGhlU3BlY2lmaWVkT3V0cHV0Q29udGV4dERvZXNOb3RTdXBwb3J0QWRkaW5nTW9yZVRoYW5PbmVPdXRwdXREZXZpY2UQIhIsCihDb3VsZE5vdEZpbmRUaGVTcGVjaWZpZWROb3dQbGF5aW5nQ2xpZW50ECMSUApMRW5kcG9pbnRWb2x1bWVDb250cm9sSXNPbmx5UG9zc2libGVJZlRoZUVuZHBvaW50SXNQaWNrZWRPclJlbW90ZUNvbnRyb2xsYWJsZRAkElQKUE91dHB1dERldmljZVZvbHVtZUNvbnRyb2xJc09ubHlQb3NzaWJsZUlmVGhlRW5kcG9pbnRJc1BpY2tlZE9yUmVtb3RlQ29udHJvbGxhYmxlECUSIgoeQ29kZXJNdXN0U3VwcG9ydEtleVZhbHVlQ29kaW5nECYSJAogQ291bGROb3RGaW5kVGhlR2l2ZW5PdXRwdXRkZXZpY2UQJxIhCh1GYWlsZWRUb0Nvbm5lY3RUb1JlbW90ZURldmljZRBkEiAKHEF1dGhlbnRpY2F0aW9uVG9rZW5Jc0ludmFsaWQQZRIzCi9SZWNvcmRpbmdTZXNzaW9uSXNBbHJlYWR5SW5Qcm9ncmVzc09uVGhpc0RldmljZRBmEiQKIFRoZURldmljZUlzTm90Q3VycmVudGx5UmVjb3JkaW5nEGcSHAoYVGhlQ2xpZW50SGFzRGlzY29ubmVjdGVkEGgSHAoYVGhlU2VydmVySGFzRGlzY29ubmVjdGVkEGkSLAooVGhlQ29ubmVjdGlvbkhhc0JlZW5DYW5jZWxsZWRCeVRoZUNsaWVudBBqEjQKMFBhaXJpbmdGdW5jdGlvbmFsaXR5SXNMb2NrZWREdWVUb1NlY3VyaXR5UmVhc29ucxBrEiwKKFRoZUNsaWVudHNPcGVyYXRpbmdTeXN0ZW1WZXJzaW9uSXNUb29PbGQQbBIoCiRUaGVDbGllbnRzQXBwbGljYXRpb25WZXJzaW9uSXNUb29PbGQQbRIYChRUaGVEZXZpY2VJc05vdFBhaXJlZBBuEj8KO1RoZVBpblBhaXJpbmdEaWFsb2dXYXNSZW1vdmVkQnlUaGVVc2VyQmVmb3JlUGFpcmluZ09jY291cmVkEG8SQAo8VGhlUGluUGFpcmluZ0RpYWxvZ1dhc1JlbW92ZWRCeUFUaW1lb3V0QmVmb3JlUGFpcmluZ09jY291cmVkEHASGQoVVGhlQ29ubmVjdGlvblRpbWVkb3V0EHESIgoeUGFpcmluZ1dpdGhUaGlzRGV2aWNlSXNCbG9ja2VkEHISGwoXVGhlRGV2aWNlSXNHb2luZ1RvU2xlZXAQcxIdChlDb25uZWN0aW9uQmxvY2tlZEJ5U2VydmVyEHQSPAo4TXJhdmVuZHBvaW50V2FzRGVhbGxvY2F0ZWRXaGlsZVdhaXRpbmdGb3JEZXZpY2VUb0Nvbm5lY3QQdRJICkNPdXRwdXRDb250ZXh0TW9kaWZpY2F0aW9uQ2F1c2VkQURldmljZVRvTm9Mb25nZXJCZUFQcm94eUdyb3VwUGxheWVyEMgBEkQKP091dHB1dENvbnRleHRNb2RpZmljYXRpb25DYXVzZWRBRGV2aWNlVG9CZWNvbWVBUHJveHlHcm91cFBsYXllchDJARI3CjJPdXRwdXRDb250ZXh0TW9kaWZpY2F0aW9uUmVxdWVzdGVkTm9Ub3BvbG9neUNoYW5nZRDKARIWChFPdGhlclVua25vd25FcnJvchCrAiLAGAoPUHJvdG9jb2xNZXNzYWdlEiMKBHR5cGUYASABKA4yFS5Qcm90b2NvbE1lc3NhZ2UuVHlwZRISCgppZGVudGlmaWVyGAIgASgJEhsKE2F1dGhlbnRpY2F0aW9uVG9rZW4YAyABKAkSIgoJZXJyb3JDb2RlGAQgASgOMg8uRXJyb3JDb2RlLkVudW0SEQoJdGltZXN0YW1wGAUgASgEEhgKEGVycm9yRGVzY3JpcHRpb24YTiABKAkSGAoQdW5pcXVlSWRlbnRpZmllchhVIAEoCSLVFgoEVHlwZRITCg9VTktOT1dOX01FU1NBR0UQABIYChRTRU5EX0NPTU1BTkRfTUVTU0FHRRABEh8KG1NFTkRfQ09NTUFORF9SRVNVTFRfTUVTU0FHRRACEhUKEUdFVF9TVEFURV9NRVNTQUdFEAMSFQoRU0VUX1NUQVRFX01FU1NBR0UQBBIXChNTRVRfQVJUV09SS19NRVNTQUdFEAUSHwobUkVHSVNURVJfSElEX0RFVklDRV9NRVNTQUdFEAYSJgoiUkVHSVNURVJfSElEX0RFVklDRV9SRVNVTFRfTUVTU0FHRRAHEhoKFlNFTkRfSElEX0VWRU5UX01FU1NBR0UQCBIbChdTRU5EX0hJRF9SRVBPUlRfTUVTU0FHRRAJEiQKIFNFTkRfVklSVFVBTF9UT1VDSF9FVkVOVF9NRVNTQUdFEAoSGAoUTk9USUZJQ0FUSU9OX01FU1NBR0UQCxIuCipDT05URU5UX0lURU1TX0NIQU5HRURfTk9USUZJQ0FUSU9OX01FU1NBR0UQDBIXChNERVZJQ0VfSU5GT19NRVNTQUdFEA8SIQodQ0xJRU5UX1VQREFURVNfQ09ORklHX01FU1NBR0UQEBInCiNWT0xVTUVfQ09OVFJPTF9BVkFJTEFCSUxJVFlfTUVTU0FHRRAREhsKF0dBTUVfQ09OVFJPTExFUl9NRVNTQUdFEBISJAogUkVHSVNURVJfR0FNRV9DT05UUk9MTEVSX01FU1NBR0UQExItCilSRUdJU1RFUl9HQU1FX0NPTlRST0xMRVJfUkVTUE9OU0VfTUVTU0FHRRAUEiYKIlVOUkVHSVNURVJfR0FNRV9DT05UUk9MTEVSX01FU1NBR0UQFRIvCitSRUdJU1RFUl9GT1JfR0FNRV9DT05UUk9MTEVSX0VWRU5UU19NRVNTQUdFEBYSFAoQS0VZQk9BUkRfTUVTU0FHRRAXEiAKHEdFVF9LRVlCT0FSRF9TRVNTSU9OX01FU1NBR0UQGBIWChJURVhUX0lOUFVUX01FU1NBR0UQGRIjCh9HRVRfVk9JQ0VfSU5QVVRfREVWSUNFU19NRVNTQUdFEBoSLAooR0VUX1ZPSUNFX0lOUFVUX0RFVklDRVNfUkVTUE9OU0VfTUVTU0FHRRAbEicKI1JFR0lTVEVSX1ZPSUNFX0lOUFVUX0RFVklDRV9NRVNTQUdFEBwSMAosUkVHSVNURVJfVk9JQ0VfSU5QVVRfREVWSUNFX1JFU1BPTlNFX01FU1NBR0UQHRIfChtTRVRfUkVDT1JESU5HX1NUQVRFX01FU1NBR0UQHhIcChhTRU5EX1ZPSUNFX0lOUFVUX01FU1NBR0UQHxIiCh5QTEFZQkFDS19RVUVVRV9SRVFVRVNUX01FU1NBR0UQIBIXChNUUkFOU0FDVElPTl9NRVNTQUdFECESGgoWQ1JZUFRPX1BBSVJJTkdfTUVTU0FHRRAiEiYKIkdBTUVfQ09OVFJPTExFUl9QUk9QRVJUSUVTX01FU1NBR0UQIxIbChdTRVRfUkVBRFlfU1RBVEVfTUVTU0FHRRAkEh4KGkRFVklDRV9JTkZPX1VQREFURV9NRVNTQUdFECUSIAocU0VUX0NPTk5FQ1RJT05fU1RBVEVfTUVTU0FHRRAmEh0KGVNFTkRfQlVUVE9OX0VWRU5UX01FU1NBR0UQJxIbChdTRVRfSElMSVRFX01PREVfTUVTU0FHRRAoEhcKE1dBS0VfREVWSUNFX01FU1NBR0UQKRITCg9HRU5FUklDX01FU1NBR0UQKhIrCidTRU5EX1BBQ0tFRF9WSVJUVUFMX1RPVUNIX0VWRU5UX01FU1NBR0UQKxIVChFTRU5EX0xZUklDU19FVkVOVBAsEiIKHlNFVF9OT1dfUExBWUlOR19DTElFTlRfTUVTU0FHRRAuEiIKHlNFVF9OT1dfUExBWUlOR19QTEFZRVJfTUVTU0FHRRAvEikKJU1PRElGWV9PVVRQVVRfQ09OVEVYVF9SRVFVRVNUX01FU1NBR0UQMBIWChJHRVRfVk9MVU1FX01FU1NBR0UQMRIdChlHRVRfVk9MVU1FX1JFU1VMVF9NRVNTQUdFEDISFgoSU0VUX1ZPTFVNRV9NRVNTQUdFEDMSHQoZVk9MVU1FX0RJRF9DSEFOR0VfTUVTU0FHRRA0EhkKFVJFTU9WRV9DTElFTlRfTUVTU0FHRRA1EhkKFVJFTU9WRV9QTEFZRVJfTUVTU0FHRRA2EhkKFVVQREFURV9DTElFTlRfTUVTU0FHRRA3Eh8KG1VQREFURV9DT05URU5UX0lURU1fTUVTU0FHRRA4EicKI1VQREFURV9DT05URU5UX0lURU1fQVJUV09SS19NRVNTQUdFEDkSGQoVVVBEQVRFX1BMQVlFUl9NRVNTQUdFEDoSKgomUFJPTVBUX0ZPUl9ST1VURV9BVVRIT1JJWkFUSU9OX01FU1NBR0UQOxIzCi9QUk9NUFRfRk9SX1JPVVRFX0FVVEhPUklaQVRJT05fUkVTUE9OU0VfTUVTU0FHRRA8Ei4KKlBSRVNFTlRfUk9VVEVfQVVUSE9SSVpBVElPTl9TVEFUVVNfTUVTU0FHRRA9EisKJ0dFVF9WT0xVTUVfQ09OVFJPTF9DQVBBQklMSVRJRVNfTUVTU0FHRRA+EjIKLkdFVF9WT0xVTUVfQ09OVFJPTF9DQVBBQklMSVRJRVNfUkVTVUxUX01FU1NBR0UQPxIyCi5WT0xVTUVfQ09OVFJPTF9DQVBBQklMSVRJRVNfRElEX0NIQU5HRV9NRVNTQUdFEEASIAocVVBEQVRFX09VVFBVVF9ERVZJQ0VfTUVTU0FHRRBBEiEKHVJFTU9WRV9PVVRQVVRfREVWSUNFU19NRVNTQUdFEEISHQoZUkVNT1RFX1RFWFRfSU5QVVRfTUVTU0FHRRBDEikKJUdFVF9SRU1PVEVfVEVYVF9JTlBVVF9TRVNTSU9OX01FU1NBR0UQRBIiCh5SRU1PVkVfT1VUUFVUX0RFVklDRVNfTUVTU0FHRTIQRRIkCiBQTEFZQkFDS19TRVNTSU9OX1JFUVVFU1RfTUVTU0FHRRBGEiUKIVBMQVlCQUNLX1NFU1NJT05fUkVTUE9OU0VfTUVTU0FHRRBHEioKJlNFVF9ERUZBVUxUX1NVUFBPUlRFRF9DT01NQU5EU19NRVNTQUdFEEgSLAooUExBWUJBQ0tfU0VTU0lPTl9NSUdSQVRFX1JFUVVFU1RfTUVTU0FHRRBJEi0KKVBMQVlCQUNLX1NFU1NJT05fTUlHUkFURV9SRVNQT05TRV9NRVNTQUdFEEoSKgomUExBWUJBQ0tfU0VTU0lPTl9NSUdSQVRFX0JFR0lOX01FU1NBR0UQSxIoCiRQTEFZQkFDS19TRVNTSU9OX01JR1JBVEVfRU5EX01FU1NBR0UQTBIpCiVVUERBVEVfQUNUSVZFX1NZU1RFTV9FTkRQT0lOVF9NRVNTQUdFEE0SHgoaU0VUX0RJU0NPVkVSWV9NT0RFX01FU1NBR0UQZRIdChlVUERBVEVfRU5EX1BPSU5UU19NRVNTQUdFEGYSHAoYUkVNT1ZFX0VORFBPSU5UU19NRVNTQUdFEGcSJAogUExBWUVSX0NMSUVOVF9QUk9QRVJUSUVTX01FU1NBR0UQaBIkCiBPUklHSU5fQ0xJRU5UX1BST1BFUlRJRVNfTUVTU0FHRRBpEhYKEkFVRElPX0ZBREVfTUVTU0FHRRBqEh8KG0FVRElPX0ZBREVfUkVTUE9OU0VfTUVTU0FHRRBrEiAKHENPTkZJR1VSRV9DT05ORUNUSU9OX01FU1NBR0UQeCoECAYQTioECE8QVSoICFYQgICAgAI\");\n\n/**\n * @generated from message ErrorCode\n */\nexport type ErrorCode = Message<\"ErrorCode\"> & {\n};\n\n/**\n * Describes the message ErrorCode.\n * Use `create(ErrorCodeSchema)` to create a new message.\n */\nexport const ErrorCodeSchema: GenMessage<ErrorCode> = /*@__PURE__*/\n messageDesc(file_ProtocolMessage, 0);\n\n/**\n * @generated from enum ErrorCode.Enum\n */\nexport enum ErrorCode_Enum {\n /**\n * @generated from enum value: NoError = 0;\n */\n NoError = 0,\n\n /**\n * @generated from enum value: UnknownError = 1;\n */\n UnknownError = 1,\n\n /**\n * @generated from enum value: InvalidOperation = 2;\n */\n InvalidOperation = 2,\n\n /**\n * @generated from enum value: OperationNotPermitted = 3;\n */\n OperationNotPermitted = 3,\n\n /**\n * @generated from enum value: ClientDoesNotExist = 4;\n */\n ClientDoesNotExist = 4,\n\n /**\n * @generated from enum value: OriginDoesNotExist = 5;\n */\n OriginDoesNotExist = 5,\n\n /**\n * @generated from enum value: UnsupportedOperation = 6;\n */\n UnsupportedOperation = 6,\n\n /**\n * @generated from enum value: FailedToSetPickedRoute = 7;\n */\n FailedToSetPickedRoute = 7,\n\n /**\n * @generated from enum value: FailedToRegisterCustomOrigin = 8;\n */\n FailedToRegisterCustomOrigin = 8,\n\n /**\n * @generated from enum value: FailedToRemoveCustomOrigin = 9;\n */\n FailedToRemoveCustomOrigin = 9,\n\n /**\n * @generated from enum value: TheApplicationActivityDoesNotExist = 10;\n */\n TheApplicationActivityDoesNotExist = 10,\n\n /**\n * @generated from enum value: TheAppHasNotSetupABrowsableContentEndpoint = 11;\n */\n TheAppHasNotSetupABrowsableContentEndpoint = 11,\n\n /**\n * @generated from enum value: TheRequestedBrowsableContentApiIsNotSupportedByTheApplication = 12;\n */\n TheRequestedBrowsableContentApiIsNotSupportedByTheApplication = 12,\n\n /**\n * @generated from enum value: TheNotficationHasNotBeenWhitelistedByTheServer = 13;\n */\n TheNotficationHasNotBeenWhitelistedByTheServer = 13,\n\n /**\n * @generated from enum value: OperationRequiresAClientCallbackToHaveBeenRegistered = 14;\n */\n OperationRequiresAClientCallbackToHaveBeenRegistered = 14,\n\n /**\n * @generated from enum value: OperationRequiresAClientDataSourceToHaveBeenRegistered = 15;\n */\n OperationRequiresAClientDataSourceToHaveBeenRegistered = 15,\n\n /**\n * @generated from enum value: RequestedDataIsOutOfDateAndShouldBeRequestedAgain = 16;\n */\n RequestedDataIsOutOfDateAndShouldBeRequestedAgain = 16,\n\n /**\n * The system will ignore the volume adjustment until overridden.\n *\n * @generated from enum value: TheDevicesEnforcedVolumeLimitHasBeenExceeded = 17;\n */\n TheDevicesEnforcedVolumeLimitHasBeenExceeded = 17,\n\n /**\n * between 0.0 and 1.0, where 1.0 is the loudest\n *\n * @generated from enum value: VolumeValueIsOutOfRange = 18;\n */\n VolumeValueIsOutOfRange = 18,\n\n /**\n * @generated from enum value: VolumeIsAlreadyAtTheMaximumValue = 19;\n */\n VolumeIsAlreadyAtTheMaximumValue = 19,\n\n /**\n * @generated from enum value: VolumeIsAlreadyMuted = 20;\n */\n VolumeIsAlreadyMuted = 20,\n\n /**\n * @generated from enum value: VoiceInputEndpointDoesNotExist = 21;\n */\n VoiceInputEndpointDoesNotExist = 21,\n\n /**\n * @generated from enum value: TheVoiceInputDeviceIsNotRegisteredOrDoesNotExist = 22;\n */\n TheVoiceInputDeviceIsNotRegisteredOrDoesNotExist = 22,\n\n /**\n * @generated from enum value: EncryptionFailure = 23;\n */\n EncryptionFailure = 23,\n\n /**\n * @generated from enum value: EndpointDoesNotExist = 24;\n */\n EndpointDoesNotExist = 24,\n\n /**\n * @generated from enum value: TheClientsApplicationCancelledTheOperation = 25;\n */\n TheClientsApplicationCancelledTheOperation = 25,\n\n /**\n * @generated from enum value: TheOperationTimedOut = 26;\n */\n TheOperationTimedOut = 26,\n\n /**\n * @generated from enum value: TheSpecifiedPlayerPathObjectWasInvalid = 27;\n */\n TheSpecifiedPlayerPathObjectWasInvalid = 27,\n\n /**\n * @generated from enum value: AddingOrRemovingDevicesFromTheAvOutputContextHasFailed = 28;\n */\n AddingOrRemovingDevicesFromTheAvOutputContextHasFailed = 28,\n\n /**\n * @generated from enum value: CouldNotFindTheSpecifiedNowPlayingPlayer = 29;\n */\n CouldNotFindTheSpecifiedNowPlayingPlayer = 29,\n\n /**\n * @generated from enum value: TheSpecifiedContentItemDoesNotExist = 30;\n */\n TheSpecifiedContentItemDoesNotExist = 30,\n\n /**\n * @generated from enum value: TheSpecifiedOffsetIsInvalid = 31;\n */\n TheSpecifiedOffsetIsInvalid = 31,\n\n /**\n * @generated from enum value: TheSpecifiedOutputContextIsInvalid = 32;\n */\n TheSpecifiedOutputContextIsInvalid = 32,\n\n /**\n * @generated from enum value: OneOrMoreSpecifiedOutputDevicesAreNotGroupable = 33;\n */\n OneOrMoreSpecifiedOutputDevicesAreNotGroupable = 33,\n\n /**\n * @generated from enum value: TheSpecifiedOutputContextDoesNotSupportAddingMoreThanOneOutputDevice = 34;\n */\n TheSpecifiedOutputContextDoesNotSupportAddingMoreThanOneOutputDevice = 34,\n\n /**\n * @generated from enum value: CouldNotFindTheSpecifiedNowPlayingClient = 35;\n */\n CouldNotFindTheSpecifiedNowPlayingClient = 35,\n\n /**\n * @generated from enum value: EndpointVolumeControlIsOnlyPossibleIfTheEndpointIsPickedOrRemoteControllable = 36;\n */\n EndpointVolumeControlIsOnlyPossibleIfTheEndpointIsPickedOrRemoteControllable = 36,\n\n /**\n * @generated from enum value: OutputDeviceVolumeControlIsOnlyPossibleIfTheEndpointIsPickedOrRemoteControllable = 37;\n */\n OutputDeviceVolumeControlIsOnlyPossibleIfTheEndpointIsPickedOrRemoteControllable = 37,\n\n /**\n * @generated from enum value: CoderMustSupportKeyValueCoding = 38;\n */\n CoderMustSupportKeyValueCoding = 38,\n\n /**\n * @generated from enum value: CouldNotFindTheGivenOutputdevice = 39;\n */\n CouldNotFindTheGivenOutputdevice = 39,\n\n /**\n * @generated from enum value: FailedToConnectToRemoteDevice = 100;\n */\n FailedToConnectToRemoteDevice = 100,\n\n /**\n * @generated from enum value: AuthenticationTokenIsInvalid = 101;\n */\n AuthenticationTokenIsInvalid = 101,\n\n /**\n * @generated from enum value: RecordingSessionIsAlreadyInProgressOnThisDevice = 102;\n */\n RecordingSessionIsAlreadyInProgressOnThisDevice = 102,\n\n /**\n * @generated from enum value: TheDeviceIsNotCurrentlyRecording = 103;\n */\n TheDeviceIsNotCurrentlyRecording = 103,\n\n /**\n * @generated from enum value: TheClientHasDisconnected = 104;\n */\n TheClientHasDisconnected = 104,\n\n /**\n * @generated from enum value: TheServerHasDisconnected = 105;\n */\n TheServerHasDisconnected = 105,\n\n /**\n * @generated from enum value: TheConnectionHasBeenCancelledByTheClient = 106;\n */\n TheConnectionHasBeenCancelledByTheClient = 106,\n\n /**\n * @generated from enum value: PairingFunctionalityIsLockedDueToSecurityReasons = 107;\n */\n PairingFunctionalityIsLockedDueToSecurityReasons = 107,\n\n /**\n * @generated from enum value: TheClientsOperatingSystemVersionIsTooOld = 108;\n */\n TheClientsOperatingSystemVersionIsTooOld = 108,\n\n /**\n * @generated from enum value: TheClientsApplicationVersionIsTooOld = 109;\n */\n TheClientsApplicationVersionIsTooOld = 109,\n\n /**\n * @generated from enum value: TheDeviceIsNotPaired = 110;\n */\n TheDeviceIsNotPaired = 110,\n\n /**\n * @generated from enum value: ThePinPairingDialogWasRemovedByTheUserBeforePairingOccoured = 111;\n */\n ThePinPairingDialogWasRemovedByTheUserBeforePairingOccoured = 111,\n\n /**\n * @generated from enum value: ThePinPairingDialogWasRemovedByATimeoutBeforePairingOccoured = 112;\n */\n ThePinPairingDialogWasRemovedByATimeoutBeforePairingOccoured = 112,\n\n /**\n * @generated from enum value: TheConnectionTimedout = 113;\n */\n TheConnectionTimedout = 113,\n\n /**\n * @generated from enum value: PairingWithThisDeviceIsBlocked = 114;\n */\n PairingWithThisDeviceIsBlocked = 114,\n\n /**\n * @generated from enum value: TheDeviceIsGoingToSleep = 115;\n */\n TheDeviceIsGoingToSleep = 115,\n\n /**\n * @generated from enum value: ConnectionBlockedByServer = 116;\n */\n ConnectionBlockedByServer = 116,\n\n /**\n * @generated from enum value: MravendpointWasDeallocatedWhileWaitingForDeviceToConnect = 117;\n */\n MravendpointWasDeallocatedWhileWaitingForDeviceToConnect = 117,\n\n /**\n * @generated from enum value: OutputContextModificationCausedADeviceToNoLongerBeAProxyGroupPlayer = 200;\n */\n OutputContextModificationCausedADeviceToNoLongerBeAProxyGroupPlayer = 200,\n\n /**\n * @generated from enum value: OutputContextModificationCausedADeviceToBecomeAProxyGroupPlayer = 201;\n */\n OutputContextModificationCausedADeviceToBecomeAProxyGroupPlayer = 201,\n\n /**\n * @generated from enum value: OutputContextModificationRequestedNoTopologyChange = 202;\n */\n OutputContextModificationRequestedNoTopologyChange = 202,\n\n /**\n * @generated from enum value: OtherUnknownError = 299;\n */\n OtherUnknownError = 299,\n}\n\n/**\n * Describes the enum ErrorCode.Enum.\n */\nexport const ErrorCode_EnumSchema: GenEnum<ErrorCode_Enum> = /*@__PURE__*/\n enumDesc(file_ProtocolMessage, 0, 0);\n\n/**\n * @generated from message ProtocolMessage\n */\nexport type ProtocolMessage = Message<\"ProtocolMessage\"> & {\n /**\n * Identifies which underlying message is filled in.\n *\n * @generated from field: optional ProtocolMessage.Type type = 1;\n */\n type: ProtocolMessage_Type;\n\n /**\n * @generated from field: optional string identifier = 2;\n */\n identifier: string;\n\n /**\n * @generated from field: optional string authenticationToken = 3;\n */\n authenticationToken: string;\n\n /**\n * @generated from field: optional ErrorCode.Enum errorCode = 4;\n */\n errorCode: ErrorCode_Enum;\n\n /**\n * @generated from field: optional uint64 timestamp = 5;\n */\n timestamp: bigint;\n\n /**\n * @generated from field: optional string errorDescription = 78;\n */\n errorDescription: string;\n\n /**\n * @generated from field: optional string uniqueIdentifier = 85;\n */\n uniqueIdentifier: string;\n};\n\n/**\n * Describes the message ProtocolMessage.\n * Use `create(ProtocolMessageSchema)` to create a new message.\n */\nexport const ProtocolMessageSchema: GenMessage<ProtocolMessage> = /*@__PURE__*/\n messageDesc(file_ProtocolMessage, 1);\n\n/**\n * @generated from enum ProtocolMessage.Type\n */\nexport enum ProtocolMessage_Type {\n /**\n * @generated from enum value: UNKNOWN_MESSAGE = 0;\n */\n UNKNOWN_MESSAGE = 0,\n\n /**\n * @generated from enum value: SEND_COMMAND_MESSAGE = 1;\n */\n SEND_COMMAND_MESSAGE = 1,\n\n /**\n * @generated from enum value: SEND_COMMAND_RESULT_MESSAGE = 2;\n */\n SEND_COMMAND_RESULT_MESSAGE = 2,\n\n /**\n * @generated from enum value: GET_STATE_MESSAGE = 3;\n */\n GET_STATE_MESSAGE = 3,\n\n /**\n * @generated from enum value: SET_STATE_MESSAGE = 4;\n */\n SET_STATE_MESSAGE = 4,\n\n /**\n * @generated from enum value: SET_ARTWORK_MESSAGE = 5;\n */\n SET_ARTWORK_MESSAGE = 5,\n\n /**\n * @generated from enum value: REGISTER_HID_DEVICE_MESSAGE = 6;\n */\n REGISTER_HID_DEVICE_MESSAGE = 6,\n\n /**\n * @generated from enum value: REGISTER_HID_DEVICE_RESULT_MESSAGE = 7;\n */\n REGISTER_HID_DEVICE_RESULT_MESSAGE = 7,\n\n /**\n * @generated from enum value: SEND_HID_EVENT_MESSAGE = 8;\n */\n SEND_HID_EVENT_MESSAGE = 8,\n\n /**\n * @generated from enum value: SEND_HID_REPORT_MESSAGE = 9;\n */\n SEND_HID_REPORT_MESSAGE = 9,\n\n /**\n * @generated from enum value: SEND_VIRTUAL_TOUCH_EVENT_MESSAGE = 10;\n */\n SEND_VIRTUAL_TOUCH_EVENT_MESSAGE = 10,\n\n /**\n * @generated from enum value: NOTIFICATION_MESSAGE = 11;\n */\n NOTIFICATION_MESSAGE = 11,\n\n /**\n * @generated from enum value: CONTENT_ITEMS_CHANGED_NOTIFICATION_MESSAGE = 12;\n */\n CONTENT_ITEMS_CHANGED_NOTIFICATION_MESSAGE = 12,\n\n /**\n * @generated from enum value: DEVICE_INFO_MESSAGE = 15;\n */\n DEVICE_INFO_MESSAGE = 15,\n\n /**\n * @generated from enum value: CLIENT_UPDATES_CONFIG_MESSAGE = 16;\n */\n CLIENT_UPDATES_CONFIG_MESSAGE = 16,\n\n /**\n * @generated from enum value: VOLUME_CONTROL_AVAILABILITY_MESSAGE = 17;\n */\n VOLUME_CONTROL_AVAILABILITY_MESSAGE = 17,\n\n /**\n * @generated from enum value: GAME_CONTROLLER_MESSAGE = 18;\n */\n GAME_CONTROLLER_MESSAGE = 18,\n\n /**\n * @generated from enum value: REGISTER_GAME_CONTROLLER_MESSAGE = 19;\n */\n REGISTER_GAME_CONTROLLER_MESSAGE = 19,\n\n /**\n * @generated from enum value: REGISTER_GAME_CONTROLLER_RESPONSE_MESSAGE = 20;\n */\n REGISTER_GAME_CONTROLLER_RESPONSE_MESSAGE = 20,\n\n /**\n * @generated from enum value: UNREGISTER_GAME_CONTROLLER_MESSAGE = 21;\n */\n UNREGISTER_GAME_CONTROLLER_MESSAGE = 21,\n\n /**\n * @generated from enum value: REGISTER_FOR_GAME_CONTROLLER_EVENTS_MESSAGE = 22;\n */\n REGISTER_FOR_GAME_CONTROLLER_EVENTS_MESSAGE = 22,\n\n /**\n * @generated from enum value: KEYBOARD_MESSAGE = 23;\n */\n KEYBOARD_MESSAGE = 23,\n\n /**\n * @generated from enum value: GET_KEYBOARD_SESSION_MESSAGE = 24;\n */\n GET_KEYBOARD_SESSION_MESSAGE = 24,\n\n /**\n * @generated from enum value: TEXT_INPUT_MESSAGE = 25;\n */\n TEXT_INPUT_MESSAGE = 25,\n\n /**\n * @generated from enum value: GET_VOICE_INPUT_DEVICES_MESSAGE = 26;\n */\n GET_VOICE_INPUT_DEVICES_MESSAGE = 26,\n\n /**\n * @generated from enum value: GET_VOICE_INPUT_DEVICES_RESPONSE_MESSAGE = 27;\n */\n GET_VOICE_INPUT_DEVICES_RESPONSE_MESSAGE = 27,\n\n /**\n * @generated from enum value: REGISTER_VOICE_INPUT_DEVICE_MESSAGE = 28;\n */\n REGISTER_VOICE_INPUT_DEVICE_MESSAGE = 28,\n\n /**\n * @generated from enum value: REGISTER_VOICE_INPUT_DEVICE_RESPONSE_MESSAGE = 29;\n */\n REGISTER_VOICE_INPUT_DEVICE_RESPONSE_MESSAGE = 29,\n\n /**\n * @generated from enum value: SET_RECORDING_STATE_MESSAGE = 30;\n */\n SET_RECORDING_STATE_MESSAGE = 30,\n\n /**\n * @generated from enum value: SEND_VOICE_INPUT_MESSAGE = 31;\n */\n SEND_VOICE_INPUT_MESSAGE = 31,\n\n /**\n * @generated from enum value: PLAYBACK_QUEUE_REQUEST_MESSAGE = 32;\n */\n PLAYBACK_QUEUE_REQUEST_MESSAGE = 32,\n\n /**\n * @generated from enum value: TRANSACTION_MESSAGE = 33;\n */\n TRANSACTION_MESSAGE = 33,\n\n /**\n * @generated from enum value: CRYPTO_PAIRING_MESSAGE = 34;\n */\n CRYPTO_PAIRING_MESSAGE = 34,\n\n /**\n * @generated from enum value: GAME_CONTROLLER_PROPERTIES_MESSAGE = 35;\n */\n GAME_CONTROLLER_PROPERTIES_MESSAGE = 35,\n\n /**\n * @generated from enum value: SET_READY_STATE_MESSAGE = 36;\n */\n SET_READY_STATE_MESSAGE = 36,\n\n /**\n * @generated from enum value: DEVICE_INFO_UPDATE_MESSAGE = 37;\n */\n DEVICE_INFO_UPDATE_MESSAGE = 37,\n\n /**\n * @generated from enum value: SET_CONNECTION_STATE_MESSAGE = 38;\n */\n SET_CONNECTION_STATE_MESSAGE = 38,\n\n /**\n * @generated from enum value: SEND_BUTTON_EVENT_MESSAGE = 39;\n */\n SEND_BUTTON_EVENT_MESSAGE = 39,\n\n /**\n * @generated from enum value: SET_HILITE_MODE_MESSAGE = 40;\n */\n SET_HILITE_MODE_MESSAGE = 40,\n\n /**\n * @generated from enum value: WAKE_DEVICE_MESSAGE = 41;\n */\n WAKE_DEVICE_MESSAGE = 41,\n\n /**\n * @generated from enum value: GENERIC_MESSAGE = 42;\n */\n GENERIC_MESSAGE = 42,\n\n /**\n * @generated from enum value: SEND_PACKED_VIRTUAL_TOUCH_EVENT_MESSAGE = 43;\n */\n SEND_PACKED_VIRTUAL_TOUCH_EVENT_MESSAGE = 43,\n\n /**\n * @generated from enum value: SEND_LYRICS_EVENT = 44;\n */\n SEND_LYRICS_EVENT = 44,\n\n /**\n * @generated from enum value: SET_NOW_PLAYING_CLIENT_MESSAGE = 46;\n */\n SET_NOW_PLAYING_CLIENT_MESSAGE = 46,\n\n /**\n * @generated from enum value: SET_NOW_PLAYING_PLAYER_MESSAGE = 47;\n */\n SET_NOW_PLAYING_PLAYER_MESSAGE = 47,\n\n /**\n * @generated from enum value: MODIFY_OUTPUT_CONTEXT_REQUEST_MESSAGE = 48;\n */\n MODIFY_OUTPUT_CONTEXT_REQUEST_MESSAGE = 48,\n\n /**\n * @generated from enum value: GET_VOLUME_MESSAGE = 49;\n */\n GET_VOLUME_MESSAGE = 49,\n\n /**\n * @generated from enum value: GET_VOLUME_RESULT_MESSAGE = 50;\n */\n GET_VOLUME_RESULT_MESSAGE = 50,\n\n /**\n * @generated from enum value: SET_VOLUME_MESSAGE = 51;\n */\n SET_VOLUME_MESSAGE = 51,\n\n /**\n * @generated from enum value: VOLUME_DID_CHANGE_MESSAGE = 52;\n */\n VOLUME_DID_CHANGE_MESSAGE = 52,\n\n /**\n * @generated from enum value: REMOVE_CLIENT_MESSAGE = 53;\n */\n REMOVE_CLIENT_MESSAGE = 53,\n\n /**\n * @generated from enum value: REMOVE_PLAYER_MESSAGE = 54;\n */\n REMOVE_PLAYER_MESSAGE = 54,\n\n /**\n * @generated from enum value: UPDATE_CLIENT_MESSAGE = 55;\n */\n UPDATE_CLIENT_MESSAGE = 55,\n\n /**\n * @generated from enum value: UPDATE_CONTENT_ITEM_MESSAGE = 56;\n */\n UPDATE_CONTENT_ITEM_MESSAGE = 56,\n\n /**\n * @generated from enum value: UPDATE_CONTENT_ITEM_ARTWORK_MESSAGE = 57;\n */\n UPDATE_CONTENT_ITEM_ARTWORK_MESSAGE = 57,\n\n /**\n * @generated from enum value: UPDATE_PLAYER_MESSAGE = 58;\n */\n UPDATE_PLAYER_MESSAGE = 58,\n\n /**\n * @generated from enum value: PROMPT_FOR_ROUTE_AUTHORIZATION_MESSAGE = 59;\n */\n PROMPT_FOR_ROUTE_AUTHORIZATION_MESSAGE = 59,\n\n /**\n * @generated from enum value: PROMPT_FOR_ROUTE_AUTHORIZATION_RESPONSE_MESSAGE = 60;\n */\n PROMPT_FOR_ROUTE_AUTHORIZATION_RESPONSE_MESSAGE = 60,\n\n /**\n * @generated from enum value: PRESENT_ROUTE_AUTHORIZATION_STATUS_MESSAGE = 61;\n */\n PRESENT_ROUTE_AUTHORIZATION_STATUS_MESSAGE = 61,\n\n /**\n * @generated from enum value: GET_VOLUME_CONTROL_CAPABILITIES_MESSAGE = 62;\n */\n GET_VOLUME_CONTROL_CAPABILITIES_MESSAGE = 62,\n\n /**\n * @generated from enum value: GET_VOLUME_CONTROL_CAPABILITIES_RESULT_MESSAGE = 63;\n */\n GET_VOLUME_CONTROL_CAPABILITIES_RESULT_MESSAGE = 63,\n\n /**\n * @generated from enum value: VOLUME_CONTROL_CAPABILITIES_DID_CHANGE_MESSAGE = 64;\n */\n VOLUME_CONTROL_CAPABILITIES_DID_CHANGE_MESSAGE = 64,\n\n /**\n * @generated from enum value: UPDATE_OUTPUT_DEVICE_MESSAGE = 65;\n */\n UPDATE_OUTPUT_DEVICE_MESSAGE = 65,\n\n /**\n * @generated from enum value: REMOVE_OUTPUT_DEVICES_MESSAGE = 66;\n */\n REMOVE_OUTPUT_DEVICES_MESSAGE = 66,\n\n /**\n * @generated from enum value: REMOTE_TEXT_INPUT_MESSAGE = 67;\n */\n REMOTE_TEXT_INPUT_MESSAGE = 67,\n\n /**\n * @generated from enum value: GET_REMOTE_TEXT_INPUT_SESSION_MESSAGE = 68;\n */\n GET_REMOTE_TEXT_INPUT_SESSION_MESSAGE = 68,\n\n /**\n * Same as 66?\n *\n * @generated from enum value: REMOVE_OUTPUT_DEVICES_MESSAGE2 = 69;\n */\n REMOVE_OUTPUT_DEVICES_MESSAGE2 = 69,\n\n /**\n * @generated from enum value: PLAYBACK_SESSION_REQUEST_MESSAGE = 70;\n */\n PLAYBACK_SESSION_REQUEST_MESSAGE = 70,\n\n /**\n * @generated from enum value: PLAYBACK_SESSION_RESPONSE_MESSAGE = 71;\n */\n PLAYBACK_SESSION_RESPONSE_MESSAGE = 71,\n\n /**\n * @generated from enum value: SET_DEFAULT_SUPPORTED_COMMANDS_MESSAGE = 72;\n */\n SET_DEFAULT_SUPPORTED_COMMANDS_MESSAGE = 72,\n\n /**\n * @generated from enum value: PLAYBACK_SESSION_MIGRATE_REQUEST_MESSAGE = 73;\n */\n PLAYBACK_SESSION_MIGRATE_REQUEST_MESSAGE = 73,\n\n /**\n * @generated from enum value: PLAYBACK_SESSION_MIGRATE_RESPONSE_MESSAGE = 74;\n */\n PLAYBACK_SESSION_MIGRATE_RESPONSE_MESSAGE = 74,\n\n /**\n * @generated from enum value: PLAYBACK_SESSION_MIGRATE_BEGIN_MESSAGE = 75;\n */\n PLAYBACK_SESSION_MIGRATE_BEGIN_MESSAGE = 75,\n\n /**\n * @generated from enum value: PLAYBACK_SESSION_MIGRATE_END_MESSAGE = 76;\n */\n PLAYBACK_SESSION_MIGRATE_END_MESSAGE = 76,\n\n /**\n * @generated from enum value: UPDATE_ACTIVE_SYSTEM_ENDPOINT_MESSAGE = 77;\n */\n UPDATE_ACTIVE_SYSTEM_ENDPOINT_MESSAGE = 77,\n\n /**\n * @generated from enum value: SET_DISCOVERY_MODE_MESSAGE = 101;\n */\n SET_DISCOVERY_MODE_MESSAGE = 101,\n\n /**\n * @generated from enum value: UPDATE_END_POINTS_MESSAGE = 102;\n */\n UPDATE_END_POINTS_MESSAGE = 102,\n\n /**\n * @generated from enum value: REMOVE_ENDPOINTS_MESSAGE = 103;\n */\n REMOVE_ENDPOINTS_MESSAGE = 103,\n\n /**\n * @generated from enum value: PLAYER_CLIENT_PROPERTIES_MESSAGE = 104;\n */\n PLAYER_CLIENT_PROPERTIES_MESSAGE = 104,\n\n /**\n * @generated from enum value: ORIGIN_CLIENT_PROPERTIES_MESSAGE = 105;\n */\n ORIGIN_CLIENT_PROPERTIES_MESSAGE = 105,\n\n /**\n * @generated from enum value: AUDIO_FADE_MESSAGE = 106;\n */\n AUDIO_FADE_MESSAGE = 106,\n\n /**\n * @generated from enum value: AUDIO_FADE_RESPONSE_MESSAGE = 107;\n */\n AUDIO_FADE_RESPONSE_MESSAGE = 107,\n\n /**\n * @generated from enum value: CONFIGURE_CONNECTION_MESSAGE = 120;\n */\n CONFIGURE_CONNECTION_MESSAGE = 120,\n}\n\n/**\n * Describes the enum ProtocolMessage.Type.\n */\nexport const ProtocolMessage_TypeSchema: GenEnum<ProtocolMessage_Type> = /*@__PURE__*/\n enumDesc(file_ProtocolMessage, 1, 0);\n\n",
10
10
  "// @generated by protoc-gen-es v2.10.0 with parameter \"target=ts\"\n// @generated from file PlayerPath.proto (syntax proto2)\n/* eslint-disable */\n\nimport type { GenFile, GenMessage } from \"@bufbuild/protobuf/codegenv2\";\nimport { fileDesc, messageDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Origin } from \"./Origin_pb\";\nimport { file_Origin } from \"./Origin_pb\";\nimport type { NowPlayingClient } from \"./NowPlayingClient_pb\";\nimport { file_NowPlayingClient } from \"./NowPlayingClient_pb\";\nimport type { NowPlayingPlayer } from \"./NowPlayingPlayer_pb\";\nimport { file_NowPlayingPlayer } from \"./NowPlayingPlayer_pb\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file PlayerPath.proto.\n */\nexport const file_PlayerPath: GenFile = /*@__PURE__*/\n fileDesc(\"ChBQbGF5ZXJQYXRoLnByb3RvImsKClBsYXllclBhdGgSFwoGb3JpZ2luGAEgASgLMgcuT3JpZ2luEiEKBmNsaWVudBgCIAEoCzIRLk5vd1BsYXlpbmdDbGllbnQSIQoGcGxheWVyGAMgASgLMhEuTm93UGxheWluZ1BsYXllcg\", [file_Origin, file_NowPlayingClient, file_NowPlayingPlayer]);\n\n/**\n * @generated from message PlayerPath\n */\nexport type PlayerPath = Message<\"PlayerPath\"> & {\n /**\n * @generated from field: optional Origin origin = 1;\n */\n origin?: Origin;\n\n /**\n * @generated from field: optional NowPlayingClient client = 2;\n */\n client?: NowPlayingClient;\n\n /**\n * @generated from field: optional NowPlayingPlayer player = 3;\n */\n player?: NowPlayingPlayer;\n};\n\n/**\n * Describes the message PlayerPath.\n * Use `create(PlayerPathSchema)` to create a new message.\n */\nexport const PlayerPathSchema: GenMessage<PlayerPath> = /*@__PURE__*/\n messageDesc(file_PlayerPath, 0);\n\n",
@@ -89,7 +89,7 @@
89
89
  "import { HTTP_TIMEOUT, reporter } from '@basmilius/apple-common';\nimport type { RTSPMethod } from './types';\nimport { makeHttpHeader, makeHttpResponse } from './utils';\nimport AirPlayStream from './stream';\n\nexport default class AirPlayRTSP extends AirPlayStream<{}> {\n get activeRemote(): string {\n return this.#activeRemote;\n }\n\n get dacpId(): string {\n return this.#dacpId;\n }\n\n get sessionId(): string {\n return this.#sessionId;\n }\n\n readonly #activeRemote: string;\n readonly #dacpId: string;\n readonly #sessionId: string;\n #buffer: Buffer = Buffer.alloc(0);\n #cseq: number = 0;\n #requesting: boolean = false;\n #reject: Function;\n #resolve: Function;\n\n constructor(address: string, port: number) {\n super(address, port);\n\n this.#activeRemote = Math.floor(Math.random() * 2 ** 32).toString(10);\n this.#dacpId = Math.floor(Math.random() * 2 ** 64).toString(16).toUpperCase();\n this.#sessionId = Math.floor(Math.random() * 2 ** 32).toString(10);\n }\n\n async get(path: string, headers: HeadersInit = {}): Promise<Response> {\n return await this.#request('GET', path, null, headers);\n }\n\n async post(path: string, body: Buffer | string | null = null, headers: HeadersInit = {}): Promise<Response> {\n return await this.#request('POST', path, body, headers);\n }\n\n async record(path: string, headers: HeadersInit = {}): Promise<Response> {\n return await this.#request('RECORD', path, null, headers);\n }\n\n async setup(path: string, body: Buffer | string | null = null, headers: HeadersInit = {}): Promise<Response> {\n return await this.#request('SETUP', path, body, headers);\n }\n\n async onClose(): Promise<void> {\n await super.onClose();\n await this.#handle(undefined, new Error('Connection closed.'));\n }\n\n async onData(buffer: Buffer): Promise<void> {\n this.#buffer = Buffer.concat([this.#buffer, buffer]);\n\n if (this.isEncrypted) {\n this.#buffer = await this.decrypt(this.#buffer);\n }\n\n while (this.#buffer.byteLength > 0) {\n const result = makeHttpResponse(this.#buffer);\n\n if (result === null) {\n return;\n }\n\n this.#buffer = this.#buffer.subarray(result.responseLength);\n\n await this.#handle(result.response, undefined);\n }\n }\n\n async onError(err: Error): Promise<void> {\n await super.onError(err);\n await this.#handle(undefined, err);\n }\n\n async onTimeout(): Promise<void> {\n await super.onTimeout();\n await this.#handle(undefined, new Error('Request timed out.'));\n }\n\n async #handle(data: unknown, err?: Error): Promise<void> {\n if (err) {\n this.#reject?.(err);\n } else {\n this.#resolve?.(data);\n }\n\n this.#reject = undefined;\n this.#resolve = undefined;\n this.#requesting = false;\n }\n\n async #request(method: RTSPMethod, path: string, body: Buffer | string | null, headers: HeadersInit): Promise<Response> {\n if (!this.isConnected) {\n return Promise.reject(new Error('Accessory not connected.'));\n }\n\n if (this.#requesting) {\n return Promise.reject(new Error('Another request is currently being made.'));\n }\n\n this.#requesting = true;\n\n headers['Active-Remote'] = this.activeRemote;\n headers['Client-Instance'] = this.dacpId;\n headers['DACP-ID'] = this.dacpId;\n\n const cseq = this.#cseq++;\n let data: Buffer;\n\n if (body) {\n headers['Content-Length'] = Buffer.byteLength(body).toString();\n\n data = Buffer.concat([\n Buffer.from(makeHttpHeader(method, path, headers, cseq)),\n Buffer.from(body)\n ]);\n } else {\n headers['Content-Length'] = '0';\n\n data = Buffer.from(makeHttpHeader(method, path, headers, cseq));\n }\n\n reporter.net('[rtsp]', method, path, `cseq = ${cseq}`);\n\n if (this.isEncrypted) {\n data = await this.encrypt(data);\n }\n\n return new Promise(async (resolve, reject) => {\n let timer: any;\n\n this.#reject = (reason: Error): void => {\n reject(reason);\n clearTimeout(timer);\n };\n\n this.#resolve = (response: Response): void => {\n resolve(response);\n clearTimeout(timer);\n };\n\n timer = setTimeout(() => reject(new Error('Request timed out')), HTTP_TIMEOUT);\n\n this.socket.write(data);\n });\n }\n}\n",
90
90
  "import { type AccessoryCredentials, type AccessoryKeys, AccessoryVerify, hkdf } from '@basmilius/apple-common';\nimport type AirPlay from './protocol';\nimport type AirPlayRTSP from './rtsp';\n\nexport default class AirPlayVerify {\n get rtsp(): AirPlayRTSP {\n return this.#protocol.rtsp;\n }\n\n readonly #internal: AccessoryVerify;\n readonly #protocol: AirPlay;\n\n constructor(protocol: AirPlay) {\n this.#internal = new AccessoryVerify(this.#request.bind(this));\n this.#protocol = protocol;\n }\n\n async start(credentials: AccessoryCredentials): Promise<AccessoryKeys> {\n const keys = await this.#internal.start(credentials);\n\n const accessoryToControllerKey = hkdf({\n hash: 'sha512',\n key: keys.sharedSecret,\n length: 32,\n salt: Buffer.from('Control-Salt'),\n info: Buffer.from('Control-Read-Encryption-Key')\n });\n\n const controllerToAccessoryKey = hkdf({\n hash: 'sha512',\n key: keys.sharedSecret,\n length: 32,\n salt: Buffer.from('Control-Salt'),\n info: Buffer.from('Control-Write-Encryption-Key')\n });\n\n return {\n accessoryToControllerKey,\n controllerToAccessoryKey,\n pairingId: keys.pairingId,\n sharedSecret: keys.sharedSecret\n };\n }\n\n async #request(_: 'm1' | 'm3' | 'm5', data: Buffer): Promise<Buffer> {\n const response = await this.rtsp.post('/pair-verify', data, {\n 'Content-Type': 'application/octet-stream',\n 'X-Apple-HKP': '3'\n });\n\n return Buffer.from(await response.arrayBuffer());\n }\n}\n"
91
91
  ],
92
- "mappings": "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",
93
- "debugId": "34135917AC5F3F9064756E2164756E21",
92
+ "mappings": "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",
93
+ "debugId": "FC161E5FC537FFA464756E2164756E21",
94
94
  "names": []
95
95
  }