@avaturn-live/web-sdk 0.4.8 → 0.5.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/dist/main.cjs +1 -1
- package/dist/main.js +7 -11
- package/package.json +1 -1
package/dist/main.cjs
CHANGED
|
@@ -75,4 +75,4 @@ void main() {
|
|
|
75
75
|
// the same data for our texcoords.
|
|
76
76
|
v_texCoord = a_position;
|
|
77
77
|
}
|
|
78
|
-
`;function bo(t,e,n){const r=t.createShader(n);if(!r)throw Error("Unable to create shader");if(t.shaderSource(r,e),t.compileShader(r),!t.getShaderParameter(r,t.COMPILE_STATUS)){const i=t.getShaderInfoLog(r);throw t.deleteShader(r),Error(i||"unknown error")}return r}function yf(t,e){const n=t.createProgram();if(!n)throw Error("Unable to create program");for(const r of e)t.attachShader(n,r);if(t.linkProgram(n),!t.getProgramParameter(n,t.LINK_STATUS)){const r=t.getProgramInfoLog(n);throw t.deleteProgram(n),Error(r||"unknown error")}return n}const La=new WeakMap;function bf(t){const e={antialias:!1,powerPreference:"low-power",depth:!1,premultipliedAlpha:!0},n=t.getContext("webgl2",e)??t.getContext("webgl",e);if(!n)throw Error("Couldn't create GL context");const r=bo(n,gf,n.FRAGMENT_SHADER),i=bo(n,vf,n.VERTEX_SHADER),s=yf(n,[r,i]);n.useProgram(s);const a=n.getAttribLocation(s,"a_position"),c=n.getUniformLocation(s,"u_frame");n.uniform1i(c,0);const l=n.getUniformLocation(s,"u_matrix");La.set(n,n.getUniformLocation(s,"u_premultipliedAlpha")),_f(n);const f=n.createBuffer(),h=new Float32Array([0,0,1,0,0,1,0,1,1,0,1,1]);n.bindBuffer(n.ARRAY_BUFFER,f),n.bufferData(n.ARRAY_BUFFER,h,n.STATIC_DRAW),n.enableVertexAttribArray(a),n.vertexAttribPointer(a,2,n.FLOAT,!1,0,0),n.uniformMatrix3fv(l,!1,[2,0,0,0,-2,0,-1,1,1]);const v=n.createTexture();return n.bindTexture(n.TEXTURE_2D,v),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST),n}function _f(t,e){t.uniform1f(La.get(t),0)}function wf(t,e){const n=t.canvas,r=e.videoWidth,i=Math.floor(e.videoHeight/2);(n.width!==r||n.height!==i)&&(n.width=r,n.height=i,t.viewport(0,0,r,i)),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,e),t.drawArrays(t.TRIANGLES,0,6)}var Rr;(function(t){t.Send="conversation_engine.external.message.send"})(Rr||(Rr={}));const Ra="https://api.avaturn.live";class Da{constructor(e,n){K(this,"inited",!1);K(this,"mediaStream");K(this,"session_id","");K(this,"sessionData",null);K(this,"uiConfig",{background:{transparent:!0}});K(this,"config");K(this,"shadow",null);K(this,"frameHandle",0);K(this,"rootElement");K(this,"abortController");K(this,"timeout",0);K(this,"keepAlive",!1);K(this,"fetcher");K(this,"call");K(this,"handlers",{});K(this,"lastLocalAudioState",null);K(this,"lastLocalMicState",null);if(typeof window>"u")throw new Error("Unfortunately, SDK only works on the client side.");const[r,i]=this.parseConfig(e,n),{apiHost:s=Ra,sessionToken:a,preloadBundle:c,preconnect:l,keepAlive:f}=this.config=r;this.rootElement=i,this.abortController=new AbortController,this.fetcher=G.create({baseURL:`${s}/_sdk/v0`,headers:{"X-Session-Token":a},signal:this.abortController.signal}),this.keepAlive=!!f,this.mediaStream=new MediaStream,l&&this.fetcher.post("/sessions/start_stream")}parseConfig(e,n){try{let r,i;if(e instanceof HTMLElement){if(r=e,!n)throw new Error("Options are required when providing a DOM element.");i=n}else i=e;return typeof i.immediatelyJoin>"u"&&(i.immediatelyJoin=!0),typeof i.audioSource>"u"&&(i.audioSource=!1),typeof i.startAudioOff>"u"&&(i.startAudioOff=!i.audioSource),[i,r]}catch{throw new Error("Filed to parse configuration object. Bad configuration!")}}dispatch(e,n){var r,i,s;(r=this.handlers[e])==null||r.forEach(a=>a(n)),this.handlers.event&&((i=this.handlers.event)==null?void 0:i.length)>0&&((s=this.handlers.event)==null||s.forEach(a=>a({event:e,value:n})))}drawUI(){if(!this.rootElement||!this.inited)return;if(!this.shadow){const a=document.createElement("div");a.style.width="100%",a.style.height="100%",a.style.position="relative",a.style.overflow="hidden",this.rootElement.appendChild(a),this.shadow=a.attachShadow({mode:"closed"})}const e=this.shadow;this.shadow.innerHTML="";const n=document.createElement("video");if(n.srcObject=this.mediaStream,n.autoplay=!0,n.style.position="absolute",n.style.opacity="0",n.style.objectFit="cover",n.style.pointerEvents="none",n.playsInline=!0,e.appendChild(n),!this.uiConfig.background.transparent){n.style.width="100%",n.style.height="100%",n.style.opacity="1",n.style.pointerEvents="all";return}const r=document.createElement("canvas");r.style.width="100%",r.style.height="100%",r.style.objectFit="cover",e.appendChild(r);const i=bf(r),s=()=>{wf(i,n),this.frameHandle=requestAnimationFrame(s)};s()}startIdleTimeout(){this.timeout=setTimeout(()=>{var e;(e=this.handlers.idle)==null||e.forEach(n=>n({data:null})),this.keepAlive||(console.info("[SDK_IDLE]: Stream was terminated due to inactivity"),this.dispose())},5*60*1e3)}restartIdleTimeout(){clearTimeout(this.timeout),this.startIdleTimeout()}updateConfig(){this.call.sendAppMessage({type:Rr.Send,data:{prompt_update:!0}})}toggleLocalAudio(e){var i,s,a;if(!this.call)throw new Error("Session not initialized");const n=(i=this.call.participants())==null?void 0:i.local;if(!((a=(s=n==null?void 0:n.tracks)==null?void 0:s.audio)!=null&&a.persistentTrack)){console.warn("[SDK_WARN]: No local audio track available. Was audioSource enabled?");return}const r=this.call.localAudio();this.call.setLocalAudio(e??!r)}setOutputDevice(e){if(!this.call)throw new Error("Session not initialized");return!e.outputDeviceId||typeof e.outputDeviceId!="string"?this.call.getInputDevices():this.call.setOutputDeviceAsync({outputDeviceId:e.outputDeviceId})}setInputDevices(e){return this.call.setInputDevicesAsync(e)}requestMediaDevices(){return this.call.enumerateDevices()}async cancelAllTasks(){const{data:e}=await this.fetcher.post("/sessions/cancel_all_speech_tasks");return e}async patchConfig(e){await this.fetcher.patch("/sessions/config",e)}async changeVoice(e){await this.patchConfig({conversation_engine:{type:"text-echo",tts:e}})}applyEventHandlers(){var e,n;(e=this.call)==null||e.on("participant-updated",({participant:r})=>{var a,c;if(r.local){const l=this.call.localAudio(),f=r.tracks.audio.state;this.lastLocalAudioState!==l&&(this.lastLocalAudioState=l,this.dispatch("local_audio_change",l)),this.lastLocalMicState!==f&&(this.lastLocalMicState=f,this.dispatch("local_mic_state_change",f))}if(!r.owner)return;const{video:i,audio:s}=r.tracks;i.persistentTrack&&(this.mediaStream.getVideoTracks().forEach(l=>this.mediaStream.removeTrack(l)),(a=this.mediaStream)==null||a.addTrack(i.persistentTrack)),s.persistentTrack&&(this.mediaStream.getAudioTracks().forEach(l=>this.mediaStream.removeTrack(l)),(c=this.mediaStream)==null||c.addTrack(s.persistentTrack)),i.persistentTrack&&!this.inited&&(this.inited=!0,this.drawUI(),this.dispatch("init",{data:null}))}),this.call.on("error",r=>{console.error("[SDK_ERROR]: ",r)}),(n=this.call)==null||n.on("app-message",({data:r})=>{var i;this.restartIdleTimeout(),r.type&&((i=this.handlers[r.type])==null||i.forEach(s=>s(r)),this.handlers.event&&this.handlers.event.length>0&&this.handlers.event.forEach(s=>s({event:r.type,value:r})))})}attachDOMNode(e){cancelAnimationFrame(this.frameHandle),this.rootElement&&(this.rootElement.innerHTML=""),this.rootElement=e,this.shadow=null,this.drawUI()}async init(){if(this.inited)return;this.call=Du.createCallObject({subscribeToTracksAutomatically:!0,videoSource:!1,audioSource:this.config.audioSource,dailyConfig:{avoidEval:!0}}),this.config.preloadBundle&&this.call.load(),this.applyEventHandlers();const e=new Promise(r=>{this.on("init",()=>r())});this.startIdleTimeout();const{data:n}=await this.fetcher.get("/sessions");return this.session_id=n.id,this.sessionData=n,this.uiConfig.background.transparent=n.session_config.uses_stacked_alpha,!this.abortController.signal.aborted&&this.config.immediatelyJoin&&await this.join({startAudioOff:this.config.startAudioOff}),e}async join(e){if(!this.sessionData)throw new Error("Session not initialized");await this.call.join({token:this.sessionData.limited_access_token,url:this.sessionData.room_url,...e}).catch(n=>{console.log("join err: ",n)})}async task(e){if(!this.session_id)throw new Error("It seems that the session is not initialized.");this.restartIdleTimeout();const{data:n}=await this.fetcher.post("/sessions/tasks",{text:e});return n}on(e,n){this.handlers[e]||(this.handlers[e]=[]),this.handlers[e].push(n)}off(e,n){this.handlers[e]&&(this.handlers[e]=this.handlers[e].filter(r=>r!==n))}async dispose(){var e;this.inited=!1,this.mediaStream.getTracks().forEach(n=>n.stop()),this.mediaStream=new MediaStream,this.lastLocalAudioState=null,this.lastLocalMicState=null,this.timeout&&clearTimeout(this.timeout),this.frameHandle&&cancelAnimationFrame(this.frameHandle),await((e=this.call)==null?void 0:e.destroy()),this.abortController.abort(),this.abortController=new AbortController,this.fetcher.defaults.signal=this.abortController.signal}}class Sf extends Da{constructor(n){super(n);K(this,"assistantSessionToken","");K(this,"assistantFetcher");K(this,"sessionToken","");this.assistantSessionToken=n.assistantSessionToken,this.sessionToken=n.sessionToken,this.assistantFetcher=G.create({baseURL:`${n.apiHost||Ra}/`,headers:{Authorization:`Bearer ${n.assistantSessionToken}`},signal:this.abortController.signal})}async task(n,r){if(!this.session_id)throw new Error("It seems that the session is not initialized.");this.restartIdleTimeout();const{data:i}=await this.assistantFetcher.post("/assistants/tasks",{text:n});return i}async dispose(){var n;this.inited=!1,this.mediaStream.getTracks().forEach(r=>r.stop()),this.mediaStream=new MediaStream,this.lastLocalAudioState=null,this.lastLocalMicState=null,this.timeout&&clearTimeout(this.timeout),this.frameHandle&&cancelAnimationFrame(this.frameHandle),await((n=this.call)==null?void 0:n.destroy()),await this.assistantFetcher.delete("/assistants/sessions"),this.abortController.abort(),this.abortController=new AbortController,this.fetcher.defaults.signal=this.abortController.signal,this.assistantFetcher.defaults.signal=this.abortController.signal}}exports.AvaturnAssistantHead=Sf;exports.AvaturnHead=Da;
|
|
78
|
+
`;function bo(t,e,n){const r=t.createShader(n);if(!r)throw Error("Unable to create shader");if(t.shaderSource(r,e),t.compileShader(r),!t.getShaderParameter(r,t.COMPILE_STATUS)){const i=t.getShaderInfoLog(r);throw t.deleteShader(r),Error(i||"unknown error")}return r}function yf(t,e){const n=t.createProgram();if(!n)throw Error("Unable to create program");for(const r of e)t.attachShader(n,r);if(t.linkProgram(n),!t.getProgramParameter(n,t.LINK_STATUS)){const r=t.getProgramInfoLog(n);throw t.deleteProgram(n),Error(r||"unknown error")}return n}const La=new WeakMap;function bf(t){const e={antialias:!1,powerPreference:"low-power",depth:!1,premultipliedAlpha:!0},n=t.getContext("webgl2",e)??t.getContext("webgl",e);if(!n)throw Error("Couldn't create GL context");const r=bo(n,gf,n.FRAGMENT_SHADER),i=bo(n,vf,n.VERTEX_SHADER),s=yf(n,[r,i]);n.useProgram(s);const a=n.getAttribLocation(s,"a_position"),c=n.getUniformLocation(s,"u_frame");n.uniform1i(c,0);const l=n.getUniformLocation(s,"u_matrix");La.set(n,n.getUniformLocation(s,"u_premultipliedAlpha")),_f(n);const f=n.createBuffer(),h=new Float32Array([0,0,1,0,0,1,0,1,1,0,1,1]);n.bindBuffer(n.ARRAY_BUFFER,f),n.bufferData(n.ARRAY_BUFFER,h,n.STATIC_DRAW),n.enableVertexAttribArray(a),n.vertexAttribPointer(a,2,n.FLOAT,!1,0,0),n.uniformMatrix3fv(l,!1,[2,0,0,0,-2,0,-1,1,1]);const v=n.createTexture();return n.bindTexture(n.TEXTURE_2D,v),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST),n}function _f(t,e){t.uniform1f(La.get(t),0)}function wf(t,e){const n=t.canvas,r=e.videoWidth,i=Math.floor(e.videoHeight/2);(n.width!==r||n.height!==i)&&(n.width=r,n.height=i,t.viewport(0,0,r,i)),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,e),t.drawArrays(t.TRIANGLES,0,6)}var Rr;(function(t){t.Send="conversation_engine.external.message.send"})(Rr||(Rr={}));const Ra="https://api.avaturn.live";class Da{constructor(e,n){K(this,"inited",!1);K(this,"mediaStream");K(this,"session_id","");K(this,"sessionData",null);K(this,"uiConfig",{background:{transparent:!0}});K(this,"config");K(this,"shadow",null);K(this,"frameHandle",0);K(this,"rootElement");K(this,"abortController");K(this,"timeout",0);K(this,"keepAlive",!1);K(this,"fetcher");K(this,"call");K(this,"handlers",{});K(this,"lastLocalAudioState",null);K(this,"lastLocalMicState",null);if(typeof window>"u")throw new Error("Unfortunately, SDK only works on the client side.");const[r,i]=this.parseConfig(e,n),{apiHost:s=Ra,sessionToken:a,preloadBundle:c,preconnect:l,keepAlive:f}=this.config=r;this.rootElement=i,this.abortController=new AbortController,this.fetcher=G.create({baseURL:`${s}/_sdk/v0`,headers:{"X-Session-Token":a},signal:this.abortController.signal}),this.keepAlive=!!f,this.mediaStream=new MediaStream,l&&this.fetcher.post("/sessions/start_stream")}parseConfig(e,n){try{let r,i;if(e instanceof HTMLElement){if(r=e,!n)throw new Error("Options are required when providing a DOM element.");i=n}else i=e;return typeof i.immediatelyJoin>"u"&&(i.immediatelyJoin=!0),typeof i.audioSource>"u"&&(i.audioSource=!1),typeof i.startAudioOff>"u"&&(i.startAudioOff=!i.audioSource),[i,r]}catch{throw new Error("Filed to parse configuration object. Bad configuration!")}}dispatch(e,n){var r,i,s;(r=this.handlers[e])==null||r.forEach(a=>a(n)),this.handlers.event&&((i=this.handlers.event)==null?void 0:i.length)>0&&((s=this.handlers.event)==null||s.forEach(a=>a({event:e,value:n})))}drawUI(){if(!this.rootElement||!this.inited)return;if(!this.shadow){const a=document.createElement("div");a.style.width="100%",a.style.height="100%",a.style.position="relative",a.style.overflow="hidden",this.rootElement.appendChild(a),this.shadow=a.attachShadow({mode:"closed"})}const e=this.shadow;this.shadow.innerHTML="";const n=document.createElement("video");if(n.srcObject=this.mediaStream,n.autoplay=!0,n.style.position="absolute",n.style.opacity="0",n.style.objectFit="cover",n.style.pointerEvents="none",n.playsInline=!0,e.appendChild(n),!this.uiConfig.background.transparent){n.style.width="100%",n.style.height="100%",n.style.opacity="1",n.style.pointerEvents="all";return}const r=document.createElement("canvas");r.style.width="100%",r.style.height="100%",r.style.objectFit="cover",e.appendChild(r);const i=bf(r),s=()=>{wf(i,n),this.frameHandle=requestAnimationFrame(s)};s()}startIdleTimeout(){this.timeout=setTimeout(()=>{var e;(e=this.handlers.idle)==null||e.forEach(n=>n({data:null})),this.keepAlive||(console.info("[SDK_IDLE]: Stream was terminated due to inactivity"),this.dispose())},5*60*1e3)}restartIdleTimeout(){clearTimeout(this.timeout),this.startIdleTimeout()}updateConfig(){this.call.sendAppMessage({type:Rr.Send,data:{prompt_update:!0}})}toggleLocalAudio(e){if(!this.call)throw new Error("Session not initialized");const n=this.call.localAudio();this.call.setLocalAudio(e??!n)}setOutputDevice(e){if(!this.call)throw new Error("Session not initialized");return!e.outputDeviceId||typeof e.outputDeviceId!="string"?this.call.getInputDevices():this.call.setOutputDeviceAsync({outputDeviceId:e.outputDeviceId})}setInputDevices(e){return this.call.setInputDevicesAsync(e)}requestMediaDevices(){return this.call.enumerateDevices()}async cancelAllTasks(){const{data:e}=await this.fetcher.post("/sessions/cancel_all_speech_tasks");return e}async patchConfig(e){await this.fetcher.patch("/sessions/config",e)}async changeVoice(e){await this.patchConfig({conversation_engine:{type:"text-echo",tts:e}})}applyEventHandlers(){var e,n;(e=this.call)==null||e.on("participant-updated",({participant:r})=>{var a,c;if(r.local){const l=this.call.localAudio(),f=r.tracks.audio.state;this.lastLocalAudioState!==l&&(this.lastLocalAudioState=l,this.dispatch("local_audio_change",l)),this.lastLocalMicState!==f&&(this.lastLocalMicState=f,this.dispatch("local_mic_state_change",f))}if(!r.owner)return;const{video:i,audio:s}=r.tracks;i.persistentTrack&&(this.mediaStream.getVideoTracks().forEach(l=>this.mediaStream.removeTrack(l)),(a=this.mediaStream)==null||a.addTrack(i.persistentTrack)),s.persistentTrack&&(this.mediaStream.getAudioTracks().forEach(l=>this.mediaStream.removeTrack(l)),(c=this.mediaStream)==null||c.addTrack(s.persistentTrack)),i.persistentTrack&&!this.inited&&(this.inited=!0,this.drawUI(),this.dispatch("init",{data:null}))}),this.call.on("error",r=>{console.error("[SDK_ERROR]: ",r)}),(n=this.call)==null||n.on("app-message",({data:r})=>{var i;this.restartIdleTimeout(),r.type&&((i=this.handlers[r.type])==null||i.forEach(s=>s(r)),this.handlers.event&&this.handlers.event.length>0&&this.handlers.event.forEach(s=>s({event:r.type,value:r})))})}attachDOMNode(e){cancelAnimationFrame(this.frameHandle),this.rootElement&&(this.rootElement.innerHTML=""),this.rootElement=e,this.shadow=null,this.drawUI()}async init(){if(this.inited)return;this.call=Du.createCallObject({subscribeToTracksAutomatically:!0,videoSource:!1,audioSource:this.config.audioSource,dailyConfig:{avoidEval:!0}}),this.config.preloadBundle&&this.call.load(),this.applyEventHandlers();const e=new Promise(r=>{this.on("init",()=>r())});this.startIdleTimeout();const{data:n}=await this.fetcher.get("/sessions");return this.session_id=n.id,this.sessionData=n,this.uiConfig.background.transparent=n.session_config.uses_stacked_alpha,!this.abortController.signal.aborted&&this.config.immediatelyJoin&&await this.join({startAudioOff:this.config.startAudioOff}),e}async join(e){if(!this.sessionData)throw new Error("Session not initialized");await this.call.join({url:this.sessionData.room_url,token:this.sessionData.limited_access_token,audioSource:this.config.audioSource,videoSource:!1,startAudioOff:e==null?void 0:e.startAudioOff}).catch(n=>{console.error("[SDK_ERROR]: join failed",n)})}async task(e){if(!this.session_id)throw new Error("It seems that the session is not initialized.");this.restartIdleTimeout();const{data:n}=await this.fetcher.post("/sessions/tasks",{text:e});return n}on(e,n){this.handlers[e]||(this.handlers[e]=[]),this.handlers[e].push(n)}off(e,n){this.handlers[e]&&(this.handlers[e]=this.handlers[e].filter(r=>r!==n))}async dispose(){var e;this.inited=!1,this.mediaStream.getTracks().forEach(n=>n.stop()),this.mediaStream=new MediaStream,this.lastLocalAudioState=null,this.lastLocalMicState=null,this.timeout&&clearTimeout(this.timeout),this.frameHandle&&cancelAnimationFrame(this.frameHandle),await((e=this.call)==null?void 0:e.destroy()),this.abortController.abort(),this.abortController=new AbortController,this.fetcher.defaults.signal=this.abortController.signal}}class Sf extends Da{constructor(n){super(n);K(this,"assistantSessionToken","");K(this,"assistantFetcher");K(this,"sessionToken","");this.assistantSessionToken=n.assistantSessionToken,this.sessionToken=n.sessionToken,this.assistantFetcher=G.create({baseURL:`${n.apiHost||Ra}/`,headers:{Authorization:`Bearer ${n.assistantSessionToken}`},signal:this.abortController.signal})}async task(n,r){if(!this.session_id)throw new Error("It seems that the session is not initialized.");this.restartIdleTimeout();const{data:i}=await this.assistantFetcher.post("/assistants/tasks",{text:n});return i}async dispose(){var n;this.inited=!1,this.mediaStream.getTracks().forEach(r=>r.stop()),this.mediaStream=new MediaStream,this.lastLocalAudioState=null,this.lastLocalMicState=null,this.timeout&&clearTimeout(this.timeout),this.frameHandle&&cancelAnimationFrame(this.frameHandle),await((n=this.call)==null?void 0:n.destroy()),await this.assistantFetcher.delete("/assistants/sessions"),this.abortController.abort(),this.abortController=new AbortController,this.fetcher.defaults.signal=this.abortController.signal,this.assistantFetcher.defaults.signal=this.abortController.signal}}exports.AvaturnAssistantHead=Sf;exports.AvaturnHead=Da;
|
package/dist/main.js
CHANGED
|
@@ -7998,16 +7998,10 @@ class wf {
|
|
|
7998
7998
|
});
|
|
7999
7999
|
}
|
|
8000
8000
|
toggleLocalAudio(e) {
|
|
8001
|
-
var i, s, a;
|
|
8002
8001
|
if (!this.call)
|
|
8003
8002
|
throw new Error("Session not initialized");
|
|
8004
|
-
const n =
|
|
8005
|
-
|
|
8006
|
-
console.warn("[SDK_WARN]: No local audio track available. Was audioSource enabled?");
|
|
8007
|
-
return;
|
|
8008
|
-
}
|
|
8009
|
-
const r = this.call.localAudio();
|
|
8010
|
-
this.call.setLocalAudio(e ?? !r);
|
|
8003
|
+
const n = this.call.localAudio();
|
|
8004
|
+
this.call.setLocalAudio(e ?? !n);
|
|
8011
8005
|
}
|
|
8012
8006
|
setOutputDevice(e) {
|
|
8013
8007
|
if (!this.call)
|
|
@@ -8081,11 +8075,13 @@ class wf {
|
|
|
8081
8075
|
if (!this.sessionData)
|
|
8082
8076
|
throw new Error("Session not initialized");
|
|
8083
8077
|
await this.call.join({
|
|
8084
|
-
token: this.sessionData.limited_access_token,
|
|
8085
8078
|
url: this.sessionData.room_url,
|
|
8086
|
-
|
|
8079
|
+
token: this.sessionData.limited_access_token,
|
|
8080
|
+
audioSource: this.config.audioSource,
|
|
8081
|
+
videoSource: !1,
|
|
8082
|
+
startAudioOff: e == null ? void 0 : e.startAudioOff
|
|
8087
8083
|
}).catch((n) => {
|
|
8088
|
-
console.
|
|
8084
|
+
console.error("[SDK_ERROR]: join failed", n);
|
|
8089
8085
|
});
|
|
8090
8086
|
}
|
|
8091
8087
|
async task(e) {
|