@convai/web-sdk 0.3.1-beta.2 → 0.3.2-beta.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/README.md +535 -1077
- package/dist/core/AudioManager.d.ts.map +1 -0
- package/dist/core/AudioManager.js +262 -0
- package/dist/core/AudioManager.js.map +1 -0
- package/dist/core/BlendshapeQueue.d.ts +128 -0
- package/dist/core/BlendshapeQueue.d.ts.map +1 -0
- package/dist/core/BlendshapeQueue.js +229 -0
- package/dist/core/BlendshapeQueue.js.map +1 -0
- package/dist/{types/core → core}/ConvaiClient.d.ts +19 -15
- package/dist/core/ConvaiClient.d.ts.map +1 -0
- package/dist/core/ConvaiClient.js +623 -0
- package/dist/core/ConvaiClient.js.map +1 -0
- package/dist/core/EventEmitter.d.ts.map +1 -0
- package/dist/core/EventEmitter.js +68 -0
- package/dist/core/EventEmitter.js.map +1 -0
- package/dist/{types/core → core}/MessageHandler.d.ts +7 -0
- package/dist/core/MessageHandler.d.ts.map +1 -0
- package/dist/core/MessageHandler.js +333 -0
- package/dist/core/MessageHandler.js.map +1 -0
- package/dist/core/ScreenShareManager.d.ts.map +1 -0
- package/dist/core/ScreenShareManager.js +207 -0
- package/dist/core/ScreenShareManager.js.map +1 -0
- package/dist/core/VideoManager.d.ts.map +1 -0
- package/dist/core/VideoManager.js +205 -0
- package/dist/core/VideoManager.js.map +1 -0
- package/dist/{types/core → core}/index.d.ts +2 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +14 -1970
- package/dist/core/index.js.map +1 -0
- package/dist/{types/core → core}/types.d.ts +12 -21
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +2 -0
- package/dist/core/types.js.map +1 -0
- package/dist/dev.d.ts.map +1 -0
- package/dist/dev.js +12 -0
- package/dist/dev.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/lipsync-helpers/arkitBlendshapeHelpers.d.ts.map +1 -0
- package/dist/lipsync-helpers/arkitBlendshapeHelpers.js +201 -0
- package/dist/lipsync-helpers/arkitBlendshapeHelpers.js.map +1 -0
- package/dist/lipsync-helpers/arkitOrder61.d.ts.map +1 -0
- package/dist/lipsync-helpers/arkitOrder61.js +287 -0
- package/dist/lipsync-helpers/arkitOrder61.js.map +1 -0
- package/dist/lipsync-helpers/arkitPhonemeReference.d.ts.map +1 -0
- package/dist/lipsync-helpers/arkitPhonemeReference.js +362 -0
- package/dist/lipsync-helpers/arkitPhonemeReference.js.map +1 -0
- package/dist/{types/lipsync-helpers → lipsync-helpers}/index.d.ts +1 -0
- package/dist/lipsync-helpers/index.d.ts.map +1 -0
- package/dist/lipsync-helpers/index.js +20 -1165
- package/dist/lipsync-helpers/index.js.map +1 -0
- package/dist/lipsync-helpers/metahumanOrder251.d.ts +115 -0
- package/dist/lipsync-helpers/metahumanOrder251.d.ts.map +1 -0
- package/dist/lipsync-helpers/metahumanOrder251.js +432 -0
- package/dist/lipsync-helpers/metahumanOrder251.js.map +1 -0
- package/dist/lipsync-helpers/neurosyncBlendshapeMapper.d.ts.map +1 -0
- package/dist/lipsync-helpers/neurosyncBlendshapeMapper.js +315 -0
- package/dist/lipsync-helpers/neurosyncBlendshapeMapper.js.map +1 -0
- package/dist/react/components/ConvaiWidget.d.ts.map +1 -0
- package/dist/react/components/ConvaiWidget.js +505 -0
- package/dist/react/components/ConvaiWidget.js.map +1 -0
- package/dist/react/components/index.d.ts.map +1 -0
- package/dist/react/components/index.js +3 -0
- package/dist/react/components/index.js.map +1 -0
- package/dist/react/components/rtc-widget/components/AudioSettingsPanel.d.ts.map +1 -0
- package/dist/react/components/rtc-widget/components/AudioSettingsPanel.js +316 -0
- package/dist/react/components/rtc-widget/components/AudioSettingsPanel.js.map +1 -0
- package/dist/react/components/rtc-widget/components/AudioVisualizer.d.ts.map +1 -0
- package/dist/react/components/rtc-widget/components/AudioVisualizer.js +259 -0
- package/dist/react/components/rtc-widget/components/AudioVisualizer.js.map +1 -0
- package/dist/react/components/rtc-widget/components/ConviMessage.d.ts.map +1 -0
- package/dist/react/components/rtc-widget/components/ConviMessage.js +14 -0
- package/dist/react/components/rtc-widget/components/ConviMessage.js.map +1 -0
- package/dist/react/components/rtc-widget/components/FloatingVideo.d.ts.map +1 -0
- package/dist/react/components/rtc-widget/components/FloatingVideo.js +122 -0
- package/dist/react/components/rtc-widget/components/FloatingVideo.js.map +1 -0
- package/dist/react/components/rtc-widget/components/MarkdownRenderer.d.ts.map +1 -0
- package/dist/react/components/rtc-widget/components/MarkdownRenderer.js +68 -0
- package/dist/react/components/rtc-widget/components/MarkdownRenderer.js.map +1 -0
- package/dist/react/components/rtc-widget/components/MessageBubble.d.ts.map +1 -0
- package/dist/react/components/rtc-widget/components/MessageBubble.js +23 -0
- package/dist/react/components/rtc-widget/components/MessageBubble.js.map +1 -0
- package/dist/react/components/rtc-widget/components/MessageList.d.ts.map +1 -0
- package/dist/react/components/rtc-widget/components/MessageList.js +89 -0
- package/dist/react/components/rtc-widget/components/MessageList.js.map +1 -0
- package/dist/react/components/rtc-widget/components/UserMessage.d.ts.map +1 -0
- package/dist/react/components/rtc-widget/components/UserMessage.js +15 -0
- package/dist/react/components/rtc-widget/components/UserMessage.js.map +1 -0
- package/dist/react/components/rtc-widget/components/conviComponents/ConviButton.d.ts.map +1 -0
- package/dist/react/components/rtc-widget/components/conviComponents/ConviButton.js +15 -0
- package/dist/react/components/rtc-widget/components/conviComponents/ConviButton.js.map +1 -0
- package/dist/react/components/rtc-widget/components/conviComponents/ConviFooter.d.ts.map +1 -0
- package/dist/react/components/rtc-widget/components/conviComponents/ConviFooter.js +172 -0
- package/dist/react/components/rtc-widget/components/conviComponents/ConviFooter.js.map +1 -0
- package/dist/react/components/rtc-widget/components/conviComponents/ConviHeader.d.ts.map +1 -0
- package/dist/react/components/rtc-widget/components/conviComponents/ConviHeader.js +66 -0
- package/dist/react/components/rtc-widget/components/conviComponents/ConviHeader.js.map +1 -0
- package/dist/react/components/rtc-widget/components/conviComponents/SettingsTray.d.ts.map +1 -0
- package/dist/react/components/rtc-widget/components/conviComponents/SettingsTray.js +68 -0
- package/dist/react/components/rtc-widget/components/conviComponents/SettingsTray.js.map +1 -0
- package/dist/react/components/rtc-widget/components/conviComponents/VoiceModeOverlay.d.ts.map +1 -0
- package/dist/react/components/rtc-widget/components/conviComponents/VoiceModeOverlay.js +255 -0
- package/dist/react/components/rtc-widget/components/conviComponents/VoiceModeOverlay.js.map +1 -0
- package/dist/react/components/rtc-widget/components/conviComponents/index.d.ts.map +1 -0
- package/dist/react/components/rtc-widget/components/conviComponents/index.js +6 -0
- package/dist/react/components/rtc-widget/components/conviComponents/index.js.map +1 -0
- package/dist/react/components/rtc-widget/components/index.d.ts.map +1 -0
- package/dist/react/components/rtc-widget/components/index.js +15 -0
- package/dist/react/components/rtc-widget/components/index.js.map +1 -0
- package/dist/react/components/rtc-widget/index.d.ts.map +1 -0
- package/dist/react/components/rtc-widget/index.js +9 -0
- package/dist/react/components/rtc-widget/index.js.map +1 -0
- package/dist/react/components/rtc-widget/styles/framerConfig.d.ts.map +1 -0
- package/dist/react/components/rtc-widget/styles/framerConfig.js +73 -0
- package/dist/react/components/rtc-widget/styles/framerConfig.js.map +1 -0
- package/dist/react/components/rtc-widget/styles/icons.d.ts.map +1 -0
- package/dist/react/components/rtc-widget/styles/icons.js +257 -0
- package/dist/react/components/rtc-widget/styles/icons.js.map +1 -0
- package/dist/react/components/rtc-widget/styles/index.d.ts.map +1 -0
- package/dist/react/components/rtc-widget/styles/index.js +9 -0
- package/dist/react/components/rtc-widget/styles/index.js.map +1 -0
- package/dist/react/components/rtc-widget/styles/styledComponents.d.ts.map +1 -0
- package/dist/react/components/rtc-widget/styles/styledComponents.js +663 -0
- package/dist/react/components/rtc-widget/styles/styledComponents.js.map +1 -0
- package/dist/react/components/rtc-widget/styles/theme.d.ts.map +1 -0
- package/dist/react/components/rtc-widget/styles/theme.js +290 -0
- package/dist/react/components/rtc-widget/styles/theme.js.map +1 -0
- package/dist/react/components/rtc-widget/types/index.d.ts.map +1 -0
- package/dist/react/components/rtc-widget/types/index.js +2 -0
- package/dist/react/components/rtc-widget/types/index.js.map +1 -0
- package/dist/react/hooks/index.d.ts.map +1 -0
- package/dist/react/hooks/index.js +6 -0
- package/dist/react/hooks/index.js.map +1 -0
- package/dist/react/hooks/useCharacterInfo.d.ts.map +1 -0
- package/dist/react/hooks/useCharacterInfo.js +60 -0
- package/dist/react/hooks/useCharacterInfo.js.map +1 -0
- package/dist/react/hooks/useConvaiClient.d.ts +35 -0
- package/dist/react/hooks/useConvaiClient.d.ts.map +1 -0
- package/dist/react/hooks/useConvaiClient.js +183 -0
- package/dist/react/hooks/useConvaiClient.js.map +1 -0
- package/dist/react/hooks/useLocalCameraTrack.d.ts.map +1 -0
- package/dist/react/hooks/useLocalCameraTrack.js +34 -0
- package/dist/react/hooks/useLocalCameraTrack.js.map +1 -0
- package/dist/{types/react → react}/index.d.ts +0 -2
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +13 -0
- package/dist/react/index.js.map +1 -0
- package/dist/types/index.d.ts +260 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/LatencyMonitor.d.ts.map +1 -0
- package/dist/utils/LatencyMonitor.js +136 -0
- package/dist/utils/LatencyMonitor.js.map +1 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +96 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/speakerManagement.d.ts.map +1 -0
- package/dist/utils/speakerManagement.js +64 -0
- package/dist/utils/speakerManagement.js.map +1 -0
- package/dist/{types/vanilla → vanilla}/AudioRenderer.d.ts +5 -0
- package/dist/vanilla/AudioRenderer.d.ts.map +1 -0
- package/dist/vanilla/AudioRenderer.js +135 -0
- package/dist/vanilla/AudioRenderer.js.map +1 -0
- package/dist/vanilla/ConvaiWidget.d.ts.map +1 -0
- package/dist/vanilla/ConvaiWidget.js +1786 -0
- package/dist/vanilla/ConvaiWidget.js.map +1 -0
- package/dist/vanilla/icons.d.ts.map +1 -0
- package/dist/vanilla/icons.js +222 -0
- package/dist/vanilla/icons.js.map +1 -0
- package/dist/{types/vanilla → vanilla}/index.d.ts +1 -3
- package/dist/vanilla/index.d.ts.map +1 -0
- package/dist/vanilla/index.js +20 -5507
- package/dist/vanilla/index.js.map +1 -0
- package/dist/vanilla/styles.d.ts.map +1 -0
- package/dist/vanilla/styles.js +287 -0
- package/dist/vanilla/styles.js.map +1 -0
- package/dist/vanilla/types.d.ts +43 -0
- package/dist/vanilla/types.d.ts.map +1 -0
- package/dist/vanilla/types.js +2 -0
- package/dist/vanilla/types.js.map +1 -0
- package/package.json +33 -38
- package/CHANGELOG.md +0 -165
- package/dist/core/index.cjs +0 -1977
- package/dist/lipsync-helpers/index.cjs +0 -1195
- package/dist/types/core/AudioManager.d.ts.map +0 -1
- package/dist/types/core/ConvaiClient.d.ts.map +0 -1
- package/dist/types/core/EventEmitter.d.ts.map +0 -1
- package/dist/types/core/MessageHandler.d.ts.map +0 -1
- package/dist/types/core/ScreenShareManager.d.ts.map +0 -1
- package/dist/types/core/VideoManager.d.ts.map +0 -1
- package/dist/types/core/index.d.ts.map +0 -1
- package/dist/types/core/types.d.ts.map +0 -1
- package/dist/types/dev.d.ts.map +0 -1
- package/dist/types/lipsync-helpers/arkitBlendshapeHelpers.d.ts.map +0 -1
- package/dist/types/lipsync-helpers/arkitOrder61.d.ts.map +0 -1
- package/dist/types/lipsync-helpers/arkitPhonemeReference.d.ts.map +0 -1
- package/dist/types/lipsync-helpers/index.d.ts.map +0 -1
- package/dist/types/lipsync-helpers/neurosyncBlendshapeMapper.d.ts.map +0 -1
- package/dist/types/react/components/ConvaiWidget.d.ts.map +0 -1
- package/dist/types/react/components/index.d.ts.map +0 -1
- package/dist/types/react/components/rtc-widget/components/AudioSettingsPanel.d.ts.map +0 -1
- package/dist/types/react/components/rtc-widget/components/AudioVisualizer.d.ts.map +0 -1
- package/dist/types/react/components/rtc-widget/components/ConviMessage.d.ts.map +0 -1
- package/dist/types/react/components/rtc-widget/components/FloatingVideo.d.ts.map +0 -1
- package/dist/types/react/components/rtc-widget/components/MarkdownRenderer.d.ts.map +0 -1
- package/dist/types/react/components/rtc-widget/components/MessageBubble.d.ts.map +0 -1
- package/dist/types/react/components/rtc-widget/components/MessageList.d.ts.map +0 -1
- package/dist/types/react/components/rtc-widget/components/UserMessage.d.ts.map +0 -1
- package/dist/types/react/components/rtc-widget/components/conviComponents/ConviButton.d.ts.map +0 -1
- package/dist/types/react/components/rtc-widget/components/conviComponents/ConviFooter.d.ts.map +0 -1
- package/dist/types/react/components/rtc-widget/components/conviComponents/ConviHeader.d.ts.map +0 -1
- package/dist/types/react/components/rtc-widget/components/conviComponents/SettingsTray.d.ts.map +0 -1
- package/dist/types/react/components/rtc-widget/components/conviComponents/VoiceModeOverlay.d.ts.map +0 -1
- package/dist/types/react/components/rtc-widget/components/conviComponents/index.d.ts.map +0 -1
- package/dist/types/react/components/rtc-widget/components/index.d.ts.map +0 -1
- package/dist/types/react/components/rtc-widget/index.d.ts.map +0 -1
- package/dist/types/react/components/rtc-widget/styles/framerConfig.d.ts.map +0 -1
- package/dist/types/react/components/rtc-widget/styles/icons.d.ts.map +0 -1
- package/dist/types/react/components/rtc-widget/styles/index.d.ts.map +0 -1
- package/dist/types/react/components/rtc-widget/styles/styledComponents.d.ts.map +0 -1
- package/dist/types/react/components/rtc-widget/styles/theme.d.ts.map +0 -1
- package/dist/types/react/components/rtc-widget/types/index.d.ts.map +0 -1
- package/dist/types/react/hooks/index.d.ts.map +0 -1
- package/dist/types/react/hooks/useCharacterInfo.d.ts.map +0 -1
- package/dist/types/react/hooks/useConvaiClient.d.ts +0 -141
- package/dist/types/react/hooks/useConvaiClient.d.ts.map +0 -1
- package/dist/types/react/hooks/useLocalCameraTrack.d.ts.map +0 -1
- package/dist/types/react/index.d.ts.map +0 -1
- package/dist/types/types/index.d.ts +0 -261
- package/dist/types/types/index.d.ts.map +0 -1
- package/dist/types/utils/LatencyMonitor.d.ts.map +0 -1
- package/dist/types/utils/logger.d.ts.map +0 -1
- package/dist/types/utils/speakerManagement.d.ts.map +0 -1
- package/dist/types/vanilla/AudioRenderer.d.ts.map +0 -1
- package/dist/types/vanilla/ConvaiWidget.d.ts.map +0 -1
- package/dist/types/vanilla/icons.d.ts.map +0 -1
- package/dist/types/vanilla/index.d.ts.map +0 -1
- package/dist/types/vanilla/styles.d.ts.map +0 -1
- package/dist/types/vanilla/types.d.ts +0 -106
- package/dist/types/vanilla/types.d.ts.map +0 -1
- package/dist/umd/convai.umd.js +0 -1
- package/dist/vanilla/index.cjs +0 -5557
- /package/dist/{types/core → core}/AudioManager.d.ts +0 -0
- /package/dist/{types/core → core}/EventEmitter.d.ts +0 -0
- /package/dist/{types/core → core}/ScreenShareManager.d.ts +0 -0
- /package/dist/{types/core → core}/VideoManager.d.ts +0 -0
- /package/dist/{types/dev.d.ts → dev.d.ts} +0 -0
- /package/dist/{types/lipsync-helpers → lipsync-helpers}/arkitBlendshapeHelpers.d.ts +0 -0
- /package/dist/{types/lipsync-helpers → lipsync-helpers}/arkitOrder61.d.ts +0 -0
- /package/dist/{types/lipsync-helpers → lipsync-helpers}/arkitPhonemeReference.d.ts +0 -0
- /package/dist/{types/lipsync-helpers → lipsync-helpers}/neurosyncBlendshapeMapper.d.ts +0 -0
- /package/dist/{types/react → react}/components/ConvaiWidget.d.ts +0 -0
- /package/dist/{types/react → react}/components/index.d.ts +0 -0
- /package/dist/{types/react → react}/components/rtc-widget/components/AudioSettingsPanel.d.ts +0 -0
- /package/dist/{types/react → react}/components/rtc-widget/components/AudioVisualizer.d.ts +0 -0
- /package/dist/{types/react → react}/components/rtc-widget/components/ConviMessage.d.ts +0 -0
- /package/dist/{types/react → react}/components/rtc-widget/components/FloatingVideo.d.ts +0 -0
- /package/dist/{types/react → react}/components/rtc-widget/components/MarkdownRenderer.d.ts +0 -0
- /package/dist/{types/react → react}/components/rtc-widget/components/MessageBubble.d.ts +0 -0
- /package/dist/{types/react → react}/components/rtc-widget/components/MessageList.d.ts +0 -0
- /package/dist/{types/react → react}/components/rtc-widget/components/UserMessage.d.ts +0 -0
- /package/dist/{types/react → react}/components/rtc-widget/components/conviComponents/ConviButton.d.ts +0 -0
- /package/dist/{types/react → react}/components/rtc-widget/components/conviComponents/ConviFooter.d.ts +0 -0
- /package/dist/{types/react → react}/components/rtc-widget/components/conviComponents/ConviHeader.d.ts +0 -0
- /package/dist/{types/react → react}/components/rtc-widget/components/conviComponents/SettingsTray.d.ts +0 -0
- /package/dist/{types/react → react}/components/rtc-widget/components/conviComponents/VoiceModeOverlay.d.ts +0 -0
- /package/dist/{types/react → react}/components/rtc-widget/components/conviComponents/index.d.ts +0 -0
- /package/dist/{types/react → react}/components/rtc-widget/components/index.d.ts +0 -0
- /package/dist/{types/react → react}/components/rtc-widget/index.d.ts +0 -0
- /package/dist/{types/react → react}/components/rtc-widget/styles/framerConfig.d.ts +0 -0
- /package/dist/{types/react → react}/components/rtc-widget/styles/icons.d.ts +0 -0
- /package/dist/{types/react → react}/components/rtc-widget/styles/index.d.ts +0 -0
- /package/dist/{types/react → react}/components/rtc-widget/styles/styledComponents.d.ts +0 -0
- /package/dist/{types/react → react}/components/rtc-widget/styles/theme.d.ts +0 -0
- /package/dist/{types/react → react}/components/rtc-widget/types/index.d.ts +0 -0
- /package/dist/{types/react → react}/hooks/index.d.ts +0 -0
- /package/dist/{types/react → react}/hooks/useCharacterInfo.d.ts +0 -0
- /package/dist/{types/react → react}/hooks/useLocalCameraTrack.d.ts +0 -0
- /package/dist/{types/utils → utils}/LatencyMonitor.d.ts +0 -0
- /package/dist/{types/utils → utils}/logger.d.ts +0 -0
- /package/dist/{types/utils → utils}/speakerManagement.d.ts +0 -0
- /package/dist/{types/vanilla → vanilla}/ConvaiWidget.d.ts +0 -0
- /package/dist/{types/vanilla → vanilla}/icons.d.ts +0 -0
- /package/dist/{types/vanilla → vanilla}/styles.d.ts +0 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { useLocalParticipant, } from "@livekit/components-react";
|
|
2
|
+
import { Track } from "livekit-client";
|
|
3
|
+
import { useMemo } from "react";
|
|
4
|
+
/**
|
|
5
|
+
* Hook to get the local camera track reference from LiveKit.
|
|
6
|
+
*
|
|
7
|
+
* Returns a track reference that can be used with LiveKit components
|
|
8
|
+
* to display the local participant's camera feed.
|
|
9
|
+
*
|
|
10
|
+
* @returns {TrackReferenceOrPlaceholder} Track reference for the local camera
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```tsx
|
|
14
|
+
* function VideoComponent() {
|
|
15
|
+
* const cameraTrackRef = useLocalCameraTrack();
|
|
16
|
+
*
|
|
17
|
+
* return (
|
|
18
|
+
* <VideoTrack trackRef={cameraTrackRef} />
|
|
19
|
+
* );
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export const useLocalCameraTrack = () => {
|
|
24
|
+
const { cameraTrack, localParticipant } = useLocalParticipant();
|
|
25
|
+
const cameraTrackRef = useMemo(() => {
|
|
26
|
+
return {
|
|
27
|
+
participant: localParticipant,
|
|
28
|
+
source: Track.Source.Camera,
|
|
29
|
+
publication: cameraTrack,
|
|
30
|
+
};
|
|
31
|
+
}, [localParticipant, cameraTrack]);
|
|
32
|
+
return cameraTrackRef;
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=useLocalCameraTrack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLocalCameraTrack.js","sourceRoot":"","sources":["../../../src/react/hooks/useLocalCameraTrack.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAEhE,MAAM,cAAc,GAAgC,OAAO,CAAC,GAAG,EAAE;QAC/D,OAAO;YACL,WAAW,EAAE,gBAAgB;YAC7B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;YAC3B,WAAW,EAAE,WAAW;SACzB,CAAC;IACJ,CAAC,EAAE,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC;IAEpC,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
export { useConvaiClient } from './hooks/useConvaiClient';
|
|
2
|
-
export type { BlendshapeFrame, BlendshapeControls } from './hooks/useConvaiClient';
|
|
3
2
|
export { ConvaiWidget } from './components/ConvaiWidget';
|
|
4
3
|
export * from './hooks';
|
|
5
4
|
export * from '../core/types';
|
|
6
5
|
export { ConvaiClient } from '../core';
|
|
7
6
|
export { RoomAudioRenderer as AudioRenderer, RoomContext as AudioContext } from '@livekit/components-react';
|
|
8
|
-
export * from '../lipsync-helpers';
|
|
9
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,cAAc,SAAS,CAAC;AAGxB,cAAc,eAAe,CAAC;AAG9B,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGvC,OAAO,EAAE,iBAAiB,IAAI,aAAa,EAAE,WAAW,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// Main hook (backward compatible)
|
|
2
|
+
export { useConvaiClient } from './hooks/useConvaiClient';
|
|
3
|
+
// Components
|
|
4
|
+
export { ConvaiWidget } from './components/ConvaiWidget';
|
|
5
|
+
// Additional hooks (for advanced usage)
|
|
6
|
+
export * from './hooks';
|
|
7
|
+
// Re-export core types for convenience
|
|
8
|
+
export * from '../core/types';
|
|
9
|
+
// Re-export core client for advanced usage
|
|
10
|
+
export { ConvaiClient } from '../core';
|
|
11
|
+
// Re-export LiveKit components for convenience (backward compatible)
|
|
12
|
+
export { RoomAudioRenderer as AudioRenderer, RoomContext as AudioContext } from '@livekit/components-react';
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,aAAa;AACb,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,wCAAwC;AACxC,cAAc,SAAS,CAAC;AAExB,uCAAuC;AACvC,cAAc,eAAe,CAAC;AAE9B,2CAA2C;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,qEAAqE;AACrE,OAAO,EAAE,iBAAiB,IAAI,aAAa,EAAE,WAAW,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,2 +1,261 @@
|
|
|
1
|
-
|
|
1
|
+
import { Room } from 'livekit-client';
|
|
2
|
+
/**
|
|
3
|
+
* Audio processing settings for the microphone input.
|
|
4
|
+
* These settings help optimize the audio quality and reduce interruptions.
|
|
5
|
+
* @internal - This is a fixed configuration and should not be modified by users
|
|
6
|
+
*/
|
|
7
|
+
interface AudioSettings {
|
|
8
|
+
/** Enable echo cancellation to prevent audio feedback (default: true) */
|
|
9
|
+
echoCancellation?: boolean;
|
|
10
|
+
/** Enable noise suppression to reduce background noise (default: true) */
|
|
11
|
+
noiseSuppression?: boolean;
|
|
12
|
+
/** Enable automatic gain control for consistent volume (default: true) */
|
|
13
|
+
autoGainControl?: boolean;
|
|
14
|
+
/** Audio sample rate in Hz (default: 48000) */
|
|
15
|
+
sampleRate?: number;
|
|
16
|
+
/** Number of audio channels, 1 for mono, 2 for stereo (default: 1) */
|
|
17
|
+
channelCount?: number;
|
|
18
|
+
}
|
|
19
|
+
export type { AudioSettings };
|
|
20
|
+
/**
|
|
21
|
+
* Configuration object for connecting to a Convai character.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```tsx
|
|
25
|
+
* const config: ConvaiConfig = {
|
|
26
|
+
* apiKey: 'your-api-key',
|
|
27
|
+
* characterId: 'your-character-id',
|
|
28
|
+
* endUserId: 'user-uuid', // Optional: enables long-term memory and analytics
|
|
29
|
+
* enableVideo: false, // If false, connection_type will be "audio"
|
|
30
|
+
* };
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export interface ConvaiConfig {
|
|
34
|
+
/** Your Convai API key from convai.com dashboard (required) */
|
|
35
|
+
apiKey: string;
|
|
36
|
+
/** The Character ID to connect to (required) */
|
|
37
|
+
characterId: string;
|
|
38
|
+
/**
|
|
39
|
+
* End user identifier for speaker management (optional).
|
|
40
|
+
*
|
|
41
|
+
* When provided:
|
|
42
|
+
* - Enables long-term memory: Character remembers context from previous conversations with this user
|
|
43
|
+
* - Enables analytics: Track user engagement and behavior
|
|
44
|
+
*
|
|
45
|
+
* When not provided:
|
|
46
|
+
* - Anonymous mode: No persistent memory or user tracking
|
|
47
|
+
* - Each session is independent with no conversation history
|
|
48
|
+
*
|
|
49
|
+
* Use a unique UUID or device ID for persistent user experiences.
|
|
50
|
+
*/
|
|
51
|
+
endUserId?: string;
|
|
52
|
+
/** Custom Convai API URL (optional, defaults to production endpoint) */
|
|
53
|
+
url?: string;
|
|
54
|
+
/**
|
|
55
|
+
* Enable video capability (default: false).
|
|
56
|
+
* If true, connection_type will be "video" (supports audio, video, and screenshare).
|
|
57
|
+
* If false, connection_type will be "audio" (audio only).
|
|
58
|
+
*/
|
|
59
|
+
enableVideo?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Start with video camera on when connecting (default: false).
|
|
62
|
+
* Only works if enableVideo is true. If false, camera stays off until user enables it.
|
|
63
|
+
*/
|
|
64
|
+
startWithVideoOn?: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Start with microphone on when connecting (default: false).
|
|
67
|
+
* If false, microphone stays off until user enables it using audioControls.enableAudio().
|
|
68
|
+
* Useful for text-only modes where you want to defer microphone permission until voice mode.
|
|
69
|
+
*/
|
|
70
|
+
startWithAudioOn?: boolean;
|
|
71
|
+
/** Enable text-to-speech audio generation (default: true) */
|
|
72
|
+
ttsEnabled?: boolean;
|
|
73
|
+
/** Configuration for character actions and environmental context */
|
|
74
|
+
actionConfig?: {
|
|
75
|
+
/** List of action names the character can perform */
|
|
76
|
+
actions: string[];
|
|
77
|
+
/** Other characters present in the scene or conversation */
|
|
78
|
+
characters: Array<{
|
|
79
|
+
/** Character name */
|
|
80
|
+
name: string;
|
|
81
|
+
/** Character biography or description */
|
|
82
|
+
bio: string;
|
|
83
|
+
}>;
|
|
84
|
+
/** Objects available in the scene or environment */
|
|
85
|
+
objects: Array<{
|
|
86
|
+
/** Object name */
|
|
87
|
+
name: string;
|
|
88
|
+
/** Object description or properties */
|
|
89
|
+
description: string;
|
|
90
|
+
}>;
|
|
91
|
+
/** Name of the object the character is currently focused on */
|
|
92
|
+
currentAttentionObject?: string;
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Represents a single message in the chat conversation.
|
|
97
|
+
* Different message types are used for various parts of the conversation flow.
|
|
98
|
+
*/
|
|
99
|
+
export interface ChatMessage {
|
|
100
|
+
/** Unique identifier for the message */
|
|
101
|
+
id: string;
|
|
102
|
+
/**
|
|
103
|
+
* Type of message:
|
|
104
|
+
* - `user`: User's sent message
|
|
105
|
+
* - `convai`: Character's response
|
|
106
|
+
* - `user-transcription`: Real-time speech-to-text from user
|
|
107
|
+
* - `bot-llm-text`: Character's LLM-generated text
|
|
108
|
+
* - `emotion`: Character's emotional state
|
|
109
|
+
* - `behavior-tree`: Behavior tree response
|
|
110
|
+
* - `action`: Action execution
|
|
111
|
+
* - `bot-emotion`: Bot emotional response
|
|
112
|
+
* - `user-llm-text`: User text processed by LLM
|
|
113
|
+
*/
|
|
114
|
+
type: 'user' | 'convai' | 'emotion' | 'behavior-tree' | 'action' | 'user-transcription' | 'bot-llm-text' | 'bot-emotion' | 'user-llm-text';
|
|
115
|
+
/** The text content of the message */
|
|
116
|
+
content: string;
|
|
117
|
+
/** ISO timestamp string of when the message was created */
|
|
118
|
+
timestamp: string;
|
|
119
|
+
/** Whether this is the final version of the message (for streaming) */
|
|
120
|
+
isFinal?: boolean;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Represents the current state of the Convai client connection and activity.
|
|
124
|
+
* Use this to provide UI feedback about the conversation state.
|
|
125
|
+
*
|
|
126
|
+
* @example
|
|
127
|
+
* ```tsx
|
|
128
|
+
* const { state } = convaiClient;
|
|
129
|
+
*
|
|
130
|
+
* if (state.isConnected) {
|
|
131
|
+
* console.log('Connected to character');
|
|
132
|
+
* }
|
|
133
|
+
*
|
|
134
|
+
* if (state.isSpeaking) {
|
|
135
|
+
* console.log('Character is speaking');
|
|
136
|
+
* }
|
|
137
|
+
*
|
|
138
|
+
* // Or use the combined state
|
|
139
|
+
* console.log(state.agentState); // 'listening' | 'thinking' | 'speaking'
|
|
140
|
+
* ```
|
|
141
|
+
*/
|
|
142
|
+
export interface ConvaiClientState {
|
|
143
|
+
/** Whether the client is currently connected to Convai */
|
|
144
|
+
isConnected: boolean;
|
|
145
|
+
/** Whether a connection attempt is in progress */
|
|
146
|
+
isConnecting: boolean;
|
|
147
|
+
/** Whether the system is actively listening to user input */
|
|
148
|
+
isListening: boolean;
|
|
149
|
+
/** Whether the character is processing/thinking about a response */
|
|
150
|
+
isThinking: boolean;
|
|
151
|
+
/** Whether the character is currently speaking */
|
|
152
|
+
isSpeaking: boolean;
|
|
153
|
+
/**
|
|
154
|
+
* Combined state indicator for the character's current activity.
|
|
155
|
+
* Use this as a single source of truth for UI state.
|
|
156
|
+
*/
|
|
157
|
+
agentState: 'disconnected' | 'connected' | 'listening' | 'thinking' | 'speaking';
|
|
158
|
+
}
|
|
159
|
+
import type { AudioControls, VideoControls, ScreenShareControls } from "../core/types";
|
|
160
|
+
/**
|
|
161
|
+
* Main Convai client interface returned by useConvaiClient() hook.
|
|
162
|
+
* Provides complete control over Convai character connections and interactions.
|
|
163
|
+
*
|
|
164
|
+
* @example
|
|
165
|
+
* ```tsx
|
|
166
|
+
* import { useConvaiClient } from '@convai/web-sdk';
|
|
167
|
+
*
|
|
168
|
+
* function App() {
|
|
169
|
+
* const convaiClient = useConvaiClient();
|
|
170
|
+
*
|
|
171
|
+
* // Connect to character
|
|
172
|
+
* await convaiClient.connect({
|
|
173
|
+
* apiKey: 'your-api-key',
|
|
174
|
+
* characterId: 'your-character-id'
|
|
175
|
+
* });
|
|
176
|
+
*
|
|
177
|
+
* // Send a message
|
|
178
|
+
* convaiClient.sendUserTextMessage('Hello!');
|
|
179
|
+
*
|
|
180
|
+
* // Check state
|
|
181
|
+
* console.log(convaiClient.state.isConnected);
|
|
182
|
+
* }
|
|
183
|
+
* ```
|
|
184
|
+
*/
|
|
185
|
+
export interface ConvaiClient {
|
|
186
|
+
/** Current connection and activity state of the client */
|
|
187
|
+
state: ConvaiClientState;
|
|
188
|
+
/**
|
|
189
|
+
* Connection type: "audio" (audio only) or "video" (audio + video + screenshare).
|
|
190
|
+
* Set based on enableVideo in connect config.
|
|
191
|
+
*/
|
|
192
|
+
connectionType: 'audio' | 'video' | null;
|
|
193
|
+
/** API key used for the current connection (null if not connected) */
|
|
194
|
+
apiKey: string | null;
|
|
195
|
+
/** Character ID used for the current connection (null if not connected) */
|
|
196
|
+
characterId: string | null;
|
|
197
|
+
/**
|
|
198
|
+
* Speaker ID for the current user (null if not connected).
|
|
199
|
+
* Used for long-term memory and user analytics.
|
|
200
|
+
*/
|
|
201
|
+
speakerId: string | null;
|
|
202
|
+
/**
|
|
203
|
+
* Connect to a Convai character.
|
|
204
|
+
* Uses stored config from useConvaiClient() or accepts override config.
|
|
205
|
+
*/
|
|
206
|
+
connect: (config?: ConvaiConfig) => Promise<void>;
|
|
207
|
+
/** Disconnect from the current character session */
|
|
208
|
+
disconnect: () => Promise<void>;
|
|
209
|
+
/** Reconnect - disconnect and connect again using stored config */
|
|
210
|
+
reconnect: () => Promise<void>;
|
|
211
|
+
/** Reset the session ID to start a new conversation (clears history) */
|
|
212
|
+
resetSession: () => void;
|
|
213
|
+
/** Internal LiveKit Room instance (for advanced usage) */
|
|
214
|
+
room: Room;
|
|
215
|
+
/** Current video track (for advanced usage) */
|
|
216
|
+
videoTrack: any;
|
|
217
|
+
/** Current audio track (for advanced usage) */
|
|
218
|
+
audioTrack: any;
|
|
219
|
+
/** Send a text message to the character */
|
|
220
|
+
sendUserTextMessage: (text: string) => void;
|
|
221
|
+
/**
|
|
222
|
+
* Send a trigger message to invoke specific character actions or responses.
|
|
223
|
+
* @param triggerName - Name of the trigger to invoke
|
|
224
|
+
* @param triggerMessage - Optional message to accompany the trigger
|
|
225
|
+
*/
|
|
226
|
+
sendTriggerMessage: (triggerName?: string, triggerMessage?: string) => void;
|
|
227
|
+
/**
|
|
228
|
+
* Update template keys in the character's context (e.g., user name, location).
|
|
229
|
+
* These keys can be referenced in the character's responses.
|
|
230
|
+
*/
|
|
231
|
+
updateTemplateKeys: (templateKeys: {
|
|
232
|
+
[key: string]: string;
|
|
233
|
+
}) => void;
|
|
234
|
+
/**
|
|
235
|
+
* Update dynamic information about the current context.
|
|
236
|
+
* This helps the character understand the current situation.
|
|
237
|
+
*/
|
|
238
|
+
updateDynamicInfo: (dynamicInfo: {
|
|
239
|
+
text: string;
|
|
240
|
+
}) => void;
|
|
241
|
+
/** Array of all chat messages in the current conversation */
|
|
242
|
+
chatMessages: ChatMessage[];
|
|
243
|
+
/** Current real-time transcription of user speech */
|
|
244
|
+
userTranscription: string;
|
|
245
|
+
/** Unique session ID for the current character conversation */
|
|
246
|
+
characterSessionId: string | null;
|
|
247
|
+
/** Whether the bot is ready to receive messages (true after bot-ready message) */
|
|
248
|
+
isBotReady: boolean;
|
|
249
|
+
/** Audio control methods for managing microphone mute/unmute */
|
|
250
|
+
audioControls: AudioControls;
|
|
251
|
+
/** Video control methods for enabling/disabling camera */
|
|
252
|
+
videoControls: VideoControls;
|
|
253
|
+
/** Screen sharing control methods */
|
|
254
|
+
screenShareControls: ScreenShareControls;
|
|
255
|
+
/**
|
|
256
|
+
* Toggle text-to-speech on or off.
|
|
257
|
+
* When disabled, character responses won't be spoken aloud.
|
|
258
|
+
*/
|
|
259
|
+
toggleTts: (enabled: boolean) => void;
|
|
260
|
+
}
|
|
2
261
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LatencyMonitor.d.ts","sourceRoot":"","sources":["../../src/utils/LatencyMonitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,kBAAkB,CAKV;IAChB,OAAO,CAAC,eAAe,CAAe;IACtC,OAAO,CAAC,SAAS,CAAkB;gBAEvB,OAAO,GAAE,OAAe;IAKpC;;OAEG;IACH,MAAM,IAAI,IAAI;IAKd;;OAEG;IACH,OAAO,IAAI,IAAI;IAKf;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAYpE;;OAEG;IACH,cAAc,IAAI,IAAI;IA+BtB;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAIzB;;OAEG;IACH,eAAe,IAAI,kBAAkB,EAAE;IAIvC;;OAEG;IACH,oBAAoB,IAAI,kBAAkB,GAAG,IAAI;IAMjD;;OAEG;IACH,QAAQ,IAAI,YAAY,GAAG,IAAI;IAkB/B;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,IAAI,qBAAqB,IAAI,OAAO,CAEnC;IAED;;OAEG;IACH,qBAAqB;YApJf,MAAM;mBACC,MAAM;cACX,MAAM,GAAG,OAAO;sBACR,MAAM;;CAoJvB"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { EventEmitter } from "../core/EventEmitter";
|
|
2
|
+
/**
|
|
3
|
+
* LatencyMonitor - Tracks and manages latency measurements
|
|
4
|
+
* This is for dev/debugging purposes only
|
|
5
|
+
*/
|
|
6
|
+
export class LatencyMonitor extends EventEmitter {
|
|
7
|
+
constructor(enabled = false) {
|
|
8
|
+
super();
|
|
9
|
+
this.measurements = [];
|
|
10
|
+
this.pendingMeasurement = null;
|
|
11
|
+
this.maxMeasurements = 100; // Keep last 100 measurements
|
|
12
|
+
this.isEnabled = false;
|
|
13
|
+
this.isEnabled = enabled;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Enable latency monitoring
|
|
17
|
+
*/
|
|
18
|
+
enable() {
|
|
19
|
+
this.isEnabled = true;
|
|
20
|
+
this.emit("enabledChange", true);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Disable latency monitoring
|
|
24
|
+
*/
|
|
25
|
+
disable() {
|
|
26
|
+
this.isEnabled = false;
|
|
27
|
+
this.emit("enabledChange", false);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Check if monitoring is enabled
|
|
31
|
+
*/
|
|
32
|
+
get enabled() {
|
|
33
|
+
return this.isEnabled;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Start a new latency measurement
|
|
37
|
+
*/
|
|
38
|
+
startMeasurement(type, userMessage) {
|
|
39
|
+
if (!this.isEnabled)
|
|
40
|
+
return;
|
|
41
|
+
const id = `${type}-${Date.now()}-${Math.random()}`;
|
|
42
|
+
this.pendingMeasurement = {
|
|
43
|
+
id,
|
|
44
|
+
startTime: Date.now(),
|
|
45
|
+
type,
|
|
46
|
+
userMessage: userMessage?.substring(0, 50), // Keep first 50 chars
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Complete the current measurement
|
|
51
|
+
*/
|
|
52
|
+
endMeasurement() {
|
|
53
|
+
if (!this.isEnabled || !this.pendingMeasurement)
|
|
54
|
+
return;
|
|
55
|
+
const endTime = Date.now();
|
|
56
|
+
const latency = endTime - this.pendingMeasurement.startTime;
|
|
57
|
+
const measurement = {
|
|
58
|
+
id: this.pendingMeasurement.id,
|
|
59
|
+
startTime: this.pendingMeasurement.startTime,
|
|
60
|
+
endTime,
|
|
61
|
+
latency,
|
|
62
|
+
type: this.pendingMeasurement.type,
|
|
63
|
+
userMessage: this.pendingMeasurement.userMessage,
|
|
64
|
+
};
|
|
65
|
+
// Add to measurements array
|
|
66
|
+
this.measurements.push(measurement);
|
|
67
|
+
// Keep only the last N measurements
|
|
68
|
+
if (this.measurements.length > this.maxMeasurements) {
|
|
69
|
+
this.measurements.shift();
|
|
70
|
+
}
|
|
71
|
+
// Clear pending measurement
|
|
72
|
+
this.pendingMeasurement = null;
|
|
73
|
+
// Emit new measurement
|
|
74
|
+
this.emit("measurement", measurement);
|
|
75
|
+
this.emit("measurementsChange", this.measurements);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Cancel the current pending measurement
|
|
79
|
+
*/
|
|
80
|
+
cancelMeasurement() {
|
|
81
|
+
this.pendingMeasurement = null;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Get all measurements
|
|
85
|
+
*/
|
|
86
|
+
getMeasurements() {
|
|
87
|
+
return [...this.measurements];
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Get the latest measurement
|
|
91
|
+
*/
|
|
92
|
+
getLatestMeasurement() {
|
|
93
|
+
return this.measurements.length > 0
|
|
94
|
+
? this.measurements[this.measurements.length - 1]
|
|
95
|
+
: null;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Get latency statistics
|
|
99
|
+
*/
|
|
100
|
+
getStats() {
|
|
101
|
+
if (this.measurements.length === 0)
|
|
102
|
+
return null;
|
|
103
|
+
const latencies = this.measurements.map((m) => m.latency).sort((a, b) => a - b);
|
|
104
|
+
const sum = latencies.reduce((acc, val) => acc + val, 0);
|
|
105
|
+
const p95Index = Math.floor(latencies.length * 0.95);
|
|
106
|
+
return {
|
|
107
|
+
average: sum / latencies.length,
|
|
108
|
+
min: latencies[0],
|
|
109
|
+
max: latencies[latencies.length - 1],
|
|
110
|
+
median: latencies[Math.floor(latencies.length / 2)],
|
|
111
|
+
p95: latencies[p95Index],
|
|
112
|
+
count: latencies.length,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Clear all measurements
|
|
117
|
+
*/
|
|
118
|
+
clear() {
|
|
119
|
+
this.measurements = [];
|
|
120
|
+
this.pendingMeasurement = null;
|
|
121
|
+
this.emit("measurementsChange", this.measurements);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Check if there's a pending measurement
|
|
125
|
+
*/
|
|
126
|
+
get hasPendingMeasurement() {
|
|
127
|
+
return this.pendingMeasurement !== null;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Get pending measurement info
|
|
131
|
+
*/
|
|
132
|
+
getPendingMeasurement() {
|
|
133
|
+
return this.pendingMeasurement ? { ...this.pendingMeasurement } : null;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=LatencyMonitor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LatencyMonitor.js","sourceRoot":"","sources":["../../src/utils/LatencyMonitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAuFH,eAAO,MAAM,MAAM;mBAnBF,GAAG,EAAE;oBACJ,GAAG,EAAE;qBACJ,GAAG,EAAE;oBACN,GAAG,EAAE;qBACJ,GAAG,EAAE;qBACL,GAAG,EAAE;CAcoC,CAAC;AAG7D,eAAO,MAAM,YAAY;;;;CAIxB,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logger utility that only logs in development mode.
|
|
3
|
+
* Completely silent in production builds and npm packages.
|
|
4
|
+
*
|
|
5
|
+
* This logger is designed to be tree-shakeable and completely removed
|
|
6
|
+
* from production builds when not used.
|
|
7
|
+
*
|
|
8
|
+
* To test logger behavior:
|
|
9
|
+
* - Development: Set NODE_ENV=development or run on localhost
|
|
10
|
+
* - Production: Set NODE_ENV=production or deploy to production
|
|
11
|
+
*
|
|
12
|
+
* In npm packages, this logger will be completely silent by default.
|
|
13
|
+
*/
|
|
14
|
+
// Environment detection with multiple fallbacks
|
|
15
|
+
const detectEnvironment = () => {
|
|
16
|
+
// Check if we're in a browser environment
|
|
17
|
+
const isBrowser = typeof window !== 'undefined';
|
|
18
|
+
// Safe process.env access (Vite/Webpack replaces this at build time)
|
|
19
|
+
const getEnv = (key) => {
|
|
20
|
+
try {
|
|
21
|
+
// @ts-ignore - process.env is replaced at build time by bundlers
|
|
22
|
+
return typeof process !== 'undefined' && process.env ? process.env[key] : undefined;
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
// Priority 1: Check NEXT_PUBLIC_ENVIRONMENT first (most explicit)
|
|
29
|
+
const publicEnv = getEnv('NEXT_PUBLIC_ENVIRONMENT');
|
|
30
|
+
if (publicEnv === 'PRODUCTION') {
|
|
31
|
+
return 'production';
|
|
32
|
+
}
|
|
33
|
+
if (publicEnv === 'PREVIEW' || publicEnv === 'STAGING') {
|
|
34
|
+
return 'development';
|
|
35
|
+
}
|
|
36
|
+
// Priority 2: Check NODE_ENV and REACT_APP_ENV (Vite replaces import.meta.env.MODE)
|
|
37
|
+
const nodeEnv = getEnv('NODE_ENV');
|
|
38
|
+
const reactEnv = getEnv('REACT_APP_ENV');
|
|
39
|
+
if (nodeEnv === 'production' || reactEnv === 'production') {
|
|
40
|
+
return 'production';
|
|
41
|
+
}
|
|
42
|
+
if (nodeEnv === 'development' || reactEnv === 'development') {
|
|
43
|
+
return 'development';
|
|
44
|
+
}
|
|
45
|
+
// Priority 3: Check for Vite dev server
|
|
46
|
+
const viteDevUrl = getEnv('VITE_DEV_SERVER_URL');
|
|
47
|
+
if (viteDevUrl !== undefined) {
|
|
48
|
+
return 'development';
|
|
49
|
+
}
|
|
50
|
+
// Priority 4: Check browser environment (only if no explicit env vars are set)
|
|
51
|
+
if (isBrowser) {
|
|
52
|
+
// Localhost is typically development
|
|
53
|
+
if (window.location?.hostname === 'localhost' || window.location?.hostname === '127.0.0.1') {
|
|
54
|
+
return 'development';
|
|
55
|
+
}
|
|
56
|
+
// Check for development ports
|
|
57
|
+
if (window.location?.port && ['3000', '3001', '5173', '8080'].includes(window.location.port)) {
|
|
58
|
+
return 'development';
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
// Default to production for safety
|
|
62
|
+
return 'production';
|
|
63
|
+
};
|
|
64
|
+
const environment = detectEnvironment();
|
|
65
|
+
const isDevelopment = environment === 'development';
|
|
66
|
+
// No-op function that gets completely removed by tree shaking
|
|
67
|
+
const noop = () => {
|
|
68
|
+
// This function is intentionally empty and will be removed in production
|
|
69
|
+
};
|
|
70
|
+
// Development logger functions
|
|
71
|
+
const devLogger = {
|
|
72
|
+
log: (...args) => console.log('[Convai]', ...args),
|
|
73
|
+
warn: (...args) => console.warn('[Convai]', ...args),
|
|
74
|
+
error: (...args) => console.error('[Convai]', ...args),
|
|
75
|
+
info: (...args) => console.info('[Convai]', ...args),
|
|
76
|
+
debug: (...args) => console.debug('[Convai]', ...args),
|
|
77
|
+
trace: (...args) => console.trace('[Convai]', ...args),
|
|
78
|
+
};
|
|
79
|
+
// Production logger functions (all no-ops)
|
|
80
|
+
const prodLogger = {
|
|
81
|
+
log: noop,
|
|
82
|
+
warn: noop,
|
|
83
|
+
error: noop,
|
|
84
|
+
info: noop,
|
|
85
|
+
debug: noop,
|
|
86
|
+
trace: noop,
|
|
87
|
+
};
|
|
88
|
+
// Export the appropriate logger based on environment
|
|
89
|
+
export const logger = isDevelopment ? devLogger : prodLogger;
|
|
90
|
+
// Export environment info for debugging
|
|
91
|
+
export const loggerConfig = {
|
|
92
|
+
environment,
|
|
93
|
+
isDevelopment,
|
|
94
|
+
isProduction: !isDevelopment,
|
|
95
|
+
};
|
|
96
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"speakerManagement.d.ts","sourceRoot":"","sources":["../../src/utils/speakerManagement.ts"],"names":[],"mappings":"AASA;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAaxB;AAED;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CAmCjB"}
|