@d-id/client-sdk 1.0.19-beta.108 → 1.0.19-beta.109
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/index.js +4 -2
- package/dist/index.umd.cjs +1 -1
- package/dist/src/utils/analytics.d.ts +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -505,7 +505,9 @@ function ke(e, r) {
|
|
|
505
505
|
}
|
|
506
506
|
function Y(e) {
|
|
507
507
|
return e === M.Playground ? {
|
|
508
|
-
|
|
508
|
+
headers: {
|
|
509
|
+
[me]: "true"
|
|
510
|
+
}
|
|
509
511
|
} : {};
|
|
510
512
|
}
|
|
511
513
|
async function Z(e, r, c, t) {
|
|
@@ -740,7 +742,7 @@ async function Ae(e, r) {
|
|
|
740
742
|
event: "success",
|
|
741
743
|
mode: t.chatMode,
|
|
742
744
|
messages: t.messages.length + 1
|
|
743
|
-
}),
|
|
745
|
+
}), C.context = P.context, C.matches = P.matches, P.result && (C.content = P.result, l.track("agent-message-received", {
|
|
744
746
|
latency: Date.now() - D,
|
|
745
747
|
mode: t.chatMode,
|
|
746
748
|
messages: t.messages.length
|
package/dist/index.umd.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(f,N){typeof exports=="object"&&typeof module<"u"?N(exports):typeof define=="function"&&define.amd?define(["exports"],N):(f=typeof globalThis<"u"?globalThis:f||self,N(f.index={}))})(this,function(f){"use strict";var N=(e=>(e.TRIAL="trial",e.BASIC="basic",e.ENTERPRISE="enterprise",e.LITE="lite",e.ADVANCED="advanced",e))(N||{}),H=(e=>(e.TRIAL="deid-trial",e.PRO="deid-pro",e.ENTERPRISE="deid-enterprise",e.LITE="deid-lite",e.ADVANCED="deid-advanced",e.BUILD="deid-api-build",e.LAUNCH="deid-api-launch",e.SCALE="deid-api-scale",e))(H||{}),W=(e=>(e.Unrated="Unrated",e.Positive="Positive",e.Negative="Negative",e))(W||{}),_=(e=>(e.Functional="Functional",e.TextOnly="TextOnly",e.Maintenance="Maintenance",e.Playground="Playground",e.DirectPlayback="DirectPlayback",e))(_||{}),O=(e=>(e.Embed="embed",e.Query="query",e.Partial="partial",e.Answer="answer",e.Complete="done",e))(O||{}),q=(e=>(e.KnowledgeProcessing="knowledge/processing",e.KnowledgeIndexing="knowledge/indexing",e.KnowledgeFailed="knowledge/error",e.KnowledgeDone="knowledge/done",e))(q||{}),J=(e=>(e.Knowledge="knowledge",e.Document="document",e.Record="record",e))(J||{}),X=(e=>(e.Pdf="pdf",e.Text="text",e.Html="html",e.Word="word",e.Json="json",e.Markdown="markdown",e.Csv="csv",e.Excel="excel",e.Powerpoint="powerpoint",e.Archive="archive",e.Image="image",e.Audio="audio",e.Video="video",e))(X||{}),y=(e=>(e.Clip="clip",e.Talk="talk",e))(y||{}),$=(e=>(e.Start="START",e.Stop="STOP",e))($||{}),x=(e=>(e.ChatAnswer="chat/answer",e.ChatPartial="chat/partial",e.StreamDone="stream/done",e.StreamStarted="stream/started",e.StreamFailed="stream/error",e.StreamReady="stream/ready",e.StreamCreated="stream/created",e.StreamVideoCreated="stream-video/started",e.StreamVideoDone="stream-video/done",e.StreamVideoError="stream-video/error",e.StreamVideoRejected="stream-video/rejected",e))(x||{}),M=(e=>(e.New="new",e.Fail="fail",e.Connected="connected",e.Connecting="connecting",e.Terminating="terminating",e))(M||{}),Y=(e=>(e.Amazon="amazon",e.Microsoft="microsoft",e.Afflorithmics="afflorithmics",e.Elevenlabs="elevenlabs",e))(Y||{}),Z=(e=>(e.Public="public",e.Premium="premium",e.Private="private",e))(Z||{});const z="https://api.d-id.com",oe="wss://notifications.d-id.com",ce="79f81a83a67430be2bc0fd61042b8faa",U=()=>Math.random().toString(16).slice(2);function G(){let e=window.localStorage.getItem("did_external_key_id");return e||(e=Math.random().toString(16).slice(2),window.localStorage.setItem("did_external_key_id",e)),e}let de=U();function Q(e){if(e.type==="bearer")return`Bearer ${e.token}`;if(e.type==="basic")return`Basic ${btoa(`${e.username}:${e.password}`)}`;if(e.type==="key")return`Client-Key ${e.clientKey}.${G()}_${de}`;throw new Error(`Unknown auth type: ${e}`)}function j(e,r=z,c){const t=async(i,n)=>{const a=await fetch(r+(i!=null&&i.startsWith("/")?i:`/${i}`),{...n,headers:{...n==null?void 0:n.headers,Authorization:Q(e),"Content-Type":"application/json"}});if(!a.ok){let s=await a.text().catch(()=>"Failed to fetch");throw c&&c(new Error(s),{url:i,options:n,headers:a.headers}),new Error(s)}return a.json()};return{get(i,n){return t(i,{...n,method:"GET"})},post(i,n,a){return t(i,{...a,body:JSON.stringify(n),method:"POST"})},delete(i,n,a){return t(i,{...a,body:JSON.stringify(n),method:"DELETE"})},patch(i,n,a){return t(i,{...a,body:JSON.stringify(n),method:"PATCH"})}}}function ee(e,r=z,c){const t=j(e,`${r}/agents`,c);return{create(i,n){return t.post("/",i,n)},getAgents(i,n){return t.get(`/${i?`?tag=${i}`:""}`,n).then(a=>a??[])},getById(i,n){return t.get(`/${i}`,n)},delete(i,n){return t.delete(`/${i}`,void 0,n)},update(i,n,a){return t.patch(`/${i}`,n,a)},newChat(i,n){return t.post(`/${i}/chat`,void 0,n)},chat(i,n,a,s){return t.post(`/${i}/chat/${n}`,a,s)},createRating(i,n,a,s){return t.post(`/${i}/chat/${n}/ratings`,a,s)},updateRating(i,n,a,s,d){return t.patch(`/${i}/chat/${n}/ratings/${a}`,s,d)},deleteRating(i,n,a,s){return t.delete(`/${i}/chat/${n}/ratings/${a}`,s)}}}const le=e=>new Promise(r=>setTimeout(r,e));function ge(e){return new Promise((r,c)=>{const{callbacks:t,host:i,auth:n}=e,{onMessage:a=null,onOpen:s=null,onClose:d=null,onError:l=null}=t||{},w=new WebSocket(`${i}?authorization=${Q(n)}`);w.onmessage=a,w.onclose=d,w.onerror=v=>{console.error(v),l==null||l("Websocket failed to connect",v),c(v)},w.onopen=v=>{s==null||s(v),r(w)}})}async function ue(e){const{retries:r=1}=e;let c=null;for(let t=0;(c==null?void 0:c.readyState)!==WebSocket.OPEN;t++)try{c=await ge(e)}catch(i){if(t===r)throw i;await le(t*500)}return c}async function me(e,r,c){const t=c!=null&&c.onMessage?[c.onMessage]:[],i=await ue({auth:e,host:r,callbacks:{onError:c==null?void 0:c.onError,onMessage:n=>{const a=JSON.parse(n.data);t.forEach(s=>s(a.event,a))}}});return{socket:i,disconnect:()=>i.close(),subscribeToEvents:n=>t.push(n)}}const he="X-Playground-Chat";function we(e,r,c,t){const i=j(e,`${r}/agents/${c}`,t);return{createStream(n){return i.post("/streams",{driver_id:n.driver_id,presenter_id:n.presenter_id,compatibility_mode:n.compatibility_mode,stream_warmup:n.stream_warmup,session_timeout:n.session_timeout,type:y.Clip})},startConnection(n,a,s){return i.post(`/streams/${n}/sdp`,{session_id:s,answer:a,type:y.Clip})},addIceCandidate(n,a,s){return i.post(`/streams/${n}/ice`,{session_id:s,...a,type:y.Clip})},sendStreamRequest(n,a,s){return i.post(`/streams/${n}`,{session_id:a,...s,type:y.Clip})},close(n,a){return i.delete(`/streams/${n}`,{session_id:a,type:y.Clip})}}}function fe(e,r,c,t){const i=j(e,`${r}/agents/${c}`,t);return{createStream(n,a){return i.post("/streams",{source_url:n.source_url,driver_url:n.driver_url,face:n.face,config:n.config,compatibility_mode:n.compatibility_mode,stream_warmup:n.stream_warmup,output_resolution:n.output_resolution,session_timeout:n.session_timeout,type:y.Talk},a)},startConnection(n,a,s,d){return i.post(`/streams/${n}/sdp`,{session_id:s,answer:a,type:y.Talk},d)},addIceCandidate(n,a,s,d){return i.post(`/streams/${n}/ice`,{session_id:s,...a,type:y.Talk},d)},sendStreamRequest(n,a,s,d){return i.post(`/streams/${n}`,{session_id:a,...s,type:y.Talk},d)},close(n,a,s){return i.delete(`/streams/${n}`,{session_id:a,type:y.Talk},s)}}}let te=!1;const E=(e,r)=>te&&console.log(e,r),pe=(window.RTCPeerConnection||window.webkitRTCPeerConnection||window.mozRTCPeerConnection).bind(window);function ne(e){switch(e){case"connected":return M.Connected;case"checking":return M.Connecting;case"failed":return M.Fail;case"new":case"closed":case"disconnected":default:return M.New}}function ye(){let e=0;return r=>{for(const c of r.values())if(c&&c.type==="inbound-rtp"&&c.kind==="video"){const t=c.bytesReceived,i=t-e>0;return e=t,i}return!1}}function ve(e,r){const t=Math.max(Math.ceil(10),1);let i=0,n=!1;const a=ye();return setInterval(async()=>{const s=await e.getStats();a(s)?(i=0,n||(r==null||r($.Start),n=!0)):n&&(i++,i>=t&&(r==null||r($.Stop),n=!1))},100)}async function Ce(e,r,{debug:c=!1,callbacks:t,auth:i,analytics:n,baseURL:a=z}){te=c;let s;const{startConnection:d,sendStreamRequest:l,close:w,createStream:v,addIceCandidate:T}=r.videoType===y.Clip?we(i,a,e,t.onError):fe(i,a,e,t.onError),{id:I,offer:V,ice_servers:F,session_id:A}=await v(r),o=new pe({iceServers:F}),u=o.createDataChannel("JanusDataChannel");if(!A)throw new Error("Could not create session_id");const p=ve(o,t.onVideoStateChange);o.onicecandidate=g=>{E("peerConnection.onicecandidate",g),g.candidate&&g.candidate.sdpMid&&g.candidate.sdpMLineIndex!==null?T(I,{candidate:g.candidate.candidate,sdpMid:g.candidate.sdpMid,sdpMLineIndex:g.candidate.sdpMLineIndex},A):T(I,{candidate:null},A)},o.oniceconnectionstatechange=()=>{var m;E("peerConnection.oniceconnectionstatechange => "+o.iceConnectionState);const g=ne(o.iceConnectionState);g===M.Connected?s=setTimeout(()=>{var h;(h=t.onConnectionStateChange)==null||h.call(t,M.Connected)},5e3):(clearTimeout(s),(m=t.onConnectionStateChange)==null||m.call(t,g))},o.ontrack=g=>{var m;E("peerConnection.ontrack",g),(m=t.onSrcObjectReady)==null||m.call(t,g.streams[0])},u.onmessage=g=>{var m;if(u.readyState==="open"){const[h,C]=g.data.split(":");h===x.StreamReady&&(clearTimeout(s),(m=t.onConnectionStateChange)==null||m.call(t,M.Connected))}},await o.setRemoteDescription(V),E("set remote description OK");const k=await o.createAnswer();return E("create answer OK"),await o.setLocalDescription(k),E("set local description OK"),await d(I,k,A),E("start connection OK"),{speak(g){return l(I,A,g)},async disconnect(){var g,m,h;if(I){if(o){if(ne(o.iceConnectionState)===M.New){(g=t.onVideoStateChange)==null||g.call(t,$.Stop),clearInterval(p);return}o.close(),o.oniceconnectionstatechange=null,o.onnegotiationneeded=null,o.onicecandidate=null,o.ontrack=null}try{await w(I,A).catch(C=>{})}catch(C){E("Error on close stream connection",C)}(m=t.onConnectionStateChange)==null||m.call(t,M.New),(h=t.onVideoStateChange)==null||h.call(t,$.Stop),clearInterval(p)}},sessionId:A,streamId:I}}let B={};function Se(e){const r=window!=null&&window.hasOwnProperty("DID_AGENTS_API")?"agents-ui":"agents-sdk",c={token:e.token||"testKey",distinct_id:e.distinctId||G(),agentId:e.agent.id,agentType:e.agent.presenter.type,owner_id:e.agent.owner_id??""};return{...c,isEnabled:e.isEnabled??!0,getRandom:()=>Math.random().toString(16).slice(2),track(t,i){if(!this.isEnabled)return Promise.reject("MixPanel analytics is disabled on creation");const{audioPath:n,...a}=i||{},s={method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({data:JSON.stringify([{event:t,properties:{...a,...c,source:r,time:Date.now(),$insert_id:this.getRandom(),origin:window.location.href,"Screen Height":window.screen.height||window.innerWidth,"Screen Width":window.screen.width||window.innerHeight,"User Agent":navigator.userAgent}}])})};return fetch("https://api-js.mixpanel.com/track/?verbose=1&ip=1",s).then(d=>d.json()).catch(d=>console.error(d))},linkTrack(t,i,n,a){B[t]||(B[t]={events:{},resolvedDependencies:[]}),a.includes(n)||a.push(n);const s=B[t];if(s.events[n]={props:i},s.resolvedDependencies.push(n),a.every(l=>s.resolvedDependencies.includes(l))){const l=a.reduce((w,v)=>s.events[v]?{...w,...s.events[v].props}:w,{});this.track(t,l),s.resolvedDependencies=s.resolvedDependencies.filter(w=>!a.includes(w)),a.forEach(w=>{delete s.events[w]})}}}}function _e(e){var t,i,n,a,s;const r=()=>/Mobi|Android/i.test(navigator.userAgent)?"Mobile":"Desktop";return{$os:`${(()=>{const d=navigator.platform;return d.toLowerCase().includes("win")?"Windows":d.toLowerCase().includes("mac")?"Mac OS X":d.toLowerCase().includes("linux")?"Linux":"Unknown"})()}`,isMobile:`${r()=="Mobile"}`,browser:navigator.userAgent,origin:window.location.origin,agentType:(t=e.presenter)==null?void 0:t.type,agentVoice:{voiceId:(n=(i=e.presenter)==null?void 0:i.voice)==null?void 0:n.voice_id,provider:(s=(a=e.presenter)==null?void 0:a.voice)==null?void 0:s.type}}}function Me(e,r,c){var l,w;const{event:t,...i}=e,{template:n}=(r==null?void 0:r.llm)||{},{language:a}=((l=r==null?void 0:r.presenter)==null?void 0:l.voice)||{},{stitch:s}=(r==null?void 0:r.presenter)||{};return{...i,llm:{...i.llm,template:n},script:{...i.script,provider:{...(w=i==null?void 0:i.script)==null?void 0:w.provider,language:a}},stitch:s,...c}}const ke=1080;let P=0;function Re(e,r){var c,t,i;if(e.presenter){if(e.presenter.type===y.Clip)return{videoType:y.Clip,driver_id:e.presenter.driver_id,presenter_id:e.presenter.presenter_id,stream_warmup:!0}}else throw new Error("Presenter is not initialized");return{videoType:y.Talk,source_url:e.presenter.source_url,session_timeout:(c=r==null?void 0:r.streamOptions)==null?void 0:c.session_timeout,stream_warmup:((t=r==null?void 0:r.streamOptions)==null?void 0:t.stream_warmup)??!0,compatibility_mode:(i=r==null?void 0:r.streamOptions)==null?void 0:i.compatibility_mode,output_resolution:(r==null?void 0:r.outputResolution)||(e.presenter.stitch?ke:void 0)}}function re(e){return e===_.Playground?{[he]:"true"}:{}}async function ie(e,r,c,t){try{const i=await r.newChat(e,re(t));return c.track("agent-chat",{event:"created",chat_id:i.id,agent_id:e,mode:t}),i}catch(i){try{console.error(i);const n=JSON.parse(i.message);if((n==null?void 0:n.kind)==="InsufficientCreditsError")throw new Error("InsufficientCreditsError")}catch(n){console.error("Error parsing the error message:",n)}throw new Error("Cannot create new chat")}}function Ie(e,r,c,t,i){return new Promise(async(n,a)=>{P=0;const s=await Ce(e.id,Re(e,r),{...r,analytics:t,callbacks:{...r.callbacks,onConnectionStateChange:async d=>{var l,w;d===M.Connected&&(!i&&r.mode!==_.DirectPlayback&&(i=await ie(e.id,c,t,r.mode).catch(v=>{a(v)})),s?n({chat:i,streamingManager:s}):i&&a(new Error("Something went wrong while initializing the manager"))),(w=(l=r.callbacks).onConnectionStateChange)==null||w.call(l,d)},onVideoStateChange(d){var l,w;(w=(l=r.callbacks).onVideoStateChange)==null||w.call(l,d),P>0&&d===$.Start&&t.linkTrack("agent-video",{event:"start",latency:Date.now()-P},"start",[x.StreamVideoCreated])}}}).catch(a)})}function ae(e){let r="";if(e.greetings&&e.greetings.length>0){const c=Math.floor(Math.random()*e.greetings.length);r=e.greetings[c]}else r=`Hi! I'm ${e.preview_name||"My Agent"}. How can I help you?`;return[{content:r,id:U(),role:"assistant",created_at:new Date().toISOString()}]}function Ae(e){if(e.answer!==void 0)return e.answer;let r=0,c="";for(;r in e;)c+=e[r],r++;return c}function Ee(e,r,c,t,i){if(!(e===O.Partial||e===O.Answer))return;const n=t.messages[t.messages.length-1];if((n==null?void 0:n.role)!=="assistant")return;const{content:a,sequence:s}=r;e===O.Partial?c[s]=a:c.answer=a;const d=Ae(c);n.content!==d&&(n.content=d,i==null||i(t.messages,e))}async function $e(e,r){var V,F,A;let c={};const t={messages:[],chatMode:r.mode||_.Functional},i=r.baseURL||z,n=r.wsURL||oe,a=r.mixpanelKey||ce,s=ee(r.auth,i,r.callbacks.onError),d=await s.getById(e);t.messages=ae(d),(F=(V=r.callbacks).onNewMessage)==null||F.call(V,t.messages,"answer");const l=Se({token:a,agent:d,...r});l.track("agent-sdk",{event:"loaded",..._e(d)});const w={onMessage:(o,u)=>{var p,k,g,m;if("content"in u)Ee(o,u,c,t,r.callbacks.onNewMessage),o===O.Answer&&l.track("agent-message-received",{messages:t.messages.length,mode:t.chatMode});else{const h=x,C=[h.StreamVideoDone,h.StreamVideoError,h.StreamVideoRejected],S=[h.StreamFailed,h.StreamVideoError,h.StreamVideoRejected],R=Me(u,d,{mode:t.chatMode});if(o=o,o===h.StreamVideoCreated)l.linkTrack("agent-video",R,h.StreamVideoCreated,["start"]);else if(C.includes(o)){const D=o.split("/")[1];l.track("agent-video",{...R,event:D})}S.includes(o)&&((k=(p=r.callbacks).onError)==null||k.call(p,new Error(`Stream failed with event ${o}`),{data:u})),u.event===h.StreamDone&&((m=(g=r.callbacks).onConnectionStateChange)==null||m.call(g,M.New))}}};async function v(o){var h,C,S,R,D;P=0,o&&(delete t.chat,t.messages=ae(d),(C=(h=r.callbacks).onNewMessage)==null||C.call(h,t.messages,"answer"));const u=r.mode===_.DirectPlayback?Promise.resolve(void 0):me(r.auth,n,w),p=Ie(d,r,s,l,t.chat).catch(b=>{throw I(_.Maintenance),b}),[k,{streamingManager:g,chat:m}]=await Promise.all([u,p]);m&&m.id!==((S=t.chat)==null?void 0:S.id)&&((D=(R=r.callbacks).onNewChat)==null||D.call(R,m.id)),t.streamingManager=g,t.socketManager=k,t.chat=m,I((m==null?void 0:m.chat_mode)??r.mode??_.Functional)}async function T(){var o,u;(o=t.socketManager)==null||o.disconnect(),await((u=t.streamingManager)==null?void 0:u.disconnect()),delete t.streamingManager,delete t.socketManager}async function I(o){var u,p;o!==t.chatMode&&(l.track("agent-mode-change",{mode:o}),t.chatMode=o,t.chatMode!==_.Functional&&await T(),(p=(u=r.callbacks).onModeChange)==null||p.call(u,o))}return{agent:d,starterMessages:((A=d.knowledge)==null?void 0:A.starter_message)||[],changeMode:I,async connect(){var o;await v(!0),l.track("agent-chat",{event:"connect",chatId:(o=t.chat)==null?void 0:o.id,agentId:d.id,mode:t.chatMode})},async reconnect(){var o;await T(),await v(!1),l.track("agent-chat",{event:"reconnect",chatId:(o=t.chat)==null?void 0:o.id,agentId:d.id,mode:t.chatMode})},async disconnect(){var o;await T(),l.track("agent-chat",{event:"disconnect",chatId:(o=t.chat)==null?void 0:o.id,agentId:d.id,mode:t.chatMode})},async chat(o){var p,k,g,m,h,C;const u=U();c={};try{if(P=Date.now(),r.mode===_.DirectPlayback)throw new Error("Direct playback is enabled, chat is disabled");if(o.length>=800)throw new Error("Message cannot be more than 800 characters");if(o.length===0)throw new Error("Message cannot be empty");if(t.chatMode===_.Maintenance)throw new Error("Chat is in maintenance mode");if(![_.TextOnly,_.Playground].includes(t.chatMode))if(t.streamingManager){if(!t.chat)throw new Error("Chat is not initialized")}else throw new Error("Streaming manager is not initialized");t.chat||(t.chat=await ie(d.id,s,l,t.chatMode),(k=(p=r.callbacks).onNewChat)==null||k.call(p,t.chat.id)),t.messages.push({id:U(),role:"user",content:o,created_at:new Date(P).toISOString()}),(m=(g=r.callbacks).onNewMessage)==null||m.call(g,t.messages,"user");const S={id:u,role:"assistant",content:"",created_at:new Date().toISOString(),matches:[]},R=[...t.messages];t.messages.push(S);const D=L=>{var K,se;return s.chat(d.id,L,{sessionId:(K=t.streamingManager)==null?void 0:K.sessionId,streamId:(se=t.streamingManager)==null?void 0:se.streamId,chatMode:t.chatMode,messages:R},re(t.chatMode))},b=await D(t.chat.id).catch(async L=>{var K;if(!((K=L==null?void 0:L.message)!=null&&K.includes("missing or invalid session_id")))throw L;return await T(),await v(!1),D(t.chat.id)});return l.track("agent-message-send",{event:"success",mode:t.chatMode,messages:t.messages.length+1}),b.result&&(S.content=b.result,S.matches=b.matches,S.context=b.context,l.track("agent-message-received",{latency:Date.now()-P,mode:t.chatMode,messages:t.messages.length}),(C=(h=r.callbacks).onNewMessage)==null||C.call(h,t.messages,"answer")),b}catch(S){throw t.messages[t.messages.length-1].id===u&&t.messages.pop(),l.track("agent-message-send",{event:"error",mode:t.chatMode,messages:t.messages.length}),S}},rate(o,u,p){var m,h,C,S;const k=t.messages.find(R=>R.id===o);if(t.chat){if(!k)throw new Error("Message not found")}else throw new Error("Chat is not initialized");const g=((m=k.matches)==null?void 0:m.map(R=>[R.document_id,R.id]))??[];return l.track("agent-rate",{event:p?"update":"create",thumb:u===1?"up":"down",knowledge_id:((h=d.knowledge)==null?void 0:h.id)??"",mode:t.chatMode,matches:g,score:u}),p?s.updateRating(d.id,t.chat.id,p,{knowledge_id:((C=d.knowledge)==null?void 0:C.id)??"",message_id:o,matches:g,score:u}):s.createRating(d.id,t.chat.id,{knowledge_id:((S=d.knowledge)==null?void 0:S.id)??"",message_id:o,matches:g,score:u})},deleteRate(o){var u;if(!t.chat)throw new Error("Chat is not initialized");return l.track("agent-rate-delete",{type:"text",chat_id:(u=t.chat)==null?void 0:u.id,id:o,mode:t.chatMode}),s.deleteRating(d.id,t.chat.id,o)},speak(o){if(!t.streamingManager)throw new Error("Please connect to the agent first");function u(){if(typeof o=="string"){if(!d.presenter)throw new Error("Presenter is not initialized");return{type:"text",provider:d.presenter.voice,input:o,ssml:!1}}return o}const p=u();return l.track("agent-speak",p),t.streamingManager.speak({script:p})}}}function Pe(e,r,c){const{getById:t}=ee(r,c||z);return t(e)}f.ChatMode=_,f.ChatProgress=O,f.ConnectionState=M,f.DocumentType=X,f.KnowledgeType=J,f.PlanGroup=H,f.Providers=Y,f.RateState=W,f.StreamEvents=x,f.StreamingState=$,f.Subject=q,f.UserPlan=N,f.VideoType=y,f.VoiceAccess=Z,f.createAgentManager=$e,f.getAgent=Pe,Object.defineProperty(f,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(f,N){typeof exports=="object"&&typeof module<"u"?N(exports):typeof define=="function"&&define.amd?define(["exports"],N):(f=typeof globalThis<"u"?globalThis:f||self,N(f.index={}))})(this,function(f){"use strict";var N=(e=>(e.TRIAL="trial",e.BASIC="basic",e.ENTERPRISE="enterprise",e.LITE="lite",e.ADVANCED="advanced",e))(N||{}),H=(e=>(e.TRIAL="deid-trial",e.PRO="deid-pro",e.ENTERPRISE="deid-enterprise",e.LITE="deid-lite",e.ADVANCED="deid-advanced",e.BUILD="deid-api-build",e.LAUNCH="deid-api-launch",e.SCALE="deid-api-scale",e))(H||{}),W=(e=>(e.Unrated="Unrated",e.Positive="Positive",e.Negative="Negative",e))(W||{}),_=(e=>(e.Functional="Functional",e.TextOnly="TextOnly",e.Maintenance="Maintenance",e.Playground="Playground",e.DirectPlayback="DirectPlayback",e))(_||{}),O=(e=>(e.Embed="embed",e.Query="query",e.Partial="partial",e.Answer="answer",e.Complete="done",e))(O||{}),q=(e=>(e.KnowledgeProcessing="knowledge/processing",e.KnowledgeIndexing="knowledge/indexing",e.KnowledgeFailed="knowledge/error",e.KnowledgeDone="knowledge/done",e))(q||{}),J=(e=>(e.Knowledge="knowledge",e.Document="document",e.Record="record",e))(J||{}),X=(e=>(e.Pdf="pdf",e.Text="text",e.Html="html",e.Word="word",e.Json="json",e.Markdown="markdown",e.Csv="csv",e.Excel="excel",e.Powerpoint="powerpoint",e.Archive="archive",e.Image="image",e.Audio="audio",e.Video="video",e))(X||{}),y=(e=>(e.Clip="clip",e.Talk="talk",e))(y||{}),$=(e=>(e.Start="START",e.Stop="STOP",e))($||{}),x=(e=>(e.ChatAnswer="chat/answer",e.ChatPartial="chat/partial",e.StreamDone="stream/done",e.StreamStarted="stream/started",e.StreamFailed="stream/error",e.StreamReady="stream/ready",e.StreamCreated="stream/created",e.StreamVideoCreated="stream-video/started",e.StreamVideoDone="stream-video/done",e.StreamVideoError="stream-video/error",e.StreamVideoRejected="stream-video/rejected",e))(x||{}),M=(e=>(e.New="new",e.Fail="fail",e.Connected="connected",e.Connecting="connecting",e.Terminating="terminating",e))(M||{}),Y=(e=>(e.Amazon="amazon",e.Microsoft="microsoft",e.Afflorithmics="afflorithmics",e.Elevenlabs="elevenlabs",e))(Y||{}),Z=(e=>(e.Public="public",e.Premium="premium",e.Private="private",e))(Z||{});const z="https://api.d-id.com",oe="wss://notifications.d-id.com",ce="79f81a83a67430be2bc0fd61042b8faa",U=()=>Math.random().toString(16).slice(2);function G(){let e=window.localStorage.getItem("did_external_key_id");return e||(e=Math.random().toString(16).slice(2),window.localStorage.setItem("did_external_key_id",e)),e}let de=U();function Q(e){if(e.type==="bearer")return`Bearer ${e.token}`;if(e.type==="basic")return`Basic ${btoa(`${e.username}:${e.password}`)}`;if(e.type==="key")return`Client-Key ${e.clientKey}.${G()}_${de}`;throw new Error(`Unknown auth type: ${e}`)}function j(e,r=z,c){const t=async(i,n)=>{const a=await fetch(r+(i!=null&&i.startsWith("/")?i:`/${i}`),{...n,headers:{...n==null?void 0:n.headers,Authorization:Q(e),"Content-Type":"application/json"}});if(!a.ok){let s=await a.text().catch(()=>"Failed to fetch");throw c&&c(new Error(s),{url:i,options:n,headers:a.headers}),new Error(s)}return a.json()};return{get(i,n){return t(i,{...n,method:"GET"})},post(i,n,a){return t(i,{...a,body:JSON.stringify(n),method:"POST"})},delete(i,n,a){return t(i,{...a,body:JSON.stringify(n),method:"DELETE"})},patch(i,n,a){return t(i,{...a,body:JSON.stringify(n),method:"PATCH"})}}}function ee(e,r=z,c){const t=j(e,`${r}/agents`,c);return{create(i,n){return t.post("/",i,n)},getAgents(i,n){return t.get(`/${i?`?tag=${i}`:""}`,n).then(a=>a??[])},getById(i,n){return t.get(`/${i}`,n)},delete(i,n){return t.delete(`/${i}`,void 0,n)},update(i,n,a){return t.patch(`/${i}`,n,a)},newChat(i,n){return t.post(`/${i}/chat`,void 0,n)},chat(i,n,a,s){return t.post(`/${i}/chat/${n}`,a,s)},createRating(i,n,a,s){return t.post(`/${i}/chat/${n}/ratings`,a,s)},updateRating(i,n,a,s,d){return t.patch(`/${i}/chat/${n}/ratings/${a}`,s,d)},deleteRating(i,n,a,s){return t.delete(`/${i}/chat/${n}/ratings/${a}`,s)}}}const le=e=>new Promise(r=>setTimeout(r,e));function ge(e){return new Promise((r,c)=>{const{callbacks:t,host:i,auth:n}=e,{onMessage:a=null,onOpen:s=null,onClose:d=null,onError:l=null}=t||{},w=new WebSocket(`${i}?authorization=${Q(n)}`);w.onmessage=a,w.onclose=d,w.onerror=v=>{console.error(v),l==null||l("Websocket failed to connect",v),c(v)},w.onopen=v=>{s==null||s(v),r(w)}})}async function ue(e){const{retries:r=1}=e;let c=null;for(let t=0;(c==null?void 0:c.readyState)!==WebSocket.OPEN;t++)try{c=await ge(e)}catch(i){if(t===r)throw i;await le(t*500)}return c}async function me(e,r,c){const t=c!=null&&c.onMessage?[c.onMessage]:[],i=await ue({auth:e,host:r,callbacks:{onError:c==null?void 0:c.onError,onMessage:n=>{const a=JSON.parse(n.data);t.forEach(s=>s(a.event,a))}}});return{socket:i,disconnect:()=>i.close(),subscribeToEvents:n=>t.push(n)}}const he="X-Playground-Chat";function we(e,r,c,t){const i=j(e,`${r}/agents/${c}`,t);return{createStream(n){return i.post("/streams",{driver_id:n.driver_id,presenter_id:n.presenter_id,compatibility_mode:n.compatibility_mode,stream_warmup:n.stream_warmup,session_timeout:n.session_timeout,type:y.Clip})},startConnection(n,a,s){return i.post(`/streams/${n}/sdp`,{session_id:s,answer:a,type:y.Clip})},addIceCandidate(n,a,s){return i.post(`/streams/${n}/ice`,{session_id:s,...a,type:y.Clip})},sendStreamRequest(n,a,s){return i.post(`/streams/${n}`,{session_id:a,...s,type:y.Clip})},close(n,a){return i.delete(`/streams/${n}`,{session_id:a,type:y.Clip})}}}function fe(e,r,c,t){const i=j(e,`${r}/agents/${c}`,t);return{createStream(n,a){return i.post("/streams",{source_url:n.source_url,driver_url:n.driver_url,face:n.face,config:n.config,compatibility_mode:n.compatibility_mode,stream_warmup:n.stream_warmup,output_resolution:n.output_resolution,session_timeout:n.session_timeout,type:y.Talk},a)},startConnection(n,a,s,d){return i.post(`/streams/${n}/sdp`,{session_id:s,answer:a,type:y.Talk},d)},addIceCandidate(n,a,s,d){return i.post(`/streams/${n}/ice`,{session_id:s,...a,type:y.Talk},d)},sendStreamRequest(n,a,s,d){return i.post(`/streams/${n}`,{session_id:a,...s,type:y.Talk},d)},close(n,a,s){return i.delete(`/streams/${n}`,{session_id:a,type:y.Talk},s)}}}let te=!1;const E=(e,r)=>te&&console.log(e,r),pe=(window.RTCPeerConnection||window.webkitRTCPeerConnection||window.mozRTCPeerConnection).bind(window);function ne(e){switch(e){case"connected":return M.Connected;case"checking":return M.Connecting;case"failed":return M.Fail;case"new":case"closed":case"disconnected":default:return M.New}}function ye(){let e=0;return r=>{for(const c of r.values())if(c&&c.type==="inbound-rtp"&&c.kind==="video"){const t=c.bytesReceived,i=t-e>0;return e=t,i}return!1}}function ve(e,r){const t=Math.max(Math.ceil(10),1);let i=0,n=!1;const a=ye();return setInterval(async()=>{const s=await e.getStats();a(s)?(i=0,n||(r==null||r($.Start),n=!0)):n&&(i++,i>=t&&(r==null||r($.Stop),n=!1))},100)}async function Ce(e,r,{debug:c=!1,callbacks:t,auth:i,analytics:n,baseURL:a=z}){te=c;let s;const{startConnection:d,sendStreamRequest:l,close:w,createStream:v,addIceCandidate:T}=r.videoType===y.Clip?we(i,a,e,t.onError):fe(i,a,e,t.onError),{id:I,offer:V,ice_servers:F,session_id:A}=await v(r),o=new pe({iceServers:F}),u=o.createDataChannel("JanusDataChannel");if(!A)throw new Error("Could not create session_id");const p=ve(o,t.onVideoStateChange);o.onicecandidate=g=>{E("peerConnection.onicecandidate",g),g.candidate&&g.candidate.sdpMid&&g.candidate.sdpMLineIndex!==null?T(I,{candidate:g.candidate.candidate,sdpMid:g.candidate.sdpMid,sdpMLineIndex:g.candidate.sdpMLineIndex},A):T(I,{candidate:null},A)},o.oniceconnectionstatechange=()=>{var m;E("peerConnection.oniceconnectionstatechange => "+o.iceConnectionState);const g=ne(o.iceConnectionState);g===M.Connected?s=setTimeout(()=>{var h;(h=t.onConnectionStateChange)==null||h.call(t,M.Connected)},5e3):(clearTimeout(s),(m=t.onConnectionStateChange)==null||m.call(t,g))},o.ontrack=g=>{var m;E("peerConnection.ontrack",g),(m=t.onSrcObjectReady)==null||m.call(t,g.streams[0])},u.onmessage=g=>{var m;if(u.readyState==="open"){const[h,C]=g.data.split(":");h===x.StreamReady&&(clearTimeout(s),(m=t.onConnectionStateChange)==null||m.call(t,M.Connected))}},await o.setRemoteDescription(V),E("set remote description OK");const k=await o.createAnswer();return E("create answer OK"),await o.setLocalDescription(k),E("set local description OK"),await d(I,k,A),E("start connection OK"),{speak(g){return l(I,A,g)},async disconnect(){var g,m,h;if(I){if(o){if(ne(o.iceConnectionState)===M.New){(g=t.onVideoStateChange)==null||g.call(t,$.Stop),clearInterval(p);return}o.close(),o.oniceconnectionstatechange=null,o.onnegotiationneeded=null,o.onicecandidate=null,o.ontrack=null}try{await w(I,A).catch(C=>{})}catch(C){E("Error on close stream connection",C)}(m=t.onConnectionStateChange)==null||m.call(t,M.New),(h=t.onVideoStateChange)==null||h.call(t,$.Stop),clearInterval(p)}},sessionId:A,streamId:I}}let B={};function Se(e){const r=window!=null&&window.hasOwnProperty("DID_AGENTS_API")?"agents-ui":"agents-sdk",c={token:e.token||"testKey",distinct_id:e.distinctId||G(),agentId:e.agent.id,agentType:e.agent.presenter.type,owner_id:e.agent.owner_id??""};return{...c,isEnabled:e.isEnabled??!0,getRandom:()=>Math.random().toString(16).slice(2),track(t,i){if(!this.isEnabled)return Promise.reject("MixPanel analytics is disabled on creation");const{audioPath:n,...a}=i||{},s={method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({data:JSON.stringify([{event:t,properties:{...a,...c,source:r,time:Date.now(),$insert_id:this.getRandom(),origin:window.location.href,"Screen Height":window.screen.height||window.innerWidth,"Screen Width":window.screen.width||window.innerHeight,"User Agent":navigator.userAgent}}])})};return fetch("https://api-js.mixpanel.com/track/?verbose=1&ip=1",s).then(d=>d.json()).catch(d=>console.error(d))},linkTrack(t,i,n,a){B[t]||(B[t]={events:{},resolvedDependencies:[]}),a.includes(n)||a.push(n);const s=B[t];if(s.events[n]={props:i},s.resolvedDependencies.push(n),a.every(l=>s.resolvedDependencies.includes(l))){const l=a.reduce((w,v)=>s.events[v]?{...w,...s.events[v].props}:w,{});this.track(t,l),s.resolvedDependencies=s.resolvedDependencies.filter(w=>!a.includes(w)),a.forEach(w=>{delete s.events[w]})}}}}function _e(e){var t,i,n,a,s;const r=()=>/Mobi|Android/i.test(navigator.userAgent)?"Mobile":"Desktop";return{$os:`${(()=>{const d=navigator.platform;return d.toLowerCase().includes("win")?"Windows":d.toLowerCase().includes("mac")?"Mac OS X":d.toLowerCase().includes("linux")?"Linux":"Unknown"})()}`,isMobile:`${r()=="Mobile"}`,browser:navigator.userAgent,origin:window.location.origin,agentType:(t=e.presenter)==null?void 0:t.type,agentVoice:{voiceId:(n=(i=e.presenter)==null?void 0:i.voice)==null?void 0:n.voice_id,provider:(s=(a=e.presenter)==null?void 0:a.voice)==null?void 0:s.type}}}function Me(e,r,c){var l,w;const{event:t,...i}=e,{template:n}=(r==null?void 0:r.llm)||{},{language:a}=((l=r==null?void 0:r.presenter)==null?void 0:l.voice)||{},{stitch:s}=(r==null?void 0:r.presenter)||{};return{...i,llm:{...i.llm,template:n},script:{...i.script,provider:{...(w=i==null?void 0:i.script)==null?void 0:w.provider,language:a}},stitch:s,...c}}const ke=1080;let P=0;function Re(e,r){var c,t,i;if(e.presenter){if(e.presenter.type===y.Clip)return{videoType:y.Clip,driver_id:e.presenter.driver_id,presenter_id:e.presenter.presenter_id,stream_warmup:!0}}else throw new Error("Presenter is not initialized");return{videoType:y.Talk,source_url:e.presenter.source_url,session_timeout:(c=r==null?void 0:r.streamOptions)==null?void 0:c.session_timeout,stream_warmup:((t=r==null?void 0:r.streamOptions)==null?void 0:t.stream_warmup)??!0,compatibility_mode:(i=r==null?void 0:r.streamOptions)==null?void 0:i.compatibility_mode,output_resolution:(r==null?void 0:r.outputResolution)||(e.presenter.stitch?ke:void 0)}}function re(e){return e===_.Playground?{headers:{[he]:"true"}}:{}}async function ie(e,r,c,t){try{const i=await r.newChat(e,re(t));return c.track("agent-chat",{event:"created",chat_id:i.id,agent_id:e,mode:t}),i}catch(i){try{console.error(i);const n=JSON.parse(i.message);if((n==null?void 0:n.kind)==="InsufficientCreditsError")throw new Error("InsufficientCreditsError")}catch(n){console.error("Error parsing the error message:",n)}throw new Error("Cannot create new chat")}}function Ie(e,r,c,t,i){return new Promise(async(n,a)=>{P=0;const s=await Ce(e.id,Re(e,r),{...r,analytics:t,callbacks:{...r.callbacks,onConnectionStateChange:async d=>{var l,w;d===M.Connected&&(!i&&r.mode!==_.DirectPlayback&&(i=await ie(e.id,c,t,r.mode).catch(v=>{a(v)})),s?n({chat:i,streamingManager:s}):i&&a(new Error("Something went wrong while initializing the manager"))),(w=(l=r.callbacks).onConnectionStateChange)==null||w.call(l,d)},onVideoStateChange(d){var l,w;(w=(l=r.callbacks).onVideoStateChange)==null||w.call(l,d),P>0&&d===$.Start&&t.linkTrack("agent-video",{event:"start",latency:Date.now()-P},"start",[x.StreamVideoCreated])}}}).catch(a)})}function ae(e){let r="";if(e.greetings&&e.greetings.length>0){const c=Math.floor(Math.random()*e.greetings.length);r=e.greetings[c]}else r=`Hi! I'm ${e.preview_name||"My Agent"}. How can I help you?`;return[{content:r,id:U(),role:"assistant",created_at:new Date().toISOString()}]}function Ae(e){if(e.answer!==void 0)return e.answer;let r=0,c="";for(;r in e;)c+=e[r],r++;return c}function Ee(e,r,c,t,i){if(!(e===O.Partial||e===O.Answer))return;const n=t.messages[t.messages.length-1];if((n==null?void 0:n.role)!=="assistant")return;const{content:a,sequence:s}=r;e===O.Partial?c[s]=a:c.answer=a;const d=Ae(c);n.content!==d&&(n.content=d,i==null||i(t.messages,e))}async function $e(e,r){var V,F,A;let c={};const t={messages:[],chatMode:r.mode||_.Functional},i=r.baseURL||z,n=r.wsURL||oe,a=r.mixpanelKey||ce,s=ee(r.auth,i,r.callbacks.onError),d=await s.getById(e);t.messages=ae(d),(F=(V=r.callbacks).onNewMessage)==null||F.call(V,t.messages,"answer");const l=Se({token:a,agent:d,...r});l.track("agent-sdk",{event:"loaded",..._e(d)});const w={onMessage:(o,u)=>{var p,k,g,m;if("content"in u)Ee(o,u,c,t,r.callbacks.onNewMessage),o===O.Answer&&l.track("agent-message-received",{messages:t.messages.length,mode:t.chatMode});else{const h=x,C=[h.StreamVideoDone,h.StreamVideoError,h.StreamVideoRejected],S=[h.StreamFailed,h.StreamVideoError,h.StreamVideoRejected],R=Me(u,d,{mode:t.chatMode});if(o=o,o===h.StreamVideoCreated)l.linkTrack("agent-video",R,h.StreamVideoCreated,["start"]);else if(C.includes(o)){const D=o.split("/")[1];l.track("agent-video",{...R,event:D})}S.includes(o)&&((k=(p=r.callbacks).onError)==null||k.call(p,new Error(`Stream failed with event ${o}`),{data:u})),u.event===h.StreamDone&&((m=(g=r.callbacks).onConnectionStateChange)==null||m.call(g,M.New))}}};async function v(o){var h,C,S,R,D;P=0,o&&(delete t.chat,t.messages=ae(d),(C=(h=r.callbacks).onNewMessage)==null||C.call(h,t.messages,"answer"));const u=r.mode===_.DirectPlayback?Promise.resolve(void 0):me(r.auth,n,w),p=Ie(d,r,s,l,t.chat).catch(b=>{throw I(_.Maintenance),b}),[k,{streamingManager:g,chat:m}]=await Promise.all([u,p]);m&&m.id!==((S=t.chat)==null?void 0:S.id)&&((D=(R=r.callbacks).onNewChat)==null||D.call(R,m.id)),t.streamingManager=g,t.socketManager=k,t.chat=m,I((m==null?void 0:m.chat_mode)??r.mode??_.Functional)}async function T(){var o,u;(o=t.socketManager)==null||o.disconnect(),await((u=t.streamingManager)==null?void 0:u.disconnect()),delete t.streamingManager,delete t.socketManager}async function I(o){var u,p;o!==t.chatMode&&(l.track("agent-mode-change",{mode:o}),t.chatMode=o,t.chatMode!==_.Functional&&await T(),(p=(u=r.callbacks).onModeChange)==null||p.call(u,o))}return{agent:d,starterMessages:((A=d.knowledge)==null?void 0:A.starter_message)||[],changeMode:I,async connect(){var o;await v(!0),l.track("agent-chat",{event:"connect",chatId:(o=t.chat)==null?void 0:o.id,agentId:d.id,mode:t.chatMode})},async reconnect(){var o;await T(),await v(!1),l.track("agent-chat",{event:"reconnect",chatId:(o=t.chat)==null?void 0:o.id,agentId:d.id,mode:t.chatMode})},async disconnect(){var o;await T(),l.track("agent-chat",{event:"disconnect",chatId:(o=t.chat)==null?void 0:o.id,agentId:d.id,mode:t.chatMode})},async chat(o){var p,k,g,m,h,C;const u=U();c={};try{if(P=Date.now(),r.mode===_.DirectPlayback)throw new Error("Direct playback is enabled, chat is disabled");if(o.length>=800)throw new Error("Message cannot be more than 800 characters");if(o.length===0)throw new Error("Message cannot be empty");if(t.chatMode===_.Maintenance)throw new Error("Chat is in maintenance mode");if(![_.TextOnly,_.Playground].includes(t.chatMode))if(t.streamingManager){if(!t.chat)throw new Error("Chat is not initialized")}else throw new Error("Streaming manager is not initialized");t.chat||(t.chat=await ie(d.id,s,l,t.chatMode),(k=(p=r.callbacks).onNewChat)==null||k.call(p,t.chat.id)),t.messages.push({id:U(),role:"user",content:o,created_at:new Date(P).toISOString()}),(m=(g=r.callbacks).onNewMessage)==null||m.call(g,t.messages,"user");const S={id:u,role:"assistant",content:"",created_at:new Date().toISOString(),matches:[]},R=[...t.messages];t.messages.push(S);const D=L=>{var K,se;return s.chat(d.id,L,{sessionId:(K=t.streamingManager)==null?void 0:K.sessionId,streamId:(se=t.streamingManager)==null?void 0:se.streamId,chatMode:t.chatMode,messages:R},re(t.chatMode))},b=await D(t.chat.id).catch(async L=>{var K;if(!((K=L==null?void 0:L.message)!=null&&K.includes("missing or invalid session_id")))throw L;return await T(),await v(!1),D(t.chat.id)});return l.track("agent-message-send",{event:"success",mode:t.chatMode,messages:t.messages.length+1}),S.context=b.context,S.matches=b.matches,b.result&&(S.content=b.result,l.track("agent-message-received",{latency:Date.now()-P,mode:t.chatMode,messages:t.messages.length}),(C=(h=r.callbacks).onNewMessage)==null||C.call(h,t.messages,"answer")),b}catch(S){throw t.messages[t.messages.length-1].id===u&&t.messages.pop(),l.track("agent-message-send",{event:"error",mode:t.chatMode,messages:t.messages.length}),S}},rate(o,u,p){var m,h,C,S;const k=t.messages.find(R=>R.id===o);if(t.chat){if(!k)throw new Error("Message not found")}else throw new Error("Chat is not initialized");const g=((m=k.matches)==null?void 0:m.map(R=>[R.document_id,R.id]))??[];return l.track("agent-rate",{event:p?"update":"create",thumb:u===1?"up":"down",knowledge_id:((h=d.knowledge)==null?void 0:h.id)??"",mode:t.chatMode,matches:g,score:u}),p?s.updateRating(d.id,t.chat.id,p,{knowledge_id:((C=d.knowledge)==null?void 0:C.id)??"",message_id:o,matches:g,score:u}):s.createRating(d.id,t.chat.id,{knowledge_id:((S=d.knowledge)==null?void 0:S.id)??"",message_id:o,matches:g,score:u})},deleteRate(o){var u;if(!t.chat)throw new Error("Chat is not initialized");return l.track("agent-rate-delete",{type:"text",chat_id:(u=t.chat)==null?void 0:u.id,id:o,mode:t.chatMode}),s.deleteRating(d.id,t.chat.id,o)},speak(o){if(!t.streamingManager)throw new Error("Please connect to the agent first");function u(){if(typeof o=="string"){if(!d.presenter)throw new Error("Presenter is not initialized");return{type:"text",provider:d.presenter.voice,input:o,ssml:!1}}return o}const p=u();return l.track("agent-speak",p),t.streamingManager.speak({script:p})}}}function Pe(e,r,c){const{getById:t}=ee(r,c||z);return t(e)}f.ChatMode=_,f.ChatProgress=O,f.ConnectionState=M,f.DocumentType=X,f.KnowledgeType=J,f.PlanGroup=H,f.Providers=Y,f.RateState=W,f.StreamEvents=x,f.StreamingState=$,f.Subject=q,f.UserPlan=N,f.VideoType=y,f.VoiceAccess=Z,f.createAgentManager=$e,f.getAgent=Pe,Object.defineProperty(f,Symbol.toStringTag,{value:"Module"})});
|
|
@@ -7,7 +7,7 @@ export declare function getAnaliticsInfo(agent: Agent): {
|
|
|
7
7
|
agentType: "talk" | "clip";
|
|
8
8
|
agentVoice: {
|
|
9
9
|
voiceId: string | undefined;
|
|
10
|
-
provider: import('../types/
|
|
10
|
+
provider: import('../types/tts').Providers | undefined;
|
|
11
11
|
};
|
|
12
12
|
};
|
|
13
13
|
export declare function getStreamAnalyticsProps(data: any, agent: any, additionalProps: Record<string, any>): any;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@d-id/client-sdk",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.0.19-beta.
|
|
4
|
+
"version": "1.0.19-beta.109",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "d-id client sdk",
|
|
7
7
|
"repository": {
|
|
@@ -44,4 +44,4 @@
|
|
|
44
44
|
"vite": "^5.1.4",
|
|
45
45
|
"vite-plugin-dts": "^3.7.3"
|
|
46
46
|
}
|
|
47
|
-
}
|
|
47
|
+
}
|