@d-id/client-sdk 1.0.8 → 1.0.9
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 +74 -73
- package/dist/index.umd.cjs +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
function k(r) {
|
|
2
2
|
return r.type === "bearer" ? "Bearer " + r.token : r.type === "basic" ? "Basic " + btoa(`${r.username}:${r.password}`) : "Client-Key " + r.clientKey;
|
|
3
3
|
}
|
|
4
|
-
function
|
|
4
|
+
function g(r, o = "https://api.d-id.com") {
|
|
5
5
|
const n = async (e, t) => {
|
|
6
|
-
const
|
|
6
|
+
const s = await fetch(o + (e != null && e.startsWith("/") ? e : `/${e}`), {
|
|
7
7
|
...t,
|
|
8
8
|
headers: {
|
|
9
9
|
...t == null ? void 0 : t.headers,
|
|
@@ -11,15 +11,16 @@ function m(r, a = "https://api.d-id.com") {
|
|
|
11
11
|
"Content-Type": "application/json"
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
|
-
if (!
|
|
15
|
-
let
|
|
14
|
+
if (!s.ok) {
|
|
15
|
+
let u = await s.text().catch(() => "Failed to fetch");
|
|
16
16
|
try {
|
|
17
|
-
c = JSON.parse(
|
|
17
|
+
const c = JSON.parse(u);
|
|
18
|
+
c.description ? u = c.description : c.message && (u = c.message);
|
|
18
19
|
} catch {
|
|
19
20
|
}
|
|
20
|
-
throw new Error(
|
|
21
|
+
throw new Error(u);
|
|
21
22
|
}
|
|
22
|
-
return
|
|
23
|
+
return s.json();
|
|
23
24
|
};
|
|
24
25
|
return {
|
|
25
26
|
get(e, t) {
|
|
@@ -28,31 +29,31 @@ function m(r, a = "https://api.d-id.com") {
|
|
|
28
29
|
method: "GET"
|
|
29
30
|
});
|
|
30
31
|
},
|
|
31
|
-
post(e, t,
|
|
32
|
+
post(e, t, s) {
|
|
32
33
|
return n(e, {
|
|
33
|
-
...
|
|
34
|
+
...s,
|
|
34
35
|
body: JSON.stringify(t),
|
|
35
36
|
method: "POST"
|
|
36
37
|
});
|
|
37
38
|
},
|
|
38
|
-
delete(e, t,
|
|
39
|
+
delete(e, t, s) {
|
|
39
40
|
return n(e, {
|
|
40
|
-
...
|
|
41
|
+
...s,
|
|
41
42
|
body: JSON.stringify(t),
|
|
42
43
|
method: "DELETE"
|
|
43
44
|
});
|
|
44
45
|
},
|
|
45
|
-
patch(e, t,
|
|
46
|
+
patch(e, t, s) {
|
|
46
47
|
return n(e, {
|
|
47
|
-
...
|
|
48
|
+
...s,
|
|
48
49
|
body: JSON.stringify(t),
|
|
49
50
|
method: "PATCH"
|
|
50
51
|
});
|
|
51
52
|
}
|
|
52
53
|
};
|
|
53
54
|
}
|
|
54
|
-
function
|
|
55
|
-
const n =
|
|
55
|
+
function K(r, o = "https://api.d-id.com") {
|
|
56
|
+
const n = g(r, `${o}/knowledge`);
|
|
56
57
|
return {
|
|
57
58
|
createKnowledge(e) {
|
|
58
59
|
return n.post("/", e);
|
|
@@ -88,8 +89,8 @@ function D(r, a = "https://api.d-id.com") {
|
|
|
88
89
|
}
|
|
89
90
|
};
|
|
90
91
|
}
|
|
91
|
-
function
|
|
92
|
-
const n =
|
|
92
|
+
function O(r, o = "https://api.d-id.com") {
|
|
93
|
+
const n = g(r, `${o}/agents`);
|
|
93
94
|
return {
|
|
94
95
|
create(e) {
|
|
95
96
|
return n.post("/", e);
|
|
@@ -111,8 +112,8 @@ function K(r, a = "https://api.d-id.com") {
|
|
|
111
112
|
}
|
|
112
113
|
};
|
|
113
114
|
}
|
|
114
|
-
function A(r,
|
|
115
|
-
const n =
|
|
115
|
+
function A(r, o) {
|
|
116
|
+
const n = g(r, o);
|
|
116
117
|
return {
|
|
117
118
|
createStream(e) {
|
|
118
119
|
return n.post("/clips/streams", {
|
|
@@ -121,22 +122,22 @@ function A(r, a) {
|
|
|
121
122
|
compatibility_mode: e.compatibility_mode
|
|
122
123
|
});
|
|
123
124
|
},
|
|
124
|
-
startConnection(e, t,
|
|
125
|
+
startConnection(e, t, s) {
|
|
125
126
|
return n.post(`/clips/streams/${e}/sdp`, {
|
|
126
|
-
session_id:
|
|
127
|
+
session_id: s,
|
|
127
128
|
answer: t
|
|
128
129
|
});
|
|
129
130
|
},
|
|
130
|
-
addIceCandidate(e, t,
|
|
131
|
+
addIceCandidate(e, t, s) {
|
|
131
132
|
return n.post(`/clips/streams/${e}/ice`, {
|
|
132
|
-
session_id:
|
|
133
|
+
session_id: s,
|
|
133
134
|
...t
|
|
134
135
|
});
|
|
135
136
|
},
|
|
136
|
-
sendStreamRequest(e, t,
|
|
137
|
+
sendStreamRequest(e, t, s) {
|
|
137
138
|
return n.post(`/clips/streams/${e}`, {
|
|
138
139
|
session_id: t,
|
|
139
|
-
...
|
|
140
|
+
...s
|
|
140
141
|
});
|
|
141
142
|
},
|
|
142
143
|
close(e, t) {
|
|
@@ -146,8 +147,8 @@ function A(r, a) {
|
|
|
146
147
|
}
|
|
147
148
|
};
|
|
148
149
|
}
|
|
149
|
-
function
|
|
150
|
-
const n =
|
|
150
|
+
function T(r, o) {
|
|
151
|
+
const n = g(r, o);
|
|
151
152
|
return {
|
|
152
153
|
createStream(e) {
|
|
153
154
|
return n.post("/talks/streams", {
|
|
@@ -157,22 +158,22 @@ function O(r, a) {
|
|
|
157
158
|
config: e.config
|
|
158
159
|
});
|
|
159
160
|
},
|
|
160
|
-
startConnection(e, t,
|
|
161
|
+
startConnection(e, t, s) {
|
|
161
162
|
return n.post(`/talks/streams/${e}/sdp`, {
|
|
162
|
-
session_id:
|
|
163
|
+
session_id: s,
|
|
163
164
|
answer: t
|
|
164
165
|
});
|
|
165
166
|
},
|
|
166
|
-
addIceCandidate(e, t,
|
|
167
|
+
addIceCandidate(e, t, s) {
|
|
167
168
|
return n.post(`/talks/streams/${e}/ice`, {
|
|
168
|
-
session_id:
|
|
169
|
+
session_id: s,
|
|
169
170
|
...t
|
|
170
171
|
});
|
|
171
172
|
},
|
|
172
|
-
sendStreamRequest(e, t,
|
|
173
|
+
sendStreamRequest(e, t, s) {
|
|
173
174
|
return n.post(`/talks/streams/${e}`, {
|
|
174
175
|
session_id: t,
|
|
175
|
-
...
|
|
176
|
+
...s
|
|
176
177
|
});
|
|
177
178
|
},
|
|
178
179
|
close(e, t) {
|
|
@@ -182,61 +183,61 @@ function O(r, a) {
|
|
|
182
183
|
}
|
|
183
184
|
};
|
|
184
185
|
}
|
|
185
|
-
var
|
|
186
|
+
var m = /* @__PURE__ */ ((r) => (r.Idle = "IDLE", r.Streaming = "STREAMING", r))(m || {}), w = /* @__PURE__ */ ((r) => (r.Clip = "clip", r.Talk = "talk", r))(w || {});
|
|
186
187
|
let $ = !1;
|
|
187
|
-
const d = (r,
|
|
188
|
-
async function
|
|
189
|
-
debug:
|
|
188
|
+
const d = (r, o) => $ && console.log(r, o), D = (window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection).bind(window);
|
|
189
|
+
async function E(r, {
|
|
190
|
+
debug: o = !1,
|
|
190
191
|
callbacks: n,
|
|
191
192
|
auth: e,
|
|
192
193
|
baseURL: t = "https://api.d-id.com"
|
|
193
194
|
}) {
|
|
194
|
-
$ =
|
|
195
|
-
let
|
|
195
|
+
$ = o;
|
|
196
|
+
let s = null;
|
|
196
197
|
const {
|
|
197
|
-
startConnection:
|
|
198
|
-
sendStreamRequest:
|
|
198
|
+
startConnection: u,
|
|
199
|
+
sendStreamRequest: c,
|
|
199
200
|
close: h,
|
|
200
201
|
createStream: S,
|
|
201
|
-
addIceCandidate:
|
|
202
|
-
} = r.videoType === w.Clip ? A(e, t) :
|
|
203
|
-
id:
|
|
204
|
-
offer:
|
|
202
|
+
addIceCandidate: _
|
|
203
|
+
} = r.videoType === w.Clip ? A(e, t) : T(e, t), {
|
|
204
|
+
id: l,
|
|
205
|
+
offer: y,
|
|
205
206
|
ice_servers: I,
|
|
206
|
-
session_id:
|
|
207
|
-
} = await S(r),
|
|
207
|
+
session_id: p
|
|
208
|
+
} = await S(r), a = new D({
|
|
208
209
|
iceServers: I
|
|
209
|
-
}), C =
|
|
210
|
-
if (!
|
|
210
|
+
}), C = a.createDataChannel("JanusDataChannel");
|
|
211
|
+
if (!p)
|
|
211
212
|
throw new Error("Could not create session_id");
|
|
212
|
-
|
|
213
|
-
d("peerConnection.onicecandidate",
|
|
214
|
-
candidate:
|
|
215
|
-
sdpMid:
|
|
216
|
-
sdpMLineIndex:
|
|
217
|
-
},
|
|
218
|
-
},
|
|
219
|
-
d("peerConnection.oniceconnectionstatechange => " +
|
|
220
|
-
},
|
|
221
|
-
d("peerConnection.ontrack",
|
|
222
|
-
}, C.onmessage = (
|
|
223
|
-
C.readyState === "open" && n.onStreamingStateChange(
|
|
224
|
-
}, await
|
|
225
|
-
const f = await
|
|
226
|
-
return d("create answer OK"), await
|
|
227
|
-
speak(
|
|
228
|
-
return
|
|
213
|
+
a.onicecandidate = (i) => {
|
|
214
|
+
d("peerConnection.onicecandidate", i), i.candidate && i.candidate.sdpMid && i.candidate.sdpMLineIndex !== null && _(l, {
|
|
215
|
+
candidate: i.candidate.candidate,
|
|
216
|
+
sdpMid: i.candidate.sdpMid,
|
|
217
|
+
sdpMLineIndex: i.candidate.sdpMLineIndex
|
|
218
|
+
}, p);
|
|
219
|
+
}, a.oniceconnectionstatechange = () => {
|
|
220
|
+
d("peerConnection.oniceconnectionstatechange => " + a.iceConnectionState), n.onConnectionStateChange(a.iceConnectionState);
|
|
221
|
+
}, a.ontrack = (i) => {
|
|
222
|
+
d("peerConnection.ontrack", i), s = i.streams[0], n.onSrcObjectReady(s);
|
|
223
|
+
}, C.onmessage = (i) => {
|
|
224
|
+
C.readyState === "open" && n.onStreamingStateChange(i.data === "stream/done" ? m.Idle : m.Streaming);
|
|
225
|
+
}, await a.setRemoteDescription(y), d("set remote description OK");
|
|
226
|
+
const f = await a.createAnswer();
|
|
227
|
+
return d("create answer OK"), await a.setLocalDescription(f), d("set local description OK"), await u(l, f, p), d("start connection OK"), {
|
|
228
|
+
speak(i) {
|
|
229
|
+
return c(l, p, i);
|
|
229
230
|
},
|
|
230
231
|
async terminate() {
|
|
231
|
-
|
|
232
|
+
l && (s && (s.getTracks().forEach((i) => i.stop()), s = null), a && (a.close(), a.oniceconnectionstatechange = null, a.onnegotiationneeded = null, a.onicecandidate = null, a.ontrack = null), await h(l, p), n.onConnectionStateChange("closed"), n.onStreamingStateChange(m.Idle));
|
|
232
233
|
},
|
|
233
|
-
sessionId:
|
|
234
|
-
streamId:
|
|
234
|
+
sessionId: p,
|
|
235
|
+
streamId: l
|
|
235
236
|
};
|
|
236
237
|
}
|
|
237
238
|
export {
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
239
|
+
O as createAgentsApi,
|
|
240
|
+
g as createClient,
|
|
241
|
+
K as createKnowledgeApi,
|
|
242
|
+
E as createStreamingManager
|
|
242
243
|
};
|
package/dist/index.umd.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(c,g){typeof exports=="object"&&typeof module<"u"?g(exports):typeof define=="function"&&define.amd?define(["exports"],g):(c=typeof globalThis<"u"?globalThis:c||self,g(c.index={}))})(this,function(c){"use strict";function g(r){return r.type==="bearer"?"Bearer "+r.token:r.type==="basic"?"Basic "+btoa(`${r.username}:${r.password}`):"Client-Key "+r.clientKey}function f(r,a="https://api.d-id.com"){const n=async(e,t)=>{const i=await fetch(a+(e!=null&&e.startsWith("/")?e:`/${e}`),{...t,headers:{...t==null?void 0:t.headers,Authorization:g(r),"Content-Type":"application/json"}});if(!i.ok){let l=await i.text().catch(()=>"Failed to fetch");try{const u=JSON.parse(l);u.description?l=u.description:u.message&&(l=u.message)}catch{}throw new Error(l)}return i.json()};return{get(e,t){return n(e,{...t,method:"GET"})},post(e,t,i){return n(e,{...i,body:JSON.stringify(t),method:"POST"})},delete(e,t,i){return n(e,{...i,body:JSON.stringify(t),method:"DELETE"})},patch(e,t,i){return n(e,{...i,body:JSON.stringify(t),method:"PATCH"})}}}function y(r,a="https://api.d-id.com"){const n=f(r,`${a}/knowledge`);return{createKnowledge(e){return n.post("/",e)},getKnowledgeBase(){return n.get("/")},getKnowledge(e){return n.get(`/${e}`)},deleteKnowledge(e){return n.delete(`/${e}`)},createDocument(e,t){return n.post(`/${e}/documents`,t)},deleteDocument(e,t){return n.delete(`/${e}/documents/${t}`)},getDocuments(e){return n.get(`/${e}/documents`)},getDocument(e,t){return n.get(`/${e}/documents/${t}`)},getRecords(e,t){return n.get(`/${e}/documents/${t}/records`)},query(e,t){return n.post(`/${e}/query`,{query:t})}}}function _(r,a="https://api.d-id.com"){const n=f(r,`${a}/agents`);return{create(e){return n.post("/",e)},getAgents(e){return n.get(`/${e?`?tag=${e}`:""}`)},getById(e){return n.get(`/${e}`)},delete(e){return n.delete(`/${e}`)},update(e,t){return n.patch(`/${e}`,t)},chat(e,t){return n.post(`/${e}/chat`,t)}}}function A(r,a){const n=f(r,a);return{createStream(e){return n.post("/clips/streams",{driver_id:e.driver_id,presenter_id:e.presenter_id,compatibility_mode:e.compatibility_mode})},startConnection(e,t,i){return n.post(`/clips/streams/${e}/sdp`,{session_id:i,answer:t})},addIceCandidate(e,t,i){return n.post(`/clips/streams/${e}/ice`,{session_id:i,...t})},sendStreamRequest(e,t,i){return n.post(`/clips/streams/${e}`,{session_id:t,...i})},close(e,t){return n.delete(`/clips/streams/${e}`,{session_id:t})}}}function I(r,a){const n=f(r,a);return{createStream(e){return n.post("/talks/streams",{source_url:e.source_url,driver_url:e.driver_url,face:e.face,config:e.config})},startConnection(e,t,i){return n.post(`/talks/streams/${e}/sdp`,{session_id:i,answer:t})},addIceCandidate(e,t,i){return n.post(`/talks/streams/${e}/ice`,{session_id:i,...t})},sendStreamRequest(e,t,i){return n.post(`/talks/streams/${e}`,{session_id:t,...i})},close(e,t){return n.delete(`/talks/streams/${e}`,{session_id:t})}}}var C=(r=>(r.Idle="IDLE",r.Streaming="STREAMING",r))(C||{}),w=(r=>(r.Clip="clip",r.Talk="talk",r))(w||{});let h=!1;const d=(r,a)=>h&&console.log(r,a),T=(window.RTCPeerConnection||window.webkitRTCPeerConnection||window.mozRTCPeerConnection).bind(window);async function k(r,{debug:a=!1,callbacks:n,auth:e,baseURL:t="https://api.d-id.com"}){h=a;let i=null;const{startConnection:l,sendStreamRequest:u,close:K,createStream:O,addIceCandidate:b}=r.videoType===w.Clip?A(e,t):I(e,t),{id:p,offer:D,ice_servers:E,session_id:m}=await O(r),o=new T({iceServers:E}),$=o.createDataChannel("JanusDataChannel");if(!m)throw new Error("Could not create session_id");o.onicecandidate=s=>{d("peerConnection.onicecandidate",s),s.candidate&&s.candidate.sdpMid&&s.candidate.sdpMLineIndex!==null&&b(p,{candidate:s.candidate.candidate,sdpMid:s.candidate.sdpMid,sdpMLineIndex:s.candidate.sdpMLineIndex},m)},o.oniceconnectionstatechange=()=>{d("peerConnection.oniceconnectionstatechange => "+o.iceConnectionState),n.onConnectionStateChange(o.iceConnectionState)},o.ontrack=s=>{d("peerConnection.ontrack",s),i=s.streams[0],n.onSrcObjectReady(i)},$.onmessage=s=>{$.readyState==="open"&&n.onStreamingStateChange(s.data==="stream/done"?C.Idle:C.Streaming)},await o.setRemoteDescription(D),d("set remote description OK");const S=await o.createAnswer();return d("create answer OK"),await o.setLocalDescription(S),d("set local description OK"),await l(p,S,m),d("start connection OK"),{speak(s){return u(p,m,s)},async terminate(){p&&(i&&(i.getTracks().forEach(s=>s.stop()),i=null),o&&(o.close(),o.oniceconnectionstatechange=null,o.onnegotiationneeded=null,o.onicecandidate=null,o.ontrack=null),await K(p,m),n.onConnectionStateChange("closed"),n.onStreamingStateChange(C.Idle))},sessionId:m,streamId:p}}c.createAgentsApi=_,c.createClient=f,c.createKnowledgeApi=y,c.createStreamingManager=k,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
|