@4players/odin-common 9.5.1 → 10.0.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 CHANGED
@@ -36,7 +36,7 @@ Re-exports the Zod library for consumers that need to create their own schemas w
36
36
  adding a separate Zod dependency.
37
37
 
38
38
  ```ts
39
- import { zod } from '@4players/odin-common/zod';
39
+ import { z } from '@4players/odin-common/zod';
40
40
  ```
41
41
 
42
42
  ## Troubleshooting
package/api/commands.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { z } from 'zod';
1
+ import { type infer as ZodInfer, type ZodType } from 'zod';
2
2
  import type { RpcSchema } from './serialization.ts';
3
3
  import type { PeerId, PeerPosition } from './schema/peer.ts';
4
4
  import type { MediaId, MediaProperties } from './schema/media.ts';
@@ -9,12 +9,12 @@ export type CommandSchema = {
9
9
  response: RpcSchema;
10
10
  };
11
11
  export type Commands = Record<string, CommandSchema>;
12
- export type CommandRequest<C extends Commands, K extends keyof C> = z.infer<C[K]['request']>;
13
- export type CommandResponse<C extends Commands, K extends keyof C> = z.infer<C[K]['response']>;
12
+ export type CommandRequest<C extends Commands, K extends keyof C> = ZodInfer<C[K]['request']>;
13
+ export type CommandResponse<C extends Commands, K extends keyof C> = ZodInfer<C[K]['response']>;
14
14
  export type ParsedCommand<C extends Commands, K extends keyof C = keyof C> = {
15
15
  [Name in K]: {
16
16
  name: Name;
17
- request: z.infer<C[Name]['request']>;
17
+ request: ZodInfer<C[Name]['request']>;
18
18
  };
19
19
  }[K];
20
20
  export declare function parseCommand<C extends Commands, K extends keyof C>(name: K, request: unknown, schema: C): ParsedCommand<C, K> | undefined;
@@ -22,94 +22,94 @@ export declare function parseRequest<C extends Commands, K extends keyof C>(name
22
22
  export declare function parseResponse<C extends Commands, K extends keyof C>(name: K, response: unknown, schema: C): CommandResponse<C, K> | undefined;
23
23
  export type MainCommands = {
24
24
  Hello: {
25
- request: z.ZodType<{
25
+ request: ZodType<{
26
26
  stream: 'main';
27
27
  }>;
28
- response: z.ZodType<null>;
28
+ response: ZodType<null>;
29
29
  };
30
30
  JoinRoom: {
31
- request: z.ZodType<{
31
+ request: ZodType<{
32
32
  token: string;
33
33
  room_id: RoomId;
34
34
  user_data: Uint8Array;
35
35
  position: PeerPosition;
36
36
  }>;
37
- response: z.ZodType<{
37
+ response: ZodType<{
38
38
  peer_id: PeerId;
39
39
  stream_id?: number;
40
40
  token?: string;
41
41
  }>;
42
42
  };
43
43
  WebRtcUpdate: {
44
- request: z.ZodType<WebRtcUpdate>;
45
- response: z.ZodType<null>;
44
+ request: ZodType<WebRtcUpdate>;
45
+ response: ZodType<null>;
46
46
  };
47
47
  RequestReconnectToken: {
48
- request: z.ZodType<{
48
+ request: ZodType<{
49
49
  peer_id?: PeerId;
50
50
  }>;
51
- response: z.ZodType<string>;
51
+ response: ZodType<string>;
52
52
  };
53
53
  Ping: {
54
- request: z.ZodType<Record<PropertyKey, never>>;
55
- response: z.ZodType<null>;
54
+ request: ZodType<Record<PropertyKey, never>>;
55
+ response: ZodType<null>;
56
56
  };
57
57
  };
58
58
  export declare const MainCommandsRpc: MainCommands;
59
59
  export type RoomCommands = {
60
60
  Hello: {
61
- request: z.ZodType<{
61
+ request: ZodType<{
62
62
  stream: 'room';
63
63
  token: string;
64
64
  room_id: string;
65
65
  user_data: Uint8Array;
66
66
  position: PeerPosition;
67
67
  }>;
68
- response: z.ZodType<null>;
68
+ response: ZodType<null>;
69
69
  };
70
70
  UpdatePeer: {
71
- request: z.ZodType<{
71
+ request: ZodType<{
72
72
  user_data: Uint8Array;
73
73
  }>;
74
- response: z.ZodType<null>;
74
+ response: ZodType<null>;
75
75
  };
76
76
  StartMedia: {
77
- request: z.ZodType<{
77
+ request: ZodType<{
78
78
  media_id: MediaId;
79
79
  properties: MediaProperties;
80
80
  }>;
81
- response: z.ZodType<null>;
81
+ response: ZodType<null>;
82
82
  };
83
83
  StopMedia: {
84
- request: z.ZodType<{
84
+ request: ZodType<{
85
85
  media_id: MediaId;
86
86
  }>;
87
- response: z.ZodType<null>;
87
+ response: ZodType<null>;
88
88
  };
89
89
  PauseMedia: {
90
- request: z.ZodType<{
90
+ request: ZodType<{
91
91
  media_id: MediaId;
92
92
  }>;
93
- response: z.ZodType<null>;
93
+ response: ZodType<null>;
94
94
  };
95
95
  ResumeMedia: {
96
- request: z.ZodType<{
96
+ request: ZodType<{
97
97
  media_id: MediaId;
98
98
  }>;
99
- response: z.ZodType<null>;
99
+ response: ZodType<null>;
100
100
  };
101
101
  SetPeerPosition: {
102
- request: z.ZodType<{
102
+ request: ZodType<{
103
103
  position: PeerPosition;
104
104
  }>;
105
- response: z.ZodType<null>;
105
+ response: ZodType<null>;
106
106
  };
107
107
  SendMessage: {
108
- request: z.ZodType<{
108
+ request: ZodType<{
109
109
  target_peer_ids?: PeerId[];
110
110
  message: Uint8Array;
111
111
  }>;
112
- response: z.ZodType<null>;
112
+ response: ZodType<null>;
113
113
  };
114
114
  };
115
115
  export declare const RoomCommandsRpc: RoomCommands;
@@ -1,4 +1,4 @@
1
- import type { z } from 'zod';
1
+ import type { infer as ZodInfer, ZodType } from 'zod';
2
2
  import type { PeerUpdate } from './schema/peer.ts';
3
3
  import type { MessageReceived } from './schema/message.ts';
4
4
  import type { WebRtcUpdate } from './schema/webrtc.ts';
@@ -8,18 +8,18 @@ export type Notifications = Record<string, RpcSchema>;
8
8
  export type ParsedNotification<N extends Notifications, K extends keyof N = keyof N> = {
9
9
  [Name in K]: {
10
10
  name: Name;
11
- properties: z.infer<N[Name]>;
11
+ properties: ZodInfer<N[Name]>;
12
12
  };
13
13
  }[K];
14
14
  export declare function parseNotification<N extends Notifications, K extends keyof N>(name: K, properties: unknown, schema: N): ParsedNotification<N, K> | undefined;
15
15
  export type MainNotifications = {
16
- WebRtcUpdate: z.ZodType<WebRtcUpdate>;
16
+ WebRtcUpdate: ZodType<WebRtcUpdate>;
17
17
  };
18
18
  export declare const MainNotificationsRpc: MainNotifications;
19
19
  export type RoomNotifications = {
20
- RoomStatusChanged: z.ZodType<RoomV1.RoomStatusChanged>;
21
- RoomUpdated: z.ZodType<RoomV1.RoomUpdates>;
22
- PeerUpdated: z.ZodType<PeerUpdate>;
23
- MessageReceived: z.ZodType<MessageReceived>;
20
+ RoomStatusChanged: ZodType<RoomV1.RoomStatusChanged>;
21
+ RoomUpdated: ZodType<RoomV1.RoomUpdates>;
22
+ PeerUpdated: ZodType<PeerUpdate>;
23
+ MessageReceived: ZodType<MessageReceived>;
24
24
  };
25
25
  export declare const RoomNotificationsRpc: RoomNotifications;
@@ -1,13 +1,13 @@
1
- import { z } from 'zod';
1
+ import { type ZodNumber, type ZodType } from 'zod';
2
2
  export type MediaId = number;
3
- export declare const MediaIdSchema: z.ZodNumber;
3
+ export declare const MediaIdSchema: ZodNumber;
4
4
  export type MediaAudioProperties = {
5
5
  kind?: 'audio';
6
6
  uid?: string;
7
7
  ref?: string;
8
8
  customType?: string;
9
9
  };
10
- export declare const MediaAudioPropertiesSchema: z.ZodType<MediaAudioProperties>;
10
+ export declare const MediaAudioPropertiesSchema: ZodType<MediaAudioProperties>;
11
11
  export type MediaVideoProperties = {
12
12
  kind: 'video';
13
13
  codec?: string;
@@ -15,12 +15,12 @@ export type MediaVideoProperties = {
15
15
  ref?: string;
16
16
  customType?: string;
17
17
  };
18
- export declare const MediaVideoPropertiesSchema: z.ZodType<MediaVideoProperties>;
18
+ export declare const MediaVideoPropertiesSchema: ZodType<MediaVideoProperties>;
19
19
  export type MediaProperties = MediaAudioProperties | MediaVideoProperties;
20
- export declare const MediaPropertiesSchema: z.ZodType<MediaProperties>;
20
+ export declare const MediaPropertiesSchema: ZodType<MediaProperties>;
21
21
  export type Media = {
22
22
  id: MediaId;
23
23
  properties: MediaProperties;
24
24
  paused: boolean;
25
25
  };
26
- export declare const MediaSchema: z.ZodType<Media>;
26
+ export declare const MediaSchema: ZodType<Media>;
@@ -1,6 +1,6 @@
1
- import { z } from 'zod';
1
+ import { type ZodType } from 'zod';
2
2
  export type MessageReceived = {
3
3
  sender_peer_id: number;
4
4
  message: Uint8Array;
5
5
  };
6
- export declare const MessageReceivedSchema: z.ZodType<MessageReceived>;
6
+ export declare const MessageReceivedSchema: ZodType<MessageReceived>;
@@ -1,16 +1,16 @@
1
- import { z } from 'zod';
1
+ import { type ZodNumber, type ZodType } from 'zod';
2
2
  import type { Media, MediaId } from './media.ts';
3
3
  export type PeerId = number;
4
- export declare const PeerIdSchema: z.ZodNumber;
4
+ export declare const PeerIdSchema: ZodNumber;
5
5
  export type PeerPosition = [number, number, number] | [number, number];
6
- export declare const PeerPositionSchema: z.ZodType<PeerPosition>;
6
+ export declare const PeerPositionSchema: ZodType<PeerPosition>;
7
7
  export type Peer = {
8
8
  id: PeerId;
9
9
  user_id: string;
10
10
  user_data: Uint8Array;
11
11
  medias: Media[];
12
12
  };
13
- export declare const PeerSchema: z.ZodType<Peer>;
13
+ export declare const PeerSchema: ZodType<Peer>;
14
14
  export type PeerUpdate = {
15
15
  kind: 'UserDataChanged';
16
16
  peer_id: PeerId;
@@ -24,4 +24,4 @@ export type PeerUpdate = {
24
24
  peer_id: PeerId;
25
25
  media_id: MediaId;
26
26
  };
27
- export declare const PeerUpdateSchema: z.ZodType<PeerUpdate>;
27
+ export declare const PeerUpdateSchema: ZodType<PeerUpdate>;
@@ -1,9 +1,9 @@
1
- import { z } from 'zod';
1
+ import { type ZodString, type ZodType } from 'zod';
2
2
  import type { MediaId } from './media.ts';
3
3
  import type { Peer, PeerId } from './peer.ts';
4
4
  import type { JsonValue } from '../serialization.ts';
5
5
  export type RoomId = string;
6
- export declare const RoomIdSchema: z.ZodString;
6
+ export declare const RoomIdSchema: ZodString;
7
7
  export declare namespace RoomV1 {
8
8
  type Room = {
9
9
  id: RoomId;
@@ -11,7 +11,7 @@ export declare namespace RoomV1 {
11
11
  user_data: Uint8Array;
12
12
  peers: Peer[];
13
13
  };
14
- const RoomSchema: z.ZodType<Room>;
14
+ const RoomSchema: ZodType<Room>;
15
15
  type RoomUpdate = {
16
16
  kind: 'Joined';
17
17
  room: Room;
@@ -30,33 +30,44 @@ export declare namespace RoomV1 {
30
30
  kind: 'UserDataChanged';
31
31
  user_data?: Uint8Array;
32
32
  };
33
- const RoomUpdateSchema: z.ZodType<RoomUpdate>;
33
+ const RoomUpdateSchema: ZodType<RoomUpdate>;
34
34
  type RoomUpdates = {
35
35
  updates: RoomUpdate[];
36
36
  };
37
- const RoomUpdatesSchema: z.ZodType<RoomUpdates>;
37
+ const RoomUpdatesSchema: ZodType<RoomUpdates>;
38
38
  type RoomStatus = 'Joining' | 'Joined' | 'Closed';
39
- const RoomStatusSchema: z.ZodType<RoomStatus>;
39
+ const RoomStatusSchema: ZodType<RoomStatus>;
40
40
  type RoomStatusChanged = {
41
41
  status: RoomStatus;
42
42
  message?: string;
43
43
  };
44
- const RoomStatusChangedSchema: z.ZodType<RoomStatusChanged>;
44
+ const RoomStatusChangedSchema: ZodType<RoomStatusChanged>;
45
45
  }
46
46
  export declare namespace RoomV2 {
47
47
  type Parameters = Record<string, JsonValue>;
48
- const ParametersSchema: z.ZodType<Parameters>;
48
+ const ParametersSchema: ZodType<Parameters>;
49
+ type ChannelPosition = {
50
+ x: number;
51
+ y: number;
52
+ z: number;
53
+ channel: number;
54
+ };
55
+ const PositionSchema: ZodType<ChannelPosition>;
56
+ type ChannelMask = bigint;
57
+ const ChannelMaskSchema: ZodType<ChannelMask>;
49
58
  type HelloRoom = {
50
59
  token: string;
51
60
  room_id?: RoomId;
52
61
  user_data?: Uint8Array;
53
62
  parameters?: Parameters;
63
+ channel_masks?: Array<[number, ChannelMask]>;
64
+ positions?: ChannelPosition[];
54
65
  };
55
- const HelloRoomSchema: z.ZodType<HelloRoom>;
66
+ const HelloRoomSchema: ZodType<HelloRoom>;
56
67
  type ClientHello = {
57
68
  Room: HelloRoom;
58
69
  };
59
- const ClientHelloSchema: z.ZodType<ClientHello>;
70
+ const ClientHelloSchema: ZodType<ClientHello>;
60
71
  type ServerHello = {
61
72
  Ok: Record<string, never>;
62
73
  } | {
@@ -64,46 +75,45 @@ export declare namespace RoomV2 {
64
75
  message: string;
65
76
  };
66
77
  };
67
- const ServerHelloSchema: z.ZodType<ServerHello>;
78
+ const ServerHelloSchema: ZodType<ServerHello>;
68
79
  type PeerProperties = {
69
80
  user_data?: Uint8Array;
70
81
  tags?: string[];
71
- audio_parameters?: Record<string, JsonValue>;
72
- video_parameters?: Record<string, JsonValue>;
82
+ parameters?: Record<string, JsonValue>;
73
83
  };
74
- const PeerPropertiesSchema: z.ZodType<PeerProperties>;
84
+ const PeerPropertiesSchema: ZodType<PeerProperties>;
75
85
  type Ping = {
76
86
  Ping: {
77
87
  id: number;
78
88
  };
79
89
  };
80
- const PingSchema: z.ZodType<Ping>;
90
+ const PingSchema: ZodType<Ping>;
81
91
  type ChangeSelf = {
82
92
  ChangeSelf: Omit<PeerProperties, 'tags'>;
83
93
  };
84
- const ChangeSelfSchema: z.ZodType<ChangeSelf>;
94
+ const ChangeSelfSchema: ZodType<ChangeSelf>;
85
95
  type SetAudioMask = {
86
96
  SetAudioMask: {
87
97
  peer_id: number;
88
98
  mask: bigint;
89
99
  };
90
100
  };
91
- const SetAudioMaskSchema: z.ZodType<SetAudioMask>;
101
+ const SetAudioMaskSchema: ZodType<SetAudioMask>;
92
102
  type SendMessage = {
93
103
  SendMessage: {
94
104
  peer_ids: number[];
95
105
  message: Uint8Array;
96
106
  };
97
107
  };
98
- const SendMessageSchema: z.ZodType<SendMessage>;
108
+ const SendMessageSchema: ZodType<SendMessage>;
99
109
  type Call = Ping | ChangeSelf | SetAudioMask | SendMessage;
100
- const CallSchema: z.ZodType<Call>;
110
+ const CallSchema: ZodType<Call>;
101
111
  type Pong = {
102
112
  Pong: {
103
113
  id: number;
104
114
  };
105
115
  };
106
- const PongSchema: z.ZodType<Pong>;
116
+ const PongSchema: ZodType<Pong>;
107
117
  type Joined = {
108
118
  Joined: {
109
119
  own_peer_id: number;
@@ -111,51 +121,51 @@ export declare namespace RoomV2 {
111
121
  customer: string;
112
122
  };
113
123
  };
114
- const JoinedSchema: z.ZodType<Joined>;
124
+ const JoinedSchema: ZodType<Joined>;
115
125
  type Left = {
116
126
  Left: {
117
127
  reason: 'room_closing' | 'server_closing' | 'peer_kicked';
118
128
  };
119
129
  };
120
- const LeftSchema: z.ZodType<Left>;
130
+ const LeftSchema: ZodType<Left>;
121
131
  type PeerJoined = {
122
132
  PeerJoined: PeerProperties & {
123
133
  peer_id: number;
124
134
  user_id: string;
125
135
  };
126
136
  };
127
- const PeerJoinedSchema: z.ZodType<PeerJoined>;
137
+ const PeerJoinedSchema: ZodType<PeerJoined>;
128
138
  type PeerLeft = {
129
139
  PeerLeft: {
130
140
  peer_id: number;
131
141
  };
132
142
  };
133
- const PeerLeftSchema: z.ZodType<PeerLeft>;
143
+ const PeerLeftSchema: ZodType<PeerLeft>;
134
144
  type PeerChanged = {
135
145
  PeerChanged: PeerProperties & {
136
146
  peer_id: number;
137
147
  };
138
148
  };
139
- const PeerChangedSchema: z.ZodType<PeerChanged>;
149
+ const PeerChangedSchema: ZodType<PeerChanged>;
140
150
  type NewReconnectToken = {
141
151
  NewReconnectToken: {
142
152
  token: string;
143
153
  };
144
154
  };
145
- const NewReconnectTokenSchema: z.ZodType<NewReconnectToken>;
155
+ const NewReconnectTokenSchema: ZodType<NewReconnectToken>;
146
156
  type MessageReceived = {
147
157
  MessageReceived: {
148
158
  sender_peer_id: number;
149
159
  message: Uint8Array;
150
160
  };
151
161
  };
152
- const MessageReceivedSchema: z.ZodType<MessageReceived>;
162
+ const MessageReceivedSchema: ZodType<MessageReceived>;
153
163
  type ServerError = {
154
164
  Error: {
155
- message: Uint8Array;
165
+ message: string;
156
166
  };
157
167
  };
158
- const ServerErrorSchema: z.ZodType<ServerError>;
168
+ const ServerErrorSchema: ZodType<ServerError>;
159
169
  type Event = Pong | Joined | Left | PeerJoined | PeerLeft | PeerChanged | NewReconnectToken | MessageReceived | ServerError;
160
- const EventSchema: z.ZodType<Event>;
170
+ const EventSchema: ZodType<Event>;
161
171
  }
@@ -1,8 +1,8 @@
1
- import { z } from 'zod';
1
+ import { type ZodType } from 'zod';
2
2
  export type TokenAudience = 'sfu' | 'gateway';
3
- export declare const TokenAudienceSchema: z.ZodType<TokenAudience>;
3
+ export declare const TokenAudienceSchema: ZodType<TokenAudience>;
4
4
  export type TokenSubject = 'connect' | 'roomclose' | 'roomupdate' | 'roombanclient' | 'roomsendmessage';
5
- export declare const TokenSubjectSchema: z.ZodType<TokenSubject>;
5
+ export declare const TokenSubjectSchema: ZodType<TokenSubject>;
6
6
  export type TokenClaims = {
7
7
  uid: string;
8
8
  cid?: string;
@@ -20,4 +20,4 @@ export type TokenClaims = {
20
20
  server?: string;
21
21
  };
22
22
  };
23
- export declare const TokenClaimsSchema: z.ZodType<TokenClaims>;
23
+ export declare const TokenClaimsSchema: ZodType<TokenClaims>;
@@ -1,4 +1,4 @@
1
- import { z } from 'zod';
1
+ import { type ZodType } from 'zod';
2
2
  export type WebRtcUpdate = {
3
3
  kind: 'Sdp';
4
4
  type: 'Answer' | 'Offer';
@@ -13,4 +13,4 @@ export type WebRtcUpdate = {
13
13
  } | {
14
14
  kind: 'TrickleFinished';
15
15
  };
16
- export declare const WebRtcUpdateSchema: z.ZodType<WebRtcUpdate>;
16
+ export declare const WebRtcUpdateSchema: ZodType<WebRtcUpdate>;
@@ -1,15 +1,15 @@
1
- import { z } from 'zod';
1
+ import { type infer as ZodInfer, type output as ZodOutput, type ZodType } from 'zod';
2
2
  export type RpcValue = Uint8Array | string | number | boolean | null | RpcValue[] | {
3
3
  [key: string]: RpcValue;
4
4
  };
5
- export type RpcSchema = z.ZodType<RpcValue, unknown>;
5
+ export type RpcSchema = ZodType<RpcValue, unknown>;
6
6
  export type ByteArray = Uint8Array;
7
- export declare const ByteArraySchema: z.ZodType<Uint8Array>;
7
+ export declare const ByteArraySchema: ZodType<Uint8Array>;
8
8
  export type JsonValue = string | number | boolean | null | {
9
9
  [key: string]: JsonValue;
10
10
  } | JsonValue[];
11
- export declare const JsonSchema: z.ZodType<JsonValue>;
11
+ export declare const JsonSchema: ZodType<JsonValue>;
12
12
  export type MessagePackRpc = [0, number, string, unknown] | [1, number, string | null, unknown] | [2, string, unknown];
13
- export declare const MessagePackRpcSchema: z.ZodType<MessagePackRpc>;
14
- export declare function oneOrMany<T extends z.ZodType>(type: T): z.ZodType<z.infer<T>[]>;
15
- export type Infer<T extends RpcSchema> = z.output<T>;
13
+ export declare const MessagePackRpcSchema: ZodType<MessagePackRpc>;
14
+ export declare function oneOrMany<T extends ZodType>(type: T): ZodType<ZodInfer<T>[]>;
15
+ export type Infer<T extends RpcSchema> = ZodOutput<T>;
package/cjs/api/mod.js CHANGED
@@ -1 +1 @@
1
- var C=Object.defineProperty;var Q=Object.getOwnPropertyDescriptor;var X=Object.getOwnPropertyNames;var Y=Object.prototype.hasOwnProperty;var $=(r,i)=>{for(var l in i)C(r,l,{get:i[l],enumerable:!0})},V=(r,i,l,d)=>{if(i&&typeof i=="object"||typeof i=="function")for(let m of X(i))!Y.call(r,m)&&m!==l&&C(r,m,{get:()=>i[m],enumerable:!(d=Q(i,m))||d.enumerable});return r};var ee=r=>V(C({},"__esModule",{value:!0}),r);var ue={};$(ue,{ByteArraySchema:()=>a,JsonSchema:()=>b,MainCommandsRpc:()=>ae,MainNotificationsRpc:()=>me,MediaAudioPropertiesSchema:()=>U,MediaIdSchema:()=>g,MediaPropertiesSchema:()=>_,MediaSchema:()=>k,MediaVideoPropertiesSchema:()=>v,MessagePackRpcSchema:()=>te,MessageReceivedSchema:()=>R,PeerIdSchema:()=>y,PeerPositionSchema:()=>S,PeerSchema:()=>z,PeerUpdateSchema:()=>M,RoomCommandsRpc:()=>pe,RoomIdSchema:()=>P,RoomNotificationsRpc:()=>ce,RoomV1:()=>T,RoomV2:()=>A,TokenAudienceSchema:()=>Z,TokenClaimsSchema:()=>re,TokenSubjectSchema:()=>j,WebRtcUpdateSchema:()=>h,oneOrMany:()=>f,parseCommand:()=>ne,parseNotification:()=>de,parseRequest:()=>ie,parseResponse:()=>se});module.exports=ee(ue);var c=require("zod");var n=require("zod"),a=n.z.custom(r=>r instanceof Uint8Array),b=n.z.lazy(()=>n.z.union([n.z.union([n.z.string(),n.z.number(),n.z.boolean(),n.z.null()]),n.z.array(b),n.z.record(n.z.string(),b)])),te=n.z.union([n.z.tuple([n.z.literal(0),n.z.number(),n.z.string(),n.z.unknown()]),n.z.tuple([n.z.literal(1),n.z.number(),n.z.nullable(n.z.string()),n.z.unknown()]),n.z.tuple([n.z.literal(2),n.z.string(),n.z.unknown()])]);function f(r){return n.z.union([r.transform(i=>[i]),n.z.array(r)])}var Z=c.z.enum(["sfu","gateway"]),j=c.z.enum(["connect","roomclose","roomupdate","roombanclient","roomsendmessage"]),re=c.z.object({uid:c.z.string(),cid:c.z.string().optional(),rid:f(c.z.string()).refine(r=>r.length>=1,{message:"missing rid"}),nsp:c.z.string().optional(),adr:c.z.string().optional(),aud:f(Z).optional(),sub:f(j).optional(),exp:c.z.number().optional(),nbf:c.z.number().optional(),ups:c.z.string().optional(),tgs:f(c.z.string()).optional(),tsp:c.z.number().optional(),internal:c.z.object({server:c.z.string().optional()}).optional()});var e=require("zod");var u=require("zod"),g=u.z.number(),U=u.z.object({kind:u.z.literal("audio").optional(),uid:u.z.string().optional(),ref:u.z.string().optional(),customType:u.z.string().optional()}),v=u.z.object({kind:u.z.literal("video"),codec:u.z.string().optional(),uid:u.z.string().optional(),ref:u.z.string().optional(),customType:u.z.string().optional()}),_=u.z.union([U,v]),k=u.z.object({id:g,properties:_,paused:u.z.boolean()});var s=require("zod");var y=s.z.number(),S=s.z.union([s.z.tuple([s.z.number(),s.z.number(),s.z.number()]),s.z.tuple([s.z.number(),s.z.number()])]),z=s.z.object({id:y,user_id:s.z.string(),user_data:a,medias:s.z.array(k)}),M=s.z.discriminatedUnion("kind",[s.z.object({kind:s.z.literal("UserDataChanged"),peer_id:y,user_data:a}),s.z.object({kind:s.z.literal("MediaStarted"),peer_id:y,media:k}),s.z.object({kind:s.z.literal("MediaStopped"),peer_id:y,media_id:g})]);var P=e.z.string(),T;(x=>(x.RoomSchema=e.z.object({id:P,customer:e.z.string(),user_data:a,peers:e.z.array(z)}),x.RoomUpdateSchema=e.z.discriminatedUnion("kind",[e.z.object({kind:e.z.literal("Joined"),room:x.RoomSchema,media_ids:e.z.array(g),own_peer_id:y}),e.z.object({kind:e.z.literal("Left"),reason:e.z.enum(["RoomClosing","ServerClosing","PeerKicked"])}),e.z.object({kind:e.z.literal("PeerJoined"),peer:z}),e.z.object({kind:e.z.literal("PeerLeft"),peer_id:y}),e.z.object({kind:e.z.literal("UserDataChanged"),user_data:a.optional()})]),x.RoomUpdatesSchema=e.z.object({updates:e.z.array(x.RoomUpdateSchema)}),x.RoomStatusSchema=e.z.enum(["Joining","Joined","Closed"]),x.RoomStatusChangedSchema=e.z.object({status:x.RoomStatusSchema,message:e.z.string().optional()})))(T||={});var A;(t=>{t.ParametersSchema=e.z.record(e.z.string(),b),t.HelloRoomSchema=e.z.object({token:e.z.string(),room_id:P.optional(),user_data:a.optional(),parameters:t.ParametersSchema.optional()}),t.ClientHelloSchema=e.z.object({Room:t.HelloRoomSchema}),t.ServerHelloSchema=e.z.union([e.z.object({Ok:e.z.object({})}),e.z.object({Rejected:e.z.object({message:e.z.string()})})]);let m=e.z.object({user_data:a.optional(),tags:e.z.array(e.z.string()).optional(),audio_parameters:t.ParametersSchema.optional(),video_parameters:t.ParametersSchema.optional()});t.PeerPropertiesSchema=m,t.PingSchema=e.z.object({Ping:e.z.object({id:e.z.number()})}),t.ChangeSelfSchema=e.z.object({ChangeSelf:m.omit({tags:!0})}),t.SetAudioMaskSchema=e.z.object({SetAudioMask:e.z.object({peer_id:e.z.number(),mask:e.z.bigint().nonnegative().lte(0xFFFFFFFFFFFFFFFFn)})}),t.SendMessageSchema=e.z.object({SendMessage:e.z.object({peer_ids:e.z.number().array().default([]),message:a})}),t.CallSchema=t.PingSchema.or(t.ChangeSelfSchema).or(t.SetAudioMaskSchema).or(t.SendMessageSchema),t.PongSchema=e.z.object({Pong:e.z.object({id:e.z.number()})}),t.JoinedSchema=e.z.object({Joined:e.z.object({own_peer_id:e.z.number(),room_id:e.z.string(),customer:e.z.string()})}),t.LeftSchema=e.z.object({Left:e.z.object({reason:e.z.enum(["room_closing","server_closing","peer_kicked"])})}),t.PeerJoinedSchema=e.z.object({PeerJoined:m.extend({peer_id:e.z.number(),user_id:e.z.string()})}),t.PeerLeftSchema=e.z.object({PeerLeft:e.z.object({peer_id:e.z.number()})}),t.PeerChangedSchema=e.z.object({PeerChanged:m.extend({peer_id:e.z.number()})}),t.NewReconnectTokenSchema=e.z.object({NewReconnectToken:e.z.object({token:e.z.string()})}),t.MessageReceivedSchema=e.z.object({MessageReceived:e.z.object({sender_peer_id:e.z.number(),message:a})}),t.ServerErrorSchema=e.z.object({Error:e.z.object({message:a})}),t.EventSchema=t.PongSchema.or(t.JoinedSchema).or(t.LeftSchema).or(t.PeerJoinedSchema).or(t.PeerLeftSchema).or(t.PeerChangedSchema).or(t.NewReconnectTokenSchema).or(t.MessageReceivedSchema).or(t.ServerErrorSchema)})(A||={});var I=require("zod");var R=I.z.object({sender_peer_id:y,message:a});var p=require("zod");var h=p.z.discriminatedUnion("kind",[p.z.object({kind:p.z.literal("Sdp"),type:p.z.enum(["Answer","Offer"]),sdp:p.z.string(),media_map:p.z.array(p.z.tuple([g,p.z.string()]))}),p.z.object({kind:p.z.literal("Trickle"),candidate:p.z.string(),spd_mid:p.z.string().optional(),spd_mline_index:p.z.number().optional(),username_fragment:p.z.union([p.z.string(),p.z.null()]).optional()}),p.z.object({kind:p.z.literal("TrickleFinished")})]);var o=require("zod");function q(r,i){r||oe(i)}function oe(r){throw new Error(r)}function ne(r,i,l){let d=l[r];if(!d)return;let m=d.request.safeParse(i);return m.success?{name:r,request:m.data}:void 0}function ie(r,i,l){let d=l[r];return q(d!==void 0,"unknown command schema"),d.request.parse(i)}function se(r,i,l){let d=l[r]?.response.safeParse(i);return d?.success?d.data:void 0}var ae={Hello:{request:o.z.object({stream:o.z.literal("main")}),response:o.z.null()},JoinRoom:{request:o.z.object({token:o.z.string(),room_id:P,user_data:a,position:S}),response:o.z.object({peer_id:y,stream_id:o.z.number().optional(),token:o.z.string().optional()})},WebRtcUpdate:{request:h,response:o.z.null()},RequestReconnectToken:{request:o.z.object({peer_id:y.optional()}),response:o.z.string()},Ping:{request:o.z.object({}),response:o.z.null()}},pe={Hello:{request:o.z.object({stream:o.z.literal("room"),token:o.z.string(),room_id:o.z.string(),user_data:a,position:S}),response:o.z.null()},UpdatePeer:{request:o.z.object({user_data:a}),response:o.z.null()},StartMedia:{request:o.z.object({media_id:g,properties:_}),response:o.z.null()},StopMedia:{request:o.z.object({media_id:g}),response:o.z.null()},PauseMedia:{request:o.z.object({media_id:g}),response:o.z.null()},ResumeMedia:{request:o.z.object({media_id:g}),response:o.z.null()},SetPeerPosition:{request:o.z.object({position:S}),response:o.z.null()},SendMessage:{request:o.z.object({target_peer_ids:o.z.array(y).optional(),message:a}),response:o.z.null()}};function de(r,i,l){let d=l[r];if(!d)return;let m=d.safeParse(i);return m.success?{name:r,properties:m.data}:void 0}var me={WebRtcUpdate:h},ce={RoomStatusChanged:T.RoomStatusChangedSchema,RoomUpdated:T.RoomUpdatesSchema,PeerUpdated:M,MessageReceived:R};0&&(module.exports={ByteArraySchema,JsonSchema,MainCommandsRpc,MainNotificationsRpc,MediaAudioPropertiesSchema,MediaIdSchema,MediaPropertiesSchema,MediaSchema,MediaVideoPropertiesSchema,MessagePackRpcSchema,MessageReceivedSchema,PeerIdSchema,PeerPositionSchema,PeerSchema,PeerUpdateSchema,RoomCommandsRpc,RoomIdSchema,RoomNotificationsRpc,RoomV1,RoomV2,TokenAudienceSchema,TokenClaimsSchema,TokenSubjectSchema,WebRtcUpdateSchema,oneOrMany,parseCommand,parseNotification,parseRequest,parseResponse});
1
+ var b=Object.defineProperty;var X=Object.getOwnPropertyDescriptor;var Y=Object.getOwnPropertyNames;var $=Object.prototype.hasOwnProperty;var V=(n,a)=>{for(var u in a)b(n,u,{get:a[u],enumerable:!0})},ee=(n,a,u,m)=>{if(a&&typeof a=="object"||typeof a=="function")for(let l of Y(a))!$.call(n,l)&&l!==u&&b(n,l,{get:()=>a[l],enumerable:!(m=X(a,l))||m.enumerable});return n};var oe=n=>ee(b({},"__esModule",{value:!0}),n);var ye={};V(ye,{ByteArraySchema:()=>c,JsonSchema:()=>S,MainCommandsRpc:()=>pe,MainNotificationsRpc:()=>ce,MediaAudioPropertiesSchema:()=>A,MediaIdSchema:()=>g,MediaPropertiesSchema:()=>Z,MediaSchema:()=>C,MediaVideoPropertiesSchema:()=>q,MessagePackRpcSchema:()=>re,MessageReceivedSchema:()=>U,PeerIdSchema:()=>y,PeerPositionSchema:()=>P,PeerSchema:()=>M,PeerUpdateSchema:()=>R,RoomCommandsRpc:()=>de,RoomIdSchema:()=>T,RoomNotificationsRpc:()=>ue,RoomV1:()=>h,RoomV2:()=>N,TokenAudienceSchema:()=>I,TokenClaimsSchema:()=>te,TokenSubjectSchema:()=>v,WebRtcUpdateSchema:()=>k,oneOrMany:()=>f,parseCommand:()=>se,parseNotification:()=>me,parseRequest:()=>ie,parseResponse:()=>ae});module.exports=oe(ye);var d=require("zod");var o=require("zod"),c=(0,o.custom)(n=>n instanceof Uint8Array),S=(0,o.lazy)(()=>(0,o.union)([(0,o.union)([(0,o.string)(),(0,o.number)(),(0,o.boolean)(),(0,o.null)()]),(0,o.array)(S),(0,o.record)((0,o.string)(),S)])),re=(0,o.union)([(0,o.tuple)([(0,o.literal)(0),(0,o.number)(),(0,o.string)(),(0,o.unknown)()]),(0,o.tuple)([(0,o.literal)(1),(0,o.number)(),(0,o.nullable)((0,o.string)()),(0,o.unknown)()]),(0,o.tuple)([(0,o.literal)(2),(0,o.string)(),(0,o.unknown)()])]);function f(n){return(0,o.union)([n.transform(a=>[a]),(0,o.array)(n)])}var I=(0,d.enum)(["sfu","gateway"]),v=(0,d.enum)(["connect","roomclose","roomupdate","roombanclient","roomsendmessage"]),te=(0,d.object)({uid:(0,d.string)(),cid:(0,d.string)().optional(),rid:f((0,d.string)()).refine(n=>n.length>=1,{message:"missing rid"}),nsp:(0,d.string)().optional(),adr:(0,d.string)().optional(),aud:f(I).optional(),sub:f(v).optional(),exp:(0,d.number)().optional(),nbf:(0,d.number)().optional(),ups:(0,d.string)().optional(),tgs:f((0,d.string)()).optional(),tsp:(0,d.number)().optional(),internal:(0,d.object)({server:(0,d.string)().optional()}).optional()});var e=require("zod");var p=require("zod"),g=(0,p.number)(),A=(0,p.object)({kind:(0,p.literal)("audio").optional(),uid:(0,p.string)().optional(),ref:(0,p.string)().optional(),customType:(0,p.string)().optional()}),q=(0,p.object)({kind:(0,p.literal)("video"),codec:(0,p.string)().optional(),uid:(0,p.string)().optional(),ref:(0,p.string)().optional(),customType:(0,p.string)().optional()}),Z=(0,p.union)([A,q]),C=(0,p.object)({id:g,properties:Z,paused:(0,p.boolean)()});var i=require("zod");var y=(0,i.number)(),P=(0,i.union)([(0,i.tuple)([(0,i.number)(),(0,i.number)(),(0,i.number)()]),(0,i.tuple)([(0,i.number)(),(0,i.number)()])]),M=(0,i.object)({id:y,user_id:(0,i.string)(),user_data:c,medias:(0,i.array)(C)}),R=(0,i.discriminatedUnion)("kind",[(0,i.object)({kind:(0,i.literal)("UserDataChanged"),peer_id:y,user_data:c}),(0,i.object)({kind:(0,i.literal)("MediaStarted"),peer_id:y,media:C}),(0,i.object)({kind:(0,i.literal)("MediaStopped"),peer_id:y,media_id:g})]);var T=(0,e.string)(),h;(x=>(x.RoomSchema=(0,e.object)({id:T,customer:(0,e.string)(),user_data:c,peers:(0,e.array)(M)}),x.RoomUpdateSchema=(0,e.discriminatedUnion)("kind",[(0,e.object)({kind:(0,e.literal)("Joined"),room:x.RoomSchema,media_ids:(0,e.array)(g),own_peer_id:y}),(0,e.object)({kind:(0,e.literal)("Left"),reason:(0,e.enum)(["RoomClosing","ServerClosing","PeerKicked"])}),(0,e.object)({kind:(0,e.literal)("PeerJoined"),peer:M}),(0,e.object)({kind:(0,e.literal)("PeerLeft"),peer_id:y}),(0,e.object)({kind:(0,e.literal)("UserDataChanged"),user_data:c.optional()})]),x.RoomUpdatesSchema=(0,e.object)({updates:(0,e.array)(x.RoomUpdateSchema)}),x.RoomStatusSchema=(0,e.enum)(["Joining","Joined","Closed"]),x.RoomStatusChangedSchema=(0,e.object)({status:x.RoomStatusSchema,message:(0,e.string)().optional()})))(h||={});var N;(r=>{r.ParametersSchema=(0,e.record)((0,e.string)(),S),r.PositionSchema=(0,e.object)({x:(0,e.number)(),y:(0,e.number)(),z:(0,e.number)(),channel:(0,e.number)()}),r.ChannelMaskSchema=(0,e.bigint)().nonnegative().lte(0xFFFFFFFFFFFFFFFFn),r.HelloRoomSchema=(0,e.object)({token:(0,e.string)(),room_id:T.optional(),user_data:c.optional(),parameters:r.ParametersSchema.optional(),channel_masks:(0,e.array)((0,e.tuple)([(0,e.number)(),r.ChannelMaskSchema])).optional(),positions:(0,e.array)(r.PositionSchema).optional()}),r.ClientHelloSchema=(0,e.object)({Room:r.HelloRoomSchema}),r.ServerHelloSchema=(0,e.union)([(0,e.object)({Ok:(0,e.object)({})}),(0,e.object)({Rejected:(0,e.object)({message:(0,e.string)()})})]);let _=(0,e.object)({user_data:c.optional(),tags:(0,e.array)((0,e.string)()).optional(),parameters:r.ParametersSchema.optional()});r.PeerPropertiesSchema=_,r.PingSchema=(0,e.object)({Ping:(0,e.object)({id:(0,e.number)()})}),r.ChangeSelfSchema=(0,e.object)({ChangeSelf:_.omit({tags:!0})}),r.SetAudioMaskSchema=(0,e.object)({SetAudioMask:(0,e.object)({peer_id:(0,e.number)(),mask:r.ChannelMaskSchema})}),r.SendMessageSchema=(0,e.object)({SendMessage:(0,e.object)({peer_ids:(0,e.number)().array().default([]),message:c})}),r.CallSchema=r.PingSchema.or(r.ChangeSelfSchema).or(r.SetAudioMaskSchema).or(r.SendMessageSchema),r.PongSchema=(0,e.object)({Pong:(0,e.object)({id:(0,e.number)()})}),r.JoinedSchema=(0,e.object)({Joined:(0,e.object)({own_peer_id:(0,e.number)(),room_id:(0,e.string)(),customer:(0,e.string)()})}),r.LeftSchema=(0,e.object)({Left:(0,e.object)({reason:(0,e.enum)(["room_closing","server_closing","peer_kicked"])})}),r.PeerJoinedSchema=(0,e.object)({PeerJoined:_.extend({peer_id:(0,e.number)(),user_id:(0,e.string)()})}),r.PeerLeftSchema=(0,e.object)({PeerLeft:(0,e.object)({peer_id:(0,e.number)()})}),r.PeerChangedSchema=(0,e.object)({PeerChanged:_.extend({peer_id:(0,e.number)()})}),r.NewReconnectTokenSchema=(0,e.object)({NewReconnectToken:(0,e.object)({token:(0,e.string)()})}),r.MessageReceivedSchema=(0,e.object)({MessageReceived:(0,e.object)({sender_peer_id:(0,e.number)(),message:c})}),r.ServerErrorSchema=(0,e.object)({Error:(0,e.object)({message:(0,e.string)()})}),r.EventSchema=r.PongSchema.or(r.JoinedSchema).or(r.LeftSchema).or(r.PeerJoinedSchema).or(r.PeerLeftSchema).or(r.PeerChangedSchema).or(r.NewReconnectTokenSchema).or(r.MessageReceivedSchema).or(r.ServerErrorSchema)})(N||={});var w=require("zod");var U=(0,w.object)({sender_peer_id:y,message:c});var s=require("zod");var k=(0,s.discriminatedUnion)("kind",[(0,s.object)({kind:(0,s.literal)("Sdp"),type:(0,s.enum)(["Answer","Offer"]),sdp:(0,s.string)(),media_map:(0,s.array)((0,s.tuple)([g,(0,s.string)()]))}),(0,s.object)({kind:(0,s.literal)("Trickle"),candidate:(0,s.string)(),spd_mid:(0,s.string)().optional(),spd_mline_index:(0,s.number)().optional(),username_fragment:(0,s.union)([(0,s.string)(),(0,s.null)()]).optional()}),(0,s.object)({kind:(0,s.literal)("TrickleFinished")})]);var t=require("zod");function J(n,a){n||ne(a)}function ne(n){throw new Error(n)}function se(n,a,u){let m=u[n];if(!m)return;let l=m.request.safeParse(a);return l.success?{name:n,request:l.data}:void 0}function ie(n,a,u){let m=u[n];return J(m!==void 0,"unknown command schema"),m.request.parse(a)}function ae(n,a,u){let m=u[n]?.response.safeParse(a);return m?.success?m.data:void 0}var pe={Hello:{request:(0,t.object)({stream:(0,t.literal)("main")}),response:(0,t.null)()},JoinRoom:{request:(0,t.object)({token:(0,t.string)(),room_id:T,user_data:c,position:P}),response:(0,t.object)({peer_id:y,stream_id:(0,t.number)().optional(),token:(0,t.string)().optional()})},WebRtcUpdate:{request:k,response:(0,t.null)()},RequestReconnectToken:{request:(0,t.object)({peer_id:y.optional()}),response:(0,t.string)()},Ping:{request:(0,t.object)({}),response:(0,t.null)()}},de={Hello:{request:(0,t.object)({stream:(0,t.literal)("room"),token:(0,t.string)(),room_id:(0,t.string)(),user_data:c,position:P}),response:(0,t.null)()},UpdatePeer:{request:(0,t.object)({user_data:c}),response:(0,t.null)()},StartMedia:{request:(0,t.object)({media_id:g,properties:Z}),response:(0,t.null)()},StopMedia:{request:(0,t.object)({media_id:g}),response:(0,t.null)()},PauseMedia:{request:(0,t.object)({media_id:g}),response:(0,t.null)()},ResumeMedia:{request:(0,t.object)({media_id:g}),response:(0,t.null)()},SetPeerPosition:{request:(0,t.object)({position:P}),response:(0,t.null)()},SendMessage:{request:(0,t.object)({target_peer_ids:(0,t.array)(y).optional(),message:c}),response:(0,t.null)()}};function me(n,a,u){let m=u[n];if(!m)return;let l=m.safeParse(a);return l.success?{name:n,properties:l.data}:void 0}var ce={WebRtcUpdate:k},ue={RoomStatusChanged:h.RoomStatusChangedSchema,RoomUpdated:h.RoomUpdatesSchema,PeerUpdated:R,MessageReceived:U};0&&(module.exports={ByteArraySchema,JsonSchema,MainCommandsRpc,MainNotificationsRpc,MediaAudioPropertiesSchema,MediaIdSchema,MediaPropertiesSchema,MediaSchema,MediaVideoPropertiesSchema,MessagePackRpcSchema,MessageReceivedSchema,PeerIdSchema,PeerPositionSchema,PeerSchema,PeerUpdateSchema,RoomCommandsRpc,RoomIdSchema,RoomNotificationsRpc,RoomV1,RoomV2,TokenAudienceSchema,TokenClaimsSchema,TokenSubjectSchema,WebRtcUpdateSchema,oneOrMany,parseCommand,parseNotification,parseRequest,parseResponse});
package/cjs/mod.js CHANGED
@@ -1 +1 @@
1
- var y=Object.defineProperty;var U=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var M=Object.prototype.hasOwnProperty;var j=(e,t)=>{for(var r in t)y(e,r,{get:t[r],enumerable:!0})},_=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of N(t))!M.call(e,s)&&s!==r&&y(e,s,{get:()=>t[s],enumerable:!(n=U(t,s))||n.enumerable});return e};var $=e=>_(y({},"__esModule",{value:!0}),e);var Ue={};j(Ue,{APM_DEFAULTS:()=>H,Backend:()=>A,CONNECTION_STATS_INITIAL:()=>G,CallbackSink:()=>S,ConsoleSink:()=>f,Formatter:()=>P,GLOBAL_LOGGER:()=>p,InteractiveConsoleSink:()=>C,JITTER_STATS_INITIAL:()=>J,LogLevel:()=>d,LogSymbols:()=>w,Logger:()=>c,MinDBFS:()=>Me,Selector:()=>L,Strand:()=>h,VAD_DEFAULTS:()=>W,VideoCodec:()=>v,abortableSleep:()=>ae,assert:()=>g,debug:()=>Ie,error:()=>Fe,extendUrl:()=>le,fail:()=>b,failure:()=>u,find:()=>Q,fromBase64:()=>Z,fromBase64Url:()=>q,fromBytes:()=>X,generateUUID:()=>pe,info:()=>Be,isAudioCapable:()=>ee,isBlinkBrowser:()=>V,isElectronBrowser:()=>re,isFailure:()=>he,isFirefoxBrowser:()=>ne,isFunction:()=>me,isNull:()=>xe,isNumber:()=>ye,isObject:()=>be,isProperty:()=>fe,isSafariBrowser:()=>oe,isSharedArrayBufferCapable:()=>te,isString:()=>ve,isSuccess:()=>Re,isUndefined:()=>Le,log:()=>Ee,nextTick:()=>ue,normalizeUrl:()=>ce,sleep:()=>se,success:()=>o,toBytes:()=>Y,toRaw:()=>ie,tryParseLogLevel:()=>Pe,unwrap:()=>z,unwrapOr:()=>m,validateUUID:()=>ge,warn:()=>De});module.exports=$(Ue);var Me=-758.596,A;(t=>{let e;(a=>(a[a.InvalidPassword=-1]="InvalidPassword",a[a.Unknown=0]="Unknown",a[a.Unencrypted=1]="Unencrypted",a[a.Encrypted=2]="Encrypted"))(e=t.PeerCipherStatus||={})})(A||={});var G={bytesSent:0,bytesReceived:0,packetsSent:0,packetsReceived:0,rtt:0,packetLoss:0},J={packetsBuffered:0,packetsSeen:0,packetsProcessed:0,packetsTooEarly:0,packetsTooLate:0,packetsDropped:0,packetsInvalid:0,packetsRepeated:0,packetsLost:0},W={voiceActivity:{attackThreshold:.9,releaseThreshold:.8},volumeGate:{attackThreshold:-30,releaseThreshold:-40}},H={echoCanceller:!0,highPassFilter:!1,noiseSuppression:"Moderate",transientSuppressor:!1,gainController:!0};function g(e,t){e||b(t)}function b(e){throw new Error(e)}function o(e){return{type:"Success",value:e}}function u(e){return{type:"Failure",reason:e}}function z(e){return e.type==="Failure"&&b(e.reason),e.value}function m(e,t){return e.type==="Success"?e.value:t}function Z(e){try{let t=atob(e),r=Uint8Array.from(t,s=>s.codePointAt(0)),n=new TextDecoder("utf8");return o(n.decode(r))}catch(t){return u(String(t))}}function q(e){try{let t=atob(e.replace(/-/g,"+").replace(/_/g,"/")),r=Uint8Array.from(t,s=>s.codePointAt(0)),n=new TextDecoder("utf8");return o(n.decode(r))}catch(t){return u(String(t))}}function Y(e){try{g(e!==void 0,"undefined cannot be converted to byte array"),g(e!==null,"null cannot be converted to byte array");let t=JSON.stringify(e),r=new TextEncoder;return o(r.encode(t))}catch(t){return u(String(t))}}function X(e){try{g(e.length>0,"empty byte array cannot be converted to value");let t=new TextDecoder().decode(e),r=JSON.parse(t);return o(r)}catch(t){return u(String(t))}}var K=["VP8","VP9","AV1","H264"],v=class{constructor(t){this.codec=t}channels=0;clockRate=9e4;isValid(){return K.includes(this.codec)}isSupported(){if(typeof RTCRtpReceiver>"u"||typeof RTCRtpReceiver.getCapabilities>"u")return null;let t=m(this.getMimeType(),"").toLowerCase(),r=new Set(m(this.getSdpFmtpLine(),"").split(";").map(n=>n.trim().toLowerCase()));return RTCRtpReceiver.getCapabilities("video")?.codecs?.find(n=>{let s=n.mimeType.toLowerCase(),i=new Set((n.sdpFmtpLine??"").split(";").map(a=>a.trim().toLowerCase()));if(t!==s||r.size!==i.size)return!1;for(let a of r)if(!i.has(a))return!1;return!0})??null}getPayloadType(){switch(this.codec){case"VP8":return o(96);case"VP9":return o(98);case"AV1":return o(41);case"H264":return o(102);default:return u("invalid video codec")}}getMimeType(){switch(this.codec){case"VP8":return o("video/VP8");case"VP9":return o("video/VP9");case"AV1":return o("video/AV1");case"H264":return o("video/H264");default:return u("invalid video codec")}}getSdpFmtpLine(){switch(this.codec){case"VP8":return o("");case"VP9":return o("profile-id=2");case"AV1":return o("level-idx=5;profile=0;tier=0");case"H264":return o("level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f");default:return u("invalid video codec")}}};function Q(e,t){for(let r of e)if(t(r))return r}function ee(){return typeof AudioContext<"u"&&typeof Worker<"u"}function te(){return typeof SharedArrayBuffer<"u"}function V(){return/(apple)?webkit\/537\.36/i.test(globalThis.navigator.userAgent)}function re(){return/electron/i.test(globalThis.navigator.userAgent)}function ne(){return/firefox|iceweasel|fxios/i.test(globalThis.navigator.userAgent)}function oe(){return V()?!1:/safari|applewebkit/i.test(globalThis.navigator.userAgent)}function ie(e){return JSON.parse(JSON.stringify(e))}var L=class e{constructor(t){this._Generators=t;this._Futures=t.map(e.addIndex)}_Futures;async next(){let[t,r]=await Promise.race(this._Futures);return this._Futures[r]=e.addIndex(this._Generators[r],r),t}static async addIndex(t,r){return[await t(),r]}};function se(e,t){return e<=0?Promise.resolve(t):new Promise(r=>setTimeout(()=>r(t),e))}function ae(e,t){return t.aborted?Promise.resolve("aborted"):new Promise(r=>{let n=()=>r("aborted");t.addEventListener("abort",n,{once:!0}),setTimeout(()=>{t.removeEventListener("abort",n),r(void 0)},e)})}function ue(){return new Promise(e=>setTimeout(e,0))}var h=class{_Tasks=[];_Running=!1;_Values;constructor(...t){this._Values=t}enqueue(t){return new Promise((r,n)=>{let s=async()=>{try{let i=await t(...this._Values);r(i)}catch(i){n(i)}};this._Tasks.push(s),this._Running||this.execute()})}async execute(){for(this._Running=!0;;){let t=this._Tasks.shift();if(t===void 0)break;await t()}this._Running=!1}};function ce(e){let t=e.trim();e.indexOf("://")===-1&&(t=`https://${t}`);try{return o(new URL(t))}catch(r){return u(String(r))}}function le(e,t){let r=e.pathname;r.endsWith("/")===!1&&(r+="/");try{return o(new URL(r+t,e))}catch(n){return u(String(n))}}var de=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function pe(){return crypto.randomUUID()}function ge(e){return de.test(e)}function fe(e,t){return t in e}function me(e){return typeof e=="function"}function xe(e){return typeof e=="object"&&e===null}function ye(e){return typeof e=="number"}function be(e){return typeof e=="object"}function ve(e){return typeof e=="string"}function Le(e){return typeof e>"u"}function he(e){return e.type==="Failure"}function Re(e){return e.type==="Success"}var{Deno:O}=globalThis,ke=typeof O?.noColor=="boolean"?O.noColor:!1,Te=!ke;function R(e,t){return{open:`\x1B[${e.join(";")}m`,close:`\x1B[${t}m`,regexp:new RegExp(`\\x1b\\[${t}m`,"g")}}function k(e,t){return Te?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}function x(e){return k(e,R([0],0))}function T(e){return k(e,R([1],22))}function F(e){return k(e,R([2],22))}var ot=new RegExp(["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TXZcf-nq-uy=><~]))"].join("|"),"g");var Se=new Date,d=(i=>(i[i.CRITICAL=0]="CRITICAL",i[i.ERROR=1]="ERROR",i[i.WARN=2]="WARN",i[i.INFO=3]="INFO",i[i.DEBUG=4]="DEBUG",i))(d||{}),w={0:"\u{1F4A5}",1:"\u{1F534}",2:"\u{1F7E1}",3:"\u{1F535}",4:"\u{1F7E3}"},we={4:F,3:x,2:x,1:T,0:T};function Pe(e){for(let t of Object.keys(d))if(isNaN(Number(t))!==!1&&t.localeCompare(e,void 0,{sensitivity:"accent"})===0)return d[t]}function Ae({message:e}){return String(e)}function D(e){return JSON.stringify({timestamp:e.date.toISOString(),level:d[e.level],message:e.message,extra:e.extra})}function B(e){function t(a,l){return[Math.floor(a/l),a%l]}function r(){let a,l=e.date.valueOf()-Se.valueOf();[l,a]=t(l,1e3);let[I,E]=t(l,60);return`${I.toString().padStart(4,"0")}:${E.toString().padStart(2,"0")}.${a.toString().padStart(4,"0")}`}function n(){return e.extra===void 0?"":typeof Deno=="object"?" "+Deno.inspect(e.extra,{compact:!1,colors:!0,trailingComma:!0}).trimStart():" "+JSON.stringify(e.extra)}let s=w[e.level],i=e.logger.name!==void 0?`@${e.logger}`:"";return`${x(r())}${i} ${s} ${we[e.level](String(e.message))}${n()}`}function Ve(e){let t=`[${e.date.toISOString()}]`,r=`[${d[e.level]}]`,n=e.logger.name!==void 0?`[${e.logger.name}] `:"",s=w[e.level];return`${t} ${s} ${r.padEnd(7," ")} ${n}${e.message}`}function Oe(){return typeof Deno=="object"&&Deno.stdout.isTerminal()}var P={sparse:Ae,json:D,pretty:B,structured:Ve,default:Oe()?B:D},f=class{formatter;consoleObject;filter;constructor(t=P.default,r=4,n=console){this.filter=r,this.formatter=t,this.consoleObject=n}handle(t){let r=this.formatter(t);switch(t.level){case 1:this.consoleObject.error(r);break;case 2:this.consoleObject.warn(r);break;case 3:this.consoleObject.info(r);break;case 4:this.consoleObject.debug(r);break}}},C=class extends f{handle(t){let r=this.formatter(t),n=t.extra!==void 0?[r,t.extra]:[r];switch(t.level){case 0:case 1:this.consoleObject.error(...n);break;case 2:this.consoleObject.warn(...n);break;case 3:this.consoleObject.info(...n);break;case 4:this.consoleObject.debug(...n);break}}},S=class{formatter;cb;filter;constructor(t,r=P.default,n=4){this.cb=t,this.formatter=r,this.filter=n}handle(t){let r=this.formatter(t);this.cb(r,t)}},c=class{#e;sinks;filter;parent;get name(){return this.#e}constructor(t,r=void 0,n=[],s=void 0){this.#e=r,this.sinks=n,this.filter=t,this.parent=s}log(t,r,n=void 0){let i={date:new Date,level:t,logger:this,message:r,extra:n};this.filter<t||this.insert(i)}insert(t){if(!(this.filter<t.level)){for(let r of this.sinks)r.filter>=t.level&&r.handle(t);this.parent!==void 0&&this.parent.insert(t)}}error=this.log.bind(this,1);warn=this.log.bind(this,2);info=this.log.bind(this,3);debug=this.log.bind(this,4)},p=new c(3,void 0,[new f]),Fe=c.prototype.log.bind(p,1),De=c.prototype.log.bind(p,2),Be=c.prototype.log.bind(p,3),Ie=c.prototype.log.bind(p,4),Ee=c.prototype.log.bind(p);0&&(module.exports={APM_DEFAULTS,Backend,CONNECTION_STATS_INITIAL,CallbackSink,ConsoleSink,Formatter,GLOBAL_LOGGER,InteractiveConsoleSink,JITTER_STATS_INITIAL,LogLevel,LogSymbols,Logger,MinDBFS,Selector,Strand,VAD_DEFAULTS,VideoCodec,abortableSleep,assert,debug,error,extendUrl,fail,failure,find,fromBase64,fromBase64Url,fromBytes,generateUUID,info,isAudioCapable,isBlinkBrowser,isElectronBrowser,isFailure,isFirefoxBrowser,isFunction,isNull,isNumber,isObject,isProperty,isSafariBrowser,isSharedArrayBufferCapable,isString,isSuccess,isUndefined,log,nextTick,normalizeUrl,sleep,success,toBytes,toRaw,tryParseLogLevel,unwrap,unwrapOr,validateUUID,warn});
1
+ var b=Object.defineProperty;var U=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var M=Object.prototype.hasOwnProperty;var j=(e,t)=>{for(var r in t)b(e,r,{get:t[r],enumerable:!0})},_=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of N(t))!M.call(e,s)&&s!==r&&b(e,s,{get:()=>t[s],enumerable:!(n=U(t,s))||n.enumerable});return e};var $=e=>_(b({},"__esModule",{value:!0}),e);var Ue={};j(Ue,{APM_DEFAULTS:()=>H,Backend:()=>A,CONNECTION_STATS_INITIAL:()=>G,CallbackSink:()=>w,ConsoleSink:()=>m,Formatter:()=>f,GLOBAL_LOGGER:()=>p,InteractiveConsoleSink:()=>S,JITTER_STATS_INITIAL:()=>J,LogLevel:()=>d,LogSymbols:()=>P,Logger:()=>c,MinDBFS:()=>Me,Selector:()=>h,Strand:()=>R,VAD_DEFAULTS:()=>W,VideoCodec:()=>L,abortableSleep:()=>ae,assert:()=>g,debug:()=>Ee,error:()=>Fe,extendUrl:()=>le,fail:()=>v,failure:()=>u,find:()=>Q,fromBase64:()=>Z,fromBase64Url:()=>q,fromBytes:()=>X,generateUUID:()=>pe,info:()=>De,isAudioCapable:()=>ee,isBlinkBrowser:()=>V,isElectronBrowser:()=>re,isFailure:()=>he,isFirefoxBrowser:()=>ne,isFunction:()=>me,isNull:()=>ye,isNumber:()=>xe,isObject:()=>be,isProperty:()=>fe,isSafariBrowser:()=>oe,isSharedArrayBufferCapable:()=>te,isString:()=>ve,isSuccess:()=>Re,isUndefined:()=>Le,log:()=>Ie,nextTick:()=>ue,normalizeUrl:()=>ce,sleep:()=>se,success:()=>o,toBytes:()=>Y,toRaw:()=>ie,tryParseLogLevel:()=>Pe,unwrap:()=>z,unwrapOr:()=>y,validateUUID:()=>ge,warn:()=>Be});module.exports=$(Ue);var Me=-758.596,A;(t=>{let e;(a=>(a[a.InvalidPassword=-1]="InvalidPassword",a[a.Unknown=0]="Unknown",a[a.Unencrypted=1]="Unencrypted",a[a.Encrypted=2]="Encrypted"))(e=t.PeerCipherStatus||={})})(A||={});var G={bytesSent:0,bytesReceived:0,packetsSent:0,packetsReceived:0,rtt:0,packetLoss:0},J={packetsBuffered:0,packetsSeen:0,packetsProcessed:0,packetsTooEarly:0,packetsTooLate:0,packetsDropped:0,packetsInvalid:0,packetsRepeated:0,packetsLost:0},W={voiceActivity:{attackThreshold:.9,releaseThreshold:.8},volumeGate:{attackThreshold:-30,releaseThreshold:-40}},H={echoCanceller:!0,highPassFilter:!1,noiseSuppression:"Moderate",transientSuppressor:!1,gainController:!0};function g(e,t){e||v(t)}function v(e){throw new Error(e)}function o(e){return{type:"Success",value:e}}function u(e){return{type:"Failure",reason:e}}function z(e){return e.type==="Failure"&&v(e.reason),e.value}function y(e,t){return e.type==="Success"?e.value:t}function Z(e){try{let t=atob(e),r=Uint8Array.from(t,s=>s.codePointAt(0)),n=new TextDecoder("utf8");return o(n.decode(r))}catch(t){return u(String(t))}}function q(e){try{let t=atob(e.replace(/-/g,"+").replace(/_/g,"/")),r=Uint8Array.from(t,s=>s.codePointAt(0)),n=new TextDecoder("utf8");return o(n.decode(r))}catch(t){return u(String(t))}}function Y(e){try{g(e!==void 0,"undefined cannot be converted to byte array"),g(e!==null,"null cannot be converted to byte array");let t=JSON.stringify(e),r=new TextEncoder;return o(r.encode(t))}catch(t){return u(String(t))}}function X(e){try{g(e.length>0,"empty byte array cannot be converted to value");let t=new TextDecoder().decode(e),r=JSON.parse(t);return o(r)}catch(t){return u(String(t))}}var K=["VP8","VP9","AV1","H264"],L=class{constructor(t){this.codec=t}channels=0;clockRate=9e4;isValid(){return K.includes(this.codec)}isSupported(){if(typeof RTCRtpReceiver>"u"||typeof RTCRtpReceiver.getCapabilities>"u")return null;let t=y(this.getMimeType(),"").toLowerCase(),r=new Set(y(this.getSdpFmtpLine(),"").split(";").map(n=>n.trim().toLowerCase()));return RTCRtpReceiver.getCapabilities("video")?.codecs?.find(n=>{let s=n.mimeType.toLowerCase(),i=new Set((n.sdpFmtpLine??"").split(";").map(a=>a.trim().toLowerCase()));if(t!==s||r.size!==i.size)return!1;for(let a of r)if(!i.has(a))return!1;return!0})??null}getPayloadType(){switch(this.codec){case"VP8":return o(96);case"VP9":return o(98);case"AV1":return o(41);case"H264":return o(102);default:return u("invalid video codec")}}getMimeType(){switch(this.codec){case"VP8":return o("video/VP8");case"VP9":return o("video/VP9");case"AV1":return o("video/AV1");case"H264":return o("video/H264");default:return u("invalid video codec")}}getSdpFmtpLine(){switch(this.codec){case"VP8":return o("");case"VP9":return o("profile-id=2");case"AV1":return o("level-idx=5;profile=0;tier=0");case"H264":return o("level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f");default:return u("invalid video codec")}}};function Q(e,t){for(let r of e)if(t(r))return r}function ee(){return typeof AudioContext<"u"&&typeof Worker<"u"}function te(){return typeof SharedArrayBuffer<"u"}function V(){return/(apple)?webkit\/537\.36/i.test(globalThis.navigator.userAgent)}function re(){return/electron/i.test(globalThis.navigator.userAgent)}function ne(){return/firefox|iceweasel|fxios/i.test(globalThis.navigator.userAgent)}function oe(){return V()?!1:/safari|applewebkit/i.test(globalThis.navigator.userAgent)}function ie(e){return JSON.parse(JSON.stringify(e))}var h=class e{constructor(t){this._Generators=t;this._Futures=t.map(e.addIndex)}_Futures;async next(){let[t,r]=await Promise.race(this._Futures);return this._Futures[r]=e.addIndex(this._Generators[r],r),t}static async addIndex(t,r){return[await t(),r]}};function se(e,t){return e<=0?Promise.resolve(t):new Promise(r=>setTimeout(()=>r(t),e))}function ae(e,t){return t.aborted?Promise.resolve("aborted"):new Promise(r=>{let n=()=>r("aborted");t.addEventListener("abort",n,{once:!0}),setTimeout(()=>{t.removeEventListener("abort",n),r(void 0)},e)})}function ue(){return new Promise(e=>setTimeout(e,0))}var R=class{_Tasks=[];_Running=!1;_Values;constructor(...t){this._Values=t}enqueue(t){return new Promise((r,n)=>{let s=async()=>{try{let i=await t(...this._Values);r(i)}catch(i){n(i)}};this._Tasks.push(s),this._Running||this.execute()})}async execute(){for(this._Running=!0;;){let t=this._Tasks.shift();if(t===void 0)break;await t()}this._Running=!1}};function ce(e){let t=e.trim();e.indexOf("://")===-1&&(t=`https://${t}`);try{return o(new URL(t))}catch(r){return u(String(r))}}function le(e,t){let r=e.pathname;r.endsWith("/")===!1&&(r+="/");try{return o(new URL(r+t,e))}catch(n){return u(String(n))}}var de=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function pe(){return crypto.randomUUID()}function ge(e){return de.test(e)}function fe(e,t){return t in e}function me(e){return typeof e=="function"}function ye(e){return typeof e=="object"&&e===null}function xe(e){return typeof e=="number"}function be(e){return typeof e=="object"}function ve(e){return typeof e=="string"}function Le(e){return typeof e>"u"}function he(e){return e.type==="Failure"}function Re(e){return e.type==="Success"}var{Deno:O}=globalThis,ke=typeof O?.noColor=="boolean"?O.noColor:!1,Te=!ke;function k(e,t){return{open:`\x1B[${e.join(";")}m`,close:`\x1B[${t}m`,regexp:new RegExp(`\\x1b\\[${t}m`,"g")}}function T(e,t){return Te?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}function x(e){return T(e,k([0],0))}function C(e){return T(e,k([1],22))}function F(e){return T(e,k([2],22))}var ot=new RegExp(["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TXZcf-nq-uy=><~]))"].join("|"),"g");var Se=new Date,d=(i=>(i[i.CRITICAL=0]="CRITICAL",i[i.ERROR=1]="ERROR",i[i.WARN=2]="WARN",i[i.INFO=3]="INFO",i[i.DEBUG=4]="DEBUG",i))(d||{}),P={0:"\u{1F4A5}",1:"\u{1F534}",2:"\u{1F7E1}",3:"\u{1F535}",4:"\u{1F7E3}"},we={4:F,3:x,2:x,1:C,0:C};function Pe(e){for(let t of Object.keys(d))if(isNaN(Number(t))!==!1&&t.localeCompare(e,void 0,{sensitivity:"accent"})===0)return d[t]}function Ae({message:e}){return String(e)}function B(e){return JSON.stringify({timestamp:e.date.toISOString(),level:d[e.level],message:e.message,extra:e.extra})}function D(e){function t(a,l){return[Math.floor(a/l),a%l]}function r(){let a,l=e.date.valueOf()-Se.valueOf();[l,a]=t(l,1e3);let[E,I]=t(l,60);return`${E.toString().padStart(4,"0")}:${I.toString().padStart(2,"0")}.${a.toString().padStart(4,"0")}`}function n(){return e.extra===void 0?"":typeof Deno=="object"?" "+Deno.inspect(e.extra,{compact:!1,colors:!0,trailingComma:!0}).trimStart():" "+JSON.stringify(e.extra)}let s=P[e.level],i=e.logger.name!==void 0?`@${e.logger}`:"";return`${x(r())}${i} ${s} ${we[e.level](String(e.message))}${n()}`}function Ve(e){let t=`[${e.date.toISOString()}]`,r=`[${d[e.level]}]`,n=e.logger.name!==void 0?`[${e.logger.name}] `:"",s=P[e.level];return`${t} ${s} ${r.padEnd(7," ")} ${n}${e.message}`}function Oe(){return typeof Deno=="object"&&Deno.stdout.isTerminal()}var f=class{static sparse=Ae;static json=B;static pretty=D;static structured=Ve;static default=Oe()?D:B;constructor(){}},m=class{formatter;consoleObject;filter;constructor(t=f.default,r=4,n=console){this.filter=r,this.formatter=t,this.consoleObject=n}handle(t){let r=this.formatter(t);switch(t.level){case 1:this.consoleObject.error(r);break;case 2:this.consoleObject.warn(r);break;case 3:this.consoleObject.info(r);break;case 4:this.consoleObject.debug(r);break}}},S=class extends m{handle(t){let r=this.formatter(t),n=t.extra!==void 0?[r,t.extra]:[r];switch(t.level){case 0:case 1:this.consoleObject.error(...n);break;case 2:this.consoleObject.warn(...n);break;case 3:this.consoleObject.info(...n);break;case 4:this.consoleObject.debug(...n);break}}},w=class{formatter;cb;filter;constructor(t,r=f.default,n=4){this.cb=t,this.formatter=r,this.filter=n}handle(t){let r=this.formatter(t);this.cb(r,t)}},c=class{#e;sinks;filter;parent;get name(){return this.#e}constructor(t,r=void 0,n=[],s=void 0){this.#e=r,this.sinks=n,this.filter=t,this.parent=s}log(t,r,n=void 0){let i={date:new Date,level:t,logger:this,message:r,extra:n};this.filter<t||this.insert(i)}insert(t){if(!(this.filter<t.level)){for(let r of this.sinks)r.filter>=t.level&&r.handle(t);this.parent!==void 0&&this.parent.insert(t)}}error=this.log.bind(this,1);warn=this.log.bind(this,2);info=this.log.bind(this,3);debug=this.log.bind(this,4)},p=new c(3,void 0,[new m]),Fe=c.prototype.log.bind(p,1),Be=c.prototype.log.bind(p,2),De=c.prototype.log.bind(p,3),Ee=c.prototype.log.bind(p,4),Ie=c.prototype.log.bind(p);0&&(module.exports={APM_DEFAULTS,Backend,CONNECTION_STATS_INITIAL,CallbackSink,ConsoleSink,Formatter,GLOBAL_LOGGER,InteractiveConsoleSink,JITTER_STATS_INITIAL,LogLevel,LogSymbols,Logger,MinDBFS,Selector,Strand,VAD_DEFAULTS,VideoCodec,abortableSleep,assert,debug,error,extendUrl,fail,failure,find,fromBase64,fromBase64Url,fromBytes,generateUUID,info,isAudioCapable,isBlinkBrowser,isElectronBrowser,isFailure,isFirefoxBrowser,isFunction,isNull,isNumber,isObject,isProperty,isSafariBrowser,isSharedArrayBufferCapable,isString,isSuccess,isUndefined,log,nextTick,normalizeUrl,sleep,success,toBytes,toRaw,tryParseLogLevel,unwrap,unwrapOr,validateUUID,warn});
package/cjs/zod/mod.js CHANGED
@@ -1 +1 @@
1
- var p=Object.create;var e=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var t=Object.getOwnPropertyNames;var x=Object.getPrototypeOf,z=Object.prototype.hasOwnProperty;var b=(o,r)=>{for(var a in r)e(o,a,{get:r[a],enumerable:!0})},m=(o,r,a,f)=>{if(r&&typeof r=="object"||typeof r=="function")for(let d of t(r))!z.call(o,d)&&d!==a&&e(o,d,{get:()=>r[d],enumerable:!(f=s(r,d))||f.enumerable});return o};var c=(o,r,a)=>(a=o!=null?p(x(o)):{},m(r||!o||!o.__esModule?e(a,"default",{value:o,enumerable:!0}):a,o)),g=o=>m(e({},"__esModule",{value:!0}),o);var h={};b(h,{zod:()=>i});module.exports=g(h);var i=c(require("zod"));0&&(module.exports={zod});
1
+ var a=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var p=(r,o,f,x)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of c(o))!d.call(r,e)&&e!==f&&a(r,e,{get:()=>o[e],enumerable:!(x=b(o,e))||x.enumerable});return r},t=(r,o,f)=>(p(r,o,"default"),f&&p(f,o,"default"));var g=r=>p(a({},"__esModule",{value:!0}),r);var m={};module.exports=g(m);t(m,require("zod"),module.exports);0&&(module.exports={...require("zod")});
package/esm/api/mod.js CHANGED
@@ -1 +1 @@
1
- import{z as d}from"zod";import{z as o}from"zod";var s=o.custom(n=>n instanceof Uint8Array),b=o.lazy(()=>o.union([o.union([o.string(),o.number(),o.boolean(),o.null()]),o.array(b),o.record(o.string(),b)])),$=o.union([o.tuple([o.literal(0),o.number(),o.string(),o.unknown()]),o.tuple([o.literal(1),o.number(),o.nullable(o.string()),o.unknown()]),o.tuple([o.literal(2),o.string(),o.unknown()])]);function f(n){return o.union([n.transform(p=>[p]),o.array(n)])}var H=d.enum(["sfu","gateway"]),W=d.enum(["connect","roomclose","roomupdate","roombanclient","roomsendmessage"]),re=d.object({uid:d.string(),cid:d.string().optional(),rid:f(d.string()).refine(n=>n.length>=1,{message:"missing rid"}),nsp:d.string().optional(),adr:d.string().optional(),aud:f(H).optional(),sub:f(W).optional(),exp:d.number().optional(),nbf:d.number().optional(),ups:d.string().optional(),tgs:f(d.string()).optional(),tsp:d.number().optional(),internal:d.object({server:d.string().optional()}).optional()});import{z as e}from"zod";import{z as m}from"zod";var l=m.number(),E=m.object({kind:m.literal("audio").optional(),uid:m.string().optional(),ref:m.string().optional(),customType:m.string().optional()}),B=m.object({kind:m.literal("video"),codec:m.string().optional(),uid:m.string().optional(),ref:m.string().optional(),customType:m.string().optional()}),_=m.union([E,B]),k=m.object({id:l,properties:_,paused:m.boolean()});import{z as i}from"zod";var u=i.number(),S=i.union([i.tuple([i.number(),i.number(),i.number()]),i.tuple([i.number(),i.number()])]),z=i.object({id:u,user_id:i.string(),user_data:s,medias:i.array(k)}),C=i.discriminatedUnion("kind",[i.object({kind:i.literal("UserDataChanged"),peer_id:u,user_data:s}),i.object({kind:i.literal("MediaStarted"),peer_id:u,media:k}),i.object({kind:i.literal("MediaStopped"),peer_id:u,media_id:l})]);var P=e.string(),T;(x=>(x.RoomSchema=e.object({id:P,customer:e.string(),user_data:s,peers:e.array(z)}),x.RoomUpdateSchema=e.discriminatedUnion("kind",[e.object({kind:e.literal("Joined"),room:x.RoomSchema,media_ids:e.array(l),own_peer_id:u}),e.object({kind:e.literal("Left"),reason:e.enum(["RoomClosing","ServerClosing","PeerKicked"])}),e.object({kind:e.literal("PeerJoined"),peer:z}),e.object({kind:e.literal("PeerLeft"),peer_id:u}),e.object({kind:e.literal("UserDataChanged"),user_data:s.optional()})]),x.RoomUpdatesSchema=e.object({updates:e.array(x.RoomUpdateSchema)}),x.RoomStatusSchema=e.enum(["Joining","Joined","Closed"]),x.RoomStatusChangedSchema=e.object({status:x.RoomStatusSchema,message:e.string().optional()})))(T||={});var O;(t=>{t.ParametersSchema=e.record(e.string(),b),t.HelloRoomSchema=e.object({token:e.string(),room_id:P.optional(),user_data:s.optional(),parameters:t.ParametersSchema.optional()}),t.ClientHelloSchema=e.object({Room:t.HelloRoomSchema}),t.ServerHelloSchema=e.union([e.object({Ok:e.object({})}),e.object({Rejected:e.object({message:e.string()})})]);let y=e.object({user_data:s.optional(),tags:e.array(e.string()).optional(),audio_parameters:t.ParametersSchema.optional(),video_parameters:t.ParametersSchema.optional()});t.PeerPropertiesSchema=y,t.PingSchema=e.object({Ping:e.object({id:e.number()})}),t.ChangeSelfSchema=e.object({ChangeSelf:y.omit({tags:!0})}),t.SetAudioMaskSchema=e.object({SetAudioMask:e.object({peer_id:e.number(),mask:e.bigint().nonnegative().lte(0xFFFFFFFFFFFFFFFFn)})}),t.SendMessageSchema=e.object({SendMessage:e.object({peer_ids:e.number().array().default([]),message:s})}),t.CallSchema=t.PingSchema.or(t.ChangeSelfSchema).or(t.SetAudioMaskSchema).or(t.SendMessageSchema),t.PongSchema=e.object({Pong:e.object({id:e.number()})}),t.JoinedSchema=e.object({Joined:e.object({own_peer_id:e.number(),room_id:e.string(),customer:e.string()})}),t.LeftSchema=e.object({Left:e.object({reason:e.enum(["room_closing","server_closing","peer_kicked"])})}),t.PeerJoinedSchema=e.object({PeerJoined:y.extend({peer_id:e.number(),user_id:e.string()})}),t.PeerLeftSchema=e.object({PeerLeft:e.object({peer_id:e.number()})}),t.PeerChangedSchema=e.object({PeerChanged:y.extend({peer_id:e.number()})}),t.NewReconnectTokenSchema=e.object({NewReconnectToken:e.object({token:e.string()})}),t.MessageReceivedSchema=e.object({MessageReceived:e.object({sender_peer_id:e.number(),message:s})}),t.ServerErrorSchema=e.object({Error:e.object({message:s})}),t.EventSchema=t.PongSchema.or(t.JoinedSchema).or(t.LeftSchema).or(t.PeerJoinedSchema).or(t.PeerLeftSchema).or(t.PeerChangedSchema).or(t.NewReconnectTokenSchema).or(t.MessageReceivedSchema).or(t.ServerErrorSchema)})(O||={});import{z as D}from"zod";var M=D.object({sender_peer_id:u,message:s});import{z as a}from"zod";var h=a.discriminatedUnion("kind",[a.object({kind:a.literal("Sdp"),type:a.enum(["Answer","Offer"]),sdp:a.string(),media_map:a.array(a.tuple([l,a.string()]))}),a.object({kind:a.literal("Trickle"),candidate:a.string(),spd_mid:a.string().optional(),spd_mline_index:a.number().optional(),username_fragment:a.union([a.string(),a.null()]).optional()}),a.object({kind:a.literal("TrickleFinished")})]);import{z as r}from"zod";function R(n,p){n||G(p)}function G(n){throw new Error(n)}function je(n,p,g){let c=g[n];if(!c)return;let y=c.request.safeParse(p);return y.success?{name:n,request:y.data}:void 0}function Ue(n,p,g){let c=g[n];return R(c!==void 0,"unknown command schema"),c.request.parse(p)}function ve(n,p,g){let c=g[n]?.response.safeParse(p);return c?.success?c.data:void 0}var Ae={Hello:{request:r.object({stream:r.literal("main")}),response:r.null()},JoinRoom:{request:r.object({token:r.string(),room_id:P,user_data:s,position:S}),response:r.object({peer_id:u,stream_id:r.number().optional(),token:r.string().optional()})},WebRtcUpdate:{request:h,response:r.null()},RequestReconnectToken:{request:r.object({peer_id:u.optional()}),response:r.string()},Ping:{request:r.object({}),response:r.null()}},Ie={Hello:{request:r.object({stream:r.literal("room"),token:r.string(),room_id:r.string(),user_data:s,position:S}),response:r.null()},UpdatePeer:{request:r.object({user_data:s}),response:r.null()},StartMedia:{request:r.object({media_id:l,properties:_}),response:r.null()},StopMedia:{request:r.object({media_id:l}),response:r.null()},PauseMedia:{request:r.object({media_id:l}),response:r.null()},ResumeMedia:{request:r.object({media_id:l}),response:r.null()},SetPeerPosition:{request:r.object({position:S}),response:r.null()},SendMessage:{request:r.object({target_peer_ids:r.array(u).optional(),message:s}),response:r.null()}};function Fe(n,p,g){let c=g[n];if(!c)return;let y=c.safeParse(p);return y.success?{name:n,properties:y.data}:void 0}var Le={WebRtcUpdate:h},He={RoomStatusChanged:T.RoomStatusChangedSchema,RoomUpdated:T.RoomUpdatesSchema,PeerUpdated:C,MessageReceived:M};export{s as ByteArraySchema,b as JsonSchema,Ae as MainCommandsRpc,Le as MainNotificationsRpc,E as MediaAudioPropertiesSchema,l as MediaIdSchema,_ as MediaPropertiesSchema,k as MediaSchema,B as MediaVideoPropertiesSchema,$ as MessagePackRpcSchema,M as MessageReceivedSchema,u as PeerIdSchema,S as PeerPositionSchema,z as PeerSchema,C as PeerUpdateSchema,Ie as RoomCommandsRpc,P as RoomIdSchema,He as RoomNotificationsRpc,T as RoomV1,O as RoomV2,H as TokenAudienceSchema,re as TokenClaimsSchema,W as TokenSubjectSchema,h as WebRtcUpdateSchema,f as oneOrMany,je as parseCommand,Fe as parseNotification,Ue as parseRequest,ve as parseResponse};
1
+ import{enum as D,number as J,object as B,string as l}from"zod";import{array as z,boolean as ye,custom as le,lazy as ge,literal as A,null as xe,nullable as fe,number as w,record as Se,string as P,tuple as q,union as C,unknown as N}from"zod";var t=le(r=>r instanceof Uint8Array),M=ge(()=>C([C([P(),w(),ye(),xe()]),z(M),Se(P(),M)])),Ye=C([q([A(0),w(),P(),N()]),q([A(1),w(),fe(P()),N()]),q([A(2),P(),N()])]);function T(r){return C([r.transform(n=>[n]),z(r)])}var Pe=D(["sfu","gateway"]),Te=D(["connect","roomclose","roomupdate","roombanclient","roomsendmessage"]),oo=B({uid:l(),cid:l().optional(),rid:T(l()).refine(r=>r.length>=1,{message:"missing rid"}),nsp:l().optional(),adr:l().optional(),aud:T(Pe).optional(),sub:T(Te).optional(),exp:J().optional(),nbf:J().optional(),ups:l().optional(),tgs:T(l()).optional(),tsp:J().optional(),internal:B({server:l().optional()}).optional()});import{array as S,bigint as Ie,discriminatedUnion as ve,enum as E,literal as h,number as i,object as o,record as Ae,string as m,tuple as qe,union as Ne}from"zod";import{boolean as he,literal as G,number as ke,object as K,string as x,union as _e}from"zod";var d=ke(),Ze=K({kind:G("audio").optional(),uid:x().optional(),ref:x().optional(),customType:x().optional()}),Ce=K({kind:G("video"),codec:x().optional(),uid:x().optional(),ref:x().optional(),customType:x().optional()}),F=_e([Ze,Ce]),L=K({id:d,properties:F,paused:he()});import{array as Me,discriminatedUnion as be,literal as j,number as f,object as b,string as Re,tuple as Q,union as Ue}from"zod";var a=f(),R=Ue([Q([f(),f(),f()]),Q([f(),f()])]),H=b({id:a,user_id:Re(),user_data:t,medias:Me(L)}),X=be("kind",[b({kind:j("UserDataChanged"),peer_id:a,user_data:t}),b({kind:j("MediaStarted"),peer_id:a,media:L}),b({kind:j("MediaStopped"),peer_id:a,media_id:d})]);var U=m(),I;(y=>(y.RoomSchema=o({id:U,customer:m(),user_data:t,peers:S(H)}),y.RoomUpdateSchema=ve("kind",[o({kind:h("Joined"),room:y.RoomSchema,media_ids:S(d),own_peer_id:a}),o({kind:h("Left"),reason:E(["RoomClosing","ServerClosing","PeerKicked"])}),o({kind:h("PeerJoined"),peer:H}),o({kind:h("PeerLeft"),peer_id:a}),o({kind:h("UserDataChanged"),user_data:t.optional()})]),y.RoomUpdatesSchema=o({updates:S(y.RoomUpdateSchema)}),y.RoomStatusSchema=E(["Joining","Joined","Closed"]),y.RoomStatusChangedSchema=o({status:y.RoomStatusSchema,message:m().optional()})))(I||={});var we;(e=>{e.ParametersSchema=Ae(m(),M),e.PositionSchema=o({x:i(),y:i(),z:i(),channel:i()}),e.ChannelMaskSchema=Ie().nonnegative().lte(0xFFFFFFFFFFFFFFFFn),e.HelloRoomSchema=o({token:m(),room_id:U.optional(),user_data:t.optional(),parameters:e.ParametersSchema.optional(),channel_masks:S(qe([i(),e.ChannelMaskSchema])).optional(),positions:S(e.PositionSchema).optional()}),e.ClientHelloSchema=o({Room:e.HelloRoomSchema}),e.ServerHelloSchema=Ne([o({Ok:o({})}),o({Rejected:o({message:m()})})]);let Z=o({user_data:t.optional(),tags:S(m()).optional(),parameters:e.ParametersSchema.optional()});e.PeerPropertiesSchema=Z,e.PingSchema=o({Ping:o({id:i()})}),e.ChangeSelfSchema=o({ChangeSelf:Z.omit({tags:!0})}),e.SetAudioMaskSchema=o({SetAudioMask:o({peer_id:i(),mask:e.ChannelMaskSchema})}),e.SendMessageSchema=o({SendMessage:o({peer_ids:i().array().default([]),message:t})}),e.CallSchema=e.PingSchema.or(e.ChangeSelfSchema).or(e.SetAudioMaskSchema).or(e.SendMessageSchema),e.PongSchema=o({Pong:o({id:i()})}),e.JoinedSchema=o({Joined:o({own_peer_id:i(),room_id:m(),customer:m()})}),e.LeftSchema=o({Left:o({reason:E(["room_closing","server_closing","peer_kicked"])})}),e.PeerJoinedSchema=o({PeerJoined:Z.extend({peer_id:i(),user_id:m()})}),e.PeerLeftSchema=o({PeerLeft:o({peer_id:i()})}),e.PeerChangedSchema=o({PeerChanged:Z.extend({peer_id:i()})}),e.NewReconnectTokenSchema=o({NewReconnectToken:o({token:m()})}),e.MessageReceivedSchema=o({MessageReceived:o({sender_peer_id:i(),message:t})}),e.ServerErrorSchema=o({Error:o({message:m()})}),e.EventSchema=e.PongSchema.or(e.JoinedSchema).or(e.LeftSchema).or(e.PeerJoinedSchema).or(e.PeerLeftSchema).or(e.PeerChangedSchema).or(e.NewReconnectTokenSchema).or(e.MessageReceivedSchema).or(e.ServerErrorSchema)})(we||={});import{object as Je}from"zod";var Y=Je({sender_peer_id:a,message:t});import{array as Ke,discriminatedUnion as Fe,enum as Le,literal as W,null as je,number as He,object as O,string as k,tuple as Ee,union as We}from"zod";var v=Fe("kind",[O({kind:W("Sdp"),type:Le(["Answer","Offer"]),sdp:k(),media_map:Ke(Ee([d,k()]))}),O({kind:W("Trickle"),candidate:k(),spd_mid:k().optional(),spd_mline_index:He().optional(),username_fragment:We([k(),je()]).optional()}),O({kind:W("TrickleFinished")})]);import{array as ze,literal as V,null as u,number as Be,object as p,string as _}from"zod";function $(r,n){r||Oe(n)}function Oe(r){throw new Error(r)}function Io(r,n,c){let s=c[r];if(!s)return;let g=s.request.safeParse(n);return g.success?{name:r,request:g.data}:void 0}function vo(r,n,c){let s=c[r];return $(s!==void 0,"unknown command schema"),s.request.parse(n)}function Ao(r,n,c){let s=c[r]?.response.safeParse(n);return s?.success?s.data:void 0}var qo={Hello:{request:p({stream:V("main")}),response:u()},JoinRoom:{request:p({token:_(),room_id:U,user_data:t,position:R}),response:p({peer_id:a,stream_id:Be().optional(),token:_().optional()})},WebRtcUpdate:{request:v,response:u()},RequestReconnectToken:{request:p({peer_id:a.optional()}),response:_()},Ping:{request:p({}),response:u()}},No={Hello:{request:p({stream:V("room"),token:_(),room_id:_(),user_data:t,position:R}),response:u()},UpdatePeer:{request:p({user_data:t}),response:u()},StartMedia:{request:p({media_id:d,properties:F}),response:u()},StopMedia:{request:p({media_id:d}),response:u()},PauseMedia:{request:p({media_id:d}),response:u()},ResumeMedia:{request:p({media_id:d}),response:u()},SetPeerPosition:{request:p({position:R}),response:u()},SendMessage:{request:p({target_peer_ids:ze(a).optional(),message:t}),response:u()}};function jo(r,n,c){let s=c[r];if(!s)return;let g=s.safeParse(n);return g.success?{name:r,properties:g.data}:void 0}var Ho={WebRtcUpdate:v},Eo={RoomStatusChanged:I.RoomStatusChangedSchema,RoomUpdated:I.RoomUpdatesSchema,PeerUpdated:X,MessageReceived:Y};export{t as ByteArraySchema,M as JsonSchema,qo as MainCommandsRpc,Ho as MainNotificationsRpc,Ze as MediaAudioPropertiesSchema,d as MediaIdSchema,F as MediaPropertiesSchema,L as MediaSchema,Ce as MediaVideoPropertiesSchema,Ye as MessagePackRpcSchema,Y as MessageReceivedSchema,a as PeerIdSchema,R as PeerPositionSchema,H as PeerSchema,X as PeerUpdateSchema,No as RoomCommandsRpc,U as RoomIdSchema,Eo as RoomNotificationsRpc,I as RoomV1,we as RoomV2,Pe as TokenAudienceSchema,oo as TokenClaimsSchema,Te as TokenSubjectSchema,v as WebRtcUpdateSchema,T as oneOrMany,Io as parseCommand,jo as parseNotification,vo as parseRequest,Ao as parseResponse};
package/esm/mod.js CHANGED
@@ -1 +1 @@
1
- var H=-758.596,B;(t=>{let e;(s=>(s[s.InvalidPassword=-1]="InvalidPassword",s[s.Unknown=0]="Unknown",s[s.Unencrypted=1]="Unencrypted",s[s.Encrypted=2]="Encrypted"))(e=t.PeerCipherStatus||={})})(B||={});var z={bytesSent:0,bytesReceived:0,packetsSent:0,packetsReceived:0,rtt:0,packetLoss:0},Z={packetsBuffered:0,packetsSeen:0,packetsProcessed:0,packetsTooEarly:0,packetsTooLate:0,packetsDropped:0,packetsInvalid:0,packetsRepeated:0,packetsLost:0},q={voiceActivity:{attackThreshold:.9,releaseThreshold:.8},volumeGate:{attackThreshold:-30,releaseThreshold:-40}},Y={echoCanceller:!0,highPassFilter:!1,noiseSuppression:"Moderate",transientSuppressor:!1,gainController:!0};function g(e,t){e||L(t)}function L(e){throw new Error(e)}function o(e){return{type:"Success",value:e}}function u(e){return{type:"Failure",reason:e}}function K(e){return e.type==="Failure"&&L(e.reason),e.value}function x(e,t){return e.type==="Success"?e.value:t}function te(e){try{let t=atob(e),r=Uint8Array.from(t,a=>a.codePointAt(0)),n=new TextDecoder("utf8");return o(n.decode(r))}catch(t){return u(String(t))}}function re(e){try{let t=atob(e.replace(/-/g,"+").replace(/_/g,"/")),r=Uint8Array.from(t,a=>a.codePointAt(0)),n=new TextDecoder("utf8");return o(n.decode(r))}catch(t){return u(String(t))}}function ie(e){try{g(e!==void 0,"undefined cannot be converted to byte array"),g(e!==null,"null cannot be converted to byte array");let t=JSON.stringify(e),r=new TextEncoder;return o(r.encode(t))}catch(t){return u(String(t))}}function se(e){try{g(e.length>0,"empty byte array cannot be converted to value");let t=new TextDecoder().decode(e),r=JSON.parse(t);return o(r)}catch(t){return u(String(t))}}var I=["VP8","VP9","AV1","H264"],h=class{constructor(t){this.codec=t}channels=0;clockRate=9e4;isValid(){return I.includes(this.codec)}isSupported(){if(typeof RTCRtpReceiver>"u"||typeof RTCRtpReceiver.getCapabilities>"u")return null;let t=x(this.getMimeType(),"").toLowerCase(),r=new Set(x(this.getSdpFmtpLine(),"").split(";").map(n=>n.trim().toLowerCase()));return RTCRtpReceiver.getCapabilities("video")?.codecs?.find(n=>{let a=n.mimeType.toLowerCase(),i=new Set((n.sdpFmtpLine??"").split(";").map(s=>s.trim().toLowerCase()));if(t!==a||r.size!==i.size)return!1;for(let s of r)if(!i.has(s))return!1;return!0})??null}getPayloadType(){switch(this.codec){case"VP8":return o(96);case"VP9":return o(98);case"AV1":return o(41);case"H264":return o(102);default:return u("invalid video codec")}}getMimeType(){switch(this.codec){case"VP8":return o("video/VP8");case"VP9":return o("video/VP9");case"AV1":return o("video/AV1");case"H264":return o("video/H264");default:return u("invalid video codec")}}getSdpFmtpLine(){switch(this.codec){case"VP8":return o("");case"VP9":return o("profile-id=2");case"AV1":return o("level-idx=5;profile=0;tier=0");case"H264":return o("level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f");default:return u("invalid video codec")}}};function le(e,t){for(let r of e)if(t(r))return r}function pe(){return typeof AudioContext<"u"&&typeof Worker<"u"}function ge(){return typeof SharedArrayBuffer<"u"}function E(){return/(apple)?webkit\/537\.36/i.test(globalThis.navigator.userAgent)}function fe(){return/electron/i.test(globalThis.navigator.userAgent)}function me(){return/firefox|iceweasel|fxios/i.test(globalThis.navigator.userAgent)}function xe(){return E()?!1:/safari|applewebkit/i.test(globalThis.navigator.userAgent)}function be(e){return JSON.parse(JSON.stringify(e))}var R=class e{constructor(t){this._Generators=t;this._Futures=t.map(e.addIndex)}_Futures;async next(){let[t,r]=await Promise.race(this._Futures);return this._Futures[r]=e.addIndex(this._Generators[r],r),t}static async addIndex(t,r){return[await t(),r]}};function he(e,t){return e<=0?Promise.resolve(t):new Promise(r=>setTimeout(()=>r(t),e))}function Re(e,t){return t.aborted?Promise.resolve("aborted"):new Promise(r=>{let n=()=>r("aborted");t.addEventListener("abort",n,{once:!0}),setTimeout(()=>{t.removeEventListener("abort",n),r(void 0)},e)})}function ke(){return new Promise(e=>setTimeout(e,0))}var k=class{_Tasks=[];_Running=!1;_Values;constructor(...t){this._Values=t}enqueue(t){return new Promise((r,n)=>{let a=async()=>{try{let i=await t(...this._Values);r(i)}catch(i){n(i)}};this._Tasks.push(a),this._Running||this.execute()})}async execute(){for(this._Running=!0;;){let t=this._Tasks.shift();if(t===void 0)break;await t()}this._Running=!1}};function we(e){let t=e.trim();e.indexOf("://")===-1&&(t=`https://${t}`);try{return o(new URL(t))}catch(r){return u(String(r))}}function Pe(e,t){let r=e.pathname;r.endsWith("/")===!1&&(r+="/");try{return o(new URL(r+t,e))}catch(n){return u(String(n))}}var U=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function Ve(){return crypto.randomUUID()}function Oe(e){return U.test(e)}function De(e,t){return t in e}function Be(e){return typeof e=="function"}function Ie(e){return typeof e=="object"&&e===null}function Ee(e){return typeof e=="number"}function Ue(e){return typeof e=="object"}function Ne(e){return typeof e=="string"}function Me(e){return typeof e>"u"}function je(e){return e.type==="Failure"}function _e(e){return e.type==="Success"}var{Deno:T}=globalThis,N=typeof T?.noColor=="boolean"?T.noColor:!1,M=!N;function y(e,t){return{open:`\x1B[${e.join(";")}m`,close:`\x1B[${t}m`,regexp:new RegExp(`\\x1b\\[${t}m`,"g")}}function b(e,t){return M?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}function f(e){return b(e,y([0],0))}function v(e){return b(e,y([1],22))}function C(e){return b(e,y([2],22))}var Ge=new RegExp(["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TXZcf-nq-uy=><~]))"].join("|"),"g");var _=new Date,d=(i=>(i[i.CRITICAL=0]="CRITICAL",i[i.ERROR=1]="ERROR",i[i.WARN=2]="WARN",i[i.INFO=3]="INFO",i[i.DEBUG=4]="DEBUG",i))(d||{}),V={0:"\u{1F4A5}",1:"\u{1F534}",2:"\u{1F7E1}",3:"\u{1F535}",4:"\u{1F7E3}"},$={4:C,3:f,2:f,1:v,0:v};function Je(e){for(let t of Object.keys(d))if(isNaN(Number(t))!==!1&&t.localeCompare(e,void 0,{sensitivity:"accent"})===0)return d[t]}function G({message:e}){return String(e)}function S(e){return JSON.stringify({timestamp:e.date.toISOString(),level:d[e.level],message:e.message,extra:e.extra})}function w(e){function t(s,l){return[Math.floor(s/l),s%l]}function r(){let s,l=e.date.valueOf()-_.valueOf();[l,s]=t(l,1e3);let[F,D]=t(l,60);return`${F.toString().padStart(4,"0")}:${D.toString().padStart(2,"0")}.${s.toString().padStart(4,"0")}`}function n(){return e.extra===void 0?"":typeof Deno=="object"?" "+Deno.inspect(e.extra,{compact:!1,colors:!0,trailingComma:!0}).trimStart():" "+JSON.stringify(e.extra)}let a=V[e.level],i=e.logger.name!==void 0?`@${e.logger}`:"";return`${f(r())}${i} ${a} ${$[e.level](String(e.message))}${n()}`}function J(e){let t=`[${e.date.toISOString()}]`,r=`[${d[e.level]}]`,n=e.logger.name!==void 0?`[${e.logger.name}] `:"",a=V[e.level];return`${t} ${a} ${r.padEnd(7," ")} ${n}${e.message}`}function W(){return typeof Deno=="object"&&Deno.stdout.isTerminal()}var O={sparse:G,json:S,pretty:w,structured:J,default:W()?w:S},m=class{formatter;consoleObject;filter;constructor(t=O.default,r=4,n=console){this.filter=r,this.formatter=t,this.consoleObject=n}handle(t){let r=this.formatter(t);switch(t.level){case 1:this.consoleObject.error(r);break;case 2:this.consoleObject.warn(r);break;case 3:this.consoleObject.info(r);break;case 4:this.consoleObject.debug(r);break}}},P=class extends m{handle(t){let r=this.formatter(t),n=t.extra!==void 0?[r,t.extra]:[r];switch(t.level){case 0:case 1:this.consoleObject.error(...n);break;case 2:this.consoleObject.warn(...n);break;case 3:this.consoleObject.info(...n);break;case 4:this.consoleObject.debug(...n);break}}},A=class{formatter;cb;filter;constructor(t,r=O.default,n=4){this.cb=t,this.formatter=r,this.filter=n}handle(t){let r=this.formatter(t);this.cb(r,t)}},c=class{#e;sinks;filter;parent;get name(){return this.#e}constructor(t,r=void 0,n=[],a=void 0){this.#e=r,this.sinks=n,this.filter=t,this.parent=a}log(t,r,n=void 0){let i={date:new Date,level:t,logger:this,message:r,extra:n};this.filter<t||this.insert(i)}insert(t){if(!(this.filter<t.level)){for(let r of this.sinks)r.filter>=t.level&&r.handle(t);this.parent!==void 0&&this.parent.insert(t)}}error=this.log.bind(this,1);warn=this.log.bind(this,2);info=this.log.bind(this,3);debug=this.log.bind(this,4)},p=new c(3,void 0,[new m]),We=c.prototype.log.bind(p,1),He=c.prototype.log.bind(p,2),ze=c.prototype.log.bind(p,3),Ze=c.prototype.log.bind(p,4),qe=c.prototype.log.bind(p);export{Y as APM_DEFAULTS,B as Backend,z as CONNECTION_STATS_INITIAL,A as CallbackSink,m as ConsoleSink,O as Formatter,p as GLOBAL_LOGGER,P as InteractiveConsoleSink,Z as JITTER_STATS_INITIAL,d as LogLevel,V as LogSymbols,c as Logger,H as MinDBFS,R as Selector,k as Strand,q as VAD_DEFAULTS,h as VideoCodec,Re as abortableSleep,g as assert,Ze as debug,We as error,Pe as extendUrl,L as fail,u as failure,le as find,te as fromBase64,re as fromBase64Url,se as fromBytes,Ve as generateUUID,ze as info,pe as isAudioCapable,E as isBlinkBrowser,fe as isElectronBrowser,je as isFailure,me as isFirefoxBrowser,Be as isFunction,Ie as isNull,Ee as isNumber,Ue as isObject,De as isProperty,xe as isSafariBrowser,ge as isSharedArrayBufferCapable,Ne as isString,_e as isSuccess,Me as isUndefined,qe as log,ke as nextTick,we as normalizeUrl,he as sleep,o as success,ie as toBytes,be as toRaw,Je as tryParseLogLevel,K as unwrap,x as unwrapOr,Oe as validateUUID,He as warn};
1
+ var H=-758.596,D;(t=>{let e;(s=>(s[s.InvalidPassword=-1]="InvalidPassword",s[s.Unknown=0]="Unknown",s[s.Unencrypted=1]="Unencrypted",s[s.Encrypted=2]="Encrypted"))(e=t.PeerCipherStatus||={})})(D||={});var z={bytesSent:0,bytesReceived:0,packetsSent:0,packetsReceived:0,rtt:0,packetLoss:0},Z={packetsBuffered:0,packetsSeen:0,packetsProcessed:0,packetsTooEarly:0,packetsTooLate:0,packetsDropped:0,packetsInvalid:0,packetsRepeated:0,packetsLost:0},q={voiceActivity:{attackThreshold:.9,releaseThreshold:.8},volumeGate:{attackThreshold:-30,releaseThreshold:-40}},Y={echoCanceller:!0,highPassFilter:!1,noiseSuppression:"Moderate",transientSuppressor:!1,gainController:!0};function g(e,t){e||h(t)}function h(e){throw new Error(e)}function o(e){return{type:"Success",value:e}}function u(e){return{type:"Failure",reason:e}}function K(e){return e.type==="Failure"&&h(e.reason),e.value}function x(e,t){return e.type==="Success"?e.value:t}function te(e){try{let t=atob(e),r=Uint8Array.from(t,a=>a.codePointAt(0)),n=new TextDecoder("utf8");return o(n.decode(r))}catch(t){return u(String(t))}}function re(e){try{let t=atob(e.replace(/-/g,"+").replace(/_/g,"/")),r=Uint8Array.from(t,a=>a.codePointAt(0)),n=new TextDecoder("utf8");return o(n.decode(r))}catch(t){return u(String(t))}}function ie(e){try{g(e!==void 0,"undefined cannot be converted to byte array"),g(e!==null,"null cannot be converted to byte array");let t=JSON.stringify(e),r=new TextEncoder;return o(r.encode(t))}catch(t){return u(String(t))}}function se(e){try{g(e.length>0,"empty byte array cannot be converted to value");let t=new TextDecoder().decode(e),r=JSON.parse(t);return o(r)}catch(t){return u(String(t))}}var E=["VP8","VP9","AV1","H264"],R=class{constructor(t){this.codec=t}channels=0;clockRate=9e4;isValid(){return E.includes(this.codec)}isSupported(){if(typeof RTCRtpReceiver>"u"||typeof RTCRtpReceiver.getCapabilities>"u")return null;let t=x(this.getMimeType(),"").toLowerCase(),r=new Set(x(this.getSdpFmtpLine(),"").split(";").map(n=>n.trim().toLowerCase()));return RTCRtpReceiver.getCapabilities("video")?.codecs?.find(n=>{let a=n.mimeType.toLowerCase(),i=new Set((n.sdpFmtpLine??"").split(";").map(s=>s.trim().toLowerCase()));if(t!==a||r.size!==i.size)return!1;for(let s of r)if(!i.has(s))return!1;return!0})??null}getPayloadType(){switch(this.codec){case"VP8":return o(96);case"VP9":return o(98);case"AV1":return o(41);case"H264":return o(102);default:return u("invalid video codec")}}getMimeType(){switch(this.codec){case"VP8":return o("video/VP8");case"VP9":return o("video/VP9");case"AV1":return o("video/AV1");case"H264":return o("video/H264");default:return u("invalid video codec")}}getSdpFmtpLine(){switch(this.codec){case"VP8":return o("");case"VP9":return o("profile-id=2");case"AV1":return o("level-idx=5;profile=0;tier=0");case"H264":return o("level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f");default:return u("invalid video codec")}}};function le(e,t){for(let r of e)if(t(r))return r}function pe(){return typeof AudioContext<"u"&&typeof Worker<"u"}function ge(){return typeof SharedArrayBuffer<"u"}function I(){return/(apple)?webkit\/537\.36/i.test(globalThis.navigator.userAgent)}function fe(){return/electron/i.test(globalThis.navigator.userAgent)}function me(){return/firefox|iceweasel|fxios/i.test(globalThis.navigator.userAgent)}function ye(){return I()?!1:/safari|applewebkit/i.test(globalThis.navigator.userAgent)}function be(e){return JSON.parse(JSON.stringify(e))}var k=class e{constructor(t){this._Generators=t;this._Futures=t.map(e.addIndex)}_Futures;async next(){let[t,r]=await Promise.race(this._Futures);return this._Futures[r]=e.addIndex(this._Generators[r],r),t}static async addIndex(t,r){return[await t(),r]}};function he(e,t){return e<=0?Promise.resolve(t):new Promise(r=>setTimeout(()=>r(t),e))}function Re(e,t){return t.aborted?Promise.resolve("aborted"):new Promise(r=>{let n=()=>r("aborted");t.addEventListener("abort",n,{once:!0}),setTimeout(()=>{t.removeEventListener("abort",n),r(void 0)},e)})}function ke(){return new Promise(e=>setTimeout(e,0))}var T=class{_Tasks=[];_Running=!1;_Values;constructor(...t){this._Values=t}enqueue(t){return new Promise((r,n)=>{let a=async()=>{try{let i=await t(...this._Values);r(i)}catch(i){n(i)}};this._Tasks.push(a),this._Running||this.execute()})}async execute(){for(this._Running=!0;;){let t=this._Tasks.shift();if(t===void 0)break;await t()}this._Running=!1}};function we(e){let t=e.trim();e.indexOf("://")===-1&&(t=`https://${t}`);try{return o(new URL(t))}catch(r){return u(String(r))}}function Pe(e,t){let r=e.pathname;r.endsWith("/")===!1&&(r+="/");try{return o(new URL(r+t,e))}catch(n){return u(String(n))}}var U=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function Ve(){return crypto.randomUUID()}function Oe(e){return U.test(e)}function Be(e,t){return t in e}function De(e){return typeof e=="function"}function Ee(e){return typeof e=="object"&&e===null}function Ie(e){return typeof e=="number"}function Ue(e){return typeof e=="object"}function Ne(e){return typeof e=="string"}function Me(e){return typeof e>"u"}function je(e){return e.type==="Failure"}function _e(e){return e.type==="Success"}var{Deno:C}=globalThis,N=typeof C?.noColor=="boolean"?C.noColor:!1,M=!N;function b(e,t){return{open:`\x1B[${e.join(";")}m`,close:`\x1B[${t}m`,regexp:new RegExp(`\\x1b\\[${t}m`,"g")}}function v(e,t){return M?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}function f(e){return v(e,b([0],0))}function L(e){return v(e,b([1],22))}function S(e){return v(e,b([2],22))}var Ge=new RegExp(["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TXZcf-nq-uy=><~]))"].join("|"),"g");var _=new Date,d=(i=>(i[i.CRITICAL=0]="CRITICAL",i[i.ERROR=1]="ERROR",i[i.WARN=2]="WARN",i[i.INFO=3]="INFO",i[i.DEBUG=4]="DEBUG",i))(d||{}),O={0:"\u{1F4A5}",1:"\u{1F534}",2:"\u{1F7E1}",3:"\u{1F535}",4:"\u{1F7E3}"},$={4:S,3:f,2:f,1:L,0:L};function Je(e){for(let t of Object.keys(d))if(isNaN(Number(t))!==!1&&t.localeCompare(e,void 0,{sensitivity:"accent"})===0)return d[t]}function G({message:e}){return String(e)}function w(e){return JSON.stringify({timestamp:e.date.toISOString(),level:d[e.level],message:e.message,extra:e.extra})}function P(e){function t(s,l){return[Math.floor(s/l),s%l]}function r(){let s,l=e.date.valueOf()-_.valueOf();[l,s]=t(l,1e3);let[F,B]=t(l,60);return`${F.toString().padStart(4,"0")}:${B.toString().padStart(2,"0")}.${s.toString().padStart(4,"0")}`}function n(){return e.extra===void 0?"":typeof Deno=="object"?" "+Deno.inspect(e.extra,{compact:!1,colors:!0,trailingComma:!0}).trimStart():" "+JSON.stringify(e.extra)}let a=O[e.level],i=e.logger.name!==void 0?`@${e.logger}`:"";return`${f(r())}${i} ${a} ${$[e.level](String(e.message))}${n()}`}function J(e){let t=`[${e.date.toISOString()}]`,r=`[${d[e.level]}]`,n=e.logger.name!==void 0?`[${e.logger.name}] `:"",a=O[e.level];return`${t} ${a} ${r.padEnd(7," ")} ${n}${e.message}`}function W(){return typeof Deno=="object"&&Deno.stdout.isTerminal()}var m=class{static sparse=G;static json=w;static pretty=P;static structured=J;static default=W()?P:w;constructor(){}},y=class{formatter;consoleObject;filter;constructor(t=m.default,r=4,n=console){this.filter=r,this.formatter=t,this.consoleObject=n}handle(t){let r=this.formatter(t);switch(t.level){case 1:this.consoleObject.error(r);break;case 2:this.consoleObject.warn(r);break;case 3:this.consoleObject.info(r);break;case 4:this.consoleObject.debug(r);break}}},A=class extends y{handle(t){let r=this.formatter(t),n=t.extra!==void 0?[r,t.extra]:[r];switch(t.level){case 0:case 1:this.consoleObject.error(...n);break;case 2:this.consoleObject.warn(...n);break;case 3:this.consoleObject.info(...n);break;case 4:this.consoleObject.debug(...n);break}}},V=class{formatter;cb;filter;constructor(t,r=m.default,n=4){this.cb=t,this.formatter=r,this.filter=n}handle(t){let r=this.formatter(t);this.cb(r,t)}},c=class{#e;sinks;filter;parent;get name(){return this.#e}constructor(t,r=void 0,n=[],a=void 0){this.#e=r,this.sinks=n,this.filter=t,this.parent=a}log(t,r,n=void 0){let i={date:new Date,level:t,logger:this,message:r,extra:n};this.filter<t||this.insert(i)}insert(t){if(!(this.filter<t.level)){for(let r of this.sinks)r.filter>=t.level&&r.handle(t);this.parent!==void 0&&this.parent.insert(t)}}error=this.log.bind(this,1);warn=this.log.bind(this,2);info=this.log.bind(this,3);debug=this.log.bind(this,4)},p=new c(3,void 0,[new y]),We=c.prototype.log.bind(p,1),He=c.prototype.log.bind(p,2),ze=c.prototype.log.bind(p,3),Ze=c.prototype.log.bind(p,4),qe=c.prototype.log.bind(p);export{Y as APM_DEFAULTS,D as Backend,z as CONNECTION_STATS_INITIAL,V as CallbackSink,y as ConsoleSink,m as Formatter,p as GLOBAL_LOGGER,A as InteractiveConsoleSink,Z as JITTER_STATS_INITIAL,d as LogLevel,O as LogSymbols,c as Logger,H as MinDBFS,k as Selector,T as Strand,q as VAD_DEFAULTS,R as VideoCodec,Re as abortableSleep,g as assert,Ze as debug,We as error,Pe as extendUrl,h as fail,u as failure,le as find,te as fromBase64,re as fromBase64Url,se as fromBytes,Ve as generateUUID,ze as info,pe as isAudioCapable,I as isBlinkBrowser,fe as isElectronBrowser,je as isFailure,me as isFirefoxBrowser,De as isFunction,Ee as isNull,Ie as isNumber,Ue as isObject,Be as isProperty,ye as isSafariBrowser,ge as isSharedArrayBufferCapable,Ne as isString,_e as isSuccess,Me as isUndefined,qe as log,ke as nextTick,we as normalizeUrl,he as sleep,o as success,ie as toBytes,be as toRaw,Je as tryParseLogLevel,K as unwrap,x as unwrapOr,Oe as validateUUID,He as warn};
package/esm/zod/mod.js CHANGED
@@ -1 +1 @@
1
- import*as r from"zod";export{r as zod};
1
+ export*from"zod";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@4players/odin-common",
3
- "version": "9.5.1",
3
+ "version": "10.0.0",
4
4
  "description": "Commonly used type definitions and utility functions across ODIN web projects",
5
5
  "author": "Josho Bleicker <josho.bleicker@4players.io> (https://www.4players.io)",
6
6
  "homepage": "https://www.4players.io",
package/plugin/api.d.ts CHANGED
@@ -3,16 +3,16 @@ export declare namespace Backend {
3
3
  type UID = string;
4
4
  type OnStatusChanged = (status: 'started' | 'stopped') => void;
5
5
  type OnEvent = (method: string, properties: unknown) => void;
6
- type Version = '8';
6
+ type Version = '9';
7
7
  type Transport = 'H3' | 'WebRTC';
8
8
  interface Plugin {
9
9
  readonly version: Version;
10
10
  readonly playbackVolume: PlaybackVolume;
11
11
  readonly supportedTransports: Transport[];
12
12
  joinRoom(parameters: JoinRoomParameters): Room;
13
- createAudioPlayback(parameters: CreateAudioPlaybackParameters): Promise<AudioPlayback>;
14
13
  createAudioCapture(parameters: CreateAudioCaptureParameters): Promise<AudioCapture>;
15
- createVideoCapture(ms: MediaStream, options?: VideoInputOptions): Promise<VideoCapture>;
14
+ createAudioPlayback(parameters: CreateAudioPlaybackParameters): Promise<AudioPlayback>;
15
+ createVideoCapture(ms: MediaStream, parameters?: CreateVideoCaptureParameters): Promise<VideoCapture>;
16
16
  createVideoPlayback(parameters: CreateVideoPlaybackParameters): Promise<VideoPlayback>;
17
17
  enumerateDevices(): Promise<Array<Device>>;
18
18
  setOutputVolume(volume: PlaybackVolume): void;
@@ -27,7 +27,7 @@ export declare namespace Backend {
27
27
  }
28
28
  interface DeviceParameters {
29
29
  readonly device?: Device;
30
- onStatusChanged?: OnStatusChanged;
30
+ readonly onStatusChanged?: OnStatusChanged;
31
31
  }
32
32
  interface Activity {
33
33
  isSilent: boolean;
@@ -59,13 +59,13 @@ export declare namespace Backend {
59
59
  readonly userData?: Uint8Array;
60
60
  readonly position?: [number, number, number];
61
61
  readonly cipher?: SetupCipherSettings;
62
- readonly onEvent: OnEvent;
63
62
  readonly transport?: Transport;
63
+ readonly onEvent: OnEvent;
64
64
  }
65
65
  interface Room {
66
66
  readonly token: string;
67
67
  readonly cipher: Cipher | undefined;
68
- connectionStats: ConnectionStats;
68
+ readonly connectionStats: ConnectionStats;
69
69
  request(method: string, properties: unknown): Promise<unknown>;
70
70
  link(media: Media): Promise<void>;
71
71
  unlink(media: Media): void;
@@ -84,14 +84,13 @@ export declare namespace Backend {
84
84
  readonly customType?: string;
85
85
  }
86
86
  interface CreateVideoPlaybackParameters {
87
- id: string;
88
87
  readonly uid: UID;
89
88
  readonly customType?: string;
90
89
  }
91
90
  interface AudioPlayback extends AudioMedia {
92
- readonly volume: PlaybackVolume;
93
91
  readonly uid: UID;
94
- jitterStats: JitterStats;
92
+ readonly volume: PlaybackVolume;
93
+ readonly jitterStats: JitterStats;
95
94
  setVolume(value: PlaybackVolume): void;
96
95
  }
97
96
  interface CreateAudioCaptureParameters extends Partial<DeviceParameters> {
@@ -100,6 +99,16 @@ export declare namespace Backend {
100
99
  readonly apm?: ApmConfig;
101
100
  readonly customType?: string;
102
101
  }
102
+ interface CreateVideoCaptureParameters {
103
+ readonly codec?: 'H264' | 'AV1' | 'VP8' | 'VP9';
104
+ readonly maxBitrate?: number;
105
+ readonly maxFramerate?: number;
106
+ readonly scaleResolutionDownBy?: number;
107
+ readonly degradationPreference?: 'balanced' | 'maintain-framerate' | 'maintain-resolution';
108
+ readonly volume?: CaptureVolume;
109
+ readonly vad?: VadConfig;
110
+ readonly customType?: string;
111
+ }
103
112
  interface AudioCapture extends AudioMedia {
104
113
  readonly volume: CaptureVolume;
105
114
  readonly vad?: VadConfig;
@@ -121,7 +130,6 @@ export declare namespace Backend {
121
130
  audioCapture?: AudioCapture;
122
131
  }
123
132
  interface VideoPlayback extends Media {
124
- readonly id: string;
125
133
  readonly uid: UID;
126
134
  readonly mediaStream?: MediaStream;
127
135
  }
@@ -159,12 +167,6 @@ export declare namespace Backend {
159
167
  configure(settings: CipherSettings): void;
160
168
  getPeerStatus(peerId: number): PeerCipherStatus;
161
169
  }
162
- type VideoInputOptions = {
163
- codec?: 'H264' | 'VP8' | 'VP9';
164
- customType?: string;
165
- vad?: VadConfig;
166
- volume?: CaptureVolume;
167
- };
168
170
  }
169
171
  export declare const CONNECTION_STATS_INITIAL: Backend.ConnectionStats;
170
172
  export declare const JITTER_STATS_INITIAL: Backend.JitterStats;
package/utility/log.d.ts CHANGED
@@ -15,7 +15,14 @@ export interface LogSink {
15
15
  }
16
16
  export type ConsoleObject = Pick<typeof console, 'error' | 'warn' | 'info' | 'debug'>;
17
17
  export type LogFormatter = (record: LogRecord) => string;
18
- export declare const Formatter: Record<string, LogFormatter>;
18
+ export declare class Formatter {
19
+ static readonly sparse: LogFormatter;
20
+ static readonly json: LogFormatter;
21
+ static readonly pretty: LogFormatter;
22
+ static readonly structured: LogFormatter;
23
+ static readonly default: LogFormatter;
24
+ private constructor();
25
+ }
19
26
  export declare class ConsoleSink implements LogSink {
20
27
  protected formatter: LogFormatter;
21
28
  protected consoleObject: ConsoleObject;
package/zod/mod.d.ts CHANGED
@@ -3,4 +3,4 @@
3
3
  *
4
4
  * @module
5
5
  */
6
- export * as zod from 'zod';
6
+ export * from 'zod';