@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,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.usePictureInPictureAuto = usePictureInPictureAuto;
|
|
5
|
+
var _react = require("react");
|
|
6
|
+
var _reactUse = require("react-use");
|
|
7
|
+
var _jotai = require("jotai");
|
|
8
|
+
var _state = require("./state");
|
|
9
|
+
/* eslint-disable no-undef */
|
|
10
|
+
|
|
11
|
+
function usePictureInPictureAuto(options) {
|
|
12
|
+
const {
|
|
13
|
+
element,
|
|
14
|
+
onEnter,
|
|
15
|
+
onExit,
|
|
16
|
+
onError
|
|
17
|
+
} = options;
|
|
18
|
+
const [pipVideo, setPipVideo] = (0, _jotai.useAtom)(_state.pipVideoAtom);
|
|
19
|
+
const setIsActive = (0, _jotai.useSetAtom)(_state.pipActiveAtom);
|
|
20
|
+
const isSupported = (0, _jotai.useAtomValue)(_state.pipSupportedAtom);
|
|
21
|
+
const canvasVideoRef = (0, _react.useRef)(null);
|
|
22
|
+
const callbacksRef = (0, _reactUse.useLatest)({
|
|
23
|
+
onEnter,
|
|
24
|
+
onExit,
|
|
25
|
+
onError
|
|
26
|
+
});
|
|
27
|
+
(0, _react.useEffect)(() => {
|
|
28
|
+
if (!element || !isSupported) {
|
|
29
|
+
setPipVideo(null);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
let video;
|
|
33
|
+
if (element instanceof HTMLCanvasElement) {
|
|
34
|
+
video = createVideoFromCanvas(element);
|
|
35
|
+
canvasVideoRef.current = video;
|
|
36
|
+
} else {
|
|
37
|
+
video = element;
|
|
38
|
+
}
|
|
39
|
+
video.setAttribute('autopictureinpicture', 'true');
|
|
40
|
+
setPipVideo(video);
|
|
41
|
+
return () => {
|
|
42
|
+
if (canvasVideoRef.current) {
|
|
43
|
+
destroyCanvasVideo(canvasVideoRef.current);
|
|
44
|
+
canvasVideoRef.current = null;
|
|
45
|
+
}
|
|
46
|
+
setPipVideo(null);
|
|
47
|
+
};
|
|
48
|
+
}, [element, isSupported, setPipVideo]);
|
|
49
|
+
(0, _react.useEffect)(() => {
|
|
50
|
+
if (!pipVideo) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
const handleEnter = () => {
|
|
54
|
+
setIsActive(true);
|
|
55
|
+
callbacksRef.current.onEnter == null || callbacksRef.current.onEnter();
|
|
56
|
+
};
|
|
57
|
+
const handleLeave = () => {
|
|
58
|
+
setIsActive(false);
|
|
59
|
+
callbacksRef.current.onExit == null || callbacksRef.current.onExit();
|
|
60
|
+
};
|
|
61
|
+
pipVideo.addEventListener('enterpictureinpicture', handleEnter);
|
|
62
|
+
pipVideo.addEventListener('leavepictureinpicture', handleLeave);
|
|
63
|
+
return () => {
|
|
64
|
+
pipVideo.removeEventListener('enterpictureinpicture', handleEnter);
|
|
65
|
+
pipVideo.removeEventListener('leavepictureinpicture', handleLeave);
|
|
66
|
+
};
|
|
67
|
+
}, [pipVideo, setIsActive]);
|
|
68
|
+
(0, _react.useEffect)(() => {
|
|
69
|
+
if (!pipVideo || !isSupported) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
try {
|
|
73
|
+
navigator.mediaSession.setActionHandler('enterpictureinpicture', async () => {
|
|
74
|
+
try {
|
|
75
|
+
if (pipVideo.paused && pipVideo.srcObject) {
|
|
76
|
+
await pipVideo.play();
|
|
77
|
+
}
|
|
78
|
+
await pipVideo.requestPictureInPicture();
|
|
79
|
+
} catch (error) {
|
|
80
|
+
callbacksRef.current.onError == null || callbacksRef.current.onError(error);
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
} catch {}
|
|
84
|
+
return () => {
|
|
85
|
+
try {
|
|
86
|
+
navigator.mediaSession.setActionHandler('enterpictureinpicture', null);
|
|
87
|
+
} catch {}
|
|
88
|
+
};
|
|
89
|
+
}, [pipVideo, isSupported]);
|
|
90
|
+
(0, _react.useEffect)(() => {
|
|
91
|
+
if (!element) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
return () => {
|
|
95
|
+
if (document.pictureInPictureElement) {
|
|
96
|
+
document.exitPictureInPicture().catch(() => {});
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
}, [element]);
|
|
100
|
+
}
|
|
101
|
+
function createVideoFromCanvas(canvas) {
|
|
102
|
+
const video = document.createElement('video');
|
|
103
|
+
video.muted = true;
|
|
104
|
+
video.playsInline = true;
|
|
105
|
+
video.autoplay = true;
|
|
106
|
+
video.srcObject = canvas.captureStream(30);
|
|
107
|
+
return video;
|
|
108
|
+
}
|
|
109
|
+
function destroyCanvasVideo(video) {
|
|
110
|
+
if (video.srcObject) {
|
|
111
|
+
const stream = video.srcObject;
|
|
112
|
+
stream.getTracks().forEach(track => track.stop());
|
|
113
|
+
video.srcObject = null;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=usePictureInPictureAuto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactUse","_jotai","_state","usePictureInPictureAuto","options","element","onEnter","onExit","onError","pipVideo","setPipVideo","useAtom","pipVideoAtom","setIsActive","useSetAtom","pipActiveAtom","isSupported","useAtomValue","pipSupportedAtom","canvasVideoRef","useRef","callbacksRef","useLatest","useEffect","video","HTMLCanvasElement","createVideoFromCanvas","current","setAttribute","destroyCanvasVideo","handleEnter","handleLeave","addEventListener","removeEventListener","navigator","mediaSession","setActionHandler","paused","srcObject","play","requestPictureInPicture","error","document","pictureInPictureElement","exitPictureInPicture","catch","canvas","createElement","muted","playsInline","autoplay","captureStream","stream","getTracks","forEach","track","stop"],"sources":["../../../../src/hooks/usePictureInPicture/usePictureInPictureAuto.ts"],"sourcesContent":["/* eslint-disable no-undef */\nimport { useEffect, useRef } from 'react';\nimport { useLatest } from 'react-use';\nimport { useAtom, useAtomValue, useSetAtom } from 'jotai';\n\nimport { pipVideoAtom, pipActiveAtom, pipSupportedAtom } from './state';\nimport type { UsePictureInPictureAutoOptions } from './types';\n\nexport function usePictureInPictureAuto(\n options: UsePictureInPictureAutoOptions,\n) {\n const { element, onEnter, onExit, onError } = options;\n\n const [pipVideo, setPipVideo] = useAtom(pipVideoAtom);\n const setIsActive = useSetAtom(pipActiveAtom);\n const isSupported = useAtomValue(pipSupportedAtom);\n\n const canvasVideoRef = useRef<HTMLVideoElement | null>(null);\n\n const callbacksRef = useLatest({ onEnter, onExit, onError });\n\n useEffect(() => {\n if (!element || !isSupported) {\n setPipVideo(null);\n return;\n }\n\n let video: HTMLVideoElement;\n\n if (element instanceof HTMLCanvasElement) {\n video = createVideoFromCanvas(element);\n canvasVideoRef.current = video;\n } else {\n video = element;\n }\n\n video.setAttribute('autopictureinpicture', 'true');\n setPipVideo(video);\n\n return () => {\n if (canvasVideoRef.current) {\n destroyCanvasVideo(canvasVideoRef.current);\n canvasVideoRef.current = null;\n }\n setPipVideo(null);\n };\n }, [element, isSupported, setPipVideo]);\n\n useEffect(() => {\n if (!pipVideo) {\n return;\n }\n\n const handleEnter = () => {\n setIsActive(true);\n callbacksRef.current.onEnter?.();\n };\n\n const handleLeave = () => {\n setIsActive(false);\n callbacksRef.current.onExit?.();\n };\n\n pipVideo.addEventListener('enterpictureinpicture', handleEnter);\n pipVideo.addEventListener('leavepictureinpicture', handleLeave);\n\n return () => {\n pipVideo.removeEventListener('enterpictureinpicture', handleEnter);\n pipVideo.removeEventListener('leavepictureinpicture', handleLeave);\n };\n }, [pipVideo, setIsActive]);\n\n useEffect(() => {\n if (!pipVideo || !isSupported) {\n return;\n }\n\n try {\n navigator.mediaSession.setActionHandler(\n 'enterpictureinpicture' as MediaSessionAction,\n async () => {\n try {\n if (pipVideo.paused && pipVideo.srcObject) {\n await pipVideo.play();\n }\n await pipVideo.requestPictureInPicture();\n } catch (error) {\n callbacksRef.current.onError?.(error as Error);\n }\n },\n );\n } catch {}\n\n return () => {\n try {\n navigator.mediaSession.setActionHandler(\n 'enterpictureinpicture' as MediaSessionAction,\n null,\n );\n } catch {}\n };\n }, [pipVideo, isSupported]);\n\n useEffect(() => {\n if (!element) {\n return;\n }\n\n return () => {\n if (document.pictureInPictureElement) {\n document.exitPictureInPicture().catch(() => {});\n }\n };\n }, [element]);\n}\n\nfunction createVideoFromCanvas(canvas: HTMLCanvasElement): HTMLVideoElement {\n const video = document.createElement('video');\n video.muted = true;\n video.playsInline = true;\n video.autoplay = true;\n video.srcObject = canvas.captureStream(30);\n return video;\n}\n\nfunction destroyCanvasVideo(video: HTMLVideoElement) {\n if (video.srcObject) {\n const stream = video.srcObject as MediaStream;\n stream.getTracks().forEach((track) => track.stop());\n video.srcObject = null;\n }\n}\n"],"mappings":";;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAEA,IAAAG,MAAA,GAAAH,OAAA;AALA;;AAQO,SAASI,uBAAuBA,CACrCC,OAAuC,EACvC;EACA,MAAM;IAAEC,OAAO;IAAEC,OAAO;IAAEC,MAAM;IAAEC;EAAQ,CAAC,GAAGJ,OAAO;EAErD,MAAM,CAACK,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAC,cAAO,EAACC,mBAAY,CAAC;EACrD,MAAMC,WAAW,GAAG,IAAAC,iBAAU,EAACC,oBAAa,CAAC;EAC7C,MAAMC,WAAW,GAAG,IAAAC,mBAAY,EAACC,uBAAgB,CAAC;EAElD,MAAMC,cAAc,GAAG,IAAAC,aAAM,EAA0B,IAAI,CAAC;EAE5D,MAAMC,YAAY,GAAG,IAAAC,mBAAS,EAAC;IAAEhB,OAAO;IAAEC,MAAM;IAAEC;EAAQ,CAAC,CAAC;EAE5D,IAAAe,gBAAS,EAAC,MAAM;IACd,IAAI,CAAClB,OAAO,IAAI,CAACW,WAAW,EAAE;MAC5BN,WAAW,CAAC,IAAI,CAAC;MACjB;IACF;IAEA,IAAIc,KAAuB;IAE3B,IAAInB,OAAO,YAAYoB,iBAAiB,EAAE;MACxCD,KAAK,GAAGE,qBAAqB,CAACrB,OAAO,CAAC;MACtCc,cAAc,CAACQ,OAAO,GAAGH,KAAK;IAChC,CAAC,MAAM;MACLA,KAAK,GAAGnB,OAAO;IACjB;IAEAmB,KAAK,CAACI,YAAY,CAAC,sBAAsB,EAAE,MAAM,CAAC;IAClDlB,WAAW,CAACc,KAAK,CAAC;IAElB,OAAO,MAAM;MACX,IAAIL,cAAc,CAACQ,OAAO,EAAE;QAC1BE,kBAAkB,CAACV,cAAc,CAACQ,OAAO,CAAC;QAC1CR,cAAc,CAACQ,OAAO,GAAG,IAAI;MAC/B;MACAjB,WAAW,CAAC,IAAI,CAAC;IACnB,CAAC;EACH,CAAC,EAAE,CAACL,OAAO,EAAEW,WAAW,EAAEN,WAAW,CAAC,CAAC;EAEvC,IAAAa,gBAAS,EAAC,MAAM;IACd,IAAI,CAACd,QAAQ,EAAE;MACb;IACF;IAEA,MAAMqB,WAAW,GAAGA,CAAA,KAAM;MACxBjB,WAAW,CAAC,IAAI,CAAC;MACjBQ,YAAY,CAACM,OAAO,CAACrB,OAAO,YAA5Be,YAAY,CAACM,OAAO,CAACrB,OAAO,CAAG,CAAC;IAClC,CAAC;IAED,MAAMyB,WAAW,GAAGA,CAAA,KAAM;MACxBlB,WAAW,CAAC,KAAK,CAAC;MAClBQ,YAAY,CAACM,OAAO,CAACpB,MAAM,YAA3Bc,YAAY,CAACM,OAAO,CAACpB,MAAM,CAAG,CAAC;IACjC,CAAC;IAEDE,QAAQ,CAACuB,gBAAgB,CAAC,uBAAuB,EAAEF,WAAW,CAAC;IAC/DrB,QAAQ,CAACuB,gBAAgB,CAAC,uBAAuB,EAAED,WAAW,CAAC;IAE/D,OAAO,MAAM;MACXtB,QAAQ,CAACwB,mBAAmB,CAAC,uBAAuB,EAAEH,WAAW,CAAC;MAClErB,QAAQ,CAACwB,mBAAmB,CAAC,uBAAuB,EAAEF,WAAW,CAAC;IACpE,CAAC;EACH,CAAC,EAAE,CAACtB,QAAQ,EAAEI,WAAW,CAAC,CAAC;EAE3B,IAAAU,gBAAS,EAAC,MAAM;IACd,IAAI,CAACd,QAAQ,IAAI,CAACO,WAAW,EAAE;MAC7B;IACF;IAEA,IAAI;MACFkB,SAAS,CAACC,YAAY,CAACC,gBAAgB,CACrC,uBAAuB,EACvB,YAAY;QACV,IAAI;UACF,IAAI3B,QAAQ,CAAC4B,MAAM,IAAI5B,QAAQ,CAAC6B,SAAS,EAAE;YACzC,MAAM7B,QAAQ,CAAC8B,IAAI,CAAC,CAAC;UACvB;UACA,MAAM9B,QAAQ,CAAC+B,uBAAuB,CAAC,CAAC;QAC1C,CAAC,CAAC,OAAOC,KAAK,EAAE;UACdpB,YAAY,CAACM,OAAO,CAACnB,OAAO,YAA5Ba,YAAY,CAACM,OAAO,CAACnB,OAAO,CAAGiC,KAAc,CAAC;QAChD;MACF,CACF,CAAC;IACH,CAAC,CAAC,MAAM,CAAC;IAET,OAAO,MAAM;MACX,IAAI;QACFP,SAAS,CAACC,YAAY,CAACC,gBAAgB,CACrC,uBAAuB,EACvB,IACF,CAAC;MACH,CAAC,CAAC,MAAM,CAAC;IACX,CAAC;EACH,CAAC,EAAE,CAAC3B,QAAQ,EAAEO,WAAW,CAAC,CAAC;EAE3B,IAAAO,gBAAS,EAAC,MAAM;IACd,IAAI,CAAClB,OAAO,EAAE;MACZ;IACF;IAEA,OAAO,MAAM;MACX,IAAIqC,QAAQ,CAACC,uBAAuB,EAAE;QACpCD,QAAQ,CAACE,oBAAoB,CAAC,CAAC,CAACC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;MACjD;IACF,CAAC;EACH,CAAC,EAAE,CAACxC,OAAO,CAAC,CAAC;AACf;AAEA,SAASqB,qBAAqBA,CAACoB,MAAyB,EAAoB;EAC1E,MAAMtB,KAAK,GAAGkB,QAAQ,CAACK,aAAa,CAAC,OAAO,CAAC;EAC7CvB,KAAK,CAACwB,KAAK,GAAG,IAAI;EAClBxB,KAAK,CAACyB,WAAW,GAAG,IAAI;EACxBzB,KAAK,CAAC0B,QAAQ,GAAG,IAAI;EACrB1B,KAAK,CAACc,SAAS,GAAGQ,MAAM,CAACK,aAAa,CAAC,EAAE,CAAC;EAC1C,OAAO3B,KAAK;AACd;AAEA,SAASK,kBAAkBA,CAACL,KAAuB,EAAE;EACnD,IAAIA,KAAK,CAACc,SAAS,EAAE;IACnB,MAAMc,MAAM,GAAG5B,KAAK,CAACc,SAAwB;IAC7Cc,MAAM,CAACC,SAAS,CAAC,CAAC,CAACC,OAAO,CAAEC,KAAK,IAAKA,KAAK,CAACC,IAAI,CAAC,CAAC,CAAC;IACnDhC,KAAK,CAACc,SAAS,GAAG,IAAI;EACxB;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
var _useScreenShare = require("./useScreenShare");
|
|
5
|
+
Object.keys(_useScreenShare).forEach(function (key) {
|
|
6
|
+
if (key === "default" || key === "__esModule") return;
|
|
7
|
+
if (key in exports && exports[key] === _useScreenShare[key]) return;
|
|
8
|
+
exports[key] = _useScreenShare[key];
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_useScreenShare","require","Object","keys","forEach","key","exports"],"sources":["../../../../src/hooks/useScreenShare/index.ts"],"sourcesContent":["export * from './useScreenShare';\n"],"mappings":";;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,eAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,eAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,eAAA,CAAAK,GAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.useScreenShare = useScreenShare;
|
|
6
|
+
var _componentsReact = require("@livekit/components-react");
|
|
7
|
+
var _invariant = _interopRequireDefault(require("invariant"));
|
|
8
|
+
var _jotai = require("jotai");
|
|
9
|
+
var _conversation = require("../../conversation");
|
|
10
|
+
function useScreenShare(options = {}) {
|
|
11
|
+
const {
|
|
12
|
+
onStart,
|
|
13
|
+
onStop,
|
|
14
|
+
onError,
|
|
15
|
+
options: screenShareOptions
|
|
16
|
+
} = options;
|
|
17
|
+
const localParticipant = (0, _componentsReact.useLocalParticipant)();
|
|
18
|
+
const room = (0, _componentsReact.useRoomContext)();
|
|
19
|
+
const conversation = (0, _jotai.useAtomValue)(_conversation.state.conversation);
|
|
20
|
+
(0, _invariant.default)(conversation, 'Conversation is not initialized');
|
|
21
|
+
return {
|
|
22
|
+
enabled: localParticipant.isScreenShareEnabled,
|
|
23
|
+
start,
|
|
24
|
+
stop
|
|
25
|
+
};
|
|
26
|
+
async function start() {
|
|
27
|
+
try {
|
|
28
|
+
await (room == null ? void 0 : room.localParticipant.setScreenShareEnabled(true, screenShareOptions));
|
|
29
|
+
onStart == null || onStart();
|
|
30
|
+
} catch (error) {
|
|
31
|
+
console.error('Failed to start screen share', error);
|
|
32
|
+
onError == null || onError(error);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
async function stop() {
|
|
36
|
+
try {
|
|
37
|
+
await (room == null ? void 0 : room.localParticipant.setScreenShareEnabled(false, screenShareOptions));
|
|
38
|
+
onStop == null || onStop();
|
|
39
|
+
} catch (error) {
|
|
40
|
+
console.error('Failed to stop screen share', error);
|
|
41
|
+
onError == null || onError(error);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=useScreenShare.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_componentsReact","require","_invariant","_interopRequireDefault","_jotai","_conversation","useScreenShare","options","onStart","onStop","onError","screenShareOptions","localParticipant","useLocalParticipant","room","useRoomContext","conversation","useAtomValue","state","invariant","enabled","isScreenShareEnabled","start","stop","setScreenShareEnabled","error","console"],"sources":["../../../../src/hooks/useScreenShare/useScreenShare.ts"],"sourcesContent":["import { useLocalParticipant, useRoomContext } from '@livekit/components-react';\nimport invariant from 'invariant';\nimport { useAtomValue } from 'jotai';\nimport { state } from '../../conversation';\nimport type { ScreenShareCaptureOptions } from 'livekit-client';\n\nexport type UseScreenShareOptions = {\n onStart?: () => void;\n onStop?: () => void;\n onError?: (error: Error) => void;\n options?: ScreenShareCaptureOptions;\n};\n\nexport function useScreenShare(options: UseScreenShareOptions = {}) {\n const { onStart, onStop, onError, options: screenShareOptions } = options;\n const localParticipant = useLocalParticipant();\n const room = useRoomContext();\n const conversation = useAtomValue(state.conversation);\n\n invariant(conversation, 'Conversation is not initialized');\n\n return {\n enabled: localParticipant.isScreenShareEnabled,\n start,\n stop,\n };\n\n async function start() {\n try {\n await room?.localParticipant.setScreenShareEnabled(\n true,\n screenShareOptions,\n );\n onStart?.();\n } catch (error) {\n console.error('Failed to start screen share', error);\n onError?.(error as Error);\n }\n }\n\n async function stop() {\n try {\n await room?.localParticipant.setScreenShareEnabled(\n false,\n screenShareOptions,\n );\n onStop?.();\n } catch (error) {\n console.error('Failed to stop screen share', error);\n onError?.(error as Error);\n }\n }\n}\n"],"mappings":";;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAUO,SAASK,cAAcA,CAACC,OAA8B,GAAG,CAAC,CAAC,EAAE;EAClE,MAAM;IAAEC,OAAO;IAAEC,MAAM;IAAEC,OAAO;IAAEH,OAAO,EAAEI;EAAmB,CAAC,GAAGJ,OAAO;EACzE,MAAMK,gBAAgB,GAAG,IAAAC,oCAAmB,EAAC,CAAC;EAC9C,MAAMC,IAAI,GAAG,IAAAC,+BAAc,EAAC,CAAC;EAC7B,MAAMC,YAAY,GAAG,IAAAC,mBAAY,EAACC,mBAAK,CAACF,YAAY,CAAC;EAErD,IAAAG,kBAAS,EAACH,YAAY,EAAE,iCAAiC,CAAC;EAE1D,OAAO;IACLI,OAAO,EAAER,gBAAgB,CAACS,oBAAoB;IAC9CC,KAAK;IACLC;EACF,CAAC;EAED,eAAeD,KAAKA,CAAA,EAAG;IACrB,IAAI;MACF,OAAMR,IAAI,oBAAJA,IAAI,CAAEF,gBAAgB,CAACY,qBAAqB,CAChD,IAAI,EACJb,kBACF,CAAC;MACDH,OAAO,YAAPA,OAAO,CAAG,CAAC;IACb,CAAC,CAAC,OAAOiB,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,8BAA8B,EAAEA,KAAK,CAAC;MACpDf,OAAO,YAAPA,OAAO,CAAGe,KAAc,CAAC;IAC3B;EACF;EAEA,eAAeF,IAAIA,CAAA,EAAG;IACpB,IAAI;MACF,OAAMT,IAAI,oBAAJA,IAAI,CAAEF,gBAAgB,CAACY,qBAAqB,CAChD,KAAK,EACLb,kBACF,CAAC;MACDF,MAAM,YAANA,MAAM,CAAG,CAAC;IACZ,CAAC,CAAC,OAAOgB,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,6BAA6B,EAAEA,KAAK,CAAC;MACnDf,OAAO,YAAPA,OAAO,CAAGe,KAAc,CAAC;IAC3B;EACF;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
var _useSpeaker = require("./useSpeaker");
|
|
5
|
+
Object.keys(_useSpeaker).forEach(function (key) {
|
|
6
|
+
if (key === "default" || key === "__esModule") return;
|
|
7
|
+
if (key in exports && exports[key] === _useSpeaker[key]) return;
|
|
8
|
+
exports[key] = _useSpeaker[key];
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_useSpeaker","require","Object","keys","forEach","key","exports"],"sources":["../../../../src/hooks/useSpeaker/index.ts"],"sourcesContent":["export * from './useSpeaker';\n"],"mappings":";;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,WAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,WAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,WAAA,CAAAK,GAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.useSpeaker = useSpeaker;
|
|
5
|
+
var _jotai = require("jotai");
|
|
6
|
+
var state = _interopRequireWildcard(require("../../conversation/state"));
|
|
7
|
+
var _useDevices = require("../useDevices");
|
|
8
|
+
var _useDeviceSwitcher = require("../useDeviceSwitcher");
|
|
9
|
+
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); }
|
|
10
|
+
function useSpeaker() {
|
|
11
|
+
const devices = (0, _useDevices.useDevices)({
|
|
12
|
+
type: 'audiooutput'
|
|
13
|
+
});
|
|
14
|
+
const [device, setDevice] = (0, _jotai.useAtom)(state.speaker);
|
|
15
|
+
(0, _useDeviceSwitcher.useDeviceSwitcher)({
|
|
16
|
+
device,
|
|
17
|
+
devices,
|
|
18
|
+
onChange: setDevice
|
|
19
|
+
});
|
|
20
|
+
return {
|
|
21
|
+
devices,
|
|
22
|
+
deviceId: device.deviceId,
|
|
23
|
+
setDeviceId(deviceId) {
|
|
24
|
+
setDevice({
|
|
25
|
+
...device,
|
|
26
|
+
deviceId
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=useSpeaker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_jotai","require","state","_interopRequireWildcard","_useDevices","_useDeviceSwitcher","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useSpeaker","devices","useDevices","type","device","setDevice","useAtom","speaker","useDeviceSwitcher","onChange","deviceId","setDeviceId"],"sources":["../../../../src/hooks/useSpeaker/useSpeaker.ts"],"sourcesContent":["import { useAtom } from 'jotai';\n\nimport * as state from '../../conversation/state';\n\nimport { useDevices } from '../useDevices';\nimport { useDeviceSwitcher } from '../useDeviceSwitcher';\n\nexport function useSpeaker() {\n const devices = useDevices({ type: 'audiooutput' });\n const [device, setDevice] = useAtom(state.speaker);\n\n useDeviceSwitcher({\n device,\n devices,\n onChange: setDevice,\n });\n\n return {\n devices,\n deviceId: device.deviceId,\n setDeviceId(deviceId: string) {\n setDevice({ ...device, deviceId });\n },\n };\n}\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAC,uBAAA,CAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AAAyD,SAAAE,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAElD,SAASkB,UAAUA,CAAA,EAAG;EAC3B,MAAMC,OAAO,GAAG,IAAAC,sBAAU,EAAC;IAAEC,IAAI,EAAE;EAAc,CAAC,CAAC;EACnD,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAC,cAAO,EAAC7B,KAAK,CAAC8B,OAAO,CAAC;EAElD,IAAAC,oCAAiB,EAAC;IAChBJ,MAAM;IACNH,OAAO;IACPQ,QAAQ,EAAEJ;EACZ,CAAC,CAAC;EAEF,OAAO;IACLJ,OAAO;IACPS,QAAQ,EAAEN,MAAM,CAACM,QAAQ;IACzBC,WAAWA,CAACD,QAAgB,EAAE;MAC5BL,SAAS,CAAC;QAAE,GAAGD,MAAM;QAAEM;MAAS,CAAC,CAAC;IACpC;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
var _useTextChat = require("./useTextChat");
|
|
5
|
+
Object.keys(_useTextChat).forEach(function (key) {
|
|
6
|
+
if (key === "default" || key === "__esModule") return;
|
|
7
|
+
if (key in exports && exports[key] === _useTextChat[key]) return;
|
|
8
|
+
exports[key] = _useTextChat[key];
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_useTextChat","require","Object","keys","forEach","key","exports"],"sources":["../../../../src/hooks/useTextChat/index.ts"],"sourcesContent":["export * from './useTextChat';\n"],"mappings":";;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,YAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,YAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,YAAA,CAAAK,GAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.usePendingMessages = usePendingMessages;
|
|
5
|
+
var _reactQuery = require("@tanstack/react-query");
|
|
6
|
+
function usePendingMessages() {
|
|
7
|
+
return (0, _reactQuery.useMutationState)({
|
|
8
|
+
select: mutation => ({
|
|
9
|
+
execute: mutation.execute,
|
|
10
|
+
status: mutation.state.status,
|
|
11
|
+
submittedAt: mutation.state.submittedAt,
|
|
12
|
+
payload: mutation.state.variables
|
|
13
|
+
}),
|
|
14
|
+
filters: {
|
|
15
|
+
exact: true,
|
|
16
|
+
mutationKey: ['pending-chat-message'],
|
|
17
|
+
predicate(mutation) {
|
|
18
|
+
return mutation.state.status === 'error' || mutation.state.status === 'pending';
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=usePendingMessages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactQuery","require","usePendingMessages","useMutationState","select","mutation","execute","status","state","submittedAt","payload","variables","filters","exact","mutationKey","predicate"],"sources":["../../../../src/hooks/useTextChat/usePendingMessages.ts"],"sourcesContent":["import { MutationStatus, useMutationState } from '@tanstack/react-query';\nimport type { SendMessageParams } from '../../types/service';\n\ntype PendingChatMessage = {\n submittedAt: number;\n payload: SendMessageParams;\n status: MutationStatus;\n execute: (payload: SendMessageParams) => Promise<unknown>;\n};\n\nexport function usePendingMessages() {\n return useMutationState({\n select: (mutation) =>\n ({\n execute: mutation.execute,\n status: mutation.state.status,\n submittedAt: mutation.state.submittedAt,\n payload: mutation.state.variables,\n } as PendingChatMessage),\n filters: {\n exact: true,\n mutationKey: ['pending-chat-message'],\n predicate(mutation) {\n return (\n mutation.state.status === 'error' ||\n mutation.state.status === 'pending'\n );\n },\n },\n });\n}\n"],"mappings":";;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAUO,SAASC,kBAAkBA,CAAA,EAAG;EACnC,OAAO,IAAAC,4BAAgB,EAAC;IACtBC,MAAM,EAAGC,QAAQ,KACd;MACCC,OAAO,EAAED,QAAQ,CAACC,OAAO;MACzBC,MAAM,EAAEF,QAAQ,CAACG,KAAK,CAACD,MAAM;MAC7BE,WAAW,EAAEJ,QAAQ,CAACG,KAAK,CAACC,WAAW;MACvCC,OAAO,EAAEL,QAAQ,CAACG,KAAK,CAACG;IAC1B,CAAC,CAAuB;IAC1BC,OAAO,EAAE;MACPC,KAAK,EAAE,IAAI;MACXC,WAAW,EAAE,CAAC,sBAAsB,CAAC;MACrCC,SAASA,CAACV,QAAQ,EAAE;QAClB,OACEA,QAAQ,CAACG,KAAK,CAACD,MAAM,KAAK,OAAO,IACjCF,QAAQ,CAACG,KAAK,CAACD,MAAM,KAAK,SAAS;MAEvC;IACF;EACF,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.useTextChat = useTextChat;
|
|
5
|
+
var _reactQuery = require("@tanstack/react-query");
|
|
6
|
+
var _sdkConsumer = require("../../sdk-consumer");
|
|
7
|
+
var _usePendingMessages = require("./usePendingMessages");
|
|
8
|
+
var _useToolAwareSend = require("./useToolAwareSend");
|
|
9
|
+
function useTextChat(options = {}) {
|
|
10
|
+
const {
|
|
11
|
+
limit = 100
|
|
12
|
+
} = options;
|
|
13
|
+
const {
|
|
14
|
+
chatId,
|
|
15
|
+
namespace,
|
|
16
|
+
personaChatService
|
|
17
|
+
} = (0, _sdkConsumer.useSdkConsumer)();
|
|
18
|
+
const send = (0, _useToolAwareSend.useToolAwareSend)(chatId, namespace);
|
|
19
|
+
const pending = (0, _usePendingMessages.usePendingMessages)();
|
|
20
|
+
const {
|
|
21
|
+
data: messages = [],
|
|
22
|
+
status,
|
|
23
|
+
fetchNextPage,
|
|
24
|
+
refetch
|
|
25
|
+
} = (0, _reactQuery.useInfiniteQuery)({
|
|
26
|
+
queryKey: ['chat-messages', chatId, namespace],
|
|
27
|
+
queryFn: async ({
|
|
28
|
+
pageParam
|
|
29
|
+
}) => {
|
|
30
|
+
if (!personaChatService) {
|
|
31
|
+
return {
|
|
32
|
+
messages: [],
|
|
33
|
+
nextCursor: undefined
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
return personaChatService.queryChatMessages({
|
|
37
|
+
chatId,
|
|
38
|
+
namespace,
|
|
39
|
+
limit,
|
|
40
|
+
cursor: pageParam
|
|
41
|
+
});
|
|
42
|
+
},
|
|
43
|
+
getNextPageParam: lastPage => lastPage.nextCursor,
|
|
44
|
+
initialPageParam: undefined,
|
|
45
|
+
select: data => data.pages.flatMap(page => page.messages)
|
|
46
|
+
});
|
|
47
|
+
return {
|
|
48
|
+
status,
|
|
49
|
+
pending,
|
|
50
|
+
messages,
|
|
51
|
+
fetchNext,
|
|
52
|
+
refetch,
|
|
53
|
+
send: sendMessage
|
|
54
|
+
};
|
|
55
|
+
function sendMessage(message) {
|
|
56
|
+
return send(message);
|
|
57
|
+
}
|
|
58
|
+
function fetchNext() {
|
|
59
|
+
void fetchNextPage();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=useTextChat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactQuery","require","_sdkConsumer","_usePendingMessages","_useToolAwareSend","useTextChat","options","limit","chatId","namespace","personaChatService","useSdkConsumer","send","useToolAwareSend","pending","usePendingMessages","data","messages","status","fetchNextPage","refetch","useInfiniteQuery","queryKey","queryFn","pageParam","nextCursor","undefined","queryChatMessages","cursor","getNextPageParam","lastPage","initialPageParam","select","pages","flatMap","page","fetchNext","sendMessage","message"],"sources":["../../../../src/hooks/useTextChat/useTextChat.ts"],"sourcesContent":["import { useInfiniteQuery } from '@tanstack/react-query';\nimport type { ChatMessage } from '../../types';\nimport { useSdkConsumer } from '../../sdk-consumer';\nimport { usePendingMessages } from './usePendingMessages';\nimport { useToolAwareSend } from './useToolAwareSend';\n\ninterface UseTextChatOptions {\n limit?: number;\n}\n\nexport function useTextChat(options: UseTextChatOptions = {}) {\n const { limit = 100 } = options;\n\n const { chatId, namespace, personaChatService } = useSdkConsumer();\n\n const send = useToolAwareSend(chatId, namespace);\n const pending = usePendingMessages();\n\n const {\n data: messages = [],\n status,\n fetchNextPage,\n refetch,\n } = useInfiniteQuery({\n queryKey: ['chat-messages', chatId, namespace],\n queryFn: async ({ pageParam }: { pageParam?: string }) => {\n if (!personaChatService) {\n return { messages: [], nextCursor: undefined };\n }\n return personaChatService.queryChatMessages({\n chatId,\n namespace,\n limit,\n cursor: pageParam,\n });\n },\n getNextPageParam: (lastPage) => lastPage.nextCursor,\n initialPageParam: undefined as string | undefined,\n select: (data) =>\n data.pages.flatMap((page) => page.messages as ChatMessage[]),\n });\n\n return {\n status,\n pending,\n messages,\n fetchNext,\n refetch,\n send: sendMessage,\n };\n\n function sendMessage(message: { message?: string }) {\n return send(message);\n }\n\n function fetchNext() {\n void fetchNextPage();\n }\n}\n"],"mappings":";;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AAMO,SAASI,WAAWA,CAACC,OAA2B,GAAG,CAAC,CAAC,EAAE;EAC5D,MAAM;IAAEC,KAAK,GAAG;EAAI,CAAC,GAAGD,OAAO;EAE/B,MAAM;IAAEE,MAAM;IAAEC,SAAS;IAAEC;EAAmB,CAAC,GAAG,IAAAC,2BAAc,EAAC,CAAC;EAElE,MAAMC,IAAI,GAAG,IAAAC,kCAAgB,EAACL,MAAM,EAAEC,SAAS,CAAC;EAChD,MAAMK,OAAO,GAAG,IAAAC,sCAAkB,EAAC,CAAC;EAEpC,MAAM;IACJC,IAAI,EAAEC,QAAQ,GAAG,EAAE;IACnBC,MAAM;IACNC,aAAa;IACbC;EACF,CAAC,GAAG,IAAAC,4BAAgB,EAAC;IACnBC,QAAQ,EAAE,CAAC,eAAe,EAAEd,MAAM,EAAEC,SAAS,CAAC;IAC9Cc,OAAO,EAAE,MAAAA,CAAO;MAAEC;IAAkC,CAAC,KAAK;MACxD,IAAI,CAACd,kBAAkB,EAAE;QACvB,OAAO;UAAEO,QAAQ,EAAE,EAAE;UAAEQ,UAAU,EAAEC;QAAU,CAAC;MAChD;MACA,OAAOhB,kBAAkB,CAACiB,iBAAiB,CAAC;QAC1CnB,MAAM;QACNC,SAAS;QACTF,KAAK;QACLqB,MAAM,EAAEJ;MACV,CAAC,CAAC;IACJ,CAAC;IACDK,gBAAgB,EAAGC,QAAQ,IAAKA,QAAQ,CAACL,UAAU;IACnDM,gBAAgB,EAAEL,SAA+B;IACjDM,MAAM,EAAGhB,IAAI,IACXA,IAAI,CAACiB,KAAK,CAACC,OAAO,CAAEC,IAAI,IAAKA,IAAI,CAAClB,QAAyB;EAC/D,CAAC,CAAC;EAEF,OAAO;IACLC,MAAM;IACNJ,OAAO;IACPG,QAAQ;IACRmB,SAAS;IACThB,OAAO;IACPR,IAAI,EAAEyB;EACR,CAAC;EAED,SAASA,WAAWA,CAACC,OAA6B,EAAE;IAClD,OAAO1B,IAAI,CAAC0B,OAAO,CAAC;EACtB;EAEA,SAASF,SAASA,CAAA,EAAG;IACnB,KAAKjB,aAAa,CAAC,CAAC;EACtB;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.useToolAwareSend = useToolAwareSend;
|
|
5
|
+
var _sdkConsumer = require("../../sdk-consumer");
|
|
6
|
+
var _errors = require("../useTools/model/errors");
|
|
7
|
+
var _useToolCallingRuntime = require("../useTools/runtime/useToolCallingRuntime");
|
|
8
|
+
function useToolAwareSend(chatId, namespace) {
|
|
9
|
+
const {
|
|
10
|
+
personaChatService
|
|
11
|
+
} = (0, _sdkConsumer.useSdkConsumer)();
|
|
12
|
+
const toolRuntime = (0, _useToolCallingRuntime.useToolCallingRuntime)();
|
|
13
|
+
return async function send(message) {
|
|
14
|
+
if (toolRuntime.isRunning) {
|
|
15
|
+
throw new _errors.ToolExecutionInProgressError();
|
|
16
|
+
}
|
|
17
|
+
if (!personaChatService) {
|
|
18
|
+
throw new Error('personaChatService is required to send messages.');
|
|
19
|
+
}
|
|
20
|
+
const initialResponse = await personaChatService.sendChatMessage({
|
|
21
|
+
chatId,
|
|
22
|
+
namespace,
|
|
23
|
+
message: message.message ?? ''
|
|
24
|
+
});
|
|
25
|
+
return toolRuntime.resolveResponseToolCalls(initialResponse, functionCallResults => personaChatService.sendChatMessage({
|
|
26
|
+
chatId,
|
|
27
|
+
namespace,
|
|
28
|
+
message: '',
|
|
29
|
+
functionCallResults
|
|
30
|
+
}));
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=useToolAwareSend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_sdkConsumer","require","_errors","_useToolCallingRuntime","useToolAwareSend","chatId","namespace","personaChatService","useSdkConsumer","toolRuntime","useToolCallingRuntime","send","message","isRunning","ToolExecutionInProgressError","Error","initialResponse","sendChatMessage","resolveResponseToolCalls","functionCallResults"],"sources":["../../../../src/hooks/useTextChat/useToolAwareSend.ts"],"sourcesContent":["import type { FunctionCall } from '../../types/service';\nimport { useSdkConsumer } from '../../sdk-consumer';\nimport { ToolExecutionInProgressError } from '../useTools/model/errors';\nimport { useToolCallingRuntime } from '../useTools/runtime/useToolCallingRuntime';\n\nexport interface SendChatMessageResponse {\n functionCalls?: FunctionCall[];\n}\n\nexport function useToolAwareSend(chatId: string, namespace: string) {\n const { personaChatService } = useSdkConsumer();\n const toolRuntime = useToolCallingRuntime<SendChatMessageResponse>();\n\n return async function send(message: { message?: string }) {\n if (toolRuntime.isRunning) {\n throw new ToolExecutionInProgressError();\n }\n\n if (!personaChatService) {\n throw new Error('personaChatService is required to send messages.');\n }\n\n const initialResponse = await personaChatService.sendChatMessage({\n chatId,\n namespace,\n message: message.message ?? '',\n });\n\n return toolRuntime.resolveResponseToolCalls(\n initialResponse,\n (functionCallResults) =>\n personaChatService.sendChatMessage({\n chatId,\n namespace,\n message: '',\n functionCallResults,\n }),\n );\n };\n}\n"],"mappings":";;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AAMO,SAASG,gBAAgBA,CAACC,MAAc,EAAEC,SAAiB,EAAE;EAClE,MAAM;IAAEC;EAAmB,CAAC,GAAG,IAAAC,2BAAc,EAAC,CAAC;EAC/C,MAAMC,WAAW,GAAG,IAAAC,4CAAqB,EAA0B,CAAC;EAEpE,OAAO,eAAeC,IAAIA,CAACC,OAA6B,EAAE;IACxD,IAAIH,WAAW,CAACI,SAAS,EAAE;MACzB,MAAM,IAAIC,oCAA4B,CAAC,CAAC;IAC1C;IAEA,IAAI,CAACP,kBAAkB,EAAE;MACvB,MAAM,IAAIQ,KAAK,CAAC,kDAAkD,CAAC;IACrE;IAEA,MAAMC,eAAe,GAAG,MAAMT,kBAAkB,CAACU,eAAe,CAAC;MAC/DZ,MAAM;MACNC,SAAS;MACTM,OAAO,EAAEA,OAAO,CAACA,OAAO,IAAI;IAC9B,CAAC,CAAC;IAEF,OAAOH,WAAW,CAACS,wBAAwB,CACzCF,eAAe,EACdG,mBAAmB,IAClBZ,kBAAkB,CAACU,eAAe,CAAC;MACjCZ,MAAM;MACNC,SAAS;MACTM,OAAO,EAAE,EAAE;MACXO;IACF,CAAC,CACL,CAAC;EACH,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.useTools = exports.ToolExecutionInProgressError = void 0;
|
|
5
|
+
var _useTools = require("./public/useTools");
|
|
6
|
+
exports.useTools = _useTools.useTools;
|
|
7
|
+
var _errors = require("./model/errors");
|
|
8
|
+
exports.ToolExecutionInProgressError = _errors.ToolExecutionInProgressError;
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_useTools","require","exports","useTools","_errors","ToolExecutionInProgressError"],"sources":["../../../../src/hooks/useTools/index.ts"],"sourcesContent":["export { useTools } from './public/useTools';\nexport { ToolExecutionInProgressError } from './model/errors';\nexport type {\n ToolArguments,\n ToolCallResult,\n ToolCallSnapshot,\n ToolCallStatus,\n ToolsRegistry,\n} from './model/types';\n"],"mappings":";;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAA6CC,OAAA,CAAAC,QAAA,GAAAH,SAAA,CAAAG,QAAA;AAC7C,IAAAC,OAAA,GAAAH,OAAA;AAA8DC,OAAA,CAAAG,4BAAA,GAAAD,OAAA,CAAAC,4BAAA","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.ToolExecutionInProgressError = void 0;
|
|
5
|
+
class ToolExecutionInProgressError extends Error {
|
|
6
|
+
constructor() {
|
|
7
|
+
super('Cannot send a new message while tool execution is still running for this chat.');
|
|
8
|
+
this.name = 'ToolExecutionInProgressError';
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.ToolExecutionInProgressError = ToolExecutionInProgressError;
|
|
12
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ToolExecutionInProgressError","Error","constructor","name","exports"],"sources":["../../../../../src/hooks/useTools/model/errors.ts"],"sourcesContent":["export class ToolExecutionInProgressError extends Error {\n constructor() {\n super(\n 'Cannot send a new message while tool execution is still running for this chat.',\n );\n this.name = 'ToolExecutionInProgressError';\n }\n}\n"],"mappings":";;;;AAAO,MAAMA,4BAA4B,SAASC,KAAK,CAAC;EACtDC,WAAWA,CAAA,EAAG;IACZ,KAAK,CACH,gFACF,CAAC;IACD,IAAI,CAACC,IAAI,GAAG,8BAA8B;EAC5C;AACF;AAACC,OAAA,CAAAJ,4BAAA,GAAAA,4BAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../../../src/hooks/useTools/model/types.ts"],"sourcesContent":["import type { FunctionCall } from '../../../types/service';\n\nexport type ToolArguments = Record<string, unknown> | null;\n\nexport type ToolHandler = (\n arguments_?: ToolArguments,\n) => unknown | Promise<unknown>;\n\nexport type ToolsRegistry = Record<string, ToolHandler>;\n\nexport type ToolCallStatus = 'pending' | 'running' | 'completed';\n\nexport type ToolCallRequest = {\n id: string;\n name: string;\n arguments?: ToolArguments;\n};\n\nexport type ToolCallResult = {\n id: string;\n name: string;\n success: boolean;\n content: string;\n};\n\nexport type ToolCallSnapshot = {\n id: string;\n name: string;\n arguments: ToolArguments;\n status: ToolCallStatus;\n result: ToolCallResult | null;\n};\n\nexport type ToolCallSourceResponse = {\n functionCalls?: readonly FunctionCall[] | null;\n};\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.useTools = useTools;
|
|
5
|
+
var _jotai = require("jotai");
|
|
6
|
+
var _state = require("../store/state");
|
|
7
|
+
function useTools() {
|
|
8
|
+
const calls = (0, _jotai.useAtomValue)(_state.toolCallsAtom);
|
|
9
|
+
return calls;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=useTools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_jotai","require","_state","useTools","calls","useAtomValue","toolCallsAtom"],"sources":["../../../../../src/hooks/useTools/public/useTools.ts"],"sourcesContent":["import { useAtomValue } from 'jotai';\n\nimport { toolCallsAtom } from '../store/state';\n\nexport function useTools() {\n const calls = useAtomValue(toolCallsAtom);\n return calls;\n}\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAEO,SAASE,QAAQA,CAAA,EAAG;EACzB,MAAMC,KAAK,GAAG,IAAAC,mBAAY,EAACC,oBAAa,CAAC;EACzC,OAAOF,KAAK;AACd","ignoreList":[]}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.createToolRuntimeSession = createToolRuntimeSession;
|
|
5
|
+
var _errors = require("../model/errors");
|
|
6
|
+
var _executeToolCallBatch = require("./executeToolCallBatch");
|
|
7
|
+
function createToolRuntimeSession({
|
|
8
|
+
onRunningChange
|
|
9
|
+
}) {
|
|
10
|
+
let isRunning = false;
|
|
11
|
+
async function executeBatch(functionCalls, {
|
|
12
|
+
registry,
|
|
13
|
+
observer
|
|
14
|
+
}) {
|
|
15
|
+
if (functionCalls.length === 0) {
|
|
16
|
+
return [];
|
|
17
|
+
}
|
|
18
|
+
if (isRunning) {
|
|
19
|
+
throw new _errors.ToolExecutionInProgressError();
|
|
20
|
+
}
|
|
21
|
+
isRunning = true;
|
|
22
|
+
onRunningChange == null || onRunningChange(true);
|
|
23
|
+
try {
|
|
24
|
+
return await (0, _executeToolCallBatch.executeToolCallBatch)({
|
|
25
|
+
functionCalls,
|
|
26
|
+
registry,
|
|
27
|
+
observer
|
|
28
|
+
});
|
|
29
|
+
} finally {
|
|
30
|
+
isRunning = false;
|
|
31
|
+
onRunningChange == null || onRunningChange(false);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async function resolveResponseToolCalls({
|
|
35
|
+
initialResponse,
|
|
36
|
+
continueWithResults,
|
|
37
|
+
registry,
|
|
38
|
+
observer
|
|
39
|
+
}) {
|
|
40
|
+
let response = initialResponse;
|
|
41
|
+
while ((((_response$functionCal = response.functionCalls) == null ? void 0 : _response$functionCal.length) ?? 0) > 0) {
|
|
42
|
+
var _response$functionCal;
|
|
43
|
+
const results = await executeBatch(response.functionCalls ?? [], {
|
|
44
|
+
registry,
|
|
45
|
+
observer
|
|
46
|
+
});
|
|
47
|
+
response = await continueWithResults(results);
|
|
48
|
+
}
|
|
49
|
+
return response;
|
|
50
|
+
}
|
|
51
|
+
async function resolveIncomingToolCalls({
|
|
52
|
+
envelope,
|
|
53
|
+
adapter,
|
|
54
|
+
registry,
|
|
55
|
+
observer
|
|
56
|
+
}) {
|
|
57
|
+
const functionCallResults = await executeBatch(envelope.functionCalls, {
|
|
58
|
+
registry,
|
|
59
|
+
observer
|
|
60
|
+
});
|
|
61
|
+
if (functionCallResults.length === 0) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
await adapter.sendResults({
|
|
65
|
+
requestId: envelope.requestId,
|
|
66
|
+
functionCallResults
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
resolveResponseToolCalls,
|
|
71
|
+
resolveIncomingToolCalls
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=createToolRuntimeSession.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_errors","require","_executeToolCallBatch","createToolRuntimeSession","onRunningChange","isRunning","executeBatch","functionCalls","registry","observer","length","ToolExecutionInProgressError","executeToolCallBatch","resolveResponseToolCalls","initialResponse","continueWithResults","response","_response$functionCal","results","resolveIncomingToolCalls","envelope","adapter","functionCallResults","sendResults","requestId"],"sources":["../../../../../src/hooks/useTools/runtime/createToolRuntimeSession.ts"],"sourcesContent":["import { ToolExecutionInProgressError } from '../model/errors';\nimport type { ToolCallSourceResponse } from '../model/types';\nimport { executeToolCallBatch } from './executeToolCallBatch';\nimport type {\n ResolveIncomingToolCallsOptions,\n ResolveResponseToolCallsOptions,\n ToolCallEnvelope,\n ToolRuntimeExecutionOptions,\n ToolRuntimeSession,\n} from './types';\n\ntype OnRunningChange = (isRunning: boolean) => void;\n\ntype CreateToolRuntimeSessionOptions = {\n onRunningChange?: OnRunningChange;\n};\n\nexport function createToolRuntimeSession<\n TResponse extends ToolCallSourceResponse,\n>({\n onRunningChange,\n}: CreateToolRuntimeSessionOptions): ToolRuntimeSession<TResponse> {\n let isRunning = false;\n\n async function executeBatch(\n functionCalls: ToolCallEnvelope['functionCalls'],\n { registry, observer }: ToolRuntimeExecutionOptions,\n ) {\n if (functionCalls.length === 0) {\n return [];\n }\n\n if (isRunning) {\n throw new ToolExecutionInProgressError();\n }\n\n isRunning = true;\n onRunningChange?.(true);\n\n try {\n return await executeToolCallBatch({\n functionCalls,\n registry,\n observer,\n });\n } finally {\n isRunning = false;\n onRunningChange?.(false);\n }\n }\n\n async function resolveResponseToolCalls({\n initialResponse,\n continueWithResults,\n registry,\n observer,\n }: ResolveResponseToolCallsOptions<TResponse>) {\n let response = initialResponse;\n\n while ((response.functionCalls?.length ?? 0) > 0) {\n const results = await executeBatch(response.functionCalls ?? [], {\n registry,\n observer,\n });\n response = await continueWithResults(results);\n }\n\n return response;\n }\n\n async function resolveIncomingToolCalls({\n envelope,\n adapter,\n registry,\n observer,\n }: ResolveIncomingToolCallsOptions) {\n const functionCallResults = await executeBatch(envelope.functionCalls, {\n registry,\n observer,\n });\n\n if (functionCallResults.length === 0) {\n return;\n }\n\n await adapter.sendResults({\n requestId: envelope.requestId,\n functionCallResults,\n });\n }\n\n return {\n resolveResponseToolCalls,\n resolveIncomingToolCalls,\n };\n}\n"],"mappings":";;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,qBAAA,GAAAD,OAAA;AAeO,SAASE,wBAAwBA,CAEtC;EACAC;AAC+B,CAAC,EAAiC;EACjE,IAAIC,SAAS,GAAG,KAAK;EAErB,eAAeC,YAAYA,CACzBC,aAAgD,EAChD;IAAEC,QAAQ;IAAEC;EAAsC,CAAC,EACnD;IACA,IAAIF,aAAa,CAACG,MAAM,KAAK,CAAC,EAAE;MAC9B,OAAO,EAAE;IACX;IAEA,IAAIL,SAAS,EAAE;MACb,MAAM,IAAIM,oCAA4B,CAAC,CAAC;IAC1C;IAEAN,SAAS,GAAG,IAAI;IAChBD,eAAe,YAAfA,eAAe,CAAG,IAAI,CAAC;IAEvB,IAAI;MACF,OAAO,MAAM,IAAAQ,0CAAoB,EAAC;QAChCL,aAAa;QACbC,QAAQ;QACRC;MACF,CAAC,CAAC;IACJ,CAAC,SAAS;MACRJ,SAAS,GAAG,KAAK;MACjBD,eAAe,YAAfA,eAAe,CAAG,KAAK,CAAC;IAC1B;EACF;EAEA,eAAeS,wBAAwBA,CAAC;IACtCC,eAAe;IACfC,mBAAmB;IACnBP,QAAQ;IACRC;EAC0C,CAAC,EAAE;IAC7C,IAAIO,QAAQ,GAAGF,eAAe;IAE9B,OAAO,CAAC,EAAAG,qBAAA,GAAAD,QAAQ,CAACT,aAAa,qBAAtBU,qBAAA,CAAwBP,MAAM,KAAI,CAAC,IAAI,CAAC,EAAE;MAAA,IAAAO,qBAAA;MAChD,MAAMC,OAAO,GAAG,MAAMZ,YAAY,CAACU,QAAQ,CAACT,aAAa,IAAI,EAAE,EAAE;QAC/DC,QAAQ;QACRC;MACF,CAAC,CAAC;MACFO,QAAQ,GAAG,MAAMD,mBAAmB,CAACG,OAAO,CAAC;IAC/C;IAEA,OAAOF,QAAQ;EACjB;EAEA,eAAeG,wBAAwBA,CAAC;IACtCC,QAAQ;IACRC,OAAO;IACPb,QAAQ;IACRC;EAC+B,CAAC,EAAE;IAClC,MAAMa,mBAAmB,GAAG,MAAMhB,YAAY,CAACc,QAAQ,CAACb,aAAa,EAAE;MACrEC,QAAQ;MACRC;IACF,CAAC,CAAC;IAEF,IAAIa,mBAAmB,CAACZ,MAAM,KAAK,CAAC,EAAE;MACpC;IACF;IAEA,MAAMW,OAAO,CAACE,WAAW,CAAC;MACxBC,SAAS,EAAEJ,QAAQ,CAACI,SAAS;MAC7BF;IACF,CAAC,CAAC;EACJ;EAEA,OAAO;IACLT,wBAAwB;IACxBM;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.executeToolCall = executeToolCall;
|
|
5
|
+
var _serialize = require("../utils/serialize");
|
|
6
|
+
async function executeToolCall(call, registry) {
|
|
7
|
+
const handler = registry[call.name];
|
|
8
|
+
if (!handler) {
|
|
9
|
+
return {
|
|
10
|
+
id: call.id,
|
|
11
|
+
name: call.name,
|
|
12
|
+
success: false,
|
|
13
|
+
content: `Tool "${call.name}" is not registered.`
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
try {
|
|
17
|
+
const output = await handler(call.arguments ?? null);
|
|
18
|
+
return {
|
|
19
|
+
id: call.id,
|
|
20
|
+
name: call.name,
|
|
21
|
+
success: true,
|
|
22
|
+
content: (0, _serialize.serializeToolContent)(output)
|
|
23
|
+
};
|
|
24
|
+
} catch (error) {
|
|
25
|
+
return {
|
|
26
|
+
id: call.id,
|
|
27
|
+
name: call.name,
|
|
28
|
+
success: false,
|
|
29
|
+
content: (0, _serialize.extractToolErrorMessage)(error)
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=executeToolCall.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_serialize","require","executeToolCall","call","registry","handler","name","id","success","content","output","arguments","serializeToolContent","error","extractToolErrorMessage"],"sources":["../../../../../src/hooks/useTools/runtime/executeToolCall.ts"],"sourcesContent":["import type {\n ToolCallRequest,\n ToolCallResult,\n ToolsRegistry,\n} from '../model/types';\nimport {\n extractToolErrorMessage,\n serializeToolContent,\n} from '../utils/serialize';\n\nexport async function executeToolCall(\n call: ToolCallRequest,\n registry: ToolsRegistry,\n): Promise<ToolCallResult> {\n const handler = registry[call.name];\n\n if (!handler) {\n return {\n id: call.id,\n name: call.name,\n success: false,\n content: `Tool \"${call.name}\" is not registered.`,\n };\n }\n\n try {\n const output = await handler(call.arguments ?? null);\n\n return {\n id: call.id,\n name: call.name,\n success: true,\n content: serializeToolContent(output),\n };\n } catch (error) {\n return {\n id: call.id,\n name: call.name,\n success: false,\n content: extractToolErrorMessage(error),\n };\n }\n}\n"],"mappings":";;;;AAKA,IAAAA,UAAA,GAAAC,OAAA;AAKO,eAAeC,eAAeA,CACnCC,IAAqB,EACrBC,QAAuB,EACE;EACzB,MAAMC,OAAO,GAAGD,QAAQ,CAACD,IAAI,CAACG,IAAI,CAAC;EAEnC,IAAI,CAACD,OAAO,EAAE;IACZ,OAAO;MACLE,EAAE,EAAEJ,IAAI,CAACI,EAAE;MACXD,IAAI,EAAEH,IAAI,CAACG,IAAI;MACfE,OAAO,EAAE,KAAK;MACdC,OAAO,EAAE,SAASN,IAAI,CAACG,IAAI;IAC7B,CAAC;EACH;EAEA,IAAI;IACF,MAAMI,MAAM,GAAG,MAAML,OAAO,CAACF,IAAI,CAACQ,SAAS,IAAI,IAAI,CAAC;IAEpD,OAAO;MACLJ,EAAE,EAAEJ,IAAI,CAACI,EAAE;MACXD,IAAI,EAAEH,IAAI,CAACG,IAAI;MACfE,OAAO,EAAE,IAAI;MACbC,OAAO,EAAE,IAAAG,+BAAoB,EAACF,MAAM;IACtC,CAAC;EACH,CAAC,CAAC,OAAOG,KAAK,EAAE;IACd,OAAO;MACLN,EAAE,EAAEJ,IAAI,CAACI,EAAE;MACXD,IAAI,EAAEH,IAAI,CAACG,IAAI;MACfE,OAAO,EAAE,KAAK;MACdC,OAAO,EAAE,IAAAK,kCAAuB,EAACD,KAAK;IACxC,CAAC;EACH;AACF","ignoreList":[]}
|