@convai/web-sdk 0.1.1-beta.4 → 0.2.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.
Files changed (202) hide show
  1. package/README.md +735 -189
  2. package/dist/core/AudioManager.d.ts +8 -0
  3. package/dist/core/AudioManager.d.ts.map +1 -1
  4. package/dist/core/AudioManager.js +45 -5
  5. package/dist/core/AudioManager.js.map +1 -1
  6. package/dist/core/ConvaiClient.d.ts +22 -9
  7. package/dist/core/ConvaiClient.d.ts.map +1 -1
  8. package/dist/core/ConvaiClient.js +92 -41
  9. package/dist/core/ConvaiClient.js.map +1 -1
  10. package/dist/core/MessageHandler.d.ts.map +1 -1
  11. package/dist/core/MessageHandler.js +27 -24
  12. package/dist/core/MessageHandler.js.map +1 -1
  13. package/dist/core/ScreenShareManager.d.ts.map +1 -1
  14. package/dist/core/ScreenShareManager.js +4 -0
  15. package/dist/core/ScreenShareManager.js.map +1 -1
  16. package/dist/core/VideoManager.d.ts.map +1 -1
  17. package/dist/core/VideoManager.js +2 -0
  18. package/dist/core/VideoManager.js.map +1 -1
  19. package/dist/core/types.d.ts +13 -1
  20. package/dist/core/types.d.ts.map +1 -1
  21. package/dist/react/components/ConvaiWidget.d.ts +3 -0
  22. package/dist/react/components/ConvaiWidget.d.ts.map +1 -1
  23. package/dist/react/components/ConvaiWidget.js +25 -22
  24. package/dist/react/components/ConvaiWidget.js.map +1 -1
  25. package/dist/react/components/index.d.ts +0 -1
  26. package/dist/react/components/index.d.ts.map +1 -1
  27. package/dist/react/components/index.js +0 -2
  28. package/dist/react/components/index.js.map +1 -1
  29. package/dist/react/hooks/useConvaiClient.d.ts +3 -0
  30. package/dist/react/hooks/useConvaiClient.d.ts.map +1 -1
  31. package/dist/react/hooks/useConvaiClient.js +46 -9
  32. package/dist/react/hooks/useConvaiClient.js.map +1 -1
  33. package/dist/types/index.d.ts +1 -3
  34. package/dist/types/index.d.ts.map +1 -1
  35. package/dist/vanilla/AudioRenderer.d.ts +45 -0
  36. package/dist/vanilla/AudioRenderer.d.ts.map +1 -0
  37. package/dist/vanilla/AudioRenderer.js +126 -0
  38. package/dist/vanilla/AudioRenderer.js.map +1 -0
  39. package/dist/vanilla/ConvaiWidget.d.ts +39 -0
  40. package/dist/vanilla/ConvaiWidget.d.ts.map +1 -0
  41. package/dist/vanilla/ConvaiWidget.js +1835 -0
  42. package/dist/vanilla/ConvaiWidget.js.map +1 -0
  43. package/dist/vanilla/icons.d.ts +34 -0
  44. package/dist/vanilla/icons.d.ts.map +1 -0
  45. package/dist/vanilla/icons.js +215 -0
  46. package/dist/vanilla/icons.js.map +1 -0
  47. package/dist/vanilla/index.d.ts +35 -0
  48. package/dist/vanilla/index.d.ts.map +1 -0
  49. package/dist/vanilla/index.js +37 -0
  50. package/dist/vanilla/index.js.map +1 -0
  51. package/dist/{components/rtc-widget/styles/theme.d.ts → vanilla/styles.d.ts} +14 -50
  52. package/dist/vanilla/styles.d.ts.map +1 -0
  53. package/dist/vanilla/styles.js +287 -0
  54. package/dist/vanilla/styles.js.map +1 -0
  55. package/dist/vanilla/types.d.ts +38 -0
  56. package/dist/vanilla/types.d.ts.map +1 -0
  57. package/dist/vanilla/types.js +2 -0
  58. package/dist/vanilla/types.js.map +1 -0
  59. package/package.json +12 -5
  60. package/dist/components/ConvaiWidget.d.ts +0 -59
  61. package/dist/components/ConvaiWidget.d.ts.map +0 -1
  62. package/dist/components/ConvaiWidget.js +0 -421
  63. package/dist/components/ConvaiWidget.js.map +0 -1
  64. package/dist/components/index.d.ts +0 -3
  65. package/dist/components/index.d.ts.map +0 -1
  66. package/dist/components/index.js +0 -5
  67. package/dist/components/index.js.map +0 -1
  68. package/dist/components/rtc-widget/components/AudioSettingsPanel.d.ts +0 -10
  69. package/dist/components/rtc-widget/components/AudioSettingsPanel.d.ts.map +0 -1
  70. package/dist/components/rtc-widget/components/AudioSettingsPanel.js +0 -316
  71. package/dist/components/rtc-widget/components/AudioSettingsPanel.js.map +0 -1
  72. package/dist/components/rtc-widget/components/ConviMessage.d.ts +0 -10
  73. package/dist/components/rtc-widget/components/ConviMessage.d.ts.map +0 -1
  74. package/dist/components/rtc-widget/components/ConviMessage.js +0 -14
  75. package/dist/components/rtc-widget/components/ConviMessage.js.map +0 -1
  76. package/dist/components/rtc-widget/components/FloatingVideo.d.ts +0 -9
  77. package/dist/components/rtc-widget/components/FloatingVideo.d.ts.map +0 -1
  78. package/dist/components/rtc-widget/components/FloatingVideo.js +0 -122
  79. package/dist/components/rtc-widget/components/FloatingVideo.js.map +0 -1
  80. package/dist/components/rtc-widget/components/MarkdownRenderer.d.ts +0 -7
  81. package/dist/components/rtc-widget/components/MarkdownRenderer.d.ts.map +0 -1
  82. package/dist/components/rtc-widget/components/MarkdownRenderer.js +0 -68
  83. package/dist/components/rtc-widget/components/MarkdownRenderer.js.map +0 -1
  84. package/dist/components/rtc-widget/components/MessageBubble.d.ts +0 -10
  85. package/dist/components/rtc-widget/components/MessageBubble.d.ts.map +0 -1
  86. package/dist/components/rtc-widget/components/MessageBubble.js +0 -23
  87. package/dist/components/rtc-widget/components/MessageBubble.js.map +0 -1
  88. package/dist/components/rtc-widget/components/MessageList.d.ts +0 -11
  89. package/dist/components/rtc-widget/components/MessageList.d.ts.map +0 -1
  90. package/dist/components/rtc-widget/components/MessageList.js +0 -89
  91. package/dist/components/rtc-widget/components/MessageList.js.map +0 -1
  92. package/dist/components/rtc-widget/components/UserMessage.d.ts +0 -9
  93. package/dist/components/rtc-widget/components/UserMessage.d.ts.map +0 -1
  94. package/dist/components/rtc-widget/components/UserMessage.js +0 -15
  95. package/dist/components/rtc-widget/components/UserMessage.js.map +0 -1
  96. package/dist/components/rtc-widget/components/conviComponents/ConviButton.d.ts +0 -6
  97. package/dist/components/rtc-widget/components/conviComponents/ConviButton.d.ts.map +0 -1
  98. package/dist/components/rtc-widget/components/conviComponents/ConviButton.js +0 -15
  99. package/dist/components/rtc-widget/components/conviComponents/ConviButton.js.map +0 -1
  100. package/dist/components/rtc-widget/components/conviComponents/ConviFooter.d.ts +0 -25
  101. package/dist/components/rtc-widget/components/conviComponents/ConviFooter.d.ts.map +0 -1
  102. package/dist/components/rtc-widget/components/conviComponents/ConviFooter.js +0 -172
  103. package/dist/components/rtc-widget/components/conviComponents/ConviFooter.js.map +0 -1
  104. package/dist/components/rtc-widget/components/conviComponents/ConviHeader.d.ts +0 -17
  105. package/dist/components/rtc-widget/components/conviComponents/ConviHeader.d.ts.map +0 -1
  106. package/dist/components/rtc-widget/components/conviComponents/ConviHeader.js +0 -66
  107. package/dist/components/rtc-widget/components/conviComponents/ConviHeader.js.map +0 -1
  108. package/dist/components/rtc-widget/components/conviComponents/SettingsTray.d.ts +0 -12
  109. package/dist/components/rtc-widget/components/conviComponents/SettingsTray.d.ts.map +0 -1
  110. package/dist/components/rtc-widget/components/conviComponents/SettingsTray.js +0 -68
  111. package/dist/components/rtc-widget/components/conviComponents/SettingsTray.js.map +0 -1
  112. package/dist/components/rtc-widget/components/conviComponents/VoiceModeOverlay.d.ts +0 -8
  113. package/dist/components/rtc-widget/components/conviComponents/VoiceModeOverlay.d.ts.map +0 -1
  114. package/dist/components/rtc-widget/components/conviComponents/VoiceModeOverlay.js +0 -199
  115. package/dist/components/rtc-widget/components/conviComponents/VoiceModeOverlay.js.map +0 -1
  116. package/dist/components/rtc-widget/components/conviComponents/index.d.ts +0 -6
  117. package/dist/components/rtc-widget/components/conviComponents/index.d.ts.map +0 -1
  118. package/dist/components/rtc-widget/components/conviComponents/index.js +0 -6
  119. package/dist/components/rtc-widget/components/conviComponents/index.js.map +0 -1
  120. package/dist/components/rtc-widget/components/index.d.ts +0 -8
  121. package/dist/components/rtc-widget/components/index.d.ts.map +0 -1
  122. package/dist/components/rtc-widget/components/index.js +0 -13
  123. package/dist/components/rtc-widget/components/index.js.map +0 -1
  124. package/dist/components/rtc-widget/index.d.ts +0 -6
  125. package/dist/components/rtc-widget/index.d.ts.map +0 -1
  126. package/dist/components/rtc-widget/index.js +0 -9
  127. package/dist/components/rtc-widget/index.js.map +0 -1
  128. package/dist/components/rtc-widget/styles/framerConfig.d.ts +0 -116
  129. package/dist/components/rtc-widget/styles/framerConfig.d.ts.map +0 -1
  130. package/dist/components/rtc-widget/styles/framerConfig.js +0 -73
  131. package/dist/components/rtc-widget/styles/framerConfig.js.map +0 -1
  132. package/dist/components/rtc-widget/styles/icons.d.ts +0 -28
  133. package/dist/components/rtc-widget/styles/icons.d.ts.map +0 -1
  134. package/dist/components/rtc-widget/styles/icons.js +0 -257
  135. package/dist/components/rtc-widget/styles/icons.js.map +0 -1
  136. package/dist/components/rtc-widget/styles/index.d.ts +0 -6
  137. package/dist/components/rtc-widget/styles/index.d.ts.map +0 -1
  138. package/dist/components/rtc-widget/styles/index.js +0 -9
  139. package/dist/components/rtc-widget/styles/index.js.map +0 -1
  140. package/dist/components/rtc-widget/styles/styledComponents.d.ts +0 -90
  141. package/dist/components/rtc-widget/styles/styledComponents.d.ts.map +0 -1
  142. package/dist/components/rtc-widget/styles/styledComponents.js +0 -661
  143. package/dist/components/rtc-widget/styles/styledComponents.js.map +0 -1
  144. package/dist/components/rtc-widget/styles/theme.d.ts.map +0 -1
  145. package/dist/components/rtc-widget/styles/theme.js +0 -290
  146. package/dist/components/rtc-widget/styles/theme.js.map +0 -1
  147. package/dist/components/rtc-widget/types/index.d.ts +0 -60
  148. package/dist/components/rtc-widget/types/index.d.ts.map +0 -1
  149. package/dist/components/rtc-widget/types/index.js +0 -2
  150. package/dist/components/rtc-widget/types/index.js.map +0 -1
  151. package/dist/hooks/index.d.ts +0 -13
  152. package/dist/hooks/index.d.ts.map +0 -1
  153. package/dist/hooks/index.js +0 -14
  154. package/dist/hooks/index.js.map +0 -1
  155. package/dist/hooks/useAudioControls.d.ts +0 -41
  156. package/dist/hooks/useAudioControls.d.ts.map +0 -1
  157. package/dist/hooks/useAudioControls.js +0 -208
  158. package/dist/hooks/useAudioControls.js.map +0 -1
  159. package/dist/hooks/useCharacterInfo.d.ts +0 -17
  160. package/dist/hooks/useCharacterInfo.d.ts.map +0 -1
  161. package/dist/hooks/useCharacterInfo.js +0 -60
  162. package/dist/hooks/useCharacterInfo.js.map +0 -1
  163. package/dist/hooks/useConvaiClient.d.ts +0 -30
  164. package/dist/hooks/useConvaiClient.d.ts.map +0 -1
  165. package/dist/hooks/useConvaiClient.js +0 -349
  166. package/dist/hooks/useConvaiClient.js.map +0 -1
  167. package/dist/hooks/useDynamicInfoUpdater.d.ts +0 -33
  168. package/dist/hooks/useDynamicInfoUpdater.d.ts.map +0 -1
  169. package/dist/hooks/useDynamicInfoUpdater.js +0 -49
  170. package/dist/hooks/useDynamicInfoUpdater.js.map +0 -1
  171. package/dist/hooks/useLocalCameraTrack.d.ts +0 -22
  172. package/dist/hooks/useLocalCameraTrack.d.ts.map +0 -1
  173. package/dist/hooks/useLocalCameraTrack.js +0 -34
  174. package/dist/hooks/useLocalCameraTrack.js.map +0 -1
  175. package/dist/hooks/useMessageHandler.d.ts +0 -28
  176. package/dist/hooks/useMessageHandler.d.ts.map +0 -1
  177. package/dist/hooks/useMessageHandler.js +0 -267
  178. package/dist/hooks/useMessageHandler.js.map +0 -1
  179. package/dist/hooks/useScreenShare.d.ts +0 -45
  180. package/dist/hooks/useScreenShare.d.ts.map +0 -1
  181. package/dist/hooks/useScreenShare.js +0 -186
  182. package/dist/hooks/useScreenShare.js.map +0 -1
  183. package/dist/hooks/useTemplateKeysUpdater.d.ts +0 -35
  184. package/dist/hooks/useTemplateKeysUpdater.d.ts.map +0 -1
  185. package/dist/hooks/useTemplateKeysUpdater.js +0 -51
  186. package/dist/hooks/useTemplateKeysUpdater.js.map +0 -1
  187. package/dist/hooks/useTriggerMessageSender.d.ts +0 -28
  188. package/dist/hooks/useTriggerMessageSender.d.ts.map +0 -1
  189. package/dist/hooks/useTriggerMessageSender.js +0 -46
  190. package/dist/hooks/useTriggerMessageSender.js.map +0 -1
  191. package/dist/hooks/useTtsToggle.d.ts +0 -37
  192. package/dist/hooks/useTtsToggle.d.ts.map +0 -1
  193. package/dist/hooks/useTtsToggle.js +0 -63
  194. package/dist/hooks/useTtsToggle.js.map +0 -1
  195. package/dist/hooks/useUserTextMessageSender.d.ts +0 -28
  196. package/dist/hooks/useUserTextMessageSender.d.ts.map +0 -1
  197. package/dist/hooks/useUserTextMessageSender.js +0 -58
  198. package/dist/hooks/useUserTextMessageSender.js.map +0 -1
  199. package/dist/hooks/useVideoControls.d.ts +0 -39
  200. package/dist/hooks/useVideoControls.d.ts.map +0 -1
  201. package/dist/hooks/useVideoControls.js +0 -193
  202. package/dist/hooks/useVideoControls.js.map +0 -1
@@ -1,3 +1,2 @@
1
1
  export { ConvaiWidget } from './ConvaiWidget';
2
- export * from './rtc-widget';
3
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/components/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/components/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,5 +1,3 @@
1
1
  // Main widget component
2
2
  export { ConvaiWidget } from './ConvaiWidget';
3
- // RTC widget components (for advanced usage)
4
- export * from './rtc-widget';
5
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/react/components/index.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,6CAA6C;AAC7C,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/react/components/index.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
@@ -28,5 +28,8 @@ import type { ConvaiConfig, IConvaiClient, ChatMessage } from "../../core/types"
28
28
  export declare const useConvaiClient: (config?: ConvaiConfig) => IConvaiClient & {
29
29
  activity: string;
30
30
  chatMessages: ChatMessage[];
31
+ isAudioMuted: boolean;
32
+ isVideoEnabled: boolean;
33
+ isScreenShareActive: boolean;
31
34
  };
32
35
  //# sourceMappingURL=useConvaiClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useConvaiClient.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useConvaiClient.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEjF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,YAAY,KAAG,aAAa,GAAG;IACtE,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,WAAW,EAAE,CAAC;CA6H7B,CAAC"}
1
+ {"version":3,"file":"useConvaiClient.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useConvaiClient.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,eAAe,GAC1B,SAAS,YAAY,KACpB,aAAa,GAAG;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC;CAsL9B,CAAC"}
@@ -35,12 +35,17 @@ export const useConvaiClient = (config) => {
35
35
  const [chatMessages, setChatMessages] = useState(client.chatMessages);
36
36
  const [userTranscription, setUserTranscription] = useState(client.userTranscription);
37
37
  const [isSpeaking, setIsSpeaking] = useState(false);
38
+ const [isBotReady, setIsBotReady] = useState(client.isBotReady);
39
+ // Reactive states for control managers
40
+ const [isAudioMuted, setIsAudioMuted] = useState(client.audioControls.isAudioMuted);
41
+ const [isVideoEnabled, setIsVideoEnabled] = useState(client.videoControls.isVideoEnabled);
42
+ const [isScreenShareActive, setIsScreenShareActive] = useState(client.screenShareControls.isScreenShareActive);
38
43
  // Store config if provided
39
44
  const [storedConfig] = useState(config);
40
45
  // Setup event listeners
41
46
  useEffect(() => {
42
47
  // State change listener
43
- const unsubStateChange = client.on('stateChange', (newState) => {
48
+ const unsubStateChange = client.on("stateChange", (newState) => {
44
49
  setState(newState);
45
50
  // Update activity based on state
46
51
  if (!newState.isConnected) {
@@ -60,30 +65,54 @@ export const useConvaiClient = (config) => {
60
65
  }
61
66
  });
62
67
  // Messages change listener
63
- const unsubMessagesChange = client.on('messagesChange', (messages) => {
68
+ const unsubMessagesChange = client.on("messagesChange", (messages) => {
64
69
  setChatMessages([...messages]);
65
70
  });
66
71
  // User transcription change listener
67
- const unsubUserTranscription = client.on('userTranscriptionChange', (transcription) => {
72
+ const unsubUserTranscription = client.on("userTranscriptionChange", (transcription) => {
68
73
  setUserTranscription(transcription);
69
74
  });
70
75
  // Speaking change listener
71
- const unsubSpeaking = client.on('speakingChange', (speaking) => {
76
+ const unsubSpeaking = client.on("speakingChange", (speaking) => {
72
77
  setIsSpeaking(speaking);
73
78
  });
74
79
  // Bot ready listener
75
- const unsubBotReady = client.on('botReady', () => {
80
+ const unsubBotReady = client.on("botReady", () => {
81
+ setIsBotReady(true);
76
82
  setActivity("Connected");
77
83
  });
78
84
  // Connect listener
79
- const unsubConnect = client.on('connect', () => {
85
+ const unsubConnect = client.on("connect", () => {
80
86
  setState(client.state);
81
87
  });
82
88
  // Disconnect listener
83
- const unsubDisconnect = client.on('disconnect', () => {
89
+ const unsubDisconnect = client.on("disconnect", () => {
90
+ setIsBotReady(false);
84
91
  setState(client.state);
85
92
  setActivity("Disconnected");
86
93
  setChatMessages([]);
94
+ // Reset control states on disconnect
95
+ setIsAudioMuted(true);
96
+ setIsVideoEnabled(false);
97
+ setIsScreenShareActive(false);
98
+ });
99
+ // Audio controls state change listener
100
+ const unsubAudioState = client.audioControls.on("audioStateChange", (audioState) => {
101
+ if (audioState.isAudioMuted !== undefined) {
102
+ setIsAudioMuted(audioState.isAudioMuted);
103
+ }
104
+ });
105
+ // Video controls state change listener
106
+ const unsubVideoState = client.videoControls.on("videoStateChange", (videoState) => {
107
+ if (videoState.isVideoEnabled !== undefined) {
108
+ setIsVideoEnabled(videoState.isVideoEnabled);
109
+ }
110
+ });
111
+ // Screen share controls state change listener
112
+ const unsubScreenShareState = client.screenShareControls.on("screenShareStateChange", (screenShareState) => {
113
+ if (screenShareState.isScreenShareActive !== undefined) {
114
+ setIsScreenShareActive(screenShareState.isScreenShareActive);
115
+ }
87
116
  });
88
117
  // Cleanup listeners on unmount
89
118
  return () => {
@@ -94,9 +123,12 @@ export const useConvaiClient = (config) => {
94
123
  unsubBotReady();
95
124
  unsubConnect();
96
125
  unsubDisconnect();
126
+ unsubAudioState();
127
+ unsubVideoState();
128
+ unsubScreenShareState();
97
129
  };
98
130
  }, [client]);
99
- // Create enhanced connect function that can use stored config
131
+ // Create enhanced connect function that can use stored config
100
132
  const connect = useCallback(async (configOverride) => {
101
133
  const finalConfig = configOverride || storedConfig;
102
134
  if (!finalConfig) {
@@ -122,19 +154,24 @@ export const useConvaiClient = (config) => {
122
154
  room: client.room,
123
155
  sendUserTextMessage: client.sendUserTextMessage.bind(client),
124
156
  sendTriggerMessage: client.sendTriggerMessage.bind(client),
157
+ sendInterruptMessage: client.sendInterruptMessage.bind(client),
125
158
  updateTemplateKeys: client.updateTemplateKeys.bind(client),
126
159
  updateDynamicInfo: client.updateDynamicInfo.bind(client),
127
160
  activity,
128
161
  chatMessages,
129
162
  userTranscription,
130
163
  characterSessionId: client.characterSessionId,
131
- isBotReady: client.isBotReady,
164
+ isBotReady,
132
165
  audioControls: client.audioControls,
133
166
  videoControls: client.videoControls,
134
167
  screenShareControls: client.screenShareControls,
135
168
  toggleTts: client.toggleTts.bind(client),
136
169
  on: client.on.bind(client),
137
170
  off: client.off.bind(client),
171
+ // Reactive control states
172
+ isAudioMuted,
173
+ isVideoEnabled,
174
+ isScreenShareActive,
138
175
  };
139
176
  };
140
177
  //# sourceMappingURL=useConvaiClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useConvaiClient.js","sourceRoot":"","sources":["../../../src/react/hooks/useConvaiClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useConvaiClient.js","sourceRoot":"","sources":["../../../src/react/hooks/useConvaiClient.ts"],"names":[],"mappings":"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"}
@@ -156,9 +156,7 @@ export interface ConvaiClientState {
156
156
  */
157
157
  agentState: 'disconnected' | 'connected' | 'listening' | 'thinking' | 'speaking';
158
158
  }
159
- import { AudioControls } from "../hooks/useAudioControls";
160
- import { VideoControls } from "../hooks/useVideoControls";
161
- import { ScreenShareControls } from "../hooks/useScreenShare";
159
+ import type { AudioControls, VideoControls, ScreenShareControls } from "../core/types";
162
160
  /**
163
161
  * Main Convai client interface returned by useConvaiClient() hook.
164
162
  * Provides complete control over Convai character connections and interactions.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { Room } from 'livekit-client';
2
+ /**
3
+ * AudioRenderer - Manages audio playback for remote participants
4
+ * Automatically creates and attaches audio elements for remote audio tracks
5
+ * This replaces React's RoomAudioRenderer for vanilla implementations
6
+ */
7
+ export declare class AudioRenderer {
8
+ private room;
9
+ private audioElements;
10
+ private container;
11
+ constructor(room: Room);
12
+ /**
13
+ * Setup event listeners for room events
14
+ */
15
+ private setupEventListeners;
16
+ /**
17
+ * Attach audio elements for existing tracks (if any)
18
+ */
19
+ private attachExistingTracks;
20
+ /**
21
+ * Handle track subscribed event
22
+ */
23
+ private handleTrackSubscribed;
24
+ /**
25
+ * Handle track unsubscribed event
26
+ */
27
+ private handleTrackUnsubscribed;
28
+ /**
29
+ * Handle participant disconnected event
30
+ */
31
+ private handleParticipantDisconnected;
32
+ /**
33
+ * Attach an audio track to an audio element
34
+ */
35
+ private attachAudioTrack;
36
+ /**
37
+ * Detach an audio track and remove its element
38
+ */
39
+ private detachAudioTrack;
40
+ /**
41
+ * Cleanup and destroy the audio renderer
42
+ */
43
+ destroy(): void;
44
+ }
45
+ //# sourceMappingURL=AudioRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AudioRenderer.d.ts","sourceRoot":"","sources":["../../src/vanilla/AudioRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAwD,MAAM,gBAAgB,CAAC;AAG5F;;;;GAIG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,aAAa,CAA4C;IACjE,OAAO,CAAC,SAAS,CAAc;gBAEnB,IAAI,EAAE,IAAI;IAatB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAM3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAU7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAU/B;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAMrC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAmCxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;OAEG;IACH,OAAO,IAAI,IAAI;CAmBhB"}
@@ -0,0 +1,126 @@
1
+ import { RoomEvent } from 'livekit-client';
2
+ import { logger } from '../utils/logger';
3
+ /**
4
+ * AudioRenderer - Manages audio playback for remote participants
5
+ * Automatically creates and attaches audio elements for remote audio tracks
6
+ * This replaces React's RoomAudioRenderer for vanilla implementations
7
+ */
8
+ export class AudioRenderer {
9
+ constructor(room) {
10
+ this.audioElements = new Map();
11
+ this.room = room;
12
+ // Create a hidden container for audio elements
13
+ this.container = document.createElement('div');
14
+ this.container.id = 'convai-audio-renderer';
15
+ this.container.style.display = 'none';
16
+ document.body.appendChild(this.container);
17
+ this.setupEventListeners();
18
+ this.attachExistingTracks();
19
+ }
20
+ /**
21
+ * Setup event listeners for room events
22
+ */
23
+ setupEventListeners() {
24
+ this.room.on(RoomEvent.TrackSubscribed, this.handleTrackSubscribed.bind(this));
25
+ this.room.on(RoomEvent.TrackUnsubscribed, this.handleTrackUnsubscribed.bind(this));
26
+ this.room.on(RoomEvent.ParticipantDisconnected, this.handleParticipantDisconnected.bind(this));
27
+ }
28
+ /**
29
+ * Attach audio elements for existing tracks (if any)
30
+ */
31
+ attachExistingTracks() {
32
+ this.room.remoteParticipants.forEach((participant) => {
33
+ participant.audioTrackPublications.forEach((publication) => {
34
+ if (publication.track && publication.isSubscribed) {
35
+ this.attachAudioTrack(publication, participant);
36
+ }
37
+ });
38
+ });
39
+ }
40
+ /**
41
+ * Handle track subscribed event
42
+ */
43
+ handleTrackSubscribed(track, publication, participant) {
44
+ if (track.kind === 'audio') {
45
+ this.attachAudioTrack(publication, participant);
46
+ }
47
+ }
48
+ /**
49
+ * Handle track unsubscribed event
50
+ */
51
+ handleTrackUnsubscribed(track, publication, participant) {
52
+ if (track.kind === 'audio') {
53
+ this.detachAudioTrack(publication.trackSid);
54
+ }
55
+ }
56
+ /**
57
+ * Handle participant disconnected event
58
+ */
59
+ handleParticipantDisconnected(participant) {
60
+ participant.audioTrackPublications.forEach((publication) => {
61
+ this.detachAudioTrack(publication.trackSid);
62
+ });
63
+ }
64
+ /**
65
+ * Attach an audio track to an audio element
66
+ */
67
+ attachAudioTrack(publication, participant) {
68
+ const track = publication.track;
69
+ if (!track || track.kind !== 'audio')
70
+ return;
71
+ const trackSid = publication.trackSid;
72
+ // Skip if already attached
73
+ if (this.audioElements.has(trackSid)) {
74
+ return;
75
+ }
76
+ try {
77
+ // Create audio element
78
+ const audioElement = document.createElement('audio');
79
+ audioElement.id = `audio-${trackSid}`;
80
+ audioElement.autoplay = true;
81
+ // Attach track to audio element
82
+ track.attach(audioElement);
83
+ // Add to container
84
+ this.container.appendChild(audioElement);
85
+ // Store reference
86
+ this.audioElements.set(trackSid, audioElement);
87
+ logger.info(`Audio track attached: ${trackSid} from ${participant.identity}`);
88
+ }
89
+ catch (error) {
90
+ logger.error('Failed to attach audio track:', error);
91
+ }
92
+ }
93
+ /**
94
+ * Detach an audio track and remove its element
95
+ */
96
+ detachAudioTrack(trackSid) {
97
+ const audioElement = this.audioElements.get(trackSid);
98
+ if (audioElement) {
99
+ // Remove from DOM
100
+ audioElement.remove();
101
+ // Remove from map
102
+ this.audioElements.delete(trackSid);
103
+ logger.info(`Audio track detached: ${trackSid}`);
104
+ }
105
+ }
106
+ /**
107
+ * Cleanup and destroy the audio renderer
108
+ */
109
+ destroy() {
110
+ // Remove all audio elements
111
+ this.audioElements.forEach((element, trackSid) => {
112
+ element.remove();
113
+ });
114
+ this.audioElements.clear();
115
+ // Remove container
116
+ if (this.container && this.container.parentElement) {
117
+ this.container.remove();
118
+ }
119
+ // Remove event listeners
120
+ this.room.off(RoomEvent.TrackSubscribed, this.handleTrackSubscribed.bind(this));
121
+ this.room.off(RoomEvent.TrackUnsubscribed, this.handleTrackUnsubscribed.bind(this));
122
+ this.room.off(RoomEvent.ParticipantDisconnected, this.handleParticipantDisconnected.bind(this));
123
+ logger.info('AudioRenderer destroyed');
124
+ }
125
+ }
126
+ //# sourceMappingURL=AudioRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AudioRenderer.js","sourceRoot":"","sources":["../../src/vanilla/AudioRenderer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Vanilla ConvaiWidget - Complete UI widget for Convai conversations
3
+ * Ports the React ConvaiWidget to vanilla TypeScript with DOM manipulation
4
+ */
5
+ import type { VanillaWidgetOptions, VanillaWidget } from "./types";
6
+ /**
7
+ * Create a Convai chat widget in the specified container
8
+ *
9
+ * @param container - HTML element to attach the widget to
10
+ * @param options - Widget configuration options
11
+ * @returns VanillaWidget instance with destroy method
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * import { ConvaiClient, createConvaiWidget } from '@convai/web-sdk/vanilla';
16
+ *
17
+ * const client = new ConvaiClient();
18
+ * await client.connect({
19
+ * apiKey: 'your-api-key',
20
+ * characterId: 'your-character-id'
21
+ * });
22
+ *
23
+ * const widget = createConvaiWidget(document.body, {
24
+ * convaiClient: client,
25
+ * showVideo: true,
26
+ * showScreenShare: true
27
+ * });
28
+ *
29
+ * // Later, cleanup
30
+ * widget.destroy();
31
+ * ```
32
+ */
33
+ export declare function createConvaiWidget(container: HTMLElement, options: VanillaWidgetOptions): VanillaWidget;
34
+ /**
35
+ * Destroy a Convai widget instance
36
+ * @param widget - Widget instance to destroy
37
+ */
38
+ export declare function destroyConvaiWidget(widget: VanillaWidget): void;
39
+ //# sourceMappingURL=ConvaiWidget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConvaiWidget.d.ts","sourceRoot":"","sources":["../../src/vanilla/ConvaiWidget.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAe,MAAM,SAAS,CAAC;AAWhF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,WAAW,EACtB,OAAO,EAAE,oBAAoB,GAC5B,aAAa,CAo/Df;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAE/D"}