@4players/odin-common 9.4.0 → 9.5.1

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.
@@ -4,6 +4,7 @@ export declare const MediaIdSchema: z.ZodNumber;
4
4
  export type MediaAudioProperties = {
5
5
  kind?: 'audio';
6
6
  uid?: string;
7
+ ref?: string;
7
8
  customType?: string;
8
9
  };
9
10
  export declare const MediaAudioPropertiesSchema: z.ZodType<MediaAudioProperties>;
@@ -11,8 +12,8 @@ export type MediaVideoProperties = {
11
12
  kind: 'video';
12
13
  codec?: string;
13
14
  uid?: string;
15
+ ref?: string;
14
16
  customType?: string;
15
- id?: string;
16
17
  };
17
18
  export declare const MediaVideoPropertiesSchema: z.ZodType<MediaVideoProperties>;
18
19
  export type MediaProperties = MediaAudioProperties | MediaVideoProperties;
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 $=(o,i)=>{for(var l in i)C(o,l,{get:i[l],enumerable:!0})},V=(o,i,l,d)=>{if(i&&typeof i=="object"||typeof i=="function")for(let m of X(i))!Y.call(o,m)&&m!==l&&C(o,m,{get:()=>i[m],enumerable:!(d=Q(i,m))||d.enumerable});return o};var ee=o=>V(C({},"__esModule",{value:!0}),o);var ue={};$(ue,{ByteArraySchema:()=>a,JsonSchema:()=>f,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:()=>oe,TokenSubjectSchema:()=>j,WebRtcUpdateSchema:()=>h,oneOrMany:()=>b,parseCommand:()=>ne,parseNotification:()=>de,parseRequest:()=>ie,parseResponse:()=>se});module.exports=ee(ue);var c=require("zod");var n=require("zod"),a=n.z.custom(o=>o instanceof Uint8Array),f=n.z.lazy(()=>n.z.union([n.z.union([n.z.string(),n.z.number(),n.z.boolean(),n.z.null()]),n.z.array(f),n.z.record(n.z.string(),f)])),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 b(o){return n.z.union([o.transform(i=>[i]),n.z.array(o)])}var Z=c.z.enum(["sfu","gateway"]),j=c.z.enum(["connect","roomclose","roomupdate","roombanclient","roomsendmessage"]),oe=c.z.object({uid:c.z.string(),cid:c.z.string().optional(),rid:b(c.z.string()).refine(o=>o.length>=1,{message:"missing rid"}),nsp:c.z.string().optional(),adr:c.z.string().optional(),aud:b(Z).optional(),sub:b(j).optional(),exp:c.z.number().optional(),nbf:c.z.number().optional(),ups:c.z.string().optional(),tgs:b(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(),customType:u.z.string().optional()}),v=u.z.object({kind:u.z.literal("video"),codec:u.z.string().optional(),uid:u.z.string().optional(),customType:u.z.string().optional(),id: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(),f),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 r=require("zod");function q(o,i){o||re(i)}function re(o){throw new Error(o)}function ne(o,i,l){let d=l[o];if(!d)return;let m=d.request.safeParse(i);return m.success?{name:o,request:m.data}:void 0}function ie(o,i,l){let d=l[o];return q(d!==void 0,"unknown command schema"),d.request.parse(i)}function se(o,i,l){let d=l[o]?.response.safeParse(i);return d?.success?d.data:void 0}var ae={Hello:{request:r.z.object({stream:r.z.literal("main")}),response:r.z.null()},JoinRoom:{request:r.z.object({token:r.z.string(),room_id:P,user_data:a,position:S}),response:r.z.object({peer_id:y,stream_id:r.z.number().optional(),token:r.z.string().optional()})},WebRtcUpdate:{request:h,response:r.z.null()},RequestReconnectToken:{request:r.z.object({peer_id:y.optional()}),response:r.z.string()},Ping:{request:r.z.object({}),response:r.z.null()}},pe={Hello:{request:r.z.object({stream:r.z.literal("room"),token:r.z.string(),room_id:r.z.string(),user_data:a,position:S}),response:r.z.null()},UpdatePeer:{request:r.z.object({user_data:a}),response:r.z.null()},StartMedia:{request:r.z.object({media_id:g,properties:_}),response:r.z.null()},StopMedia:{request:r.z.object({media_id:g}),response:r.z.null()},PauseMedia:{request:r.z.object({media_id:g}),response:r.z.null()},ResumeMedia:{request:r.z.object({media_id:g}),response:r.z.null()},SetPeerPosition:{request:r.z.object({position:S}),response:r.z.null()},SendMessage:{request:r.z.object({target_peer_ids:r.z.array(y).optional(),message:a}),response:r.z.null()}};function de(o,i,l){let d=l[o];if(!d)return;let m=d.safeParse(i);return m.success?{name:o,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 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});
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 Ee={};j(Ee,{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:()=>Ne,Selector:()=>L,Strand:()=>h,VAD_DEFAULTS:()=>W,VideoCodec:()=>v,abortableSleep:()=>ae,assert:()=>g,debug:()=>Be,error:()=>Oe,extendUrl:()=>le,fail:()=>b,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:()=>xe,isNumber:()=>ye,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:()=>m,validateUUID:()=>ge,warn:()=>Fe});module.exports=$(Ee);var Ne=-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 nt=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?"":"Deno"in globalThis?" "+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}`}var P={sparse:Ae,json:D,pretty:B,structured:Ve,default:"Deno"in globalThis&&Deno.stdout.isTerminal()?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]),Oe=c.prototype.log.bind(p,1),Fe=c.prototype.log.bind(p,2),De=c.prototype.log.bind(p,3),Be=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});
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});
package/esm/api/mod.js CHANGED
@@ -1 +1 @@
1
- import{z as d}from"zod";import{z as r}from"zod";var s=r.custom(n=>n instanceof Uint8Array),f=r.lazy(()=>r.union([r.union([r.string(),r.number(),r.boolean(),r.null()]),r.array(f),r.record(r.string(),f)])),$=r.union([r.tuple([r.literal(0),r.number(),r.string(),r.unknown()]),r.tuple([r.literal(1),r.number(),r.nullable(r.string()),r.unknown()]),r.tuple([r.literal(2),r.string(),r.unknown()])]);function b(n){return r.union([n.transform(p=>[p]),r.array(n)])}var H=d.enum(["sfu","gateway"]),W=d.enum(["connect","roomclose","roomupdate","roombanclient","roomsendmessage"]),oe=d.object({uid:d.string(),cid:d.string().optional(),rid:b(d.string()).refine(n=>n.length>=1,{message:"missing rid"}),nsp:d.string().optional(),adr:d.string().optional(),aud:b(H).optional(),sub:b(W).optional(),exp:d.number().optional(),nbf:d.number().optional(),ups:d.string().optional(),tgs:b(d.string()).optional(),tsp:d.number().optional(),internal:d.object({server:d.string().optional()}).optional()});import{z as e}from"zod";import{z as c}from"zod";var l=c.number(),E=c.object({kind:c.literal("audio").optional(),uid:c.string().optional(),customType:c.string().optional()}),B=c.object({kind:c.literal("video"),codec:c.string().optional(),uid:c.string().optional(),customType:c.string().optional(),id:c.string().optional()}),_=c.union([E,B]),k=c.object({id:l,properties:_,paused:c.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(),f),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 o}from"zod";function R(n,p){n||G(p)}function G(n){throw new Error(n)}function je(n,p,g){let m=g[n];if(!m)return;let y=m.request.safeParse(p);return y.success?{name:n,request:y.data}:void 0}function Ue(n,p,g){let m=g[n];return R(m!==void 0,"unknown command schema"),m.request.parse(p)}function ve(n,p,g){let m=g[n]?.response.safeParse(p);return m?.success?m.data:void 0}var Ae={Hello:{request:o.object({stream:o.literal("main")}),response:o.null()},JoinRoom:{request:o.object({token:o.string(),room_id:P,user_data:s,position:S}),response:o.object({peer_id:u,stream_id:o.number().optional(),token:o.string().optional()})},WebRtcUpdate:{request:h,response:o.null()},RequestReconnectToken:{request:o.object({peer_id:u.optional()}),response:o.string()},Ping:{request:o.object({}),response:o.null()}},Ie={Hello:{request:o.object({stream:o.literal("room"),token:o.string(),room_id:o.string(),user_data:s,position:S}),response:o.null()},UpdatePeer:{request:o.object({user_data:s}),response:o.null()},StartMedia:{request:o.object({media_id:l,properties:_}),response:o.null()},StopMedia:{request:o.object({media_id:l}),response:o.null()},PauseMedia:{request:o.object({media_id:l}),response:o.null()},ResumeMedia:{request:o.object({media_id:l}),response:o.null()},SetPeerPosition:{request:o.object({position:S}),response:o.null()},SendMessage:{request:o.object({target_peer_ids:o.array(u).optional(),message:s}),response:o.null()}};function Fe(n,p,g){let m=g[n];if(!m)return;let y=m.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,f 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,oe as TokenClaimsSchema,W as TokenSubjectSchema,h as WebRtcUpdateSchema,b as oneOrMany,je as parseCommand,Fe as parseNotification,Ue as parseRequest,ve as parseResponse};
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};
package/esm/mod.js CHANGED
@@ -1 +1 @@
1
- var W=-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 H={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},Z={voiceActivity:{attackThreshold:.9,releaseThreshold:.8},volumeGate:{attackThreshold:-30,releaseThreshold:-40}},q={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 X(e){return e.type==="Failure"&&L(e.reason),e.value}function x(e,t){return e.type==="Success"?e.value:t}function ee(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 te(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 oe(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 ie(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 ce(e,t){for(let r of e)if(t(r))return r}function de(){return typeof AudioContext<"u"&&typeof Worker<"u"}function pe(){return typeof SharedArrayBuffer<"u"}function E(){return/(apple)?webkit\/537\.36/i.test(globalThis.navigator.userAgent)}function ge(){return/electron/i.test(globalThis.navigator.userAgent)}function fe(){return/firefox|iceweasel|fxios/i.test(globalThis.navigator.userAgent)}function me(){return E()?!1:/safari|applewebkit/i.test(globalThis.navigator.userAgent)}function ye(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 Le(e,t){return e<=0?Promise.resolve(t):new Promise(r=>setTimeout(()=>r(t),e))}function he(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 Re(){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 Se(e){let t=e.trim();e.indexOf("://")===-1&&(t=`https://${t}`);try{return o(new URL(t))}catch(r){return u(String(r))}}function we(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 Ae(){return crypto.randomUUID()}function Ve(e){return U.test(e)}function Fe(e,t){return t in e}function De(e){return typeof e=="function"}function Be(e){return typeof e=="object"&&e===null}function Ie(e){return typeof e=="number"}function Ee(e){return typeof e=="object"}function Ue(e){return typeof e=="string"}function Ne(e){return typeof e>"u"}function Me(e){return e.type==="Failure"}function je(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 $e=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 Ge(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?"":"Deno"in globalThis?" "+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}`}var O={sparse:G,json:S,pretty:w,structured:J,default:"Deno"in globalThis&&Deno.stdout.isTerminal()?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]),Je=c.prototype.log.bind(p,1),We=c.prototype.log.bind(p,2),He=c.prototype.log.bind(p,3),ze=c.prototype.log.bind(p,4),Ze=c.prototype.log.bind(p);export{q as APM_DEFAULTS,B as Backend,H 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,W as MinDBFS,R as Selector,k as Strand,Z as VAD_DEFAULTS,h as VideoCodec,he as abortableSleep,g as assert,ze as debug,Je as error,we as extendUrl,L as fail,u as failure,ce as find,ee as fromBase64,te as fromBase64Url,ie as fromBytes,Ae as generateUUID,He as info,de as isAudioCapable,E as isBlinkBrowser,ge as isElectronBrowser,Me as isFailure,fe as isFirefoxBrowser,De as isFunction,Be as isNull,Ie as isNumber,Ee as isObject,Fe as isProperty,me as isSafariBrowser,pe as isSharedArrayBufferCapable,Ue as isString,je as isSuccess,Ne as isUndefined,Ze as log,Re as nextTick,Se as normalizeUrl,Le as sleep,o as success,oe as toBytes,ye as toRaw,Ge as tryParseLogLevel,X as unwrap,x as unwrapOr,Ve as validateUUID,We as warn};
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};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@4players/odin-common",
3
- "version": "9.4.0",
3
+ "version": "9.5.1",
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",