@videosdk.live/react-sdk 0.1.94 → 0.1.95

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 CHANGED
@@ -39,7 +39,9 @@ var events = {
39
39
  'meeting-state-changed': eventPrifix + "-meeting-state-changed",
40
40
  'participant-mode-changed': eventPrifix + "-participant-mode-changed",
41
41
  'transcription-state-changed': eventPrifix + "-transcription-state-changed",
42
- 'transcription-text': eventPrifix + "-transcription-text"
42
+ 'transcription-text': eventPrifix + "-transcription-text",
43
+ 'character-joined': eventPrifix + "-character-joined",
44
+ 'character-left': eventPrifix + "-character-left"
43
45
  };
44
46
  var eventEmitter = new EventEmitter();
45
47
  eventEmitter.setMaxListeners(9999);
@@ -106,7 +108,11 @@ var useMeeting = function useMeeting(_temp) {
106
108
  _ref$onMeetingStateCh = _ref.onMeetingStateChanged,
107
109
  onMeetingStateChanged = _ref$onMeetingStateCh === void 0 ? function () {} : _ref$onMeetingStateCh,
108
110
  _ref$onParticipantMod = _ref.onParticipantModeChanged,
109
- onParticipantModeChanged = _ref$onParticipantMod === void 0 ? function () {} : _ref$onParticipantMod;
111
+ onParticipantModeChanged = _ref$onParticipantMod === void 0 ? function () {} : _ref$onParticipantMod,
112
+ _ref$onCharacterJoine = _ref.onCharacterJoined,
113
+ onCharacterJoined = _ref$onCharacterJoine === void 0 ? function () {} : _ref$onCharacterJoine,
114
+ _ref$onCharacterLeft = _ref.onCharacterLeft,
115
+ onCharacterLeft = _ref$onCharacterLeft === void 0 ? function () {} : _ref$onCharacterLeft;
110
116
  React.useEffect(function () {
111
117
  eventEmitter.on(events['participant-joined'], onParticipantJoined);
112
118
  eventEmitter.on(events['participant-left'], onParticipantLeft);
@@ -138,6 +144,8 @@ var useMeeting = function useMeeting(_temp) {
138
144
  eventEmitter.on(events['livestream-state-changed'], onLivestreamStateChanged);
139
145
  eventEmitter.on(events['meeting-state-changed'], onMeetingStateChanged);
140
146
  eventEmitter.on(events['participant-mode-changed'], onParticipantModeChanged);
147
+ eventEmitter.on(events['character-joined'], onCharacterJoined);
148
+ eventEmitter.on(events['character-left'], onCharacterLeft);
141
149
  return function () {
142
150
  eventEmitter.off(events['meeting-state-changed'], onMeetingStateChanged);
143
151
  eventEmitter.off(events['participant-joined'], onParticipantJoined);
@@ -169,6 +177,8 @@ var useMeeting = function useMeeting(_temp) {
169
177
  eventEmitter.off(events['recording-state-changed'], onRecordingStateChanged);
170
178
  eventEmitter.off(events['livestream-state-changed'], onLivestreamStateChanged);
171
179
  eventEmitter.off(events['participant-mode-changed'], onParticipantModeChanged);
180
+ eventEmitter.off(events['character-joined'], onCharacterJoined);
181
+ eventEmitter.off(events['character-left'], onCharacterLeft);
172
182
  };
173
183
  }, []);
174
184
  return React.useContext(MeetingProviderContex);
@@ -234,7 +244,11 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
234
244
  _ref2$onMeetingStateC = _ref2.onMeetingStateChanged,
235
245
  onMeetingStateChanged = _ref2$onMeetingStateC === void 0 ? function () {} : _ref2$onMeetingStateC,
236
246
  _ref2$onParticipantMo = _ref2.onParticipantModeChanged,
237
- onParticipantModeChanged = _ref2$onParticipantMo === void 0 ? function () {} : _ref2$onParticipantMo;
247
+ onParticipantModeChanged = _ref2$onParticipantMo === void 0 ? function () {} : _ref2$onParticipantMo,
248
+ _ref2$onCharacterJoin = _ref2.onCharacterJoined,
249
+ onCharacterJoined = _ref2$onCharacterJoin === void 0 ? function () {} : _ref2$onCharacterJoin,
250
+ _ref2$onCharacterLeft = _ref2.onCharacterLeft,
251
+ onCharacterLeft = _ref2$onCharacterLeft === void 0 ? function () {} : _ref2$onCharacterLeft;
238
252
  React.useEffect(function () {
239
253
  eventEmitter.on(events['meeting-state-changed'], onMeetingStateChanged);
240
254
  eventEmitter.on(events['participant-joined'], onParticipantJoined);
@@ -266,6 +280,8 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
266
280
  eventEmitter.on(events['recording-state-changed'], onRecordingStateChanged);
267
281
  eventEmitter.on(events['livestream-state-changed'], onLivestreamStateChanged);
268
282
  eventEmitter.on(events['participant-mode-changed'], onParticipantModeChanged);
283
+ eventEmitter.on(events['character-joined'], onCharacterJoined);
284
+ eventEmitter.on(events['character-left'], onCharacterLeft);
269
285
  return function () {
270
286
  eventEmitter.off(events['meeting-state-changed'], onMeetingStateChanged);
271
287
  eventEmitter.off(events['participant-joined'], onParticipantJoined);
@@ -297,12 +313,14 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
297
313
  eventEmitter.off(events['recording-state-changed'], onRecordingStateChanged);
298
314
  eventEmitter.off(events['livestream-state-changed'], onLivestreamStateChanged);
299
315
  eventEmitter.off(events['participant-mode-changed'], onParticipantModeChanged);
316
+ eventEmitter.off(events['character-joined'], onCharacterJoined);
317
+ eventEmitter.off(events['character-left'], onCharacterLeft);
300
318
  };
301
319
  }, []);
302
320
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(MeetingProviderContex.Consumer, null, children));
303
321
  };
304
322
 
305
- var version = "0.1.94";
323
+ var version = "0.1.95";
306
324
 
307
325
  var MeetingProvider = function MeetingProvider(_ref) {
308
326
  var children = _ref.children,
@@ -345,39 +363,42 @@ var MeetingProvider = function MeetingProvider(_ref) {
345
363
  participants = _useState11[0],
346
364
  setParticipants = _useState11[1];
347
365
  var _useState12 = React.useState(new Map()),
348
- pinnedParticipants = _useState12[0],
349
- setPinnedParticipants = _useState12[1];
350
- var _useState13 = React.useState(false),
351
- isLiveStreaming = _useState13[0],
352
- setIsLiveStreaming = _useState13[1];
353
- var _useState14 = React.useState(new Map()),
354
- connections = _useState14[0],
355
- setConnections = _useState14[1];
356
- var _useState15 = React.useState(false),
357
- isMeetingJoined = _useState15[0],
358
- setIsMeetingJoined = _useState15[1];
366
+ characters = _useState12[0],
367
+ setCharacters = _useState12[1];
368
+ var _useState13 = React.useState(new Map()),
369
+ pinnedParticipants = _useState13[0],
370
+ setPinnedParticipants = _useState13[1];
371
+ var _useState14 = React.useState(false),
372
+ isLiveStreaming = _useState14[0],
373
+ setIsLiveStreaming = _useState14[1];
374
+ var _useState15 = React.useState(new Map()),
375
+ connections = _useState15[0],
376
+ setConnections = _useState15[1];
359
377
  var _useState16 = React.useState(false),
360
- isHls = _useState16[0],
361
- setIsHls = _useState16[1];
362
- var _useState17 = React.useState('RECORDING_STOPPED'),
363
- recordingState = _useState17[0],
364
- setRecordingState = _useState17[1];
365
- var _useState18 = React.useState('LIVESTREAM_STOPPED'),
366
- livestreamState = _useState18[0],
367
- setLivestreamState = _useState18[1];
368
- var _useState19 = React.useState('HLS_STOPPED'),
369
- hlsState = _useState19[0],
370
- setHlsState = _useState19[1];
371
- var _useState20 = React.useState({
378
+ isMeetingJoined = _useState16[0],
379
+ setIsMeetingJoined = _useState16[1];
380
+ var _useState17 = React.useState(false),
381
+ isHls = _useState17[0],
382
+ setIsHls = _useState17[1];
383
+ var _useState18 = React.useState('RECORDING_STOPPED'),
384
+ recordingState = _useState18[0],
385
+ setRecordingState = _useState18[1];
386
+ var _useState19 = React.useState('LIVESTREAM_STOPPED'),
387
+ livestreamState = _useState19[0],
388
+ setLivestreamState = _useState19[1];
389
+ var _useState20 = React.useState('HLS_STOPPED'),
390
+ hlsState = _useState20[0],
391
+ setHlsState = _useState20[1];
392
+ var _useState21 = React.useState({
372
393
  downstreamUrl: null,
373
394
  playbackHlsUrl: null,
374
395
  livestreamUrl: null
375
396
  }),
376
- hlsUrls = _useState20[0],
377
- setHlsUrls = _useState20[1];
378
- var _useState21 = React.useState('TRANSCRIPTION_STOPPED'),
379
- transcriptionState = _useState21[0],
380
- setTranscriptionState = _useState21[1];
397
+ hlsUrls = _useState21[0],
398
+ setHlsUrls = _useState21[1];
399
+ var _useState22 = React.useState('TRANSCRIPTION_STOPPED'),
400
+ transcriptionState = _useState22[0],
401
+ setTranscriptionState = _useState22[1];
381
402
  var meetingRef = React.useRef();
382
403
  var localMicOnRef = React.useRef();
383
404
  var localWebcamOnRef = React.useRef();
@@ -427,6 +448,7 @@ var MeetingProvider = function MeetingProvider(_ref) {
427
448
  setMessages([]);
428
449
  setIsLiveStreaming(false);
429
450
  setParticipants(new Map());
451
+ setCharacters(new Map());
430
452
  setPinnedParticipants(new Map());
431
453
  setConnections(new Map());
432
454
  setIsMeetingJoined(false);
@@ -580,6 +602,8 @@ var MeetingProvider = function MeetingProvider(_ref) {
580
602
  meeting.off('hls-state-changed', _handle_hls_state_changed);
581
603
  meeting.off('participant-mode-changed', _handel_participant_mode_changed);
582
604
  meeting.off('transcription-state-changed', _handle_transcription_state_changed);
605
+ meeting.off('character-joined', _handle_character_joined);
606
+ meeting.off('character-left', _handle_character_left);
583
607
  }
584
608
  if (typeof (meeting === null || meeting === void 0 ? void 0 : (_meeting$localPartici = meeting.localParticipant) === null || _meeting$localPartici === void 0 ? void 0 : _meeting$localPartici.off) === 'function') {
585
609
  meeting.localParticipant.off('stream-enabled', _handle_localParticipant_stream_enabled);
@@ -664,6 +688,22 @@ var MeetingProvider = function MeetingProvider(_ref) {
664
688
  var _handle_transcription_text = function _handle_transcription_text(data) {
665
689
  eventEmitter.emit(events['transcription-text'], data);
666
690
  };
691
+ var _handle_character_joined = function _handle_character_joined(character) {
692
+ setCharacters(function (characters) {
693
+ characters.set(character.id, character);
694
+ var charactersToSet = new Map(characters);
695
+ return charactersToSet;
696
+ });
697
+ eventEmitter.emit(events['character-joined'], character);
698
+ };
699
+ var _handle_character_left = function _handle_character_left(character) {
700
+ setCharacters(function (characters) {
701
+ characters["delete"](character.id);
702
+ var newCharacters = new Map(characters);
703
+ return newCharacters;
704
+ });
705
+ eventEmitter.emit(events['character-left'], character);
706
+ };
667
707
  var _handel_participant_mode_changed = function _handel_participant_mode_changed(data) {
668
708
  var _meetingRef$current2, _meetingRef$current2$;
669
709
  setParticipants(function (participants) {
@@ -685,9 +725,11 @@ var MeetingProvider = function MeetingProvider(_ref) {
685
725
  var meeting = jsSdk.VideoSDK && jsSdk.VideoSDK.initMeeting(configRef.current);
686
726
  setMeeting(meeting);
687
727
  var localParticipant = meeting.localParticipant,
688
- participants = meeting.participants;
728
+ participants = meeting.participants,
729
+ characters = meeting.characters;
689
730
  participants.set(localParticipant.id, localParticipant);
690
731
  setParticipants(participants);
732
+ setCharacters(characters);
691
733
  setLocalParticipant(localParticipant);
692
734
  meeting.on('meeting-state-changed', _handle_meeting_state_changed);
693
735
  meeting.on('participant-joined', _handle_participant_joined);
@@ -721,6 +763,8 @@ var MeetingProvider = function MeetingProvider(_ref) {
721
763
  meeting.on('participant-mode-changed', _handel_participant_mode_changed);
722
764
  meeting.on('transcription-state-changed', _handle_transcription_state_changed);
723
765
  meeting.on('transcription-text', _handle_transcription_text);
766
+ meeting.on('character-joined', _handle_character_joined);
767
+ meeting.on('character-left', _handle_character_left);
724
768
  meeting.localParticipant.on('stream-enabled', _handle_localParticipant_stream_enabled);
725
769
  meeting.localParticipant.on('stream-disabled', _handle_localParticipant_stream_disabled);
726
770
  meeting.join();
@@ -1004,6 +1048,7 @@ var MeetingProvider = function MeetingProvider(_ref) {
1004
1048
  mainParticipant: mainParticipant,
1005
1049
  activeSpeakerId: activeSpeakerId,
1006
1050
  participants: participants,
1051
+ characters: characters,
1007
1052
  presenterId: presenterId,
1008
1053
  localMicOn: localMicOn,
1009
1054
  localWebcamOn: localWebcamOn,
@@ -1584,6 +1629,215 @@ var useTranscription = function useTranscription(_temp) {
1584
1629
  };
1585
1630
  };
1586
1631
 
1632
+ var useCharacter = function useCharacter(_ref, _temp) {
1633
+ var interactionId = _ref.interactionId,
1634
+ id = _ref.id,
1635
+ characterMode = _ref.characterMode,
1636
+ displayName = _ref.displayName,
1637
+ characterRole = _ref.characterRole,
1638
+ knowledgeBases = _ref.knowledgeBases;
1639
+ var _ref2 = _temp === void 0 ? {} : _temp,
1640
+ _ref2$onCharacterStat = _ref2.onCharacterStateChanged,
1641
+ onCharacterStateChanged = _ref2$onCharacterStat === void 0 ? function () {} : _ref2$onCharacterStat,
1642
+ _ref2$onCharacterMess = _ref2.onCharacterMessage,
1643
+ onCharacterMessage = _ref2$onCharacterMess === void 0 ? function () {} : _ref2$onCharacterMess,
1644
+ _ref2$onCharacterJoin = _ref2.onCharacterJoined,
1645
+ onCharacterJoined = _ref2$onCharacterJoin === void 0 ? function () {} : _ref2$onCharacterJoin,
1646
+ _ref2$onCharacterLeft = _ref2.onCharacterLeft,
1647
+ onCharacterLeft = _ref2$onCharacterLeft === void 0 ? function () {} : _ref2$onCharacterLeft,
1648
+ _ref2$onStreamEnabled = _ref2.onStreamEnabled,
1649
+ onStreamEnabled = _ref2$onStreamEnabled === void 0 ? function () {} : _ref2$onStreamEnabled,
1650
+ _ref2$onStreamDisable = _ref2.onStreamDisabled,
1651
+ onStreamDisabled = _ref2$onStreamDisable === void 0 ? function () {} : _ref2$onStreamDisable,
1652
+ _ref2$onMediaStatusCh = _ref2.onMediaStatusChanged,
1653
+ onMediaStatusChanged = _ref2$onMediaStatusCh === void 0 ? function () {} : _ref2$onMediaStatusCh,
1654
+ _ref2$onVideoQualityC = _ref2.onVideoQualityChanged,
1655
+ onVideoQualityChanged = _ref2$onVideoQualityC === void 0 ? function () {} : _ref2$onVideoQualityC;
1656
+ var _useState = React.useState(null),
1657
+ webcamStream = _useState[0],
1658
+ setwebcamStream = _useState[1];
1659
+ var _useState2 = React.useState(null),
1660
+ micStream = _useState2[0],
1661
+ setMicStream = _useState2[1];
1662
+ var mMeeting = useMeeting();
1663
+ var _useMemo = React.useMemo(function () {
1664
+ var chars = Array.from(mMeeting.characters.values());
1665
+ var activeSpeakerId = mMeeting === null || mMeeting === void 0 ? void 0 : mMeeting.activeSpeakerId;
1666
+ return {
1667
+ character: chars.find(function (chars) {
1668
+ return chars.interactionId == interactionId;
1669
+ }) || mMeeting.characters.get(id) || mMeeting.meeting.createCharacter({
1670
+ interactionId: interactionId,
1671
+ displayName: displayName,
1672
+ id: id,
1673
+ characterRole: characterRole,
1674
+ characterMode: characterMode,
1675
+ knowledgeBases: knowledgeBases
1676
+ }),
1677
+ activeSpeakerId: activeSpeakerId
1678
+ };
1679
+ }, [mMeeting.characters]),
1680
+ character = _useMemo.character,
1681
+ activeSpeakerId = _useMemo.activeSpeakerId;
1682
+ var _useState3 = React.useState(character === null || character === void 0 ? void 0 : character.webcamOn),
1683
+ webcamOn = _useState3[0],
1684
+ setWebcamOn = _useState3[1];
1685
+ var _useState4 = React.useState(character === null || character === void 0 ? void 0 : character.micOn),
1686
+ micOn = _useState4[0],
1687
+ setMicOn = _useState4[1];
1688
+ var _useState5 = React.useState(null),
1689
+ characterState = _useState5[0],
1690
+ setCharacterState = _useState5[1];
1691
+ var setTrack = function setTrack(stream) {
1692
+ if (stream.track.readyState === 'live') {
1693
+ switch (stream.kind) {
1694
+ case 'video':
1695
+ if (webcamStream != null) {
1696
+ setwebcamStream(null);
1697
+ }
1698
+ setwebcamStream(stream);
1699
+ break;
1700
+ case 'audio':
1701
+ if (micStream != null) {
1702
+ setMicStream(null);
1703
+ }
1704
+ setMicStream(stream);
1705
+ break;
1706
+ }
1707
+ }
1708
+ };
1709
+ var unSetTrack = function unSetTrack(stream) {
1710
+ switch (stream.kind) {
1711
+ case 'video':
1712
+ setwebcamStream(null);
1713
+ break;
1714
+ case 'audio':
1715
+ setMicStream(null);
1716
+ break;
1717
+ }
1718
+ };
1719
+ var _handleCharacterStateChanged = function _handleCharacterStateChanged(d) {
1720
+ var status = d.status;
1721
+ setCharacterState(status);
1722
+ onCharacterStateChanged(d);
1723
+ };
1724
+ var _handleCharacterMessage = function _handleCharacterMessage(d) {
1725
+ onCharacterMessage(d);
1726
+ };
1727
+ var _handleCharacterJoined = function _handleCharacterJoined() {
1728
+ onCharacterJoined();
1729
+ };
1730
+ var _handleCharacterLeft = function _handleCharacterLeft() {
1731
+ onCharacterLeft();
1732
+ };
1733
+ var _handleStreamEnabled = function _handleStreamEnabled(stream) {
1734
+ setTrack(stream);
1735
+ onStreamEnabled(stream);
1736
+ };
1737
+ var _handleStreamDisabled = function _handleStreamDisabled(stream) {
1738
+ unSetTrack(stream);
1739
+ onStreamDisabled(stream);
1740
+ };
1741
+ var _handleVideoQualityChanged = function _handleVideoQualityChanged(data) {
1742
+ var peerId = data.peerId,
1743
+ prevQuality = data.prevQuality,
1744
+ currentQuality = data.currentQuality;
1745
+ onVideoQualityChanged({
1746
+ peerId: peerId,
1747
+ prevQuality: prevQuality,
1748
+ currentQuality: currentQuality
1749
+ });
1750
+ };
1751
+ var _handleMediaStatusChanged = function _handleMediaStatusChanged(data) {
1752
+ var kind = data.kind,
1753
+ peerId = data.peerId,
1754
+ newStatus = data.newStatus;
1755
+ if (kind == 'audio') {
1756
+ setMicOn(newStatus);
1757
+ } else if (kind == 'video') {
1758
+ setWebcamOn(newStatus);
1759
+ }
1760
+ onMediaStatusChanged({
1761
+ kind: kind,
1762
+ peerId: peerId,
1763
+ newStatus: newStatus
1764
+ });
1765
+ };
1766
+ var enableMic = function enableMic() {
1767
+ character === null || character === void 0 ? void 0 : character.enableMic();
1768
+ };
1769
+ var disableMic = function disableMic() {
1770
+ character === null || character === void 0 ? void 0 : character.disableMic();
1771
+ };
1772
+ var enableWebcam = function enableWebcam() {
1773
+ character === null || character === void 0 ? void 0 : character.enableWebcam();
1774
+ };
1775
+ var disableWebcam = function disableWebcam() {
1776
+ character === null || character === void 0 ? void 0 : character.disableWebcam();
1777
+ };
1778
+ var join = function join() {
1779
+ return Promise.resolve(character === null || character === void 0 ? void 0 : character.join()).then(function () {});
1780
+ };
1781
+ var sendMessage = function sendMessage(d) {
1782
+ return Promise.resolve(character === null || character === void 0 ? void 0 : character.sendMessage(d)).then(function () {});
1783
+ };
1784
+ var leave = function leave() {
1785
+ return Promise.resolve(character === null || character === void 0 ? void 0 : character.leave()).then(function () {});
1786
+ };
1787
+ React.useEffect(function () {
1788
+ var streams = character === null || character === void 0 ? void 0 : character.streams;
1789
+ if (streams) {
1790
+ streams.forEach(function (stream) {
1791
+ setTrack(stream);
1792
+ });
1793
+ }
1794
+ if (character !== null && character !== void 0 && character.micOn) {
1795
+ setMicOn(micOn);
1796
+ }
1797
+ if (character !== null && character !== void 0 && character.webcamOn) {
1798
+ setWebcamOn(webcamOn);
1799
+ }
1800
+ character === null || character === void 0 ? void 0 : character.on('character-state-changed', _handleCharacterStateChanged);
1801
+ character === null || character === void 0 ? void 0 : character.on('character-message', _handleCharacterMessage);
1802
+ character === null || character === void 0 ? void 0 : character.on('stream-enabled', _handleStreamEnabled);
1803
+ character === null || character === void 0 ? void 0 : character.on('stream-disabled', _handleStreamDisabled);
1804
+ character === null || character === void 0 ? void 0 : character.on('media-status-changed', _handleMediaStatusChanged);
1805
+ character === null || character === void 0 ? void 0 : character.on('video-quality-changed', _handleVideoQualityChanged);
1806
+ character === null || character === void 0 ? void 0 : character.on('character-joined', _handleCharacterJoined);
1807
+ character === null || character === void 0 ? void 0 : character.on('character-left', _handleCharacterLeft);
1808
+ return function () {
1809
+ character === null || character === void 0 ? void 0 : character.off('character-state-changed', _handleCharacterStateChanged);
1810
+ character === null || character === void 0 ? void 0 : character.off('character-message', _handleCharacterMessage);
1811
+ character === null || character === void 0 ? void 0 : character.off('stream-enabled', _handleStreamEnabled);
1812
+ character === null || character === void 0 ? void 0 : character.off('stream-disabled', _handleStreamDisabled);
1813
+ character === null || character === void 0 ? void 0 : character.off('media-status-changed', _handleMediaStatusChanged);
1814
+ character === null || character === void 0 ? void 0 : character.off('video-quality-changed', _handleVideoQualityChanged);
1815
+ character === null || character === void 0 ? void 0 : character.off('character-joined', _handleCharacterJoined);
1816
+ character === null || character === void 0 ? void 0 : character.off('character-left', _handleCharacterLeft);
1817
+ };
1818
+ }, [character]);
1819
+ return {
1820
+ displayName: character === null || character === void 0 ? void 0 : character.displayName,
1821
+ webcamStream: webcamStream,
1822
+ micStream: micStream,
1823
+ webcamOn: webcamOn || !!webcamStream,
1824
+ micOn: micOn || !!micStream,
1825
+ isActiveSpeaker: activeSpeakerId === id,
1826
+ interactionId: character === null || character === void 0 ? void 0 : character.interactionId,
1827
+ id: character === null || character === void 0 ? void 0 : character.id,
1828
+ characterMode: character === null || character === void 0 ? void 0 : character.characterMode,
1829
+ characterState: characterState || (character === null || character === void 0 ? void 0 : character.characterState),
1830
+ knowledgeBases: character === null || character === void 0 ? void 0 : character.knowledgeBases,
1831
+ enableMic: enableMic,
1832
+ disableMic: disableMic,
1833
+ enableWebcam: enableWebcam,
1834
+ disableWebcam: disableWebcam,
1835
+ join: join,
1836
+ leave: leave,
1837
+ sendMessage: sendMessage
1838
+ };
1839
+ };
1840
+
1587
1841
  var Constants = jsSdk.VideoSDK.Constants;
1588
1842
  var createCameraVideoTrack = function createCameraVideoTrack(_ref) {
1589
1843
  var _ref$cameraId = _ref.cameraId,
@@ -1679,6 +1933,7 @@ exports.createCameraVideoTrack = createCameraVideoTrack;
1679
1933
  exports.createMicrophoneAudioTrack = createMicrophoneAudioTrack;
1680
1934
  exports.createScreenShareVideoTrack = createScreenShareVideoTrack;
1681
1935
  exports.getNetworkStats = getNetworkStats;
1936
+ exports.useCharacter = useCharacter;
1682
1937
  exports.useConnection = useConnection;
1683
1938
  exports.useFile = useFile;
1684
1939
  exports.useMediaDevice = useMediaDevice;