@wix/legends-platform-sdk 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +186 -0
- package/components/package.json +5 -0
- package/dist/cjs/components/Audio/Audio.js +31 -0
- package/dist/cjs/components/Audio/Audio.js.map +1 -0
- package/dist/cjs/components/Audio/index.js +10 -0
- package/dist/cjs/components/Audio/index.js.map +1 -0
- package/dist/cjs/components/ChromaKey/ChromaKey.js +127 -0
- package/dist/cjs/components/ChromaKey/ChromaKey.js.map +1 -0
- package/dist/cjs/components/ChromaKey/chroma-key.js +99 -0
- package/dist/cjs/components/ChromaKey/chroma-key.js.map +1 -0
- package/dist/cjs/components/ChromaKey/index.js +10 -0
- package/dist/cjs/components/ChromaKey/index.js.map +1 -0
- package/dist/cjs/components/ChromaKey/shaders/chroma-key.shader.js +44 -0
- package/dist/cjs/components/ChromaKey/shaders/chroma-key.shader.js.map +1 -0
- package/dist/cjs/components/ChromaKey/shaders/index.js +10 -0
- package/dist/cjs/components/ChromaKey/shaders/index.js.map +1 -0
- package/dist/cjs/components/ChromaKey/shaders/vertex-align.shader.js +12 -0
- package/dist/cjs/components/ChromaKey/shaders/vertex-align.shader.js.map +1 -0
- package/dist/cjs/components/ChromaKey/types.js +4 -0
- package/dist/cjs/components/ChromaKey/types.js.map +1 -0
- package/dist/cjs/components/LegendsPlatform/LegendsPlatform.js +91 -0
- package/dist/cjs/components/LegendsPlatform/LegendsPlatform.js.map +1 -0
- package/dist/cjs/components/LegendsPlatform/index.js +10 -0
- package/dist/cjs/components/LegendsPlatform/index.js.map +1 -0
- package/dist/cjs/components/LegendsPlatformQLess/LegendsPlatform.js +69 -0
- package/dist/cjs/components/LegendsPlatformQLess/LegendsPlatform.js.map +1 -0
- package/dist/cjs/components/LegendsPlatformQLess/index.js +10 -0
- package/dist/cjs/components/LegendsPlatformQLess/index.js.map +1 -0
- package/dist/cjs/components/Video/Video.js +88 -0
- package/dist/cjs/components/Video/Video.js.map +1 -0
- package/dist/cjs/components/Video/index.js +16 -0
- package/dist/cjs/components/Video/index.js.map +1 -0
- package/dist/cjs/components/Video/types.js +4 -0
- package/dist/cjs/components/Video/types.js.map +1 -0
- package/dist/cjs/components/Video/useAttachVideo.js +33 -0
- package/dist/cjs/components/Video/useAttachVideo.js.map +1 -0
- package/dist/cjs/components/VideoPostProcessor/VideoPostProcessor.js +61 -0
- package/dist/cjs/components/VideoPostProcessor/VideoPostProcessor.js.map +1 -0
- package/dist/cjs/components/VideoPostProcessor/effects.js +30 -0
- package/dist/cjs/components/VideoPostProcessor/effects.js.map +1 -0
- package/dist/cjs/components/VideoPostProcessor/index.js +10 -0
- package/dist/cjs/components/VideoPostProcessor/index.js.map +1 -0
- package/dist/cjs/components/VideoPreview/VideoPreview.js +68 -0
- package/dist/cjs/components/VideoPreview/VideoPreview.js.map +1 -0
- package/dist/cjs/components/VideoPreview/index.js +16 -0
- package/dist/cjs/components/VideoPreview/index.js.map +1 -0
- package/dist/cjs/components/VideoPreview/types.js +4 -0
- package/dist/cjs/components/VideoPreview/types.js.map +1 -0
- package/dist/cjs/components/VideoPreview/useVideoPreviewStream.js +85 -0
- package/dist/cjs/components/VideoPreview/useVideoPreviewStream.js.map +1 -0
- package/dist/cjs/components.js +34 -0
- package/dist/cjs/components.js.map +1 -0
- package/dist/cjs/conversation/index.js +18 -0
- package/dist/cjs/conversation/index.js.map +1 -0
- package/dist/cjs/conversation/state.js +24 -0
- package/dist/cjs/conversation/state.js.map +1 -0
- package/dist/cjs/conversation/types.js +4 -0
- package/dist/cjs/conversation/types.js.map +1 -0
- package/dist/cjs/conversation/utils.js +25 -0
- package/dist/cjs/conversation/utils.js.map +1 -0
- package/dist/cjs/external-types.d.js +2 -0
- package/dist/cjs/external-types.d.js.map +1 -0
- package/dist/cjs/hooks/index.js +58 -0
- package/dist/cjs/hooks/index.js.map +1 -0
- package/dist/cjs/hooks/useActivityState/index.js +10 -0
- package/dist/cjs/hooks/useActivityState/index.js.map +1 -0
- package/dist/cjs/hooks/useActivityState/useActivityState.js +15 -0
- package/dist/cjs/hooks/useActivityState/useActivityState.js.map +1 -0
- package/dist/cjs/hooks/useAudio/index.js +10 -0
- package/dist/cjs/hooks/useAudio/index.js.map +1 -0
- package/dist/cjs/hooks/useAudio/useAudio.js +28 -0
- package/dist/cjs/hooks/useAudio/useAudio.js.map +1 -0
- package/dist/cjs/hooks/useAudioLevel/helpers.js +28 -0
- package/dist/cjs/hooks/useAudioLevel/helpers.js.map +1 -0
- package/dist/cjs/hooks/useAudioLevel/index.js +10 -0
- package/dist/cjs/hooks/useAudioLevel/index.js.map +1 -0
- package/dist/cjs/hooks/useAudioLevel/types.js +4 -0
- package/dist/cjs/hooks/useAudioLevel/types.js.map +1 -0
- package/dist/cjs/hooks/useAudioLevel/useAudioLevel.js +49 -0
- package/dist/cjs/hooks/useAudioLevel/useAudioLevel.js.map +1 -0
- package/dist/cjs/hooks/useCamera/index.js +10 -0
- package/dist/cjs/hooks/useCamera/index.js.map +1 -0
- package/dist/cjs/hooks/useCamera/useCamera.js +32 -0
- package/dist/cjs/hooks/useCamera/useCamera.js.map +1 -0
- package/dist/cjs/hooks/useConnectionState/index.js +10 -0
- package/dist/cjs/hooks/useConnectionState/index.js.map +1 -0
- package/dist/cjs/hooks/useConnectionState/useConnectionState.js +15 -0
- package/dist/cjs/hooks/useConnectionState/useConnectionState.js.map +1 -0
- package/dist/cjs/hooks/useConversation/index.js +16 -0
- package/dist/cjs/hooks/useConversation/index.js.map +1 -0
- package/dist/cjs/hooks/useConversation/livekit/constants.js +15 -0
- package/dist/cjs/hooks/useConversation/livekit/constants.js.map +1 -0
- package/dist/cjs/hooks/useConversation/livekit/types.js +4 -0
- package/dist/cjs/hooks/useConversation/livekit/types.js.map +1 -0
- package/dist/cjs/hooks/useConversation/livekit/useConversation.js +371 -0
- package/dist/cjs/hooks/useConversation/livekit/useConversation.js.map +1 -0
- package/dist/cjs/hooks/useConversation/livekit/utils/dataChannel.js +25 -0
- package/dist/cjs/hooks/useConversation/livekit/utils/dataChannel.js.map +1 -0
- package/dist/cjs/hooks/useConversation/livekit/utils/index.js +40 -0
- package/dist/cjs/hooks/useConversation/livekit/utils/index.js.map +1 -0
- package/dist/cjs/hooks/useConversation/livekit/utils/messaging.js +11 -0
- package/dist/cjs/hooks/useConversation/livekit/utils/messaging.js.map +1 -0
- package/dist/cjs/hooks/useConversation/livekit/utils/participants.js +34 -0
- package/dist/cjs/hooks/useConversation/livekit/utils/participants.js.map +1 -0
- package/dist/cjs/hooks/useConversation/livekit/utils/serialization.js +13 -0
- package/dist/cjs/hooks/useConversation/livekit/utils/serialization.js.map +1 -0
- package/dist/cjs/hooks/useConversation/livekit/utils/toolAdapter.js +18 -0
- package/dist/cjs/hooks/useConversation/livekit/utils/toolAdapter.js.map +1 -0
- package/dist/cjs/hooks/useConversation/livekit/utils/transcriptions.js +15 -0
- package/dist/cjs/hooks/useConversation/livekit/utils/transcriptions.js.map +1 -0
- package/dist/cjs/hooks/useConversation/types.js +4 -0
- package/dist/cjs/hooks/useConversation/types.js.map +1 -0
- package/dist/cjs/hooks/useConversation/useConversation.js +99 -0
- package/dist/cjs/hooks/useConversation/useConversation.js.map +1 -0
- package/dist/cjs/hooks/useConversationEvents/index.js +22 -0
- package/dist/cjs/hooks/useConversationEvents/index.js.map +1 -0
- package/dist/cjs/hooks/useConversationEvents/types.js +4 -0
- package/dist/cjs/hooks/useConversationEvents/types.js.map +1 -0
- package/dist/cjs/hooks/useConversationEvents/useConversationEvent.js +11 -0
- package/dist/cjs/hooks/useConversationEvents/useConversationEvent.js.map +1 -0
- package/dist/cjs/hooks/useConversationEvents/useConversationEvents.js +20 -0
- package/dist/cjs/hooks/useConversationEvents/useConversationEvents.js.map +1 -0
- package/dist/cjs/hooks/useConversationEvents/useEmitConversationEvent.js +13 -0
- package/dist/cjs/hooks/useConversationEvents/useEmitConversationEvent.js.map +1 -0
- package/dist/cjs/hooks/useConversationStatus/index.js +10 -0
- package/dist/cjs/hooks/useConversationStatus/index.js.map +1 -0
- package/dist/cjs/hooks/useConversationStatus/useConversationStatus.js +10 -0
- package/dist/cjs/hooks/useConversationStatus/useConversationStatus.js.map +1 -0
- package/dist/cjs/hooks/useConversationTimer/index.js +10 -0
- package/dist/cjs/hooks/useConversationTimer/index.js.map +1 -0
- package/dist/cjs/hooks/useConversationTimer/useConversationTimer.js +45 -0
- package/dist/cjs/hooks/useConversationTimer/useConversationTimer.js.map +1 -0
- package/dist/cjs/hooks/useCreateConversation/helpers.js +8 -0
- package/dist/cjs/hooks/useCreateConversation/helpers.js.map +1 -0
- package/dist/cjs/hooks/useCreateConversation/index.js +10 -0
- package/dist/cjs/hooks/useCreateConversation/index.js.map +1 -0
- package/dist/cjs/hooks/useCreateConversation/useCreateConversation.js +104 -0
- package/dist/cjs/hooks/useCreateConversation/useCreateConversation.js.map +1 -0
- package/dist/cjs/hooks/useDeviceSwitcher/index.js +10 -0
- package/dist/cjs/hooks/useDeviceSwitcher/index.js.map +1 -0
- package/dist/cjs/hooks/useDeviceSwitcher/useDeviceSwitcher.js +31 -0
- package/dist/cjs/hooks/useDeviceSwitcher/useDeviceSwitcher.js.map +1 -0
- package/dist/cjs/hooks/useDevices/index.js +10 -0
- package/dist/cjs/hooks/useDevices/index.js.map +1 -0
- package/dist/cjs/hooks/useDevices/useDevices.js +49 -0
- package/dist/cjs/hooks/useDevices/useDevices.js.map +1 -0
- package/dist/cjs/hooks/useMediaPermissions/index.js +10 -0
- package/dist/cjs/hooks/useMediaPermissions/index.js.map +1 -0
- package/dist/cjs/hooks/useMediaPermissions/types.js +4 -0
- package/dist/cjs/hooks/useMediaPermissions/types.js.map +1 -0
- package/dist/cjs/hooks/useMediaPermissions/useMediaPermissions.js +46 -0
- package/dist/cjs/hooks/useMediaPermissions/useMediaPermissions.js.map +1 -0
- package/dist/cjs/hooks/useMediaRecorder/index.js +10 -0
- package/dist/cjs/hooks/useMediaRecorder/index.js.map +1 -0
- package/dist/cjs/hooks/useMediaRecorder/useMediaRecorder.js +229 -0
- package/dist/cjs/hooks/useMediaRecorder/useMediaRecorder.js.map +1 -0
- package/dist/cjs/hooks/useMediaRecorder/useReactRecorder.js +298 -0
- package/dist/cjs/hooks/useMediaRecorder/useReactRecorder.js.map +1 -0
- package/dist/cjs/hooks/useMicrophone/index.js +10 -0
- package/dist/cjs/hooks/useMicrophone/index.js.map +1 -0
- package/dist/cjs/hooks/useMicrophone/useMicrophone.js +38 -0
- package/dist/cjs/hooks/useMicrophone/useMicrophone.js.map +1 -0
- package/dist/cjs/hooks/useParticipantTrack/index.js +10 -0
- package/dist/cjs/hooks/useParticipantTrack/index.js.map +1 -0
- package/dist/cjs/hooks/useParticipantTrack/useParticipantTrack.js +32 -0
- package/dist/cjs/hooks/useParticipantTrack/useParticipantTrack.js.map +1 -0
- package/dist/cjs/hooks/usePictureInPicture/index.js +13 -0
- package/dist/cjs/hooks/usePictureInPicture/index.js.map +1 -0
- package/dist/cjs/hooks/usePictureInPicture/state.js +14 -0
- package/dist/cjs/hooks/usePictureInPicture/state.js.map +1 -0
- package/dist/cjs/hooks/usePictureInPicture/types.js +4 -0
- package/dist/cjs/hooks/usePictureInPicture/types.js.map +1 -0
- package/dist/cjs/hooks/usePictureInPicture/usePictureInPicture.js +45 -0
- package/dist/cjs/hooks/usePictureInPicture/usePictureInPicture.js.map +1 -0
- package/dist/cjs/hooks/usePictureInPicture/usePictureInPictureAuto.js +116 -0
- package/dist/cjs/hooks/usePictureInPicture/usePictureInPictureAuto.js.map +1 -0
- package/dist/cjs/hooks/useScreenShare/index.js +10 -0
- package/dist/cjs/hooks/useScreenShare/index.js.map +1 -0
- package/dist/cjs/hooks/useScreenShare/useScreenShare.js +45 -0
- package/dist/cjs/hooks/useScreenShare/useScreenShare.js.map +1 -0
- package/dist/cjs/hooks/useSpeaker/index.js +10 -0
- package/dist/cjs/hooks/useSpeaker/index.js.map +1 -0
- package/dist/cjs/hooks/useSpeaker/useSpeaker.js +31 -0
- package/dist/cjs/hooks/useSpeaker/useSpeaker.js.map +1 -0
- package/dist/cjs/hooks/useTextChat/index.js +10 -0
- package/dist/cjs/hooks/useTextChat/index.js.map +1 -0
- package/dist/cjs/hooks/useTextChat/usePendingMessages.js +23 -0
- package/dist/cjs/hooks/useTextChat/usePendingMessages.js.map +1 -0
- package/dist/cjs/hooks/useTextChat/useTextChat.js +62 -0
- package/dist/cjs/hooks/useTextChat/useTextChat.js.map +1 -0
- package/dist/cjs/hooks/useTextChat/useToolAwareSend.js +33 -0
- package/dist/cjs/hooks/useTextChat/useToolAwareSend.js.map +1 -0
- package/dist/cjs/hooks/useTools/index.js +9 -0
- package/dist/cjs/hooks/useTools/index.js.map +1 -0
- package/dist/cjs/hooks/useTools/model/errors.js +12 -0
- package/dist/cjs/hooks/useTools/model/errors.js.map +1 -0
- package/dist/cjs/hooks/useTools/model/types.js +4 -0
- package/dist/cjs/hooks/useTools/model/types.js.map +1 -0
- package/dist/cjs/hooks/useTools/public/useTools.js +11 -0
- package/dist/cjs/hooks/useTools/public/useTools.js.map +1 -0
- package/dist/cjs/hooks/useTools/runtime/createToolRuntimeSession.js +74 -0
- package/dist/cjs/hooks/useTools/runtime/createToolRuntimeSession.js.map +1 -0
- package/dist/cjs/hooks/useTools/runtime/executeToolCall.js +33 -0
- package/dist/cjs/hooks/useTools/runtime/executeToolCall.js.map +1 -0
- package/dist/cjs/hooks/useTools/runtime/executeToolCallBatch.js +41 -0
- package/dist/cjs/hooks/useTools/runtime/executeToolCallBatch.js.map +1 -0
- package/dist/cjs/hooks/useTools/runtime/types.js +4 -0
- package/dist/cjs/hooks/useTools/runtime/types.js.map +1 -0
- package/dist/cjs/hooks/useTools/runtime/useToolCallingRuntime.js +59 -0
- package/dist/cjs/hooks/useTools/runtime/useToolCallingRuntime.js.map +1 -0
- package/dist/cjs/hooks/useTools/store/state.js +30 -0
- package/dist/cjs/hooks/useTools/store/state.js.map +1 -0
- package/dist/cjs/hooks/useTools/utils/normalizeFunctionCall.js +22 -0
- package/dist/cjs/hooks/useTools/utils/normalizeFunctionCall.js.map +1 -0
- package/dist/cjs/hooks/useTools/utils/serialize.js +28 -0
- package/dist/cjs/hooks/useTools/utils/serialize.js.map +1 -0
- package/dist/cjs/hooks/useTranscriptions/index.js +16 -0
- package/dist/cjs/hooks/useTranscriptions/index.js.map +1 -0
- package/dist/cjs/hooks/useTranscriptions/types.js +4 -0
- package/dist/cjs/hooks/useTranscriptions/types.js.map +1 -0
- package/dist/cjs/hooks/useTranscriptions/useTranscription.js +16 -0
- package/dist/cjs/hooks/useTranscriptions/useTranscription.js.map +1 -0
- package/dist/cjs/hooks/useTranscriptions/useTranscriptions.js +18 -0
- package/dist/cjs/hooks/useTranscriptions/useTranscriptions.js.map +1 -0
- package/dist/cjs/hooks/useUserActivity/index.js +10 -0
- package/dist/cjs/hooks/useUserActivity/index.js.map +1 -0
- package/dist/cjs/hooks/useUserActivity/useUserActivity.js +23 -0
- package/dist/cjs/hooks/useUserActivity/useUserActivity.js.map +1 -0
- package/dist/cjs/livekit/components.js +10 -0
- package/dist/cjs/livekit/components.js.map +1 -0
- package/dist/cjs/livekit/sdk.js +10 -0
- package/dist/cjs/livekit/sdk.js.map +1 -0
- package/dist/cjs/sdk-consumer/context.js +15 -0
- package/dist/cjs/sdk-consumer/context.js.map +1 -0
- package/dist/cjs/sdk-consumer/index.js +10 -0
- package/dist/cjs/sdk-consumer/index.js.map +1 -0
- package/dist/cjs/sdk.js +148 -0
- package/dist/cjs/sdk.js.map +1 -0
- package/dist/cjs/services/FetchPersonaChatService.js +139 -0
- package/dist/cjs/services/FetchPersonaChatService.js.map +1 -0
- package/dist/cjs/test-types.d.js +2 -0
- package/dist/cjs/test-types.d.js.map +1 -0
- package/dist/cjs/types/http.js +14 -0
- package/dist/cjs/types/http.js.map +1 -0
- package/dist/cjs/types/index.js +7 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/types/service.js +4 -0
- package/dist/cjs/types/service.js.map +1 -0
- package/dist/cjs/utils/captureImage/captureImage.js +29 -0
- package/dist/cjs/utils/captureImage/captureImage.js.map +1 -0
- package/dist/cjs/utils/captureImage/helpers.js +74 -0
- package/dist/cjs/utils/captureImage/helpers.js.map +1 -0
- package/dist/cjs/utils/captureImage/index.js +16 -0
- package/dist/cjs/utils/captureImage/index.js.map +1 -0
- package/dist/cjs/utils/captureImage/types.js +4 -0
- package/dist/cjs/utils/captureImage/types.js.map +1 -0
- package/dist/cjs/utils/compatibility/compatibility.js +17 -0
- package/dist/cjs/utils/compatibility/compatibility.js.map +1 -0
- package/dist/cjs/utils/compatibility/index.js +10 -0
- package/dist/cjs/utils/compatibility/index.js.map +1 -0
- package/dist/cjs/utils.js +10 -0
- package/dist/cjs/utils.js.map +1 -0
- package/dist/esm/components/Audio/Audio.js +18 -0
- package/dist/esm/components/Audio/Audio.js.map +1 -0
- package/dist/esm/components/Audio/index.js +2 -0
- package/dist/esm/components/Audio/index.js.map +1 -0
- package/dist/esm/components/ChromaKey/ChromaKey.js +115 -0
- package/dist/esm/components/ChromaKey/ChromaKey.js.map +1 -0
- package/dist/esm/components/ChromaKey/chroma-key.js +91 -0
- package/dist/esm/components/ChromaKey/chroma-key.js.map +1 -0
- package/dist/esm/components/ChromaKey/index.js +2 -0
- package/dist/esm/components/ChromaKey/index.js.map +1 -0
- package/dist/esm/components/ChromaKey/shaders/chroma-key.shader.js +40 -0
- package/dist/esm/components/ChromaKey/shaders/chroma-key.shader.js.map +1 -0
- package/dist/esm/components/ChromaKey/shaders/index.js +3 -0
- package/dist/esm/components/ChromaKey/shaders/index.js.map +1 -0
- package/dist/esm/components/ChromaKey/shaders/vertex-align.shader.js +8 -0
- package/dist/esm/components/ChromaKey/shaders/vertex-align.shader.js.map +1 -0
- package/dist/esm/components/ChromaKey/types.js +2 -0
- package/dist/esm/components/ChromaKey/types.js.map +1 -0
- package/dist/esm/components/LegendsPlatform/LegendsPlatform.js +53 -0
- package/dist/esm/components/LegendsPlatform/LegendsPlatform.js.map +1 -0
- package/dist/esm/components/LegendsPlatform/index.js +2 -0
- package/dist/esm/components/LegendsPlatform/index.js.map +1 -0
- package/dist/esm/components/LegendsPlatformQLess/LegendsPlatform.js +30 -0
- package/dist/esm/components/LegendsPlatformQLess/LegendsPlatform.js.map +1 -0
- package/dist/esm/components/LegendsPlatformQLess/index.js +2 -0
- package/dist/esm/components/LegendsPlatformQLess/index.js.map +1 -0
- package/dist/esm/components/Video/Video.js +73 -0
- package/dist/esm/components/Video/Video.js.map +1 -0
- package/dist/esm/components/Video/index.js +3 -0
- package/dist/esm/components/Video/index.js.map +1 -0
- package/dist/esm/components/Video/types.js +2 -0
- package/dist/esm/components/Video/types.js.map +1 -0
- package/dist/esm/components/Video/useAttachVideo.js +27 -0
- package/dist/esm/components/Video/useAttachVideo.js.map +1 -0
- package/dist/esm/components/VideoPostProcessor/VideoPostProcessor.js +47 -0
- package/dist/esm/components/VideoPostProcessor/VideoPostProcessor.js.map +1 -0
- package/dist/esm/components/VideoPostProcessor/effects.js +25 -0
- package/dist/esm/components/VideoPostProcessor/effects.js.map +1 -0
- package/dist/esm/components/VideoPostProcessor/index.js +2 -0
- package/dist/esm/components/VideoPostProcessor/index.js.map +1 -0
- package/dist/esm/components/VideoPreview/VideoPreview.js +48 -0
- package/dist/esm/components/VideoPreview/VideoPreview.js.map +1 -0
- package/dist/esm/components/VideoPreview/index.js +3 -0
- package/dist/esm/components/VideoPreview/index.js.map +1 -0
- package/dist/esm/components/VideoPreview/types.js +2 -0
- package/dist/esm/components/VideoPreview/types.js.map +1 -0
- package/dist/esm/components/VideoPreview/useVideoPreviewStream.js +85 -0
- package/dist/esm/components/VideoPreview/useVideoPreviewStream.js.map +1 -0
- package/dist/esm/components.js +6 -0
- package/dist/esm/components.js.map +1 -0
- package/dist/esm/conversation/index.js +4 -0
- package/dist/esm/conversation/index.js.map +1 -0
- package/dist/esm/conversation/state.js +20 -0
- package/dist/esm/conversation/state.js.map +1 -0
- package/dist/esm/conversation/types.js +2 -0
- package/dist/esm/conversation/types.js.map +1 -0
- package/dist/esm/conversation/utils.js +21 -0
- package/dist/esm/conversation/utils.js.map +1 -0
- package/dist/esm/external-types.d.js +2 -0
- package/dist/esm/external-types.d.js.map +1 -0
- package/dist/esm/hooks/index.js +10 -0
- package/dist/esm/hooks/index.js.map +1 -0
- package/dist/esm/hooks/useActivityState/index.js +2 -0
- package/dist/esm/hooks/useActivityState/index.js.map +1 -0
- package/dist/esm/hooks/useActivityState/useActivityState.js +11 -0
- package/dist/esm/hooks/useActivityState/useActivityState.js.map +1 -0
- package/dist/esm/hooks/useAudio/index.js +2 -0
- package/dist/esm/hooks/useAudio/index.js.map +1 -0
- package/dist/esm/hooks/useAudio/useAudio.js +26 -0
- package/dist/esm/hooks/useAudio/useAudio.js.map +1 -0
- package/dist/esm/hooks/useAudioLevel/helpers.js +23 -0
- package/dist/esm/hooks/useAudioLevel/helpers.js.map +1 -0
- package/dist/esm/hooks/useAudioLevel/index.js +2 -0
- package/dist/esm/hooks/useAudioLevel/index.js.map +1 -0
- package/dist/esm/hooks/useAudioLevel/types.js +2 -0
- package/dist/esm/hooks/useAudioLevel/types.js.map +1 -0
- package/dist/esm/hooks/useAudioLevel/useAudioLevel.js +43 -0
- package/dist/esm/hooks/useAudioLevel/useAudioLevel.js.map +1 -0
- package/dist/esm/hooks/useCamera/index.js +2 -0
- package/dist/esm/hooks/useCamera/index.js.map +1 -0
- package/dist/esm/hooks/useCamera/useCamera.js +29 -0
- package/dist/esm/hooks/useCamera/useCamera.js.map +1 -0
- package/dist/esm/hooks/useConnectionState/index.js +2 -0
- package/dist/esm/hooks/useConnectionState/index.js.map +1 -0
- package/dist/esm/hooks/useConnectionState/useConnectionState.js +11 -0
- package/dist/esm/hooks/useConnectionState/useConnectionState.js.map +1 -0
- package/dist/esm/hooks/useConversation/index.js +3 -0
- package/dist/esm/hooks/useConversation/index.js.map +1 -0
- package/dist/esm/hooks/useConversation/livekit/constants.js +11 -0
- package/dist/esm/hooks/useConversation/livekit/constants.js.map +1 -0
- package/dist/esm/hooks/useConversation/livekit/types.js +2 -0
- package/dist/esm/hooks/useConversation/livekit/types.js.map +1 -0
- package/dist/esm/hooks/useConversation/livekit/useConversation.js +377 -0
- package/dist/esm/hooks/useConversation/livekit/useConversation.js.map +1 -0
- package/dist/esm/hooks/useConversation/livekit/utils/dataChannel.js +18 -0
- package/dist/esm/hooks/useConversation/livekit/utils/dataChannel.js.map +1 -0
- package/dist/esm/hooks/useConversation/livekit/utils/index.js +7 -0
- package/dist/esm/hooks/useConversation/livekit/utils/index.js.map +1 -0
- package/dist/esm/hooks/useConversation/livekit/utils/messaging.js +7 -0
- package/dist/esm/hooks/useConversation/livekit/utils/messaging.js.map +1 -0
- package/dist/esm/hooks/useConversation/livekit/utils/participants.js +28 -0
- package/dist/esm/hooks/useConversation/livekit/utils/participants.js.map +1 -0
- package/dist/esm/hooks/useConversation/livekit/utils/serialization.js +9 -0
- package/dist/esm/hooks/useConversation/livekit/utils/serialization.js.map +1 -0
- package/dist/esm/hooks/useConversation/livekit/utils/toolAdapter.js +14 -0
- package/dist/esm/hooks/useConversation/livekit/utils/toolAdapter.js.map +1 -0
- package/dist/esm/hooks/useConversation/livekit/utils/transcriptions.js +11 -0
- package/dist/esm/hooks/useConversation/livekit/utils/transcriptions.js.map +1 -0
- package/dist/esm/hooks/useConversation/types.js +2 -0
- package/dist/esm/hooks/useConversation/types.js.map +1 -0
- package/dist/esm/hooks/useConversation/useConversation.js +93 -0
- package/dist/esm/hooks/useConversation/useConversation.js.map +1 -0
- package/dist/esm/hooks/useConversationEvents/index.js +4 -0
- package/dist/esm/hooks/useConversationEvents/index.js.map +1 -0
- package/dist/esm/hooks/useConversationEvents/types.js +2 -0
- package/dist/esm/hooks/useConversationEvents/types.js.map +1 -0
- package/dist/esm/hooks/useConversationEvents/useConversationEvent.js +7 -0
- package/dist/esm/hooks/useConversationEvents/useConversationEvent.js.map +1 -0
- package/dist/esm/hooks/useConversationEvents/useConversationEvents.js +20 -0
- package/dist/esm/hooks/useConversationEvents/useConversationEvents.js.map +1 -0
- package/dist/esm/hooks/useConversationEvents/useEmitConversationEvent.js +9 -0
- package/dist/esm/hooks/useConversationEvents/useEmitConversationEvent.js.map +1 -0
- package/dist/esm/hooks/useConversationStatus/index.js +2 -0
- package/dist/esm/hooks/useConversationStatus/index.js.map +1 -0
- package/dist/esm/hooks/useConversationStatus/useConversationStatus.js +6 -0
- package/dist/esm/hooks/useConversationStatus/useConversationStatus.js.map +1 -0
- package/dist/esm/hooks/useConversationTimer/index.js +2 -0
- package/dist/esm/hooks/useConversationTimer/index.js.map +1 -0
- package/dist/esm/hooks/useConversationTimer/useConversationTimer.js +44 -0
- package/dist/esm/hooks/useConversationTimer/useConversationTimer.js.map +1 -0
- package/dist/esm/hooks/useCreateConversation/helpers.js +4 -0
- package/dist/esm/hooks/useCreateConversation/helpers.js.map +1 -0
- package/dist/esm/hooks/useCreateConversation/index.js +2 -0
- package/dist/esm/hooks/useCreateConversation/index.js.map +1 -0
- package/dist/esm/hooks/useCreateConversation/useCreateConversation.js +98 -0
- package/dist/esm/hooks/useCreateConversation/useCreateConversation.js.map +1 -0
- package/dist/esm/hooks/useDeviceSwitcher/index.js +2 -0
- package/dist/esm/hooks/useDeviceSwitcher/index.js.map +1 -0
- package/dist/esm/hooks/useDeviceSwitcher/useDeviceSwitcher.js +26 -0
- package/dist/esm/hooks/useDeviceSwitcher/useDeviceSwitcher.js.map +1 -0
- package/dist/esm/hooks/useDevices/index.js +2 -0
- package/dist/esm/hooks/useDevices/index.js.map +1 -0
- package/dist/esm/hooks/useDevices/useDevices.js +45 -0
- package/dist/esm/hooks/useDevices/useDevices.js.map +1 -0
- package/dist/esm/hooks/useMediaPermissions/index.js +3 -0
- package/dist/esm/hooks/useMediaPermissions/index.js.map +1 -0
- package/dist/esm/hooks/useMediaPermissions/types.js +2 -0
- package/dist/esm/hooks/useMediaPermissions/types.js.map +1 -0
- package/dist/esm/hooks/useMediaPermissions/useMediaPermissions.js +42 -0
- package/dist/esm/hooks/useMediaPermissions/useMediaPermissions.js.map +1 -0
- package/dist/esm/hooks/useMediaRecorder/index.js +2 -0
- package/dist/esm/hooks/useMediaRecorder/index.js.map +1 -0
- package/dist/esm/hooks/useMediaRecorder/useMediaRecorder.js +227 -0
- package/dist/esm/hooks/useMediaRecorder/useMediaRecorder.js.map +1 -0
- package/dist/esm/hooks/useMediaRecorder/useReactRecorder.js +315 -0
- package/dist/esm/hooks/useMediaRecorder/useReactRecorder.js.map +1 -0
- package/dist/esm/hooks/useMicrophone/index.js +2 -0
- package/dist/esm/hooks/useMicrophone/index.js.map +1 -0
- package/dist/esm/hooks/useMicrophone/useMicrophone.js +35 -0
- package/dist/esm/hooks/useMicrophone/useMicrophone.js.map +1 -0
- package/dist/esm/hooks/useParticipantTrack/index.js +2 -0
- package/dist/esm/hooks/useParticipantTrack/index.js.map +1 -0
- package/dist/esm/hooks/useParticipantTrack/useParticipantTrack.js +26 -0
- package/dist/esm/hooks/useParticipantTrack/useParticipantTrack.js.map +1 -0
- package/dist/esm/hooks/usePictureInPicture/index.js +5 -0
- package/dist/esm/hooks/usePictureInPicture/index.js.map +1 -0
- package/dist/esm/hooks/usePictureInPicture/state.js +10 -0
- package/dist/esm/hooks/usePictureInPicture/state.js.map +1 -0
- package/dist/esm/hooks/usePictureInPicture/types.js +2 -0
- package/dist/esm/hooks/usePictureInPicture/types.js.map +1 -0
- package/dist/esm/hooks/usePictureInPicture/usePictureInPicture.js +41 -0
- package/dist/esm/hooks/usePictureInPicture/usePictureInPicture.js.map +1 -0
- package/dist/esm/hooks/usePictureInPicture/usePictureInPictureAuto.js +111 -0
- package/dist/esm/hooks/usePictureInPicture/usePictureInPictureAuto.js.map +1 -0
- package/dist/esm/hooks/useScreenShare/index.js +2 -0
- package/dist/esm/hooks/useScreenShare/index.js.map +1 -0
- package/dist/esm/hooks/useScreenShare/useScreenShare.js +42 -0
- package/dist/esm/hooks/useScreenShare/useScreenShare.js.map +1 -0
- package/dist/esm/hooks/useSpeaker/index.js +2 -0
- package/dist/esm/hooks/useSpeaker/index.js.map +1 -0
- package/dist/esm/hooks/useSpeaker/useSpeaker.js +28 -0
- package/dist/esm/hooks/useSpeaker/useSpeaker.js.map +1 -0
- package/dist/esm/hooks/useTextChat/index.js +2 -0
- package/dist/esm/hooks/useTextChat/index.js.map +1 -0
- package/dist/esm/hooks/useTextChat/usePendingMessages.js +19 -0
- package/dist/esm/hooks/useTextChat/usePendingMessages.js.map +1 -0
- package/dist/esm/hooks/useTextChat/useTextChat.js +59 -0
- package/dist/esm/hooks/useTextChat/useTextChat.js.map +1 -0
- package/dist/esm/hooks/useTextChat/useToolAwareSend.js +28 -0
- package/dist/esm/hooks/useTextChat/useToolAwareSend.js.map +1 -0
- package/dist/esm/hooks/useTools/index.js +3 -0
- package/dist/esm/hooks/useTools/index.js.map +1 -0
- package/dist/esm/hooks/useTools/model/errors.js +7 -0
- package/dist/esm/hooks/useTools/model/errors.js.map +1 -0
- package/dist/esm/hooks/useTools/model/types.js +2 -0
- package/dist/esm/hooks/useTools/model/types.js.map +1 -0
- package/dist/esm/hooks/useTools/public/useTools.js +7 -0
- package/dist/esm/hooks/useTools/public/useTools.js.map +1 -0
- package/dist/esm/hooks/useTools/runtime/createToolRuntimeSession.js +66 -0
- package/dist/esm/hooks/useTools/runtime/createToolRuntimeSession.js.map +1 -0
- package/dist/esm/hooks/useTools/runtime/executeToolCall.js +29 -0
- package/dist/esm/hooks/useTools/runtime/executeToolCall.js.map +1 -0
- package/dist/esm/hooks/useTools/runtime/executeToolCallBatch.js +36 -0
- package/dist/esm/hooks/useTools/runtime/executeToolCallBatch.js.map +1 -0
- package/dist/esm/hooks/useTools/runtime/types.js +2 -0
- package/dist/esm/hooks/useTools/runtime/types.js.map +1 -0
- package/dist/esm/hooks/useTools/runtime/useToolCallingRuntime.js +58 -0
- package/dist/esm/hooks/useTools/runtime/useToolCallingRuntime.js.map +1 -0
- package/dist/esm/hooks/useTools/store/state.js +26 -0
- package/dist/esm/hooks/useTools/store/state.js.map +1 -0
- package/dist/esm/hooks/useTools/utils/normalizeFunctionCall.js +18 -0
- package/dist/esm/hooks/useTools/utils/normalizeFunctionCall.js.map +1 -0
- package/dist/esm/hooks/useTools/utils/serialize.js +23 -0
- package/dist/esm/hooks/useTools/utils/serialize.js.map +1 -0
- package/dist/esm/hooks/useTranscriptions/index.js +3 -0
- package/dist/esm/hooks/useTranscriptions/index.js.map +1 -0
- package/dist/esm/hooks/useTranscriptions/types.js +2 -0
- package/dist/esm/hooks/useTranscriptions/types.js.map +1 -0
- package/dist/esm/hooks/useTranscriptions/useTranscription.js +15 -0
- package/dist/esm/hooks/useTranscriptions/useTranscription.js.map +1 -0
- package/dist/esm/hooks/useTranscriptions/useTranscriptions.js +15 -0
- package/dist/esm/hooks/useTranscriptions/useTranscriptions.js.map +1 -0
- package/dist/esm/hooks/useUserActivity/index.js +2 -0
- package/dist/esm/hooks/useUserActivity/index.js.map +1 -0
- package/dist/esm/hooks/useUserActivity/useUserActivity.js +22 -0
- package/dist/esm/hooks/useUserActivity/useUserActivity.js.map +1 -0
- package/dist/esm/livekit/components.js +2 -0
- package/dist/esm/livekit/components.js.map +1 -0
- package/dist/esm/livekit/sdk.js +2 -0
- package/dist/esm/livekit/sdk.js.map +1 -0
- package/dist/esm/sdk-consumer/context.js +10 -0
- package/dist/esm/sdk-consumer/context.js.map +1 -0
- package/dist/esm/sdk-consumer/index.js +2 -0
- package/dist/esm/sdk-consumer/index.js.map +1 -0
- package/dist/esm/sdk.js +25 -0
- package/dist/esm/sdk.js.map +1 -0
- package/dist/esm/services/FetchPersonaChatService.js +124 -0
- package/dist/esm/services/FetchPersonaChatService.js.map +1 -0
- package/dist/esm/test-types.d.js +2 -0
- package/dist/esm/test-types.d.js.map +1 -0
- package/dist/esm/types/http.js +9 -0
- package/dist/esm/types/http.js.map +1 -0
- package/dist/esm/types/index.js +2 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/service.js +2 -0
- package/dist/esm/types/service.js.map +1 -0
- package/dist/esm/utils/captureImage/captureImage.js +29 -0
- package/dist/esm/utils/captureImage/captureImage.js.map +1 -0
- package/dist/esm/utils/captureImage/helpers.js +69 -0
- package/dist/esm/utils/captureImage/helpers.js.map +1 -0
- package/dist/esm/utils/captureImage/index.js +3 -0
- package/dist/esm/utils/captureImage/index.js.map +1 -0
- package/dist/esm/utils/captureImage/types.js +2 -0
- package/dist/esm/utils/captureImage/types.js.map +1 -0
- package/dist/esm/utils/compatibility/compatibility.js +12 -0
- package/dist/esm/utils/compatibility/compatibility.js.map +1 -0
- package/dist/esm/utils/compatibility/index.js +2 -0
- package/dist/esm/utils/compatibility/index.js.map +1 -0
- package/dist/esm/utils.js +2 -0
- package/dist/esm/utils.js.map +1 -0
- package/dist/types/components/Audio/Audio.d.ts +3 -0
- package/dist/types/components/Audio/Audio.d.ts.map +1 -0
- package/dist/types/components/Audio/index.d.ts +2 -0
- package/dist/types/components/Audio/index.d.ts.map +1 -0
- package/dist/types/components/ChromaKey/ChromaKey.d.ts +20 -0
- package/dist/types/components/ChromaKey/ChromaKey.d.ts.map +1 -0
- package/dist/types/components/ChromaKey/chroma-key.d.ts +9 -0
- package/dist/types/components/ChromaKey/chroma-key.d.ts.map +1 -0
- package/dist/types/components/ChromaKey/index.d.ts +2 -0
- package/dist/types/components/ChromaKey/index.d.ts.map +1 -0
- package/dist/types/components/ChromaKey/shaders/chroma-key.shader.d.ts +3 -0
- package/dist/types/components/ChromaKey/shaders/chroma-key.shader.d.ts.map +1 -0
- package/dist/types/components/ChromaKey/shaders/index.d.ts +3 -0
- package/dist/types/components/ChromaKey/shaders/index.d.ts.map +1 -0
- package/dist/types/components/ChromaKey/shaders/vertex-align.shader.d.ts +3 -0
- package/dist/types/components/ChromaKey/shaders/vertex-align.shader.d.ts.map +1 -0
- package/dist/types/components/ChromaKey/types.d.ts +3 -0
- package/dist/types/components/ChromaKey/types.d.ts.map +1 -0
- package/dist/types/components/LegendsPlatform/LegendsPlatform.d.ts +18 -0
- package/dist/types/components/LegendsPlatform/LegendsPlatform.d.ts.map +1 -0
- package/dist/types/components/LegendsPlatform/index.d.ts +2 -0
- package/dist/types/components/LegendsPlatform/index.d.ts.map +1 -0
- package/dist/types/components/LegendsPlatformQLess/LegendsPlatform.d.ts +15 -0
- package/dist/types/components/LegendsPlatformQLess/LegendsPlatform.d.ts.map +1 -0
- package/dist/types/components/LegendsPlatformQLess/index.d.ts +2 -0
- package/dist/types/components/LegendsPlatformQLess/index.d.ts.map +1 -0
- package/dist/types/components/Video/Video.d.ts +14 -0
- package/dist/types/components/Video/Video.d.ts.map +1 -0
- package/dist/types/components/Video/index.d.ts +3 -0
- package/dist/types/components/Video/index.d.ts.map +1 -0
- package/dist/types/components/Video/types.d.ts +22 -0
- package/dist/types/components/Video/types.d.ts.map +1 -0
- package/dist/types/components/Video/useAttachVideo.d.ts +10 -0
- package/dist/types/components/Video/useAttachVideo.d.ts.map +1 -0
- package/dist/types/components/VideoPostProcessor/VideoPostProcessor.d.ts +11 -0
- package/dist/types/components/VideoPostProcessor/VideoPostProcessor.d.ts.map +1 -0
- package/dist/types/components/VideoPostProcessor/effects.d.ts +3 -0
- package/dist/types/components/VideoPostProcessor/effects.d.ts.map +1 -0
- package/dist/types/components/VideoPostProcessor/index.d.ts +2 -0
- package/dist/types/components/VideoPostProcessor/index.d.ts.map +1 -0
- package/dist/types/components/VideoPreview/VideoPreview.d.ts +4 -0
- package/dist/types/components/VideoPreview/VideoPreview.d.ts.map +1 -0
- package/dist/types/components/VideoPreview/index.d.ts +3 -0
- package/dist/types/components/VideoPreview/index.d.ts.map +1 -0
- package/dist/types/components/VideoPreview/types.d.ts +11 -0
- package/dist/types/components/VideoPreview/types.d.ts.map +1 -0
- package/dist/types/components/VideoPreview/useVideoPreviewStream.d.ts +13 -0
- package/dist/types/components/VideoPreview/useVideoPreviewStream.d.ts.map +1 -0
- package/dist/types/components.d.ts +6 -0
- package/dist/types/components.d.ts.map +1 -0
- package/dist/types/conversation/index.d.ts +3 -0
- package/dist/types/conversation/index.d.ts.map +1 -0
- package/dist/types/conversation/state.d.ts +47 -0
- package/dist/types/conversation/state.d.ts.map +1 -0
- package/dist/types/conversation/types.d.ts +27 -0
- package/dist/types/conversation/types.d.ts.map +1 -0
- package/dist/types/conversation/utils.d.ts +6 -0
- package/dist/types/conversation/utils.d.ts.map +1 -0
- package/dist/types/hooks/index.d.ts +10 -0
- package/dist/types/hooks/index.d.ts.map +1 -0
- package/dist/types/hooks/useActivityState/index.d.ts +2 -0
- package/dist/types/hooks/useActivityState/index.d.ts.map +1 -0
- package/dist/types/hooks/useActivityState/useActivityState.d.ts +2 -0
- package/dist/types/hooks/useActivityState/useActivityState.d.ts.map +1 -0
- package/dist/types/hooks/useAudio/index.d.ts +2 -0
- package/dist/types/hooks/useAudio/index.d.ts.map +1 -0
- package/dist/types/hooks/useAudio/useAudio.d.ts +7 -0
- package/dist/types/hooks/useAudio/useAudio.d.ts.map +1 -0
- package/dist/types/hooks/useAudioLevel/helpers.d.ts +11 -0
- package/dist/types/hooks/useAudioLevel/helpers.d.ts.map +1 -0
- package/dist/types/hooks/useAudioLevel/index.d.ts +2 -0
- package/dist/types/hooks/useAudioLevel/index.d.ts.map +1 -0
- package/dist/types/hooks/useAudioLevel/types.d.ts +8 -0
- package/dist/types/hooks/useAudioLevel/types.d.ts.map +1 -0
- package/dist/types/hooks/useAudioLevel/useAudioLevel.d.ts +3 -0
- package/dist/types/hooks/useAudioLevel/useAudioLevel.d.ts.map +1 -0
- package/dist/types/hooks/useCamera/index.d.ts +2 -0
- package/dist/types/hooks/useCamera/index.d.ts.map +1 -0
- package/dist/types/hooks/useCamera/useCamera.d.ts +8 -0
- package/dist/types/hooks/useCamera/useCamera.d.ts.map +1 -0
- package/dist/types/hooks/useConnectionState/index.d.ts +2 -0
- package/dist/types/hooks/useConnectionState/index.d.ts.map +1 -0
- package/dist/types/hooks/useConnectionState/useConnectionState.d.ts +2 -0
- package/dist/types/hooks/useConnectionState/useConnectionState.d.ts.map +1 -0
- package/dist/types/hooks/useConversation/index.d.ts +3 -0
- package/dist/types/hooks/useConversation/index.d.ts.map +1 -0
- package/dist/types/hooks/useConversation/livekit/constants.d.ts +4 -0
- package/dist/types/hooks/useConversation/livekit/constants.d.ts.map +1 -0
- package/dist/types/hooks/useConversation/livekit/types.d.ts +32 -0
- package/dist/types/hooks/useConversation/livekit/types.d.ts.map +1 -0
- package/dist/types/hooks/useConversation/livekit/useConversation.d.ts +3 -0
- package/dist/types/hooks/useConversation/livekit/useConversation.d.ts.map +1 -0
- package/dist/types/hooks/useConversation/livekit/utils/dataChannel.d.ts +6 -0
- package/dist/types/hooks/useConversation/livekit/utils/dataChannel.d.ts.map +1 -0
- package/dist/types/hooks/useConversation/livekit/utils/index.d.ts +7 -0
- package/dist/types/hooks/useConversation/livekit/utils/index.d.ts.map +1 -0
- package/dist/types/hooks/useConversation/livekit/utils/messaging.d.ts +3 -0
- package/dist/types/hooks/useConversation/livekit/utils/messaging.d.ts.map +1 -0
- package/dist/types/hooks/useConversation/livekit/utils/participants.d.ts +6 -0
- package/dist/types/hooks/useConversation/livekit/utils/participants.d.ts.map +1 -0
- package/dist/types/hooks/useConversation/livekit/utils/serialization.d.ts +2 -0
- package/dist/types/hooks/useConversation/livekit/utils/serialization.d.ts.map +1 -0
- package/dist/types/hooks/useConversation/livekit/utils/toolAdapter.d.ts +4 -0
- package/dist/types/hooks/useConversation/livekit/utils/toolAdapter.d.ts.map +1 -0
- package/dist/types/hooks/useConversation/livekit/utils/transcriptions.d.ts +3 -0
- package/dist/types/hooks/useConversation/livekit/utils/transcriptions.d.ts.map +1 -0
- package/dist/types/hooks/useConversation/types.d.ts +23 -0
- package/dist/types/hooks/useConversation/types.d.ts.map +1 -0
- package/dist/types/hooks/useConversation/useConversation.d.ts +3 -0
- package/dist/types/hooks/useConversation/useConversation.d.ts.map +1 -0
- package/dist/types/hooks/useConversationEvents/index.d.ts +4 -0
- package/dist/types/hooks/useConversationEvents/index.d.ts.map +1 -0
- package/dist/types/hooks/useConversationEvents/types.d.ts +72 -0
- package/dist/types/hooks/useConversationEvents/types.d.ts.map +1 -0
- package/dist/types/hooks/useConversationEvents/useConversationEvent.d.ts +3 -0
- package/dist/types/hooks/useConversationEvents/useConversationEvent.d.ts.map +1 -0
- package/dist/types/hooks/useConversationEvents/useConversationEvents.d.ts +5 -0
- package/dist/types/hooks/useConversationEvents/useConversationEvents.d.ts.map +1 -0
- package/dist/types/hooks/useConversationEvents/useEmitConversationEvent.d.ts +3 -0
- package/dist/types/hooks/useConversationEvents/useEmitConversationEvent.d.ts.map +1 -0
- package/dist/types/hooks/useConversationStatus/index.d.ts +2 -0
- package/dist/types/hooks/useConversationStatus/index.d.ts.map +1 -0
- package/dist/types/hooks/useConversationStatus/useConversationStatus.d.ts +2 -0
- package/dist/types/hooks/useConversationStatus/useConversationStatus.d.ts.map +1 -0
- package/dist/types/hooks/useConversationTimer/index.d.ts +2 -0
- package/dist/types/hooks/useConversationTimer/index.d.ts.map +1 -0
- package/dist/types/hooks/useConversationTimer/useConversationTimer.d.ts +17 -0
- package/dist/types/hooks/useConversationTimer/useConversationTimer.d.ts.map +1 -0
- package/dist/types/hooks/useCreateConversation/helpers.d.ts +8 -0
- package/dist/types/hooks/useCreateConversation/helpers.d.ts.map +1 -0
- package/dist/types/hooks/useCreateConversation/index.d.ts +2 -0
- package/dist/types/hooks/useCreateConversation/index.d.ts.map +1 -0
- package/dist/types/hooks/useCreateConversation/useCreateConversation.d.ts +11 -0
- package/dist/types/hooks/useCreateConversation/useCreateConversation.d.ts.map +1 -0
- package/dist/types/hooks/useDeviceSwitcher/index.d.ts +2 -0
- package/dist/types/hooks/useDeviceSwitcher/index.d.ts.map +1 -0
- package/dist/types/hooks/useDeviceSwitcher/useDeviceSwitcher.d.ts +9 -0
- package/dist/types/hooks/useDeviceSwitcher/useDeviceSwitcher.d.ts.map +1 -0
- package/dist/types/hooks/useDevices/index.d.ts +2 -0
- package/dist/types/hooks/useDevices/index.d.ts.map +1 -0
- package/dist/types/hooks/useDevices/useDevices.d.ts +6 -0
- package/dist/types/hooks/useDevices/useDevices.d.ts.map +1 -0
- package/dist/types/hooks/useMediaPermissions/index.d.ts +3 -0
- package/dist/types/hooks/useMediaPermissions/index.d.ts.map +1 -0
- package/dist/types/hooks/useMediaPermissions/types.d.ts +3 -0
- package/dist/types/hooks/useMediaPermissions/types.d.ts.map +1 -0
- package/dist/types/hooks/useMediaPermissions/useMediaPermissions.d.ts +7 -0
- package/dist/types/hooks/useMediaPermissions/useMediaPermissions.d.ts.map +1 -0
- package/dist/types/hooks/useMediaRecorder/index.d.ts +2 -0
- package/dist/types/hooks/useMediaRecorder/index.d.ts.map +1 -0
- package/dist/types/hooks/useMediaRecorder/useMediaRecorder.d.ts +39 -0
- package/dist/types/hooks/useMediaRecorder/useMediaRecorder.d.ts.map +1 -0
- package/dist/types/hooks/useMediaRecorder/useReactRecorder.d.ts +70 -0
- package/dist/types/hooks/useMediaRecorder/useReactRecorder.d.ts.map +1 -0
- package/dist/types/hooks/useMicrophone/index.d.ts +2 -0
- package/dist/types/hooks/useMicrophone/index.d.ts.map +1 -0
- package/dist/types/hooks/useMicrophone/useMicrophone.d.ts +8 -0
- package/dist/types/hooks/useMicrophone/useMicrophone.d.ts.map +1 -0
- package/dist/types/hooks/useParticipantTrack/index.d.ts +2 -0
- package/dist/types/hooks/useParticipantTrack/index.d.ts.map +1 -0
- package/dist/types/hooks/useParticipantTrack/useParticipantTrack.d.ts +11 -0
- package/dist/types/hooks/useParticipantTrack/useParticipantTrack.d.ts.map +1 -0
- package/dist/types/hooks/usePictureInPicture/index.d.ts +6 -0
- package/dist/types/hooks/usePictureInPicture/index.d.ts.map +1 -0
- package/dist/types/hooks/usePictureInPicture/state.d.ts +8 -0
- package/dist/types/hooks/usePictureInPicture/state.d.ts.map +1 -0
- package/dist/types/hooks/usePictureInPicture/types.d.ts +25 -0
- package/dist/types/hooks/usePictureInPicture/types.d.ts.map +1 -0
- package/dist/types/hooks/usePictureInPicture/usePictureInPicture.d.ts +3 -0
- package/dist/types/hooks/usePictureInPicture/usePictureInPicture.d.ts.map +1 -0
- package/dist/types/hooks/usePictureInPicture/usePictureInPictureAuto.d.ts +3 -0
- package/dist/types/hooks/usePictureInPicture/usePictureInPictureAuto.d.ts.map +1 -0
- package/dist/types/hooks/useScreenShare/index.d.ts +2 -0
- package/dist/types/hooks/useScreenShare/index.d.ts.map +1 -0
- package/dist/types/hooks/useScreenShare/useScreenShare.d.ts +13 -0
- package/dist/types/hooks/useScreenShare/useScreenShare.d.ts.map +1 -0
- package/dist/types/hooks/useSpeaker/index.d.ts +2 -0
- package/dist/types/hooks/useSpeaker/index.d.ts.map +1 -0
- package/dist/types/hooks/useSpeaker/useSpeaker.d.ts +6 -0
- package/dist/types/hooks/useSpeaker/useSpeaker.d.ts.map +1 -0
- package/dist/types/hooks/useTextChat/index.d.ts +2 -0
- package/dist/types/hooks/useTextChat/index.d.ts.map +1 -0
- package/dist/types/hooks/useTextChat/usePendingMessages.d.ts +11 -0
- package/dist/types/hooks/useTextChat/usePendingMessages.d.ts.map +1 -0
- package/dist/types/hooks/useTextChat/useTextChat.d.ts +21 -0
- package/dist/types/hooks/useTextChat/useTextChat.d.ts.map +1 -0
- package/dist/types/hooks/useTextChat/useToolAwareSend.d.ts +8 -0
- package/dist/types/hooks/useTextChat/useToolAwareSend.d.ts.map +1 -0
- package/dist/types/hooks/useTools/index.d.ts +4 -0
- package/dist/types/hooks/useTools/index.d.ts.map +1 -0
- package/dist/types/hooks/useTools/model/errors.d.ts +4 -0
- package/dist/types/hooks/useTools/model/errors.d.ts.map +1 -0
- package/dist/types/hooks/useTools/model/types.d.ts +27 -0
- package/dist/types/hooks/useTools/model/types.d.ts.map +1 -0
- package/dist/types/hooks/useTools/public/useTools.d.ts +2 -0
- package/dist/types/hooks/useTools/public/useTools.d.ts.map +1 -0
- package/dist/types/hooks/useTools/runtime/createToolRuntimeSession.d.ts +9 -0
- package/dist/types/hooks/useTools/runtime/createToolRuntimeSession.d.ts.map +1 -0
- package/dist/types/hooks/useTools/runtime/executeToolCall.d.ts +3 -0
- package/dist/types/hooks/useTools/runtime/executeToolCall.d.ts.map +1 -0
- package/dist/types/hooks/useTools/runtime/executeToolCallBatch.d.ts +11 -0
- package/dist/types/hooks/useTools/runtime/executeToolCallBatch.d.ts.map +1 -0
- package/dist/types/hooks/useTools/runtime/types.d.ts +35 -0
- package/dist/types/hooks/useTools/runtime/types.d.ts.map +1 -0
- package/dist/types/hooks/useTools/runtime/useToolCallingRuntime.d.ts +9 -0
- package/dist/types/hooks/useTools/runtime/useToolCallingRuntime.d.ts.map +1 -0
- package/dist/types/hooks/useTools/store/state.d.ts +17 -0
- package/dist/types/hooks/useTools/store/state.d.ts.map +1 -0
- package/dist/types/hooks/useTools/utils/normalizeFunctionCall.d.ts +4 -0
- package/dist/types/hooks/useTools/utils/normalizeFunctionCall.d.ts.map +1 -0
- package/dist/types/hooks/useTools/utils/serialize.d.ts +3 -0
- package/dist/types/hooks/useTools/utils/serialize.d.ts.map +1 -0
- package/dist/types/hooks/useTranscriptions/index.d.ts +3 -0
- package/dist/types/hooks/useTranscriptions/index.d.ts.map +1 -0
- package/dist/types/hooks/useTranscriptions/types.d.ts +5 -0
- package/dist/types/hooks/useTranscriptions/types.d.ts.map +1 -0
- package/dist/types/hooks/useTranscriptions/useTranscription.d.ts +3 -0
- package/dist/types/hooks/useTranscriptions/useTranscription.d.ts.map +1 -0
- package/dist/types/hooks/useTranscriptions/useTranscriptions.d.ts +3 -0
- package/dist/types/hooks/useTranscriptions/useTranscriptions.d.ts.map +1 -0
- package/dist/types/hooks/useUserActivity/index.d.ts +2 -0
- package/dist/types/hooks/useUserActivity/index.d.ts.map +1 -0
- package/dist/types/hooks/useUserActivity/useUserActivity.d.ts +8 -0
- package/dist/types/hooks/useUserActivity/useUserActivity.d.ts.map +1 -0
- package/dist/types/livekit/components.d.ts +2 -0
- package/dist/types/livekit/components.d.ts.map +1 -0
- package/dist/types/livekit/sdk.d.ts +2 -0
- package/dist/types/livekit/sdk.d.ts.map +1 -0
- package/dist/types/sdk-consumer/context.d.ts +12 -0
- package/dist/types/sdk-consumer/context.d.ts.map +1 -0
- package/dist/types/sdk-consumer/index.d.ts +2 -0
- package/dist/types/sdk-consumer/index.d.ts.map +1 -0
- package/dist/types/sdk.d.ts +25 -0
- package/dist/types/sdk.d.ts.map +1 -0
- package/dist/types/services/FetchPersonaChatService.d.ts +15 -0
- package/dist/types/services/FetchPersonaChatService.d.ts.map +1 -0
- package/dist/types/types/http.d.ts +15 -0
- package/dist/types/types/http.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +4 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/service.d.ts +62 -0
- package/dist/types/types/service.d.ts.map +1 -0
- package/dist/types/utils/captureImage/captureImage.d.ts +3 -0
- package/dist/types/utils/captureImage/captureImage.d.ts.map +1 -0
- package/dist/types/utils/captureImage/helpers.d.ts +4 -0
- package/dist/types/utils/captureImage/helpers.d.ts.map +1 -0
- package/dist/types/utils/captureImage/index.d.ts +3 -0
- package/dist/types/utils/captureImage/index.d.ts.map +1 -0
- package/dist/types/utils/captureImage/types.d.ts +9 -0
- package/dist/types/utils/captureImage/types.d.ts.map +1 -0
- package/dist/types/utils/compatibility/compatibility.d.ts +3 -0
- package/dist/types/utils/compatibility/compatibility.d.ts.map +1 -0
- package/dist/types/utils/compatibility/index.d.ts +2 -0
- package/dist/types/utils/compatibility/index.d.ts.map +1 -0
- package/dist/types/utils.d.ts +2 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/livekit/components/package.json +5 -0
- package/livekit/sdk/package.json +5 -0
- package/livekit-client.patch +19 -0
- package/package.json +108 -0
- package/sdk/package.json +5 -0
- package/tpa/package.json +5 -0
- package/utils/package.json +5 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ToolExecutionInProgressError","executeToolCallBatch","createToolRuntimeSession","_ref","onRunningChange","isRunning","executeBatch","functionCalls","_ref2","registry","observer","length","resolveResponseToolCalls","_ref3","initialResponse","continueWithResults","response","_response$functionCal","results","resolveIncomingToolCalls","_ref4","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,SAASA,4BAA4B,QAAQ,iBAAiB;AAE9D,SAASC,oBAAoB,QAAQ,wBAAwB;AAe7D,OAAO,SAASC,wBAAwBA,CAAAC,IAAA,EAI2B;EAAA,IADjEC,eAAe,GAAAD,IAAA,CAAfC,eAAe;EAEf,IAAIC,SAAS,GAAG,KAAK;EAErB,eAAeC,YAAYA,CACzBC,aAAgD,EAAAC,KAAA,EAEhD;IAAA,IADEC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;MAAEC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;IAEpB,IAAIH,aAAa,CAACI,MAAM,KAAK,CAAC,EAAE;MAC9B,OAAO,EAAE;IACX;IAEA,IAAIN,SAAS,EAAE;MACb,MAAM,IAAIL,4BAA4B,CAAC,CAAC;IAC1C;IAEAK,SAAS,GAAG,IAAI;IAChBD,eAAe,YAAfA,eAAe,CAAG,IAAI,CAAC;IAEvB,IAAI;MACF,OAAO,MAAMH,oBAAoB,CAAC;QAChCM,aAAa;QACbE,QAAQ;QACRC;MACF,CAAC,CAAC;IACJ,CAAC,SAAS;MACRL,SAAS,GAAG,KAAK;MACjBD,eAAe,YAAfA,eAAe,CAAG,KAAK,CAAC;IAC1B;EACF;EAEA,eAAeQ,wBAAwBA,CAAAC,KAAA,EAKQ;IAAA,IAJ7CC,eAAe,GAAAD,KAAA,CAAfC,eAAe;MACfC,mBAAmB,GAAAF,KAAA,CAAnBE,mBAAmB;MACnBN,QAAQ,GAAAI,KAAA,CAARJ,QAAQ;MACRC,QAAQ,GAAAG,KAAA,CAARH,QAAQ;IAER,IAAIM,QAAQ,GAAGF,eAAe;IAE9B,OAAO,CAAC,EAAAG,qBAAA,GAAAD,QAAQ,CAACT,aAAa,qBAAtBU,qBAAA,CAAwBN,MAAM,KAAI,CAAC,IAAI,CAAC,EAAE;MAAA,IAAAM,qBAAA;MAChD,MAAMC,OAAO,GAAG,MAAMZ,YAAY,CAACU,QAAQ,CAACT,aAAa,IAAI,EAAE,EAAE;QAC/DE,QAAQ;QACRC;MACF,CAAC,CAAC;MACFM,QAAQ,GAAG,MAAMD,mBAAmB,CAACG,OAAO,CAAC;IAC/C;IAEA,OAAOF,QAAQ;EACjB;EAEA,eAAeG,wBAAwBA,CAAAC,KAAA,EAKH;IAAA,IAJlCC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;MACRC,OAAO,GAAAF,KAAA,CAAPE,OAAO;MACPb,QAAQ,GAAAW,KAAA,CAARX,QAAQ;MACRC,QAAQ,GAAAU,KAAA,CAARV,QAAQ;IAER,MAAMa,mBAAmB,GAAG,MAAMjB,YAAY,CAACe,QAAQ,CAACd,aAAa,EAAE;MACrEE,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;IACLX,wBAAwB;IACxBO;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { extractToolErrorMessage, serializeToolContent } from '../utils/serialize';
|
|
2
|
+
export async function executeToolCall(call, registry) {
|
|
3
|
+
const handler = registry[call.name];
|
|
4
|
+
if (!handler) {
|
|
5
|
+
return {
|
|
6
|
+
id: call.id,
|
|
7
|
+
name: call.name,
|
|
8
|
+
success: false,
|
|
9
|
+
content: `Tool "${call.name}" is not registered.`
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
try {
|
|
13
|
+
const output = await handler(call.arguments ?? null);
|
|
14
|
+
return {
|
|
15
|
+
id: call.id,
|
|
16
|
+
name: call.name,
|
|
17
|
+
success: true,
|
|
18
|
+
content: serializeToolContent(output)
|
|
19
|
+
};
|
|
20
|
+
} catch (error) {
|
|
21
|
+
return {
|
|
22
|
+
id: call.id,
|
|
23
|
+
name: call.name,
|
|
24
|
+
success: false,
|
|
25
|
+
content: extractToolErrorMessage(error)
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=executeToolCall.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["extractToolErrorMessage","serializeToolContent","executeToolCall","call","registry","handler","name","id","success","content","output","arguments","error"],"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,SACEA,uBAAuB,EACvBC,oBAAoB,QACf,oBAAoB;AAE3B,OAAO,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,EAAER,oBAAoB,CAACS,MAAM;IACtC,CAAC;EACH,CAAC,CAAC,OAAOE,KAAK,EAAE;IACd,OAAO;MACLL,EAAE,EAAEJ,IAAI,CAACI,EAAE;MACXD,IAAI,EAAEH,IAAI,CAACG,IAAI;MACfE,OAAO,EAAE,KAAK;MACdC,OAAO,EAAET,uBAAuB,CAACY,KAAK;IACxC,CAAC;EACH;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { normalizeFunctionCall } from '../utils/normalizeFunctionCall';
|
|
2
|
+
import { executeToolCall } from './executeToolCall';
|
|
3
|
+
function isFunctionCallResult(value) {
|
|
4
|
+
return typeof value === 'object' && value !== null && 'functionCallId' in value;
|
|
5
|
+
}
|
|
6
|
+
function toFunctionCallResult(result) {
|
|
7
|
+
return {
|
|
8
|
+
functionCallId: result.id,
|
|
9
|
+
result: result.success ? result.content : '',
|
|
10
|
+
error: result.success ? undefined : result.content
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export async function executeToolCallBatch(_ref) {
|
|
14
|
+
let functionCalls = _ref.functionCalls,
|
|
15
|
+
registry = _ref.registry,
|
|
16
|
+
observer = _ref.observer;
|
|
17
|
+
const calls = [];
|
|
18
|
+
const results = [];
|
|
19
|
+
for (const rawCall of functionCalls) {
|
|
20
|
+
const normalized = normalizeFunctionCall(rawCall);
|
|
21
|
+
if (isFunctionCallResult(normalized)) {
|
|
22
|
+
results.push(normalized);
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
calls.push(normalized);
|
|
26
|
+
}
|
|
27
|
+
observer == null || observer.onBatchDiscovered == null || observer.onBatchDiscovered(calls);
|
|
28
|
+
for (const call of calls) {
|
|
29
|
+
observer == null || observer.onCallStarted == null || observer.onCallStarted(call.id);
|
|
30
|
+
const toolResult = await executeToolCall(call, registry);
|
|
31
|
+
observer == null || observer.onCallCompleted == null || observer.onCallCompleted(call.id, toolResult);
|
|
32
|
+
results.push(toFunctionCallResult(toolResult));
|
|
33
|
+
}
|
|
34
|
+
return results;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=executeToolCallBatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["normalizeFunctionCall","executeToolCall","isFunctionCallResult","value","toFunctionCallResult","result","functionCallId","id","success","content","error","undefined","executeToolCallBatch","_ref","functionCalls","registry","observer","calls","results","rawCall","normalized","push","onBatchDiscovered","call","onCallStarted","toolResult","onCallCompleted"],"sources":["../../../../../src/hooks/useTools/runtime/executeToolCallBatch.ts"],"sourcesContent":["import type { FunctionCall, FunctionCallResult } from '../../../types/service';\n\nimport type { ToolCallRequest, ToolsRegistry } from '../model/types';\nimport { normalizeFunctionCall } from '../utils/normalizeFunctionCall';\nimport { executeToolCall } from './executeToolCall';\nimport type { ToolRuntimeObserver } from './types';\n\ntype ExecuteToolCallBatchOptions = {\n functionCalls: readonly FunctionCall[];\n registry: ToolsRegistry;\n observer?: ToolRuntimeObserver;\n};\n\nfunction isFunctionCallResult(value: unknown): value is FunctionCallResult {\n return (\n typeof value === 'object' && value !== null && 'functionCallId' in value\n );\n}\n\nfunction toFunctionCallResult(\n result: import('../model/types').ToolCallResult,\n): FunctionCallResult {\n return {\n functionCallId: result.id,\n result: result.success ? result.content : '',\n error: result.success ? undefined : result.content,\n };\n}\n\nexport async function executeToolCallBatch({\n functionCalls,\n registry,\n observer,\n}: ExecuteToolCallBatchOptions): Promise<FunctionCallResult[]> {\n const calls: ToolCallRequest[] = [];\n const results: FunctionCallResult[] = [];\n\n for (const rawCall of functionCalls) {\n const normalized = normalizeFunctionCall(rawCall);\n\n if (isFunctionCallResult(normalized)) {\n results.push(normalized);\n continue;\n }\n\n calls.push(normalized);\n }\n\n observer?.onBatchDiscovered?.(calls);\n\n for (const call of calls) {\n observer?.onCallStarted?.(call.id);\n\n const toolResult = await executeToolCall(call, registry);\n\n observer?.onCallCompleted?.(call.id, toolResult);\n results.push(toFunctionCallResult(toolResult));\n }\n\n return results;\n}\n"],"mappings":"AAGA,SAASA,qBAAqB,QAAQ,gCAAgC;AACtE,SAASC,eAAe,QAAQ,mBAAmB;AASnD,SAASC,oBAAoBA,CAACC,KAAc,EAA+B;EACzE,OACE,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,IAAI,gBAAgB,IAAIA,KAAK;AAE5E;AAEA,SAASC,oBAAoBA,CAC3BC,MAA+C,EAC3B;EACpB,OAAO;IACLC,cAAc,EAAED,MAAM,CAACE,EAAE;IACzBF,MAAM,EAAEA,MAAM,CAACG,OAAO,GAAGH,MAAM,CAACI,OAAO,GAAG,EAAE;IAC5CC,KAAK,EAAEL,MAAM,CAACG,OAAO,GAAGG,SAAS,GAAGN,MAAM,CAACI;EAC7C,CAAC;AACH;AAEA,OAAO,eAAeG,oBAAoBA,CAAAC,IAAA,EAIqB;EAAA,IAH7DC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IACbC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACRC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;EAER,MAAMC,KAAwB,GAAG,EAAE;EACnC,MAAMC,OAA6B,GAAG,EAAE;EAExC,KAAK,MAAMC,OAAO,IAAIL,aAAa,EAAE;IACnC,MAAMM,UAAU,GAAGpB,qBAAqB,CAACmB,OAAO,CAAC;IAEjD,IAAIjB,oBAAoB,CAACkB,UAAU,CAAC,EAAE;MACpCF,OAAO,CAACG,IAAI,CAACD,UAAU,CAAC;MACxB;IACF;IAEAH,KAAK,CAACI,IAAI,CAACD,UAAU,CAAC;EACxB;EAEAJ,QAAQ,YAARA,QAAQ,CAAEM,iBAAiB,YAA3BN,QAAQ,CAAEM,iBAAiB,CAAGL,KAAK,CAAC;EAEpC,KAAK,MAAMM,IAAI,IAAIN,KAAK,EAAE;IACxBD,QAAQ,YAARA,QAAQ,CAAEQ,aAAa,YAAvBR,QAAQ,CAAEQ,aAAa,CAAGD,IAAI,CAAChB,EAAE,CAAC;IAElC,MAAMkB,UAAU,GAAG,MAAMxB,eAAe,CAACsB,IAAI,EAAER,QAAQ,CAAC;IAExDC,QAAQ,YAARA,QAAQ,CAAEU,eAAe,YAAzBV,QAAQ,CAAEU,eAAe,CAAGH,IAAI,CAAChB,EAAE,EAAEkB,UAAU,CAAC;IAChDP,OAAO,CAACG,IAAI,CAACjB,oBAAoB,CAACqB,UAAU,CAAC,CAAC;EAChD;EAEA,OAAOP,OAAO;AAChB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../../../src/hooks/useTools/runtime/types.ts"],"sourcesContent":["import type { FunctionCall, FunctionCallResult } from '../../../types/service';\n\nimport type {\n ToolCallRequest,\n ToolCallResult,\n ToolCallSourceResponse,\n ToolsRegistry,\n} from '../model/types';\n\nexport type ToolCallEnvelope = {\n requestId: string;\n functionCalls: readonly FunctionCall[];\n};\n\nexport type ToolResultEnvelope = {\n requestId: string;\n functionCallResults: FunctionCallResult[];\n};\n\nexport type ToolRuntimeAdapter = {\n sendResults(envelope: ToolResultEnvelope): Promise<void>;\n};\n\nexport type ToolRuntimeObserver = {\n onBatchDiscovered?(calls: ToolCallRequest[]): void;\n onCallStarted?(callId: string): void;\n onCallCompleted?(callId: string, result: ToolCallResult): void;\n};\n\nexport type ToolRuntimeExecutionOptions = {\n registry: ToolsRegistry;\n observer?: ToolRuntimeObserver;\n};\n\nexport type ResolveResponseToolCallsOptions<\n TResponse extends ToolCallSourceResponse = ToolCallSourceResponse,\n> = {\n initialResponse: TResponse;\n continueWithResults: (results: FunctionCallResult[]) => Promise<TResponse>;\n} & ToolRuntimeExecutionOptions;\n\nexport type ResolveIncomingToolCallsOptions = {\n envelope: ToolCallEnvelope;\n adapter: ToolRuntimeAdapter;\n} & ToolRuntimeExecutionOptions;\n\nexport type ToolRuntimeSession<\n TResponse extends ToolCallSourceResponse = ToolCallSourceResponse,\n> = {\n resolveResponseToolCalls(\n options: ResolveResponseToolCallsOptions<TResponse>,\n ): Promise<TResponse>;\n resolveIncomingToolCalls(\n options: ResolveIncomingToolCallsOptions,\n ): Promise<void>;\n};\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { useState } from 'react';
|
|
2
|
+
import { useSetAtom } from 'jotai';
|
|
3
|
+
import { appendToolCallsAtom, markToolCallCompletedAtom, markToolCallRunningAtom } from '../store/state';
|
|
4
|
+
import { useSdkConsumer } from '../../../sdk-consumer';
|
|
5
|
+
import { createToolRuntimeSession } from './createToolRuntimeSession';
|
|
6
|
+
export function useToolCallingRuntime() {
|
|
7
|
+
const _useSdkConsumer = useSdkConsumer(),
|
|
8
|
+
_useSdkConsumer$tools = _useSdkConsumer.tools,
|
|
9
|
+
registry = _useSdkConsumer$tools === void 0 ? {} : _useSdkConsumer$tools;
|
|
10
|
+
const appendCalls = useSetAtom(appendToolCallsAtom);
|
|
11
|
+
const markRunning = useSetAtom(markToolCallRunningAtom);
|
|
12
|
+
const markCompleted = useSetAtom(markToolCallCompletedAtom);
|
|
13
|
+
const _useState = useState(false),
|
|
14
|
+
isRunning = _useState[0],
|
|
15
|
+
setIsRunning = _useState[1];
|
|
16
|
+
const observer = {
|
|
17
|
+
onBatchDiscovered(calls) {
|
|
18
|
+
appendCalls(calls);
|
|
19
|
+
},
|
|
20
|
+
onCallStarted(callId) {
|
|
21
|
+
markRunning(callId);
|
|
22
|
+
},
|
|
23
|
+
onCallCompleted(callId, result) {
|
|
24
|
+
markCompleted({
|
|
25
|
+
id: callId,
|
|
26
|
+
result
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
const _useState2 = useState(() => createToolRuntimeSession({
|
|
31
|
+
onRunningChange(nextIsRunning) {
|
|
32
|
+
setIsRunning(nextIsRunning);
|
|
33
|
+
}
|
|
34
|
+
})),
|
|
35
|
+
session = _useState2[0];
|
|
36
|
+
function resolveResponseToolCalls(initialResponse, continueWithResults) {
|
|
37
|
+
return session.resolveResponseToolCalls({
|
|
38
|
+
initialResponse,
|
|
39
|
+
continueWithResults,
|
|
40
|
+
registry,
|
|
41
|
+
observer
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
function resolveIncomingToolCalls(envelope, adapter) {
|
|
45
|
+
return session.resolveIncomingToolCalls({
|
|
46
|
+
envelope,
|
|
47
|
+
adapter,
|
|
48
|
+
registry,
|
|
49
|
+
observer
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
isRunning,
|
|
54
|
+
resolveResponseToolCalls,
|
|
55
|
+
resolveIncomingToolCalls
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=useToolCallingRuntime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useState","useSetAtom","appendToolCallsAtom","markToolCallCompletedAtom","markToolCallRunningAtom","useSdkConsumer","createToolRuntimeSession","useToolCallingRuntime","_useSdkConsumer","_useSdkConsumer$tools","tools","registry","appendCalls","markRunning","markCompleted","_useState","isRunning","setIsRunning","observer","onBatchDiscovered","calls","onCallStarted","callId","onCallCompleted","result","id","_useState2","onRunningChange","nextIsRunning","session","resolveResponseToolCalls","initialResponse","continueWithResults","resolveIncomingToolCalls","envelope","adapter"],"sources":["../../../../../src/hooks/useTools/runtime/useToolCallingRuntime.ts"],"sourcesContent":["import type { FunctionCallResult } from '../../../types';\nimport { useState } from 'react';\nimport { useSetAtom } from 'jotai';\n\nimport type { ToolCallSourceResponse } from '../model/types';\nimport {\n appendToolCallsAtom,\n markToolCallCompletedAtom,\n markToolCallRunningAtom,\n} from '../store/state';\nimport { useSdkConsumer } from '../../../sdk-consumer';\nimport { createToolRuntimeSession } from './createToolRuntimeSession';\nimport type {\n ToolCallEnvelope,\n ToolRuntimeAdapter,\n ToolRuntimeObserver,\n ToolRuntimeSession,\n} from './types';\n\nexport function useToolCallingRuntime<\n TResponse extends ToolCallSourceResponse,\n>() {\n const { tools: registry = {} } = useSdkConsumer();\n const appendCalls = useSetAtom(appendToolCallsAtom);\n const markRunning = useSetAtom(markToolCallRunningAtom);\n const markCompleted = useSetAtom(markToolCallCompletedAtom);\n const [isRunning, setIsRunning] = useState(false);\n\n const observer: ToolRuntimeObserver = {\n onBatchDiscovered(calls) {\n appendCalls(calls);\n },\n onCallStarted(callId) {\n markRunning(callId);\n },\n onCallCompleted(callId, result) {\n markCompleted({ id: callId, result });\n },\n };\n\n const [session] = useState<ToolRuntimeSession<TResponse>>(() =>\n createToolRuntimeSession<TResponse>({\n onRunningChange(nextIsRunning) {\n setIsRunning(nextIsRunning);\n },\n }),\n );\n\n function resolveResponseToolCalls(\n initialResponse: TResponse,\n continueWithResults: (results: FunctionCallResult[]) => Promise<TResponse>,\n ) {\n return session.resolveResponseToolCalls({\n initialResponse,\n continueWithResults,\n registry,\n observer,\n });\n }\n\n function resolveIncomingToolCalls(\n envelope: ToolCallEnvelope,\n adapter: ToolRuntimeAdapter,\n ) {\n return session.resolveIncomingToolCalls({\n envelope,\n adapter,\n registry,\n observer,\n });\n }\n\n return {\n isRunning,\n resolveResponseToolCalls,\n resolveIncomingToolCalls,\n };\n}\n"],"mappings":"AACA,SAASA,QAAQ,QAAQ,OAAO;AAChC,SAASC,UAAU,QAAQ,OAAO;AAGlC,SACEC,mBAAmB,EACnBC,yBAAyB,EACzBC,uBAAuB,QAClB,gBAAgB;AACvB,SAASC,cAAc,QAAQ,uBAAuB;AACtD,SAASC,wBAAwB,QAAQ,4BAA4B;AAQrE,OAAO,SAASC,qBAAqBA,CAAA,EAEjC;EACF,MAAAC,eAAA,GAAiCH,cAAc,CAAC,CAAC;IAAAI,qBAAA,GAAAD,eAAA,CAAzCE,KAAK;IAAEC,QAAQ,GAAAF,qBAAA,cAAG,CAAC,CAAC,GAAAA,qBAAA;EAC5B,MAAMG,WAAW,GAAGX,UAAU,CAACC,mBAAmB,CAAC;EACnD,MAAMW,WAAW,GAAGZ,UAAU,CAACG,uBAAuB,CAAC;EACvD,MAAMU,aAAa,GAAGb,UAAU,CAACE,yBAAyB,CAAC;EAC3D,MAAAY,SAAA,GAAkCf,QAAQ,CAAC,KAAK,CAAC;IAA1CgB,SAAS,GAAAD,SAAA;IAAEE,YAAY,GAAAF,SAAA;EAE9B,MAAMG,QAA6B,GAAG;IACpCC,iBAAiBA,CAACC,KAAK,EAAE;MACvBR,WAAW,CAACQ,KAAK,CAAC;IACpB,CAAC;IACDC,aAAaA,CAACC,MAAM,EAAE;MACpBT,WAAW,CAACS,MAAM,CAAC;IACrB,CAAC;IACDC,eAAeA,CAACD,MAAM,EAAEE,MAAM,EAAE;MAC9BV,aAAa,CAAC;QAAEW,EAAE,EAAEH,MAAM;QAAEE;MAAO,CAAC,CAAC;IACvC;EACF,CAAC;EAED,MAAAE,UAAA,GAAkB1B,QAAQ,CAAgC,MACxDM,wBAAwB,CAAY;MAClCqB,eAAeA,CAACC,aAAa,EAAE;QAC7BX,YAAY,CAACW,aAAa,CAAC;MAC7B;IACF,CAAC,CACH,CAAC;IANMC,OAAO,GAAAH,UAAA;EAQd,SAASI,wBAAwBA,CAC/BC,eAA0B,EAC1BC,mBAA0E,EAC1E;IACA,OAAOH,OAAO,CAACC,wBAAwB,CAAC;MACtCC,eAAe;MACfC,mBAAmB;MACnBrB,QAAQ;MACRO;IACF,CAAC,CAAC;EACJ;EAEA,SAASe,wBAAwBA,CAC/BC,QAA0B,EAC1BC,OAA2B,EAC3B;IACA,OAAON,OAAO,CAACI,wBAAwB,CAAC;MACtCC,QAAQ;MACRC,OAAO;MACPxB,QAAQ;MACRO;IACF,CAAC,CAAC;EACJ;EAEA,OAAO;IACLF,SAAS;IACTc,wBAAwB;IACxBG;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { atom } from 'jotai';
|
|
2
|
+
export const toolCallsAtom = atom([]);
|
|
3
|
+
export const appendToolCallsAtom = atom(null, (get, set, calls) => {
|
|
4
|
+
const snapshots = calls.map(call => ({
|
|
5
|
+
id: call.id,
|
|
6
|
+
name: call.name,
|
|
7
|
+
arguments: call.arguments ?? null,
|
|
8
|
+
status: 'pending',
|
|
9
|
+
result: null
|
|
10
|
+
}));
|
|
11
|
+
set(toolCallsAtom, [...get(toolCallsAtom), ...snapshots]);
|
|
12
|
+
});
|
|
13
|
+
export const markToolCallRunningAtom = atom(null, (get, set, callId) => {
|
|
14
|
+
set(toolCallsAtom, get(toolCallsAtom).map(call => call.id === callId ? {
|
|
15
|
+
...call,
|
|
16
|
+
status: 'running'
|
|
17
|
+
} : call));
|
|
18
|
+
});
|
|
19
|
+
export const markToolCallCompletedAtom = atom(null, (get, set, payload) => {
|
|
20
|
+
set(toolCallsAtom, get(toolCallsAtom).map(call => call.id === payload.id ? {
|
|
21
|
+
...call,
|
|
22
|
+
status: 'completed',
|
|
23
|
+
result: payload.result
|
|
24
|
+
} : call));
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["atom","toolCallsAtom","appendToolCallsAtom","get","set","calls","snapshots","map","call","id","name","arguments","status","result","markToolCallRunningAtom","callId","markToolCallCompletedAtom","payload"],"sources":["../../../../../src/hooks/useTools/store/state.ts"],"sourcesContent":["import { atom } from 'jotai';\n\nimport type {\n ToolCallRequest,\n ToolCallResult,\n ToolCallSnapshot,\n} from '../model/types';\n\nexport const toolCallsAtom = atom<readonly ToolCallSnapshot[]>([]);\n\nexport const appendToolCallsAtom = atom(\n null,\n (get, set, calls: readonly ToolCallRequest[]) => {\n const snapshots: ToolCallSnapshot[] = calls.map((call) => ({\n id: call.id,\n name: call.name,\n arguments: call.arguments ?? null,\n status: 'pending',\n result: null,\n }));\n\n set(toolCallsAtom, [...get(toolCallsAtom), ...snapshots]);\n },\n);\n\nexport const markToolCallRunningAtom = atom(\n null,\n (get, set, callId: string) => {\n set(\n toolCallsAtom,\n get(toolCallsAtom).map<ToolCallSnapshot>((call) =>\n call.id === callId ? { ...call, status: 'running' } : call,\n ),\n );\n },\n);\n\nexport const markToolCallCompletedAtom = atom(\n null,\n (get, set, payload: { id: string; result: ToolCallResult }) => {\n set(\n toolCallsAtom,\n get(toolCallsAtom).map<ToolCallSnapshot>((call) =>\n call.id === payload.id\n ? { ...call, status: 'completed', result: payload.result }\n : call,\n ),\n );\n },\n);\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,OAAO;AAQ5B,OAAO,MAAMC,aAAa,GAAGD,IAAI,CAA8B,EAAE,CAAC;AAElE,OAAO,MAAME,mBAAmB,GAAGF,IAAI,CACrC,IAAI,EACJ,CAACG,GAAG,EAAEC,GAAG,EAAEC,KAAiC,KAAK;EAC/C,MAAMC,SAA6B,GAAGD,KAAK,CAACE,GAAG,CAAEC,IAAI,KAAM;IACzDC,EAAE,EAAED,IAAI,CAACC,EAAE;IACXC,IAAI,EAAEF,IAAI,CAACE,IAAI;IACfC,SAAS,EAAEH,IAAI,CAACG,SAAS,IAAI,IAAI;IACjCC,MAAM,EAAE,SAAS;IACjBC,MAAM,EAAE;EACV,CAAC,CAAC,CAAC;EAEHT,GAAG,CAACH,aAAa,EAAE,CAAC,GAAGE,GAAG,CAACF,aAAa,CAAC,EAAE,GAAGK,SAAS,CAAC,CAAC;AAC3D,CACF,CAAC;AAED,OAAO,MAAMQ,uBAAuB,GAAGd,IAAI,CACzC,IAAI,EACJ,CAACG,GAAG,EAAEC,GAAG,EAAEW,MAAc,KAAK;EAC5BX,GAAG,CACDH,aAAa,EACbE,GAAG,CAACF,aAAa,CAAC,CAACM,GAAG,CAAoBC,IAAI,IAC5CA,IAAI,CAACC,EAAE,KAAKM,MAAM,GAAG;IAAE,GAAGP,IAAI;IAAEI,MAAM,EAAE;EAAU,CAAC,GAAGJ,IACxD,CACF,CAAC;AACH,CACF,CAAC;AAED,OAAO,MAAMQ,yBAAyB,GAAGhB,IAAI,CAC3C,IAAI,EACJ,CAACG,GAAG,EAAEC,GAAG,EAAEa,OAA+C,KAAK;EAC7Db,GAAG,CACDH,aAAa,EACbE,GAAG,CAACF,aAAa,CAAC,CAACM,GAAG,CAAoBC,IAAI,IAC5CA,IAAI,CAACC,EAAE,KAAKQ,OAAO,CAACR,EAAE,GAClB;IAAE,GAAGD,IAAI;IAAEI,MAAM,EAAE,WAAW;IAAEC,MAAM,EAAEI,OAAO,CAACJ;EAAO,CAAC,GACxDL,IACN,CACF,CAAC;AACH,CACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export function normalizeFunctionCall(call) {
|
|
2
|
+
var _call$functionCallId, _call$name;
|
|
3
|
+
const id = (_call$functionCallId = call.functionCallId) == null ? void 0 : _call$functionCallId.trim();
|
|
4
|
+
const name = (_call$name = call.name) == null ? void 0 : _call$name.trim();
|
|
5
|
+
if (!id || !name) {
|
|
6
|
+
return {
|
|
7
|
+
functionCallId: call.functionCallId ?? '',
|
|
8
|
+
result: '',
|
|
9
|
+
error: 'Function call is missing required id or name.'
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
return {
|
|
13
|
+
id,
|
|
14
|
+
name,
|
|
15
|
+
arguments: JSON.parse(call.arguments || '{}') ?? null
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=normalizeFunctionCall.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["normalizeFunctionCall","call","_call$functionCallId","_call$name","id","functionCallId","trim","name","result","error","arguments","JSON","parse"],"sources":["../../../../../src/hooks/useTools/utils/normalizeFunctionCall.ts"],"sourcesContent":["import type { FunctionCall, FunctionCallResult } from '../../../types/service';\n\nimport type { ToolCallRequest } from '../model/types';\n\nexport function normalizeFunctionCall(\n call: FunctionCall,\n): ToolCallRequest | FunctionCallResult {\n const id = call.functionCallId?.trim();\n const name = call.name?.trim();\n\n if (!id || !name) {\n return {\n functionCallId: call.functionCallId ?? '',\n result: '',\n error: 'Function call is missing required id or name.',\n };\n }\n\n return {\n id,\n name,\n arguments:\n (JSON.parse(call.arguments || '{}') as Record<string, unknown>) ?? null,\n };\n}\n"],"mappings":"AAIA,OAAO,SAASA,qBAAqBA,CACnCC,IAAkB,EACoB;EAAA,IAAAC,oBAAA,EAAAC,UAAA;EACtC,MAAMC,EAAE,IAAAF,oBAAA,GAAGD,IAAI,CAACI,cAAc,qBAAnBH,oBAAA,CAAqBI,IAAI,CAAC,CAAC;EACtC,MAAMC,IAAI,IAAAJ,UAAA,GAAGF,IAAI,CAACM,IAAI,qBAATJ,UAAA,CAAWG,IAAI,CAAC,CAAC;EAE9B,IAAI,CAACF,EAAE,IAAI,CAACG,IAAI,EAAE;IAChB,OAAO;MACLF,cAAc,EAAEJ,IAAI,CAACI,cAAc,IAAI,EAAE;MACzCG,MAAM,EAAE,EAAE;MACVC,KAAK,EAAE;IACT,CAAC;EACH;EAEA,OAAO;IACLL,EAAE;IACFG,IAAI;IACJG,SAAS,EACNC,IAAI,CAACC,KAAK,CAACX,IAAI,CAACS,SAAS,IAAI,IAAI,CAAC,IAAgC;EACvE,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export function serializeToolContent(value) {
|
|
2
|
+
if (typeof value === 'string') {
|
|
3
|
+
return value;
|
|
4
|
+
}
|
|
5
|
+
if (value === null || value === undefined) {
|
|
6
|
+
return '';
|
|
7
|
+
}
|
|
8
|
+
if (typeof value === 'bigint') {
|
|
9
|
+
return String(value);
|
|
10
|
+
}
|
|
11
|
+
try {
|
|
12
|
+
return JSON.stringify(value);
|
|
13
|
+
} catch {
|
|
14
|
+
return String(value);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export function extractToolErrorMessage(error) {
|
|
18
|
+
if (error instanceof Error && error.message) {
|
|
19
|
+
return error.message;
|
|
20
|
+
}
|
|
21
|
+
return serializeToolContent(error) || 'Unknown tool execution error';
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=serialize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["serializeToolContent","value","undefined","String","JSON","stringify","extractToolErrorMessage","error","Error","message"],"sources":["../../../../../src/hooks/useTools/utils/serialize.ts"],"sourcesContent":["export function serializeToolContent(value: unknown): string {\n if (typeof value === 'string') {\n return value;\n }\n\n if (value === null || value === undefined) {\n return '';\n }\n\n if (typeof value === 'bigint') {\n return String(value);\n }\n\n try {\n return JSON.stringify(value);\n } catch {\n return String(value);\n }\n}\n\nexport function extractToolErrorMessage(error: unknown): string {\n if (error instanceof Error && error.message) {\n return error.message;\n }\n\n return serializeToolContent(error) || 'Unknown tool execution error';\n}\n"],"mappings":"AAAA,OAAO,SAASA,oBAAoBA,CAACC,KAAc,EAAU;EAC3D,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAOA,KAAK;EACd;EAEA,IAAIA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKC,SAAS,EAAE;IACzC,OAAO,EAAE;EACX;EAEA,IAAI,OAAOD,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAOE,MAAM,CAACF,KAAK,CAAC;EACtB;EAEA,IAAI;IACF,OAAOG,IAAI,CAACC,SAAS,CAACJ,KAAK,CAAC;EAC9B,CAAC,CAAC,MAAM;IACN,OAAOE,MAAM,CAACF,KAAK,CAAC;EACtB;AACF;AAEA,OAAO,SAASK,uBAAuBA,CAACC,KAAc,EAAU;EAC9D,IAAIA,KAAK,YAAYC,KAAK,IAAID,KAAK,CAACE,OAAO,EAAE;IAC3C,OAAOF,KAAK,CAACE,OAAO;EACtB;EAEA,OAAOT,oBAAoB,CAACO,KAAK,CAAC,IAAI,8BAA8B;AACtE","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../../src/hooks/useTranscriptions/index.ts"],"sourcesContent":["export * from './useTranscription';\nexport * from './useTranscriptions';\n"],"mappings":"AAAA,cAAc,oBAAoB;AAClC,cAAc,qBAAqB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../../src/hooks/useTranscriptions/types.ts"],"sourcesContent":["import { type ConversationParticipantRole } from '../../conversation';\n\nexport type UseTranscriptionsOptions = {\n source?: ConversationParticipantRole;\n};\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useTranscriptions } from './useTranscriptions';
|
|
2
|
+
export function useTranscription(options) {
|
|
3
|
+
var _transcriptions;
|
|
4
|
+
if (options === void 0) {
|
|
5
|
+
options = {};
|
|
6
|
+
}
|
|
7
|
+
const _options = options,
|
|
8
|
+
_options$source = _options.source,
|
|
9
|
+
source = _options$source === void 0 ? 'agent' : _options$source;
|
|
10
|
+
const transcriptions = useTranscriptions({
|
|
11
|
+
source
|
|
12
|
+
});
|
|
13
|
+
return (_transcriptions = transcriptions[transcriptions.length - 1]) == null ? void 0 : _transcriptions.message;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=useTranscription.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useTranscriptions","useTranscription","options","_transcriptions","_options","_options$source","source","transcriptions","length","message"],"sources":["../../../../src/hooks/useTranscriptions/useTranscription.ts"],"sourcesContent":["import { useTranscriptions } from './useTranscriptions';\nimport { type UseTranscriptionsOptions } from './types';\n\nexport function useTranscription(options: UseTranscriptionsOptions = {}) {\n const { source = 'agent' } = options;\n\n const transcriptions = useTranscriptions({ source });\n\n return transcriptions[transcriptions.length - 1]?.message;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAGvD,OAAO,SAASC,gBAAgBA,CAACC,OAAiC,EAAO;EAAA,IAAAC,eAAA;EAAA,IAAxCD,OAAiC;IAAjCA,OAAiC,GAAG,CAAC,CAAC;EAAA;EACrE,MAAAE,QAAA,GAA6BF,OAAO;IAAAG,eAAA,GAAAD,QAAA,CAA5BE,MAAM;IAANA,MAAM,GAAAD,eAAA,cAAG,OAAO,GAAAA,eAAA;EAExB,MAAME,cAAc,GAAGP,iBAAiB,CAAC;IAAEM;EAAO,CAAC,CAAC;EAEpD,QAAAH,eAAA,GAAOI,cAAc,CAACA,cAAc,CAACC,MAAM,GAAG,CAAC,CAAC,qBAAzCL,eAAA,CAA2CM,OAAO;AAC3D","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useAtomValue } from 'jotai';
|
|
2
|
+
import * as state from '../../conversation/state';
|
|
3
|
+
export function useTranscriptions(options) {
|
|
4
|
+
if (options === void 0) {
|
|
5
|
+
options = {};
|
|
6
|
+
}
|
|
7
|
+
const _options = options,
|
|
8
|
+
source = _options.source;
|
|
9
|
+
const transcriptions = useAtomValue(state.transcriptions);
|
|
10
|
+
if (source) {
|
|
11
|
+
return transcriptions.filter(transcription => transcription.source === source);
|
|
12
|
+
}
|
|
13
|
+
return transcriptions;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=useTranscriptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useAtomValue","state","useTranscriptions","options","_options","source","transcriptions","filter","transcription"],"sources":["../../../../src/hooks/useTranscriptions/useTranscriptions.ts"],"sourcesContent":["import { useAtomValue } from 'jotai';\n\nimport * as state from '../../conversation/state';\n\nimport { type UseTranscriptionsOptions } from './types';\n\nexport function useTranscriptions(options: UseTranscriptionsOptions = {}) {\n const { source } = options;\n\n const transcriptions = useAtomValue(state.transcriptions);\n\n if (source) {\n return transcriptions.filter(\n (transcription) => transcription.source === source,\n );\n }\n\n return transcriptions;\n}\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,OAAO;AAEpC,OAAO,KAAKC,KAAK,MAAM,0BAA0B;AAIjD,OAAO,SAASC,iBAAiBA,CAACC,OAAiC,EAAO;EAAA,IAAxCA,OAAiC;IAAjCA,OAAiC,GAAG,CAAC,CAAC;EAAA;EACtE,MAAAC,QAAA,GAAmBD,OAAO;IAAlBE,MAAM,GAAAD,QAAA,CAANC,MAAM;EAEd,MAAMC,cAAc,GAAGN,YAAY,CAACC,KAAK,CAACK,cAAc,CAAC;EAEzD,IAAID,MAAM,EAAE;IACV,OAAOC,cAAc,CAACC,MAAM,CACzBC,aAAa,IAAKA,aAAa,CAACH,MAAM,KAAKA,MAC9C,CAAC;EACH;EAEA,OAAOC,cAAc;AACvB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../../src/hooks/useUserActivity/index.ts"],"sourcesContent":["export * from './useUserActivity';\n"],"mappings":"AAAA,cAAc,mBAAmB","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { useAtom } from 'jotai';
|
|
2
|
+
import * as state from '../../conversation/state';
|
|
3
|
+
export function useUserActivity() {
|
|
4
|
+
const _useAtom = useAtom(state.userLastActivity),
|
|
5
|
+
userLastActivity = _useAtom[0],
|
|
6
|
+
setUserLastActivity = _useAtom[1];
|
|
7
|
+
const _useAtom2 = useAtom(state.userInactivityDuration),
|
|
8
|
+
userInactivityDuration = _useAtom2[0],
|
|
9
|
+
setUserInactivityDuration = _useAtom2[1];
|
|
10
|
+
return {
|
|
11
|
+
reset,
|
|
12
|
+
activity: {
|
|
13
|
+
lastActive: userLastActivity,
|
|
14
|
+
elapsed: userInactivityDuration
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
function reset() {
|
|
18
|
+
setUserLastActivity(Date.now());
|
|
19
|
+
setUserInactivityDuration(0);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=useUserActivity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useAtom","state","useUserActivity","_useAtom","userLastActivity","setUserLastActivity","_useAtom2","userInactivityDuration","setUserInactivityDuration","reset","activity","lastActive","elapsed","Date","now"],"sources":["../../../../src/hooks/useUserActivity/useUserActivity.ts"],"sourcesContent":["import { useAtom } from 'jotai';\nimport * as state from '../../conversation/state';\n\nexport function useUserActivity() {\n const [userLastActivity, setUserLastActivity] = useAtom(\n state.userLastActivity,\n );\n const [userInactivityDuration, setUserInactivityDuration] = useAtom(\n state.userInactivityDuration,\n );\n\n return {\n reset,\n activity: {\n lastActive: userLastActivity,\n elapsed: userInactivityDuration,\n },\n };\n\n function reset() {\n setUserLastActivity(Date.now());\n setUserInactivityDuration(0);\n }\n}\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,OAAO,KAAKC,KAAK,MAAM,0BAA0B;AAEjD,OAAO,SAASC,eAAeA,CAAA,EAAG;EAChC,MAAAC,QAAA,GAAgDH,OAAO,CACrDC,KAAK,CAACG,gBACR,CAAC;IAFMA,gBAAgB,GAAAD,QAAA;IAAEE,mBAAmB,GAAAF,QAAA;EAG5C,MAAAG,SAAA,GAA4DN,OAAO,CACjEC,KAAK,CAACM,sBACR,CAAC;IAFMA,sBAAsB,GAAAD,SAAA;IAAEE,yBAAyB,GAAAF,SAAA;EAIxD,OAAO;IACLG,KAAK;IACLC,QAAQ,EAAE;MACRC,UAAU,EAAEP,gBAAgB;MAC5BQ,OAAO,EAAEL;IACX;EACF,CAAC;EAED,SAASE,KAAKA,CAAA,EAAG;IACfJ,mBAAmB,CAACQ,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;IAC/BN,yBAAyB,CAAC,CAAC,CAAC;EAC9B;AACF","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/livekit/components.ts"],"sourcesContent":["export * from '../components';\n"],"mappings":"AAAA,cAAc,eAAe","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/livekit/sdk.ts"],"sourcesContent":["export * from '../sdk';\n"],"mappings":"AAAA,cAAc,QAAQ","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createContext, useContext } from 'react';
|
|
2
|
+
export const SdkConsumerContext = /*#__PURE__*/createContext({
|
|
3
|
+
chatId: '',
|
|
4
|
+
namespace: '',
|
|
5
|
+
tools: {}
|
|
6
|
+
});
|
|
7
|
+
export function useSdkConsumer() {
|
|
8
|
+
return useContext(SdkConsumerContext);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createContext","useContext","SdkConsumerContext","chatId","namespace","tools","useSdkConsumer"],"sources":["../../../src/sdk-consumer/context.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\n\nimport type { ToolsRegistry } from '../hooks';\nimport type { IPersonaChatService } from '../types';\n\nexport interface ISdkConsumerContext {\n chatId: string;\n namespace: string;\n tools?: ToolsRegistry;\n personaChatService?: IPersonaChatService;\n}\n\nexport const SdkConsumerContext = createContext<ISdkConsumerContext>({\n chatId: '',\n namespace: '',\n tools: {},\n});\n\nexport function useSdkConsumer() {\n return useContext(SdkConsumerContext);\n}\n"],"mappings":"AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;AAYjD,OAAO,MAAMC,kBAAkB,gBAAGF,aAAa,CAAsB;EACnEG,MAAM,EAAE,EAAE;EACVC,SAAS,EAAE,EAAE;EACbC,KAAK,EAAE,CAAC;AACV,CAAC,CAAC;AAEF,OAAO,SAASC,cAAcA,CAAA,EAAG;EAC/B,OAAOL,UAAU,CAACC,kBAAkB,CAAC;AACvC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/sdk-consumer/index.ts"],"sourcesContent":["export * from './context';\n"],"mappings":"AAAA,cAAc,WAAW","ignoreList":[]}
|
package/dist/esm/sdk.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export * from './types';
|
|
2
|
+
export * from './components/LegendsPlatform';
|
|
3
|
+
export * from './components/LegendsPlatformQLess';
|
|
4
|
+
export * from './hooks/useTextChat';
|
|
5
|
+
export * from './hooks/useConversation';
|
|
6
|
+
export * from './hooks/useTranscriptions';
|
|
7
|
+
export * from './hooks/useConversationStatus';
|
|
8
|
+
export * from './hooks/useMicrophone';
|
|
9
|
+
export * from './hooks/useSpeaker';
|
|
10
|
+
export * from './hooks/useCamera';
|
|
11
|
+
export * from './hooks/useMediaRecorder';
|
|
12
|
+
export * from './hooks/useConversationTimer';
|
|
13
|
+
export * from './hooks/useAudioLevel';
|
|
14
|
+
export * from './hooks/useConversationEvents';
|
|
15
|
+
export * from './hooks/useUserActivity';
|
|
16
|
+
export * from './hooks/useAudio';
|
|
17
|
+
export * from './hooks/useScreenShare';
|
|
18
|
+
export * from './hooks/useConnectionState';
|
|
19
|
+
export * from './hooks/useActivityState';
|
|
20
|
+
export * from './hooks/usePictureInPicture';
|
|
21
|
+
export * from './hooks/useMediaPermissions';
|
|
22
|
+
export * from './hooks/useTools';
|
|
23
|
+
export * from './hooks/useParticipantTrack';
|
|
24
|
+
export * from './conversation/types';
|
|
25
|
+
//# sourceMappingURL=sdk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../src/sdk.ts"],"sourcesContent":["export * from './types';\nexport * from './components/LegendsPlatform';\nexport * from './components/LegendsPlatformQLess';\n\nexport * from './hooks/useTextChat';\nexport * from './hooks/useConversation';\nexport * from './hooks/useTranscriptions';\nexport * from './hooks/useConversationStatus';\nexport * from './hooks/useMicrophone';\nexport * from './hooks/useSpeaker';\nexport * from './hooks/useCamera';\nexport * from './hooks/useMediaRecorder';\nexport * from './hooks/useConversationTimer';\nexport * from './hooks/useAudioLevel';\nexport * from './hooks/useConversationEvents';\nexport * from './hooks/useUserActivity';\nexport * from './hooks/useAudio';\nexport * from './hooks/useScreenShare';\nexport * from './hooks/useConnectionState';\nexport * from './hooks/useActivityState';\nexport * from './hooks/usePictureInPicture';\nexport * from './hooks/useMediaPermissions';\nexport * from './hooks/useTools';\nexport * from './hooks/useParticipantTrack';\n\nexport * from './conversation/types';\n"],"mappings":"AAAA,cAAc,SAAS;AACvB,cAAc,8BAA8B;AAC5C,cAAc,mCAAmC;AAEjD,cAAc,qBAAqB;AACnC,cAAc,yBAAyB;AACvC,cAAc,2BAA2B;AACzC,cAAc,+BAA+B;AAC7C,cAAc,uBAAuB;AACrC,cAAc,oBAAoB;AAClC,cAAc,mBAAmB;AACjC,cAAc,0BAA0B;AACxC,cAAc,8BAA8B;AAC5C,cAAc,uBAAuB;AACrC,cAAc,+BAA+B;AAC7C,cAAc,yBAAyB;AACvC,cAAc,kBAAkB;AAChC,cAAc,wBAAwB;AACtC,cAAc,4BAA4B;AAC1C,cAAc,0BAA0B;AACxC,cAAc,6BAA6B;AAC3C,cAAc,6BAA6B;AAC3C,cAAc,kBAAkB;AAChC,cAAc,6BAA6B;AAE3C,cAAc,sBAAsB","ignoreList":[]}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import { HttpError } from '../types/http';
|
|
3
|
+
const BASE_URL = 'https://www.wixapis.com';
|
|
4
|
+
function resolveLimitMs(limitation) {
|
|
5
|
+
if (!limitation) {
|
|
6
|
+
return undefined;
|
|
7
|
+
}
|
|
8
|
+
switch (limitation.type) {
|
|
9
|
+
case 'MINUTES':
|
|
10
|
+
return (limitation.limit ?? 0) * 60 * 1000;
|
|
11
|
+
case 'SECONDS':
|
|
12
|
+
return (limitation.limit ?? 0) * 1000;
|
|
13
|
+
case 'TOKENS':
|
|
14
|
+
default:
|
|
15
|
+
return 0;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export class FetchPersonaChatService {
|
|
19
|
+
constructor(apiKey) {
|
|
20
|
+
_defineProperty(this, "apiKey", void 0);
|
|
21
|
+
this.apiKey = apiKey;
|
|
22
|
+
}
|
|
23
|
+
headers() {
|
|
24
|
+
return {
|
|
25
|
+
'Content-Type': 'application/json',
|
|
26
|
+
Authorization: this.apiKey
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
async post(path, body) {
|
|
30
|
+
const response = await fetch(`${BASE_URL}${path}`, {
|
|
31
|
+
method: 'POST',
|
|
32
|
+
headers: this.headers(),
|
|
33
|
+
body: JSON.stringify(body)
|
|
34
|
+
});
|
|
35
|
+
if (!response.ok) {
|
|
36
|
+
const text = await response.text().catch(() => '');
|
|
37
|
+
throw new HttpError(response.status, `Request failed: ${response.status} ${text}`);
|
|
38
|
+
}
|
|
39
|
+
return response.json();
|
|
40
|
+
}
|
|
41
|
+
async createVoiceConversation(params) {
|
|
42
|
+
const chatId = params.chatId,
|
|
43
|
+
namespace = params.namespace,
|
|
44
|
+
chatConfig = params.chatConfig;
|
|
45
|
+
const data = await this.post(`/_api/persona-chat-service/v1/chats/${chatId}/create-voice-conversation`, {
|
|
46
|
+
namespace,
|
|
47
|
+
...(chatConfig ? {
|
|
48
|
+
chatConfig
|
|
49
|
+
} : {})
|
|
50
|
+
});
|
|
51
|
+
return {
|
|
52
|
+
url: data.conversationUrl ?? '',
|
|
53
|
+
id: data.interactiveConversationId ?? '',
|
|
54
|
+
limit: resolveLimitMs(data.limitation)
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
async createInteractiveConversation(params) {
|
|
58
|
+
const chatId = params.chatId,
|
|
59
|
+
namespace = params.namespace,
|
|
60
|
+
chatConfig = params.chatConfig;
|
|
61
|
+
const data = await this.post(`/_api/persona-chat-service/v1/chats/${chatId}/create-interactive-conversation`, {
|
|
62
|
+
namespace,
|
|
63
|
+
...(chatConfig ? {
|
|
64
|
+
chatConfig
|
|
65
|
+
} : {})
|
|
66
|
+
});
|
|
67
|
+
return {
|
|
68
|
+
url: data.conversationUrl ?? '',
|
|
69
|
+
id: data.interactiveConversationId ?? '',
|
|
70
|
+
limit: resolveLimitMs(data.limitation)
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
async endInteractiveConversation(params) {
|
|
74
|
+
const chatId = params.chatId,
|
|
75
|
+
conversationId = params.conversationId,
|
|
76
|
+
namespace = params.namespace;
|
|
77
|
+
await this.post(`/_api/persona-chat-service/v1/chats/${chatId}/end-interactive-conversation`, {
|
|
78
|
+
namespace,
|
|
79
|
+
interactiveConversationId: conversationId
|
|
80
|
+
}).catch(() => {
|
|
81
|
+
// best-effort
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
async sendChatMessage(params) {
|
|
85
|
+
const chatId = params.chatId,
|
|
86
|
+
namespace = params.namespace,
|
|
87
|
+
message = params.message,
|
|
88
|
+
functionCallResults = params.functionCallResults;
|
|
89
|
+
return this.post(`/_api/persona-chat-service/v1/chats/${chatId}/messages`, {
|
|
90
|
+
namespace,
|
|
91
|
+
message,
|
|
92
|
+
functionCallResults
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
async queryChatMessages(params) {
|
|
96
|
+
var _data$pagingMetadata;
|
|
97
|
+
const chatId = params.chatId,
|
|
98
|
+
namespace = params.namespace,
|
|
99
|
+
_params$limit = params.limit,
|
|
100
|
+
limit = _params$limit === void 0 ? 100 : _params$limit,
|
|
101
|
+
cursor = params.cursor;
|
|
102
|
+
const data = await this.post(`/_api/persona-chat-service/v1/chats/${chatId}/messages/query`, {
|
|
103
|
+
namespace,
|
|
104
|
+
query: {
|
|
105
|
+
cursorPaging: {
|
|
106
|
+
limit,
|
|
107
|
+
...(cursor ? {
|
|
108
|
+
cursor
|
|
109
|
+
} : {})
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
return {
|
|
114
|
+
messages: (data.chatMessages ?? []).map(m => ({
|
|
115
|
+
id: m.id,
|
|
116
|
+
content: m.content,
|
|
117
|
+
role: m.role,
|
|
118
|
+
createdAt: m.createdAt
|
|
119
|
+
})),
|
|
120
|
+
nextCursor: (_data$pagingMetadata = data.pagingMetadata) == null || (_data$pagingMetadata = _data$pagingMetadata.cursors) == null ? void 0 : _data$pagingMetadata.next
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=FetchPersonaChatService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["HttpError","BASE_URL","resolveLimitMs","limitation","undefined","type","limit","FetchPersonaChatService","constructor","apiKey","_defineProperty","headers","Authorization","post","path","body","response","fetch","method","JSON","stringify","ok","text","catch","status","json","createVoiceConversation","params","chatId","namespace","chatConfig","data","url","conversationUrl","id","interactiveConversationId","createInteractiveConversation","endInteractiveConversation","conversationId","sendChatMessage","message","functionCallResults","queryChatMessages","_data$pagingMetadata","_params$limit","cursor","query","cursorPaging","messages","chatMessages","map","m","content","role","createdAt","nextCursor","pagingMetadata","cursors","next"],"sources":["../../../src/services/FetchPersonaChatService.ts"],"sourcesContent":["import { HttpError } from '../types/http';\nimport type {\n IPersonaChatService,\n CreateConversationParams,\n ConversationResult,\n EndConversationParams,\n SendMessageParams,\n QueryMessagesParams,\n QueryMessagesResult,\n FunctionCall,\n Limitation,\n} from '../types/service';\n\nconst BASE_URL = 'https://www.wixapis.com';\n\nfunction resolveLimitMs(limitation?: Limitation): number | undefined {\n if (!limitation) {\n return undefined;\n }\n switch (limitation.type) {\n case 'MINUTES':\n return (limitation.limit ?? 0) * 60 * 1000;\n case 'SECONDS':\n return (limitation.limit ?? 0) * 1000;\n case 'TOKENS':\n default:\n return 0;\n }\n}\n\nexport class FetchPersonaChatService implements IPersonaChatService {\n private readonly apiKey: string;\n\n constructor(apiKey: string) {\n this.apiKey = apiKey;\n }\n\n private headers(): Record<string, string> {\n return {\n 'Content-Type': 'application/json',\n Authorization: this.apiKey,\n };\n }\n\n private async post<T>(path: string, body: unknown): Promise<T> {\n const response = await fetch(`${BASE_URL}${path}`, {\n method: 'POST',\n headers: this.headers(),\n body: JSON.stringify(body),\n });\n\n if (!response.ok) {\n const text = await response.text().catch(() => '');\n throw new HttpError(\n response.status,\n `Request failed: ${response.status} ${text}`,\n );\n }\n\n return response.json() as Promise<T>;\n }\n\n async createVoiceConversation(\n params: CreateConversationParams,\n ): Promise<ConversationResult> {\n const { chatId, namespace, chatConfig } = params;\n\n const data = await this.post<{\n conversationUrl?: string;\n interactiveConversationId?: string;\n limitation?: Limitation;\n }>(\n `/_api/persona-chat-service/v1/chats/${chatId}/create-voice-conversation`,\n {\n namespace,\n ...(chatConfig ? { chatConfig } : {}),\n },\n );\n\n return {\n url: data.conversationUrl ?? '',\n id: data.interactiveConversationId ?? '',\n limit: resolveLimitMs(data.limitation),\n };\n }\n\n async createInteractiveConversation(\n params: CreateConversationParams,\n ): Promise<ConversationResult> {\n const { chatId, namespace, chatConfig } = params;\n\n const data = await this.post<{\n conversationUrl?: string;\n interactiveConversationId?: string;\n limitation?: Limitation;\n }>(\n `/_api/persona-chat-service/v1/chats/${chatId}/create-interactive-conversation`,\n {\n namespace,\n ...(chatConfig ? { chatConfig } : {}),\n },\n );\n\n return {\n url: data.conversationUrl ?? '',\n id: data.interactiveConversationId ?? '',\n limit: resolveLimitMs(data.limitation),\n };\n }\n\n async endInteractiveConversation(\n params: EndConversationParams,\n ): Promise<void> {\n const { chatId, conversationId, namespace } = params;\n\n await this.post(\n `/_api/persona-chat-service/v1/chats/${chatId}/end-interactive-conversation`,\n { namespace, interactiveConversationId: conversationId },\n ).catch(() => {\n // best-effort\n });\n }\n\n async sendChatMessage(\n params: SendMessageParams,\n ): Promise<{ functionCalls?: FunctionCall[] }> {\n const { chatId, namespace, message, functionCallResults } = params;\n\n return this.post<{ functionCalls?: FunctionCall[] }>(\n `/_api/persona-chat-service/v1/chats/${chatId}/messages`,\n { namespace, message, functionCallResults },\n );\n }\n\n async queryChatMessages(\n params: QueryMessagesParams,\n ): Promise<QueryMessagesResult> {\n const { chatId, namespace, limit = 100, cursor } = params;\n\n const data = await this.post<{\n chatMessages?: {\n id: string;\n content: string;\n role: string;\n createdAt?: string;\n }[];\n pagingMetadata?: { cursors?: { next?: string } };\n }>(`/_api/persona-chat-service/v1/chats/${chatId}/messages/query`, {\n namespace,\n query: { cursorPaging: { limit, ...(cursor ? { cursor } : {}) } },\n });\n\n return {\n messages: (data.chatMessages ?? []).map((m) => ({\n id: m.id,\n content: m.content,\n role: m.role as 'user' | 'assistant',\n createdAt: m.createdAt,\n })),\n nextCursor: data.pagingMetadata?.cursors?.next,\n };\n }\n}\n"],"mappings":";AAAA,SAASA,SAAS,QAAQ,eAAe;AAazC,MAAMC,QAAQ,GAAG,yBAAyB;AAE1C,SAASC,cAAcA,CAACC,UAAuB,EAAsB;EACnE,IAAI,CAACA,UAAU,EAAE;IACf,OAAOC,SAAS;EAClB;EACA,QAAQD,UAAU,CAACE,IAAI;IACrB,KAAK,SAAS;MACZ,OAAO,CAACF,UAAU,CAACG,KAAK,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI;IAC5C,KAAK,SAAS;MACZ,OAAO,CAACH,UAAU,CAACG,KAAK,IAAI,CAAC,IAAI,IAAI;IACvC,KAAK,QAAQ;IACb;MACE,OAAO,CAAC;EACZ;AACF;AAEA,OAAO,MAAMC,uBAAuB,CAAgC;EAGlEC,WAAWA,CAACC,MAAc,EAAE;IAAAC,eAAA;IAC1B,IAAI,CAACD,MAAM,GAAGA,MAAM;EACtB;EAEQE,OAAOA,CAAA,EAA2B;IACxC,OAAO;MACL,cAAc,EAAE,kBAAkB;MAClCC,aAAa,EAAE,IAAI,CAACH;IACtB,CAAC;EACH;EAEA,MAAcI,IAAIA,CAAIC,IAAY,EAAEC,IAAa,EAAc;IAC7D,MAAMC,QAAQ,GAAG,MAAMC,KAAK,CAAC,GAAGhB,QAAQ,GAAGa,IAAI,EAAE,EAAE;MACjDI,MAAM,EAAE,MAAM;MACdP,OAAO,EAAE,IAAI,CAACA,OAAO,CAAC,CAAC;MACvBI,IAAI,EAAEI,IAAI,CAACC,SAAS,CAACL,IAAI;IAC3B,CAAC,CAAC;IAEF,IAAI,CAACC,QAAQ,CAACK,EAAE,EAAE;MAChB,MAAMC,IAAI,GAAG,MAAMN,QAAQ,CAACM,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,MAAM,EAAE,CAAC;MAClD,MAAM,IAAIvB,SAAS,CACjBgB,QAAQ,CAACQ,MAAM,EACf,mBAAmBR,QAAQ,CAACQ,MAAM,IAAIF,IAAI,EAC5C,CAAC;IACH;IAEA,OAAON,QAAQ,CAACS,IAAI,CAAC,CAAC;EACxB;EAEA,MAAMC,uBAAuBA,CAC3BC,MAAgC,EACH;IAC7B,MAAQC,MAAM,GAA4BD,MAAM,CAAxCC,MAAM;MAAEC,SAAS,GAAiBF,MAAM,CAAhCE,SAAS;MAAEC,UAAU,GAAKH,MAAM,CAArBG,UAAU;IAErC,MAAMC,IAAI,GAAG,MAAM,IAAI,CAAClB,IAAI,CAK1B,uCAAuCe,MAAM,4BAA4B,EACzE;MACEC,SAAS;MACT,IAAIC,UAAU,GAAG;QAAEA;MAAW,CAAC,GAAG,CAAC,CAAC;IACtC,CACF,CAAC;IAED,OAAO;MACLE,GAAG,EAAED,IAAI,CAACE,eAAe,IAAI,EAAE;MAC/BC,EAAE,EAAEH,IAAI,CAACI,yBAAyB,IAAI,EAAE;MACxC7B,KAAK,EAAEJ,cAAc,CAAC6B,IAAI,CAAC5B,UAAU;IACvC,CAAC;EACH;EAEA,MAAMiC,6BAA6BA,CACjCT,MAAgC,EACH;IAC7B,MAAQC,MAAM,GAA4BD,MAAM,CAAxCC,MAAM;MAAEC,SAAS,GAAiBF,MAAM,CAAhCE,SAAS;MAAEC,UAAU,GAAKH,MAAM,CAArBG,UAAU;IAErC,MAAMC,IAAI,GAAG,MAAM,IAAI,CAAClB,IAAI,CAK1B,uCAAuCe,MAAM,kCAAkC,EAC/E;MACEC,SAAS;MACT,IAAIC,UAAU,GAAG;QAAEA;MAAW,CAAC,GAAG,CAAC,CAAC;IACtC,CACF,CAAC;IAED,OAAO;MACLE,GAAG,EAAED,IAAI,CAACE,eAAe,IAAI,EAAE;MAC/BC,EAAE,EAAEH,IAAI,CAACI,yBAAyB,IAAI,EAAE;MACxC7B,KAAK,EAAEJ,cAAc,CAAC6B,IAAI,CAAC5B,UAAU;IACvC,CAAC;EACH;EAEA,MAAMkC,0BAA0BA,CAC9BV,MAA6B,EACd;IACf,MAAQC,MAAM,GAAgCD,MAAM,CAA5CC,MAAM;MAAEU,cAAc,GAAgBX,MAAM,CAApCW,cAAc;MAAET,SAAS,GAAKF,MAAM,CAApBE,SAAS;IAEzC,MAAM,IAAI,CAAChB,IAAI,CACb,uCAAuCe,MAAM,+BAA+B,EAC5E;MAAEC,SAAS;MAAEM,yBAAyB,EAAEG;IAAe,CACzD,CAAC,CAACf,KAAK,CAAC,MAAM;MACZ;IAAA,CACD,CAAC;EACJ;EAEA,MAAMgB,eAAeA,CACnBZ,MAAyB,EACoB;IAC7C,MAAQC,MAAM,GAA8CD,MAAM,CAA1DC,MAAM;MAAEC,SAAS,GAAmCF,MAAM,CAAlDE,SAAS;MAAEW,OAAO,GAA0Bb,MAAM,CAAvCa,OAAO;MAAEC,mBAAmB,GAAKd,MAAM,CAA9Bc,mBAAmB;IAEvD,OAAO,IAAI,CAAC5B,IAAI,CACd,uCAAuCe,MAAM,WAAW,EACxD;MAAEC,SAAS;MAAEW,OAAO;MAAEC;IAAoB,CAC5C,CAAC;EACH;EAEA,MAAMC,iBAAiBA,CACrBf,MAA2B,EACG;IAAA,IAAAgB,oBAAA;IAC9B,MAAQf,MAAM,GAAqCD,MAAM,CAAjDC,MAAM;MAAEC,SAAS,GAA0BF,MAAM,CAAzCE,SAAS;MAAAe,aAAA,GAA0BjB,MAAM,CAA9BrB,KAAK;MAALA,KAAK,GAAAsC,aAAA,cAAG,GAAG,GAAAA,aAAA;MAAEC,MAAM,GAAKlB,MAAM,CAAjBkB,MAAM;IAE9C,MAAMd,IAAI,GAAG,MAAM,IAAI,CAAClB,IAAI,CAQzB,uCAAuCe,MAAM,iBAAiB,EAAE;MACjEC,SAAS;MACTiB,KAAK,EAAE;QAAEC,YAAY,EAAE;UAAEzC,KAAK;UAAE,IAAIuC,MAAM,GAAG;YAAEA;UAAO,CAAC,GAAG,CAAC,CAAC;QAAE;MAAE;IAClE,CAAC,CAAC;IAEF,OAAO;MACLG,QAAQ,EAAE,CAACjB,IAAI,CAACkB,YAAY,IAAI,EAAE,EAAEC,GAAG,CAAEC,CAAC,KAAM;QAC9CjB,EAAE,EAAEiB,CAAC,CAACjB,EAAE;QACRkB,OAAO,EAAED,CAAC,CAACC,OAAO;QAClBC,IAAI,EAAEF,CAAC,CAACE,IAA4B;QACpCC,SAAS,EAAEH,CAAC,CAACG;MACf,CAAC,CAAC,CAAC;MACHC,UAAU,GAAAZ,oBAAA,GAAEZ,IAAI,CAACyB,cAAc,cAAAb,oBAAA,GAAnBA,oBAAA,CAAqBc,OAAO,qBAA5Bd,oBAAA,CAA8Be;IAC5C,CAAC;EACH;AACF","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../src/test-types.d.ts"],"sourcesContent":["/// <reference types=\"@wix/jest-yoshi-preset/types\" />\n"],"mappings":"AAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["HttpError","Error","constructor","status","message","data","name"],"sources":["../../../src/types/http.ts"],"sourcesContent":["export interface HttpRequestConfig {\n url: string;\n method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';\n data?: unknown;\n headers?: Record<string, string>;\n}\n\nexport interface IHttpClient {\n request<T>(config: HttpRequestConfig): Promise<T>;\n}\n\nexport class HttpError extends Error {\n constructor(\n public readonly status: number,\n message: string,\n public readonly data?: unknown,\n ) {\n super(message);\n this.name = 'HttpError';\n }\n}\n"],"mappings":"AAWA,OAAO,MAAMA,SAAS,SAASC,KAAK,CAAC;EACnCC,WAAWA,CACOC,MAAc,EAC9BC,OAAe,EACCC,IAAc,EAC9B;IACA,KAAK,CAACD,OAAO,CAAC;IAAC,KAJCD,MAAc,GAAdA,MAAc;IAAA,KAEdE,IAAc,GAAdA,IAAc;IAG9B,IAAI,CAACC,IAAI,GAAG,WAAW;EACzB;AACF","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["HttpError"],"sources":["../../../src/types/index.ts"],"sourcesContent":["export type { IHttpClient, HttpRequestConfig } from './http';\nexport { HttpError } from './http';\nexport type {\n IPersonaChatService,\n ConversationResult,\n CreateConversationParams,\n EndConversationParams,\n SendMessageParams,\n ChatMessage,\n QueryMessagesParams,\n QueryMessagesResult,\n FunctionCall,\n FunctionCallResult,\n Limitation,\n LimitationType,\n} from './service';\n"],"mappings":"AACA,SAASA,SAAS,QAAQ,QAAQ","ignoreList":[]}
|