@basmilius/apple-common 0.8.2 → 0.9.2

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.d.mts CHANGED
@@ -1,5 +1,4 @@
1
1
  /// <reference types="node" />
2
- import { DiscoveryResult as DiscoveryResult$1 } from "node-dns-sd";
3
2
  import { EventEmitter } from "node:events";
4
3
 
5
4
  //#region ../../node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist/types.d.ts
@@ -12,20 +11,62 @@ type Version4Options = {
12
11
  declare function v4(options?: Version4Options, buf?: undefined, offset?: number): string;
13
12
  declare function v4<TBuf extends Uint8Array = Uint8Array>(options: Version4Options | undefined, buf: TBuf, offset?: number): TBuf;
14
13
  //#endregion
15
- //#region src/discovery.d.ts
16
- declare class Discovery {
17
- #private;
18
- constructor(service: string);
19
- find(): Promise<DiscoveryResult$1[]>;
20
- findUntil(id: string, tries?: number, timeout?: number): Promise<DiscoveryResult$1>;
21
- static airplay(): Discovery;
22
- static companionLink(): Discovery;
23
- static raop(): Discovery;
24
- }
25
- //#endregion
26
- //#region src/cli.d.ts
27
- declare function prompt(message: string): Promise<string>;
28
- declare function waitFor(ms: number): Promise<void>;
14
+ //#region src/airplayFeatures.d.ts
15
+ declare const AirPlayFeatureFlags: {
16
+ readonly SupportsAirPlayVideoV1: bigint;
17
+ readonly SupportsAirPlayPhoto: bigint;
18
+ readonly SupportsAirPlayVideoFairPlay: bigint;
19
+ readonly SupportsAirPlayVideoVolumeControl: bigint;
20
+ readonly SupportsAirPlayVideoHTTPLiveStreams: bigint;
21
+ readonly SupportsAirPlaySlideShow: bigint;
22
+ readonly SupportsAirPlayScreen: bigint;
23
+ readonly SupportsAirPlayAudio: bigint;
24
+ readonly AudioRedundant: bigint;
25
+ readonly Authentication_4: bigint;
26
+ readonly MetadataFeatures_0: bigint;
27
+ readonly MetadataFeatures_1: bigint;
28
+ readonly MetadataFeatures_2: bigint;
29
+ readonly AudioFormats_0: bigint;
30
+ readonly AudioFormats_1: bigint;
31
+ readonly AudioFormats_2: bigint;
32
+ readonly AudioFormats_3: bigint;
33
+ readonly Authentication_1: bigint;
34
+ readonly Authentication_8: bigint;
35
+ readonly SupportsLegacyPairing: bigint;
36
+ readonly HasUnifiedAdvertiserInfo: bigint;
37
+ readonly IsCarPlay: bigint;
38
+ readonly SupportsAirPlayVideoPlayQueue: bigint;
39
+ readonly SupportsAirPlayFromCloud: bigint;
40
+ readonly SupportsTLS_PSK: bigint;
41
+ readonly SupportsUnifiedMediaControl: bigint;
42
+ readonly SupportsBufferedAudio: bigint;
43
+ readonly SupportsPTP: bigint;
44
+ readonly SupportsScreenMultiCodec: bigint;
45
+ readonly SupportsSystemPairing: bigint;
46
+ readonly IsAPValeriaScreenSender: bigint;
47
+ readonly SupportsHKPairingAndAccessControl: bigint;
48
+ readonly SupportsCoreUtilsPairingAndEncryption: bigint;
49
+ readonly SupportsAirPlayVideoV2: bigint;
50
+ readonly MetadataFeatures_3: bigint;
51
+ readonly SupportsUnifiedPairSetupAndMFi: bigint;
52
+ readonly SupportsSetPeersExtendedMessage: bigint;
53
+ readonly SupportsAPSync: bigint;
54
+ readonly SupportsWoL: bigint;
55
+ readonly SupportsWoL2: bigint;
56
+ readonly SupportsHangdogRemoteControl: bigint;
57
+ readonly SupportsAudioStreamConnectionSetup: bigint;
58
+ readonly SupportsAudioMetadataControl: bigint;
59
+ readonly SupportsRFC2198Redundancy: bigint;
60
+ };
61
+ type AirPlayFeatureFlagName = keyof typeof AirPlayFeatureFlags;
62
+ type PairingRequirement = 'none' | 'pin' | 'transient' | 'homekit';
63
+ declare const parseFeatures: (features: string) => bigint;
64
+ declare const hasFeatureFlag: (features: bigint, flag: bigint) => boolean;
65
+ declare const describeFlags: (features: bigint) => AirPlayFeatureFlagName[];
66
+ declare const getProtocolVersion: (txt: Record<string, string>) => 1 | 2;
67
+ declare const getPairingRequirement: (txt: Record<string, string>) => PairingRequirement;
68
+ declare const isPasswordRequired: (txt: Record<string, string>) => boolean;
69
+ declare const isRemoteControlSupported: (txt: Record<string, string>) => boolean;
29
70
  //#endregion
30
71
  //#region src/reporter.d.ts
31
72
  type DebugGroup = 'debug' | 'error' | 'info' | 'net' | 'raw' | 'warn';
@@ -58,8 +99,107 @@ declare class Context {
58
99
  constructor(deviceId: string);
59
100
  }
60
101
  //#endregion
61
- //#region src/symbols.d.ts
62
- declare const ENCRYPTION: unique symbol;
102
+ //#region src/pairing.d.ts
103
+ declare abstract class BasePairing {
104
+ #private;
105
+ get context(): Context;
106
+ constructor(context: Context);
107
+ tlv(buffer: Buffer): Map<number, Buffer>;
108
+ }
109
+ declare class AccessoryPair extends BasePairing {
110
+ #private;
111
+ constructor(context: Context, requestHandler: RequestHandler);
112
+ start(): Promise<void>;
113
+ pin(askPin: () => Promise<string>): Promise<AccessoryCredentials>;
114
+ transient(): Promise<AccessoryKeys>;
115
+ m1(additionalTlv?: [number, number | Buffer][]): Promise<PairM1>;
116
+ m2(m1: PairM1, pin?: string): Promise<PairM2>;
117
+ m3(m2: PairM2): Promise<PairM3>;
118
+ m4(m3: PairM3): Promise<PairM4>;
119
+ m5(m4: PairM4): Promise<PairM5>;
120
+ m6(m4: PairM4, m5: PairM5): Promise<AccessoryCredentials>;
121
+ }
122
+ declare class AccessoryVerify extends BasePairing {
123
+ #private;
124
+ constructor(context: Context, requestHandler: RequestHandler);
125
+ start(credentials: AccessoryCredentials): Promise<AccessoryKeys>;
126
+ }
127
+ type RequestHandler = (step: 'm1' | 'm3' | 'm5', data: Buffer) => Promise<Buffer>;
128
+ type PairM1 = {
129
+ readonly publicKey: Buffer;
130
+ readonly salt: Buffer;
131
+ };
132
+ type PairM2 = {
133
+ readonly publicKey: Buffer;
134
+ readonly proof: Buffer;
135
+ };
136
+ type PairM3 = {
137
+ readonly serverProof: Buffer;
138
+ };
139
+ type PairM4 = {
140
+ readonly sharedSecret: Buffer;
141
+ };
142
+ type PairM5 = {
143
+ readonly authTag: Buffer;
144
+ readonly data: Buffer;
145
+ readonly sessionKey: Buffer;
146
+ };
147
+ type AccessoryCredentials = {
148
+ readonly accessoryIdentifier: string;
149
+ readonly accessoryLongTermPublicKey: Buffer;
150
+ readonly pairingId: Buffer;
151
+ readonly publicKey: Buffer;
152
+ readonly secretKey: Buffer;
153
+ };
154
+ type AccessoryKeys = {
155
+ readonly pairingId: Buffer;
156
+ readonly sharedSecret: Buffer;
157
+ readonly accessoryToControllerKey: Buffer;
158
+ readonly controllerToAccessoryKey: Buffer;
159
+ };
160
+ //#endregion
161
+ //#region src/storage.d.ts
162
+ type ProtocolType = 'airplay' | 'companionLink' | 'raop';
163
+ type StoredDevice = {
164
+ readonly identifier: string;
165
+ readonly name: string;
166
+ };
167
+ type StorageData = {
168
+ version: 1;
169
+ devices: Record<string, StoredDevice>;
170
+ credentials: Record<string, SerializedCredentials>;
171
+ };
172
+ type SerializedCredentials = {
173
+ readonly accessoryIdentifier: string;
174
+ readonly accessoryLongTermPublicKey: string;
175
+ readonly pairingId: string;
176
+ readonly publicKey: string;
177
+ readonly secretKey: string;
178
+ };
179
+ declare abstract class Storage {
180
+ #private;
181
+ get data(): StorageData;
182
+ abstract load(): Promise<void>;
183
+ abstract save(): Promise<void>;
184
+ protected setData(data: StorageData): void;
185
+ getDevice(identifier: string): StoredDevice | undefined;
186
+ setDevice(identifier: string, device: StoredDevice): void;
187
+ removeDevice(identifier: string): void;
188
+ listDevices(): StoredDevice[];
189
+ getCredentials(deviceId: string, protocol: ProtocolType): AccessoryCredentials | undefined;
190
+ setCredentials(deviceId: string, protocol: ProtocolType, credentials: AccessoryCredentials): void;
191
+ removeCredentials(deviceId: string, protocol: ProtocolType): void;
192
+ }
193
+ declare class JsonStorage extends Storage {
194
+ #private;
195
+ constructor(path?: string);
196
+ load(): Promise<void>;
197
+ save(): Promise<void>;
198
+ }
199
+ declare class MemoryStorage extends Storage {
200
+ load(): Promise<void>;
201
+ save(): Promise<void>;
202
+ }
63
203
  //#endregion
64
204
  //#region src/types.d.ts
65
205
  type ConnectionState = 'closing' | 'connected' | 'connecting' | 'disconnected' | 'failed';
@@ -145,7 +285,48 @@ type Result = {
145
285
  type DiscoveryResult = {
146
286
  readonly id: string;
147
287
  readonly txt: Record<string, string>;
288
+ readonly features?: bigint;
148
289
  } & Result;
290
+ type CombinedDiscoveryResult = {
291
+ readonly id: string;
292
+ readonly name: string;
293
+ readonly address: string;
294
+ airplay?: DiscoveryResult;
295
+ companionLink?: DiscoveryResult;
296
+ raop?: DiscoveryResult;
297
+ };
298
+ //#endregion
299
+ //#region src/discovery.d.ts
300
+ declare class Discovery {
301
+ #private;
302
+ constructor(service: string);
303
+ find(useCache?: boolean): Promise<DiscoveryResult[]>;
304
+ findUntil(id: string, tries?: number, timeout?: number): Promise<DiscoveryResult>;
305
+ static clearCache(): void;
306
+ static wake(address: string): Promise<void>;
307
+ static discoverAll(): Promise<CombinedDiscoveryResult[]>;
308
+ static airplay(): Discovery;
309
+ static companionLink(): Discovery;
310
+ static raop(): Discovery;
311
+ }
312
+ //#endregion
313
+ //#region src/mdns.d.ts
314
+ type MdnsService = {
315
+ readonly name: string;
316
+ readonly type: string;
317
+ readonly address: string;
318
+ readonly port: number;
319
+ readonly properties: Record<string, string>;
320
+ };
321
+ declare const unicast: (hosts: string[], services: string[], timeout?: number) => Promise<MdnsService[]>;
322
+ declare const multicast: (services: string[], timeout?: number) => Promise<MdnsService[]>;
323
+ //#endregion
324
+ //#region src/cli.d.ts
325
+ declare function prompt(message: string): Promise<string>;
326
+ declare function waitFor(ms: number): Promise<void>;
327
+ //#endregion
328
+ //#region src/symbols.d.ts
329
+ declare const ENCRYPTION: unique symbol;
149
330
  //#endregion
150
331
  //#region src/connection.d.ts
151
332
  type ConnectionEventMap = {
@@ -191,65 +372,6 @@ declare const AIRPLAY_SERVICE = "_airplay._tcp.local";
191
372
  declare const COMPANION_LINK_SERVICE = "_companion-link._tcp.local";
192
373
  declare const RAOP_SERVICE = "_raop._tcp.local";
193
374
  //#endregion
194
- //#region src/pairing.d.ts
195
- declare abstract class BasePairing {
196
- #private;
197
- get context(): Context;
198
- constructor(context: Context);
199
- tlv(buffer: Buffer): Map<number, Buffer>;
200
- }
201
- declare class AccessoryPair extends BasePairing {
202
- #private;
203
- constructor(context: Context, requestHandler: RequestHandler);
204
- start(): Promise<void>;
205
- pin(askPin: () => Promise<string>): Promise<AccessoryCredentials>;
206
- transient(): Promise<AccessoryKeys>;
207
- m1(additionalTlv?: [number, number | Buffer][]): Promise<PairM1>;
208
- m2(m1: PairM1, pin?: string): Promise<PairM2>;
209
- m3(m2: PairM2): Promise<PairM3>;
210
- m4(m3: PairM3): Promise<PairM4>;
211
- m5(m4: PairM4): Promise<PairM5>;
212
- m6(m4: PairM4, m5: PairM5): Promise<AccessoryCredentials>;
213
- }
214
- declare class AccessoryVerify extends BasePairing {
215
- #private;
216
- constructor(context: Context, requestHandler: RequestHandler);
217
- start(credentials: AccessoryCredentials): Promise<AccessoryKeys>;
218
- }
219
- type RequestHandler = (step: 'm1' | 'm3' | 'm5', data: Buffer) => Promise<Buffer>;
220
- type PairM1 = {
221
- readonly publicKey: Buffer;
222
- readonly salt: Buffer;
223
- };
224
- type PairM2 = {
225
- readonly publicKey: Buffer;
226
- readonly proof: Buffer;
227
- };
228
- type PairM3 = {
229
- readonly serverProof: Buffer;
230
- };
231
- type PairM4 = {
232
- readonly sharedSecret: Buffer;
233
- };
234
- type PairM5 = {
235
- readonly authTag: Buffer;
236
- readonly data: Buffer;
237
- readonly sessionKey: Buffer;
238
- };
239
- type AccessoryCredentials = {
240
- readonly accessoryIdentifier: string;
241
- readonly accessoryLongTermPublicKey: Buffer;
242
- readonly pairingId: Buffer;
243
- readonly publicKey: Buffer;
244
- readonly secretKey: Buffer;
245
- };
246
- type AccessoryKeys = {
247
- readonly pairingId: Buffer;
248
- readonly sharedSecret: Buffer;
249
- readonly accessoryToControllerKey: Buffer;
250
- readonly controllerToAccessoryKey: Buffer;
251
- };
252
- //#endregion
253
375
  //#region src/timing.d.ts
254
376
  declare class TimingServer {
255
377
  #private;
@@ -279,5 +401,5 @@ interface AudioSource {
279
401
  stop(): Promise<void>;
280
402
  }
281
403
  //#endregion
282
- export { AIRPLAY_SERVICE, AIRPLAY_TRANSIENT_PIN, type AccessoryCredentials, type AccessoryKeys, AccessoryPair, AccessoryVerify, type AudioSource, COMPANION_LINK_SERVICE, Connection, type ConnectionState, Context, Discovery, type DiscoveryResult, ENCRYPTION, EncryptionAwareConnection, EncryptionState, type EventMap, HTTP_TIMEOUT, type Logger, RAOP_SERVICE, type Reporter, TimingServer, generateActiveRemoteId, generateDacpId, generateSessionId, getLocalIP, getMacAddress, prompt, randomInt32, randomInt64, reporter, uint16ToBE, uint53ToLE, v4 as uuid, waitFor };
404
+ export { AIRPLAY_SERVICE, AIRPLAY_TRANSIENT_PIN, type AccessoryCredentials, type AccessoryKeys, AccessoryPair, AccessoryVerify, type AirPlayFeatureFlagName, AirPlayFeatureFlags, type AudioSource, COMPANION_LINK_SERVICE, type CombinedDiscoveryResult, Connection, type ConnectionState, Context, Discovery, type DiscoveryResult, ENCRYPTION, EncryptionAwareConnection, EncryptionState, type EventMap, HTTP_TIMEOUT, JsonStorage, type Logger, type MdnsService, MemoryStorage, type PairingRequirement, type ProtocolType, RAOP_SERVICE, type Reporter, Storage, type StorageData, type StoredDevice, TimingServer, describeFlags, generateActiveRemoteId, generateDacpId, generateSessionId, getLocalIP, getMacAddress, getPairingRequirement, getProtocolVersion, hasFeatureFlag, isPasswordRequired, isRemoteControlSupported, multicast as mdnsMulticast, unicast as mdnsUnicast, parseFeatures, prompt, randomInt32, randomInt64, reporter, uint16ToBE, uint53ToLE, v4 as uuid, waitFor };
283
405
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":["UUIDTypes","TBuf","Uint8Array","Version1Options","node","clockseq","random","rng","msecs","nsecs","_v6","Version4Options","Version6Options","Version7Options","seq","Version4Options","v4","options","buf","offset","TBuf","Uint8Array","default","DiscoveryResult","Discovery","Promise","private","constructor","service","find","findUntil","id","tries","timeout","airplay","companionLink","raop","prompt","Promise","message","waitFor","ms","DebugGroup","Logger","private","id","label","constructor","debug","data","error","info","net","raw","warn","Reporter","all","disable","group","enable","isEnabled","reporter","Logger","Context","private","deviceId","logger","constructor","ENCRYPTION","ConnectionState","EventMap","Record","DnsRecordClass","DnsRecordType","DnsRecordBase","name","type","class","flash","ttl","DnsRecordA","rdata","DnsRecordAAAA","DnsRecordPTR","DnsRecordTXT","Buffer","rdata_buffer","DnsRecordSRV","priority","weight","port","target","DnsRecordNSEC","DnsRecord","DnsPacketHeader","id","qr","op","aa","tc","rd","ra","z","ad","cd","rc","questions","answers","authorities","additionals","DnsPacket","address","header","Result","fqdn","modelName","familyName","service","protocol","packet","key","DiscoveryResult","txt","EventEmitter","Context","ENCRYPTION","ConnectionState","EventMap","ConnectionEventMap","Buffer","Error","close","hadError","connect","data","end","error","err","timeout","Connection","TEventMap","Promise","Uint8Array","private","address","context","port","isConnected","state","constructor","destroy","disconnect","debug","enabled","retry","attempts","interval","write","EncryptionAwareConnection","EncryptionState","isEncrypted","enableEncryption","readKey","writeKey","readCount","writeCount","AIRPLAY_TRANSIENT_PIN","HTTP_TIMEOUT","SOCKET_TIMEOUT","AIRPLAY_SERVICE","COMPANION_LINK_SERVICE","RAOP_SERVICE","Context","BasePairing","Buffer","Map","private","context","constructor","tlv","buffer","AccessoryPair","RequestHandler","Promise","AccessoryCredentials","AccessoryKeys","PairM1","PairM2","PairM3","PairM4","PairM5","requestHandler","start","pin","askPin","transient","m1","additionalTlv","m2","m3","m4","m5","m6","AccessoryVerify","credentials","step","data","publicKey","salt","proof","serverProof","sharedSecret","authTag","sessionKey","accessoryIdentifier","accessoryLongTermPublicKey","pairingId","secretKey","accessoryToControllerKey","controllerToAccessoryKey","TimingServer","Promise","private","port","constructor","close","listen","generateActiveRemoteId","generateDacpId","generateSessionId","getLocalIP","getMacAddress","randomInt32","randomInt64","uint16ToBE","Buffer","value","uint53ToLE","AudioSource","Buffer","Promise","duration","readFrames","count","reset","start","stop"],"sources":["../../../node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist/types.d.ts","../../../node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist/v4.d.ts","../src/discovery.d.ts","../src/cli.d.ts","../src/reporter.d.ts","../src/context.d.ts","../src/symbols.d.ts","../src/types.d.ts","../src/connection.d.ts","../src/const.d.ts","../src/pairing.d.ts","../src/timing.d.ts","../src/utils.d.ts","../src/audioSource.d.ts"],"x_google_ignoreList":[0,1],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":["UUIDTypes","TBuf","Uint8Array","Version1Options","node","clockseq","random","rng","msecs","nsecs","_v6","Version4Options","Version6Options","Version7Options","seq","Version4Options","v4","options","buf","offset","TBuf","Uint8Array","default","AirPlayFeatureFlags","SupportsAirPlayVideoV1","SupportsAirPlayPhoto","SupportsAirPlayVideoFairPlay","SupportsAirPlayVideoVolumeControl","SupportsAirPlayVideoHTTPLiveStreams","SupportsAirPlaySlideShow","SupportsAirPlayScreen","SupportsAirPlayAudio","AudioRedundant","Authentication_4","MetadataFeatures_0","MetadataFeatures_1","MetadataFeatures_2","AudioFormats_0","AudioFormats_1","AudioFormats_2","AudioFormats_3","Authentication_1","Authentication_8","SupportsLegacyPairing","HasUnifiedAdvertiserInfo","IsCarPlay","SupportsAirPlayVideoPlayQueue","SupportsAirPlayFromCloud","SupportsTLS_PSK","SupportsUnifiedMediaControl","SupportsBufferedAudio","SupportsPTP","SupportsScreenMultiCodec","SupportsSystemPairing","IsAPValeriaScreenSender","SupportsHKPairingAndAccessControl","SupportsCoreUtilsPairingAndEncryption","SupportsAirPlayVideoV2","MetadataFeatures_3","SupportsUnifiedPairSetupAndMFi","SupportsSetPeersExtendedMessage","SupportsAPSync","SupportsWoL","SupportsWoL2","SupportsHangdogRemoteControl","SupportsAudioStreamConnectionSetup","SupportsAudioMetadataControl","SupportsRFC2198Redundancy","AirPlayFeatureFlagName","PairingRequirement","parseFeatures","features","hasFeatureFlag","flag","describeFlags","getProtocolVersion","Record","txt","getPairingRequirement","isPasswordRequired","isRemoteControlSupported","DebugGroup","Logger","private","id","label","constructor","debug","data","error","info","net","raw","warn","Reporter","all","disable","group","enable","isEnabled","reporter","Logger","Context","private","deviceId","logger","constructor","Context","BasePairing","Buffer","Map","private","context","constructor","tlv","buffer","AccessoryPair","RequestHandler","Promise","AccessoryCredentials","AccessoryKeys","PairM1","PairM2","PairM3","PairM4","PairM5","requestHandler","start","pin","askPin","transient","m1","additionalTlv","m2","m3","m4","m5","m6","AccessoryVerify","credentials","step","data","publicKey","salt","proof","serverProof","sharedSecret","authTag","sessionKey","accessoryIdentifier","accessoryLongTermPublicKey","pairingId","secretKey","accessoryToControllerKey","controllerToAccessoryKey","AccessoryCredentials","ProtocolType","StoredDevice","identifier","name","StorageData","Record","SerializedCredentials","version","devices","credentials","accessoryIdentifier","accessoryLongTermPublicKey","pairingId","publicKey","secretKey","Storage","Promise","private","data","load","save","setData","getDevice","setDevice","device","removeDevice","listDevices","getCredentials","deviceId","protocol","setCredentials","removeCredentials","JsonStorage","constructor","path","MemoryStorage","ConnectionState","EventMap","Record","DnsRecordClass","DnsRecordType","DnsRecordBase","name","type","class","flash","ttl","DnsRecordA","rdata","DnsRecordAAAA","DnsRecordPTR","DnsRecordTXT","Buffer","rdata_buffer","DnsRecordSRV","priority","weight","port","target","DnsRecordNSEC","DnsRecord","DnsPacketHeader","id","qr","op","aa","tc","rd","ra","z","ad","cd","rc","questions","answers","authorities","additionals","DnsPacket","address","header","Result","fqdn","modelName","familyName","service","protocol","packet","key","DiscoveryResult","txt","features","CombinedDiscoveryResult","airplay","companionLink","raop","CombinedDiscoveryResult","DiscoveryResult","Discovery","Promise","private","constructor","service","find","useCache","findUntil","id","tries","timeout","clearCache","wake","address","discoverAll","airplay","companionLink","raop","MdnsService","Record","name","type","address","port","properties","DnsHeader","id","flags","qdcount","ancount","nscount","arcount","DnsResource","qname","qtype","qclass","ttl","rdata","createQueryPackets","Buffer","services","unicastResponse","decodeDnsResponse","buf","header","answers","resources","unicast","Promise","hosts","timeout","multicast","prompt","Promise","message","waitFor","ms","ENCRYPTION","EventEmitter","Context","ENCRYPTION","ConnectionState","EventMap","ConnectionEventMap","Buffer","Error","close","hadError","connect","data","end","error","err","timeout","Connection","TEventMap","Promise","Uint8Array","private","address","context","port","isConnected","state","constructor","destroy","disconnect","debug","enabled","retry","attempts","interval","write","EncryptionAwareConnection","EncryptionState","isEncrypted","enableEncryption","readKey","writeKey","readCount","writeCount","AIRPLAY_TRANSIENT_PIN","HTTP_TIMEOUT","SOCKET_TIMEOUT","AIRPLAY_SERVICE","COMPANION_LINK_SERVICE","RAOP_SERVICE","TimingServer","Promise","private","port","constructor","close","listen","generateActiveRemoteId","generateDacpId","generateSessionId","getLocalIP","getMacAddress","randomInt32","randomInt64","uint16ToBE","Buffer","value","uint53ToLE","AudioSource","Buffer","Promise","duration","readFrames","count","reset","start","stop"],"sources":["../../../node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist/types.d.ts","../../../node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist/v4.d.ts","../src/airplayFeatures.d.ts","../src/reporter.d.ts","../src/context.d.ts","../src/pairing.d.ts","../src/storage.d.ts","../src/types.d.ts","../src/discovery.d.ts","../src/mdns.d.ts","../src/cli.d.ts","../src/symbols.d.ts","../src/connection.d.ts","../src/const.d.ts","../src/timing.d.ts","../src/utils.d.ts","../src/audioSource.d.ts"],"x_google_ignoreList":[0,1],"mappings":"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"}