@bytepulse/pulsewave-shared 0.2.0

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/README.md ADDED
@@ -0,0 +1,415 @@
1
+ # @bytepulse/pulsewave-shared
2
+
3
+ Shared types, constants, and utilities for PulseWave client and server packages.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @bytepulse/pulsewave-shared
9
+ ```
10
+
11
+ ## Overview
12
+
13
+ This package contains:
14
+
15
+ - **Types**: TypeScript interfaces and types used across client and server
16
+ - **Constants**: Shared constants for events, errors, and configuration
17
+ - **Utilities**: Common utility functions
18
+
19
+ ## Types
20
+
21
+ ### Room Types
22
+
23
+ ```typescript
24
+ // Room information
25
+ interface Room {
26
+ sid: string;
27
+ name: string;
28
+ numParticipants: number;
29
+ maxParticipants: number;
30
+ creationTime: number;
31
+ metadata: Record<string, unknown>;
32
+ }
33
+
34
+ // Participant information
35
+ interface Participant {
36
+ identity: string;
37
+ name: string;
38
+ sid: string;
39
+ state: 'joined' | 'connected' | 'disconnected';
40
+ tracks: TrackPublication[];
41
+ metadata: Record<string, unknown>;
42
+ }
43
+
44
+ // Local participant extends Participant
45
+ interface LocalParticipant extends Participant {
46
+ isLocal: true;
47
+ }
48
+
49
+ // Remote participant extends Participant
50
+ interface RemoteParticipant extends Participant {
51
+ isLocal: false;
52
+ }
53
+ ```
54
+
55
+ ### Track Types
56
+
57
+ ```typescript
58
+ // Track kind
59
+ type TrackKind = 'video' | 'audio' | 'data';
60
+
61
+ // Track source
62
+ type TrackSource = 'camera' | 'microphone' | 'screen' | 'screen_audio' | 'unknown';
63
+
64
+ // Track publication
65
+ interface TrackPublication {
66
+ sid: string;
67
+ kind: TrackKind;
68
+ source: TrackSource;
69
+ mimeType: string;
70
+ simulcast: boolean;
71
+ muted: boolean;
72
+ width?: number;
73
+ height?: number;
74
+ }
75
+
76
+ // Track
77
+ interface Track {
78
+ sid: string;
79
+ kind: TrackKind;
80
+ source: TrackSource;
81
+ muted: boolean;
82
+ }
83
+
84
+ // Local track
85
+ interface LocalTrack extends Track {
86
+ mediaStreamTrack: MediaStreamTrack;
87
+ }
88
+
89
+ // Remote track
90
+ interface RemoteTrack extends Track {
91
+ stream: MediaStream;
92
+ }
93
+ ```
94
+
95
+ ### Signal Types
96
+
97
+ ```typescript
98
+ // Signaling message types
99
+ type SignalingMessageType =
100
+ | 'join'
101
+ | 'leave'
102
+ | 'joined'
103
+ | 'participant-joined'
104
+ | 'participant-left'
105
+ | 'track-published'
106
+ | 'track-unpublished'
107
+ | 'track-subscribed'
108
+ | 'track-unsubscribed'
109
+ | 'track-muted'
110
+ | 'track-unmuted'
111
+ | 'create-transport'
112
+ | 'connect-transport'
113
+ | 'publish'
114
+ | 'unpublish'
115
+ | 'subscribe'
116
+ | 'unsubscribe'
117
+ | 'resume-consumer'
118
+ | 'publish-data'
119
+ | 'data'
120
+ | 'error';
121
+
122
+ // Base signaling message
123
+ interface SignalingMessage {
124
+ type: SignalingMessageType;
125
+ }
126
+
127
+ // Join message
128
+ interface JoinMessage extends SignalingMessage {
129
+ type: 'join';
130
+ room: string;
131
+ }
132
+
133
+ // Leave message
134
+ interface LeaveMessage extends SignalingMessage {
135
+ type: 'leave';
136
+ }
137
+
138
+ // Joined message
139
+ interface JoinedMessage extends SignalingMessage {
140
+ type: 'joined';
141
+ room: Room;
142
+ participant: Participant;
143
+ otherParticipants: Participant[];
144
+ }
145
+
146
+ // Participant joined message
147
+ interface ParticipantJoinedMessage extends SignalingMessage {
148
+ type: 'participant-joined';
149
+ participant: Participant;
150
+ }
151
+
152
+ // Participant left message
153
+ interface ParticipantLeftMessage extends SignalingMessage {
154
+ type: 'participant-left';
155
+ participant: Participant;
156
+ }
157
+
158
+ // Track published message
159
+ interface TrackPublishedMessage extends SignalingMessage {
160
+ type: 'track-published';
161
+ track: TrackPublication;
162
+ }
163
+
164
+ // Track unpublished message
165
+ interface TrackUnpublishedMessage extends SignalingMessage {
166
+ type: 'track-unpublished';
167
+ producerId: string;
168
+ }
169
+
170
+ // Track subscribed message
171
+ interface TrackSubscribedMessage extends SignalingMessage {
172
+ type: 'track-subscribed';
173
+ trackSid: string;
174
+ consumerId: string;
175
+ producerId: string;
176
+ rtpParameters: RtpParameters;
177
+ }
178
+
179
+ // Track unsubscribed message
180
+ interface TrackUnsubscribedMessage extends SignalingMessage {
181
+ type: 'track-unsubscribed';
182
+ consumerId: string;
183
+ }
184
+
185
+ // Track muted message
186
+ interface TrackMutedMessage extends SignalingMessage {
187
+ type: 'track-muted';
188
+ producerId: string;
189
+ }
190
+
191
+ // Track unmuted message
192
+ interface TrackUnmutedMessage extends SignalingMessage {
193
+ type: 'track-unmuted';
194
+ producerId: string;
195
+ }
196
+
197
+ // Create transport message
198
+ interface CreateTransportMessage extends SignalingMessage {
199
+ type: 'create-transport';
200
+ direction: 'send' | 'recv';
201
+ }
202
+
203
+ // Connect transport message
204
+ interface ConnectTransportMessage extends SignalingMessage {
205
+ type: 'connect-transport';
206
+ transportId: string;
207
+ dtlsParameters: DtlsParameters;
208
+ }
209
+
210
+ // Publish message
211
+ interface PublishMessage extends SignalingMessage {
212
+ type: 'publish';
213
+ kind: TrackKind;
214
+ source: TrackSource;
215
+ rtpParameters: RtpParameters;
216
+ }
217
+
218
+ // Unpublish message
219
+ interface UnpublishMessage extends SignalingMessage {
220
+ type: 'unpublish';
221
+ producerId: string;
222
+ }
223
+
224
+ // Subscribe message
225
+ interface SubscribeMessage extends SignalingMessage {
226
+ type: 'subscribe';
227
+ producerId: string;
228
+ rtpCapabilities: RtpCapabilities;
229
+ }
230
+
231
+ // Unsubscribe message
232
+ interface UnsubscribeMessage extends SignalingMessage {
233
+ type: 'unsubscribe';
234
+ consumerId: string;
235
+ }
236
+
237
+ // Resume consumer message
238
+ interface ResumeConsumerMessage extends SignalingMessage {
239
+ type: 'resume-consumer';
240
+ consumerId: string;
241
+ }
242
+
243
+ // Publish data message
244
+ interface PublishDataMessage extends SignalingMessage {
245
+ type: 'publish-data';
246
+ kind: 'reliable' | 'lossy';
247
+ data: unknown;
248
+ }
249
+
250
+ // Data message
251
+ interface DataMessage extends SignalingMessage {
252
+ type: 'data';
253
+ participantIdentity: string;
254
+ kind: 'reliable' | 'lossy';
255
+ data: unknown;
256
+ }
257
+
258
+ // Error message
259
+ interface ErrorMessage extends SignalingMessage {
260
+ type: 'error';
261
+ code: number;
262
+ message: string;
263
+ }
264
+ ```
265
+
266
+ ### Token Types
267
+
268
+ ```typescript
269
+ // JWT grant
270
+ interface VideoGrant {
271
+ room: string;
272
+ roomJoin: boolean;
273
+ canPublish: boolean;
274
+ canSubscribe: boolean;
275
+ canPublishData: boolean;
276
+ }
277
+
278
+ // JWT payload
279
+ interface TokenPayload {
280
+ identity: string;
281
+ name: string;
282
+ metadata: Record<string, unknown>;
283
+ video: VideoGrant;
284
+ nbf: number;
285
+ exp: number;
286
+ iss: string;
287
+ sub: string;
288
+ jti: string;
289
+ iat: number;
290
+ }
291
+ ```
292
+
293
+ ## Constants
294
+
295
+ ### Events
296
+
297
+ ```typescript
298
+ // Connection events
299
+ const CONNECTION_EVENTS = {
300
+ CONNECTING: 'connecting',
301
+ CONNECTED: 'connected',
302
+ DISCONNECTED: 'disconnected',
303
+ RECONNECTING: 'reconnecting',
304
+ } as const;
305
+
306
+ // Participant events
307
+ const PARTICIPANT_EVENTS = {
308
+ JOINED: 'participant_joined',
309
+ LEFT: 'participant_left',
310
+ TRACK_PUBLISHED: 'track_published',
311
+ TRACK_UNPUBLISHED: 'track_unpublished',
312
+ TRACK_SUBSCRIBED: 'track_subscribed',
313
+ TRACK_UNSUBSCRIBED: 'track_unsubscribed',
314
+ } as const;
315
+
316
+ // Track events
317
+ const TRACK_EVENTS = {
318
+ MUTED: 'track_muted',
319
+ UNMUTED: 'track_unmuted',
320
+ STOPPED: 'track_stopped',
321
+ } as const;
322
+
323
+ // Data events
324
+ const DATA_EVENTS = {
325
+ MESSAGE: 'data_message',
326
+ } as const;
327
+ ```
328
+
329
+ ### Errors
330
+
331
+ ```typescript
332
+ // Error codes
333
+ const ERROR_CODES = {
334
+ // General errors (100-199)
335
+ UNKNOWN_ERROR: 100,
336
+ INVALID_REQUEST: 101,
337
+ UNAUTHORIZED: 102,
338
+ FORBIDDEN: 103,
339
+ NOT_FOUND: 104,
340
+
341
+ // Room errors (200-299)
342
+ ROOM_NOT_FOUND: 200,
343
+ ROOM_FULL: 201,
344
+ ROOM_CLOSED: 202,
345
+
346
+ // Participant errors (300-399)
347
+ PARTICIPANT_NOT_FOUND: 300,
348
+ PARTICIPANT_ALREADY_JOINED: 301,
349
+
350
+ // Track errors (400-499)
351
+ TRACK_NOT_FOUND: 400,
352
+ TRACK_ALREADY_PUBLISHED: 401,
353
+ TRACK_NOT_PUBLISHED: 402,
354
+ TRACK_ALREADY_SUBSCRIBED: 403,
355
+ TRACK_NOT_SUBSCRIBED: 404,
356
+
357
+ // Transport errors (500-599)
358
+ TRANSPORT_NOT_FOUND: 500,
359
+ TRANSPORT_ALREADY_CONNECTED: 501,
360
+ TRANSPORT_NOT_CONNECTED: 502,
361
+ } as const;
362
+
363
+ // Error messages
364
+ const ERROR_MESSAGES: Record<number, string> = {
365
+ [ERROR_CODES.UNKNOWN_ERROR]: 'Unknown error',
366
+ [ERROR_CODES.INVALID_REQUEST]: 'Invalid request',
367
+ [ERROR_CODES.UNAUTHORIZED]: 'Unauthorized',
368
+ [ERROR_CODES.FORBIDDEN]: 'Forbidden',
369
+ [ERROR_CODES.NOT_FOUND]: 'Not found',
370
+ [ERROR_CODES.ROOM_NOT_FOUND]: 'Room not found',
371
+ [ERROR_CODES.ROOM_FULL]: 'Room is full',
372
+ [ERROR_CODES.ROOM_CLOSED]: 'Room is closed',
373
+ [ERROR_CODES.PARTICIPANT_NOT_FOUND]: 'Participant not found',
374
+ [ERROR_CODES.PARTICIPANT_ALREADY_JOINED]: 'Participant already joined',
375
+ [ERROR_CODES.TRACK_NOT_FOUND]: 'Track not found',
376
+ [ERROR_CODES.TRACK_ALREADY_PUBLISHED]: 'Track already published',
377
+ [ERROR_CODES.TRACK_NOT_PUBLISHED]: 'Track not published',
378
+ [ERROR_CODES.TRACK_ALREADY_SUBSCRIBED]: 'Track already subscribed',
379
+ [ERROR_CODES.TRACK_NOT_SUBSCRIBED]: 'Track not subscribed',
380
+ [ERROR_CODES.TRANSPORT_NOT_FOUND]: 'Transport not found',
381
+ [ERROR_CODES.TRANSPORT_ALREADY_CONNECTED]: 'Transport already connected',
382
+ [ERROR_CODES.TRANSPORT_NOT_CONNECTED]: 'Transport not connected',
383
+ };
384
+ ```
385
+
386
+ ## Usage
387
+
388
+ ```typescript
389
+ import {
390
+ Room,
391
+ Participant,
392
+ TrackPublication,
393
+ SignalingMessage,
394
+ ERROR_CODES,
395
+ ERROR_MESSAGES,
396
+ } from '@bytepulse/pulsewave-shared';
397
+
398
+ // Use types
399
+ const room: Room = {
400
+ sid: 'RM_123',
401
+ name: 'my-room',
402
+ numParticipants: 3,
403
+ maxParticipants: 10,
404
+ creationTime: Date.now(),
405
+ metadata: {},
406
+ };
407
+
408
+ // Use constants
409
+ const errorMessage = ERROR_MESSAGES[ERROR_CODES.ROOM_NOT_FOUND];
410
+ // "Room not found"
411
+ ```
412
+
413
+ ## License
414
+
415
+ MIT
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/types.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,65 @@
1
+ import { ConnectionState, TrackKind, TrackSource } from '@bytepulse/pulsewave-shared';
2
+ describe('Shared Types', () => {
3
+ describe('RoomInfo', () => {
4
+ it('should create a valid RoomInfo object', () => {
5
+ const roomInfo = {
6
+ sid: 'RM_123',
7
+ name: 'test-room',
8
+ numParticipants: 0,
9
+ creationTime: Date.now(),
10
+ };
11
+ expect(roomInfo.sid).toBe('RM_123');
12
+ expect(roomInfo.name).toBe('test-room');
13
+ });
14
+ });
15
+ describe('ParticipantInfo', () => {
16
+ it('should create a valid ParticipantInfo object', () => {
17
+ const participantInfo = {
18
+ sid: 'PA_123',
19
+ identity: 'user-1',
20
+ name: 'Test User',
21
+ state: ConnectionState.Connected,
22
+ tracks: [],
23
+ };
24
+ expect(participantInfo.sid).toBe('PA_123');
25
+ expect(participantInfo.identity).toBe('user-1');
26
+ });
27
+ });
28
+ describe('TrackInfo', () => {
29
+ it('should create a valid TrackInfo object', () => {
30
+ const trackInfo = {
31
+ sid: 'TR_123',
32
+ kind: TrackKind.Video,
33
+ source: TrackSource.Camera,
34
+ muted: false,
35
+ };
36
+ expect(trackInfo.sid).toBe('TR_123');
37
+ expect(trackInfo.kind).toBe(TrackKind.Video);
38
+ });
39
+ });
40
+ describe('ConnectionState', () => {
41
+ it('should have valid connection states', () => {
42
+ const states = [
43
+ ConnectionState.Connected,
44
+ ConnectionState.Disconnected,
45
+ ConnectionState.Reconnecting,
46
+ ];
47
+ expect(states).toContain(ConnectionState.Connected);
48
+ });
49
+ });
50
+ describe('TrackKind', () => {
51
+ it('should have valid track kinds', () => {
52
+ const kinds = [TrackKind.Audio, TrackKind.Video];
53
+ expect(kinds).toContain(TrackKind.Audio);
54
+ expect(kinds).toContain(TrackKind.Video);
55
+ });
56
+ });
57
+ describe('TrackSource', () => {
58
+ it('should have valid track sources', () => {
59
+ const sources = [TrackSource.Camera, TrackSource.Microphone, TrackSource.ScreenShare];
60
+ expect(sources).toContain(TrackSource.Camera);
61
+ expect(sources).toContain(TrackSource.Microphone);
62
+ });
63
+ });
64
+ });
65
+ //# sourceMappingURL=types.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.test.js","sourceRoot":"","sources":["../../src/__tests__/types.test.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAEtF,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,QAAQ,GAAa;gBACzB,GAAG,EAAE,QAAQ;gBACb,IAAI,EAAE,WAAW;gBACjB,eAAe,EAAE,CAAC;gBAClB,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;aACzB,CAAC;YAEF,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,eAAe,GAAoB;gBACvC,GAAG,EAAE,QAAQ;gBACb,QAAQ,EAAE,QAAQ;gBAClB,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,eAAe,CAAC,SAAS;gBAChC,MAAM,EAAE,EAAE;aACX,CAAC;YAEF,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAChD,MAAM,SAAS,GAAc;gBAC3B,GAAG,EAAE,QAAQ;gBACb,IAAI,EAAE,SAAS,CAAC,KAAK;gBACrB,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,KAAK,EAAE,KAAK;aACb,CAAC;YAEF,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,MAAM,GAAG;gBACb,eAAe,CAAC,SAAS;gBACzB,eAAe,CAAC,YAAY;gBAC5B,eAAe,CAAC,YAAY;aAC7B,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,KAAK,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YACjD,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,OAAO,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;YACtF,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { ErrorCode } from '../types/room.types';
2
+ export declare const ERROR_MESSAGES: Record<ErrorCode, string>;
3
+ export declare function getErrorMessage(code: ErrorCode): string;
4
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/constants/errors.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAiBpD,CAAC;AAKF,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAEvD"}
@@ -0,0 +1,23 @@
1
+ import { ErrorCode } from '../types/room.types';
2
+ export const ERROR_MESSAGES = {
3
+ [ErrorCode.Unknown]: 'An unknown error occurred',
4
+ [ErrorCode.InvalidRequest]: 'Invalid request',
5
+ [ErrorCode.Unauthorized]: 'Unauthorized access',
6
+ [ErrorCode.NotFound]: 'Resource not found',
7
+ [ErrorCode.RoomNotFound]: 'Room not found',
8
+ [ErrorCode.RoomFull]: 'Room is full',
9
+ [ErrorCode.RoomClosed]: 'Room is closed',
10
+ [ErrorCode.ParticipantNotFound]: 'Participant not found',
11
+ [ErrorCode.ParticipantAlreadyJoined]: 'Participant already joined',
12
+ [ErrorCode.TrackNotFound]: 'Track not found',
13
+ [ErrorCode.TrackPublishError]: 'Failed to publish track',
14
+ [ErrorCode.TrackSubscribeError]: 'Failed to subscribe to track',
15
+ [ErrorCode.TransportError]: 'Transport error',
16
+ [ErrorCode.MediaError]: 'Media error',
17
+ [ErrorCode.DeviceNotFound]: 'Media device not found',
18
+ [ErrorCode.PermissionDenied]: 'Permission denied',
19
+ };
20
+ export function getErrorMessage(code) {
21
+ return ERROR_MESSAGES[code] || ERROR_MESSAGES[ErrorCode.Unknown];
22
+ }
23
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/constants/errors.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,CAAC,MAAM,cAAc,GAA8B;IACvD,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,2BAA2B;IAChD,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,iBAAiB;IAC7C,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,qBAAqB;IAC/C,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,oBAAoB;IAC1C,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,gBAAgB;IAC1C,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,cAAc;IACpC,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,gBAAgB;IACxC,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE,uBAAuB;IACxD,CAAC,SAAS,CAAC,wBAAwB,CAAC,EAAE,4BAA4B;IAClE,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,iBAAiB;IAC5C,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,yBAAyB;IACxD,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE,8BAA8B;IAC/D,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,iBAAiB;IAC7C,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,aAAa;IACrC,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,wBAAwB;IACpD,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,mBAAmB;CAClD,CAAC;AAKF,MAAM,UAAU,eAAe,CAAC,IAAe;IAC7C,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACnE,CAAC"}
@@ -0,0 +1,35 @@
1
+ export declare const CLIENT_EVENTS: {
2
+ readonly JOIN: "join";
3
+ readonly LEAVE: "leave";
4
+ readonly CREATE_WEBRTC_TRANSPORT: "create_webrtc_transport";
5
+ readonly CONNECT_TRANSPORT: "connect_transport";
6
+ readonly PUBLISH: "publish";
7
+ readonly UNPUBLISH: "unpublish";
8
+ readonly SUBSCRIBE: "subscribe";
9
+ readonly UNSUBSCRIBE: "unsubscribe";
10
+ readonly RESUME_CONSUMER: "resume_consumer";
11
+ readonly MUTE: "mute";
12
+ readonly DATA: "data";
13
+ };
14
+ export declare const SERVER_EVENTS: {
15
+ readonly JOINED: "joined";
16
+ readonly PARTICIPANT_JOINED: "participant_joined";
17
+ readonly PARTICIPANT_LEFT: "participant_left";
18
+ readonly TRACK_PUBLISHED: "track_published";
19
+ readonly TRACK_UNPUBLISHED: "track_unpublished";
20
+ readonly TRACK_SUBSCRIBED: "track_subscribed";
21
+ readonly TRACK_UNSUBSCRIBED: "track_unsubscribed";
22
+ readonly TRACK_MUTED: "track_muted";
23
+ readonly DATA: "data";
24
+ readonly ERROR: "error";
25
+ };
26
+ export declare const ROOM_EVENTS: {
27
+ readonly PARTICIPANT_CONNECTED: "participant:connected";
28
+ readonly PARTICIPANT_DISCONNECTED: "participant:disconnected";
29
+ readonly TRACK_ADDED: "track:added";
30
+ readonly TRACK_REMOVED: "track:removed";
31
+ readonly TRACK_MUTED: "track:muted";
32
+ readonly TRACK_UNMUTED: "track:unmuted";
33
+ readonly ROOM_CLOSED: "room:closed";
34
+ };
35
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/constants/events.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,aAAa;;;;;;;;;;;;CAYhB,CAAC;AAGX,eAAO,MAAM,aAAa;;;;;;;;;;;CAWhB,CAAC;AAGX,eAAO,MAAM,WAAW;;;;;;;;CAQd,CAAC"}
@@ -0,0 +1,35 @@
1
+ export const CLIENT_EVENTS = {
2
+ JOIN: 'join',
3
+ LEAVE: 'leave',
4
+ CREATE_WEBRTC_TRANSPORT: 'create_webrtc_transport',
5
+ CONNECT_TRANSPORT: 'connect_transport',
6
+ PUBLISH: 'publish',
7
+ UNPUBLISH: 'unpublish',
8
+ SUBSCRIBE: 'subscribe',
9
+ UNSUBSCRIBE: 'unsubscribe',
10
+ RESUME_CONSUMER: 'resume_consumer',
11
+ MUTE: 'mute',
12
+ DATA: 'data',
13
+ };
14
+ export const SERVER_EVENTS = {
15
+ JOINED: 'joined',
16
+ PARTICIPANT_JOINED: 'participant_joined',
17
+ PARTICIPANT_LEFT: 'participant_left',
18
+ TRACK_PUBLISHED: 'track_published',
19
+ TRACK_UNPUBLISHED: 'track_unpublished',
20
+ TRACK_SUBSCRIBED: 'track_subscribed',
21
+ TRACK_UNSUBSCRIBED: 'track_unsubscribed',
22
+ TRACK_MUTED: 'track_muted',
23
+ DATA: 'data',
24
+ ERROR: 'error',
25
+ };
26
+ export const ROOM_EVENTS = {
27
+ PARTICIPANT_CONNECTED: 'participant:connected',
28
+ PARTICIPANT_DISCONNECTED: 'participant:disconnected',
29
+ TRACK_ADDED: 'track:added',
30
+ TRACK_REMOVED: 'track:removed',
31
+ TRACK_MUTED: 'track:muted',
32
+ TRACK_UNMUTED: 'track:unmuted',
33
+ ROOM_CLOSED: 'room:closed',
34
+ };
35
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/constants/events.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,uBAAuB,EAAE,yBAAyB;IAClD,iBAAiB,EAAE,mBAAmB;IACtC,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,aAAa;IAC1B,eAAe,EAAE,iBAAiB;IAClC,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;CACJ,CAAC;AAGX,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE,QAAQ;IAChB,kBAAkB,EAAE,oBAAoB;IACxC,gBAAgB,EAAE,kBAAkB;IACpC,eAAe,EAAE,iBAAiB;IAClC,iBAAiB,EAAE,mBAAmB;IACtC,gBAAgB,EAAE,kBAAkB;IACpC,kBAAkB,EAAE,oBAAoB;IACxC,WAAW,EAAE,aAAa;IAC1B,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;CACN,CAAC;AAGX,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,qBAAqB,EAAE,uBAAuB;IAC9C,wBAAwB,EAAE,0BAA0B;IACpD,WAAW,EAAE,aAAa;IAC1B,aAAa,EAAE,eAAe;IAC9B,WAAW,EAAE,aAAa;IAC1B,aAAa,EAAE,eAAe;IAC9B,WAAW,EAAE,aAAa;CAClB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './types/room.types';
2
+ export * from './types/signal.types';
3
+ export * from './types/token.types';
4
+ export * from './constants/events';
5
+ export * from './constants/errors';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ export * from './types/room.types';
2
+ export * from './types/signal.types';
3
+ export * from './types/token.types';
4
+ export * from './constants/events';
5
+ export * from './constants/errors';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,89 @@
1
+ export declare enum ConnectionState {
2
+ Connected = "connected",
3
+ Disconnected = "disconnected",
4
+ Reconnecting = "reconnecting"
5
+ }
6
+ export interface RoomInfo {
7
+ sid: string;
8
+ name: string;
9
+ numParticipants: number;
10
+ maxParticipants?: number;
11
+ creationTime: number;
12
+ metadata?: Record<string, unknown>;
13
+ }
14
+ export interface RoomState {
15
+ sid: string;
16
+ name: string;
17
+ participants: Map<string, ParticipantInfo>;
18
+ active: boolean;
19
+ }
20
+ export interface ParticipantInfo {
21
+ sid: string;
22
+ identity: string;
23
+ name?: string;
24
+ state: ConnectionState;
25
+ metadata?: Record<string, unknown>;
26
+ tracks: TrackInfo[];
27
+ permission?: ParticipantPermission;
28
+ }
29
+ export interface ParticipantPermission {
30
+ canPublish: boolean;
31
+ canSubscribe: boolean;
32
+ canPublishData: boolean;
33
+ hidden?: boolean;
34
+ recorder?: boolean;
35
+ }
36
+ export interface TrackInfo {
37
+ sid: string;
38
+ kind: TrackKind;
39
+ source: TrackSource;
40
+ muted: boolean;
41
+ width?: number;
42
+ height?: number;
43
+ simulcast?: boolean;
44
+ }
45
+ export declare enum TrackKind {
46
+ Audio = "audio",
47
+ Video = "video"
48
+ }
49
+ export declare enum TrackSource {
50
+ Camera = "camera",
51
+ Microphone = "microphone",
52
+ ScreenShare = "screen_share",
53
+ ScreenShareAudio = "screen_share_audio",
54
+ Unknown = "unknown"
55
+ }
56
+ export declare enum DataPacketKind {
57
+ Reliable = "reliable",
58
+ Lossy = "lossy"
59
+ }
60
+ export interface DataPacket {
61
+ kind: DataPacketKind;
62
+ value: unknown;
63
+ participantSid?: string;
64
+ timestamp: number;
65
+ }
66
+ export declare enum ErrorCode {
67
+ Unknown = 0,
68
+ InvalidRequest = 1,
69
+ Unauthorized = 2,
70
+ NotFound = 3,
71
+ RoomNotFound = 100,
72
+ RoomFull = 101,
73
+ RoomClosed = 102,
74
+ ParticipantNotFound = 200,
75
+ ParticipantAlreadyJoined = 201,
76
+ TrackNotFound = 300,
77
+ TrackPublishError = 301,
78
+ TrackSubscribeError = 302,
79
+ TransportError = 400,
80
+ MediaError = 500,
81
+ DeviceNotFound = 501,
82
+ PermissionDenied = 502
83
+ }
84
+ export interface ErrorInfo {
85
+ code: ErrorCode;
86
+ message: string;
87
+ details?: Record<string, unknown>;
88
+ }
89
+ //# sourceMappingURL=room.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"room.types.d.ts","sourceRoot":"","sources":["../../src/types/room.types.ts"],"names":[],"mappings":"AAOA,oBAAY,eAAe;IACzB,SAAS,cAAc;IACvB,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;CAC9B;AAKD,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAKD,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC3C,MAAM,EAAE,OAAO,CAAC;CACjB;AAKD,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,eAAe,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACpC;AAKD,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAKD,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAKD,oBAAY,SAAS;IACnB,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAKD,oBAAY,WAAW;IACrB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,WAAW,iBAAiB;IAC5B,gBAAgB,uBAAuB;IACvC,OAAO,YAAY;CACpB;AAKD,oBAAY,cAAc;IACxB,QAAQ,aAAa;IACrB,KAAK,UAAU;CAChB;AAKD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD,oBAAY,SAAS;IAEnB,OAAO,IAAI;IACX,cAAc,IAAI;IAClB,YAAY,IAAI;IAChB,QAAQ,IAAI;IAEZ,YAAY,MAAM;IAClB,QAAQ,MAAM;IACd,UAAU,MAAM;IAEhB,mBAAmB,MAAM;IACzB,wBAAwB,MAAM;IAE9B,aAAa,MAAM;IACnB,iBAAiB,MAAM;IACvB,mBAAmB,MAAM;IAEzB,cAAc,MAAM;IAEpB,UAAU,MAAM;IAChB,cAAc,MAAM;IACpB,gBAAgB,MAAM;CACvB;AAKD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC"}
@@ -0,0 +1,44 @@
1
+ export var ConnectionState;
2
+ (function (ConnectionState) {
3
+ ConnectionState["Connected"] = "connected";
4
+ ConnectionState["Disconnected"] = "disconnected";
5
+ ConnectionState["Reconnecting"] = "reconnecting";
6
+ })(ConnectionState || (ConnectionState = {}));
7
+ export var TrackKind;
8
+ (function (TrackKind) {
9
+ TrackKind["Audio"] = "audio";
10
+ TrackKind["Video"] = "video";
11
+ })(TrackKind || (TrackKind = {}));
12
+ export var TrackSource;
13
+ (function (TrackSource) {
14
+ TrackSource["Camera"] = "camera";
15
+ TrackSource["Microphone"] = "microphone";
16
+ TrackSource["ScreenShare"] = "screen_share";
17
+ TrackSource["ScreenShareAudio"] = "screen_share_audio";
18
+ TrackSource["Unknown"] = "unknown";
19
+ })(TrackSource || (TrackSource = {}));
20
+ export var DataPacketKind;
21
+ (function (DataPacketKind) {
22
+ DataPacketKind["Reliable"] = "reliable";
23
+ DataPacketKind["Lossy"] = "lossy";
24
+ })(DataPacketKind || (DataPacketKind = {}));
25
+ export var ErrorCode;
26
+ (function (ErrorCode) {
27
+ ErrorCode[ErrorCode["Unknown"] = 0] = "Unknown";
28
+ ErrorCode[ErrorCode["InvalidRequest"] = 1] = "InvalidRequest";
29
+ ErrorCode[ErrorCode["Unauthorized"] = 2] = "Unauthorized";
30
+ ErrorCode[ErrorCode["NotFound"] = 3] = "NotFound";
31
+ ErrorCode[ErrorCode["RoomNotFound"] = 100] = "RoomNotFound";
32
+ ErrorCode[ErrorCode["RoomFull"] = 101] = "RoomFull";
33
+ ErrorCode[ErrorCode["RoomClosed"] = 102] = "RoomClosed";
34
+ ErrorCode[ErrorCode["ParticipantNotFound"] = 200] = "ParticipantNotFound";
35
+ ErrorCode[ErrorCode["ParticipantAlreadyJoined"] = 201] = "ParticipantAlreadyJoined";
36
+ ErrorCode[ErrorCode["TrackNotFound"] = 300] = "TrackNotFound";
37
+ ErrorCode[ErrorCode["TrackPublishError"] = 301] = "TrackPublishError";
38
+ ErrorCode[ErrorCode["TrackSubscribeError"] = 302] = "TrackSubscribeError";
39
+ ErrorCode[ErrorCode["TransportError"] = 400] = "TransportError";
40
+ ErrorCode[ErrorCode["MediaError"] = 500] = "MediaError";
41
+ ErrorCode[ErrorCode["DeviceNotFound"] = 501] = "DeviceNotFound";
42
+ ErrorCode[ErrorCode["PermissionDenied"] = 502] = "PermissionDenied";
43
+ })(ErrorCode || (ErrorCode = {}));
44
+ //# sourceMappingURL=room.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"room.types.js","sourceRoot":"","sources":["../../src/types/room.types.ts"],"names":[],"mappings":"AAOA,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,0CAAuB,CAAA;IACvB,gDAA6B,CAAA;IAC7B,gDAA6B,CAAA;AAC/B,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B;AAgED,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,4BAAe,CAAA;IACf,4BAAe,CAAA;AACjB,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAKD,MAAM,CAAN,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,wCAAyB,CAAA;IACzB,2CAA4B,CAAA;IAC5B,sDAAuC,CAAA;IACvC,kCAAmB,CAAA;AACrB,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB;AAKD,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,iCAAe,CAAA;AACjB,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAeD,MAAM,CAAN,IAAY,SAuBX;AAvBD,WAAY,SAAS;IAEnB,+CAAW,CAAA;IACX,6DAAkB,CAAA;IAClB,yDAAgB,CAAA;IAChB,iDAAY,CAAA;IAEZ,2DAAkB,CAAA;IAClB,mDAAc,CAAA;IACd,uDAAgB,CAAA;IAEhB,yEAAyB,CAAA;IACzB,mFAA8B,CAAA;IAE9B,6DAAmB,CAAA;IACnB,qEAAuB,CAAA;IACvB,yEAAyB,CAAA;IAEzB,+DAAoB,CAAA;IAEpB,uDAAgB,CAAA;IAChB,+DAAoB,CAAA;IACpB,mEAAsB,CAAA;AACxB,CAAC,EAvBW,SAAS,KAAT,SAAS,QAuBpB"}
@@ -0,0 +1,261 @@
1
+ import type { RoomInfo, ParticipantInfo, TrackInfo, ErrorInfo, TrackKind } from './room.types';
2
+ export interface JoinMessage {
3
+ type: 'join';
4
+ room: string;
5
+ token: string;
6
+ metadata?: Record<string, unknown>;
7
+ }
8
+ export interface LeaveMessage {
9
+ type: 'leave';
10
+ }
11
+ export interface CreateTransportMessage {
12
+ type: 'create_transport';
13
+ direction: 'send' | 'recv';
14
+ rtpCapabilities: RtpCapabilities;
15
+ }
16
+ export interface ConnectTransportMessage {
17
+ type: 'connect_transport';
18
+ transportId: string;
19
+ dtlsParameters: DtlsParameters;
20
+ }
21
+ export interface PublishMessage {
22
+ type: 'publish';
23
+ transportId: string;
24
+ kind: TrackKind;
25
+ rtpParameters: RtpParameters;
26
+ appData?: Record<string, unknown>;
27
+ }
28
+ export interface UnpublishMessage {
29
+ type: 'unpublish';
30
+ producerId: string;
31
+ trackSid: string;
32
+ }
33
+ export interface SubscribeMessage {
34
+ type: 'subscribe';
35
+ transportId: string;
36
+ producerId: string;
37
+ rtpCapabilities: RtpCapabilities;
38
+ }
39
+ export interface UnsubscribeMessage {
40
+ type: 'unsubscribe';
41
+ consumerId: string;
42
+ }
43
+ export interface ResumeConsumerMessage {
44
+ type: 'resume_consumer';
45
+ consumerId: string;
46
+ }
47
+ export interface MuteMessage {
48
+ type: 'mute';
49
+ trackSid: string;
50
+ muted: boolean;
51
+ }
52
+ export interface DataMessage {
53
+ type: 'data';
54
+ payload: unknown;
55
+ kind?: 'reliable' | 'lossy';
56
+ }
57
+ export interface CreateWebRtcTransportMessage {
58
+ type: 'create_webrtc_transport';
59
+ direction: 'send' | 'recv';
60
+ }
61
+ export interface ConnectWebRtcTransportMessage {
62
+ type: 'connect_webrtc_transport';
63
+ transportId: string;
64
+ dtlsParameters: DtlsParameters;
65
+ }
66
+ export interface TrackPublishedMessage {
67
+ type: 'track_published';
68
+ participantSid: string;
69
+ track: TrackInfo;
70
+ }
71
+ export interface TrackUnpublishedMessage {
72
+ type: 'track_unpublished';
73
+ participantSid: string;
74
+ trackSid: string;
75
+ }
76
+ export interface TrackSubscribedMessage {
77
+ type: 'track_subscribed';
78
+ id: string;
79
+ producerId: string;
80
+ kind: string;
81
+ rtpParameters: RtpParameters;
82
+ trackSid: string;
83
+ }
84
+ export interface TrackUnsubscribedMessage {
85
+ type: 'track_unsubscribed';
86
+ trackSid: string;
87
+ }
88
+ export interface TrackMutedMessage {
89
+ type: 'track_muted';
90
+ participantSid: string;
91
+ trackSid: string;
92
+ muted: boolean;
93
+ }
94
+ export interface TrackUnmutedMessage {
95
+ type: 'track_unmuted';
96
+ participantSid: string;
97
+ trackSid: string;
98
+ muted: boolean;
99
+ }
100
+ export type ClientMessage = JoinMessage | LeaveMessage | CreateTransportMessage | ConnectTransportMessage | PublishMessage | UnpublishMessage | SubscribeMessage | UnsubscribeMessage | ResumeConsumerMessage | MuteMessage | DataMessage;
101
+ export interface JoinedMessage {
102
+ type: 'joined';
103
+ room: RoomInfo;
104
+ participant: ParticipantInfo;
105
+ otherParticipants: ParticipantInfo[];
106
+ rtpCapabilities?: RtpCapabilities;
107
+ }
108
+ export interface ParticipantJoinedMessage {
109
+ type: 'participant_joined';
110
+ participant: ParticipantInfo;
111
+ }
112
+ export interface ParticipantLeftMessage {
113
+ type: 'participant_left';
114
+ participantSid: string;
115
+ }
116
+ export interface TransportCreatedMessage {
117
+ type: 'transport_created';
118
+ id: string;
119
+ iceParameters: IceParameters;
120
+ iceCandidates: IceCandidate[];
121
+ dtlsParameters: DtlsParameters;
122
+ direction: 'send' | 'recv';
123
+ }
124
+ export interface TransportConnectedMessage {
125
+ type: 'transport_connected';
126
+ transportId: string;
127
+ }
128
+ export interface TrackPublishedMessage {
129
+ type: 'track_published';
130
+ participantSid: string;
131
+ track: TrackInfo;
132
+ }
133
+ export interface TrackPublishResponse {
134
+ type: 'track_published';
135
+ id: string;
136
+ trackSid: string;
137
+ }
138
+ export interface TrackUnpublishedMessage {
139
+ type: 'track_unpublished';
140
+ participantSid: string;
141
+ trackSid: string;
142
+ }
143
+ export interface TrackSubscribedMessage {
144
+ type: 'track_subscribed';
145
+ id: string;
146
+ producerId: string;
147
+ kind: string;
148
+ rtpParameters: RtpParameters;
149
+ trackSid: string;
150
+ }
151
+ export interface TrackUnsubscribedMessage {
152
+ type: 'track_unsubscribed';
153
+ trackSid: string;
154
+ }
155
+ export interface TrackMutedMessage {
156
+ type: 'track_muted';
157
+ participantSid: string;
158
+ trackSid: string;
159
+ muted: boolean;
160
+ }
161
+ export interface TrackUnmutedMessage {
162
+ type: 'track_unmuted';
163
+ participantSid: string;
164
+ trackSid: string;
165
+ muted: boolean;
166
+ }
167
+ export interface DataReceivedMessage {
168
+ type: 'data';
169
+ participantSid: string;
170
+ payload: unknown;
171
+ }
172
+ export interface ErrorMessage {
173
+ type: 'error';
174
+ error: ErrorInfo;
175
+ }
176
+ export type ServerMessage = JoinedMessage | TransportCreatedMessage | TransportConnectedMessage | ParticipantJoinedMessage | ParticipantLeftMessage | TrackPublishedMessage | TrackPublishResponse | TrackUnpublishedMessage | TrackSubscribedMessage | TrackUnsubscribedMessage | TrackMutedMessage | TrackUnmutedMessage | DataReceivedMessage | ErrorMessage;
177
+ export interface RtpParameters {
178
+ codecs?: RtpCodecParameters[];
179
+ headerExtensions?: RtpHeaderExtensionParameters[];
180
+ encodings?: RtpEncodingParameters[];
181
+ rtcp?: RtcpParameters;
182
+ }
183
+ export interface RtpCodecParameters {
184
+ mimeType: string;
185
+ clockRate: number;
186
+ channels?: number;
187
+ parameters?: Record<string, unknown>;
188
+ }
189
+ export interface RtpHeaderExtensionParameters {
190
+ uri: string;
191
+ id: number;
192
+ encrypt?: boolean;
193
+ parameters?: Record<string, unknown>;
194
+ }
195
+ export interface RtpEncodingParameters {
196
+ ssrc?: number;
197
+ rid?: string;
198
+ codecPayloadType?: number;
199
+ rtx?: {
200
+ ssrc: number;
201
+ };
202
+ dtx?: boolean;
203
+ scalabilityMode?: string;
204
+ scaleResolutionDownBy?: number;
205
+ maxBitrate?: number;
206
+ maxFramerate?: number;
207
+ adaptivePtime?: boolean;
208
+ priority?: 'very-low' | 'low' | 'medium' | 'high';
209
+ networkPriority?: 'very-low' | 'low' | 'medium' | 'high';
210
+ }
211
+ export interface RtcpParameters {
212
+ cname?: string;
213
+ reducedSize?: boolean;
214
+ mux?: boolean;
215
+ }
216
+ export interface RtpCapabilities {
217
+ codecs: RtpCodecCapability[];
218
+ headerExtensions: RtpHeaderExtension[];
219
+ }
220
+ export interface RtpCodecCapability {
221
+ mimeType: string;
222
+ kind?: string;
223
+ preferredPayloadType?: number;
224
+ clockRate: number;
225
+ channels?: number;
226
+ parameters?: Record<string, unknown>;
227
+ rtcpFeedback?: RtcpFeedback[];
228
+ }
229
+ export interface RtpHeaderExtension {
230
+ uri: string;
231
+ preferredId: number;
232
+ preferredEncrypt?: boolean;
233
+ direction?: 'sendrecv' | 'send' | 'recv' | 'sendonly' | 'recvonly' | 'inactive';
234
+ }
235
+ export interface RtcpFeedback {
236
+ type: string;
237
+ parameter?: string;
238
+ }
239
+ export interface IceParameters {
240
+ usernameFragment: string;
241
+ password: string;
242
+ iceLite?: boolean;
243
+ }
244
+ export interface IceCandidate {
245
+ foundation: string;
246
+ priority: number;
247
+ ip: string;
248
+ protocol: 'udp' | 'tcp';
249
+ port: number;
250
+ type: 'host';
251
+ tcpType?: 'passive';
252
+ }
253
+ export interface DtlsParameters {
254
+ role?: 'auto' | 'client' | 'server';
255
+ fingerprints: DtlsFingerprint[];
256
+ }
257
+ export interface DtlsFingerprint {
258
+ algorithm: string;
259
+ value: string;
260
+ }
261
+ //# sourceMappingURL=signal.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signal.types.d.ts","sourceRoot":"","sources":["../../src/types/signal.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=signal.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signal.types.js","sourceRoot":"","sources":["../../src/types/signal.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ export interface VideoGrants {
2
+ room?: string;
3
+ roomJoin?: boolean;
4
+ canPublish?: boolean;
5
+ canSubscribe?: boolean;
6
+ canPublishData?: boolean;
7
+ hidden?: boolean;
8
+ recorder?: boolean;
9
+ }
10
+ export interface AccessTokenClaims {
11
+ identity: string;
12
+ name?: string;
13
+ metadata?: Record<string, unknown>;
14
+ video?: VideoGrants;
15
+ iat?: number;
16
+ nbf?: number;
17
+ exp?: number;
18
+ iss?: string;
19
+ sub?: string;
20
+ jti?: string;
21
+ }
22
+ export interface TokenValidationResult {
23
+ valid: boolean;
24
+ claims?: AccessTokenClaims;
25
+ error?: string;
26
+ }
27
+ //# sourceMappingURL=token.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.types.d.ts","sourceRoot":"","sources":["../../src/types/token.types.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAKD,MAAM,WAAW,iBAAiB;IAEhC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAGnC,KAAK,CAAC,EAAE,WAAW,CAAC;IAGpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAKD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=token.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.types.js","sourceRoot":"","sources":["../../src/types/token.types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "@bytepulse/pulsewave-shared",
3
+ "version": "0.2.0",
4
+ "description": "PulseWave Shared - Types and constants shared between client and server",
5
+ "main": "./dist/index.js",
6
+ "module": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js",
12
+ "default": "./dist/index.js"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist",
17
+ "README.md"
18
+ ],
19
+ "publishConfig": {
20
+ "access": "public"
21
+ },
22
+ "repository": {
23
+ "type": "git",
24
+ "url": "https://github.com/bytepulseflow/pulsewave.git",
25
+ "directory": "packages/shared"
26
+ },
27
+ "homepage": "https://github.com/bytepulseflow/pulsewave#readme",
28
+ "bugs": {
29
+ "url": "https://github.com/bytepulseflow/pulsewave/issues"
30
+ },
31
+ "license": "MIT",
32
+ "dependencies": {
33
+ "tslib": "^2.6.2"
34
+ },
35
+ "devDependencies": {
36
+ "@types/jest": "^29.5.11",
37
+ "@typescript-eslint/eslint-plugin": "^6.19.0",
38
+ "@typescript-eslint/parser": "^6.19.0",
39
+ "eslint": "^8.56.0",
40
+ "import-local": "^3.1.0",
41
+ "jest": "^29.7.0",
42
+ "ts-jest": "^29.1.1",
43
+ "typescript": "^5.3.3"
44
+ },
45
+ "author": {
46
+ "name": "Kaushal Mehta",
47
+ "url": "https://github.com/kaushald4"
48
+ },
49
+ "scripts": {
50
+ "build": "tsc",
51
+ "dev": "tsc --watch",
52
+ "clean": "rm -rf dist",
53
+ "lint": "eslint src --ext .ts",
54
+ "type-check": "tsc --noEmit",
55
+ "test": "jest",
56
+ "test:watch": "jest --watch"
57
+ }
58
+ }