@wix/legends-platform-sdk 1.0.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 +186 -0
- package/components/package.json +5 -0
- package/dist/cjs/components/Audio/Audio.js +31 -0
- package/dist/cjs/components/Audio/Audio.js.map +1 -0
- package/dist/cjs/components/Audio/index.js +10 -0
- package/dist/cjs/components/Audio/index.js.map +1 -0
- package/dist/cjs/components/ChromaKey/ChromaKey.js +127 -0
- package/dist/cjs/components/ChromaKey/ChromaKey.js.map +1 -0
- package/dist/cjs/components/ChromaKey/chroma-key.js +99 -0
- package/dist/cjs/components/ChromaKey/chroma-key.js.map +1 -0
- package/dist/cjs/components/ChromaKey/index.js +10 -0
- package/dist/cjs/components/ChromaKey/index.js.map +1 -0
- package/dist/cjs/components/ChromaKey/shaders/chroma-key.shader.js +44 -0
- package/dist/cjs/components/ChromaKey/shaders/chroma-key.shader.js.map +1 -0
- package/dist/cjs/components/ChromaKey/shaders/index.js +10 -0
- package/dist/cjs/components/ChromaKey/shaders/index.js.map +1 -0
- package/dist/cjs/components/ChromaKey/shaders/vertex-align.shader.js +12 -0
- package/dist/cjs/components/ChromaKey/shaders/vertex-align.shader.js.map +1 -0
- package/dist/cjs/components/ChromaKey/types.js +4 -0
- package/dist/cjs/components/ChromaKey/types.js.map +1 -0
- package/dist/cjs/components/LegendsPlatform/LegendsPlatform.js +91 -0
- package/dist/cjs/components/LegendsPlatform/LegendsPlatform.js.map +1 -0
- package/dist/cjs/components/LegendsPlatform/index.js +10 -0
- package/dist/cjs/components/LegendsPlatform/index.js.map +1 -0
- package/dist/cjs/components/LegendsPlatformQLess/LegendsPlatform.js +69 -0
- package/dist/cjs/components/LegendsPlatformQLess/LegendsPlatform.js.map +1 -0
- package/dist/cjs/components/LegendsPlatformQLess/index.js +10 -0
- package/dist/cjs/components/LegendsPlatformQLess/index.js.map +1 -0
- package/dist/cjs/components/Video/Video.js +88 -0
- package/dist/cjs/components/Video/Video.js.map +1 -0
- package/dist/cjs/components/Video/index.js +16 -0
- package/dist/cjs/components/Video/index.js.map +1 -0
- package/dist/cjs/components/Video/types.js +4 -0
- package/dist/cjs/components/Video/types.js.map +1 -0
- package/dist/cjs/components/Video/useAttachVideo.js +33 -0
- package/dist/cjs/components/Video/useAttachVideo.js.map +1 -0
- package/dist/cjs/components/VideoPostProcessor/VideoPostProcessor.js +61 -0
- package/dist/cjs/components/VideoPostProcessor/VideoPostProcessor.js.map +1 -0
- package/dist/cjs/components/VideoPostProcessor/effects.js +30 -0
- package/dist/cjs/components/VideoPostProcessor/effects.js.map +1 -0
- package/dist/cjs/components/VideoPostProcessor/index.js +10 -0
- package/dist/cjs/components/VideoPostProcessor/index.js.map +1 -0
- package/dist/cjs/components/VideoPreview/VideoPreview.js +68 -0
- package/dist/cjs/components/VideoPreview/VideoPreview.js.map +1 -0
- package/dist/cjs/components/VideoPreview/index.js +16 -0
- package/dist/cjs/components/VideoPreview/index.js.map +1 -0
- package/dist/cjs/components/VideoPreview/types.js +4 -0
- package/dist/cjs/components/VideoPreview/types.js.map +1 -0
- package/dist/cjs/components/VideoPreview/useVideoPreviewStream.js +85 -0
- package/dist/cjs/components/VideoPreview/useVideoPreviewStream.js.map +1 -0
- package/dist/cjs/components.js +34 -0
- package/dist/cjs/components.js.map +1 -0
- package/dist/cjs/conversation/index.js +18 -0
- package/dist/cjs/conversation/index.js.map +1 -0
- package/dist/cjs/conversation/state.js +24 -0
- package/dist/cjs/conversation/state.js.map +1 -0
- package/dist/cjs/conversation/types.js +4 -0
- package/dist/cjs/conversation/types.js.map +1 -0
- package/dist/cjs/conversation/utils.js +25 -0
- package/dist/cjs/conversation/utils.js.map +1 -0
- package/dist/cjs/external-types.d.js +2 -0
- package/dist/cjs/external-types.d.js.map +1 -0
- package/dist/cjs/hooks/index.js +58 -0
- package/dist/cjs/hooks/index.js.map +1 -0
- package/dist/cjs/hooks/useActivityState/index.js +10 -0
- package/dist/cjs/hooks/useActivityState/index.js.map +1 -0
- package/dist/cjs/hooks/useActivityState/useActivityState.js +15 -0
- package/dist/cjs/hooks/useActivityState/useActivityState.js.map +1 -0
- package/dist/cjs/hooks/useAudio/index.js +10 -0
- package/dist/cjs/hooks/useAudio/index.js.map +1 -0
- package/dist/cjs/hooks/useAudio/useAudio.js +28 -0
- package/dist/cjs/hooks/useAudio/useAudio.js.map +1 -0
- package/dist/cjs/hooks/useAudioLevel/helpers.js +28 -0
- package/dist/cjs/hooks/useAudioLevel/helpers.js.map +1 -0
- package/dist/cjs/hooks/useAudioLevel/index.js +10 -0
- package/dist/cjs/hooks/useAudioLevel/index.js.map +1 -0
- package/dist/cjs/hooks/useAudioLevel/types.js +4 -0
- package/dist/cjs/hooks/useAudioLevel/types.js.map +1 -0
- package/dist/cjs/hooks/useAudioLevel/useAudioLevel.js +49 -0
- package/dist/cjs/hooks/useAudioLevel/useAudioLevel.js.map +1 -0
- package/dist/cjs/hooks/useCamera/index.js +10 -0
- package/dist/cjs/hooks/useCamera/index.js.map +1 -0
- package/dist/cjs/hooks/useCamera/useCamera.js +32 -0
- package/dist/cjs/hooks/useCamera/useCamera.js.map +1 -0
- package/dist/cjs/hooks/useConnectionState/index.js +10 -0
- package/dist/cjs/hooks/useConnectionState/index.js.map +1 -0
- package/dist/cjs/hooks/useConnectionState/useConnectionState.js +15 -0
- package/dist/cjs/hooks/useConnectionState/useConnectionState.js.map +1 -0
- package/dist/cjs/hooks/useConversation/index.js +16 -0
- package/dist/cjs/hooks/useConversation/index.js.map +1 -0
- package/dist/cjs/hooks/useConversation/livekit/constants.js +15 -0
- package/dist/cjs/hooks/useConversation/livekit/constants.js.map +1 -0
- package/dist/cjs/hooks/useConversation/livekit/types.js +4 -0
- package/dist/cjs/hooks/useConversation/livekit/types.js.map +1 -0
- package/dist/cjs/hooks/useConversation/livekit/useConversation.js +371 -0
- package/dist/cjs/hooks/useConversation/livekit/useConversation.js.map +1 -0
- package/dist/cjs/hooks/useConversation/livekit/utils/dataChannel.js +25 -0
- package/dist/cjs/hooks/useConversation/livekit/utils/dataChannel.js.map +1 -0
- package/dist/cjs/hooks/useConversation/livekit/utils/index.js +40 -0
- package/dist/cjs/hooks/useConversation/livekit/utils/index.js.map +1 -0
- package/dist/cjs/hooks/useConversation/livekit/utils/messaging.js +11 -0
- package/dist/cjs/hooks/useConversation/livekit/utils/messaging.js.map +1 -0
- package/dist/cjs/hooks/useConversation/livekit/utils/participants.js +34 -0
- package/dist/cjs/hooks/useConversation/livekit/utils/participants.js.map +1 -0
- package/dist/cjs/hooks/useConversation/livekit/utils/serialization.js +13 -0
- package/dist/cjs/hooks/useConversation/livekit/utils/serialization.js.map +1 -0
- package/dist/cjs/hooks/useConversation/livekit/utils/toolAdapter.js +18 -0
- package/dist/cjs/hooks/useConversation/livekit/utils/toolAdapter.js.map +1 -0
- package/dist/cjs/hooks/useConversation/livekit/utils/transcriptions.js +15 -0
- package/dist/cjs/hooks/useConversation/livekit/utils/transcriptions.js.map +1 -0
- package/dist/cjs/hooks/useConversation/types.js +4 -0
- package/dist/cjs/hooks/useConversation/types.js.map +1 -0
- package/dist/cjs/hooks/useConversation/useConversation.js +99 -0
- package/dist/cjs/hooks/useConversation/useConversation.js.map +1 -0
- package/dist/cjs/hooks/useConversationEvents/index.js +22 -0
- package/dist/cjs/hooks/useConversationEvents/index.js.map +1 -0
- package/dist/cjs/hooks/useConversationEvents/types.js +4 -0
- package/dist/cjs/hooks/useConversationEvents/types.js.map +1 -0
- package/dist/cjs/hooks/useConversationEvents/useConversationEvent.js +11 -0
- package/dist/cjs/hooks/useConversationEvents/useConversationEvent.js.map +1 -0
- package/dist/cjs/hooks/useConversationEvents/useConversationEvents.js +20 -0
- package/dist/cjs/hooks/useConversationEvents/useConversationEvents.js.map +1 -0
- package/dist/cjs/hooks/useConversationEvents/useEmitConversationEvent.js +13 -0
- package/dist/cjs/hooks/useConversationEvents/useEmitConversationEvent.js.map +1 -0
- package/dist/cjs/hooks/useConversationStatus/index.js +10 -0
- package/dist/cjs/hooks/useConversationStatus/index.js.map +1 -0
- package/dist/cjs/hooks/useConversationStatus/useConversationStatus.js +10 -0
- package/dist/cjs/hooks/useConversationStatus/useConversationStatus.js.map +1 -0
- package/dist/cjs/hooks/useConversationTimer/index.js +10 -0
- package/dist/cjs/hooks/useConversationTimer/index.js.map +1 -0
- package/dist/cjs/hooks/useConversationTimer/useConversationTimer.js +45 -0
- package/dist/cjs/hooks/useConversationTimer/useConversationTimer.js.map +1 -0
- package/dist/cjs/hooks/useCreateConversation/helpers.js +8 -0
- package/dist/cjs/hooks/useCreateConversation/helpers.js.map +1 -0
- package/dist/cjs/hooks/useCreateConversation/index.js +10 -0
- package/dist/cjs/hooks/useCreateConversation/index.js.map +1 -0
- package/dist/cjs/hooks/useCreateConversation/useCreateConversation.js +104 -0
- package/dist/cjs/hooks/useCreateConversation/useCreateConversation.js.map +1 -0
- package/dist/cjs/hooks/useDeviceSwitcher/index.js +10 -0
- package/dist/cjs/hooks/useDeviceSwitcher/index.js.map +1 -0
- package/dist/cjs/hooks/useDeviceSwitcher/useDeviceSwitcher.js +31 -0
- package/dist/cjs/hooks/useDeviceSwitcher/useDeviceSwitcher.js.map +1 -0
- package/dist/cjs/hooks/useDevices/index.js +10 -0
- package/dist/cjs/hooks/useDevices/index.js.map +1 -0
- package/dist/cjs/hooks/useDevices/useDevices.js +49 -0
- package/dist/cjs/hooks/useDevices/useDevices.js.map +1 -0
- package/dist/cjs/hooks/useMediaPermissions/index.js +10 -0
- package/dist/cjs/hooks/useMediaPermissions/index.js.map +1 -0
- package/dist/cjs/hooks/useMediaPermissions/types.js +4 -0
- package/dist/cjs/hooks/useMediaPermissions/types.js.map +1 -0
- package/dist/cjs/hooks/useMediaPermissions/useMediaPermissions.js +46 -0
- package/dist/cjs/hooks/useMediaPermissions/useMediaPermissions.js.map +1 -0
- package/dist/cjs/hooks/useMediaRecorder/index.js +10 -0
- package/dist/cjs/hooks/useMediaRecorder/index.js.map +1 -0
- package/dist/cjs/hooks/useMediaRecorder/useMediaRecorder.js +229 -0
- package/dist/cjs/hooks/useMediaRecorder/useMediaRecorder.js.map +1 -0
- package/dist/cjs/hooks/useMediaRecorder/useReactRecorder.js +298 -0
- package/dist/cjs/hooks/useMediaRecorder/useReactRecorder.js.map +1 -0
- package/dist/cjs/hooks/useMicrophone/index.js +10 -0
- package/dist/cjs/hooks/useMicrophone/index.js.map +1 -0
- package/dist/cjs/hooks/useMicrophone/useMicrophone.js +38 -0
- package/dist/cjs/hooks/useMicrophone/useMicrophone.js.map +1 -0
- package/dist/cjs/hooks/useParticipantTrack/index.js +10 -0
- package/dist/cjs/hooks/useParticipantTrack/index.js.map +1 -0
- package/dist/cjs/hooks/useParticipantTrack/useParticipantTrack.js +32 -0
- package/dist/cjs/hooks/useParticipantTrack/useParticipantTrack.js.map +1 -0
- package/dist/cjs/hooks/usePictureInPicture/index.js +13 -0
- package/dist/cjs/hooks/usePictureInPicture/index.js.map +1 -0
- package/dist/cjs/hooks/usePictureInPicture/state.js +14 -0
- package/dist/cjs/hooks/usePictureInPicture/state.js.map +1 -0
- package/dist/cjs/hooks/usePictureInPicture/types.js +4 -0
- package/dist/cjs/hooks/usePictureInPicture/types.js.map +1 -0
- package/dist/cjs/hooks/usePictureInPicture/usePictureInPicture.js +45 -0
- package/dist/cjs/hooks/usePictureInPicture/usePictureInPicture.js.map +1 -0
- package/dist/cjs/hooks/usePictureInPicture/usePictureInPictureAuto.js +116 -0
- package/dist/cjs/hooks/usePictureInPicture/usePictureInPictureAuto.js.map +1 -0
- package/dist/cjs/hooks/useScreenShare/index.js +10 -0
- package/dist/cjs/hooks/useScreenShare/index.js.map +1 -0
- package/dist/cjs/hooks/useScreenShare/useScreenShare.js +45 -0
- package/dist/cjs/hooks/useScreenShare/useScreenShare.js.map +1 -0
- package/dist/cjs/hooks/useSpeaker/index.js +10 -0
- package/dist/cjs/hooks/useSpeaker/index.js.map +1 -0
- package/dist/cjs/hooks/useSpeaker/useSpeaker.js +31 -0
- package/dist/cjs/hooks/useSpeaker/useSpeaker.js.map +1 -0
- package/dist/cjs/hooks/useTextChat/index.js +10 -0
- package/dist/cjs/hooks/useTextChat/index.js.map +1 -0
- package/dist/cjs/hooks/useTextChat/usePendingMessages.js +23 -0
- package/dist/cjs/hooks/useTextChat/usePendingMessages.js.map +1 -0
- package/dist/cjs/hooks/useTextChat/useTextChat.js +62 -0
- package/dist/cjs/hooks/useTextChat/useTextChat.js.map +1 -0
- package/dist/cjs/hooks/useTextChat/useToolAwareSend.js +33 -0
- package/dist/cjs/hooks/useTextChat/useToolAwareSend.js.map +1 -0
- package/dist/cjs/hooks/useTools/index.js +9 -0
- package/dist/cjs/hooks/useTools/index.js.map +1 -0
- package/dist/cjs/hooks/useTools/model/errors.js +12 -0
- package/dist/cjs/hooks/useTools/model/errors.js.map +1 -0
- package/dist/cjs/hooks/useTools/model/types.js +4 -0
- package/dist/cjs/hooks/useTools/model/types.js.map +1 -0
- package/dist/cjs/hooks/useTools/public/useTools.js +11 -0
- package/dist/cjs/hooks/useTools/public/useTools.js.map +1 -0
- package/dist/cjs/hooks/useTools/runtime/createToolRuntimeSession.js +74 -0
- package/dist/cjs/hooks/useTools/runtime/createToolRuntimeSession.js.map +1 -0
- package/dist/cjs/hooks/useTools/runtime/executeToolCall.js +33 -0
- package/dist/cjs/hooks/useTools/runtime/executeToolCall.js.map +1 -0
- package/dist/cjs/hooks/useTools/runtime/executeToolCallBatch.js +41 -0
- package/dist/cjs/hooks/useTools/runtime/executeToolCallBatch.js.map +1 -0
- package/dist/cjs/hooks/useTools/runtime/types.js +4 -0
- package/dist/cjs/hooks/useTools/runtime/types.js.map +1 -0
- package/dist/cjs/hooks/useTools/runtime/useToolCallingRuntime.js +59 -0
- package/dist/cjs/hooks/useTools/runtime/useToolCallingRuntime.js.map +1 -0
- package/dist/cjs/hooks/useTools/store/state.js +30 -0
- package/dist/cjs/hooks/useTools/store/state.js.map +1 -0
- package/dist/cjs/hooks/useTools/utils/normalizeFunctionCall.js +22 -0
- package/dist/cjs/hooks/useTools/utils/normalizeFunctionCall.js.map +1 -0
- package/dist/cjs/hooks/useTools/utils/serialize.js +28 -0
- package/dist/cjs/hooks/useTools/utils/serialize.js.map +1 -0
- package/dist/cjs/hooks/useTranscriptions/index.js +16 -0
- package/dist/cjs/hooks/useTranscriptions/index.js.map +1 -0
- package/dist/cjs/hooks/useTranscriptions/types.js +4 -0
- package/dist/cjs/hooks/useTranscriptions/types.js.map +1 -0
- package/dist/cjs/hooks/useTranscriptions/useTranscription.js +16 -0
- package/dist/cjs/hooks/useTranscriptions/useTranscription.js.map +1 -0
- package/dist/cjs/hooks/useTranscriptions/useTranscriptions.js +18 -0
- package/dist/cjs/hooks/useTranscriptions/useTranscriptions.js.map +1 -0
- package/dist/cjs/hooks/useUserActivity/index.js +10 -0
- package/dist/cjs/hooks/useUserActivity/index.js.map +1 -0
- package/dist/cjs/hooks/useUserActivity/useUserActivity.js +23 -0
- package/dist/cjs/hooks/useUserActivity/useUserActivity.js.map +1 -0
- package/dist/cjs/livekit/components.js +10 -0
- package/dist/cjs/livekit/components.js.map +1 -0
- package/dist/cjs/livekit/sdk.js +10 -0
- package/dist/cjs/livekit/sdk.js.map +1 -0
- package/dist/cjs/sdk-consumer/context.js +15 -0
- package/dist/cjs/sdk-consumer/context.js.map +1 -0
- package/dist/cjs/sdk-consumer/index.js +10 -0
- package/dist/cjs/sdk-consumer/index.js.map +1 -0
- package/dist/cjs/sdk.js +148 -0
- package/dist/cjs/sdk.js.map +1 -0
- package/dist/cjs/services/FetchPersonaChatService.js +139 -0
- package/dist/cjs/services/FetchPersonaChatService.js.map +1 -0
- package/dist/cjs/test-types.d.js +2 -0
- package/dist/cjs/test-types.d.js.map +1 -0
- package/dist/cjs/types/http.js +14 -0
- package/dist/cjs/types/http.js.map +1 -0
- package/dist/cjs/types/index.js +7 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/types/service.js +4 -0
- package/dist/cjs/types/service.js.map +1 -0
- package/dist/cjs/utils/captureImage/captureImage.js +29 -0
- package/dist/cjs/utils/captureImage/captureImage.js.map +1 -0
- package/dist/cjs/utils/captureImage/helpers.js +74 -0
- package/dist/cjs/utils/captureImage/helpers.js.map +1 -0
- package/dist/cjs/utils/captureImage/index.js +16 -0
- package/dist/cjs/utils/captureImage/index.js.map +1 -0
- package/dist/cjs/utils/captureImage/types.js +4 -0
- package/dist/cjs/utils/captureImage/types.js.map +1 -0
- package/dist/cjs/utils/compatibility/compatibility.js +17 -0
- package/dist/cjs/utils/compatibility/compatibility.js.map +1 -0
- package/dist/cjs/utils/compatibility/index.js +10 -0
- package/dist/cjs/utils/compatibility/index.js.map +1 -0
- package/dist/cjs/utils.js +10 -0
- package/dist/cjs/utils.js.map +1 -0
- package/dist/esm/components/Audio/Audio.js +18 -0
- package/dist/esm/components/Audio/Audio.js.map +1 -0
- package/dist/esm/components/Audio/index.js +2 -0
- package/dist/esm/components/Audio/index.js.map +1 -0
- package/dist/esm/components/ChromaKey/ChromaKey.js +115 -0
- package/dist/esm/components/ChromaKey/ChromaKey.js.map +1 -0
- package/dist/esm/components/ChromaKey/chroma-key.js +91 -0
- package/dist/esm/components/ChromaKey/chroma-key.js.map +1 -0
- package/dist/esm/components/ChromaKey/index.js +2 -0
- package/dist/esm/components/ChromaKey/index.js.map +1 -0
- package/dist/esm/components/ChromaKey/shaders/chroma-key.shader.js +40 -0
- package/dist/esm/components/ChromaKey/shaders/chroma-key.shader.js.map +1 -0
- package/dist/esm/components/ChromaKey/shaders/index.js +3 -0
- package/dist/esm/components/ChromaKey/shaders/index.js.map +1 -0
- package/dist/esm/components/ChromaKey/shaders/vertex-align.shader.js +8 -0
- package/dist/esm/components/ChromaKey/shaders/vertex-align.shader.js.map +1 -0
- package/dist/esm/components/ChromaKey/types.js +2 -0
- package/dist/esm/components/ChromaKey/types.js.map +1 -0
- package/dist/esm/components/LegendsPlatform/LegendsPlatform.js +53 -0
- package/dist/esm/components/LegendsPlatform/LegendsPlatform.js.map +1 -0
- package/dist/esm/components/LegendsPlatform/index.js +2 -0
- package/dist/esm/components/LegendsPlatform/index.js.map +1 -0
- package/dist/esm/components/LegendsPlatformQLess/LegendsPlatform.js +30 -0
- package/dist/esm/components/LegendsPlatformQLess/LegendsPlatform.js.map +1 -0
- package/dist/esm/components/LegendsPlatformQLess/index.js +2 -0
- package/dist/esm/components/LegendsPlatformQLess/index.js.map +1 -0
- package/dist/esm/components/Video/Video.js +73 -0
- package/dist/esm/components/Video/Video.js.map +1 -0
- package/dist/esm/components/Video/index.js +3 -0
- package/dist/esm/components/Video/index.js.map +1 -0
- package/dist/esm/components/Video/types.js +2 -0
- package/dist/esm/components/Video/types.js.map +1 -0
- package/dist/esm/components/Video/useAttachVideo.js +27 -0
- package/dist/esm/components/Video/useAttachVideo.js.map +1 -0
- package/dist/esm/components/VideoPostProcessor/VideoPostProcessor.js +47 -0
- package/dist/esm/components/VideoPostProcessor/VideoPostProcessor.js.map +1 -0
- package/dist/esm/components/VideoPostProcessor/effects.js +25 -0
- package/dist/esm/components/VideoPostProcessor/effects.js.map +1 -0
- package/dist/esm/components/VideoPostProcessor/index.js +2 -0
- package/dist/esm/components/VideoPostProcessor/index.js.map +1 -0
- package/dist/esm/components/VideoPreview/VideoPreview.js +48 -0
- package/dist/esm/components/VideoPreview/VideoPreview.js.map +1 -0
- package/dist/esm/components/VideoPreview/index.js +3 -0
- package/dist/esm/components/VideoPreview/index.js.map +1 -0
- package/dist/esm/components/VideoPreview/types.js +2 -0
- package/dist/esm/components/VideoPreview/types.js.map +1 -0
- package/dist/esm/components/VideoPreview/useVideoPreviewStream.js +85 -0
- package/dist/esm/components/VideoPreview/useVideoPreviewStream.js.map +1 -0
- package/dist/esm/components.js +6 -0
- package/dist/esm/components.js.map +1 -0
- package/dist/esm/conversation/index.js +4 -0
- package/dist/esm/conversation/index.js.map +1 -0
- package/dist/esm/conversation/state.js +20 -0
- package/dist/esm/conversation/state.js.map +1 -0
- package/dist/esm/conversation/types.js +2 -0
- package/dist/esm/conversation/types.js.map +1 -0
- package/dist/esm/conversation/utils.js +21 -0
- package/dist/esm/conversation/utils.js.map +1 -0
- package/dist/esm/external-types.d.js +2 -0
- package/dist/esm/external-types.d.js.map +1 -0
- package/dist/esm/hooks/index.js +10 -0
- package/dist/esm/hooks/index.js.map +1 -0
- package/dist/esm/hooks/useActivityState/index.js +2 -0
- package/dist/esm/hooks/useActivityState/index.js.map +1 -0
- package/dist/esm/hooks/useActivityState/useActivityState.js +11 -0
- package/dist/esm/hooks/useActivityState/useActivityState.js.map +1 -0
- package/dist/esm/hooks/useAudio/index.js +2 -0
- package/dist/esm/hooks/useAudio/index.js.map +1 -0
- package/dist/esm/hooks/useAudio/useAudio.js +26 -0
- package/dist/esm/hooks/useAudio/useAudio.js.map +1 -0
- package/dist/esm/hooks/useAudioLevel/helpers.js +23 -0
- package/dist/esm/hooks/useAudioLevel/helpers.js.map +1 -0
- package/dist/esm/hooks/useAudioLevel/index.js +2 -0
- package/dist/esm/hooks/useAudioLevel/index.js.map +1 -0
- package/dist/esm/hooks/useAudioLevel/types.js +2 -0
- package/dist/esm/hooks/useAudioLevel/types.js.map +1 -0
- package/dist/esm/hooks/useAudioLevel/useAudioLevel.js +43 -0
- package/dist/esm/hooks/useAudioLevel/useAudioLevel.js.map +1 -0
- package/dist/esm/hooks/useCamera/index.js +2 -0
- package/dist/esm/hooks/useCamera/index.js.map +1 -0
- package/dist/esm/hooks/useCamera/useCamera.js +29 -0
- package/dist/esm/hooks/useCamera/useCamera.js.map +1 -0
- package/dist/esm/hooks/useConnectionState/index.js +2 -0
- package/dist/esm/hooks/useConnectionState/index.js.map +1 -0
- package/dist/esm/hooks/useConnectionState/useConnectionState.js +11 -0
- package/dist/esm/hooks/useConnectionState/useConnectionState.js.map +1 -0
- package/dist/esm/hooks/useConversation/index.js +3 -0
- package/dist/esm/hooks/useConversation/index.js.map +1 -0
- package/dist/esm/hooks/useConversation/livekit/constants.js +11 -0
- package/dist/esm/hooks/useConversation/livekit/constants.js.map +1 -0
- package/dist/esm/hooks/useConversation/livekit/types.js +2 -0
- package/dist/esm/hooks/useConversation/livekit/types.js.map +1 -0
- package/dist/esm/hooks/useConversation/livekit/useConversation.js +377 -0
- package/dist/esm/hooks/useConversation/livekit/useConversation.js.map +1 -0
- package/dist/esm/hooks/useConversation/livekit/utils/dataChannel.js +18 -0
- package/dist/esm/hooks/useConversation/livekit/utils/dataChannel.js.map +1 -0
- package/dist/esm/hooks/useConversation/livekit/utils/index.js +7 -0
- package/dist/esm/hooks/useConversation/livekit/utils/index.js.map +1 -0
- package/dist/esm/hooks/useConversation/livekit/utils/messaging.js +7 -0
- package/dist/esm/hooks/useConversation/livekit/utils/messaging.js.map +1 -0
- package/dist/esm/hooks/useConversation/livekit/utils/participants.js +28 -0
- package/dist/esm/hooks/useConversation/livekit/utils/participants.js.map +1 -0
- package/dist/esm/hooks/useConversation/livekit/utils/serialization.js +9 -0
- package/dist/esm/hooks/useConversation/livekit/utils/serialization.js.map +1 -0
- package/dist/esm/hooks/useConversation/livekit/utils/toolAdapter.js +14 -0
- package/dist/esm/hooks/useConversation/livekit/utils/toolAdapter.js.map +1 -0
- package/dist/esm/hooks/useConversation/livekit/utils/transcriptions.js +11 -0
- package/dist/esm/hooks/useConversation/livekit/utils/transcriptions.js.map +1 -0
- package/dist/esm/hooks/useConversation/types.js +2 -0
- package/dist/esm/hooks/useConversation/types.js.map +1 -0
- package/dist/esm/hooks/useConversation/useConversation.js +93 -0
- package/dist/esm/hooks/useConversation/useConversation.js.map +1 -0
- package/dist/esm/hooks/useConversationEvents/index.js +4 -0
- package/dist/esm/hooks/useConversationEvents/index.js.map +1 -0
- package/dist/esm/hooks/useConversationEvents/types.js +2 -0
- package/dist/esm/hooks/useConversationEvents/types.js.map +1 -0
- package/dist/esm/hooks/useConversationEvents/useConversationEvent.js +7 -0
- package/dist/esm/hooks/useConversationEvents/useConversationEvent.js.map +1 -0
- package/dist/esm/hooks/useConversationEvents/useConversationEvents.js +20 -0
- package/dist/esm/hooks/useConversationEvents/useConversationEvents.js.map +1 -0
- package/dist/esm/hooks/useConversationEvents/useEmitConversationEvent.js +9 -0
- package/dist/esm/hooks/useConversationEvents/useEmitConversationEvent.js.map +1 -0
- package/dist/esm/hooks/useConversationStatus/index.js +2 -0
- package/dist/esm/hooks/useConversationStatus/index.js.map +1 -0
- package/dist/esm/hooks/useConversationStatus/useConversationStatus.js +6 -0
- package/dist/esm/hooks/useConversationStatus/useConversationStatus.js.map +1 -0
- package/dist/esm/hooks/useConversationTimer/index.js +2 -0
- package/dist/esm/hooks/useConversationTimer/index.js.map +1 -0
- package/dist/esm/hooks/useConversationTimer/useConversationTimer.js +44 -0
- package/dist/esm/hooks/useConversationTimer/useConversationTimer.js.map +1 -0
- package/dist/esm/hooks/useCreateConversation/helpers.js +4 -0
- package/dist/esm/hooks/useCreateConversation/helpers.js.map +1 -0
- package/dist/esm/hooks/useCreateConversation/index.js +2 -0
- package/dist/esm/hooks/useCreateConversation/index.js.map +1 -0
- package/dist/esm/hooks/useCreateConversation/useCreateConversation.js +98 -0
- package/dist/esm/hooks/useCreateConversation/useCreateConversation.js.map +1 -0
- package/dist/esm/hooks/useDeviceSwitcher/index.js +2 -0
- package/dist/esm/hooks/useDeviceSwitcher/index.js.map +1 -0
- package/dist/esm/hooks/useDeviceSwitcher/useDeviceSwitcher.js +26 -0
- package/dist/esm/hooks/useDeviceSwitcher/useDeviceSwitcher.js.map +1 -0
- package/dist/esm/hooks/useDevices/index.js +2 -0
- package/dist/esm/hooks/useDevices/index.js.map +1 -0
- package/dist/esm/hooks/useDevices/useDevices.js +45 -0
- package/dist/esm/hooks/useDevices/useDevices.js.map +1 -0
- package/dist/esm/hooks/useMediaPermissions/index.js +3 -0
- package/dist/esm/hooks/useMediaPermissions/index.js.map +1 -0
- package/dist/esm/hooks/useMediaPermissions/types.js +2 -0
- package/dist/esm/hooks/useMediaPermissions/types.js.map +1 -0
- package/dist/esm/hooks/useMediaPermissions/useMediaPermissions.js +42 -0
- package/dist/esm/hooks/useMediaPermissions/useMediaPermissions.js.map +1 -0
- package/dist/esm/hooks/useMediaRecorder/index.js +2 -0
- package/dist/esm/hooks/useMediaRecorder/index.js.map +1 -0
- package/dist/esm/hooks/useMediaRecorder/useMediaRecorder.js +227 -0
- package/dist/esm/hooks/useMediaRecorder/useMediaRecorder.js.map +1 -0
- package/dist/esm/hooks/useMediaRecorder/useReactRecorder.js +315 -0
- package/dist/esm/hooks/useMediaRecorder/useReactRecorder.js.map +1 -0
- package/dist/esm/hooks/useMicrophone/index.js +2 -0
- package/dist/esm/hooks/useMicrophone/index.js.map +1 -0
- package/dist/esm/hooks/useMicrophone/useMicrophone.js +35 -0
- package/dist/esm/hooks/useMicrophone/useMicrophone.js.map +1 -0
- package/dist/esm/hooks/useParticipantTrack/index.js +2 -0
- package/dist/esm/hooks/useParticipantTrack/index.js.map +1 -0
- package/dist/esm/hooks/useParticipantTrack/useParticipantTrack.js +26 -0
- package/dist/esm/hooks/useParticipantTrack/useParticipantTrack.js.map +1 -0
- package/dist/esm/hooks/usePictureInPicture/index.js +5 -0
- package/dist/esm/hooks/usePictureInPicture/index.js.map +1 -0
- package/dist/esm/hooks/usePictureInPicture/state.js +10 -0
- package/dist/esm/hooks/usePictureInPicture/state.js.map +1 -0
- package/dist/esm/hooks/usePictureInPicture/types.js +2 -0
- package/dist/esm/hooks/usePictureInPicture/types.js.map +1 -0
- package/dist/esm/hooks/usePictureInPicture/usePictureInPicture.js +41 -0
- package/dist/esm/hooks/usePictureInPicture/usePictureInPicture.js.map +1 -0
- package/dist/esm/hooks/usePictureInPicture/usePictureInPictureAuto.js +111 -0
- package/dist/esm/hooks/usePictureInPicture/usePictureInPictureAuto.js.map +1 -0
- package/dist/esm/hooks/useScreenShare/index.js +2 -0
- package/dist/esm/hooks/useScreenShare/index.js.map +1 -0
- package/dist/esm/hooks/useScreenShare/useScreenShare.js +42 -0
- package/dist/esm/hooks/useScreenShare/useScreenShare.js.map +1 -0
- package/dist/esm/hooks/useSpeaker/index.js +2 -0
- package/dist/esm/hooks/useSpeaker/index.js.map +1 -0
- package/dist/esm/hooks/useSpeaker/useSpeaker.js +28 -0
- package/dist/esm/hooks/useSpeaker/useSpeaker.js.map +1 -0
- package/dist/esm/hooks/useTextChat/index.js +2 -0
- package/dist/esm/hooks/useTextChat/index.js.map +1 -0
- package/dist/esm/hooks/useTextChat/usePendingMessages.js +19 -0
- package/dist/esm/hooks/useTextChat/usePendingMessages.js.map +1 -0
- package/dist/esm/hooks/useTextChat/useTextChat.js +59 -0
- package/dist/esm/hooks/useTextChat/useTextChat.js.map +1 -0
- package/dist/esm/hooks/useTextChat/useToolAwareSend.js +28 -0
- package/dist/esm/hooks/useTextChat/useToolAwareSend.js.map +1 -0
- package/dist/esm/hooks/useTools/index.js +3 -0
- package/dist/esm/hooks/useTools/index.js.map +1 -0
- package/dist/esm/hooks/useTools/model/errors.js +7 -0
- package/dist/esm/hooks/useTools/model/errors.js.map +1 -0
- package/dist/esm/hooks/useTools/model/types.js +2 -0
- package/dist/esm/hooks/useTools/model/types.js.map +1 -0
- package/dist/esm/hooks/useTools/public/useTools.js +7 -0
- package/dist/esm/hooks/useTools/public/useTools.js.map +1 -0
- package/dist/esm/hooks/useTools/runtime/createToolRuntimeSession.js +66 -0
- package/dist/esm/hooks/useTools/runtime/createToolRuntimeSession.js.map +1 -0
- package/dist/esm/hooks/useTools/runtime/executeToolCall.js +29 -0
- package/dist/esm/hooks/useTools/runtime/executeToolCall.js.map +1 -0
- package/dist/esm/hooks/useTools/runtime/executeToolCallBatch.js +36 -0
- package/dist/esm/hooks/useTools/runtime/executeToolCallBatch.js.map +1 -0
- package/dist/esm/hooks/useTools/runtime/types.js +2 -0
- package/dist/esm/hooks/useTools/runtime/types.js.map +1 -0
- package/dist/esm/hooks/useTools/runtime/useToolCallingRuntime.js +58 -0
- package/dist/esm/hooks/useTools/runtime/useToolCallingRuntime.js.map +1 -0
- package/dist/esm/hooks/useTools/store/state.js +26 -0
- package/dist/esm/hooks/useTools/store/state.js.map +1 -0
- package/dist/esm/hooks/useTools/utils/normalizeFunctionCall.js +18 -0
- package/dist/esm/hooks/useTools/utils/normalizeFunctionCall.js.map +1 -0
- package/dist/esm/hooks/useTools/utils/serialize.js +23 -0
- package/dist/esm/hooks/useTools/utils/serialize.js.map +1 -0
- package/dist/esm/hooks/useTranscriptions/index.js +3 -0
- package/dist/esm/hooks/useTranscriptions/index.js.map +1 -0
- package/dist/esm/hooks/useTranscriptions/types.js +2 -0
- package/dist/esm/hooks/useTranscriptions/types.js.map +1 -0
- package/dist/esm/hooks/useTranscriptions/useTranscription.js +15 -0
- package/dist/esm/hooks/useTranscriptions/useTranscription.js.map +1 -0
- package/dist/esm/hooks/useTranscriptions/useTranscriptions.js +15 -0
- package/dist/esm/hooks/useTranscriptions/useTranscriptions.js.map +1 -0
- package/dist/esm/hooks/useUserActivity/index.js +2 -0
- package/dist/esm/hooks/useUserActivity/index.js.map +1 -0
- package/dist/esm/hooks/useUserActivity/useUserActivity.js +22 -0
- package/dist/esm/hooks/useUserActivity/useUserActivity.js.map +1 -0
- package/dist/esm/livekit/components.js +2 -0
- package/dist/esm/livekit/components.js.map +1 -0
- package/dist/esm/livekit/sdk.js +2 -0
- package/dist/esm/livekit/sdk.js.map +1 -0
- package/dist/esm/sdk-consumer/context.js +10 -0
- package/dist/esm/sdk-consumer/context.js.map +1 -0
- package/dist/esm/sdk-consumer/index.js +2 -0
- package/dist/esm/sdk-consumer/index.js.map +1 -0
- package/dist/esm/sdk.js +25 -0
- package/dist/esm/sdk.js.map +1 -0
- package/dist/esm/services/FetchPersonaChatService.js +124 -0
- package/dist/esm/services/FetchPersonaChatService.js.map +1 -0
- package/dist/esm/test-types.d.js +2 -0
- package/dist/esm/test-types.d.js.map +1 -0
- package/dist/esm/types/http.js +9 -0
- package/dist/esm/types/http.js.map +1 -0
- package/dist/esm/types/index.js +2 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/service.js +2 -0
- package/dist/esm/types/service.js.map +1 -0
- package/dist/esm/utils/captureImage/captureImage.js +29 -0
- package/dist/esm/utils/captureImage/captureImage.js.map +1 -0
- package/dist/esm/utils/captureImage/helpers.js +69 -0
- package/dist/esm/utils/captureImage/helpers.js.map +1 -0
- package/dist/esm/utils/captureImage/index.js +3 -0
- package/dist/esm/utils/captureImage/index.js.map +1 -0
- package/dist/esm/utils/captureImage/types.js +2 -0
- package/dist/esm/utils/captureImage/types.js.map +1 -0
- package/dist/esm/utils/compatibility/compatibility.js +12 -0
- package/dist/esm/utils/compatibility/compatibility.js.map +1 -0
- package/dist/esm/utils/compatibility/index.js +2 -0
- package/dist/esm/utils/compatibility/index.js.map +1 -0
- package/dist/esm/utils.js +2 -0
- package/dist/esm/utils.js.map +1 -0
- package/dist/types/components/Audio/Audio.d.ts +3 -0
- package/dist/types/components/Audio/Audio.d.ts.map +1 -0
- package/dist/types/components/Audio/index.d.ts +2 -0
- package/dist/types/components/Audio/index.d.ts.map +1 -0
- package/dist/types/components/ChromaKey/ChromaKey.d.ts +20 -0
- package/dist/types/components/ChromaKey/ChromaKey.d.ts.map +1 -0
- package/dist/types/components/ChromaKey/chroma-key.d.ts +9 -0
- package/dist/types/components/ChromaKey/chroma-key.d.ts.map +1 -0
- package/dist/types/components/ChromaKey/index.d.ts +2 -0
- package/dist/types/components/ChromaKey/index.d.ts.map +1 -0
- package/dist/types/components/ChromaKey/shaders/chroma-key.shader.d.ts +3 -0
- package/dist/types/components/ChromaKey/shaders/chroma-key.shader.d.ts.map +1 -0
- package/dist/types/components/ChromaKey/shaders/index.d.ts +3 -0
- package/dist/types/components/ChromaKey/shaders/index.d.ts.map +1 -0
- package/dist/types/components/ChromaKey/shaders/vertex-align.shader.d.ts +3 -0
- package/dist/types/components/ChromaKey/shaders/vertex-align.shader.d.ts.map +1 -0
- package/dist/types/components/ChromaKey/types.d.ts +3 -0
- package/dist/types/components/ChromaKey/types.d.ts.map +1 -0
- package/dist/types/components/LegendsPlatform/LegendsPlatform.d.ts +18 -0
- package/dist/types/components/LegendsPlatform/LegendsPlatform.d.ts.map +1 -0
- package/dist/types/components/LegendsPlatform/index.d.ts +2 -0
- package/dist/types/components/LegendsPlatform/index.d.ts.map +1 -0
- package/dist/types/components/LegendsPlatformQLess/LegendsPlatform.d.ts +15 -0
- package/dist/types/components/LegendsPlatformQLess/LegendsPlatform.d.ts.map +1 -0
- package/dist/types/components/LegendsPlatformQLess/index.d.ts +2 -0
- package/dist/types/components/LegendsPlatformQLess/index.d.ts.map +1 -0
- package/dist/types/components/Video/Video.d.ts +14 -0
- package/dist/types/components/Video/Video.d.ts.map +1 -0
- package/dist/types/components/Video/index.d.ts +3 -0
- package/dist/types/components/Video/index.d.ts.map +1 -0
- package/dist/types/components/Video/types.d.ts +22 -0
- package/dist/types/components/Video/types.d.ts.map +1 -0
- package/dist/types/components/Video/useAttachVideo.d.ts +10 -0
- package/dist/types/components/Video/useAttachVideo.d.ts.map +1 -0
- package/dist/types/components/VideoPostProcessor/VideoPostProcessor.d.ts +11 -0
- package/dist/types/components/VideoPostProcessor/VideoPostProcessor.d.ts.map +1 -0
- package/dist/types/components/VideoPostProcessor/effects.d.ts +3 -0
- package/dist/types/components/VideoPostProcessor/effects.d.ts.map +1 -0
- package/dist/types/components/VideoPostProcessor/index.d.ts +2 -0
- package/dist/types/components/VideoPostProcessor/index.d.ts.map +1 -0
- package/dist/types/components/VideoPreview/VideoPreview.d.ts +4 -0
- package/dist/types/components/VideoPreview/VideoPreview.d.ts.map +1 -0
- package/dist/types/components/VideoPreview/index.d.ts +3 -0
- package/dist/types/components/VideoPreview/index.d.ts.map +1 -0
- package/dist/types/components/VideoPreview/types.d.ts +11 -0
- package/dist/types/components/VideoPreview/types.d.ts.map +1 -0
- package/dist/types/components/VideoPreview/useVideoPreviewStream.d.ts +13 -0
- package/dist/types/components/VideoPreview/useVideoPreviewStream.d.ts.map +1 -0
- package/dist/types/components.d.ts +6 -0
- package/dist/types/components.d.ts.map +1 -0
- package/dist/types/conversation/index.d.ts +3 -0
- package/dist/types/conversation/index.d.ts.map +1 -0
- package/dist/types/conversation/state.d.ts +47 -0
- package/dist/types/conversation/state.d.ts.map +1 -0
- package/dist/types/conversation/types.d.ts +27 -0
- package/dist/types/conversation/types.d.ts.map +1 -0
- package/dist/types/conversation/utils.d.ts +6 -0
- package/dist/types/conversation/utils.d.ts.map +1 -0
- package/dist/types/hooks/index.d.ts +10 -0
- package/dist/types/hooks/index.d.ts.map +1 -0
- package/dist/types/hooks/useActivityState/index.d.ts +2 -0
- package/dist/types/hooks/useActivityState/index.d.ts.map +1 -0
- package/dist/types/hooks/useActivityState/useActivityState.d.ts +2 -0
- package/dist/types/hooks/useActivityState/useActivityState.d.ts.map +1 -0
- package/dist/types/hooks/useAudio/index.d.ts +2 -0
- package/dist/types/hooks/useAudio/index.d.ts.map +1 -0
- package/dist/types/hooks/useAudio/useAudio.d.ts +7 -0
- package/dist/types/hooks/useAudio/useAudio.d.ts.map +1 -0
- package/dist/types/hooks/useAudioLevel/helpers.d.ts +11 -0
- package/dist/types/hooks/useAudioLevel/helpers.d.ts.map +1 -0
- package/dist/types/hooks/useAudioLevel/index.d.ts +2 -0
- package/dist/types/hooks/useAudioLevel/index.d.ts.map +1 -0
- package/dist/types/hooks/useAudioLevel/types.d.ts +8 -0
- package/dist/types/hooks/useAudioLevel/types.d.ts.map +1 -0
- package/dist/types/hooks/useAudioLevel/useAudioLevel.d.ts +3 -0
- package/dist/types/hooks/useAudioLevel/useAudioLevel.d.ts.map +1 -0
- package/dist/types/hooks/useCamera/index.d.ts +2 -0
- package/dist/types/hooks/useCamera/index.d.ts.map +1 -0
- package/dist/types/hooks/useCamera/useCamera.d.ts +8 -0
- package/dist/types/hooks/useCamera/useCamera.d.ts.map +1 -0
- package/dist/types/hooks/useConnectionState/index.d.ts +2 -0
- package/dist/types/hooks/useConnectionState/index.d.ts.map +1 -0
- package/dist/types/hooks/useConnectionState/useConnectionState.d.ts +2 -0
- package/dist/types/hooks/useConnectionState/useConnectionState.d.ts.map +1 -0
- package/dist/types/hooks/useConversation/index.d.ts +3 -0
- package/dist/types/hooks/useConversation/index.d.ts.map +1 -0
- package/dist/types/hooks/useConversation/livekit/constants.d.ts +4 -0
- package/dist/types/hooks/useConversation/livekit/constants.d.ts.map +1 -0
- package/dist/types/hooks/useConversation/livekit/types.d.ts +32 -0
- package/dist/types/hooks/useConversation/livekit/types.d.ts.map +1 -0
- package/dist/types/hooks/useConversation/livekit/useConversation.d.ts +3 -0
- package/dist/types/hooks/useConversation/livekit/useConversation.d.ts.map +1 -0
- package/dist/types/hooks/useConversation/livekit/utils/dataChannel.d.ts +6 -0
- package/dist/types/hooks/useConversation/livekit/utils/dataChannel.d.ts.map +1 -0
- package/dist/types/hooks/useConversation/livekit/utils/index.d.ts +7 -0
- package/dist/types/hooks/useConversation/livekit/utils/index.d.ts.map +1 -0
- package/dist/types/hooks/useConversation/livekit/utils/messaging.d.ts +3 -0
- package/dist/types/hooks/useConversation/livekit/utils/messaging.d.ts.map +1 -0
- package/dist/types/hooks/useConversation/livekit/utils/participants.d.ts +6 -0
- package/dist/types/hooks/useConversation/livekit/utils/participants.d.ts.map +1 -0
- package/dist/types/hooks/useConversation/livekit/utils/serialization.d.ts +2 -0
- package/dist/types/hooks/useConversation/livekit/utils/serialization.d.ts.map +1 -0
- package/dist/types/hooks/useConversation/livekit/utils/toolAdapter.d.ts +4 -0
- package/dist/types/hooks/useConversation/livekit/utils/toolAdapter.d.ts.map +1 -0
- package/dist/types/hooks/useConversation/livekit/utils/transcriptions.d.ts +3 -0
- package/dist/types/hooks/useConversation/livekit/utils/transcriptions.d.ts.map +1 -0
- package/dist/types/hooks/useConversation/types.d.ts +23 -0
- package/dist/types/hooks/useConversation/types.d.ts.map +1 -0
- package/dist/types/hooks/useConversation/useConversation.d.ts +3 -0
- package/dist/types/hooks/useConversation/useConversation.d.ts.map +1 -0
- package/dist/types/hooks/useConversationEvents/index.d.ts +4 -0
- package/dist/types/hooks/useConversationEvents/index.d.ts.map +1 -0
- package/dist/types/hooks/useConversationEvents/types.d.ts +72 -0
- package/dist/types/hooks/useConversationEvents/types.d.ts.map +1 -0
- package/dist/types/hooks/useConversationEvents/useConversationEvent.d.ts +3 -0
- package/dist/types/hooks/useConversationEvents/useConversationEvent.d.ts.map +1 -0
- package/dist/types/hooks/useConversationEvents/useConversationEvents.d.ts +5 -0
- package/dist/types/hooks/useConversationEvents/useConversationEvents.d.ts.map +1 -0
- package/dist/types/hooks/useConversationEvents/useEmitConversationEvent.d.ts +3 -0
- package/dist/types/hooks/useConversationEvents/useEmitConversationEvent.d.ts.map +1 -0
- package/dist/types/hooks/useConversationStatus/index.d.ts +2 -0
- package/dist/types/hooks/useConversationStatus/index.d.ts.map +1 -0
- package/dist/types/hooks/useConversationStatus/useConversationStatus.d.ts +2 -0
- package/dist/types/hooks/useConversationStatus/useConversationStatus.d.ts.map +1 -0
- package/dist/types/hooks/useConversationTimer/index.d.ts +2 -0
- package/dist/types/hooks/useConversationTimer/index.d.ts.map +1 -0
- package/dist/types/hooks/useConversationTimer/useConversationTimer.d.ts +17 -0
- package/dist/types/hooks/useConversationTimer/useConversationTimer.d.ts.map +1 -0
- package/dist/types/hooks/useCreateConversation/helpers.d.ts +8 -0
- package/dist/types/hooks/useCreateConversation/helpers.d.ts.map +1 -0
- package/dist/types/hooks/useCreateConversation/index.d.ts +2 -0
- package/dist/types/hooks/useCreateConversation/index.d.ts.map +1 -0
- package/dist/types/hooks/useCreateConversation/useCreateConversation.d.ts +11 -0
- package/dist/types/hooks/useCreateConversation/useCreateConversation.d.ts.map +1 -0
- package/dist/types/hooks/useDeviceSwitcher/index.d.ts +2 -0
- package/dist/types/hooks/useDeviceSwitcher/index.d.ts.map +1 -0
- package/dist/types/hooks/useDeviceSwitcher/useDeviceSwitcher.d.ts +9 -0
- package/dist/types/hooks/useDeviceSwitcher/useDeviceSwitcher.d.ts.map +1 -0
- package/dist/types/hooks/useDevices/index.d.ts +2 -0
- package/dist/types/hooks/useDevices/index.d.ts.map +1 -0
- package/dist/types/hooks/useDevices/useDevices.d.ts +6 -0
- package/dist/types/hooks/useDevices/useDevices.d.ts.map +1 -0
- package/dist/types/hooks/useMediaPermissions/index.d.ts +3 -0
- package/dist/types/hooks/useMediaPermissions/index.d.ts.map +1 -0
- package/dist/types/hooks/useMediaPermissions/types.d.ts +3 -0
- package/dist/types/hooks/useMediaPermissions/types.d.ts.map +1 -0
- package/dist/types/hooks/useMediaPermissions/useMediaPermissions.d.ts +7 -0
- package/dist/types/hooks/useMediaPermissions/useMediaPermissions.d.ts.map +1 -0
- package/dist/types/hooks/useMediaRecorder/index.d.ts +2 -0
- package/dist/types/hooks/useMediaRecorder/index.d.ts.map +1 -0
- package/dist/types/hooks/useMediaRecorder/useMediaRecorder.d.ts +39 -0
- package/dist/types/hooks/useMediaRecorder/useMediaRecorder.d.ts.map +1 -0
- package/dist/types/hooks/useMediaRecorder/useReactRecorder.d.ts +70 -0
- package/dist/types/hooks/useMediaRecorder/useReactRecorder.d.ts.map +1 -0
- package/dist/types/hooks/useMicrophone/index.d.ts +2 -0
- package/dist/types/hooks/useMicrophone/index.d.ts.map +1 -0
- package/dist/types/hooks/useMicrophone/useMicrophone.d.ts +8 -0
- package/dist/types/hooks/useMicrophone/useMicrophone.d.ts.map +1 -0
- package/dist/types/hooks/useParticipantTrack/index.d.ts +2 -0
- package/dist/types/hooks/useParticipantTrack/index.d.ts.map +1 -0
- package/dist/types/hooks/useParticipantTrack/useParticipantTrack.d.ts +11 -0
- package/dist/types/hooks/useParticipantTrack/useParticipantTrack.d.ts.map +1 -0
- package/dist/types/hooks/usePictureInPicture/index.d.ts +6 -0
- package/dist/types/hooks/usePictureInPicture/index.d.ts.map +1 -0
- package/dist/types/hooks/usePictureInPicture/state.d.ts +8 -0
- package/dist/types/hooks/usePictureInPicture/state.d.ts.map +1 -0
- package/dist/types/hooks/usePictureInPicture/types.d.ts +25 -0
- package/dist/types/hooks/usePictureInPicture/types.d.ts.map +1 -0
- package/dist/types/hooks/usePictureInPicture/usePictureInPicture.d.ts +3 -0
- package/dist/types/hooks/usePictureInPicture/usePictureInPicture.d.ts.map +1 -0
- package/dist/types/hooks/usePictureInPicture/usePictureInPictureAuto.d.ts +3 -0
- package/dist/types/hooks/usePictureInPicture/usePictureInPictureAuto.d.ts.map +1 -0
- package/dist/types/hooks/useScreenShare/index.d.ts +2 -0
- package/dist/types/hooks/useScreenShare/index.d.ts.map +1 -0
- package/dist/types/hooks/useScreenShare/useScreenShare.d.ts +13 -0
- package/dist/types/hooks/useScreenShare/useScreenShare.d.ts.map +1 -0
- package/dist/types/hooks/useSpeaker/index.d.ts +2 -0
- package/dist/types/hooks/useSpeaker/index.d.ts.map +1 -0
- package/dist/types/hooks/useSpeaker/useSpeaker.d.ts +6 -0
- package/dist/types/hooks/useSpeaker/useSpeaker.d.ts.map +1 -0
- package/dist/types/hooks/useTextChat/index.d.ts +2 -0
- package/dist/types/hooks/useTextChat/index.d.ts.map +1 -0
- package/dist/types/hooks/useTextChat/usePendingMessages.d.ts +11 -0
- package/dist/types/hooks/useTextChat/usePendingMessages.d.ts.map +1 -0
- package/dist/types/hooks/useTextChat/useTextChat.d.ts +21 -0
- package/dist/types/hooks/useTextChat/useTextChat.d.ts.map +1 -0
- package/dist/types/hooks/useTextChat/useToolAwareSend.d.ts +8 -0
- package/dist/types/hooks/useTextChat/useToolAwareSend.d.ts.map +1 -0
- package/dist/types/hooks/useTools/index.d.ts +4 -0
- package/dist/types/hooks/useTools/index.d.ts.map +1 -0
- package/dist/types/hooks/useTools/model/errors.d.ts +4 -0
- package/dist/types/hooks/useTools/model/errors.d.ts.map +1 -0
- package/dist/types/hooks/useTools/model/types.d.ts +27 -0
- package/dist/types/hooks/useTools/model/types.d.ts.map +1 -0
- package/dist/types/hooks/useTools/public/useTools.d.ts +2 -0
- package/dist/types/hooks/useTools/public/useTools.d.ts.map +1 -0
- package/dist/types/hooks/useTools/runtime/createToolRuntimeSession.d.ts +9 -0
- package/dist/types/hooks/useTools/runtime/createToolRuntimeSession.d.ts.map +1 -0
- package/dist/types/hooks/useTools/runtime/executeToolCall.d.ts +3 -0
- package/dist/types/hooks/useTools/runtime/executeToolCall.d.ts.map +1 -0
- package/dist/types/hooks/useTools/runtime/executeToolCallBatch.d.ts +11 -0
- package/dist/types/hooks/useTools/runtime/executeToolCallBatch.d.ts.map +1 -0
- package/dist/types/hooks/useTools/runtime/types.d.ts +35 -0
- package/dist/types/hooks/useTools/runtime/types.d.ts.map +1 -0
- package/dist/types/hooks/useTools/runtime/useToolCallingRuntime.d.ts +9 -0
- package/dist/types/hooks/useTools/runtime/useToolCallingRuntime.d.ts.map +1 -0
- package/dist/types/hooks/useTools/store/state.d.ts +17 -0
- package/dist/types/hooks/useTools/store/state.d.ts.map +1 -0
- package/dist/types/hooks/useTools/utils/normalizeFunctionCall.d.ts +4 -0
- package/dist/types/hooks/useTools/utils/normalizeFunctionCall.d.ts.map +1 -0
- package/dist/types/hooks/useTools/utils/serialize.d.ts +3 -0
- package/dist/types/hooks/useTools/utils/serialize.d.ts.map +1 -0
- package/dist/types/hooks/useTranscriptions/index.d.ts +3 -0
- package/dist/types/hooks/useTranscriptions/index.d.ts.map +1 -0
- package/dist/types/hooks/useTranscriptions/types.d.ts +5 -0
- package/dist/types/hooks/useTranscriptions/types.d.ts.map +1 -0
- package/dist/types/hooks/useTranscriptions/useTranscription.d.ts +3 -0
- package/dist/types/hooks/useTranscriptions/useTranscription.d.ts.map +1 -0
- package/dist/types/hooks/useTranscriptions/useTranscriptions.d.ts +3 -0
- package/dist/types/hooks/useTranscriptions/useTranscriptions.d.ts.map +1 -0
- package/dist/types/hooks/useUserActivity/index.d.ts +2 -0
- package/dist/types/hooks/useUserActivity/index.d.ts.map +1 -0
- package/dist/types/hooks/useUserActivity/useUserActivity.d.ts +8 -0
- package/dist/types/hooks/useUserActivity/useUserActivity.d.ts.map +1 -0
- package/dist/types/livekit/components.d.ts +2 -0
- package/dist/types/livekit/components.d.ts.map +1 -0
- package/dist/types/livekit/sdk.d.ts +2 -0
- package/dist/types/livekit/sdk.d.ts.map +1 -0
- package/dist/types/sdk-consumer/context.d.ts +12 -0
- package/dist/types/sdk-consumer/context.d.ts.map +1 -0
- package/dist/types/sdk-consumer/index.d.ts +2 -0
- package/dist/types/sdk-consumer/index.d.ts.map +1 -0
- package/dist/types/sdk.d.ts +25 -0
- package/dist/types/sdk.d.ts.map +1 -0
- package/dist/types/services/FetchPersonaChatService.d.ts +15 -0
- package/dist/types/services/FetchPersonaChatService.d.ts.map +1 -0
- package/dist/types/types/http.d.ts +15 -0
- package/dist/types/types/http.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +4 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/service.d.ts +62 -0
- package/dist/types/types/service.d.ts.map +1 -0
- package/dist/types/utils/captureImage/captureImage.d.ts +3 -0
- package/dist/types/utils/captureImage/captureImage.d.ts.map +1 -0
- package/dist/types/utils/captureImage/helpers.d.ts +4 -0
- package/dist/types/utils/captureImage/helpers.d.ts.map +1 -0
- package/dist/types/utils/captureImage/index.d.ts +3 -0
- package/dist/types/utils/captureImage/index.d.ts.map +1 -0
- package/dist/types/utils/captureImage/types.d.ts +9 -0
- package/dist/types/utils/captureImage/types.d.ts.map +1 -0
- package/dist/types/utils/compatibility/compatibility.d.ts +3 -0
- package/dist/types/utils/compatibility/compatibility.d.ts.map +1 -0
- package/dist/types/utils/compatibility/index.d.ts +2 -0
- package/dist/types/utils/compatibility/index.d.ts.map +1 -0
- package/dist/types/utils.d.ts +2 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/livekit/components/package.json +5 -0
- package/livekit/sdk/package.json +5 -0
- package/livekit-client.patch +19 -0
- package/package.json +108 -0
- package/sdk/package.json +5 -0
- package/tpa/package.json +5 -0
- package/utils/package.json +5 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["EXPECTED_VIDEO_PARTICIPANTS","exports","findJoinedAgentParticipant","room","type","identity","participant","remoteParticipants","get","undefined","values","next","value","shouldHandleParticipantConnected","includes","name"],"sources":["../../../../../../src/hooks/useConversation/livekit/utils/participants.ts"],"sourcesContent":["import type { RemoteParticipant, Room } from 'livekit-client';\nimport type { ConversationType } from '../../../../conversation';\n\nexport const EXPECTED_VIDEO_PARTICIPANTS = [\n 'tavus-avatar-agent',\n 'Avatar Runner',\n];\n\nexport function findJoinedAgentParticipant(\n room: Room,\n type: ConversationType,\n): RemoteParticipant | undefined {\n switch (type) {\n case 'video': {\n for (const identity of EXPECTED_VIDEO_PARTICIPANTS) {\n const participant = room.remoteParticipants.get(identity);\n if (participant) {\n return participant;\n }\n }\n\n return undefined;\n }\n case 'audio':\n return room.remoteParticipants.values().next().value;\n }\n\n return undefined;\n}\n\nexport function shouldHandleParticipantConnected(\n participant: RemoteParticipant,\n type: ConversationType,\n): boolean {\n switch (type) {\n case 'video':\n return EXPECTED_VIDEO_PARTICIPANTS.includes(participant.name ?? '');\n case 'audio':\n return true;\n }\n\n return false;\n}\n"],"mappings":";;;;;;AAGO,MAAMA,2BAA2B,GAAAC,OAAA,CAAAD,2BAAA,GAAG,CACzC,oBAAoB,EACpB,eAAe,CAChB;AAEM,SAASE,0BAA0BA,CACxCC,IAAU,EACVC,IAAsB,EACS;EAC/B,QAAQA,IAAI;IACV,KAAK,OAAO;MAAE;QACZ,KAAK,MAAMC,QAAQ,IAAIL,2BAA2B,EAAE;UAClD,MAAMM,WAAW,GAAGH,IAAI,CAACI,kBAAkB,CAACC,GAAG,CAACH,QAAQ,CAAC;UACzD,IAAIC,WAAW,EAAE;YACf,OAAOA,WAAW;UACpB;QACF;QAEA,OAAOG,SAAS;MAClB;IACA,KAAK,OAAO;MACV,OAAON,IAAI,CAACI,kBAAkB,CAACG,MAAM,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,KAAK;EACxD;EAEA,OAAOH,SAAS;AAClB;AAEO,SAASI,gCAAgCA,CAC9CP,WAA8B,EAC9BF,IAAsB,EACb;EACT,QAAQA,IAAI;IACV,KAAK,OAAO;MACV,OAAOJ,2BAA2B,CAACc,QAAQ,CAACR,WAAW,CAACS,IAAI,IAAI,EAAE,CAAC;IACrE,KAAK,OAAO;MACV,OAAO,IAAI;EACf;EAEA,OAAO,KAAK;AACd","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.safeStringify = safeStringify;
|
|
5
|
+
function safeStringify(value) {
|
|
6
|
+
try {
|
|
7
|
+
return JSON.stringify(value);
|
|
8
|
+
} catch (error) {
|
|
9
|
+
console.error('Failed to stringify value', error);
|
|
10
|
+
return JSON.stringify([]);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=serialization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["safeStringify","value","JSON","stringify","error","console"],"sources":["../../../../../../src/hooks/useConversation/livekit/utils/serialization.ts"],"sourcesContent":["export function safeStringify<T>(value: T): string {\n try {\n return JSON.stringify(value);\n } catch (error) {\n console.error('Failed to stringify value', error);\n return JSON.stringify([]);\n }\n}\n"],"mappings":";;;;AAAO,SAASA,aAAaA,CAAIC,KAAQ,EAAU;EACjD,IAAI;IACF,OAAOC,IAAI,CAACC,SAAS,CAACF,KAAK,CAAC;EAC9B,CAAC,CAAC,OAAOG,KAAK,EAAE;IACdC,OAAO,CAACD,KAAK,CAAC,2BAA2B,EAAEA,KAAK,CAAC;IACjD,OAAOF,IAAI,CAACC,SAAS,CAAC,EAAE,CAAC;EAC3B;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.createLivekitToolAdapter = createLivekitToolAdapter;
|
|
5
|
+
var _messaging = require("./messaging");
|
|
6
|
+
function createLivekitToolAdapter(room) {
|
|
7
|
+
return {
|
|
8
|
+
async sendResults(envelope) {
|
|
9
|
+
const payload = {
|
|
10
|
+
type: 'tool_results',
|
|
11
|
+
requestId: envelope.requestId,
|
|
12
|
+
functionCallResults: envelope.functionCallResults
|
|
13
|
+
};
|
|
14
|
+
await (0, _messaging.publishConversationDataMessage)(room, payload, 'tool_results');
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=toolAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_messaging","require","createLivekitToolAdapter","room","sendResults","envelope","payload","type","requestId","functionCallResults","publishConversationDataMessage"],"sources":["../../../../../../src/hooks/useConversation/livekit/utils/toolAdapter.ts"],"sourcesContent":["import type { Room } from 'livekit-client';\nimport type { ToolRuntimeAdapter } from '../../../useTools/runtime/types';\nimport type { ToolResultsData } from '../types';\n\nimport { publishConversationDataMessage } from './messaging';\n\nexport function createLivekitToolAdapter(\n room: Room | undefined,\n): ToolRuntimeAdapter {\n return {\n async sendResults(envelope) {\n const payload: ToolResultsData = {\n type: 'tool_results',\n requestId: envelope.requestId,\n functionCallResults: envelope.functionCallResults,\n };\n\n await publishConversationDataMessage(room, payload, 'tool_results');\n },\n };\n}\n"],"mappings":";;;;AAIA,IAAAA,UAAA,GAAAC,OAAA;AAEO,SAASC,wBAAwBA,CACtCC,IAAsB,EACF;EACpB,OAAO;IACL,MAAMC,WAAWA,CAACC,QAAQ,EAAE;MAC1B,MAAMC,OAAwB,GAAG;QAC/BC,IAAI,EAAE,cAAc;QACpBC,SAAS,EAAEH,QAAQ,CAACG,SAAS;QAC7BC,mBAAmB,EAAEJ,QAAQ,CAACI;MAChC,CAAC;MAED,MAAM,IAAAC,yCAA8B,EAACP,IAAI,EAAEG,OAAO,EAAE,cAAc,CAAC;IACrE;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.mergeTranscriptions = mergeTranscriptions;
|
|
5
|
+
function mergeTranscriptions(newTranscriptions, oldTranscriptions) {
|
|
6
|
+
const transcriptionsMap = new Map();
|
|
7
|
+
oldTranscriptions.forEach(transcription => {
|
|
8
|
+
transcriptionsMap.set(transcription.id, transcription);
|
|
9
|
+
});
|
|
10
|
+
newTranscriptions.forEach(transcription => {
|
|
11
|
+
transcriptionsMap.set(transcription.id, transcription);
|
|
12
|
+
});
|
|
13
|
+
return Array.from(transcriptionsMap.values());
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=transcriptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["mergeTranscriptions","newTranscriptions","oldTranscriptions","transcriptionsMap","Map","forEach","transcription","set","id","Array","from","values"],"sources":["../../../../../../src/hooks/useConversation/livekit/utils/transcriptions.ts"],"sourcesContent":["import type { ConversationTranscription } from '../../../../conversation';\n\nexport function mergeTranscriptions(\n newTranscriptions: ConversationTranscription[],\n oldTranscriptions: ConversationTranscription[],\n) {\n const transcriptionsMap = new Map<string, ConversationTranscription>();\n\n oldTranscriptions.forEach((transcription) => {\n transcriptionsMap.set(transcription.id, transcription);\n });\n\n newTranscriptions.forEach((transcription) => {\n transcriptionsMap.set(transcription.id, transcription);\n });\n\n return Array.from(transcriptionsMap.values());\n}\n"],"mappings":";;;;AAEO,SAASA,mBAAmBA,CACjCC,iBAA8C,EAC9CC,iBAA8C,EAC9C;EACA,MAAMC,iBAAiB,GAAG,IAAIC,GAAG,CAAoC,CAAC;EAEtEF,iBAAiB,CAACG,OAAO,CAAEC,aAAa,IAAK;IAC3CH,iBAAiB,CAACI,GAAG,CAACD,aAAa,CAACE,EAAE,EAAEF,aAAa,CAAC;EACxD,CAAC,CAAC;EAEFL,iBAAiB,CAACI,OAAO,CAAEC,aAAa,IAAK;IAC3CH,iBAAiB,CAACI,GAAG,CAACD,aAAa,CAACE,EAAE,EAAEF,aAAa,CAAC;EACxD,CAAC,CAAC;EAEF,OAAOG,KAAK,CAACC,IAAI,CAACP,iBAAiB,CAACQ,MAAM,CAAC,CAAC,CAAC;AAC/C","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../../src/hooks/useConversation/types.ts"],"sourcesContent":["import type { Conversation, ConversationStatus } from '../../conversation';\n\nimport type { UseCreateConversationOptions } from '../useCreateConversation';\n\nexport type UseConversationOptions = UseCreateConversationOptions & {\n autoJoin?: boolean;\n startWithMicrophone?: boolean;\n startWithCamera?: boolean;\n};\n\nexport type Attachment = {\n name: string;\n url: string;\n mimeType: string;\n fileId: string;\n};\n\nexport type UseConversationResult = {\n status: ConversationStatus;\n conversation?: Conversation;\n join(): Promise<void>;\n send(message: string, attachments?: Attachment[]): Promise<void>;\n interrupt(): Promise<void>;\n dismissInactivity(): Promise<void>;\n leave(destroy?: boolean): Promise<void>;\n};\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.useConversation = useConversation;
|
|
5
|
+
var _jotai = require("jotai");
|
|
6
|
+
var _reactUse = require("react-use");
|
|
7
|
+
var state = _interopRequireWildcard(require("../../conversation/state"));
|
|
8
|
+
var _sdkConsumer = require("../../sdk-consumer");
|
|
9
|
+
var _useConversation = require("./livekit/useConversation");
|
|
10
|
+
var _useConversationEvents = require("../useConversationEvents");
|
|
11
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
12
|
+
function useConversation(options) {
|
|
13
|
+
const {
|
|
14
|
+
type
|
|
15
|
+
} = options;
|
|
16
|
+
const {
|
|
17
|
+
chatId,
|
|
18
|
+
namespace
|
|
19
|
+
} = (0, _sdkConsumer.useSdkConsumer)();
|
|
20
|
+
const setConversationStatus = (0, _jotai.useSetAtom)(state.conversationStatus);
|
|
21
|
+
const setUserConnectionState = (0, _jotai.useSetAtom)(state.userConnectionState);
|
|
22
|
+
const setUserActivityState = (0, _jotai.useSetAtom)(state.userActivityState);
|
|
23
|
+
const setAgentConnectionState = (0, _jotai.useSetAtom)(state.agentConnectionState);
|
|
24
|
+
const setAgentActivityState = (0, _jotai.useSetAtom)(state.agentActivityState);
|
|
25
|
+
const setConversation = (0, _jotai.useSetAtom)(state.conversation);
|
|
26
|
+
const setTranscriptions = (0, _jotai.useSetAtom)(state.transcriptions);
|
|
27
|
+
const setJoinedAt = (0, _jotai.useSetAtom)(state.joinedAt);
|
|
28
|
+
const [userLastActivity, setUserLastActivity] = (0, _jotai.useAtom)(state.userLastActivity);
|
|
29
|
+
const setUserInactivityDuration = (0, _jotai.useSetAtom)(state.userInactivityDuration);
|
|
30
|
+
(0, _reactUse.useUnmount)(cleanup);
|
|
31
|
+
(0, _reactUse.useUpdateEffect)(() => {
|
|
32
|
+
cleanup();
|
|
33
|
+
}, [chatId, namespace]);
|
|
34
|
+
(0, _reactUse.useInterval)(() => {
|
|
35
|
+
if (!userLastActivity) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
setUserInactivityDuration(Date.now() - userLastActivity);
|
|
39
|
+
}, 1000);
|
|
40
|
+
(0, _reactUse.useUpdateEffect)(() => {
|
|
41
|
+
throw new Error('Conversation type & vendor cannot be changed once are set');
|
|
42
|
+
}, [type]);
|
|
43
|
+
(0, _useConversationEvents.useConversationEvents)({
|
|
44
|
+
userSpeakStart,
|
|
45
|
+
userSpeakStop,
|
|
46
|
+
agentSpeakStart,
|
|
47
|
+
agentSpeakStop,
|
|
48
|
+
responseLatency,
|
|
49
|
+
userSendMessage,
|
|
50
|
+
callStarted,
|
|
51
|
+
agentVideoLoaded,
|
|
52
|
+
agentJoined
|
|
53
|
+
});
|
|
54
|
+
return (0, _useConversation.useConversation)(options);
|
|
55
|
+
function cleanup() {
|
|
56
|
+
setConversationStatus('pending');
|
|
57
|
+
setUserConnectionState('idle');
|
|
58
|
+
setUserActivityState('idle');
|
|
59
|
+
setAgentConnectionState('idle');
|
|
60
|
+
setAgentActivityState('idle');
|
|
61
|
+
setTranscriptions([]);
|
|
62
|
+
setConversation(undefined);
|
|
63
|
+
setJoinedAt(undefined);
|
|
64
|
+
setUserLastActivity(null);
|
|
65
|
+
setUserInactivityDuration(0);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// Conversation Events
|
|
69
|
+
function responseLatency(_payload) {
|
|
70
|
+
// BI logging handled by private impl (IBILogger interface — coming soon)
|
|
71
|
+
}
|
|
72
|
+
function userSpeakStart(_payload) {
|
|
73
|
+
setUserLastActivity(Date.now());
|
|
74
|
+
}
|
|
75
|
+
function userSpeakStop(_payload) {
|
|
76
|
+
setUserLastActivity(Date.now());
|
|
77
|
+
}
|
|
78
|
+
function agentSpeakStart(_payload) {
|
|
79
|
+
// no-op
|
|
80
|
+
}
|
|
81
|
+
function agentSpeakStop(_payload) {
|
|
82
|
+
// no-op
|
|
83
|
+
}
|
|
84
|
+
function userSendMessage() {
|
|
85
|
+
setUserLastActivity(Date.now());
|
|
86
|
+
}
|
|
87
|
+
function callStarted() {
|
|
88
|
+
setUserLastActivity(Date.now());
|
|
89
|
+
}
|
|
90
|
+
function agentVideoLoaded() {
|
|
91
|
+
setJoinedAt(new Date());
|
|
92
|
+
}
|
|
93
|
+
function agentJoined() {
|
|
94
|
+
if (type === 'audio') {
|
|
95
|
+
setJoinedAt(new Date());
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=useConversation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_jotai","require","_reactUse","state","_interopRequireWildcard","_sdkConsumer","_useConversation","_useConversationEvents","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useConversation","options","type","chatId","namespace","useSdkConsumer","setConversationStatus","useSetAtom","conversationStatus","setUserConnectionState","userConnectionState","setUserActivityState","userActivityState","setAgentConnectionState","agentConnectionState","setAgentActivityState","agentActivityState","setConversation","conversation","setTranscriptions","transcriptions","setJoinedAt","joinedAt","userLastActivity","setUserLastActivity","useAtom","setUserInactivityDuration","userInactivityDuration","useUnmount","cleanup","useUpdateEffect","useInterval","Date","now","Error","useConversationEvents","userSpeakStart","userSpeakStop","agentSpeakStart","agentSpeakStop","responseLatency","userSendMessage","callStarted","agentVideoLoaded","agentJoined","useLivekitConversation","undefined","_payload"],"sources":["../../../../src/hooks/useConversation/useConversation.ts"],"sourcesContent":["import { useSetAtom, useAtom } from 'jotai';\nimport { useUpdateEffect, useUnmount, useInterval } from 'react-use';\n\nimport * as state from '../../conversation/state';\nimport { useSdkConsumer } from '../../sdk-consumer';\n\nimport { useConversation as useLivekitConversation } from './livekit/useConversation';\n\nimport {\n useConversationEvents,\n type UserSpeakStartPayload,\n type UserSpeakStopPayload,\n type AgentSpeakStartPayload,\n type AgentSpeakStopPayload,\n type ResponseLatencyPayload,\n} from '../useConversationEvents';\nimport type { UseConversationResult, UseConversationOptions } from './types';\n\ntype BiEventPayload =\n | UserSpeakStartPayload\n | UserSpeakStopPayload\n | AgentSpeakStartPayload\n | AgentSpeakStopPayload;\n\nexport function useConversation(\n options: UseConversationOptions,\n): UseConversationResult {\n const { type } = options;\n const { chatId, namespace } = useSdkConsumer();\n\n const setConversationStatus = useSetAtom(state.conversationStatus);\n const setUserConnectionState = useSetAtom(state.userConnectionState);\n const setUserActivityState = useSetAtom(state.userActivityState);\n const setAgentConnectionState = useSetAtom(state.agentConnectionState);\n const setAgentActivityState = useSetAtom(state.agentActivityState);\n const setConversation = useSetAtom(state.conversation);\n const setTranscriptions = useSetAtom(state.transcriptions);\n const setJoinedAt = useSetAtom(state.joinedAt);\n const [userLastActivity, setUserLastActivity] = useAtom(\n state.userLastActivity,\n );\n const setUserInactivityDuration = useSetAtom(state.userInactivityDuration);\n\n useUnmount(cleanup);\n\n useUpdateEffect(() => {\n cleanup();\n }, [chatId, namespace]);\n\n useInterval(() => {\n if (!userLastActivity) {\n return;\n }\n setUserInactivityDuration(Date.now() - userLastActivity);\n }, 1000);\n\n useUpdateEffect(() => {\n throw new Error(\n 'Conversation type & vendor cannot be changed once are set',\n );\n }, [type]);\n\n useConversationEvents({\n userSpeakStart,\n userSpeakStop,\n agentSpeakStart,\n agentSpeakStop,\n responseLatency,\n userSendMessage,\n callStarted,\n agentVideoLoaded,\n agentJoined,\n });\n\n return useLivekitConversation(options);\n\n function cleanup() {\n setConversationStatus('pending');\n setUserConnectionState('idle');\n setUserActivityState('idle');\n setAgentConnectionState('idle');\n setAgentActivityState('idle');\n setTranscriptions([]);\n setConversation(undefined);\n setJoinedAt(undefined);\n setUserLastActivity(null);\n setUserInactivityDuration(0);\n }\n\n // Conversation Events\n function responseLatency(_payload: ResponseLatencyPayload) {\n // BI logging handled by private impl (IBILogger interface — coming soon)\n }\n function userSpeakStart(_payload: BiEventPayload) {\n setUserLastActivity(Date.now());\n }\n function userSpeakStop(_payload: BiEventPayload) {\n setUserLastActivity(Date.now());\n }\n function agentSpeakStart(_payload: BiEventPayload) {\n // no-op\n }\n function agentSpeakStop(_payload: BiEventPayload) {\n // no-op\n }\n function userSendMessage() {\n setUserLastActivity(Date.now());\n }\n function callStarted() {\n setUserLastActivity(Date.now());\n }\n function agentVideoLoaded() {\n setJoinedAt(new Date());\n }\n\n function agentJoined() {\n if (type === 'audio') {\n setJoinedAt(new Date());\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
var _useConversationEvent = require("./useConversationEvent");
|
|
5
|
+
Object.keys(_useConversationEvent).forEach(function (key) {
|
|
6
|
+
if (key === "default" || key === "__esModule") return;
|
|
7
|
+
if (key in exports && exports[key] === _useConversationEvent[key]) return;
|
|
8
|
+
exports[key] = _useConversationEvent[key];
|
|
9
|
+
});
|
|
10
|
+
var _useConversationEvents = require("./useConversationEvents");
|
|
11
|
+
Object.keys(_useConversationEvents).forEach(function (key) {
|
|
12
|
+
if (key === "default" || key === "__esModule") return;
|
|
13
|
+
if (key in exports && exports[key] === _useConversationEvents[key]) return;
|
|
14
|
+
exports[key] = _useConversationEvents[key];
|
|
15
|
+
});
|
|
16
|
+
var _types = require("./types");
|
|
17
|
+
Object.keys(_types).forEach(function (key) {
|
|
18
|
+
if (key === "default" || key === "__esModule") return;
|
|
19
|
+
if (key in exports && exports[key] === _types[key]) return;
|
|
20
|
+
exports[key] = _types[key];
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_useConversationEvent","require","Object","keys","forEach","key","exports","_useConversationEvents","_types"],"sources":["../../../../src/hooks/useConversationEvents/index.ts"],"sourcesContent":["export * from './useConversationEvent';\nexport * from './useConversationEvents';\nexport * from './types';\n"],"mappings":";;;AAAA,IAAAA,qBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,qBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,qBAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,qBAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,sBAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,sBAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,sBAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,sBAAA,CAAAF,GAAA;AAAA;AACA,IAAAG,MAAA,GAAAP,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAK,MAAA,EAAAJ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAG,MAAA,CAAAH,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAG,MAAA,CAAAH,GAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../../src/hooks/useConversationEvents/types.tsx"],"sourcesContent":["import React from 'react';\nimport { RemoteParticipant } from 'livekit-client';\n\nexport type UserSpeakStartPayload = {\n conversationId: string;\n};\n\nexport type TimeExceededPayload = {\n conversationId: string;\n limit: number;\n};\n\nexport type UserSpeakStopPayload = {\n conversationId: string;\n};\n\nexport type AgentSpeakStartPayload = {\n conversationId: string;\n};\n\nexport type AgentSpeakStopPayload = {\n conversationId: string;\n};\n\nexport type ResponseLatencyPayload = {\n conversationId: string;\n latencyMs: number;\n turnDetectionStrategy: string;\n sequence?: number;\n speechId?: string;\n};\n\nexport type InterruptPayload = {\n conversationId: string;\n};\n\nexport type CallStartedPayload = {\n conversationId: string;\n};\n\nexport type CallEndedPayload = {\n conversationId: string;\n};\n\nexport type UserSendMessagePayload = {\n conversationId: string;\n message: string;\n};\n\nexport type AgentJoinedPayload = {\n conversationId: string;\n participant: RemoteParticipant;\n};\n\nexport type AgentLeftPayload = {\n conversationId: string;\n participant?: RemoteParticipant;\n};\n\nexport type AgentVideoLoadedPayload = {\n videoRef: React.RefObject<HTMLVideoElement>;\n};\n\nexport type InactivityWarningPayload = {\n conversationId: string;\n gracePeriodSec: number;\n};\n\nexport type ConversationEventMap = {\n userSpeakStart: UserSpeakStartPayload;\n userSpeakStop: UserSpeakStopPayload;\n agentSpeakStart: AgentSpeakStartPayload;\n agentSpeakStop: AgentSpeakStopPayload;\n responseLatency: ResponseLatencyPayload;\n interrupt: InterruptPayload;\n callStarted: CallStartedPayload;\n callEnded: CallEndedPayload;\n userSendMessage: UserSendMessagePayload;\n agentJoined: AgentJoinedPayload;\n agentLeft: AgentLeftPayload;\n timeExceeded: TimeExceededPayload;\n agentVideoLoaded: AgentVideoLoadedPayload;\n inactivityWarning: InactivityWarningPayload;\n};\n\nexport type ConversationEvent = keyof ConversationEventMap;\n\nexport type EventPayload<T extends ConversationEvent> = ConversationEventMap[T];\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.useConversationEvent = useConversationEvent;
|
|
5
|
+
var _reactBus = require("react-bus");
|
|
6
|
+
var _react = require("react");
|
|
7
|
+
function useConversationEvent(eventName, handler) {
|
|
8
|
+
const eventHandler = (0, _react.useCallback)(event => handler(event), [handler]);
|
|
9
|
+
(0, _reactBus.useListener)(eventName, eventHandler);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=useConversationEvent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactBus","require","_react","useConversationEvent","eventName","handler","eventHandler","useCallback","event","useListener"],"sources":["../../../../src/hooks/useConversationEvents/useConversationEvent.tsx"],"sourcesContent":["import { useListener } from 'react-bus';\nimport { useCallback } from 'react';\nimport type { ConversationEvent, EventPayload } from './types';\n\nexport function useConversationEvent<T extends ConversationEvent>(\n eventName: T,\n handler: (payload: EventPayload<T>) => void,\n) {\n const eventHandler = useCallback(\n (event: unknown) => handler(event as EventPayload<T>),\n [handler],\n );\n\n useListener(eventName, eventHandler);\n}\n"],"mappings":";;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAGO,SAASE,oBAAoBA,CAClCC,SAAY,EACZC,OAA2C,EAC3C;EACA,MAAMC,YAAY,GAAG,IAAAC,kBAAW,EAC7BC,KAAc,IAAKH,OAAO,CAACG,KAAwB,CAAC,EACrD,CAACH,OAAO,CACV,CAAC;EAED,IAAAI,qBAAW,EAACL,SAAS,EAAEE,YAAY,CAAC;AACtC","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.useConversationEvents = useConversationEvents;
|
|
5
|
+
var _reactBus = require("react-bus");
|
|
6
|
+
var _react = require("react");
|
|
7
|
+
function useConversationEvents(events) {
|
|
8
|
+
const bus = (0, _reactBus.useBus)();
|
|
9
|
+
(0, _react.useEffect)(() => {
|
|
10
|
+
for (const [eventName, handler] of Object.entries(events)) {
|
|
11
|
+
bus.on(eventName, handler);
|
|
12
|
+
}
|
|
13
|
+
return () => {
|
|
14
|
+
for (const [eventName, handler] of Object.entries(events)) {
|
|
15
|
+
bus.off(eventName, handler);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
}, [events]);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=useConversationEvents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactBus","require","_react","useConversationEvents","events","bus","useBus","useEffect","eventName","handler","Object","entries","on","off"],"sources":["../../../../src/hooks/useConversationEvents/useConversationEvents.ts"],"sourcesContent":["import { useBus } from 'react-bus';\nimport { useEffect } from 'react';\nimport type { ConversationEvent, EventPayload } from './types';\n\nexport function useConversationEvents(events: {\n [K in ConversationEvent]?: (payload: EventPayload<K>) => void;\n}) {\n const bus = useBus();\n\n useEffect(() => {\n for (const [eventName, handler] of Object.entries(events)) {\n bus.on(eventName, handler as any);\n }\n return () => {\n for (const [eventName, handler] of Object.entries(events)) {\n bus.off(eventName, handler as any);\n }\n };\n }, [events]);\n}\n"],"mappings":";;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAGO,SAASE,qBAAqBA,CAACC,MAErC,EAAE;EACD,MAAMC,GAAG,GAAG,IAAAC,gBAAM,EAAC,CAAC;EAEpB,IAAAC,gBAAS,EAAC,MAAM;IACd,KAAK,MAAM,CAACC,SAAS,EAAEC,OAAO,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACP,MAAM,CAAC,EAAE;MACzDC,GAAG,CAACO,EAAE,CAACJ,SAAS,EAAEC,OAAc,CAAC;IACnC;IACA,OAAO,MAAM;MACX,KAAK,MAAM,CAACD,SAAS,EAAEC,OAAO,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACP,MAAM,CAAC,EAAE;QACzDC,GAAG,CAACQ,GAAG,CAACL,SAAS,EAAEC,OAAc,CAAC;MACpC;IACF,CAAC;EACH,CAAC,EAAE,CAACL,MAAM,CAAC,CAAC;AACd","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.useEmitConversationEvent = useEmitConversationEvent;
|
|
5
|
+
var _reactBus = require("react-bus");
|
|
6
|
+
function useEmitConversationEvent() {
|
|
7
|
+
const bus = (0, _reactBus.useBus)();
|
|
8
|
+
function emit(eventName, payload) {
|
|
9
|
+
bus.emit(eventName, payload);
|
|
10
|
+
}
|
|
11
|
+
return emit;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=useEmitConversationEvent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactBus","require","useEmitConversationEvent","bus","useBus","emit","eventName","payload"],"sources":["../../../../src/hooks/useConversationEvents/useEmitConversationEvent.ts"],"sourcesContent":["import { useBus } from 'react-bus';\nimport type { ConversationEvent, EventPayload } from './types';\n\nexport function useEmitConversationEvent() {\n const bus = useBus();\n\n function emit(\n eventName: ConversationEvent,\n payload: EventPayload<ConversationEvent>,\n ) {\n bus.emit(eventName, payload);\n }\n\n return emit;\n}\n"],"mappings":";;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAGO,SAASC,wBAAwBA,CAAA,EAAG;EACzC,MAAMC,GAAG,GAAG,IAAAC,gBAAM,EAAC,CAAC;EAEpB,SAASC,IAAIA,CACXC,SAA4B,EAC5BC,OAAwC,EACxC;IACAJ,GAAG,CAACE,IAAI,CAACC,SAAS,EAAEC,OAAO,CAAC;EAC9B;EAEA,OAAOF,IAAI;AACb","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
var _useConversationStatus = require("./useConversationStatus");
|
|
5
|
+
Object.keys(_useConversationStatus).forEach(function (key) {
|
|
6
|
+
if (key === "default" || key === "__esModule") return;
|
|
7
|
+
if (key in exports && exports[key] === _useConversationStatus[key]) return;
|
|
8
|
+
exports[key] = _useConversationStatus[key];
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_useConversationStatus","require","Object","keys","forEach","key","exports"],"sources":["../../../../src/hooks/useConversationStatus/index.ts"],"sourcesContent":["export * from './useConversationStatus';\n"],"mappings":";;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,sBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,sBAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,sBAAA,CAAAK,GAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.useConversationStatus = useConversationStatus;
|
|
5
|
+
var _jotai = require("jotai");
|
|
6
|
+
var _conversation = require("../../conversation");
|
|
7
|
+
function useConversationStatus() {
|
|
8
|
+
return (0, _jotai.useAtomValue)(_conversation.state.conversationStatus);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=useConversationStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_jotai","require","_conversation","useConversationStatus","useAtomValue","state","conversationStatus"],"sources":["../../../../src/hooks/useConversationStatus/useConversationStatus.ts"],"sourcesContent":["import { useAtomValue } from 'jotai';\n\nimport { state } from '../../conversation';\n\nexport function useConversationStatus() {\n return useAtomValue(state.conversationStatus);\n}\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,aAAA,GAAAD,OAAA;AAEO,SAASE,qBAAqBA,CAAA,EAAG;EACtC,OAAO,IAAAC,mBAAY,EAACC,mBAAK,CAACC,kBAAkB,CAAC;AAC/C","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
var _useConversationTimer = require("./useConversationTimer");
|
|
5
|
+
Object.keys(_useConversationTimer).forEach(function (key) {
|
|
6
|
+
if (key === "default" || key === "__esModule") return;
|
|
7
|
+
if (key in exports && exports[key] === _useConversationTimer[key]) return;
|
|
8
|
+
exports[key] = _useConversationTimer[key];
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_useConversationTimer","require","Object","keys","forEach","key","exports"],"sources":["../../../../src/hooks/useConversationTimer/index.ts"],"sourcesContent":["export * from './useConversationTimer';\n"],"mappings":";;;AAAA,IAAAA,qBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,qBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,qBAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,qBAAA,CAAAK,GAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.useConversationTimer = useConversationTimer;
|
|
5
|
+
var _react = require("react");
|
|
6
|
+
var _jotai = require("jotai");
|
|
7
|
+
var _reactTimerHook = require("react-timer-hook");
|
|
8
|
+
var _conversation = require("../../conversation");
|
|
9
|
+
function useConversationTimer(options = {}) {
|
|
10
|
+
const joinedAt = (0, _jotai.useAtomValue)(_conversation.state.joinedAt);
|
|
11
|
+
const conversation = (0, _jotai.useAtomValue)(_conversation.state.conversation);
|
|
12
|
+
const expires = (0, _react.useMemo)(() => {
|
|
13
|
+
if (!joinedAt || (conversation == null ? void 0 : conversation.limit) === undefined) {
|
|
14
|
+
return {
|
|
15
|
+
time: new Date(),
|
|
16
|
+
isValid: false
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
time: new Date(joinedAt.getTime() + conversation.limit),
|
|
21
|
+
isValid: true
|
|
22
|
+
};
|
|
23
|
+
}, [joinedAt, conversation == null ? void 0 : conversation.limit]);
|
|
24
|
+
const timer = (0, _reactTimerHook.useTimer)({
|
|
25
|
+
autoStart: false,
|
|
26
|
+
expiryTimestamp: expires.time,
|
|
27
|
+
onExpire: options.onExpire
|
|
28
|
+
});
|
|
29
|
+
(0, _react.useEffect)(() => {
|
|
30
|
+
if (!expires.isValid) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
timer.isRunning ? timer.restart(expires.time) : timer.start();
|
|
34
|
+
}, [expires, timer.isRunning]);
|
|
35
|
+
return {
|
|
36
|
+
expiresAt: expires,
|
|
37
|
+
hours: timer.hours,
|
|
38
|
+
minutes: timer.minutes,
|
|
39
|
+
seconds: timer.seconds,
|
|
40
|
+
isRunning: timer.isRunning,
|
|
41
|
+
remaining: timer.totalMilliseconds,
|
|
42
|
+
elapsed: Date.now() - expires.time.getTime()
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=useConversationTimer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_jotai","_reactTimerHook","_conversation","useConversationTimer","options","joinedAt","useAtomValue","state","conversation","expires","useMemo","limit","undefined","time","Date","isValid","getTime","timer","useTimer","autoStart","expiryTimestamp","onExpire","useEffect","isRunning","restart","start","expiresAt","hours","minutes","seconds","remaining","totalMilliseconds","elapsed","now"],"sources":["../../../../src/hooks/useConversationTimer/useConversationTimer.ts"],"sourcesContent":["import { useMemo, useEffect } from 'react';\nimport { useAtomValue } from 'jotai';\nimport { useTimer } from 'react-timer-hook';\n\nimport { state } from '../../conversation';\n\ninterface UseConversationTimerOptions {\n onExpire?(): void;\n}\n\nexport function useConversationTimer(\n options: UseConversationTimerOptions = {},\n) {\n const joinedAt = useAtomValue(state.joinedAt);\n const conversation = useAtomValue(state.conversation);\n\n const expires = useMemo(() => {\n if (!joinedAt || conversation?.limit === undefined) {\n return {\n time: new Date(),\n isValid: false,\n };\n }\n\n return {\n time: new Date(joinedAt.getTime() + conversation.limit),\n isValid: true,\n };\n }, [joinedAt, conversation?.limit]);\n\n const timer = useTimer({\n autoStart: false,\n expiryTimestamp: expires.time,\n onExpire: options.onExpire,\n });\n\n useEffect(() => {\n if (!expires.isValid) {\n return;\n }\n timer.isRunning ? timer.restart(expires.time) : timer.start();\n }, [expires, timer.isRunning]);\n\n return {\n expiresAt: expires,\n\n hours: timer.hours,\n minutes: timer.minutes,\n seconds: timer.seconds,\n\n isRunning: timer.isRunning,\n\n remaining: timer.totalMilliseconds,\n elapsed: Date.now() - expires.time.getTime(),\n };\n}\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AAEA,IAAAG,aAAA,GAAAH,OAAA;AAMO,SAASI,oBAAoBA,CAClCC,OAAoC,GAAG,CAAC,CAAC,EACzC;EACA,MAAMC,QAAQ,GAAG,IAAAC,mBAAY,EAACC,mBAAK,CAACF,QAAQ,CAAC;EAC7C,MAAMG,YAAY,GAAG,IAAAF,mBAAY,EAACC,mBAAK,CAACC,YAAY,CAAC;EAErD,MAAMC,OAAO,GAAG,IAAAC,cAAO,EAAC,MAAM;IAC5B,IAAI,CAACL,QAAQ,IAAI,CAAAG,YAAY,oBAAZA,YAAY,CAAEG,KAAK,MAAKC,SAAS,EAAE;MAClD,OAAO;QACLC,IAAI,EAAE,IAAIC,IAAI,CAAC,CAAC;QAChBC,OAAO,EAAE;MACX,CAAC;IACH;IAEA,OAAO;MACLF,IAAI,EAAE,IAAIC,IAAI,CAACT,QAAQ,CAACW,OAAO,CAAC,CAAC,GAAGR,YAAY,CAACG,KAAK,CAAC;MACvDI,OAAO,EAAE;IACX,CAAC;EACH,CAAC,EAAE,CAACV,QAAQ,EAAEG,YAAY,oBAAZA,YAAY,CAAEG,KAAK,CAAC,CAAC;EAEnC,MAAMM,KAAK,GAAG,IAAAC,wBAAQ,EAAC;IACrBC,SAAS,EAAE,KAAK;IAChBC,eAAe,EAAEX,OAAO,CAACI,IAAI;IAC7BQ,QAAQ,EAAEjB,OAAO,CAACiB;EACpB,CAAC,CAAC;EAEF,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAI,CAACb,OAAO,CAACM,OAAO,EAAE;MACpB;IACF;IACAE,KAAK,CAACM,SAAS,GAAGN,KAAK,CAACO,OAAO,CAACf,OAAO,CAACI,IAAI,CAAC,GAAGI,KAAK,CAACQ,KAAK,CAAC,CAAC;EAC/D,CAAC,EAAE,CAAChB,OAAO,EAAEQ,KAAK,CAACM,SAAS,CAAC,CAAC;EAE9B,OAAO;IACLG,SAAS,EAAEjB,OAAO;IAElBkB,KAAK,EAAEV,KAAK,CAACU,KAAK;IAClBC,OAAO,EAAEX,KAAK,CAACW,OAAO;IACtBC,OAAO,EAAEZ,KAAK,CAACY,OAAO;IAEtBN,SAAS,EAAEN,KAAK,CAACM,SAAS;IAE1BO,SAAS,EAAEb,KAAK,CAACc,iBAAiB;IAClCC,OAAO,EAAElB,IAAI,CAACmB,GAAG,CAAC,CAAC,GAAGxB,OAAO,CAACI,IAAI,CAACG,OAAO,CAAC;EAC7C,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["limit","value"],"sources":["../../../../src/hooks/useCreateConversation/helpers.ts"],"sourcesContent":["export function limit(value: number | undefined): number | undefined {\n return value;\n}\n\nexport type LiveKitTokenResponse = {\n serverUrl: string;\n roomName: string;\n participantToken: string;\n participantName: string;\n};\n"],"mappings":";;;;AAAO,SAASA,KAAKA,CAACC,KAAyB,EAAsB;EACnE,OAAOA,KAAK;AACd","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
var _useCreateConversation = require("./useCreateConversation");
|
|
5
|
+
Object.keys(_useCreateConversation).forEach(function (key) {
|
|
6
|
+
if (key === "default" || key === "__esModule") return;
|
|
7
|
+
if (key in exports && exports[key] === _useCreateConversation[key]) return;
|
|
8
|
+
exports[key] = _useCreateConversation[key];
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_useCreateConversation","require","Object","keys","forEach","key","exports"],"sources":["../../../../src/hooks/useCreateConversation/index.ts"],"sourcesContent":["export * from './useCreateConversation';\n"],"mappings":";;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,sBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,sBAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,sBAAA,CAAAK,GAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.useCreateConversation = useCreateConversation;
|
|
6
|
+
var _invariant = _interopRequireDefault(require("invariant"));
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _jotai = require("jotai");
|
|
9
|
+
var _reactUse = require("react-use");
|
|
10
|
+
var _conversation = require("../../conversation");
|
|
11
|
+
var _sdkConsumer = require("../../sdk-consumer");
|
|
12
|
+
var _helpers = require("./helpers");
|
|
13
|
+
function useCreateConversation(options) {
|
|
14
|
+
const {
|
|
15
|
+
type,
|
|
16
|
+
config: chatConfig
|
|
17
|
+
} = options;
|
|
18
|
+
const {
|
|
19
|
+
chatId,
|
|
20
|
+
namespace,
|
|
21
|
+
personaChatService
|
|
22
|
+
} = (0, _sdkConsumer.useSdkConsumer)();
|
|
23
|
+
const setConversationStatus = (0, _jotai.useSetAtom)(_conversation.state.conversationStatus);
|
|
24
|
+
const [conversation, setConversation] = (0, _jotai.useAtom)(_conversation.state.conversation);
|
|
25
|
+
(0, _react.useEffect)(() => {
|
|
26
|
+
void create().then(() => setConversationStatus('created')).catch(error => {
|
|
27
|
+
var _err$message;
|
|
28
|
+
const err = error;
|
|
29
|
+
if (err.status === 404 && (_err$message = err.message) != null && _err$message.includes('not found')) {
|
|
30
|
+
setConversationStatus('voice-not-found');
|
|
31
|
+
} else {
|
|
32
|
+
setConversationStatus('initialization-error');
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
}, [type, chatId]);
|
|
36
|
+
(0, _reactUse.useUnmount)(() => {
|
|
37
|
+
if (!conversation) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
void destroy();
|
|
41
|
+
});
|
|
42
|
+
(0, _react.useEffect)(() => {
|
|
43
|
+
if (!conversation) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if (conversation.limit === 0) {
|
|
47
|
+
setConversationStatus('exceeded');
|
|
48
|
+
}
|
|
49
|
+
}, [conversation]);
|
|
50
|
+
return {
|
|
51
|
+
data: conversation,
|
|
52
|
+
destroy
|
|
53
|
+
};
|
|
54
|
+
async function create() {
|
|
55
|
+
(0, _invariant.default)(personaChatService, 'personaChatService is required. Pass it as a prop to LegendsPlatform.');
|
|
56
|
+
switch (type) {
|
|
57
|
+
case 'video':
|
|
58
|
+
{
|
|
59
|
+
const result = await personaChatService.createInteractiveConversation({
|
|
60
|
+
chatId,
|
|
61
|
+
namespace,
|
|
62
|
+
chatConfig
|
|
63
|
+
});
|
|
64
|
+
setConversation({
|
|
65
|
+
type: 'video',
|
|
66
|
+
url: result.url,
|
|
67
|
+
id: result.id,
|
|
68
|
+
limit: (0, _helpers.limit)(result.limit)
|
|
69
|
+
});
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
case 'audio':
|
|
73
|
+
{
|
|
74
|
+
const result = await personaChatService.createVoiceConversation({
|
|
75
|
+
chatId,
|
|
76
|
+
namespace,
|
|
77
|
+
chatConfig
|
|
78
|
+
});
|
|
79
|
+
setConversation({
|
|
80
|
+
type: 'audio',
|
|
81
|
+
url: result.url,
|
|
82
|
+
id: result.id,
|
|
83
|
+
limit: (0, _helpers.limit)(result.limit)
|
|
84
|
+
});
|
|
85
|
+
break;
|
|
86
|
+
}
|
|
87
|
+
default:
|
|
88
|
+
throw new Error(`Unsupported conversation type: ${type}`);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
async function destroy() {
|
|
92
|
+
(0, _invariant.default)(conversation, 'Conversation is not ready');
|
|
93
|
+
(0, _invariant.default)(personaChatService, 'personaChatService is required.');
|
|
94
|
+
setConversationStatus('destroying');
|
|
95
|
+
await personaChatService.endInteractiveConversation({
|
|
96
|
+
chatId,
|
|
97
|
+
conversationId: conversation.id,
|
|
98
|
+
namespace
|
|
99
|
+
}).catch(() => {});
|
|
100
|
+
setConversationStatus('destroyed');
|
|
101
|
+
setConversation(undefined);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=useCreateConversation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_invariant","_interopRequireDefault","require","_react","_jotai","_reactUse","_conversation","_sdkConsumer","_helpers","useCreateConversation","options","type","config","chatConfig","chatId","namespace","personaChatService","useSdkConsumer","setConversationStatus","useSetAtom","state","conversationStatus","conversation","setConversation","useAtom","useEffect","create","then","catch","error","_err$message","err","status","message","includes","useUnmount","destroy","limit","data","invariant","result","createInteractiveConversation","url","id","createVoiceConversation","Error","endInteractiveConversation","conversationId","undefined"],"sources":["../../../../src/hooks/useCreateConversation/useCreateConversation.ts"],"sourcesContent":["import invariant from 'invariant';\nimport { useEffect } from 'react';\nimport { useAtom, useSetAtom } from 'jotai';\nimport { useUnmount } from 'react-use';\n\nimport {\n state,\n type ConversationType,\n type Conversation,\n} from '../../conversation';\nimport { useSdkConsumer } from '../../sdk-consumer';\nimport { limit } from './helpers';\n\nexport type UseCreateConversationOptions = {\n type: ConversationType;\n config?: Record<string, unknown>;\n};\n\nexport type UseCreateConversationResult = {\n data?: Conversation;\n destroy(): Promise<void>;\n};\n\nexport function useCreateConversation(\n options: UseCreateConversationOptions,\n): UseCreateConversationResult {\n const { type, config: chatConfig } = options;\n\n const { chatId, namespace, personaChatService } = useSdkConsumer();\n\n const setConversationStatus = useSetAtom(state.conversationStatus);\n const [conversation, setConversation] = useAtom(state.conversation);\n\n useEffect(() => {\n void create()\n .then(() => setConversationStatus('created'))\n .catch((error: unknown) => {\n const err = error as { status?: number; message?: string };\n if (err.status === 404 && err.message?.includes('not found')) {\n setConversationStatus('voice-not-found');\n } else {\n setConversationStatus('initialization-error');\n }\n });\n }, [type, chatId]);\n\n useUnmount(() => {\n if (!conversation) {\n return;\n }\n void destroy();\n });\n\n useEffect(() => {\n if (!conversation) {\n return;\n }\n if (conversation.limit === 0) {\n setConversationStatus('exceeded');\n }\n }, [conversation]);\n\n return { data: conversation, destroy };\n\n async function create() {\n invariant(\n personaChatService,\n 'personaChatService is required. Pass it as a prop to LegendsPlatform.',\n );\n\n switch (type) {\n case 'video': {\n const result = await personaChatService.createInteractiveConversation({\n chatId,\n namespace,\n chatConfig,\n });\n setConversation({\n type: 'video',\n url: result.url,\n id: result.id,\n limit: limit(result.limit),\n });\n break;\n }\n case 'audio': {\n const result = await personaChatService.createVoiceConversation({\n chatId,\n namespace,\n chatConfig,\n });\n setConversation({\n type: 'audio',\n url: result.url,\n id: result.id,\n limit: limit(result.limit),\n });\n break;\n }\n default:\n throw new Error(`Unsupported conversation type: ${type}`);\n }\n }\n\n async function destroy() {\n invariant(conversation, 'Conversation is not ready');\n invariant(personaChatService, 'personaChatService is required.');\n\n setConversationStatus('destroying');\n\n await personaChatService\n .endInteractiveConversation({\n chatId,\n conversationId: conversation.id,\n namespace,\n })\n .catch(() => {});\n\n setConversationStatus('destroyed');\n setConversation(undefined);\n }\n}\n"],"mappings":";;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AAEA,IAAAI,aAAA,GAAAJ,OAAA;AAKA,IAAAK,YAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AAYO,SAASO,qBAAqBA,CACnCC,OAAqC,EACR;EAC7B,MAAM;IAAEC,IAAI;IAAEC,MAAM,EAAEC;EAAW,CAAC,GAAGH,OAAO;EAE5C,MAAM;IAAEI,MAAM;IAAEC,SAAS;IAAEC;EAAmB,CAAC,GAAG,IAAAC,2BAAc,EAAC,CAAC;EAElE,MAAMC,qBAAqB,GAAG,IAAAC,iBAAU,EAACC,mBAAK,CAACC,kBAAkB,CAAC;EAClE,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAC,cAAO,EAACJ,mBAAK,CAACE,YAAY,CAAC;EAEnE,IAAAG,gBAAS,EAAC,MAAM;IACd,KAAKC,MAAM,CAAC,CAAC,CACVC,IAAI,CAAC,MAAMT,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAC5CU,KAAK,CAAEC,KAAc,IAAK;MAAA,IAAAC,YAAA;MACzB,MAAMC,GAAG,GAAGF,KAA8C;MAC1D,IAAIE,GAAG,CAACC,MAAM,KAAK,GAAG,KAAAF,YAAA,GAAIC,GAAG,CAACE,OAAO,aAAXH,YAAA,CAAaI,QAAQ,CAAC,WAAW,CAAC,EAAE;QAC5DhB,qBAAqB,CAAC,iBAAiB,CAAC;MAC1C,CAAC,MAAM;QACLA,qBAAqB,CAAC,sBAAsB,CAAC;MAC/C;IACF,CAAC,CAAC;EACN,CAAC,EAAE,CAACP,IAAI,EAAEG,MAAM,CAAC,CAAC;EAElB,IAAAqB,oBAAU,EAAC,MAAM;IACf,IAAI,CAACb,YAAY,EAAE;MACjB;IACF;IACA,KAAKc,OAAO,CAAC,CAAC;EAChB,CAAC,CAAC;EAEF,IAAAX,gBAAS,EAAC,MAAM;IACd,IAAI,CAACH,YAAY,EAAE;MACjB;IACF;IACA,IAAIA,YAAY,CAACe,KAAK,KAAK,CAAC,EAAE;MAC5BnB,qBAAqB,CAAC,UAAU,CAAC;IACnC;EACF,CAAC,EAAE,CAACI,YAAY,CAAC,CAAC;EAElB,OAAO;IAAEgB,IAAI,EAAEhB,YAAY;IAAEc;EAAQ,CAAC;EAEtC,eAAeV,MAAMA,CAAA,EAAG;IACtB,IAAAa,kBAAS,EACPvB,kBAAkB,EAClB,uEACF,CAAC;IAED,QAAQL,IAAI;MACV,KAAK,OAAO;QAAE;UACZ,MAAM6B,MAAM,GAAG,MAAMxB,kBAAkB,CAACyB,6BAA6B,CAAC;YACpE3B,MAAM;YACNC,SAAS;YACTF;UACF,CAAC,CAAC;UACFU,eAAe,CAAC;YACdZ,IAAI,EAAE,OAAO;YACb+B,GAAG,EAAEF,MAAM,CAACE,GAAG;YACfC,EAAE,EAAEH,MAAM,CAACG,EAAE;YACbN,KAAK,EAAE,IAAAA,cAAK,EAACG,MAAM,CAACH,KAAK;UAC3B,CAAC,CAAC;UACF;QACF;MACA,KAAK,OAAO;QAAE;UACZ,MAAMG,MAAM,GAAG,MAAMxB,kBAAkB,CAAC4B,uBAAuB,CAAC;YAC9D9B,MAAM;YACNC,SAAS;YACTF;UACF,CAAC,CAAC;UACFU,eAAe,CAAC;YACdZ,IAAI,EAAE,OAAO;YACb+B,GAAG,EAAEF,MAAM,CAACE,GAAG;YACfC,EAAE,EAAEH,MAAM,CAACG,EAAE;YACbN,KAAK,EAAE,IAAAA,cAAK,EAACG,MAAM,CAACH,KAAK;UAC3B,CAAC,CAAC;UACF;QACF;MACA;QACE,MAAM,IAAIQ,KAAK,CAAC,kCAAkClC,IAAI,EAAE,CAAC;IAC7D;EACF;EAEA,eAAeyB,OAAOA,CAAA,EAAG;IACvB,IAAAG,kBAAS,EAACjB,YAAY,EAAE,2BAA2B,CAAC;IACpD,IAAAiB,kBAAS,EAACvB,kBAAkB,EAAE,iCAAiC,CAAC;IAEhEE,qBAAqB,CAAC,YAAY,CAAC;IAEnC,MAAMF,kBAAkB,CACrB8B,0BAA0B,CAAC;MAC1BhC,MAAM;MACNiC,cAAc,EAAEzB,YAAY,CAACqB,EAAE;MAC/B5B;IACF,CAAC,CAAC,CACDa,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAElBV,qBAAqB,CAAC,WAAW,CAAC;IAClCK,eAAe,CAACyB,SAAS,CAAC;EAC5B;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
var _useDeviceSwitcher = require("./useDeviceSwitcher");
|
|
5
|
+
Object.keys(_useDeviceSwitcher).forEach(function (key) {
|
|
6
|
+
if (key === "default" || key === "__esModule") return;
|
|
7
|
+
if (key in exports && exports[key] === _useDeviceSwitcher[key]) return;
|
|
8
|
+
exports[key] = _useDeviceSwitcher[key];
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_useDeviceSwitcher","require","Object","keys","forEach","key","exports"],"sources":["../../../../src/hooks/useDeviceSwitcher/index.ts"],"sourcesContent":["export * from './useDeviceSwitcher';\n"],"mappings":";;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,kBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,kBAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,kBAAA,CAAAK,GAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.useDeviceSwitcher = useDeviceSwitcher;
|
|
5
|
+
var _react = require("react");
|
|
6
|
+
function useDeviceSwitcher(options) {
|
|
7
|
+
const defaultDeviceId = 'default';
|
|
8
|
+
const {
|
|
9
|
+
device,
|
|
10
|
+
devices,
|
|
11
|
+
onChange
|
|
12
|
+
} = options;
|
|
13
|
+
(0, _react.useEffect)(() => {
|
|
14
|
+
switchToDefaultIfActiveUnavailable(device, devices);
|
|
15
|
+
}, [devices.length]);
|
|
16
|
+
function switchToDefaultIfActiveUnavailable(activeDevice, availableDevices) {
|
|
17
|
+
if (availableDevices.length === 0) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const isAvailable = availableDevices.some(({
|
|
21
|
+
deviceId
|
|
22
|
+
}) => deviceId === activeDevice.deviceId);
|
|
23
|
+
if (!isAvailable) {
|
|
24
|
+
onChange({
|
|
25
|
+
...activeDevice,
|
|
26
|
+
deviceId: defaultDeviceId
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=useDeviceSwitcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","useDeviceSwitcher","options","defaultDeviceId","device","devices","onChange","useEffect","switchToDefaultIfActiveUnavailable","length","activeDevice","availableDevices","isAvailable","some","deviceId"],"sources":["../../../../src/hooks/useDeviceSwitcher/useDeviceSwitcher.ts"],"sourcesContent":["import { useEffect } from 'react';\nimport { ConversationDevice } from '../../conversation';\n\ntype UseDeviceSwitcherOptions = {\n device: ConversationDevice;\n devices: MediaDeviceInfo[];\n onChange(device: ConversationDevice): void;\n};\n\nexport function useDeviceSwitcher(options: UseDeviceSwitcherOptions) {\n const defaultDeviceId = 'default';\n const { device, devices, onChange } = options;\n\n useEffect(() => {\n switchToDefaultIfActiveUnavailable(device, devices);\n }, [devices.length]);\n\n function switchToDefaultIfActiveUnavailable(\n activeDevice: ConversationDevice,\n availableDevices: MediaDeviceInfo[],\n ) {\n if (availableDevices.length === 0) {\n return;\n }\n const isAvailable = availableDevices.some(\n ({ deviceId }) => deviceId === activeDevice.deviceId,\n );\n if (!isAvailable) {\n onChange({ ...activeDevice, deviceId: defaultDeviceId });\n }\n }\n}\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AASO,SAASC,iBAAiBA,CAACC,OAAiC,EAAE;EACnE,MAAMC,eAAe,GAAG,SAAS;EACjC,MAAM;IAAEC,MAAM;IAAEC,OAAO;IAAEC;EAAS,CAAC,GAAGJ,OAAO;EAE7C,IAAAK,gBAAS,EAAC,MAAM;IACdC,kCAAkC,CAACJ,MAAM,EAAEC,OAAO,CAAC;EACrD,CAAC,EAAE,CAACA,OAAO,CAACI,MAAM,CAAC,CAAC;EAEpB,SAASD,kCAAkCA,CACzCE,YAAgC,EAChCC,gBAAmC,EACnC;IACA,IAAIA,gBAAgB,CAACF,MAAM,KAAK,CAAC,EAAE;MACjC;IACF;IACA,MAAMG,WAAW,GAAGD,gBAAgB,CAACE,IAAI,CACvC,CAAC;MAAEC;IAAS,CAAC,KAAKA,QAAQ,KAAKJ,YAAY,CAACI,QAC9C,CAAC;IACD,IAAI,CAACF,WAAW,EAAE;MAChBN,QAAQ,CAAC;QAAE,GAAGI,YAAY;QAAEI,QAAQ,EAAEX;MAAgB,CAAC,CAAC;IAC1D;EACF;AACF","ignoreList":[]}
|