@basmilius/apple-airplay 0.0.11 → 0.0.12

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.
Files changed (92) hide show
  1. package/dist/index.d.ts +3 -0
  2. package/dist/index.js +12 -2
  3. package/dist/index.js.map +119 -3
  4. package/dist/proto/AudioFadeMessage_pb.d.ts +30 -0
  5. package/dist/proto/AudioFadeResponseMessage_pb.d.ts +25 -0
  6. package/dist/proto/AudioFormatSettingsMessage_pb.d.ts +20 -0
  7. package/dist/proto/ClientUpdatesConfigMessage_pb.d.ts +41 -0
  8. package/dist/proto/CommandInfo_pb.d.ts +452 -0
  9. package/dist/proto/CommandOptions_pb.d.ts +137 -0
  10. package/dist/proto/Common_pb.d.ts +306 -0
  11. package/dist/proto/ConfigureConnectionMessage_pb.d.ts +25 -0
  12. package/dist/proto/ContentItemMetadata_pb.d.ts +812 -0
  13. package/dist/proto/ContentItem_pb.d.ts +91 -0
  14. package/dist/proto/CryptoPairingMessage_pb.d.ts +45 -0
  15. package/dist/proto/DeviceInfoMessage_pb.d.ts +270 -0
  16. package/dist/proto/GenericMessage_pb.d.ts +29 -0
  17. package/dist/proto/GetKeyboardSessionMessage_pb.d.ts +20 -0
  18. package/dist/proto/GetRemoteTextInputSessionMessage_pb.d.ts +20 -0
  19. package/dist/proto/GetVolumeMessage_pb.d.ts +25 -0
  20. package/dist/proto/GetVolumeResultMessage_pb.d.ts +25 -0
  21. package/dist/proto/KeyboardMessage_pb.d.ts +321 -0
  22. package/dist/proto/LanguageOption_pb.d.ts +36 -0
  23. package/dist/proto/ModifyOutputContextRequestMessage_pb.d.ts +71 -0
  24. package/dist/proto/NotificationMessage_pb.d.ts +29 -0
  25. package/dist/proto/NowPlayingClient_pb.d.ts +46 -0
  26. package/dist/proto/NowPlayingInfo_pb.d.ts +89 -0
  27. package/dist/proto/NowPlayingPlayer_pb.d.ts +44 -0
  28. package/dist/proto/OriginClientPropertiesMessage_pb.d.ts +25 -0
  29. package/dist/proto/Origin_pb.d.ts +58 -0
  30. package/dist/proto/PlaybackQueueCapabilities_pb.d.ts +28 -0
  31. package/dist/proto/PlaybackQueueContext_pb.d.ts +20 -0
  32. package/dist/proto/PlaybackQueueRequestMessage_pb.d.ts +91 -0
  33. package/dist/proto/PlaybackQueue_pb.d.ts +47 -0
  34. package/dist/proto/PlayerClientPropertiesMessage_pb.d.ts +30 -0
  35. package/dist/proto/PlayerPath_pb.d.ts +31 -0
  36. package/dist/proto/ProtocolMessage_pb.d.ts +659 -0
  37. package/dist/proto/RegisterForGameControllerEventsMessage_pb.d.ts +50 -0
  38. package/dist/proto/RegisterHIDDeviceMessage_pb.d.ts +26 -0
  39. package/dist/proto/RegisterHIDDeviceResultMessage_pb.d.ts +29 -0
  40. package/dist/proto/RegisterVoiceInputDeviceMessage_pb.d.ts +26 -0
  41. package/dist/proto/RegisterVoiceInputDeviceResponseMessage_pb.d.ts +29 -0
  42. package/dist/proto/RemoteTextInputMessage_pb.d.ts +33 -0
  43. package/dist/proto/RemoveClientMessage_pb.d.ts +26 -0
  44. package/dist/proto/RemoveEndpointsMessage_pb.d.ts +25 -0
  45. package/dist/proto/RemoveOutputDevicesMessage_pb.d.ts +29 -0
  46. package/dist/proto/RemovePlayerMessage_pb.d.ts +26 -0
  47. package/dist/proto/SendButtonEventMessage_pb.d.ts +33 -0
  48. package/dist/proto/SendCommandMessage_pb.d.ts +36 -0
  49. package/dist/proto/SendCommandResultMessage_pb.d.ts +363 -0
  50. package/dist/proto/SendHIDEventMessage_pb.d.ts +56 -0
  51. package/dist/proto/SendPackedVirtualTouchEventMessage_pb.d.ts +60 -0
  52. package/dist/proto/SendVoiceInputMessage_pb.d.ts +122 -0
  53. package/dist/proto/SetArtworkMessage_pb.d.ts +25 -0
  54. package/dist/proto/SetConnectionStateMessage_pb.d.ts +50 -0
  55. package/dist/proto/SetDefaultSupportedCommandsMessage_pb.d.ts +70 -0
  56. package/dist/proto/SetDiscoveryModeMessage_pb.d.ts +29 -0
  57. package/dist/proto/SetHiliteModeMessage_pb.d.ts +25 -0
  58. package/dist/proto/SetNowPlayingClientMessage_pb.d.ts +26 -0
  59. package/dist/proto/SetNowPlayingPlayerMessage_pb.d.ts +26 -0
  60. package/dist/proto/SetRecordingStateMessage_pb.d.ts +46 -0
  61. package/dist/proto/SetStateMessage_pb.d.ts +68 -0
  62. package/dist/proto/SetVolumeMessage_pb.d.ts +29 -0
  63. package/dist/proto/SupportedCommands_pb.d.ts +21 -0
  64. package/dist/proto/TextInputMessage_pb.d.ts +73 -0
  65. package/dist/proto/TransactionKey_pb.d.ts +24 -0
  66. package/dist/proto/TransactionMessage_pb.d.ts +35 -0
  67. package/dist/proto/TransactionPacket_pb.d.ts +37 -0
  68. package/dist/proto/TransactionPackets_pb.d.ts +21 -0
  69. package/dist/proto/UpdateClientMessage_pb.d.ts +26 -0
  70. package/dist/proto/UpdateContentItemArtworkMessage_pb.d.ts +31 -0
  71. package/dist/proto/UpdateContentItemMessage_pb.d.ts +31 -0
  72. package/dist/proto/UpdateEndPointsMessage_pb.d.ts +72 -0
  73. package/dist/proto/UpdateOutputDeviceMessage_pb.d.ts +322 -0
  74. package/dist/proto/UpdatePlayerPath_pb.d.ts +26 -0
  75. package/dist/proto/VirtualTouchDeviceDescriptorMessage_pb.d.ts +32 -0
  76. package/dist/proto/VoiceInputDeviceDescriptorMessage_pb.d.ts +25 -0
  77. package/dist/proto/VolumeControlAvailabilityMessage_pb.d.ts +66 -0
  78. package/dist/proto/VolumeControlCapabilitiesDidChangeMessage_pb.d.ts +34 -0
  79. package/dist/proto/VolumeDidChangeMessage_pb.d.ts +33 -0
  80. package/dist/proto/WakeDeviceMessage_pb.d.ts +20 -0
  81. package/dist/proto/index.d.ts +77 -0
  82. package/dist/protocol/dataStream.d.ts +13 -0
  83. package/dist/protocol/dataStreamMessages.d.ts +9 -0
  84. package/dist/protocol/eventStream.d.ts +7 -0
  85. package/dist/protocol/index.d.ts +7 -0
  86. package/dist/protocol/pairing.d.ts +12 -0
  87. package/dist/protocol/protocol.d.ts +21 -0
  88. package/dist/protocol/rtsp.d.ts +15 -0
  89. package/dist/protocol/stream.d.ts +22 -0
  90. package/dist/protocol/utils.d.ts +18 -0
  91. package/dist/protocol/verify.d.ts +9 -0
  92. package/package.json +6 -2
@@ -0,0 +1,26 @@
1
+ import type { GenExtension, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
2
+ import type { ProtocolMessage } from "./ProtocolMessage_pb";
3
+ import type { PlayerPath } from "./PlayerPath_pb";
4
+ import type { Message } from "@bufbuild/protobuf";
5
+ /**
6
+ * Describes the file UpdatePlayerPath.proto.
7
+ */
8
+ export declare const file_UpdatePlayerPath: GenFile;
9
+ /**
10
+ * @generated from message UpdatePlayerMessage
11
+ */
12
+ export type UpdatePlayerMessage = Message<"UpdatePlayerMessage"> & {
13
+ /**
14
+ * @generated from field: optional PlayerPath playerPath = 1;
15
+ */
16
+ playerPath?: PlayerPath;
17
+ };
18
+ /**
19
+ * Describes the message UpdatePlayerMessage.
20
+ * Use `create(UpdatePlayerMessageSchema)` to create a new message.
21
+ */
22
+ export declare const UpdatePlayerMessageSchema: GenMessage<UpdatePlayerMessage>;
23
+ /**
24
+ * @generated from extension: optional UpdatePlayerMessage updatePlayerMessage = 62;
25
+ */
26
+ export declare const updatePlayerMessage: GenExtension<ProtocolMessage, UpdatePlayerMessage>;
@@ -0,0 +1,32 @@
1
+ import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
2
+ import type { Message } from "@bufbuild/protobuf";
3
+ /**
4
+ * Describes the file VirtualTouchDeviceDescriptorMessage.proto.
5
+ */
6
+ export declare const file_VirtualTouchDeviceDescriptorMessage: GenFile;
7
+ /**
8
+ * @generated from message VirtualTouchDeviceDescriptor
9
+ */
10
+ export type VirtualTouchDeviceDescriptor = Message<"VirtualTouchDeviceDescriptor"> & {
11
+ /**
12
+ * @generated from field: optional bool absolute = 1;
13
+ */
14
+ absolute: boolean;
15
+ /**
16
+ * @generated from field: optional bool integratedDisplay = 2;
17
+ */
18
+ integratedDisplay: boolean;
19
+ /**
20
+ * @generated from field: optional float screenSizeWidth = 3;
21
+ */
22
+ screenSizeWidth: number;
23
+ /**
24
+ * @generated from field: optional float screenSizeHeight = 4;
25
+ */
26
+ screenSizeHeight: number;
27
+ };
28
+ /**
29
+ * Describes the message VirtualTouchDeviceDescriptor.
30
+ * Use `create(VirtualTouchDeviceDescriptorSchema)` to create a new message.
31
+ */
32
+ export declare const VirtualTouchDeviceDescriptorSchema: GenMessage<VirtualTouchDeviceDescriptor>;
@@ -0,0 +1,25 @@
1
+ import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
2
+ import type { AudioFormatSettings } from "./AudioFormatSettingsMessage_pb";
3
+ import type { Message } from "@bufbuild/protobuf";
4
+ /**
5
+ * Describes the file VoiceInputDeviceDescriptorMessage.proto.
6
+ */
7
+ export declare const file_VoiceInputDeviceDescriptorMessage: GenFile;
8
+ /**
9
+ * @generated from message VoiceInputDeviceDescriptor
10
+ */
11
+ export type VoiceInputDeviceDescriptor = Message<"VoiceInputDeviceDescriptor"> & {
12
+ /**
13
+ * @generated from field: optional AudioFormatSettings defaultFormat = 1;
14
+ */
15
+ defaultFormat?: AudioFormatSettings;
16
+ /**
17
+ * @generated from field: repeated AudioFormatSettings supportedFormats = 2;
18
+ */
19
+ supportedFormats: AudioFormatSettings[];
20
+ };
21
+ /**
22
+ * Describes the message VoiceInputDeviceDescriptor.
23
+ * Use `create(VoiceInputDeviceDescriptorSchema)` to create a new message.
24
+ */
25
+ export declare const VoiceInputDeviceDescriptorSchema: GenMessage<VoiceInputDeviceDescriptor>;
@@ -0,0 +1,66 @@
1
+ import type { GenEnum, GenExtension, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
2
+ import type { ProtocolMessage } from "./ProtocolMessage_pb";
3
+ import type { Message } from "@bufbuild/protobuf";
4
+ /**
5
+ * Describes the file VolumeControlAvailabilityMessage.proto.
6
+ */
7
+ export declare const file_VolumeControlAvailabilityMessage: GenFile;
8
+ /**
9
+ * @generated from message VolumeCapabilities
10
+ */
11
+ export type VolumeCapabilities = Message<"VolumeCapabilities"> & {};
12
+ /**
13
+ * Describes the message VolumeCapabilities.
14
+ * Use `create(VolumeCapabilitiesSchema)` to create a new message.
15
+ */
16
+ export declare const VolumeCapabilitiesSchema: GenMessage<VolumeCapabilities>;
17
+ /**
18
+ * This is really a bitmap but protobuf has no type for that, so lets just add a "Both"
19
+ * option since only two values exist anyway
20
+ *
21
+ * @generated from enum VolumeCapabilities.Enum
22
+ */
23
+ export declare enum VolumeCapabilities_Enum {
24
+ /**
25
+ * @generated from enum value: None = 0;
26
+ */
27
+ None = 0,
28
+ /**
29
+ * @generated from enum value: Relative = 1;
30
+ */
31
+ Relative = 1,
32
+ /**
33
+ * @generated from enum value: Absolute = 2;
34
+ */
35
+ Absolute = 2,
36
+ /**
37
+ * @generated from enum value: Both = 3;
38
+ */
39
+ Both = 3
40
+ }
41
+ /**
42
+ * Describes the enum VolumeCapabilities.Enum.
43
+ */
44
+ export declare const VolumeCapabilities_EnumSchema: GenEnum<VolumeCapabilities_Enum>;
45
+ /**
46
+ * @generated from message VolumeControlAvailabilityMessage
47
+ */
48
+ export type VolumeControlAvailabilityMessage = Message<"VolumeControlAvailabilityMessage"> & {
49
+ /**
50
+ * @generated from field: optional bool volumeControlAvailable = 1;
51
+ */
52
+ volumeControlAvailable: boolean;
53
+ /**
54
+ * @generated from field: optional VolumeCapabilities.Enum volumeCapabilities = 2;
55
+ */
56
+ volumeCapabilities: VolumeCapabilities_Enum;
57
+ };
58
+ /**
59
+ * Describes the message VolumeControlAvailabilityMessage.
60
+ * Use `create(VolumeControlAvailabilityMessageSchema)` to create a new message.
61
+ */
62
+ export declare const VolumeControlAvailabilityMessageSchema: GenMessage<VolumeControlAvailabilityMessage>;
63
+ /**
64
+ * @generated from extension: optional VolumeControlAvailabilityMessage volumeControlAvailabilityMessage = 22;
65
+ */
66
+ export declare const volumeControlAvailabilityMessage: GenExtension<ProtocolMessage, VolumeControlAvailabilityMessage>;
@@ -0,0 +1,34 @@
1
+ import type { GenExtension, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
2
+ import type { ProtocolMessage } from "./ProtocolMessage_pb";
3
+ import type { VolumeControlAvailabilityMessage } from "./VolumeControlAvailabilityMessage_pb";
4
+ import type { Message } from "@bufbuild/protobuf";
5
+ /**
6
+ * Describes the file VolumeControlCapabilitiesDidChangeMessage.proto.
7
+ */
8
+ export declare const file_VolumeControlCapabilitiesDidChangeMessage: GenFile;
9
+ /**
10
+ * @generated from message VolumeControlCapabilitiesDidChangeMessage
11
+ */
12
+ export type VolumeControlCapabilitiesDidChangeMessage = Message<"VolumeControlCapabilitiesDidChangeMessage"> & {
13
+ /**
14
+ * @generated from field: optional VolumeControlAvailabilityMessage capabilities = 1;
15
+ */
16
+ capabilities?: VolumeControlAvailabilityMessage;
17
+ /**
18
+ * @generated from field: optional string endpointUID = 3;
19
+ */
20
+ endpointUID: string;
21
+ /**
22
+ * @generated from field: optional string outputDeviceUID = 4;
23
+ */
24
+ outputDeviceUID: string;
25
+ };
26
+ /**
27
+ * Describes the message VolumeControlCapabilitiesDidChangeMessage.
28
+ * Use `create(VolumeControlCapabilitiesDidChangeMessageSchema)` to create a new message.
29
+ */
30
+ export declare const VolumeControlCapabilitiesDidChangeMessageSchema: GenMessage<VolumeControlCapabilitiesDidChangeMessage>;
31
+ /**
32
+ * @generated from extension: optional VolumeControlCapabilitiesDidChangeMessage volumeControlCapabilitiesDidChangeMessage = 68;
33
+ */
34
+ export declare const volumeControlCapabilitiesDidChangeMessage: GenExtension<ProtocolMessage, VolumeControlCapabilitiesDidChangeMessage>;
@@ -0,0 +1,33 @@
1
+ import type { GenExtension, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
2
+ import type { ProtocolMessage } from "./ProtocolMessage_pb";
3
+ import type { Message } from "@bufbuild/protobuf";
4
+ /**
5
+ * Describes the file VolumeDidChangeMessage.proto.
6
+ */
7
+ export declare const file_VolumeDidChangeMessage: GenFile;
8
+ /**
9
+ * @generated from message VolumeDidChangeMessage
10
+ */
11
+ export type VolumeDidChangeMessage = Message<"VolumeDidChangeMessage"> & {
12
+ /**
13
+ * @generated from field: optional float volume = 1;
14
+ */
15
+ volume: number;
16
+ /**
17
+ * @generated from field: optional string endpointUID = 2;
18
+ */
19
+ endpointUID: string;
20
+ /**
21
+ * @generated from field: optional string outputDeviceUID = 3;
22
+ */
23
+ outputDeviceUID: string;
24
+ };
25
+ /**
26
+ * Describes the message VolumeDidChangeMessage.
27
+ * Use `create(VolumeDidChangeMessageSchema)` to create a new message.
28
+ */
29
+ export declare const VolumeDidChangeMessageSchema: GenMessage<VolumeDidChangeMessage>;
30
+ /**
31
+ * @generated from extension: optional VolumeDidChangeMessage volumeDidChangeMessage = 56;
32
+ */
33
+ export declare const volumeDidChangeMessage: GenExtension<ProtocolMessage, VolumeDidChangeMessage>;
@@ -0,0 +1,20 @@
1
+ import type { GenExtension, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
2
+ import type { ProtocolMessage } from "./ProtocolMessage_pb";
3
+ import type { Message } from "@bufbuild/protobuf";
4
+ /**
5
+ * Describes the file WakeDeviceMessage.proto.
6
+ */
7
+ export declare const file_WakeDeviceMessage: GenFile;
8
+ /**
9
+ * @generated from message WakeDeviceMessage
10
+ */
11
+ export type WakeDeviceMessage = Message<"WakeDeviceMessage"> & {};
12
+ /**
13
+ * Describes the message WakeDeviceMessage.
14
+ * Use `create(WakeDeviceMessageSchema)` to create a new message.
15
+ */
16
+ export declare const WakeDeviceMessageSchema: GenMessage<WakeDeviceMessage>;
17
+ /**
18
+ * @generated from extension: optional WakeDeviceMessage wakeDeviceMessage = 45;
19
+ */
20
+ export declare const wakeDeviceMessage: GenExtension<ProtocolMessage, WakeDeviceMessage>;
@@ -0,0 +1,77 @@
1
+ export * from "./AudioFadeMessage_pb";
2
+ export * from "./AudioFadeResponseMessage_pb";
3
+ export * from "./AudioFormatSettingsMessage_pb";
4
+ export * from "./ClientUpdatesConfigMessage_pb";
5
+ export * from "./CommandInfo_pb";
6
+ export * from "./CommandOptions_pb";
7
+ export * from "./Common_pb";
8
+ export * from "./ConfigureConnectionMessage_pb";
9
+ export * from "./ContentItem_pb";
10
+ export * from "./ContentItemMetadata_pb";
11
+ export * from "./CryptoPairingMessage_pb";
12
+ export * from "./DeviceInfoMessage_pb";
13
+ export * from "./GenericMessage_pb";
14
+ export * from "./GetKeyboardSessionMessage_pb";
15
+ export * from "./GetRemoteTextInputSessionMessage_pb";
16
+ export * from "./GetVolumeMessage_pb";
17
+ export * from "./GetVolumeResultMessage_pb";
18
+ export * from "./KeyboardMessage_pb";
19
+ export * from "./LanguageOption_pb";
20
+ export * from "./ModifyOutputContextRequestMessage_pb";
21
+ export * from "./NotificationMessage_pb";
22
+ export * from "./NowPlayingClient_pb";
23
+ export * from "./NowPlayingInfo_pb";
24
+ export * from "./NowPlayingPlayer_pb";
25
+ export * from "./Origin_pb";
26
+ export * from "./OriginClientPropertiesMessage_pb";
27
+ export * from "./PlaybackQueue_pb";
28
+ export * from "./PlaybackQueueCapabilities_pb";
29
+ export * from "./PlaybackQueueContext_pb";
30
+ export * from "./PlaybackQueueRequestMessage_pb";
31
+ export * from "./PlayerClientPropertiesMessage_pb";
32
+ export * from "./PlayerPath_pb";
33
+ export * from "./ProtocolMessage_pb";
34
+ export * from "./RegisterForGameControllerEventsMessage_pb";
35
+ export * from "./RegisterHIDDeviceMessage_pb";
36
+ export * from "./RegisterHIDDeviceResultMessage_pb";
37
+ export * from "./RegisterVoiceInputDeviceMessage_pb";
38
+ export * from "./RegisterVoiceInputDeviceResponseMessage_pb";
39
+ export * from "./RemoteTextInputMessage_pb";
40
+ export * from "./RemoveClientMessage_pb";
41
+ export * from "./RemoveEndpointsMessage_pb";
42
+ export * from "./RemoveOutputDevicesMessage_pb";
43
+ export * from "./RemovePlayerMessage_pb";
44
+ export * from "./SendButtonEventMessage_pb";
45
+ export * from "./SendCommandMessage_pb";
46
+ export * from "./SendCommandResultMessage_pb";
47
+ export * from "./SendHIDEventMessage_pb";
48
+ export * from "./SendPackedVirtualTouchEventMessage_pb";
49
+ export * from "./SendVoiceInputMessage_pb";
50
+ export * from "./SetArtworkMessage_pb";
51
+ export * from "./SetConnectionStateMessage_pb";
52
+ export * from "./SetDefaultSupportedCommandsMessage_pb";
53
+ export * from "./SetDiscoveryModeMessage_pb";
54
+ export * from "./SetHiliteModeMessage_pb";
55
+ export * from "./SetNowPlayingClientMessage_pb";
56
+ export * from "./SetNowPlayingPlayerMessage_pb";
57
+ export * from "./SetRecordingStateMessage_pb";
58
+ export * from "./SetStateMessage_pb";
59
+ export * from "./SetVolumeMessage_pb";
60
+ export * from "./SupportedCommands_pb";
61
+ export * from "./TextInputMessage_pb";
62
+ export * from "./TransactionKey_pb";
63
+ export * from "./TransactionMessage_pb";
64
+ export * from "./TransactionPacket_pb";
65
+ export * from "./TransactionPackets_pb";
66
+ export * from "./UpdateClientMessage_pb";
67
+ export * from "./UpdateContentItemArtworkMessage_pb";
68
+ export * from "./UpdateContentItemMessage_pb";
69
+ export * from "./UpdateEndPointsMessage_pb";
70
+ export * from "./UpdateOutputDeviceMessage_pb";
71
+ export * from "./UpdatePlayerPath_pb";
72
+ export * from "./VirtualTouchDeviceDescriptorMessage_pb";
73
+ export * from "./VoiceInputDeviceDescriptorMessage_pb";
74
+ export * from "./VolumeControlAvailabilityMessage_pb";
75
+ export * from "./VolumeControlCapabilitiesDidChangeMessage_pb";
76
+ export * from "./VolumeDidChangeMessage_pb";
77
+ export * from "./WakeDeviceMessage_pb";
@@ -0,0 +1,13 @@
1
+ import AirPlayDataStreamMessages from "./dataStreamMessages";
2
+ import AirPlayStream from "./stream";
3
+ import * as Proto from "@/proto";
4
+ export default class AirPlayDataStream extends AirPlayStream {
5
+ #private;
6
+ get messages(): AirPlayDataStreamMessages;
7
+ constructor(address: string, port: number);
8
+ exchange(message: Proto.ProtocolMessage): Promise<Proto.ProtocolMessage>;
9
+ reply(seqno: bigint): Promise<void>;
10
+ send(message: Proto.ProtocolMessage): Promise<void>;
11
+ setup(sharedSecret: Buffer, seed: bigint): Promise<void>;
12
+ onData(buffer: Buffer): Promise<void>;
13
+ }
@@ -0,0 +1,9 @@
1
+ import * as Proto from "@/proto";
2
+ export default class {
3
+ clientUpdatesConfig(): Proto.ProtocolMessage;
4
+ deviceInfo(pairingId: Buffer): Proto.ProtocolMessage;
5
+ protocol(type: Proto.ProtocolMessage_Type, errorCode?: Proto.ErrorCode_Enum): Proto.ProtocolMessage;
6
+ sendButtonEvent(usagePage: number, usage: number, buttonDown: boolean): Proto.ProtocolMessage;
7
+ sendCommand(command: Proto.Command, options?: Proto.CommandOptions): Proto.ProtocolMessage;
8
+ setConnectionState(state?: Proto.SetConnectionStateMessage_ConnectionState): Proto.ProtocolMessage;
9
+ }
@@ -0,0 +1,7 @@
1
+ import AirPlayStream from "./stream";
2
+ export default class AirPlayEventStream extends AirPlayStream {
3
+ #private;
4
+ respond(response: Response): Promise<void>;
5
+ setup(sharedSecret: Buffer): Promise<void>;
6
+ onData(buffer: Buffer): Promise<void>;
7
+ }
@@ -0,0 +1,7 @@
1
+ export type { default as AirPlayDataStream } from "./dataStream";
2
+ export type { default as AirPlayDataStreamMessages } from "./dataStreamMessages";
3
+ export type { default as AirPlayPairing } from "./pairing";
4
+ export type { default as AirPlayRTSP } from "./rtsp";
5
+ export type { default as AirPlayStream } from "./stream";
6
+ export type { default as AirPlayVerify } from "./verify";
7
+ export { default as AirPlay } from "./protocol";
@@ -0,0 +1,12 @@
1
+ import { type AccessoryCredentials, type AccessoryKeys, AccessoryPair } from "@basmilius/apple-common";
2
+ import type AirPlay from "./protocol";
3
+ import type AirPlayRTSP from "./rtsp";
4
+ export default class AirPlayPairing {
5
+ #private;
6
+ get internal(): AccessoryPair;
7
+ get rtsp(): AirPlayRTSP;
8
+ constructor(protocol: AirPlay);
9
+ start(): Promise<void>;
10
+ pin(askPin: () => Promise<string>): Promise<AccessoryCredentials>;
11
+ transient(): Promise<AccessoryKeys>;
12
+ }
@@ -0,0 +1,21 @@
1
+ import { type DiscoveryResult } from "@basmilius/apple-common";
2
+ import DataStream from "./dataStream";
3
+ import EventStream from "./eventStream";
4
+ import Pairing from "./pairing";
5
+ import RTSP from "./rtsp";
6
+ import Verify from "./verify";
7
+ export default class AirPlay {
8
+ #private;
9
+ get device(): DiscoveryResult;
10
+ get dataStream(): DataStream | undefined;
11
+ get eventStream(): EventStream | undefined;
12
+ get pairing(): Pairing;
13
+ get rtsp(): RTSP;
14
+ get verify(): Verify;
15
+ constructor(device: DiscoveryResult);
16
+ connect(): Promise<void>;
17
+ disconnect(): Promise<void>;
18
+ feedback(): Promise<void>;
19
+ setupDataStream(sharedSecret: Buffer): Promise<void>;
20
+ setupEventStream(pairingId: Buffer, sharedSecret: Buffer): Promise<void>;
21
+ }
@@ -0,0 +1,15 @@
1
+ import AirPlayStream from "./stream";
2
+ export default class AirPlayRTSP extends AirPlayStream {
3
+ #private;
4
+ get activeRemote(): string;
5
+ get dacpId(): string;
6
+ get sessionId(): string;
7
+ constructor(address: string, port: number);
8
+ get(path: string, headers?: HeadersInit): Promise<Response>;
9
+ post(path: string, body?: Buffer | string | null, headers?: HeadersInit): Promise<Response>;
10
+ record(path: string, headers?: HeadersInit): Promise<Response>;
11
+ setup(path: string, body?: Buffer | string | null, headers?: HeadersInit): Promise<Response>;
12
+ onClose(): Promise<void>;
13
+ onData(buffer: Buffer): Promise<void>;
14
+ onError(err: Error): Promise<void>;
15
+ }
@@ -0,0 +1,22 @@
1
+ import { Socket } from "node:net";
2
+ import { BaseSocket } from "@basmilius/apple-common";
3
+ export default class AirPlayStream extends BaseSocket {
4
+ #private;
5
+ get isEncrypted(): boolean;
6
+ get socket(): Socket;
7
+ get readKey(): Buffer;
8
+ get writeKey(): Buffer;
9
+ constructor(address: string, port: number);
10
+ connect(): Promise<void>;
11
+ disconnect(): Promise<void>;
12
+ enableEncryption(readKey: Buffer, writeKey: Buffer): Promise<void>;
13
+ decrypt(data: Buffer): Promise<Buffer>;
14
+ encrypt(data: Buffer): Promise<Buffer>;
15
+ decryptRaw(data: Buffer): Promise<Buffer>;
16
+ encryptRaw(data: Buffer): Promise<Buffer>;
17
+ onClose(): Promise<void>;
18
+ onConnect(): Promise<void>;
19
+ onData(buffer: Buffer): Promise<void>;
20
+ onEnd(): Promise<void>;
21
+ onError(err: Error): Promise<void>;
22
+ }
@@ -0,0 +1,18 @@
1
+ import type { RTSPMethod } from "@/protocol/types";
2
+ export declare function makeHttpHeader(method: RTSPMethod, path: string, headers: HeadersInit, cseq: number): string;
3
+ export declare function makeHttpRequest(buffer: Buffer): HttpRequest | null;
4
+ export declare function makeHttpResponse(buffer: Buffer): HttpResponse | null;
5
+ export declare function randomInt32(): number;
6
+ export declare function randomInt64(): bigint;
7
+ type HttpRequest = {
8
+ readonly headers: Record<string, string>;
9
+ readonly method: RTSPMethod;
10
+ readonly path: string;
11
+ readonly body: Buffer;
12
+ readonly requestLength: number;
13
+ };
14
+ type HttpResponse = {
15
+ readonly response: Response;
16
+ readonly responseLength: number;
17
+ };
18
+ export {};
@@ -0,0 +1,9 @@
1
+ import { type AccessoryCredentials, type AccessoryKeys } from "@basmilius/apple-common";
2
+ import type AirPlay from "./protocol";
3
+ import type AirPlayRTSP from "./rtsp";
4
+ export default class AirPlayVerify {
5
+ #private;
6
+ get rtsp(): AirPlayRTSP;
7
+ constructor(protocol: AirPlay);
8
+ start(credentials: AccessoryCredentials): Promise<AccessoryKeys>;
9
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@basmilius/apple-airplay",
3
3
  "description": "Implementation of Apple's AirPlay2 in Node.js.",
4
- "version": "0.0.11",
4
+ "version": "0.0.12",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "author": {
@@ -27,6 +27,7 @@
27
27
  "scripts": {
28
28
  "build": "bun -b build.ts",
29
29
  "find": "bun src/find.ts",
30
+ "gen:proto": "buf generate",
30
31
  "watch:test": "bun --watch src/test.ts"
31
32
  },
32
33
  "main": "./dist/index.js",
@@ -40,10 +41,13 @@
40
41
  }
41
42
  },
42
43
  "dependencies": {
43
- "@basmilius/apple-common": "0.0.11"
44
+ "@basmilius/apple-common": "0.0.12",
45
+ "@bufbuild/protobuf": "^2.10.0"
44
46
  },
45
47
  "devDependencies": {
46
48
  "@basmilius/tools": "^2.13.0",
49
+ "@bufbuild/buf": "^1.59.0",
50
+ "@bufbuild/protoc-gen-es": "^2.10.0",
47
51
  "@types/bun": "^1.3.1"
48
52
  }
49
53
  }