@unboundcx/sdk 4.1.0 → 4.1.2
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/package.json +1 -1
- package/services/liveQuery.js +8 -0
- package/services/video.js +18 -0
- package/services/voice.js +7 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unboundcx/sdk",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.2",
|
|
4
4
|
"description": "Official JavaScript SDK for the Unbound API - A comprehensive toolkit for integrating with Unbound's communication, AI, and data management services",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"type": "module",
|
package/services/liveQuery.js
CHANGED
|
@@ -154,6 +154,14 @@ class LiveQueryHandle {
|
|
|
154
154
|
this.subscriptionId = ack.subscriptionId;
|
|
155
155
|
this.mode = ack.mode;
|
|
156
156
|
this.seq = 0;
|
|
157
|
+
// Re-resolve the manager at registration time: if a concurrent
|
|
158
|
+
// unsubscribe drained the manager while this subscribe was in flight,
|
|
159
|
+
// destroy() stripped its socket listeners and dropped it from
|
|
160
|
+
// socketManagers - registering onto that dead instance would leave this
|
|
161
|
+
// handle deaf (server sub alive, frames arriving at the socket, nothing
|
|
162
|
+
// listening). getSocketManager() returns a fresh, listening manager in
|
|
163
|
+
// that case.
|
|
164
|
+
this.manager = getSocketManager(this.socket);
|
|
157
165
|
this.manager.register(this);
|
|
158
166
|
this._setState('active');
|
|
159
167
|
return ack;
|
package/services/video.js
CHANGED
|
@@ -1043,6 +1043,24 @@ export class VideoService {
|
|
|
1043
1043
|
return result;
|
|
1044
1044
|
}
|
|
1045
1045
|
|
|
1046
|
+
/**
|
|
1047
|
+
* Get live presence for a video room (current participants, grouped by
|
|
1048
|
+
* waiting-room state)
|
|
1049
|
+
* @param {string} roomId - The video room ID
|
|
1050
|
+
* @returns {Promise} Live presence info
|
|
1051
|
+
*/
|
|
1052
|
+
async getLivePresence(roomId) {
|
|
1053
|
+
this.sdk.validateParams(
|
|
1054
|
+
{ roomId },
|
|
1055
|
+
{
|
|
1056
|
+
roomId: { type: 'string', required: true },
|
|
1057
|
+
},
|
|
1058
|
+
);
|
|
1059
|
+
|
|
1060
|
+
const result = await this.sdk._fetch(`/video/${roomId}/livePresence`, 'GET');
|
|
1061
|
+
return result;
|
|
1062
|
+
}
|
|
1063
|
+
|
|
1046
1064
|
/**
|
|
1047
1065
|
* Get the AI-generated summary for a video room's transcript
|
|
1048
1066
|
* @param {string} roomId - The video room ID
|
package/services/voice.js
CHANGED
|
@@ -22,9 +22,9 @@ export class VoiceService {
|
|
|
22
22
|
return result;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
async call({ to, from, destination, app, timeout, customHeaders }) {
|
|
25
|
+
async call({ to, from, destination, app, timeout, customHeaders, statusWebhook }) {
|
|
26
26
|
this.sdk.validateParams(
|
|
27
|
-
{ to, from, destination, app, timeout, customHeaders },
|
|
27
|
+
{ to, from, destination, app, timeout, customHeaders, statusWebhook },
|
|
28
28
|
{
|
|
29
29
|
to: { type: 'string', required: true },
|
|
30
30
|
from: { type: 'string', required: true },
|
|
@@ -32,6 +32,10 @@ export class VoiceService {
|
|
|
32
32
|
app: { type: 'object', required: false },
|
|
33
33
|
timeout: { type: 'number', required: false },
|
|
34
34
|
customHeaders: { type: 'object', required: false },
|
|
35
|
+
// { url, static } — internal endpoint that receives call progress
|
|
36
|
+
// events (trying/ringing/answered/failed) with `static` fields
|
|
37
|
+
// merged into each POST body
|
|
38
|
+
statusWebhook: { type: 'object', required: false },
|
|
35
39
|
},
|
|
36
40
|
);
|
|
37
41
|
|
|
@@ -43,6 +47,7 @@ export class VoiceService {
|
|
|
43
47
|
app,
|
|
44
48
|
timeout,
|
|
45
49
|
customHeaders,
|
|
50
|
+
statusWebhook,
|
|
46
51
|
},
|
|
47
52
|
};
|
|
48
53
|
|