@videosdk.live/react-sdk 0.6.8 → 0.8.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/index.js +191 -3
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +190 -4
- package/dist/index.modern.js.map +1 -1
- package/dist/types/agentParticipant.d.ts +138 -0
- package/dist/types/index.d.ts +201 -2
- package/package.json +2 -2
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
export class AgentParticipant {
|
|
2
|
+
/**
|
|
3
|
+
* @description This represents the participant's ID
|
|
4
|
+
*/
|
|
5
|
+
id: string;
|
|
6
|
+
/**
|
|
7
|
+
* @description This represents the participant's name
|
|
8
|
+
*/
|
|
9
|
+
displayName: string;
|
|
10
|
+
/**
|
|
11
|
+
* @description This represents the all the Streams that the participant is producing
|
|
12
|
+
*
|
|
13
|
+
*/
|
|
14
|
+
streams: Map<string, Stream>;
|
|
15
|
+
/**
|
|
16
|
+
* @description This represents whether the participant is an agent.
|
|
17
|
+
*/
|
|
18
|
+
isAgent: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* @description This represents the agent ID of the agentParticipant.
|
|
21
|
+
*/
|
|
22
|
+
agentId: string;
|
|
23
|
+
/**
|
|
24
|
+
* @description This represents participant's current pin state
|
|
25
|
+
*
|
|
26
|
+
*/
|
|
27
|
+
pinState: {
|
|
28
|
+
cam: boolean;
|
|
29
|
+
share: boolean;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* @description This represents participant's current webcam status
|
|
33
|
+
*/
|
|
34
|
+
webcamOn: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* @description This represents participant's current mic status
|
|
37
|
+
*
|
|
38
|
+
*/
|
|
39
|
+
micOn: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* @description This represents participant's current mode
|
|
42
|
+
*
|
|
43
|
+
*/
|
|
44
|
+
mode: 'SEND_AND_RECV' | 'SIGNALLING_ONLY' | 'RECV_ONLY'
|
|
45
|
+
/**
|
|
46
|
+
* @description This represents metaData which is passed in MeetingProvider
|
|
47
|
+
*
|
|
48
|
+
*/
|
|
49
|
+
metaData: object;
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* @description This method can be used to kickout a participant from the meeting
|
|
53
|
+
*/
|
|
54
|
+
remove(): void;
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* @param type If `SHARE_AND_CAM` is provided, it will pin screenshare and camera of the participant.
|
|
58
|
+
* If `CAM` is provided, it will only pin the participant's camera, If `SHARE` is provided, it will only pin the participant's screen share
|
|
59
|
+
*/
|
|
60
|
+
pin(type: 'SHARE_AND_CAM' | 'CAM' | 'SHARE'): void;
|
|
61
|
+
/**
|
|
62
|
+
* @param type If `SHARE_AND_CAM` is provided, it will unpin screenshare and camera of the participant.
|
|
63
|
+
* If `CAM` is provided, it will only unpin the participant's camera, If `SHARE` is provided, it will only unpin the participant's screen share
|
|
64
|
+
*/
|
|
65
|
+
unpin(type: 'SHARE_AND_CAM' | 'CAM' | 'SHARE'): void;
|
|
66
|
+
/**
|
|
67
|
+
* @description This method returns the Video Statistics of the participant.
|
|
68
|
+
* To learn more about the video statistics check these [reference](https://docs.videosdk.live/react/guide/video-and-audio-calling-api-sdk/render-media/understanding-call-quality)
|
|
69
|
+
*/
|
|
70
|
+
getVideoStats(): Promise<
|
|
71
|
+
Array<{
|
|
72
|
+
bitrate: number;
|
|
73
|
+
rtt: number;
|
|
74
|
+
network: string;
|
|
75
|
+
codec: string;
|
|
76
|
+
jitter: number;
|
|
77
|
+
limitation: any;
|
|
78
|
+
totalPackets: number;
|
|
79
|
+
packetsLost: number;
|
|
80
|
+
concealmentEvents: number;
|
|
81
|
+
insertedSamplesForDecelaration: number;
|
|
82
|
+
removedSamplesForAccelaration: number;
|
|
83
|
+
size: any;
|
|
84
|
+
currentSpatialLayer: number;
|
|
85
|
+
currentTemporalLayer: number;
|
|
86
|
+
preferredSpatialLayer: number;
|
|
87
|
+
preferredTemporalLayer: number;
|
|
88
|
+
}>
|
|
89
|
+
>;
|
|
90
|
+
/**
|
|
91
|
+
* @description This method returns the Audio Statistics of the participant.
|
|
92
|
+
* To learn more about the video statistics check these [reference](https://docs.videosdk.live/react/guide/video-and-audio-calling-api-sdk/render-media/understanding-call-quality)
|
|
93
|
+
*/
|
|
94
|
+
getAudioStats(): Promise<
|
|
95
|
+
Array<{
|
|
96
|
+
bitrate: number;
|
|
97
|
+
rtt: number;
|
|
98
|
+
network: string;
|
|
99
|
+
codec: string;
|
|
100
|
+
jitter: number;
|
|
101
|
+
totalPackets: number;
|
|
102
|
+
packetsLost: number;
|
|
103
|
+
concealmentEvents: number;
|
|
104
|
+
insertedSamplesForDecelaration: number;
|
|
105
|
+
removedSamplesForAccelaration: number;
|
|
106
|
+
size: any;
|
|
107
|
+
}>
|
|
108
|
+
>;
|
|
109
|
+
/**
|
|
110
|
+
* Add event listener
|
|
111
|
+
* @param eventType Event name to which you want to subscribe.
|
|
112
|
+
* @param listener Callback function which will be triggered when the event happens
|
|
113
|
+
*/
|
|
114
|
+
on(
|
|
115
|
+
eventType:
|
|
116
|
+
| "stream-enabled"
|
|
117
|
+
| "stream-disabled"
|
|
118
|
+
| "media-status-changed"
|
|
119
|
+
| "agent-state-changed"
|
|
120
|
+
| "transcription-received",
|
|
121
|
+
listener: (data: any) => void
|
|
122
|
+
): void;
|
|
123
|
+
/**
|
|
124
|
+
* Remove event
|
|
125
|
+
* @param eventType Event name to which you want to unsubscribe.
|
|
126
|
+
* @param listener Callback function which was passed while subscribing to the event
|
|
127
|
+
*/
|
|
128
|
+
off(
|
|
129
|
+
eventType:
|
|
130
|
+
| "stream-enabled"
|
|
131
|
+
| "stream-disabled"
|
|
132
|
+
| "media-status-changed"
|
|
133
|
+
| "agent-state-changed"
|
|
134
|
+
| "transcription-received",
|
|
135
|
+
listener: (data: any) => void
|
|
136
|
+
): void;
|
|
137
|
+
}
|
|
138
|
+
import { Stream } from './stream';
|
package/dist/types/index.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
import { Permission } from './permission';
|
|
17
17
|
import { Meeting } from './meeting';
|
|
18
18
|
import { Participant } from './participant';
|
|
19
|
+
import { AgentParticipant } from './agentParticipant';
|
|
19
20
|
import { Stream } from './stream';
|
|
20
21
|
import { Character, CharacterMode, CharacterState } from './character';
|
|
21
22
|
/**
|
|
@@ -420,7 +421,7 @@ export function useMediaDevice({
|
|
|
420
421
|
*
|
|
421
422
|
* **Code Example :**
|
|
422
423
|
* ```js
|
|
423
|
-
* function onMediaStatusChanged(
|
|
424
|
+
* function onMediaStatusChanged(data) {
|
|
424
425
|
* const { kind, newStatus} = data;
|
|
425
426
|
* console.log("onMediaStatusChanged", kind, newStatus);
|
|
426
427
|
* }
|
|
@@ -435,7 +436,7 @@ export function useMediaDevice({
|
|
|
435
436
|
*
|
|
436
437
|
* **Code Example :**
|
|
437
438
|
* ```js
|
|
438
|
-
* function onVideoQualityChanged(
|
|
439
|
+
* function onVideoQualityChanged(data) {
|
|
439
440
|
* const { currentQuality, prevQuality } = data;
|
|
440
441
|
* console.log("onVideoQualityChanged", currentQuality, prevQuality );
|
|
441
442
|
* }
|
|
@@ -630,6 +631,167 @@ export function useParticipant(
|
|
|
630
631
|
>;
|
|
631
632
|
};
|
|
632
633
|
|
|
634
|
+
/**
|
|
635
|
+
*
|
|
636
|
+
* @param participantId - Id of the participant.
|
|
637
|
+
* ---
|
|
638
|
+
* @param onStreamEnabled - It's a callback which gets triggered whenever a participant's video, audio or screen share stream is enabled.
|
|
639
|
+
*
|
|
640
|
+
* **Code Example :**
|
|
641
|
+
* ```js
|
|
642
|
+
* function onStreamEnabled(stream) {
|
|
643
|
+
* console.log("onStreamEnabled", stream);
|
|
644
|
+
* }
|
|
645
|
+
* const { displayName } = useAgentParticipant(participantId,{
|
|
646
|
+
* onStreamEnabled
|
|
647
|
+
* });
|
|
648
|
+
* ```
|
|
649
|
+
* ---
|
|
650
|
+
* @param onStreamDisabled - It's a callback which gets triggered whenever a participant's video, audio or screen share stream is disabled.
|
|
651
|
+
*
|
|
652
|
+
* **Code Example :**
|
|
653
|
+
* ```js
|
|
654
|
+
* function onStreamEnabled(stream) {
|
|
655
|
+
* console.log("onStreamEnabled", stream);
|
|
656
|
+
* }
|
|
657
|
+
* const { displayName } = useAgentParticipant(participantId,{
|
|
658
|
+
* onStreamEnabled
|
|
659
|
+
* });
|
|
660
|
+
* ```
|
|
661
|
+
* ---
|
|
662
|
+
* @param onMediaStatusChanged - It's a callback which gets triggered whenever a participant's video, audio, screenshare or screenshare audio is disabled or enabled.
|
|
663
|
+
*
|
|
664
|
+
* **Code Example :**
|
|
665
|
+
* ```js
|
|
666
|
+
* function onMediaStatusChanged(data) {
|
|
667
|
+
* const { kind, newStatus} = data;
|
|
668
|
+
* console.log("onMediaStatusChanged", kind, newStatus);
|
|
669
|
+
* }
|
|
670
|
+
* const { displayName } = useAgentParticipant(participantId,{
|
|
671
|
+
* onMediaStatusChanged
|
|
672
|
+
* });
|
|
673
|
+
* ```
|
|
674
|
+
* ---
|
|
675
|
+
* @param onAgentTranscriptionReceived - It's a callback which gets triggered whenever a participant's transcription is received.
|
|
676
|
+
*
|
|
677
|
+
* **Code Example :**
|
|
678
|
+
* ```js
|
|
679
|
+
* function onAgentTranscriptionReceived(data) {
|
|
680
|
+
* const { segment, participant } = data;
|
|
681
|
+
* const {text, timestamp} = segment;
|
|
682
|
+
*
|
|
683
|
+
* console.log("onAgentTranscriptionReceived", text, timestamp, participant);
|
|
684
|
+
* }
|
|
685
|
+
* const { displayName } = useAgentParticipant(participantId,{
|
|
686
|
+
* onAgentTranscriptionReceived
|
|
687
|
+
* });
|
|
688
|
+
* ```
|
|
689
|
+
* ---
|
|
690
|
+
* @param onAgentStateChanged - It's a callback which gets triggered whenever a participant's agent state is changed.
|
|
691
|
+
*
|
|
692
|
+
* **Code Example :**
|
|
693
|
+
* ```js
|
|
694
|
+
* function onAgentStateChanged(data) {
|
|
695
|
+
* console.log("onAgentStateChanged", data.state);
|
|
696
|
+
* }
|
|
697
|
+
* const { displayName } = useAgentParticipant(participantId,{
|
|
698
|
+
* onAgentStateChanged
|
|
699
|
+
* });
|
|
700
|
+
* ```
|
|
701
|
+
* ---
|
|
702
|
+
* @returns This will return particular participant properties and method. You can refer this [API Reference](https://docs.videosdk.live/react/api/sdk-reference/use-participant/introduction)
|
|
703
|
+
*/
|
|
704
|
+
export function useAgentParticipant(
|
|
705
|
+
participantId: string,
|
|
706
|
+
{
|
|
707
|
+
onStreamEnabled,
|
|
708
|
+
onStreamDisabled,
|
|
709
|
+
onMediaStatusChanged,
|
|
710
|
+
onAgentTranscriptionReceived,
|
|
711
|
+
onAgentStateChanged
|
|
712
|
+
}?: {
|
|
713
|
+
onStreamDisabled?: (stream: Stream) => void;
|
|
714
|
+
onStreamEnabled?: (stream: Stream) => void;
|
|
715
|
+
onMediaStatusChanged?: ({
|
|
716
|
+
kind,
|
|
717
|
+
peerId,
|
|
718
|
+
newStatus
|
|
719
|
+
}: {
|
|
720
|
+
kind: 'audio' | 'video' | 'share' | 'shareAudio';
|
|
721
|
+
peerId: string;
|
|
722
|
+
newStatus: boolean;
|
|
723
|
+
}) => void;
|
|
724
|
+
onAgentTranscriptionReceived? :({
|
|
725
|
+
segment : {
|
|
726
|
+
text,
|
|
727
|
+
timestamp
|
|
728
|
+
},
|
|
729
|
+
participant
|
|
730
|
+
}:{
|
|
731
|
+
segment :{
|
|
732
|
+
text: string;
|
|
733
|
+
timestamp: number;
|
|
734
|
+
}
|
|
735
|
+
participant: Participant | AgentParticipant,
|
|
736
|
+
}) => void;
|
|
737
|
+
onAgentStateChanged?:({
|
|
738
|
+
state
|
|
739
|
+
}:{
|
|
740
|
+
state: string;
|
|
741
|
+
})=>void;
|
|
742
|
+
}
|
|
743
|
+
): {
|
|
744
|
+
displayName: string;
|
|
745
|
+
agentParticipant: AgentParticipant;
|
|
746
|
+
webcamStream: Stream;
|
|
747
|
+
micStream: Stream;
|
|
748
|
+
webcamOn: boolean;
|
|
749
|
+
micOn: boolean;
|
|
750
|
+
isActiveSpeaker: boolean;
|
|
751
|
+
pinState: any;
|
|
752
|
+
agentState: string;
|
|
753
|
+
mode: 'SEND_AND_RECV' | 'SIGNALLING_ONLY' | 'RECV_ONLY'
|
|
754
|
+
remove: () => void;
|
|
755
|
+
pin: (data: 'SHARE_AND_CAM' | 'CAM' | 'SHARE') => void;
|
|
756
|
+
unpin: (data: 'SHARE_AND_CAM' | 'CAM' | 'SHARE') => void;
|
|
757
|
+
getAudioStats: () => Promise<
|
|
758
|
+
Array<{
|
|
759
|
+
bitrate: number;
|
|
760
|
+
rtt: number;
|
|
761
|
+
network: string;
|
|
762
|
+
codec: string;
|
|
763
|
+
jitter: number;
|
|
764
|
+
limitation: any;
|
|
765
|
+
totalPackets: number;
|
|
766
|
+
packetsLost: number;
|
|
767
|
+
concealmentEvents: number;
|
|
768
|
+
insertedSamplesForDecelaration: number;
|
|
769
|
+
removedSamplesForAccelaration: number;
|
|
770
|
+
size: any;
|
|
771
|
+
}>
|
|
772
|
+
>;
|
|
773
|
+
getVideoStats: () => Promise<
|
|
774
|
+
Array<{
|
|
775
|
+
bitrate: number;
|
|
776
|
+
rtt: number;
|
|
777
|
+
network: string;
|
|
778
|
+
codec: string;
|
|
779
|
+
jitter: number;
|
|
780
|
+
limitation: any;
|
|
781
|
+
totalPackets: number;
|
|
782
|
+
packetsLost: number;
|
|
783
|
+
concealmentEvents: number;
|
|
784
|
+
insertedSamplesForDecelaration: number;
|
|
785
|
+
removedSamplesForAccelaration: number;
|
|
786
|
+
size: any;
|
|
787
|
+
currentSpatialLayer: number;
|
|
788
|
+
currentTemporalLayer: number;
|
|
789
|
+
preferredSpatialLayer: number;
|
|
790
|
+
preferredTemporalLayer: number;
|
|
791
|
+
}>
|
|
792
|
+
>;
|
|
793
|
+
};
|
|
794
|
+
|
|
633
795
|
/**
|
|
634
796
|
*
|
|
635
797
|
* @param streamId - ID of the stream.
|
|
@@ -1934,6 +2096,29 @@ export function withAdaptiveObservers(
|
|
|
1934
2096
|
debounceDelay?: number
|
|
1935
2097
|
): React.ComponentType<any>;
|
|
1936
2098
|
|
|
2099
|
+
/**
|
|
2100
|
+
* Updates the SDK logging verbosity level.
|
|
2101
|
+
*
|
|
2102
|
+
* Higher verbosity levels show more detailed logs, including messages from lower levels, helping with debugging while keeping console output manageable.
|
|
2103
|
+
*
|
|
2104
|
+
* The log level can be modified at runtime and is applied immediately.
|
|
2105
|
+
*
|
|
2106
|
+
* @example
|
|
2107
|
+
* ```js
|
|
2108
|
+
* import {setLogLevel , Constants} from "@videosdk.live/react-sdk";
|
|
2109
|
+
*
|
|
2110
|
+
* setLogLevel(Constants.LogLevel.ALL);
|
|
2111
|
+
* ```
|
|
2112
|
+
*/
|
|
2113
|
+
export function setLogLevel(
|
|
2114
|
+
/**
|
|
2115
|
+
* Defines how media streams should behave {@link LogLevel}.
|
|
2116
|
+
*
|
|
2117
|
+
* @default LogLevel.INFO
|
|
2118
|
+
*/
|
|
2119
|
+
logLevel?: 'NONE' | 'ERROR' | 'WARN' | 'INFO' | 'DEBUG' | 'ALL'
|
|
2120
|
+
): void;
|
|
2121
|
+
|
|
1937
2122
|
export const Constants: {
|
|
1938
2123
|
errors: {
|
|
1939
2124
|
INVALID_API_KEY: number;
|
|
@@ -2059,5 +2244,19 @@ export const Constants: {
|
|
|
2059
2244
|
BALANCED: string;
|
|
2060
2245
|
BANDWIDTH_OPTIMIZED: string;
|
|
2061
2246
|
};
|
|
2247
|
+
LogLevel: {
|
|
2248
|
+
NONE: string;
|
|
2249
|
+
ERROR: string;
|
|
2250
|
+
WARN: string;
|
|
2251
|
+
INFO: string;
|
|
2252
|
+
DEBUG: string;
|
|
2253
|
+
ALL: string;
|
|
2254
|
+
};
|
|
2255
|
+
AgentState:{
|
|
2256
|
+
IDLE:string;
|
|
2257
|
+
LISTENING:string;
|
|
2258
|
+
THINKING:string;
|
|
2259
|
+
SPEAKING:string;
|
|
2260
|
+
}
|
|
2062
2261
|
};
|
|
2063
2262
|
export { CameraDeviceInfo, DeviceInfo, MicrophoneDeviceInfo };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@videosdk.live/react-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"license": "ISC",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.modern.js",
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
}
|
|
77
77
|
},
|
|
78
78
|
"dependencies": {
|
|
79
|
-
"@videosdk.live/js-sdk": "0.
|
|
79
|
+
"@videosdk.live/js-sdk": "0.7.0",
|
|
80
80
|
"events": "^3.3.0"
|
|
81
81
|
}
|
|
82
82
|
}
|