@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.
Files changed (785) hide show
  1. package/README.md +186 -0
  2. package/components/package.json +5 -0
  3. package/dist/cjs/components/Audio/Audio.js +31 -0
  4. package/dist/cjs/components/Audio/Audio.js.map +1 -0
  5. package/dist/cjs/components/Audio/index.js +10 -0
  6. package/dist/cjs/components/Audio/index.js.map +1 -0
  7. package/dist/cjs/components/ChromaKey/ChromaKey.js +127 -0
  8. package/dist/cjs/components/ChromaKey/ChromaKey.js.map +1 -0
  9. package/dist/cjs/components/ChromaKey/chroma-key.js +99 -0
  10. package/dist/cjs/components/ChromaKey/chroma-key.js.map +1 -0
  11. package/dist/cjs/components/ChromaKey/index.js +10 -0
  12. package/dist/cjs/components/ChromaKey/index.js.map +1 -0
  13. package/dist/cjs/components/ChromaKey/shaders/chroma-key.shader.js +44 -0
  14. package/dist/cjs/components/ChromaKey/shaders/chroma-key.shader.js.map +1 -0
  15. package/dist/cjs/components/ChromaKey/shaders/index.js +10 -0
  16. package/dist/cjs/components/ChromaKey/shaders/index.js.map +1 -0
  17. package/dist/cjs/components/ChromaKey/shaders/vertex-align.shader.js +12 -0
  18. package/dist/cjs/components/ChromaKey/shaders/vertex-align.shader.js.map +1 -0
  19. package/dist/cjs/components/ChromaKey/types.js +4 -0
  20. package/dist/cjs/components/ChromaKey/types.js.map +1 -0
  21. package/dist/cjs/components/LegendsPlatform/LegendsPlatform.js +91 -0
  22. package/dist/cjs/components/LegendsPlatform/LegendsPlatform.js.map +1 -0
  23. package/dist/cjs/components/LegendsPlatform/index.js +10 -0
  24. package/dist/cjs/components/LegendsPlatform/index.js.map +1 -0
  25. package/dist/cjs/components/LegendsPlatformQLess/LegendsPlatform.js +69 -0
  26. package/dist/cjs/components/LegendsPlatformQLess/LegendsPlatform.js.map +1 -0
  27. package/dist/cjs/components/LegendsPlatformQLess/index.js +10 -0
  28. package/dist/cjs/components/LegendsPlatformQLess/index.js.map +1 -0
  29. package/dist/cjs/components/Video/Video.js +88 -0
  30. package/dist/cjs/components/Video/Video.js.map +1 -0
  31. package/dist/cjs/components/Video/index.js +16 -0
  32. package/dist/cjs/components/Video/index.js.map +1 -0
  33. package/dist/cjs/components/Video/types.js +4 -0
  34. package/dist/cjs/components/Video/types.js.map +1 -0
  35. package/dist/cjs/components/Video/useAttachVideo.js +33 -0
  36. package/dist/cjs/components/Video/useAttachVideo.js.map +1 -0
  37. package/dist/cjs/components/VideoPostProcessor/VideoPostProcessor.js +61 -0
  38. package/dist/cjs/components/VideoPostProcessor/VideoPostProcessor.js.map +1 -0
  39. package/dist/cjs/components/VideoPostProcessor/effects.js +30 -0
  40. package/dist/cjs/components/VideoPostProcessor/effects.js.map +1 -0
  41. package/dist/cjs/components/VideoPostProcessor/index.js +10 -0
  42. package/dist/cjs/components/VideoPostProcessor/index.js.map +1 -0
  43. package/dist/cjs/components/VideoPreview/VideoPreview.js +68 -0
  44. package/dist/cjs/components/VideoPreview/VideoPreview.js.map +1 -0
  45. package/dist/cjs/components/VideoPreview/index.js +16 -0
  46. package/dist/cjs/components/VideoPreview/index.js.map +1 -0
  47. package/dist/cjs/components/VideoPreview/types.js +4 -0
  48. package/dist/cjs/components/VideoPreview/types.js.map +1 -0
  49. package/dist/cjs/components/VideoPreview/useVideoPreviewStream.js +85 -0
  50. package/dist/cjs/components/VideoPreview/useVideoPreviewStream.js.map +1 -0
  51. package/dist/cjs/components.js +34 -0
  52. package/dist/cjs/components.js.map +1 -0
  53. package/dist/cjs/conversation/index.js +18 -0
  54. package/dist/cjs/conversation/index.js.map +1 -0
  55. package/dist/cjs/conversation/state.js +24 -0
  56. package/dist/cjs/conversation/state.js.map +1 -0
  57. package/dist/cjs/conversation/types.js +4 -0
  58. package/dist/cjs/conversation/types.js.map +1 -0
  59. package/dist/cjs/conversation/utils.js +25 -0
  60. package/dist/cjs/conversation/utils.js.map +1 -0
  61. package/dist/cjs/external-types.d.js +2 -0
  62. package/dist/cjs/external-types.d.js.map +1 -0
  63. package/dist/cjs/hooks/index.js +58 -0
  64. package/dist/cjs/hooks/index.js.map +1 -0
  65. package/dist/cjs/hooks/useActivityState/index.js +10 -0
  66. package/dist/cjs/hooks/useActivityState/index.js.map +1 -0
  67. package/dist/cjs/hooks/useActivityState/useActivityState.js +15 -0
  68. package/dist/cjs/hooks/useActivityState/useActivityState.js.map +1 -0
  69. package/dist/cjs/hooks/useAudio/index.js +10 -0
  70. package/dist/cjs/hooks/useAudio/index.js.map +1 -0
  71. package/dist/cjs/hooks/useAudio/useAudio.js +28 -0
  72. package/dist/cjs/hooks/useAudio/useAudio.js.map +1 -0
  73. package/dist/cjs/hooks/useAudioLevel/helpers.js +28 -0
  74. package/dist/cjs/hooks/useAudioLevel/helpers.js.map +1 -0
  75. package/dist/cjs/hooks/useAudioLevel/index.js +10 -0
  76. package/dist/cjs/hooks/useAudioLevel/index.js.map +1 -0
  77. package/dist/cjs/hooks/useAudioLevel/types.js +4 -0
  78. package/dist/cjs/hooks/useAudioLevel/types.js.map +1 -0
  79. package/dist/cjs/hooks/useAudioLevel/useAudioLevel.js +49 -0
  80. package/dist/cjs/hooks/useAudioLevel/useAudioLevel.js.map +1 -0
  81. package/dist/cjs/hooks/useCamera/index.js +10 -0
  82. package/dist/cjs/hooks/useCamera/index.js.map +1 -0
  83. package/dist/cjs/hooks/useCamera/useCamera.js +32 -0
  84. package/dist/cjs/hooks/useCamera/useCamera.js.map +1 -0
  85. package/dist/cjs/hooks/useConnectionState/index.js +10 -0
  86. package/dist/cjs/hooks/useConnectionState/index.js.map +1 -0
  87. package/dist/cjs/hooks/useConnectionState/useConnectionState.js +15 -0
  88. package/dist/cjs/hooks/useConnectionState/useConnectionState.js.map +1 -0
  89. package/dist/cjs/hooks/useConversation/index.js +16 -0
  90. package/dist/cjs/hooks/useConversation/index.js.map +1 -0
  91. package/dist/cjs/hooks/useConversation/livekit/constants.js +15 -0
  92. package/dist/cjs/hooks/useConversation/livekit/constants.js.map +1 -0
  93. package/dist/cjs/hooks/useConversation/livekit/types.js +4 -0
  94. package/dist/cjs/hooks/useConversation/livekit/types.js.map +1 -0
  95. package/dist/cjs/hooks/useConversation/livekit/useConversation.js +371 -0
  96. package/dist/cjs/hooks/useConversation/livekit/useConversation.js.map +1 -0
  97. package/dist/cjs/hooks/useConversation/livekit/utils/dataChannel.js +25 -0
  98. package/dist/cjs/hooks/useConversation/livekit/utils/dataChannel.js.map +1 -0
  99. package/dist/cjs/hooks/useConversation/livekit/utils/index.js +40 -0
  100. package/dist/cjs/hooks/useConversation/livekit/utils/index.js.map +1 -0
  101. package/dist/cjs/hooks/useConversation/livekit/utils/messaging.js +11 -0
  102. package/dist/cjs/hooks/useConversation/livekit/utils/messaging.js.map +1 -0
  103. package/dist/cjs/hooks/useConversation/livekit/utils/participants.js +34 -0
  104. package/dist/cjs/hooks/useConversation/livekit/utils/participants.js.map +1 -0
  105. package/dist/cjs/hooks/useConversation/livekit/utils/serialization.js +13 -0
  106. package/dist/cjs/hooks/useConversation/livekit/utils/serialization.js.map +1 -0
  107. package/dist/cjs/hooks/useConversation/livekit/utils/toolAdapter.js +18 -0
  108. package/dist/cjs/hooks/useConversation/livekit/utils/toolAdapter.js.map +1 -0
  109. package/dist/cjs/hooks/useConversation/livekit/utils/transcriptions.js +15 -0
  110. package/dist/cjs/hooks/useConversation/livekit/utils/transcriptions.js.map +1 -0
  111. package/dist/cjs/hooks/useConversation/types.js +4 -0
  112. package/dist/cjs/hooks/useConversation/types.js.map +1 -0
  113. package/dist/cjs/hooks/useConversation/useConversation.js +99 -0
  114. package/dist/cjs/hooks/useConversation/useConversation.js.map +1 -0
  115. package/dist/cjs/hooks/useConversationEvents/index.js +22 -0
  116. package/dist/cjs/hooks/useConversationEvents/index.js.map +1 -0
  117. package/dist/cjs/hooks/useConversationEvents/types.js +4 -0
  118. package/dist/cjs/hooks/useConversationEvents/types.js.map +1 -0
  119. package/dist/cjs/hooks/useConversationEvents/useConversationEvent.js +11 -0
  120. package/dist/cjs/hooks/useConversationEvents/useConversationEvent.js.map +1 -0
  121. package/dist/cjs/hooks/useConversationEvents/useConversationEvents.js +20 -0
  122. package/dist/cjs/hooks/useConversationEvents/useConversationEvents.js.map +1 -0
  123. package/dist/cjs/hooks/useConversationEvents/useEmitConversationEvent.js +13 -0
  124. package/dist/cjs/hooks/useConversationEvents/useEmitConversationEvent.js.map +1 -0
  125. package/dist/cjs/hooks/useConversationStatus/index.js +10 -0
  126. package/dist/cjs/hooks/useConversationStatus/index.js.map +1 -0
  127. package/dist/cjs/hooks/useConversationStatus/useConversationStatus.js +10 -0
  128. package/dist/cjs/hooks/useConversationStatus/useConversationStatus.js.map +1 -0
  129. package/dist/cjs/hooks/useConversationTimer/index.js +10 -0
  130. package/dist/cjs/hooks/useConversationTimer/index.js.map +1 -0
  131. package/dist/cjs/hooks/useConversationTimer/useConversationTimer.js +45 -0
  132. package/dist/cjs/hooks/useConversationTimer/useConversationTimer.js.map +1 -0
  133. package/dist/cjs/hooks/useCreateConversation/helpers.js +8 -0
  134. package/dist/cjs/hooks/useCreateConversation/helpers.js.map +1 -0
  135. package/dist/cjs/hooks/useCreateConversation/index.js +10 -0
  136. package/dist/cjs/hooks/useCreateConversation/index.js.map +1 -0
  137. package/dist/cjs/hooks/useCreateConversation/useCreateConversation.js +104 -0
  138. package/dist/cjs/hooks/useCreateConversation/useCreateConversation.js.map +1 -0
  139. package/dist/cjs/hooks/useDeviceSwitcher/index.js +10 -0
  140. package/dist/cjs/hooks/useDeviceSwitcher/index.js.map +1 -0
  141. package/dist/cjs/hooks/useDeviceSwitcher/useDeviceSwitcher.js +31 -0
  142. package/dist/cjs/hooks/useDeviceSwitcher/useDeviceSwitcher.js.map +1 -0
  143. package/dist/cjs/hooks/useDevices/index.js +10 -0
  144. package/dist/cjs/hooks/useDevices/index.js.map +1 -0
  145. package/dist/cjs/hooks/useDevices/useDevices.js +49 -0
  146. package/dist/cjs/hooks/useDevices/useDevices.js.map +1 -0
  147. package/dist/cjs/hooks/useMediaPermissions/index.js +10 -0
  148. package/dist/cjs/hooks/useMediaPermissions/index.js.map +1 -0
  149. package/dist/cjs/hooks/useMediaPermissions/types.js +4 -0
  150. package/dist/cjs/hooks/useMediaPermissions/types.js.map +1 -0
  151. package/dist/cjs/hooks/useMediaPermissions/useMediaPermissions.js +46 -0
  152. package/dist/cjs/hooks/useMediaPermissions/useMediaPermissions.js.map +1 -0
  153. package/dist/cjs/hooks/useMediaRecorder/index.js +10 -0
  154. package/dist/cjs/hooks/useMediaRecorder/index.js.map +1 -0
  155. package/dist/cjs/hooks/useMediaRecorder/useMediaRecorder.js +229 -0
  156. package/dist/cjs/hooks/useMediaRecorder/useMediaRecorder.js.map +1 -0
  157. package/dist/cjs/hooks/useMediaRecorder/useReactRecorder.js +298 -0
  158. package/dist/cjs/hooks/useMediaRecorder/useReactRecorder.js.map +1 -0
  159. package/dist/cjs/hooks/useMicrophone/index.js +10 -0
  160. package/dist/cjs/hooks/useMicrophone/index.js.map +1 -0
  161. package/dist/cjs/hooks/useMicrophone/useMicrophone.js +38 -0
  162. package/dist/cjs/hooks/useMicrophone/useMicrophone.js.map +1 -0
  163. package/dist/cjs/hooks/useParticipantTrack/index.js +10 -0
  164. package/dist/cjs/hooks/useParticipantTrack/index.js.map +1 -0
  165. package/dist/cjs/hooks/useParticipantTrack/useParticipantTrack.js +32 -0
  166. package/dist/cjs/hooks/useParticipantTrack/useParticipantTrack.js.map +1 -0
  167. package/dist/cjs/hooks/usePictureInPicture/index.js +13 -0
  168. package/dist/cjs/hooks/usePictureInPicture/index.js.map +1 -0
  169. package/dist/cjs/hooks/usePictureInPicture/state.js +14 -0
  170. package/dist/cjs/hooks/usePictureInPicture/state.js.map +1 -0
  171. package/dist/cjs/hooks/usePictureInPicture/types.js +4 -0
  172. package/dist/cjs/hooks/usePictureInPicture/types.js.map +1 -0
  173. package/dist/cjs/hooks/usePictureInPicture/usePictureInPicture.js +45 -0
  174. package/dist/cjs/hooks/usePictureInPicture/usePictureInPicture.js.map +1 -0
  175. package/dist/cjs/hooks/usePictureInPicture/usePictureInPictureAuto.js +116 -0
  176. package/dist/cjs/hooks/usePictureInPicture/usePictureInPictureAuto.js.map +1 -0
  177. package/dist/cjs/hooks/useScreenShare/index.js +10 -0
  178. package/dist/cjs/hooks/useScreenShare/index.js.map +1 -0
  179. package/dist/cjs/hooks/useScreenShare/useScreenShare.js +45 -0
  180. package/dist/cjs/hooks/useScreenShare/useScreenShare.js.map +1 -0
  181. package/dist/cjs/hooks/useSpeaker/index.js +10 -0
  182. package/dist/cjs/hooks/useSpeaker/index.js.map +1 -0
  183. package/dist/cjs/hooks/useSpeaker/useSpeaker.js +31 -0
  184. package/dist/cjs/hooks/useSpeaker/useSpeaker.js.map +1 -0
  185. package/dist/cjs/hooks/useTextChat/index.js +10 -0
  186. package/dist/cjs/hooks/useTextChat/index.js.map +1 -0
  187. package/dist/cjs/hooks/useTextChat/usePendingMessages.js +23 -0
  188. package/dist/cjs/hooks/useTextChat/usePendingMessages.js.map +1 -0
  189. package/dist/cjs/hooks/useTextChat/useTextChat.js +62 -0
  190. package/dist/cjs/hooks/useTextChat/useTextChat.js.map +1 -0
  191. package/dist/cjs/hooks/useTextChat/useToolAwareSend.js +33 -0
  192. package/dist/cjs/hooks/useTextChat/useToolAwareSend.js.map +1 -0
  193. package/dist/cjs/hooks/useTools/index.js +9 -0
  194. package/dist/cjs/hooks/useTools/index.js.map +1 -0
  195. package/dist/cjs/hooks/useTools/model/errors.js +12 -0
  196. package/dist/cjs/hooks/useTools/model/errors.js.map +1 -0
  197. package/dist/cjs/hooks/useTools/model/types.js +4 -0
  198. package/dist/cjs/hooks/useTools/model/types.js.map +1 -0
  199. package/dist/cjs/hooks/useTools/public/useTools.js +11 -0
  200. package/dist/cjs/hooks/useTools/public/useTools.js.map +1 -0
  201. package/dist/cjs/hooks/useTools/runtime/createToolRuntimeSession.js +74 -0
  202. package/dist/cjs/hooks/useTools/runtime/createToolRuntimeSession.js.map +1 -0
  203. package/dist/cjs/hooks/useTools/runtime/executeToolCall.js +33 -0
  204. package/dist/cjs/hooks/useTools/runtime/executeToolCall.js.map +1 -0
  205. package/dist/cjs/hooks/useTools/runtime/executeToolCallBatch.js +41 -0
  206. package/dist/cjs/hooks/useTools/runtime/executeToolCallBatch.js.map +1 -0
  207. package/dist/cjs/hooks/useTools/runtime/types.js +4 -0
  208. package/dist/cjs/hooks/useTools/runtime/types.js.map +1 -0
  209. package/dist/cjs/hooks/useTools/runtime/useToolCallingRuntime.js +59 -0
  210. package/dist/cjs/hooks/useTools/runtime/useToolCallingRuntime.js.map +1 -0
  211. package/dist/cjs/hooks/useTools/store/state.js +30 -0
  212. package/dist/cjs/hooks/useTools/store/state.js.map +1 -0
  213. package/dist/cjs/hooks/useTools/utils/normalizeFunctionCall.js +22 -0
  214. package/dist/cjs/hooks/useTools/utils/normalizeFunctionCall.js.map +1 -0
  215. package/dist/cjs/hooks/useTools/utils/serialize.js +28 -0
  216. package/dist/cjs/hooks/useTools/utils/serialize.js.map +1 -0
  217. package/dist/cjs/hooks/useTranscriptions/index.js +16 -0
  218. package/dist/cjs/hooks/useTranscriptions/index.js.map +1 -0
  219. package/dist/cjs/hooks/useTranscriptions/types.js +4 -0
  220. package/dist/cjs/hooks/useTranscriptions/types.js.map +1 -0
  221. package/dist/cjs/hooks/useTranscriptions/useTranscription.js +16 -0
  222. package/dist/cjs/hooks/useTranscriptions/useTranscription.js.map +1 -0
  223. package/dist/cjs/hooks/useTranscriptions/useTranscriptions.js +18 -0
  224. package/dist/cjs/hooks/useTranscriptions/useTranscriptions.js.map +1 -0
  225. package/dist/cjs/hooks/useUserActivity/index.js +10 -0
  226. package/dist/cjs/hooks/useUserActivity/index.js.map +1 -0
  227. package/dist/cjs/hooks/useUserActivity/useUserActivity.js +23 -0
  228. package/dist/cjs/hooks/useUserActivity/useUserActivity.js.map +1 -0
  229. package/dist/cjs/livekit/components.js +10 -0
  230. package/dist/cjs/livekit/components.js.map +1 -0
  231. package/dist/cjs/livekit/sdk.js +10 -0
  232. package/dist/cjs/livekit/sdk.js.map +1 -0
  233. package/dist/cjs/sdk-consumer/context.js +15 -0
  234. package/dist/cjs/sdk-consumer/context.js.map +1 -0
  235. package/dist/cjs/sdk-consumer/index.js +10 -0
  236. package/dist/cjs/sdk-consumer/index.js.map +1 -0
  237. package/dist/cjs/sdk.js +148 -0
  238. package/dist/cjs/sdk.js.map +1 -0
  239. package/dist/cjs/services/FetchPersonaChatService.js +139 -0
  240. package/dist/cjs/services/FetchPersonaChatService.js.map +1 -0
  241. package/dist/cjs/test-types.d.js +2 -0
  242. package/dist/cjs/test-types.d.js.map +1 -0
  243. package/dist/cjs/types/http.js +14 -0
  244. package/dist/cjs/types/http.js.map +1 -0
  245. package/dist/cjs/types/index.js +7 -0
  246. package/dist/cjs/types/index.js.map +1 -0
  247. package/dist/cjs/types/service.js +4 -0
  248. package/dist/cjs/types/service.js.map +1 -0
  249. package/dist/cjs/utils/captureImage/captureImage.js +29 -0
  250. package/dist/cjs/utils/captureImage/captureImage.js.map +1 -0
  251. package/dist/cjs/utils/captureImage/helpers.js +74 -0
  252. package/dist/cjs/utils/captureImage/helpers.js.map +1 -0
  253. package/dist/cjs/utils/captureImage/index.js +16 -0
  254. package/dist/cjs/utils/captureImage/index.js.map +1 -0
  255. package/dist/cjs/utils/captureImage/types.js +4 -0
  256. package/dist/cjs/utils/captureImage/types.js.map +1 -0
  257. package/dist/cjs/utils/compatibility/compatibility.js +17 -0
  258. package/dist/cjs/utils/compatibility/compatibility.js.map +1 -0
  259. package/dist/cjs/utils/compatibility/index.js +10 -0
  260. package/dist/cjs/utils/compatibility/index.js.map +1 -0
  261. package/dist/cjs/utils.js +10 -0
  262. package/dist/cjs/utils.js.map +1 -0
  263. package/dist/esm/components/Audio/Audio.js +18 -0
  264. package/dist/esm/components/Audio/Audio.js.map +1 -0
  265. package/dist/esm/components/Audio/index.js +2 -0
  266. package/dist/esm/components/Audio/index.js.map +1 -0
  267. package/dist/esm/components/ChromaKey/ChromaKey.js +115 -0
  268. package/dist/esm/components/ChromaKey/ChromaKey.js.map +1 -0
  269. package/dist/esm/components/ChromaKey/chroma-key.js +91 -0
  270. package/dist/esm/components/ChromaKey/chroma-key.js.map +1 -0
  271. package/dist/esm/components/ChromaKey/index.js +2 -0
  272. package/dist/esm/components/ChromaKey/index.js.map +1 -0
  273. package/dist/esm/components/ChromaKey/shaders/chroma-key.shader.js +40 -0
  274. package/dist/esm/components/ChromaKey/shaders/chroma-key.shader.js.map +1 -0
  275. package/dist/esm/components/ChromaKey/shaders/index.js +3 -0
  276. package/dist/esm/components/ChromaKey/shaders/index.js.map +1 -0
  277. package/dist/esm/components/ChromaKey/shaders/vertex-align.shader.js +8 -0
  278. package/dist/esm/components/ChromaKey/shaders/vertex-align.shader.js.map +1 -0
  279. package/dist/esm/components/ChromaKey/types.js +2 -0
  280. package/dist/esm/components/ChromaKey/types.js.map +1 -0
  281. package/dist/esm/components/LegendsPlatform/LegendsPlatform.js +53 -0
  282. package/dist/esm/components/LegendsPlatform/LegendsPlatform.js.map +1 -0
  283. package/dist/esm/components/LegendsPlatform/index.js +2 -0
  284. package/dist/esm/components/LegendsPlatform/index.js.map +1 -0
  285. package/dist/esm/components/LegendsPlatformQLess/LegendsPlatform.js +30 -0
  286. package/dist/esm/components/LegendsPlatformQLess/LegendsPlatform.js.map +1 -0
  287. package/dist/esm/components/LegendsPlatformQLess/index.js +2 -0
  288. package/dist/esm/components/LegendsPlatformQLess/index.js.map +1 -0
  289. package/dist/esm/components/Video/Video.js +73 -0
  290. package/dist/esm/components/Video/Video.js.map +1 -0
  291. package/dist/esm/components/Video/index.js +3 -0
  292. package/dist/esm/components/Video/index.js.map +1 -0
  293. package/dist/esm/components/Video/types.js +2 -0
  294. package/dist/esm/components/Video/types.js.map +1 -0
  295. package/dist/esm/components/Video/useAttachVideo.js +27 -0
  296. package/dist/esm/components/Video/useAttachVideo.js.map +1 -0
  297. package/dist/esm/components/VideoPostProcessor/VideoPostProcessor.js +47 -0
  298. package/dist/esm/components/VideoPostProcessor/VideoPostProcessor.js.map +1 -0
  299. package/dist/esm/components/VideoPostProcessor/effects.js +25 -0
  300. package/dist/esm/components/VideoPostProcessor/effects.js.map +1 -0
  301. package/dist/esm/components/VideoPostProcessor/index.js +2 -0
  302. package/dist/esm/components/VideoPostProcessor/index.js.map +1 -0
  303. package/dist/esm/components/VideoPreview/VideoPreview.js +48 -0
  304. package/dist/esm/components/VideoPreview/VideoPreview.js.map +1 -0
  305. package/dist/esm/components/VideoPreview/index.js +3 -0
  306. package/dist/esm/components/VideoPreview/index.js.map +1 -0
  307. package/dist/esm/components/VideoPreview/types.js +2 -0
  308. package/dist/esm/components/VideoPreview/types.js.map +1 -0
  309. package/dist/esm/components/VideoPreview/useVideoPreviewStream.js +85 -0
  310. package/dist/esm/components/VideoPreview/useVideoPreviewStream.js.map +1 -0
  311. package/dist/esm/components.js +6 -0
  312. package/dist/esm/components.js.map +1 -0
  313. package/dist/esm/conversation/index.js +4 -0
  314. package/dist/esm/conversation/index.js.map +1 -0
  315. package/dist/esm/conversation/state.js +20 -0
  316. package/dist/esm/conversation/state.js.map +1 -0
  317. package/dist/esm/conversation/types.js +2 -0
  318. package/dist/esm/conversation/types.js.map +1 -0
  319. package/dist/esm/conversation/utils.js +21 -0
  320. package/dist/esm/conversation/utils.js.map +1 -0
  321. package/dist/esm/external-types.d.js +2 -0
  322. package/dist/esm/external-types.d.js.map +1 -0
  323. package/dist/esm/hooks/index.js +10 -0
  324. package/dist/esm/hooks/index.js.map +1 -0
  325. package/dist/esm/hooks/useActivityState/index.js +2 -0
  326. package/dist/esm/hooks/useActivityState/index.js.map +1 -0
  327. package/dist/esm/hooks/useActivityState/useActivityState.js +11 -0
  328. package/dist/esm/hooks/useActivityState/useActivityState.js.map +1 -0
  329. package/dist/esm/hooks/useAudio/index.js +2 -0
  330. package/dist/esm/hooks/useAudio/index.js.map +1 -0
  331. package/dist/esm/hooks/useAudio/useAudio.js +26 -0
  332. package/dist/esm/hooks/useAudio/useAudio.js.map +1 -0
  333. package/dist/esm/hooks/useAudioLevel/helpers.js +23 -0
  334. package/dist/esm/hooks/useAudioLevel/helpers.js.map +1 -0
  335. package/dist/esm/hooks/useAudioLevel/index.js +2 -0
  336. package/dist/esm/hooks/useAudioLevel/index.js.map +1 -0
  337. package/dist/esm/hooks/useAudioLevel/types.js +2 -0
  338. package/dist/esm/hooks/useAudioLevel/types.js.map +1 -0
  339. package/dist/esm/hooks/useAudioLevel/useAudioLevel.js +43 -0
  340. package/dist/esm/hooks/useAudioLevel/useAudioLevel.js.map +1 -0
  341. package/dist/esm/hooks/useCamera/index.js +2 -0
  342. package/dist/esm/hooks/useCamera/index.js.map +1 -0
  343. package/dist/esm/hooks/useCamera/useCamera.js +29 -0
  344. package/dist/esm/hooks/useCamera/useCamera.js.map +1 -0
  345. package/dist/esm/hooks/useConnectionState/index.js +2 -0
  346. package/dist/esm/hooks/useConnectionState/index.js.map +1 -0
  347. package/dist/esm/hooks/useConnectionState/useConnectionState.js +11 -0
  348. package/dist/esm/hooks/useConnectionState/useConnectionState.js.map +1 -0
  349. package/dist/esm/hooks/useConversation/index.js +3 -0
  350. package/dist/esm/hooks/useConversation/index.js.map +1 -0
  351. package/dist/esm/hooks/useConversation/livekit/constants.js +11 -0
  352. package/dist/esm/hooks/useConversation/livekit/constants.js.map +1 -0
  353. package/dist/esm/hooks/useConversation/livekit/types.js +2 -0
  354. package/dist/esm/hooks/useConversation/livekit/types.js.map +1 -0
  355. package/dist/esm/hooks/useConversation/livekit/useConversation.js +377 -0
  356. package/dist/esm/hooks/useConversation/livekit/useConversation.js.map +1 -0
  357. package/dist/esm/hooks/useConversation/livekit/utils/dataChannel.js +18 -0
  358. package/dist/esm/hooks/useConversation/livekit/utils/dataChannel.js.map +1 -0
  359. package/dist/esm/hooks/useConversation/livekit/utils/index.js +7 -0
  360. package/dist/esm/hooks/useConversation/livekit/utils/index.js.map +1 -0
  361. package/dist/esm/hooks/useConversation/livekit/utils/messaging.js +7 -0
  362. package/dist/esm/hooks/useConversation/livekit/utils/messaging.js.map +1 -0
  363. package/dist/esm/hooks/useConversation/livekit/utils/participants.js +28 -0
  364. package/dist/esm/hooks/useConversation/livekit/utils/participants.js.map +1 -0
  365. package/dist/esm/hooks/useConversation/livekit/utils/serialization.js +9 -0
  366. package/dist/esm/hooks/useConversation/livekit/utils/serialization.js.map +1 -0
  367. package/dist/esm/hooks/useConversation/livekit/utils/toolAdapter.js +14 -0
  368. package/dist/esm/hooks/useConversation/livekit/utils/toolAdapter.js.map +1 -0
  369. package/dist/esm/hooks/useConversation/livekit/utils/transcriptions.js +11 -0
  370. package/dist/esm/hooks/useConversation/livekit/utils/transcriptions.js.map +1 -0
  371. package/dist/esm/hooks/useConversation/types.js +2 -0
  372. package/dist/esm/hooks/useConversation/types.js.map +1 -0
  373. package/dist/esm/hooks/useConversation/useConversation.js +93 -0
  374. package/dist/esm/hooks/useConversation/useConversation.js.map +1 -0
  375. package/dist/esm/hooks/useConversationEvents/index.js +4 -0
  376. package/dist/esm/hooks/useConversationEvents/index.js.map +1 -0
  377. package/dist/esm/hooks/useConversationEvents/types.js +2 -0
  378. package/dist/esm/hooks/useConversationEvents/types.js.map +1 -0
  379. package/dist/esm/hooks/useConversationEvents/useConversationEvent.js +7 -0
  380. package/dist/esm/hooks/useConversationEvents/useConversationEvent.js.map +1 -0
  381. package/dist/esm/hooks/useConversationEvents/useConversationEvents.js +20 -0
  382. package/dist/esm/hooks/useConversationEvents/useConversationEvents.js.map +1 -0
  383. package/dist/esm/hooks/useConversationEvents/useEmitConversationEvent.js +9 -0
  384. package/dist/esm/hooks/useConversationEvents/useEmitConversationEvent.js.map +1 -0
  385. package/dist/esm/hooks/useConversationStatus/index.js +2 -0
  386. package/dist/esm/hooks/useConversationStatus/index.js.map +1 -0
  387. package/dist/esm/hooks/useConversationStatus/useConversationStatus.js +6 -0
  388. package/dist/esm/hooks/useConversationStatus/useConversationStatus.js.map +1 -0
  389. package/dist/esm/hooks/useConversationTimer/index.js +2 -0
  390. package/dist/esm/hooks/useConversationTimer/index.js.map +1 -0
  391. package/dist/esm/hooks/useConversationTimer/useConversationTimer.js +44 -0
  392. package/dist/esm/hooks/useConversationTimer/useConversationTimer.js.map +1 -0
  393. package/dist/esm/hooks/useCreateConversation/helpers.js +4 -0
  394. package/dist/esm/hooks/useCreateConversation/helpers.js.map +1 -0
  395. package/dist/esm/hooks/useCreateConversation/index.js +2 -0
  396. package/dist/esm/hooks/useCreateConversation/index.js.map +1 -0
  397. package/dist/esm/hooks/useCreateConversation/useCreateConversation.js +98 -0
  398. package/dist/esm/hooks/useCreateConversation/useCreateConversation.js.map +1 -0
  399. package/dist/esm/hooks/useDeviceSwitcher/index.js +2 -0
  400. package/dist/esm/hooks/useDeviceSwitcher/index.js.map +1 -0
  401. package/dist/esm/hooks/useDeviceSwitcher/useDeviceSwitcher.js +26 -0
  402. package/dist/esm/hooks/useDeviceSwitcher/useDeviceSwitcher.js.map +1 -0
  403. package/dist/esm/hooks/useDevices/index.js +2 -0
  404. package/dist/esm/hooks/useDevices/index.js.map +1 -0
  405. package/dist/esm/hooks/useDevices/useDevices.js +45 -0
  406. package/dist/esm/hooks/useDevices/useDevices.js.map +1 -0
  407. package/dist/esm/hooks/useMediaPermissions/index.js +3 -0
  408. package/dist/esm/hooks/useMediaPermissions/index.js.map +1 -0
  409. package/dist/esm/hooks/useMediaPermissions/types.js +2 -0
  410. package/dist/esm/hooks/useMediaPermissions/types.js.map +1 -0
  411. package/dist/esm/hooks/useMediaPermissions/useMediaPermissions.js +42 -0
  412. package/dist/esm/hooks/useMediaPermissions/useMediaPermissions.js.map +1 -0
  413. package/dist/esm/hooks/useMediaRecorder/index.js +2 -0
  414. package/dist/esm/hooks/useMediaRecorder/index.js.map +1 -0
  415. package/dist/esm/hooks/useMediaRecorder/useMediaRecorder.js +227 -0
  416. package/dist/esm/hooks/useMediaRecorder/useMediaRecorder.js.map +1 -0
  417. package/dist/esm/hooks/useMediaRecorder/useReactRecorder.js +315 -0
  418. package/dist/esm/hooks/useMediaRecorder/useReactRecorder.js.map +1 -0
  419. package/dist/esm/hooks/useMicrophone/index.js +2 -0
  420. package/dist/esm/hooks/useMicrophone/index.js.map +1 -0
  421. package/dist/esm/hooks/useMicrophone/useMicrophone.js +35 -0
  422. package/dist/esm/hooks/useMicrophone/useMicrophone.js.map +1 -0
  423. package/dist/esm/hooks/useParticipantTrack/index.js +2 -0
  424. package/dist/esm/hooks/useParticipantTrack/index.js.map +1 -0
  425. package/dist/esm/hooks/useParticipantTrack/useParticipantTrack.js +26 -0
  426. package/dist/esm/hooks/useParticipantTrack/useParticipantTrack.js.map +1 -0
  427. package/dist/esm/hooks/usePictureInPicture/index.js +5 -0
  428. package/dist/esm/hooks/usePictureInPicture/index.js.map +1 -0
  429. package/dist/esm/hooks/usePictureInPicture/state.js +10 -0
  430. package/dist/esm/hooks/usePictureInPicture/state.js.map +1 -0
  431. package/dist/esm/hooks/usePictureInPicture/types.js +2 -0
  432. package/dist/esm/hooks/usePictureInPicture/types.js.map +1 -0
  433. package/dist/esm/hooks/usePictureInPicture/usePictureInPicture.js +41 -0
  434. package/dist/esm/hooks/usePictureInPicture/usePictureInPicture.js.map +1 -0
  435. package/dist/esm/hooks/usePictureInPicture/usePictureInPictureAuto.js +111 -0
  436. package/dist/esm/hooks/usePictureInPicture/usePictureInPictureAuto.js.map +1 -0
  437. package/dist/esm/hooks/useScreenShare/index.js +2 -0
  438. package/dist/esm/hooks/useScreenShare/index.js.map +1 -0
  439. package/dist/esm/hooks/useScreenShare/useScreenShare.js +42 -0
  440. package/dist/esm/hooks/useScreenShare/useScreenShare.js.map +1 -0
  441. package/dist/esm/hooks/useSpeaker/index.js +2 -0
  442. package/dist/esm/hooks/useSpeaker/index.js.map +1 -0
  443. package/dist/esm/hooks/useSpeaker/useSpeaker.js +28 -0
  444. package/dist/esm/hooks/useSpeaker/useSpeaker.js.map +1 -0
  445. package/dist/esm/hooks/useTextChat/index.js +2 -0
  446. package/dist/esm/hooks/useTextChat/index.js.map +1 -0
  447. package/dist/esm/hooks/useTextChat/usePendingMessages.js +19 -0
  448. package/dist/esm/hooks/useTextChat/usePendingMessages.js.map +1 -0
  449. package/dist/esm/hooks/useTextChat/useTextChat.js +59 -0
  450. package/dist/esm/hooks/useTextChat/useTextChat.js.map +1 -0
  451. package/dist/esm/hooks/useTextChat/useToolAwareSend.js +28 -0
  452. package/dist/esm/hooks/useTextChat/useToolAwareSend.js.map +1 -0
  453. package/dist/esm/hooks/useTools/index.js +3 -0
  454. package/dist/esm/hooks/useTools/index.js.map +1 -0
  455. package/dist/esm/hooks/useTools/model/errors.js +7 -0
  456. package/dist/esm/hooks/useTools/model/errors.js.map +1 -0
  457. package/dist/esm/hooks/useTools/model/types.js +2 -0
  458. package/dist/esm/hooks/useTools/model/types.js.map +1 -0
  459. package/dist/esm/hooks/useTools/public/useTools.js +7 -0
  460. package/dist/esm/hooks/useTools/public/useTools.js.map +1 -0
  461. package/dist/esm/hooks/useTools/runtime/createToolRuntimeSession.js +66 -0
  462. package/dist/esm/hooks/useTools/runtime/createToolRuntimeSession.js.map +1 -0
  463. package/dist/esm/hooks/useTools/runtime/executeToolCall.js +29 -0
  464. package/dist/esm/hooks/useTools/runtime/executeToolCall.js.map +1 -0
  465. package/dist/esm/hooks/useTools/runtime/executeToolCallBatch.js +36 -0
  466. package/dist/esm/hooks/useTools/runtime/executeToolCallBatch.js.map +1 -0
  467. package/dist/esm/hooks/useTools/runtime/types.js +2 -0
  468. package/dist/esm/hooks/useTools/runtime/types.js.map +1 -0
  469. package/dist/esm/hooks/useTools/runtime/useToolCallingRuntime.js +58 -0
  470. package/dist/esm/hooks/useTools/runtime/useToolCallingRuntime.js.map +1 -0
  471. package/dist/esm/hooks/useTools/store/state.js +26 -0
  472. package/dist/esm/hooks/useTools/store/state.js.map +1 -0
  473. package/dist/esm/hooks/useTools/utils/normalizeFunctionCall.js +18 -0
  474. package/dist/esm/hooks/useTools/utils/normalizeFunctionCall.js.map +1 -0
  475. package/dist/esm/hooks/useTools/utils/serialize.js +23 -0
  476. package/dist/esm/hooks/useTools/utils/serialize.js.map +1 -0
  477. package/dist/esm/hooks/useTranscriptions/index.js +3 -0
  478. package/dist/esm/hooks/useTranscriptions/index.js.map +1 -0
  479. package/dist/esm/hooks/useTranscriptions/types.js +2 -0
  480. package/dist/esm/hooks/useTranscriptions/types.js.map +1 -0
  481. package/dist/esm/hooks/useTranscriptions/useTranscription.js +15 -0
  482. package/dist/esm/hooks/useTranscriptions/useTranscription.js.map +1 -0
  483. package/dist/esm/hooks/useTranscriptions/useTranscriptions.js +15 -0
  484. package/dist/esm/hooks/useTranscriptions/useTranscriptions.js.map +1 -0
  485. package/dist/esm/hooks/useUserActivity/index.js +2 -0
  486. package/dist/esm/hooks/useUserActivity/index.js.map +1 -0
  487. package/dist/esm/hooks/useUserActivity/useUserActivity.js +22 -0
  488. package/dist/esm/hooks/useUserActivity/useUserActivity.js.map +1 -0
  489. package/dist/esm/livekit/components.js +2 -0
  490. package/dist/esm/livekit/components.js.map +1 -0
  491. package/dist/esm/livekit/sdk.js +2 -0
  492. package/dist/esm/livekit/sdk.js.map +1 -0
  493. package/dist/esm/sdk-consumer/context.js +10 -0
  494. package/dist/esm/sdk-consumer/context.js.map +1 -0
  495. package/dist/esm/sdk-consumer/index.js +2 -0
  496. package/dist/esm/sdk-consumer/index.js.map +1 -0
  497. package/dist/esm/sdk.js +25 -0
  498. package/dist/esm/sdk.js.map +1 -0
  499. package/dist/esm/services/FetchPersonaChatService.js +124 -0
  500. package/dist/esm/services/FetchPersonaChatService.js.map +1 -0
  501. package/dist/esm/test-types.d.js +2 -0
  502. package/dist/esm/test-types.d.js.map +1 -0
  503. package/dist/esm/types/http.js +9 -0
  504. package/dist/esm/types/http.js.map +1 -0
  505. package/dist/esm/types/index.js +2 -0
  506. package/dist/esm/types/index.js.map +1 -0
  507. package/dist/esm/types/service.js +2 -0
  508. package/dist/esm/types/service.js.map +1 -0
  509. package/dist/esm/utils/captureImage/captureImage.js +29 -0
  510. package/dist/esm/utils/captureImage/captureImage.js.map +1 -0
  511. package/dist/esm/utils/captureImage/helpers.js +69 -0
  512. package/dist/esm/utils/captureImage/helpers.js.map +1 -0
  513. package/dist/esm/utils/captureImage/index.js +3 -0
  514. package/dist/esm/utils/captureImage/index.js.map +1 -0
  515. package/dist/esm/utils/captureImage/types.js +2 -0
  516. package/dist/esm/utils/captureImage/types.js.map +1 -0
  517. package/dist/esm/utils/compatibility/compatibility.js +12 -0
  518. package/dist/esm/utils/compatibility/compatibility.js.map +1 -0
  519. package/dist/esm/utils/compatibility/index.js +2 -0
  520. package/dist/esm/utils/compatibility/index.js.map +1 -0
  521. package/dist/esm/utils.js +2 -0
  522. package/dist/esm/utils.js.map +1 -0
  523. package/dist/types/components/Audio/Audio.d.ts +3 -0
  524. package/dist/types/components/Audio/Audio.d.ts.map +1 -0
  525. package/dist/types/components/Audio/index.d.ts +2 -0
  526. package/dist/types/components/Audio/index.d.ts.map +1 -0
  527. package/dist/types/components/ChromaKey/ChromaKey.d.ts +20 -0
  528. package/dist/types/components/ChromaKey/ChromaKey.d.ts.map +1 -0
  529. package/dist/types/components/ChromaKey/chroma-key.d.ts +9 -0
  530. package/dist/types/components/ChromaKey/chroma-key.d.ts.map +1 -0
  531. package/dist/types/components/ChromaKey/index.d.ts +2 -0
  532. package/dist/types/components/ChromaKey/index.d.ts.map +1 -0
  533. package/dist/types/components/ChromaKey/shaders/chroma-key.shader.d.ts +3 -0
  534. package/dist/types/components/ChromaKey/shaders/chroma-key.shader.d.ts.map +1 -0
  535. package/dist/types/components/ChromaKey/shaders/index.d.ts +3 -0
  536. package/dist/types/components/ChromaKey/shaders/index.d.ts.map +1 -0
  537. package/dist/types/components/ChromaKey/shaders/vertex-align.shader.d.ts +3 -0
  538. package/dist/types/components/ChromaKey/shaders/vertex-align.shader.d.ts.map +1 -0
  539. package/dist/types/components/ChromaKey/types.d.ts +3 -0
  540. package/dist/types/components/ChromaKey/types.d.ts.map +1 -0
  541. package/dist/types/components/LegendsPlatform/LegendsPlatform.d.ts +18 -0
  542. package/dist/types/components/LegendsPlatform/LegendsPlatform.d.ts.map +1 -0
  543. package/dist/types/components/LegendsPlatform/index.d.ts +2 -0
  544. package/dist/types/components/LegendsPlatform/index.d.ts.map +1 -0
  545. package/dist/types/components/LegendsPlatformQLess/LegendsPlatform.d.ts +15 -0
  546. package/dist/types/components/LegendsPlatformQLess/LegendsPlatform.d.ts.map +1 -0
  547. package/dist/types/components/LegendsPlatformQLess/index.d.ts +2 -0
  548. package/dist/types/components/LegendsPlatformQLess/index.d.ts.map +1 -0
  549. package/dist/types/components/Video/Video.d.ts +14 -0
  550. package/dist/types/components/Video/Video.d.ts.map +1 -0
  551. package/dist/types/components/Video/index.d.ts +3 -0
  552. package/dist/types/components/Video/index.d.ts.map +1 -0
  553. package/dist/types/components/Video/types.d.ts +22 -0
  554. package/dist/types/components/Video/types.d.ts.map +1 -0
  555. package/dist/types/components/Video/useAttachVideo.d.ts +10 -0
  556. package/dist/types/components/Video/useAttachVideo.d.ts.map +1 -0
  557. package/dist/types/components/VideoPostProcessor/VideoPostProcessor.d.ts +11 -0
  558. package/dist/types/components/VideoPostProcessor/VideoPostProcessor.d.ts.map +1 -0
  559. package/dist/types/components/VideoPostProcessor/effects.d.ts +3 -0
  560. package/dist/types/components/VideoPostProcessor/effects.d.ts.map +1 -0
  561. package/dist/types/components/VideoPostProcessor/index.d.ts +2 -0
  562. package/dist/types/components/VideoPostProcessor/index.d.ts.map +1 -0
  563. package/dist/types/components/VideoPreview/VideoPreview.d.ts +4 -0
  564. package/dist/types/components/VideoPreview/VideoPreview.d.ts.map +1 -0
  565. package/dist/types/components/VideoPreview/index.d.ts +3 -0
  566. package/dist/types/components/VideoPreview/index.d.ts.map +1 -0
  567. package/dist/types/components/VideoPreview/types.d.ts +11 -0
  568. package/dist/types/components/VideoPreview/types.d.ts.map +1 -0
  569. package/dist/types/components/VideoPreview/useVideoPreviewStream.d.ts +13 -0
  570. package/dist/types/components/VideoPreview/useVideoPreviewStream.d.ts.map +1 -0
  571. package/dist/types/components.d.ts +6 -0
  572. package/dist/types/components.d.ts.map +1 -0
  573. package/dist/types/conversation/index.d.ts +3 -0
  574. package/dist/types/conversation/index.d.ts.map +1 -0
  575. package/dist/types/conversation/state.d.ts +47 -0
  576. package/dist/types/conversation/state.d.ts.map +1 -0
  577. package/dist/types/conversation/types.d.ts +27 -0
  578. package/dist/types/conversation/types.d.ts.map +1 -0
  579. package/dist/types/conversation/utils.d.ts +6 -0
  580. package/dist/types/conversation/utils.d.ts.map +1 -0
  581. package/dist/types/hooks/index.d.ts +10 -0
  582. package/dist/types/hooks/index.d.ts.map +1 -0
  583. package/dist/types/hooks/useActivityState/index.d.ts +2 -0
  584. package/dist/types/hooks/useActivityState/index.d.ts.map +1 -0
  585. package/dist/types/hooks/useActivityState/useActivityState.d.ts +2 -0
  586. package/dist/types/hooks/useActivityState/useActivityState.d.ts.map +1 -0
  587. package/dist/types/hooks/useAudio/index.d.ts +2 -0
  588. package/dist/types/hooks/useAudio/index.d.ts.map +1 -0
  589. package/dist/types/hooks/useAudio/useAudio.d.ts +7 -0
  590. package/dist/types/hooks/useAudio/useAudio.d.ts.map +1 -0
  591. package/dist/types/hooks/useAudioLevel/helpers.d.ts +11 -0
  592. package/dist/types/hooks/useAudioLevel/helpers.d.ts.map +1 -0
  593. package/dist/types/hooks/useAudioLevel/index.d.ts +2 -0
  594. package/dist/types/hooks/useAudioLevel/index.d.ts.map +1 -0
  595. package/dist/types/hooks/useAudioLevel/types.d.ts +8 -0
  596. package/dist/types/hooks/useAudioLevel/types.d.ts.map +1 -0
  597. package/dist/types/hooks/useAudioLevel/useAudioLevel.d.ts +3 -0
  598. package/dist/types/hooks/useAudioLevel/useAudioLevel.d.ts.map +1 -0
  599. package/dist/types/hooks/useCamera/index.d.ts +2 -0
  600. package/dist/types/hooks/useCamera/index.d.ts.map +1 -0
  601. package/dist/types/hooks/useCamera/useCamera.d.ts +8 -0
  602. package/dist/types/hooks/useCamera/useCamera.d.ts.map +1 -0
  603. package/dist/types/hooks/useConnectionState/index.d.ts +2 -0
  604. package/dist/types/hooks/useConnectionState/index.d.ts.map +1 -0
  605. package/dist/types/hooks/useConnectionState/useConnectionState.d.ts +2 -0
  606. package/dist/types/hooks/useConnectionState/useConnectionState.d.ts.map +1 -0
  607. package/dist/types/hooks/useConversation/index.d.ts +3 -0
  608. package/dist/types/hooks/useConversation/index.d.ts.map +1 -0
  609. package/dist/types/hooks/useConversation/livekit/constants.d.ts +4 -0
  610. package/dist/types/hooks/useConversation/livekit/constants.d.ts.map +1 -0
  611. package/dist/types/hooks/useConversation/livekit/types.d.ts +32 -0
  612. package/dist/types/hooks/useConversation/livekit/types.d.ts.map +1 -0
  613. package/dist/types/hooks/useConversation/livekit/useConversation.d.ts +3 -0
  614. package/dist/types/hooks/useConversation/livekit/useConversation.d.ts.map +1 -0
  615. package/dist/types/hooks/useConversation/livekit/utils/dataChannel.d.ts +6 -0
  616. package/dist/types/hooks/useConversation/livekit/utils/dataChannel.d.ts.map +1 -0
  617. package/dist/types/hooks/useConversation/livekit/utils/index.d.ts +7 -0
  618. package/dist/types/hooks/useConversation/livekit/utils/index.d.ts.map +1 -0
  619. package/dist/types/hooks/useConversation/livekit/utils/messaging.d.ts +3 -0
  620. package/dist/types/hooks/useConversation/livekit/utils/messaging.d.ts.map +1 -0
  621. package/dist/types/hooks/useConversation/livekit/utils/participants.d.ts +6 -0
  622. package/dist/types/hooks/useConversation/livekit/utils/participants.d.ts.map +1 -0
  623. package/dist/types/hooks/useConversation/livekit/utils/serialization.d.ts +2 -0
  624. package/dist/types/hooks/useConversation/livekit/utils/serialization.d.ts.map +1 -0
  625. package/dist/types/hooks/useConversation/livekit/utils/toolAdapter.d.ts +4 -0
  626. package/dist/types/hooks/useConversation/livekit/utils/toolAdapter.d.ts.map +1 -0
  627. package/dist/types/hooks/useConversation/livekit/utils/transcriptions.d.ts +3 -0
  628. package/dist/types/hooks/useConversation/livekit/utils/transcriptions.d.ts.map +1 -0
  629. package/dist/types/hooks/useConversation/types.d.ts +23 -0
  630. package/dist/types/hooks/useConversation/types.d.ts.map +1 -0
  631. package/dist/types/hooks/useConversation/useConversation.d.ts +3 -0
  632. package/dist/types/hooks/useConversation/useConversation.d.ts.map +1 -0
  633. package/dist/types/hooks/useConversationEvents/index.d.ts +4 -0
  634. package/dist/types/hooks/useConversationEvents/index.d.ts.map +1 -0
  635. package/dist/types/hooks/useConversationEvents/types.d.ts +72 -0
  636. package/dist/types/hooks/useConversationEvents/types.d.ts.map +1 -0
  637. package/dist/types/hooks/useConversationEvents/useConversationEvent.d.ts +3 -0
  638. package/dist/types/hooks/useConversationEvents/useConversationEvent.d.ts.map +1 -0
  639. package/dist/types/hooks/useConversationEvents/useConversationEvents.d.ts +5 -0
  640. package/dist/types/hooks/useConversationEvents/useConversationEvents.d.ts.map +1 -0
  641. package/dist/types/hooks/useConversationEvents/useEmitConversationEvent.d.ts +3 -0
  642. package/dist/types/hooks/useConversationEvents/useEmitConversationEvent.d.ts.map +1 -0
  643. package/dist/types/hooks/useConversationStatus/index.d.ts +2 -0
  644. package/dist/types/hooks/useConversationStatus/index.d.ts.map +1 -0
  645. package/dist/types/hooks/useConversationStatus/useConversationStatus.d.ts +2 -0
  646. package/dist/types/hooks/useConversationStatus/useConversationStatus.d.ts.map +1 -0
  647. package/dist/types/hooks/useConversationTimer/index.d.ts +2 -0
  648. package/dist/types/hooks/useConversationTimer/index.d.ts.map +1 -0
  649. package/dist/types/hooks/useConversationTimer/useConversationTimer.d.ts +17 -0
  650. package/dist/types/hooks/useConversationTimer/useConversationTimer.d.ts.map +1 -0
  651. package/dist/types/hooks/useCreateConversation/helpers.d.ts +8 -0
  652. package/dist/types/hooks/useCreateConversation/helpers.d.ts.map +1 -0
  653. package/dist/types/hooks/useCreateConversation/index.d.ts +2 -0
  654. package/dist/types/hooks/useCreateConversation/index.d.ts.map +1 -0
  655. package/dist/types/hooks/useCreateConversation/useCreateConversation.d.ts +11 -0
  656. package/dist/types/hooks/useCreateConversation/useCreateConversation.d.ts.map +1 -0
  657. package/dist/types/hooks/useDeviceSwitcher/index.d.ts +2 -0
  658. package/dist/types/hooks/useDeviceSwitcher/index.d.ts.map +1 -0
  659. package/dist/types/hooks/useDeviceSwitcher/useDeviceSwitcher.d.ts +9 -0
  660. package/dist/types/hooks/useDeviceSwitcher/useDeviceSwitcher.d.ts.map +1 -0
  661. package/dist/types/hooks/useDevices/index.d.ts +2 -0
  662. package/dist/types/hooks/useDevices/index.d.ts.map +1 -0
  663. package/dist/types/hooks/useDevices/useDevices.d.ts +6 -0
  664. package/dist/types/hooks/useDevices/useDevices.d.ts.map +1 -0
  665. package/dist/types/hooks/useMediaPermissions/index.d.ts +3 -0
  666. package/dist/types/hooks/useMediaPermissions/index.d.ts.map +1 -0
  667. package/dist/types/hooks/useMediaPermissions/types.d.ts +3 -0
  668. package/dist/types/hooks/useMediaPermissions/types.d.ts.map +1 -0
  669. package/dist/types/hooks/useMediaPermissions/useMediaPermissions.d.ts +7 -0
  670. package/dist/types/hooks/useMediaPermissions/useMediaPermissions.d.ts.map +1 -0
  671. package/dist/types/hooks/useMediaRecorder/index.d.ts +2 -0
  672. package/dist/types/hooks/useMediaRecorder/index.d.ts.map +1 -0
  673. package/dist/types/hooks/useMediaRecorder/useMediaRecorder.d.ts +39 -0
  674. package/dist/types/hooks/useMediaRecorder/useMediaRecorder.d.ts.map +1 -0
  675. package/dist/types/hooks/useMediaRecorder/useReactRecorder.d.ts +70 -0
  676. package/dist/types/hooks/useMediaRecorder/useReactRecorder.d.ts.map +1 -0
  677. package/dist/types/hooks/useMicrophone/index.d.ts +2 -0
  678. package/dist/types/hooks/useMicrophone/index.d.ts.map +1 -0
  679. package/dist/types/hooks/useMicrophone/useMicrophone.d.ts +8 -0
  680. package/dist/types/hooks/useMicrophone/useMicrophone.d.ts.map +1 -0
  681. package/dist/types/hooks/useParticipantTrack/index.d.ts +2 -0
  682. package/dist/types/hooks/useParticipantTrack/index.d.ts.map +1 -0
  683. package/dist/types/hooks/useParticipantTrack/useParticipantTrack.d.ts +11 -0
  684. package/dist/types/hooks/useParticipantTrack/useParticipantTrack.d.ts.map +1 -0
  685. package/dist/types/hooks/usePictureInPicture/index.d.ts +6 -0
  686. package/dist/types/hooks/usePictureInPicture/index.d.ts.map +1 -0
  687. package/dist/types/hooks/usePictureInPicture/state.d.ts +8 -0
  688. package/dist/types/hooks/usePictureInPicture/state.d.ts.map +1 -0
  689. package/dist/types/hooks/usePictureInPicture/types.d.ts +25 -0
  690. package/dist/types/hooks/usePictureInPicture/types.d.ts.map +1 -0
  691. package/dist/types/hooks/usePictureInPicture/usePictureInPicture.d.ts +3 -0
  692. package/dist/types/hooks/usePictureInPicture/usePictureInPicture.d.ts.map +1 -0
  693. package/dist/types/hooks/usePictureInPicture/usePictureInPictureAuto.d.ts +3 -0
  694. package/dist/types/hooks/usePictureInPicture/usePictureInPictureAuto.d.ts.map +1 -0
  695. package/dist/types/hooks/useScreenShare/index.d.ts +2 -0
  696. package/dist/types/hooks/useScreenShare/index.d.ts.map +1 -0
  697. package/dist/types/hooks/useScreenShare/useScreenShare.d.ts +13 -0
  698. package/dist/types/hooks/useScreenShare/useScreenShare.d.ts.map +1 -0
  699. package/dist/types/hooks/useSpeaker/index.d.ts +2 -0
  700. package/dist/types/hooks/useSpeaker/index.d.ts.map +1 -0
  701. package/dist/types/hooks/useSpeaker/useSpeaker.d.ts +6 -0
  702. package/dist/types/hooks/useSpeaker/useSpeaker.d.ts.map +1 -0
  703. package/dist/types/hooks/useTextChat/index.d.ts +2 -0
  704. package/dist/types/hooks/useTextChat/index.d.ts.map +1 -0
  705. package/dist/types/hooks/useTextChat/usePendingMessages.d.ts +11 -0
  706. package/dist/types/hooks/useTextChat/usePendingMessages.d.ts.map +1 -0
  707. package/dist/types/hooks/useTextChat/useTextChat.d.ts +21 -0
  708. package/dist/types/hooks/useTextChat/useTextChat.d.ts.map +1 -0
  709. package/dist/types/hooks/useTextChat/useToolAwareSend.d.ts +8 -0
  710. package/dist/types/hooks/useTextChat/useToolAwareSend.d.ts.map +1 -0
  711. package/dist/types/hooks/useTools/index.d.ts +4 -0
  712. package/dist/types/hooks/useTools/index.d.ts.map +1 -0
  713. package/dist/types/hooks/useTools/model/errors.d.ts +4 -0
  714. package/dist/types/hooks/useTools/model/errors.d.ts.map +1 -0
  715. package/dist/types/hooks/useTools/model/types.d.ts +27 -0
  716. package/dist/types/hooks/useTools/model/types.d.ts.map +1 -0
  717. package/dist/types/hooks/useTools/public/useTools.d.ts +2 -0
  718. package/dist/types/hooks/useTools/public/useTools.d.ts.map +1 -0
  719. package/dist/types/hooks/useTools/runtime/createToolRuntimeSession.d.ts +9 -0
  720. package/dist/types/hooks/useTools/runtime/createToolRuntimeSession.d.ts.map +1 -0
  721. package/dist/types/hooks/useTools/runtime/executeToolCall.d.ts +3 -0
  722. package/dist/types/hooks/useTools/runtime/executeToolCall.d.ts.map +1 -0
  723. package/dist/types/hooks/useTools/runtime/executeToolCallBatch.d.ts +11 -0
  724. package/dist/types/hooks/useTools/runtime/executeToolCallBatch.d.ts.map +1 -0
  725. package/dist/types/hooks/useTools/runtime/types.d.ts +35 -0
  726. package/dist/types/hooks/useTools/runtime/types.d.ts.map +1 -0
  727. package/dist/types/hooks/useTools/runtime/useToolCallingRuntime.d.ts +9 -0
  728. package/dist/types/hooks/useTools/runtime/useToolCallingRuntime.d.ts.map +1 -0
  729. package/dist/types/hooks/useTools/store/state.d.ts +17 -0
  730. package/dist/types/hooks/useTools/store/state.d.ts.map +1 -0
  731. package/dist/types/hooks/useTools/utils/normalizeFunctionCall.d.ts +4 -0
  732. package/dist/types/hooks/useTools/utils/normalizeFunctionCall.d.ts.map +1 -0
  733. package/dist/types/hooks/useTools/utils/serialize.d.ts +3 -0
  734. package/dist/types/hooks/useTools/utils/serialize.d.ts.map +1 -0
  735. package/dist/types/hooks/useTranscriptions/index.d.ts +3 -0
  736. package/dist/types/hooks/useTranscriptions/index.d.ts.map +1 -0
  737. package/dist/types/hooks/useTranscriptions/types.d.ts +5 -0
  738. package/dist/types/hooks/useTranscriptions/types.d.ts.map +1 -0
  739. package/dist/types/hooks/useTranscriptions/useTranscription.d.ts +3 -0
  740. package/dist/types/hooks/useTranscriptions/useTranscription.d.ts.map +1 -0
  741. package/dist/types/hooks/useTranscriptions/useTranscriptions.d.ts +3 -0
  742. package/dist/types/hooks/useTranscriptions/useTranscriptions.d.ts.map +1 -0
  743. package/dist/types/hooks/useUserActivity/index.d.ts +2 -0
  744. package/dist/types/hooks/useUserActivity/index.d.ts.map +1 -0
  745. package/dist/types/hooks/useUserActivity/useUserActivity.d.ts +8 -0
  746. package/dist/types/hooks/useUserActivity/useUserActivity.d.ts.map +1 -0
  747. package/dist/types/livekit/components.d.ts +2 -0
  748. package/dist/types/livekit/components.d.ts.map +1 -0
  749. package/dist/types/livekit/sdk.d.ts +2 -0
  750. package/dist/types/livekit/sdk.d.ts.map +1 -0
  751. package/dist/types/sdk-consumer/context.d.ts +12 -0
  752. package/dist/types/sdk-consumer/context.d.ts.map +1 -0
  753. package/dist/types/sdk-consumer/index.d.ts +2 -0
  754. package/dist/types/sdk-consumer/index.d.ts.map +1 -0
  755. package/dist/types/sdk.d.ts +25 -0
  756. package/dist/types/sdk.d.ts.map +1 -0
  757. package/dist/types/services/FetchPersonaChatService.d.ts +15 -0
  758. package/dist/types/services/FetchPersonaChatService.d.ts.map +1 -0
  759. package/dist/types/types/http.d.ts +15 -0
  760. package/dist/types/types/http.d.ts.map +1 -0
  761. package/dist/types/types/index.d.ts +4 -0
  762. package/dist/types/types/index.d.ts.map +1 -0
  763. package/dist/types/types/service.d.ts +62 -0
  764. package/dist/types/types/service.d.ts.map +1 -0
  765. package/dist/types/utils/captureImage/captureImage.d.ts +3 -0
  766. package/dist/types/utils/captureImage/captureImage.d.ts.map +1 -0
  767. package/dist/types/utils/captureImage/helpers.d.ts +4 -0
  768. package/dist/types/utils/captureImage/helpers.d.ts.map +1 -0
  769. package/dist/types/utils/captureImage/index.d.ts +3 -0
  770. package/dist/types/utils/captureImage/index.d.ts.map +1 -0
  771. package/dist/types/utils/captureImage/types.d.ts +9 -0
  772. package/dist/types/utils/captureImage/types.d.ts.map +1 -0
  773. package/dist/types/utils/compatibility/compatibility.d.ts +3 -0
  774. package/dist/types/utils/compatibility/compatibility.d.ts.map +1 -0
  775. package/dist/types/utils/compatibility/index.d.ts +2 -0
  776. package/dist/types/utils/compatibility/index.d.ts.map +1 -0
  777. package/dist/types/utils.d.ts +2 -0
  778. package/dist/types/utils.d.ts.map +1 -0
  779. package/livekit/components/package.json +5 -0
  780. package/livekit/sdk/package.json +5 -0
  781. package/livekit-client.patch +19 -0
  782. package/package.json +108 -0
  783. package/sdk/package.json +5 -0
  784. package/tpa/package.json +5 -0
  785. package/utils/package.json +5 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useAtom","state","useDevices","useDeviceSwitcher","useMicrophone","devices","type","_useAtom","microphone","setMicrophone","device","onChange","enabled","deviceId","setEnabled","setDeviceId"],"sources":["../../../../src/hooks/useMicrophone/useMicrophone.ts"],"sourcesContent":["import { useAtom } from 'jotai';\n\nimport * as state from '../../conversation/state';\n\nimport { useDevices } from '../useDevices';\nimport { useDeviceSwitcher } from '../useDeviceSwitcher';\n\nexport function useMicrophone() {\n const devices = useDevices({ type: 'audioinput' });\n const [microphone, setMicrophone] = useAtom(state.microphone);\n\n useDeviceSwitcher({\n device: microphone,\n devices,\n onChange: setMicrophone,\n });\n\n return {\n devices,\n enabled: microphone.enabled,\n deviceId: microphone.deviceId,\n setEnabled(enabled: boolean) {\n setMicrophone({ ...microphone, enabled });\n },\n setDeviceId(deviceId: string) {\n setMicrophone({ ...microphone, deviceId });\n },\n };\n}\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,OAAO;AAE/B,OAAO,KAAKC,KAAK,MAAM,0BAA0B;AAEjD,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,iBAAiB,QAAQ,sBAAsB;AAExD,OAAO,SAASC,aAAaA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAGH,UAAU,CAAC;IAAEI,IAAI,EAAE;EAAa,CAAC,CAAC;EAClD,MAAAC,QAAA,GAAoCP,OAAO,CAACC,KAAK,CAACO,UAAU,CAAC;IAAtDA,UAAU,GAAAD,QAAA;IAAEE,aAAa,GAAAF,QAAA;EAEhCJ,iBAAiB,CAAC;IAChBO,MAAM,EAAEF,UAAU;IAClBH,OAAO;IACPM,QAAQ,EAAEF;EACZ,CAAC,CAAC;EAEF,OAAO;IACLJ,OAAO;IACPO,OAAO,EAAEJ,UAAU,CAACI,OAAO;IAC3BC,QAAQ,EAAEL,UAAU,CAACK,QAAQ;IAC7BC,UAAUA,CAACF,OAAgB,EAAE;MAC3BH,aAAa,CAAC;QAAE,GAAGD,UAAU;QAAEI;MAAQ,CAAC,CAAC;IAC3C,CAAC;IACDG,WAAWA,CAACF,QAAgB,EAAE;MAC5BJ,aAAa,CAAC;QAAE,GAAGD,UAAU;QAAEK;MAAS,CAAC,CAAC;IAC5C;EACF,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export * from './useParticipantTrack';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../../src/hooks/useParticipantTrack/index.ts"],"sourcesContent":["export * from './useParticipantTrack';\n"],"mappings":"AAAA,cAAc,uBAAuB","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ import { useTracks } from '@livekit/components-react';
2
+ import { Track } from 'livekit-client';
3
+ export let Source = function (Source) {
4
+ Source[Source["Camera"] = Track.Source.Camera] = "Camera";
5
+ Source[Source["Microphone"] = Track.Source.Microphone] = "Microphone";
6
+ Source[Source["ScreenShare"] = Track.Source.ScreenShare] = "ScreenShare";
7
+ return Source;
8
+ }({});
9
+ export function useParticipantTrack(_ref) {
10
+ let type = _ref.type,
11
+ source = _ref.source;
12
+ const track = useTracks([source]).find(track => {
13
+ if (type === 'screen') {
14
+ return track.source === Source.ScreenShare;
15
+ }
16
+ if (type === 'user') {
17
+ return track.participant.isLocal;
18
+ }
19
+ if (type === 'agent') {
20
+ return track.participant.isAgent;
21
+ }
22
+ return false;
23
+ });
24
+ return (track == null ? void 0 : track.publication) || {};
25
+ }
26
+ //# sourceMappingURL=useParticipantTrack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useTracks","Track","Source","Camera","Microphone","ScreenShare","useParticipantTrack","_ref","type","source","track","find","participant","isLocal","isAgent","publication"],"sources":["../../../../src/hooks/useParticipantTrack/useParticipantTrack.ts"],"sourcesContent":["import { useTracks } from '@livekit/components-react';\nimport { Track } from 'livekit-client';\n\nexport enum Source {\n Camera = Track.Source.Camera,\n Microphone = Track.Source.Microphone,\n ScreenShare = Track.Source.ScreenShare,\n}\n\nexport type UseParticipantTrackProps = {\n type: 'user' | 'agent' | 'screen';\n source: Source;\n};\n\nexport function useParticipantTrack({\n type,\n source,\n}: UseParticipantTrackProps) {\n const track = useTracks([source]).find((track) => {\n if (type === 'screen') {\n return track.source === Source.ScreenShare;\n }\n if (type === 'user') {\n return track.participant.isLocal;\n }\n if (type === 'agent') {\n return track.participant.isAgent;\n }\n return false;\n });\n\n return track?.publication! || {};\n}\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,2BAA2B;AACrD,SAASC,KAAK,QAAQ,gBAAgB;AAEtC,WAAYC,MAAM,aAANA,MAAM;EAANA,MAAM,CAANA,MAAM,aACPD,KAAK,CAACC,MAAM,CAACC,MAAM;EADlBD,MAAM,CAANA,MAAM,iBAEHD,KAAK,CAACC,MAAM,CAACE,UAAU;EAF1BF,MAAM,CAANA,MAAM,kBAGFD,KAAK,CAACC,MAAM,CAACG,WAAW;EAAA,OAH5BH,MAAM;AAAA;AAWlB,OAAO,SAASI,mBAAmBA,CAAAC,IAAA,EAGN;EAAA,IAF3BC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJC,MAAM,GAAAF,IAAA,CAANE,MAAM;EAEN,MAAMC,KAAK,GAAGV,SAAS,CAAC,CAACS,MAAM,CAAC,CAAC,CAACE,IAAI,CAAED,KAAK,IAAK;IAChD,IAAIF,IAAI,KAAK,QAAQ,EAAE;MACrB,OAAOE,KAAK,CAACD,MAAM,KAAKP,MAAM,CAACG,WAAW;IAC5C;IACA,IAAIG,IAAI,KAAK,MAAM,EAAE;MACnB,OAAOE,KAAK,CAACE,WAAW,CAACC,OAAO;IAClC;IACA,IAAIL,IAAI,KAAK,OAAO,EAAE;MACpB,OAAOE,KAAK,CAACE,WAAW,CAACE,OAAO;IAClC;IACA,OAAO,KAAK;EACd,CAAC,CAAC;EAEF,OAAO,CAAAJ,KAAK,oBAALA,KAAK,CAAEK,WAAW,KAAK,CAAC,CAAC;AAClC","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ export { usePictureInPicture } from './usePictureInPicture';
2
+ // Internal exports - not exported from package
3
+ export { usePictureInPictureAuto } from './usePictureInPictureAuto';
4
+ export { pipVideoAtom, pipActiveAtom, pipSupportedAtom } from './state';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["usePictureInPicture","usePictureInPictureAuto","pipVideoAtom","pipActiveAtom","pipSupportedAtom"],"sources":["../../../../src/hooks/usePictureInPicture/index.ts"],"sourcesContent":["export { usePictureInPicture } from './usePictureInPicture';\nexport type { UsePictureInPictureReturn } from './types';\n\n// Internal exports - not exported from package\nexport { usePictureInPictureAuto } from './usePictureInPictureAuto';\nexport type { UsePictureInPictureAutoOptions } from './types';\nexport { pipVideoAtom, pipActiveAtom, pipSupportedAtom } from './state';\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,uBAAuB;AAG3D;AACA,SAASC,uBAAuB,QAAQ,2BAA2B;AAEnE,SAASC,YAAY,EAAEC,aAAa,EAAEC,gBAAgB,QAAQ,SAAS","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import { atom } from 'jotai';
2
+ import { detectBrowser } from '../../utils/compatibility/compatibility';
3
+ export const pipVideoAtom = atom(null);
4
+ export const pipActiveAtom = atom(false);
5
+ export const pipSupportedAtom = atom(() => {
6
+ const browser = detectBrowser();
7
+ const pictureInPictureEnabled = typeof document !== 'undefined' && 'pictureInPictureEnabled' in document && document.pictureInPictureEnabled;
8
+ return browser !== 'safari' && pictureInPictureEnabled;
9
+ });
10
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["atom","detectBrowser","pipVideoAtom","pipActiveAtom","pipSupportedAtom","browser","pictureInPictureEnabled","document"],"sources":["../../../../src/hooks/usePictureInPicture/state.ts"],"sourcesContent":["import { atom } from 'jotai';\nimport { detectBrowser } from '../../utils/compatibility/compatibility';\n\nexport const pipVideoAtom = atom<HTMLVideoElement | null>(null);\n\nexport const pipActiveAtom = atom(false);\n\nexport const pipSupportedAtom = atom(() => {\n const browser = detectBrowser();\n const pictureInPictureEnabled =\n typeof document !== 'undefined' &&\n 'pictureInPictureEnabled' in document &&\n document.pictureInPictureEnabled;\n\n return browser !== 'safari' && pictureInPictureEnabled;\n});\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,aAAa,QAAQ,yCAAyC;AAEvE,OAAO,MAAMC,YAAY,GAAGF,IAAI,CAA0B,IAAI,CAAC;AAE/D,OAAO,MAAMG,aAAa,GAAGH,IAAI,CAAC,KAAK,CAAC;AAExC,OAAO,MAAMI,gBAAgB,GAAGJ,IAAI,CAAC,MAAM;EACzC,MAAMK,OAAO,GAAGJ,aAAa,CAAC,CAAC;EAC/B,MAAMK,uBAAuB,GAC3B,OAAOC,QAAQ,KAAK,WAAW,IAC/B,yBAAyB,IAAIA,QAAQ,IACrCA,QAAQ,CAACD,uBAAuB;EAElC,OAAOD,OAAO,KAAK,QAAQ,IAAIC,uBAAuB;AACxD,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../../src/hooks/usePictureInPicture/types.ts"],"sourcesContent":["export type UsePictureInPictureAutoOptions = {\n /** Video or Canvas element to use for PiP */\n element: HTMLVideoElement | HTMLCanvasElement | null;\n /** Callback when entering PiP */\n onEnter?: () => void;\n /** Callback when exiting PiP */\n onExit?: () => void;\n /** Callback when PiP error occurs */\n onError?: (error: Error) => void;\n};\n\nexport type UsePictureInPictureReturn = {\n /** Whether PiP is currently active */\n isActive: boolean;\n /** Whether PiP is supported by the browser */\n isSupported: boolean;\n /** Whether video element is ready for PiP */\n isReady: boolean;\n /** Enter PiP mode */\n enter: () => Promise<void>;\n /** Exit PiP mode */\n exit: () => Promise<void>;\n /** Toggle PiP mode */\n toggle: () => Promise<void>;\n};\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,41 @@
1
+ import { useCallback } from 'react';
2
+ import { useAtomValue } from 'jotai';
3
+ import { pipVideoAtom, pipActiveAtom, pipSupportedAtom } from './state';
4
+ export function usePictureInPicture() {
5
+ const isActive = useAtomValue(pipActiveAtom);
6
+ const isSupported = useAtomValue(pipSupportedAtom);
7
+ const pipVideo = useAtomValue(pipVideoAtom);
8
+ const enter = useCallback(async () => {
9
+ if (!isSupported) {
10
+ throw new Error('PiP not supported');
11
+ }
12
+ if (!pipVideo) {
13
+ throw new Error('No video element for PiP');
14
+ }
15
+ if (pipVideo.paused && pipVideo.srcObject) {
16
+ await pipVideo.play();
17
+ }
18
+ await pipVideo.requestPictureInPicture();
19
+ }, [isSupported, pipVideo]);
20
+ const exit = useCallback(async () => {
21
+ if (document.pictureInPictureElement) {
22
+ await document.exitPictureInPicture();
23
+ }
24
+ }, []);
25
+ const toggle = useCallback(async () => {
26
+ if (isActive) {
27
+ await exit();
28
+ } else {
29
+ await enter();
30
+ }
31
+ }, [isActive, enter, exit]);
32
+ return {
33
+ isActive,
34
+ isSupported,
35
+ isReady: !!pipVideo,
36
+ enter,
37
+ exit,
38
+ toggle
39
+ };
40
+ }
41
+ //# sourceMappingURL=usePictureInPicture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useAtomValue","pipVideoAtom","pipActiveAtom","pipSupportedAtom","usePictureInPicture","isActive","isSupported","pipVideo","enter","Error","paused","srcObject","play","requestPictureInPicture","exit","document","pictureInPictureElement","exitPictureInPicture","toggle","isReady"],"sources":["../../../../src/hooks/usePictureInPicture/usePictureInPicture.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { useAtomValue } from 'jotai';\n\nimport { pipVideoAtom, pipActiveAtom, pipSupportedAtom } from './state';\nimport type { UsePictureInPictureReturn } from './types';\n\nexport function usePictureInPicture(): UsePictureInPictureReturn {\n const isActive = useAtomValue(pipActiveAtom);\n const isSupported = useAtomValue(pipSupportedAtom);\n const pipVideo = useAtomValue(pipVideoAtom);\n\n const enter = useCallback(async () => {\n if (!isSupported) {\n throw new Error('PiP not supported');\n }\n if (!pipVideo) {\n throw new Error('No video element for PiP');\n }\n\n if (pipVideo.paused && pipVideo.srcObject) {\n await pipVideo.play();\n }\n await pipVideo.requestPictureInPicture();\n }, [isSupported, pipVideo]);\n\n const exit = useCallback(async () => {\n if (document.pictureInPictureElement) {\n await document.exitPictureInPicture();\n }\n }, []);\n\n const toggle = useCallback(async () => {\n if (isActive) {\n await exit();\n } else {\n await enter();\n }\n }, [isActive, enter, exit]);\n\n return {\n isActive,\n isSupported,\n isReady: !!pipVideo,\n enter,\n exit,\n toggle,\n };\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAASC,YAAY,QAAQ,OAAO;AAEpC,SAASC,YAAY,EAAEC,aAAa,EAAEC,gBAAgB,QAAQ,SAAS;AAGvE,OAAO,SAASC,mBAAmBA,CAAA,EAA8B;EAC/D,MAAMC,QAAQ,GAAGL,YAAY,CAACE,aAAa,CAAC;EAC5C,MAAMI,WAAW,GAAGN,YAAY,CAACG,gBAAgB,CAAC;EAClD,MAAMI,QAAQ,GAAGP,YAAY,CAACC,YAAY,CAAC;EAE3C,MAAMO,KAAK,GAAGT,WAAW,CAAC,YAAY;IACpC,IAAI,CAACO,WAAW,EAAE;MAChB,MAAM,IAAIG,KAAK,CAAC,mBAAmB,CAAC;IACtC;IACA,IAAI,CAACF,QAAQ,EAAE;MACb,MAAM,IAAIE,KAAK,CAAC,0BAA0B,CAAC;IAC7C;IAEA,IAAIF,QAAQ,CAACG,MAAM,IAAIH,QAAQ,CAACI,SAAS,EAAE;MACzC,MAAMJ,QAAQ,CAACK,IAAI,CAAC,CAAC;IACvB;IACA,MAAML,QAAQ,CAACM,uBAAuB,CAAC,CAAC;EAC1C,CAAC,EAAE,CAACP,WAAW,EAAEC,QAAQ,CAAC,CAAC;EAE3B,MAAMO,IAAI,GAAGf,WAAW,CAAC,YAAY;IACnC,IAAIgB,QAAQ,CAACC,uBAAuB,EAAE;MACpC,MAAMD,QAAQ,CAACE,oBAAoB,CAAC,CAAC;IACvC;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,MAAM,GAAGnB,WAAW,CAAC,YAAY;IACrC,IAAIM,QAAQ,EAAE;MACZ,MAAMS,IAAI,CAAC,CAAC;IACd,CAAC,MAAM;MACL,MAAMN,KAAK,CAAC,CAAC;IACf;EACF,CAAC,EAAE,CAACH,QAAQ,EAAEG,KAAK,EAAEM,IAAI,CAAC,CAAC;EAE3B,OAAO;IACLT,QAAQ;IACRC,WAAW;IACXa,OAAO,EAAE,CAAC,CAACZ,QAAQ;IACnBC,KAAK;IACLM,IAAI;IACJI;EACF,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,111 @@
1
+ /* eslint-disable no-undef */
2
+ import { useEffect, useRef } from 'react';
3
+ import { useLatest } from 'react-use';
4
+ import { useAtom, useAtomValue, useSetAtom } from 'jotai';
5
+ import { pipVideoAtom, pipActiveAtom, pipSupportedAtom } from './state';
6
+ export function usePictureInPictureAuto(options) {
7
+ const element = options.element,
8
+ onEnter = options.onEnter,
9
+ onExit = options.onExit,
10
+ onError = options.onError;
11
+ const _useAtom = useAtom(pipVideoAtom),
12
+ pipVideo = _useAtom[0],
13
+ setPipVideo = _useAtom[1];
14
+ const setIsActive = useSetAtom(pipActiveAtom);
15
+ const isSupported = useAtomValue(pipSupportedAtom);
16
+ const canvasVideoRef = useRef(null);
17
+ const callbacksRef = useLatest({
18
+ onEnter,
19
+ onExit,
20
+ onError
21
+ });
22
+ useEffect(() => {
23
+ if (!element || !isSupported) {
24
+ setPipVideo(null);
25
+ return;
26
+ }
27
+ let video;
28
+ if (element instanceof HTMLCanvasElement) {
29
+ video = createVideoFromCanvas(element);
30
+ canvasVideoRef.current = video;
31
+ } else {
32
+ video = element;
33
+ }
34
+ video.setAttribute('autopictureinpicture', 'true');
35
+ setPipVideo(video);
36
+ return () => {
37
+ if (canvasVideoRef.current) {
38
+ destroyCanvasVideo(canvasVideoRef.current);
39
+ canvasVideoRef.current = null;
40
+ }
41
+ setPipVideo(null);
42
+ };
43
+ }, [element, isSupported, setPipVideo]);
44
+ useEffect(() => {
45
+ if (!pipVideo) {
46
+ return;
47
+ }
48
+ const handleEnter = () => {
49
+ setIsActive(true);
50
+ callbacksRef.current.onEnter == null || callbacksRef.current.onEnter();
51
+ };
52
+ const handleLeave = () => {
53
+ setIsActive(false);
54
+ callbacksRef.current.onExit == null || callbacksRef.current.onExit();
55
+ };
56
+ pipVideo.addEventListener('enterpictureinpicture', handleEnter);
57
+ pipVideo.addEventListener('leavepictureinpicture', handleLeave);
58
+ return () => {
59
+ pipVideo.removeEventListener('enterpictureinpicture', handleEnter);
60
+ pipVideo.removeEventListener('leavepictureinpicture', handleLeave);
61
+ };
62
+ }, [pipVideo, setIsActive]);
63
+ useEffect(() => {
64
+ if (!pipVideo || !isSupported) {
65
+ return;
66
+ }
67
+ try {
68
+ navigator.mediaSession.setActionHandler('enterpictureinpicture', async () => {
69
+ try {
70
+ if (pipVideo.paused && pipVideo.srcObject) {
71
+ await pipVideo.play();
72
+ }
73
+ await pipVideo.requestPictureInPicture();
74
+ } catch (error) {
75
+ callbacksRef.current.onError == null || callbacksRef.current.onError(error);
76
+ }
77
+ });
78
+ } catch {}
79
+ return () => {
80
+ try {
81
+ navigator.mediaSession.setActionHandler('enterpictureinpicture', null);
82
+ } catch {}
83
+ };
84
+ }, [pipVideo, isSupported]);
85
+ useEffect(() => {
86
+ if (!element) {
87
+ return;
88
+ }
89
+ return () => {
90
+ if (document.pictureInPictureElement) {
91
+ document.exitPictureInPicture().catch(() => {});
92
+ }
93
+ };
94
+ }, [element]);
95
+ }
96
+ function createVideoFromCanvas(canvas) {
97
+ const video = document.createElement('video');
98
+ video.muted = true;
99
+ video.playsInline = true;
100
+ video.autoplay = true;
101
+ video.srcObject = canvas.captureStream(30);
102
+ return video;
103
+ }
104
+ function destroyCanvasVideo(video) {
105
+ if (video.srcObject) {
106
+ const stream = video.srcObject;
107
+ stream.getTracks().forEach(track => track.stop());
108
+ video.srcObject = null;
109
+ }
110
+ }
111
+ //# sourceMappingURL=usePictureInPictureAuto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useRef","useLatest","useAtom","useAtomValue","useSetAtom","pipVideoAtom","pipActiveAtom","pipSupportedAtom","usePictureInPictureAuto","options","element","onEnter","onExit","onError","_useAtom","pipVideo","setPipVideo","setIsActive","isSupported","canvasVideoRef","callbacksRef","video","HTMLCanvasElement","createVideoFromCanvas","current","setAttribute","destroyCanvasVideo","handleEnter","handleLeave","addEventListener","removeEventListener","navigator","mediaSession","setActionHandler","paused","srcObject","play","requestPictureInPicture","error","document","pictureInPictureElement","exitPictureInPicture","catch","canvas","createElement","muted","playsInline","autoplay","captureStream","stream","getTracks","forEach","track","stop"],"sources":["../../../../src/hooks/usePictureInPicture/usePictureInPictureAuto.ts"],"sourcesContent":["/* eslint-disable no-undef */\nimport { useEffect, useRef } from 'react';\nimport { useLatest } from 'react-use';\nimport { useAtom, useAtomValue, useSetAtom } from 'jotai';\n\nimport { pipVideoAtom, pipActiveAtom, pipSupportedAtom } from './state';\nimport type { UsePictureInPictureAutoOptions } from './types';\n\nexport function usePictureInPictureAuto(\n options: UsePictureInPictureAutoOptions,\n) {\n const { element, onEnter, onExit, onError } = options;\n\n const [pipVideo, setPipVideo] = useAtom(pipVideoAtom);\n const setIsActive = useSetAtom(pipActiveAtom);\n const isSupported = useAtomValue(pipSupportedAtom);\n\n const canvasVideoRef = useRef<HTMLVideoElement | null>(null);\n\n const callbacksRef = useLatest({ onEnter, onExit, onError });\n\n useEffect(() => {\n if (!element || !isSupported) {\n setPipVideo(null);\n return;\n }\n\n let video: HTMLVideoElement;\n\n if (element instanceof HTMLCanvasElement) {\n video = createVideoFromCanvas(element);\n canvasVideoRef.current = video;\n } else {\n video = element;\n }\n\n video.setAttribute('autopictureinpicture', 'true');\n setPipVideo(video);\n\n return () => {\n if (canvasVideoRef.current) {\n destroyCanvasVideo(canvasVideoRef.current);\n canvasVideoRef.current = null;\n }\n setPipVideo(null);\n };\n }, [element, isSupported, setPipVideo]);\n\n useEffect(() => {\n if (!pipVideo) {\n return;\n }\n\n const handleEnter = () => {\n setIsActive(true);\n callbacksRef.current.onEnter?.();\n };\n\n const handleLeave = () => {\n setIsActive(false);\n callbacksRef.current.onExit?.();\n };\n\n pipVideo.addEventListener('enterpictureinpicture', handleEnter);\n pipVideo.addEventListener('leavepictureinpicture', handleLeave);\n\n return () => {\n pipVideo.removeEventListener('enterpictureinpicture', handleEnter);\n pipVideo.removeEventListener('leavepictureinpicture', handleLeave);\n };\n }, [pipVideo, setIsActive]);\n\n useEffect(() => {\n if (!pipVideo || !isSupported) {\n return;\n }\n\n try {\n navigator.mediaSession.setActionHandler(\n 'enterpictureinpicture' as MediaSessionAction,\n async () => {\n try {\n if (pipVideo.paused && pipVideo.srcObject) {\n await pipVideo.play();\n }\n await pipVideo.requestPictureInPicture();\n } catch (error) {\n callbacksRef.current.onError?.(error as Error);\n }\n },\n );\n } catch {}\n\n return () => {\n try {\n navigator.mediaSession.setActionHandler(\n 'enterpictureinpicture' as MediaSessionAction,\n null,\n );\n } catch {}\n };\n }, [pipVideo, isSupported]);\n\n useEffect(() => {\n if (!element) {\n return;\n }\n\n return () => {\n if (document.pictureInPictureElement) {\n document.exitPictureInPicture().catch(() => {});\n }\n };\n }, [element]);\n}\n\nfunction createVideoFromCanvas(canvas: HTMLCanvasElement): HTMLVideoElement {\n const video = document.createElement('video');\n video.muted = true;\n video.playsInline = true;\n video.autoplay = true;\n video.srcObject = canvas.captureStream(30);\n return video;\n}\n\nfunction destroyCanvasVideo(video: HTMLVideoElement) {\n if (video.srcObject) {\n const stream = video.srcObject as MediaStream;\n stream.getTracks().forEach((track) => track.stop());\n video.srcObject = null;\n }\n}\n"],"mappings":"AAAA;AACA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACzC,SAASC,SAAS,QAAQ,WAAW;AACrC,SAASC,OAAO,EAAEC,YAAY,EAAEC,UAAU,QAAQ,OAAO;AAEzD,SAASC,YAAY,EAAEC,aAAa,EAAEC,gBAAgB,QAAQ,SAAS;AAGvE,OAAO,SAASC,uBAAuBA,CACrCC,OAAuC,EACvC;EACA,MAAQC,OAAO,GAA+BD,OAAO,CAA7CC,OAAO;IAAEC,OAAO,GAAsBF,OAAO,CAApCE,OAAO;IAAEC,MAAM,GAAcH,OAAO,CAA3BG,MAAM;IAAEC,OAAO,GAAKJ,OAAO,CAAnBI,OAAO;EAEzC,MAAAC,QAAA,GAAgCZ,OAAO,CAACG,YAAY,CAAC;IAA9CU,QAAQ,GAAAD,QAAA;IAAEE,WAAW,GAAAF,QAAA;EAC5B,MAAMG,WAAW,GAAGb,UAAU,CAACE,aAAa,CAAC;EAC7C,MAAMY,WAAW,GAAGf,YAAY,CAACI,gBAAgB,CAAC;EAElD,MAAMY,cAAc,GAAGnB,MAAM,CAA0B,IAAI,CAAC;EAE5D,MAAMoB,YAAY,GAAGnB,SAAS,CAAC;IAAEU,OAAO;IAAEC,MAAM;IAAEC;EAAQ,CAAC,CAAC;EAE5Dd,SAAS,CAAC,MAAM;IACd,IAAI,CAACW,OAAO,IAAI,CAACQ,WAAW,EAAE;MAC5BF,WAAW,CAAC,IAAI,CAAC;MACjB;IACF;IAEA,IAAIK,KAAuB;IAE3B,IAAIX,OAAO,YAAYY,iBAAiB,EAAE;MACxCD,KAAK,GAAGE,qBAAqB,CAACb,OAAO,CAAC;MACtCS,cAAc,CAACK,OAAO,GAAGH,KAAK;IAChC,CAAC,MAAM;MACLA,KAAK,GAAGX,OAAO;IACjB;IAEAW,KAAK,CAACI,YAAY,CAAC,sBAAsB,EAAE,MAAM,CAAC;IAClDT,WAAW,CAACK,KAAK,CAAC;IAElB,OAAO,MAAM;MACX,IAAIF,cAAc,CAACK,OAAO,EAAE;QAC1BE,kBAAkB,CAACP,cAAc,CAACK,OAAO,CAAC;QAC1CL,cAAc,CAACK,OAAO,GAAG,IAAI;MAC/B;MACAR,WAAW,CAAC,IAAI,CAAC;IACnB,CAAC;EACH,CAAC,EAAE,CAACN,OAAO,EAAEQ,WAAW,EAAEF,WAAW,CAAC,CAAC;EAEvCjB,SAAS,CAAC,MAAM;IACd,IAAI,CAACgB,QAAQ,EAAE;MACb;IACF;IAEA,MAAMY,WAAW,GAAGA,CAAA,KAAM;MACxBV,WAAW,CAAC,IAAI,CAAC;MACjBG,YAAY,CAACI,OAAO,CAACb,OAAO,YAA5BS,YAAY,CAACI,OAAO,CAACb,OAAO,CAAG,CAAC;IAClC,CAAC;IAED,MAAMiB,WAAW,GAAGA,CAAA,KAAM;MACxBX,WAAW,CAAC,KAAK,CAAC;MAClBG,YAAY,CAACI,OAAO,CAACZ,MAAM,YAA3BQ,YAAY,CAACI,OAAO,CAACZ,MAAM,CAAG,CAAC;IACjC,CAAC;IAEDG,QAAQ,CAACc,gBAAgB,CAAC,uBAAuB,EAAEF,WAAW,CAAC;IAC/DZ,QAAQ,CAACc,gBAAgB,CAAC,uBAAuB,EAAED,WAAW,CAAC;IAE/D,OAAO,MAAM;MACXb,QAAQ,CAACe,mBAAmB,CAAC,uBAAuB,EAAEH,WAAW,CAAC;MAClEZ,QAAQ,CAACe,mBAAmB,CAAC,uBAAuB,EAAEF,WAAW,CAAC;IACpE,CAAC;EACH,CAAC,EAAE,CAACb,QAAQ,EAAEE,WAAW,CAAC,CAAC;EAE3BlB,SAAS,CAAC,MAAM;IACd,IAAI,CAACgB,QAAQ,IAAI,CAACG,WAAW,EAAE;MAC7B;IACF;IAEA,IAAI;MACFa,SAAS,CAACC,YAAY,CAACC,gBAAgB,CACrC,uBAAuB,EACvB,YAAY;QACV,IAAI;UACF,IAAIlB,QAAQ,CAACmB,MAAM,IAAInB,QAAQ,CAACoB,SAAS,EAAE;YACzC,MAAMpB,QAAQ,CAACqB,IAAI,CAAC,CAAC;UACvB;UACA,MAAMrB,QAAQ,CAACsB,uBAAuB,CAAC,CAAC;QAC1C,CAAC,CAAC,OAAOC,KAAK,EAAE;UACdlB,YAAY,CAACI,OAAO,CAACX,OAAO,YAA5BO,YAAY,CAACI,OAAO,CAACX,OAAO,CAAGyB,KAAc,CAAC;QAChD;MACF,CACF,CAAC;IACH,CAAC,CAAC,MAAM,CAAC;IAET,OAAO,MAAM;MACX,IAAI;QACFP,SAAS,CAACC,YAAY,CAACC,gBAAgB,CACrC,uBAAuB,EACvB,IACF,CAAC;MACH,CAAC,CAAC,MAAM,CAAC;IACX,CAAC;EACH,CAAC,EAAE,CAAClB,QAAQ,EAAEG,WAAW,CAAC,CAAC;EAE3BnB,SAAS,CAAC,MAAM;IACd,IAAI,CAACW,OAAO,EAAE;MACZ;IACF;IAEA,OAAO,MAAM;MACX,IAAI6B,QAAQ,CAACC,uBAAuB,EAAE;QACpCD,QAAQ,CAACE,oBAAoB,CAAC,CAAC,CAACC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;MACjD;IACF,CAAC;EACH,CAAC,EAAE,CAAChC,OAAO,CAAC,CAAC;AACf;AAEA,SAASa,qBAAqBA,CAACoB,MAAyB,EAAoB;EAC1E,MAAMtB,KAAK,GAAGkB,QAAQ,CAACK,aAAa,CAAC,OAAO,CAAC;EAC7CvB,KAAK,CAACwB,KAAK,GAAG,IAAI;EAClBxB,KAAK,CAACyB,WAAW,GAAG,IAAI;EACxBzB,KAAK,CAAC0B,QAAQ,GAAG,IAAI;EACrB1B,KAAK,CAACc,SAAS,GAAGQ,MAAM,CAACK,aAAa,CAAC,EAAE,CAAC;EAC1C,OAAO3B,KAAK;AACd;AAEA,SAASK,kBAAkBA,CAACL,KAAuB,EAAE;EACnD,IAAIA,KAAK,CAACc,SAAS,EAAE;IACnB,MAAMc,MAAM,GAAG5B,KAAK,CAACc,SAAwB;IAC7Cc,MAAM,CAACC,SAAS,CAAC,CAAC,CAACC,OAAO,CAAEC,KAAK,IAAKA,KAAK,CAACC,IAAI,CAAC,CAAC,CAAC;IACnDhC,KAAK,CAACc,SAAS,GAAG,IAAI;EACxB;AACF","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export * from './useScreenShare';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../../src/hooks/useScreenShare/index.ts"],"sourcesContent":["export * from './useScreenShare';\n"],"mappings":"AAAA,cAAc,kBAAkB","ignoreList":[]}
@@ -0,0 +1,42 @@
1
+ import { useLocalParticipant, useRoomContext } from '@livekit/components-react';
2
+ import invariant from 'invariant';
3
+ import { useAtomValue } from 'jotai';
4
+ import { state } from '../../conversation';
5
+ export function useScreenShare(options) {
6
+ if (options === void 0) {
7
+ options = {};
8
+ }
9
+ const _options = options,
10
+ onStart = _options.onStart,
11
+ onStop = _options.onStop,
12
+ onError = _options.onError,
13
+ screenShareOptions = _options.options;
14
+ const localParticipant = useLocalParticipant();
15
+ const room = useRoomContext();
16
+ const conversation = useAtomValue(state.conversation);
17
+ invariant(conversation, 'Conversation is not initialized');
18
+ return {
19
+ enabled: localParticipant.isScreenShareEnabled,
20
+ start,
21
+ stop
22
+ };
23
+ async function start() {
24
+ try {
25
+ await (room == null ? void 0 : room.localParticipant.setScreenShareEnabled(true, screenShareOptions));
26
+ onStart == null || onStart();
27
+ } catch (error) {
28
+ console.error('Failed to start screen share', error);
29
+ onError == null || onError(error);
30
+ }
31
+ }
32
+ async function stop() {
33
+ try {
34
+ await (room == null ? void 0 : room.localParticipant.setScreenShareEnabled(false, screenShareOptions));
35
+ onStop == null || onStop();
36
+ } catch (error) {
37
+ console.error('Failed to stop screen share', error);
38
+ onError == null || onError(error);
39
+ }
40
+ }
41
+ }
42
+ //# sourceMappingURL=useScreenShare.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useLocalParticipant","useRoomContext","invariant","useAtomValue","state","useScreenShare","options","_options","onStart","onStop","onError","screenShareOptions","localParticipant","room","conversation","enabled","isScreenShareEnabled","start","stop","setScreenShareEnabled","error","console"],"sources":["../../../../src/hooks/useScreenShare/useScreenShare.ts"],"sourcesContent":["import { useLocalParticipant, useRoomContext } from '@livekit/components-react';\nimport invariant from 'invariant';\nimport { useAtomValue } from 'jotai';\nimport { state } from '../../conversation';\nimport type { ScreenShareCaptureOptions } from 'livekit-client';\n\nexport type UseScreenShareOptions = {\n onStart?: () => void;\n onStop?: () => void;\n onError?: (error: Error) => void;\n options?: ScreenShareCaptureOptions;\n};\n\nexport function useScreenShare(options: UseScreenShareOptions = {}) {\n const { onStart, onStop, onError, options: screenShareOptions } = options;\n const localParticipant = useLocalParticipant();\n const room = useRoomContext();\n const conversation = useAtomValue(state.conversation);\n\n invariant(conversation, 'Conversation is not initialized');\n\n return {\n enabled: localParticipant.isScreenShareEnabled,\n start,\n stop,\n };\n\n async function start() {\n try {\n await room?.localParticipant.setScreenShareEnabled(\n true,\n screenShareOptions,\n );\n onStart?.();\n } catch (error) {\n console.error('Failed to start screen share', error);\n onError?.(error as Error);\n }\n }\n\n async function stop() {\n try {\n await room?.localParticipant.setScreenShareEnabled(\n false,\n screenShareOptions,\n );\n onStop?.();\n } catch (error) {\n console.error('Failed to stop screen share', error);\n onError?.(error as Error);\n }\n }\n}\n"],"mappings":"AAAA,SAASA,mBAAmB,EAAEC,cAAc,QAAQ,2BAA2B;AAC/E,OAAOC,SAAS,MAAM,WAAW;AACjC,SAASC,YAAY,QAAQ,OAAO;AACpC,SAASC,KAAK,QAAQ,oBAAoB;AAU1C,OAAO,SAASC,cAAcA,CAACC,OAA8B,EAAO;EAAA,IAArCA,OAA8B;IAA9BA,OAA8B,GAAG,CAAC,CAAC;EAAA;EAChE,MAAAC,QAAA,GAAkED,OAAO;IAAjEE,OAAO,GAAAD,QAAA,CAAPC,OAAO;IAAEC,MAAM,GAAAF,QAAA,CAANE,MAAM;IAAEC,OAAO,GAAAH,QAAA,CAAPG,OAAO;IAAWC,kBAAkB,GAAAJ,QAAA,CAA3BD,OAAO;EACzC,MAAMM,gBAAgB,GAAGZ,mBAAmB,CAAC,CAAC;EAC9C,MAAMa,IAAI,GAAGZ,cAAc,CAAC,CAAC;EAC7B,MAAMa,YAAY,GAAGX,YAAY,CAACC,KAAK,CAACU,YAAY,CAAC;EAErDZ,SAAS,CAACY,YAAY,EAAE,iCAAiC,CAAC;EAE1D,OAAO;IACLC,OAAO,EAAEH,gBAAgB,CAACI,oBAAoB;IAC9CC,KAAK;IACLC;EACF,CAAC;EAED,eAAeD,KAAKA,CAAA,EAAG;IACrB,IAAI;MACF,OAAMJ,IAAI,oBAAJA,IAAI,CAAED,gBAAgB,CAACO,qBAAqB,CAChD,IAAI,EACJR,kBACF,CAAC;MACDH,OAAO,YAAPA,OAAO,CAAG,CAAC;IACb,CAAC,CAAC,OAAOY,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,8BAA8B,EAAEA,KAAK,CAAC;MACpDV,OAAO,YAAPA,OAAO,CAAGU,KAAc,CAAC;IAC3B;EACF;EAEA,eAAeF,IAAIA,CAAA,EAAG;IACpB,IAAI;MACF,OAAML,IAAI,oBAAJA,IAAI,CAAED,gBAAgB,CAACO,qBAAqB,CAChD,KAAK,EACLR,kBACF,CAAC;MACDF,MAAM,YAANA,MAAM,CAAG,CAAC;IACZ,CAAC,CAAC,OAAOW,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,6BAA6B,EAAEA,KAAK,CAAC;MACnDV,OAAO,YAAPA,OAAO,CAAGU,KAAc,CAAC;IAC3B;EACF;AACF","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export * from './useSpeaker';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../../src/hooks/useSpeaker/index.ts"],"sourcesContent":["export * from './useSpeaker';\n"],"mappings":"AAAA,cAAc,cAAc","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ import { useAtom } from 'jotai';
2
+ import * as state from '../../conversation/state';
3
+ import { useDevices } from '../useDevices';
4
+ import { useDeviceSwitcher } from '../useDeviceSwitcher';
5
+ export function useSpeaker() {
6
+ const devices = useDevices({
7
+ type: 'audiooutput'
8
+ });
9
+ const _useAtom = useAtom(state.speaker),
10
+ device = _useAtom[0],
11
+ setDevice = _useAtom[1];
12
+ useDeviceSwitcher({
13
+ device,
14
+ devices,
15
+ onChange: setDevice
16
+ });
17
+ return {
18
+ devices,
19
+ deviceId: device.deviceId,
20
+ setDeviceId(deviceId) {
21
+ setDevice({
22
+ ...device,
23
+ deviceId
24
+ });
25
+ }
26
+ };
27
+ }
28
+ //# sourceMappingURL=useSpeaker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useAtom","state","useDevices","useDeviceSwitcher","useSpeaker","devices","type","_useAtom","speaker","device","setDevice","onChange","deviceId","setDeviceId"],"sources":["../../../../src/hooks/useSpeaker/useSpeaker.ts"],"sourcesContent":["import { useAtom } from 'jotai';\n\nimport * as state from '../../conversation/state';\n\nimport { useDevices } from '../useDevices';\nimport { useDeviceSwitcher } from '../useDeviceSwitcher';\n\nexport function useSpeaker() {\n const devices = useDevices({ type: 'audiooutput' });\n const [device, setDevice] = useAtom(state.speaker);\n\n useDeviceSwitcher({\n device,\n devices,\n onChange: setDevice,\n });\n\n return {\n devices,\n deviceId: device.deviceId,\n setDeviceId(deviceId: string) {\n setDevice({ ...device, deviceId });\n },\n };\n}\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,OAAO;AAE/B,OAAO,KAAKC,KAAK,MAAM,0BAA0B;AAEjD,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,iBAAiB,QAAQ,sBAAsB;AAExD,OAAO,SAASC,UAAUA,CAAA,EAAG;EAC3B,MAAMC,OAAO,GAAGH,UAAU,CAAC;IAAEI,IAAI,EAAE;EAAc,CAAC,CAAC;EACnD,MAAAC,QAAA,GAA4BP,OAAO,CAACC,KAAK,CAACO,OAAO,CAAC;IAA3CC,MAAM,GAAAF,QAAA;IAAEG,SAAS,GAAAH,QAAA;EAExBJ,iBAAiB,CAAC;IAChBM,MAAM;IACNJ,OAAO;IACPM,QAAQ,EAAED;EACZ,CAAC,CAAC;EAEF,OAAO;IACLL,OAAO;IACPO,QAAQ,EAAEH,MAAM,CAACG,QAAQ;IACzBC,WAAWA,CAACD,QAAgB,EAAE;MAC5BF,SAAS,CAAC;QAAE,GAAGD,MAAM;QAAEG;MAAS,CAAC,CAAC;IACpC;EACF,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export * from './useTextChat';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../../src/hooks/useTextChat/index.ts"],"sourcesContent":["export * from './useTextChat';\n"],"mappings":"AAAA,cAAc,eAAe","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ import { useMutationState } from '@tanstack/react-query';
2
+ export function usePendingMessages() {
3
+ return useMutationState({
4
+ select: mutation => ({
5
+ execute: mutation.execute,
6
+ status: mutation.state.status,
7
+ submittedAt: mutation.state.submittedAt,
8
+ payload: mutation.state.variables
9
+ }),
10
+ filters: {
11
+ exact: true,
12
+ mutationKey: ['pending-chat-message'],
13
+ predicate(mutation) {
14
+ return mutation.state.status === 'error' || mutation.state.status === 'pending';
15
+ }
16
+ }
17
+ });
18
+ }
19
+ //# sourceMappingURL=usePendingMessages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useMutationState","usePendingMessages","select","mutation","execute","status","state","submittedAt","payload","variables","filters","exact","mutationKey","predicate"],"sources":["../../../../src/hooks/useTextChat/usePendingMessages.ts"],"sourcesContent":["import { MutationStatus, useMutationState } from '@tanstack/react-query';\nimport type { SendMessageParams } from '../../types/service';\n\ntype PendingChatMessage = {\n submittedAt: number;\n payload: SendMessageParams;\n status: MutationStatus;\n execute: (payload: SendMessageParams) => Promise<unknown>;\n};\n\nexport function usePendingMessages() {\n return useMutationState({\n select: (mutation) =>\n ({\n execute: mutation.execute,\n status: mutation.state.status,\n submittedAt: mutation.state.submittedAt,\n payload: mutation.state.variables,\n } as PendingChatMessage),\n filters: {\n exact: true,\n mutationKey: ['pending-chat-message'],\n predicate(mutation) {\n return (\n mutation.state.status === 'error' ||\n mutation.state.status === 'pending'\n );\n },\n },\n });\n}\n"],"mappings":"AAAA,SAAyBA,gBAAgB,QAAQ,uBAAuB;AAUxE,OAAO,SAASC,kBAAkBA,CAAA,EAAG;EACnC,OAAOD,gBAAgB,CAAC;IACtBE,MAAM,EAAGC,QAAQ,KACd;MACCC,OAAO,EAAED,QAAQ,CAACC,OAAO;MACzBC,MAAM,EAAEF,QAAQ,CAACG,KAAK,CAACD,MAAM;MAC7BE,WAAW,EAAEJ,QAAQ,CAACG,KAAK,CAACC,WAAW;MACvCC,OAAO,EAAEL,QAAQ,CAACG,KAAK,CAACG;IAC1B,CAAC,CAAuB;IAC1BC,OAAO,EAAE;MACPC,KAAK,EAAE,IAAI;MACXC,WAAW,EAAE,CAAC,sBAAsB,CAAC;MACrCC,SAASA,CAACV,QAAQ,EAAE;QAClB,OACEA,QAAQ,CAACG,KAAK,CAACD,MAAM,KAAK,OAAO,IACjCF,QAAQ,CAACG,KAAK,CAACD,MAAM,KAAK,SAAS;MAEvC;IACF;EACF,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -0,0 +1,59 @@
1
+ import { useInfiniteQuery } from '@tanstack/react-query';
2
+ import { useSdkConsumer } from '../../sdk-consumer';
3
+ import { usePendingMessages } from './usePendingMessages';
4
+ import { useToolAwareSend } from './useToolAwareSend';
5
+ export function useTextChat(options) {
6
+ if (options === void 0) {
7
+ options = {};
8
+ }
9
+ const _options = options,
10
+ _options$limit = _options.limit,
11
+ limit = _options$limit === void 0 ? 100 : _options$limit;
12
+ const _useSdkConsumer = useSdkConsumer(),
13
+ chatId = _useSdkConsumer.chatId,
14
+ namespace = _useSdkConsumer.namespace,
15
+ personaChatService = _useSdkConsumer.personaChatService;
16
+ const send = useToolAwareSend(chatId, namespace);
17
+ const pending = usePendingMessages();
18
+ const _useInfiniteQuery = useInfiniteQuery({
19
+ queryKey: ['chat-messages', chatId, namespace],
20
+ queryFn: async _ref => {
21
+ let pageParam = _ref.pageParam;
22
+ if (!personaChatService) {
23
+ return {
24
+ messages: [],
25
+ nextCursor: undefined
26
+ };
27
+ }
28
+ return personaChatService.queryChatMessages({
29
+ chatId,
30
+ namespace,
31
+ limit,
32
+ cursor: pageParam
33
+ });
34
+ },
35
+ getNextPageParam: lastPage => lastPage.nextCursor,
36
+ initialPageParam: undefined,
37
+ select: data => data.pages.flatMap(page => page.messages)
38
+ }),
39
+ _useInfiniteQuery$dat = _useInfiniteQuery.data,
40
+ messages = _useInfiniteQuery$dat === void 0 ? [] : _useInfiniteQuery$dat,
41
+ status = _useInfiniteQuery.status,
42
+ fetchNextPage = _useInfiniteQuery.fetchNextPage,
43
+ refetch = _useInfiniteQuery.refetch;
44
+ return {
45
+ status,
46
+ pending,
47
+ messages,
48
+ fetchNext,
49
+ refetch,
50
+ send: sendMessage
51
+ };
52
+ function sendMessage(message) {
53
+ return send(message);
54
+ }
55
+ function fetchNext() {
56
+ void fetchNextPage();
57
+ }
58
+ }
59
+ //# sourceMappingURL=useTextChat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useInfiniteQuery","useSdkConsumer","usePendingMessages","useToolAwareSend","useTextChat","options","_options","_options$limit","limit","_useSdkConsumer","chatId","namespace","personaChatService","send","pending","_useInfiniteQuery","queryKey","queryFn","_ref","pageParam","messages","nextCursor","undefined","queryChatMessages","cursor","getNextPageParam","lastPage","initialPageParam","select","data","pages","flatMap","page","_useInfiniteQuery$dat","status","fetchNextPage","refetch","fetchNext","sendMessage","message"],"sources":["../../../../src/hooks/useTextChat/useTextChat.ts"],"sourcesContent":["import { useInfiniteQuery } from '@tanstack/react-query';\nimport type { ChatMessage } from '../../types';\nimport { useSdkConsumer } from '../../sdk-consumer';\nimport { usePendingMessages } from './usePendingMessages';\nimport { useToolAwareSend } from './useToolAwareSend';\n\ninterface UseTextChatOptions {\n limit?: number;\n}\n\nexport function useTextChat(options: UseTextChatOptions = {}) {\n const { limit = 100 } = options;\n\n const { chatId, namespace, personaChatService } = useSdkConsumer();\n\n const send = useToolAwareSend(chatId, namespace);\n const pending = usePendingMessages();\n\n const {\n data: messages = [],\n status,\n fetchNextPage,\n refetch,\n } = useInfiniteQuery({\n queryKey: ['chat-messages', chatId, namespace],\n queryFn: async ({ pageParam }: { pageParam?: string }) => {\n if (!personaChatService) {\n return { messages: [], nextCursor: undefined };\n }\n return personaChatService.queryChatMessages({\n chatId,\n namespace,\n limit,\n cursor: pageParam,\n });\n },\n getNextPageParam: (lastPage) => lastPage.nextCursor,\n initialPageParam: undefined as string | undefined,\n select: (data) =>\n data.pages.flatMap((page) => page.messages as ChatMessage[]),\n });\n\n return {\n status,\n pending,\n messages,\n fetchNext,\n refetch,\n send: sendMessage,\n };\n\n function sendMessage(message: { message?: string }) {\n return send(message);\n }\n\n function fetchNext() {\n void fetchNextPage();\n }\n}\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,uBAAuB;AAExD,SAASC,cAAc,QAAQ,oBAAoB;AACnD,SAASC,kBAAkB,QAAQ,sBAAsB;AACzD,SAASC,gBAAgB,QAAQ,oBAAoB;AAMrD,OAAO,SAASC,WAAWA,CAACC,OAA2B,EAAO;EAAA,IAAlCA,OAA2B;IAA3BA,OAA2B,GAAG,CAAC,CAAC;EAAA;EAC1D,MAAAC,QAAA,GAAwBD,OAAO;IAAAE,cAAA,GAAAD,QAAA,CAAvBE,KAAK;IAALA,KAAK,GAAAD,cAAA,cAAG,GAAG,GAAAA,cAAA;EAEnB,MAAAE,eAAA,GAAkDR,cAAc,CAAC,CAAC;IAA1DS,MAAM,GAAAD,eAAA,CAANC,MAAM;IAAEC,SAAS,GAAAF,eAAA,CAATE,SAAS;IAAEC,kBAAkB,GAAAH,eAAA,CAAlBG,kBAAkB;EAE7C,MAAMC,IAAI,GAAGV,gBAAgB,CAACO,MAAM,EAAEC,SAAS,CAAC;EAChD,MAAMG,OAAO,GAAGZ,kBAAkB,CAAC,CAAC;EAEpC,MAAAa,iBAAA,GAKIf,gBAAgB,CAAC;MACnBgB,QAAQ,EAAE,CAAC,eAAe,EAAEN,MAAM,EAAEC,SAAS,CAAC;MAC9CM,OAAO,EAAE,MAAAC,IAAA,IAAiD;QAAA,IAAxCC,SAAS,GAAAD,IAAA,CAATC,SAAS;QACzB,IAAI,CAACP,kBAAkB,EAAE;UACvB,OAAO;YAAEQ,QAAQ,EAAE,EAAE;YAAEC,UAAU,EAAEC;UAAU,CAAC;QAChD;QACA,OAAOV,kBAAkB,CAACW,iBAAiB,CAAC;UAC1Cb,MAAM;UACNC,SAAS;UACTH,KAAK;UACLgB,MAAM,EAAEL;QACV,CAAC,CAAC;MACJ,CAAC;MACDM,gBAAgB,EAAGC,QAAQ,IAAKA,QAAQ,CAACL,UAAU;MACnDM,gBAAgB,EAAEL,SAA+B;MACjDM,MAAM,EAAGC,IAAI,IACXA,IAAI,CAACC,KAAK,CAACC,OAAO,CAAEC,IAAI,IAAKA,IAAI,CAACZ,QAAyB;IAC/D,CAAC,CAAC;IAAAa,qBAAA,GAAAlB,iBAAA,CArBAc,IAAI;IAAET,QAAQ,GAAAa,qBAAA,cAAG,EAAE,GAAAA,qBAAA;IACnBC,MAAM,GAAAnB,iBAAA,CAANmB,MAAM;IACNC,aAAa,GAAApB,iBAAA,CAAboB,aAAa;IACbC,OAAO,GAAArB,iBAAA,CAAPqB,OAAO;EAoBT,OAAO;IACLF,MAAM;IACNpB,OAAO;IACPM,QAAQ;IACRiB,SAAS;IACTD,OAAO;IACPvB,IAAI,EAAEyB;EACR,CAAC;EAED,SAASA,WAAWA,CAACC,OAA6B,EAAE;IAClD,OAAO1B,IAAI,CAAC0B,OAAO,CAAC;EACtB;EAEA,SAASF,SAASA,CAAA,EAAG;IACnB,KAAKF,aAAa,CAAC,CAAC;EACtB;AACF","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ import { useSdkConsumer } from '../../sdk-consumer';
2
+ import { ToolExecutionInProgressError } from '../useTools/model/errors';
3
+ import { useToolCallingRuntime } from '../useTools/runtime/useToolCallingRuntime';
4
+ export function useToolAwareSend(chatId, namespace) {
5
+ const _useSdkConsumer = useSdkConsumer(),
6
+ personaChatService = _useSdkConsumer.personaChatService;
7
+ const toolRuntime = useToolCallingRuntime();
8
+ return async function send(message) {
9
+ if (toolRuntime.isRunning) {
10
+ throw new ToolExecutionInProgressError();
11
+ }
12
+ if (!personaChatService) {
13
+ throw new Error('personaChatService is required to send messages.');
14
+ }
15
+ const initialResponse = await personaChatService.sendChatMessage({
16
+ chatId,
17
+ namespace,
18
+ message: message.message ?? ''
19
+ });
20
+ return toolRuntime.resolveResponseToolCalls(initialResponse, functionCallResults => personaChatService.sendChatMessage({
21
+ chatId,
22
+ namespace,
23
+ message: '',
24
+ functionCallResults
25
+ }));
26
+ };
27
+ }
28
+ //# sourceMappingURL=useToolAwareSend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useSdkConsumer","ToolExecutionInProgressError","useToolCallingRuntime","useToolAwareSend","chatId","namespace","_useSdkConsumer","personaChatService","toolRuntime","send","message","isRunning","Error","initialResponse","sendChatMessage","resolveResponseToolCalls","functionCallResults"],"sources":["../../../../src/hooks/useTextChat/useToolAwareSend.ts"],"sourcesContent":["import type { FunctionCall } from '../../types/service';\nimport { useSdkConsumer } from '../../sdk-consumer';\nimport { ToolExecutionInProgressError } from '../useTools/model/errors';\nimport { useToolCallingRuntime } from '../useTools/runtime/useToolCallingRuntime';\n\nexport interface SendChatMessageResponse {\n functionCalls?: FunctionCall[];\n}\n\nexport function useToolAwareSend(chatId: string, namespace: string) {\n const { personaChatService } = useSdkConsumer();\n const toolRuntime = useToolCallingRuntime<SendChatMessageResponse>();\n\n return async function send(message: { message?: string }) {\n if (toolRuntime.isRunning) {\n throw new ToolExecutionInProgressError();\n }\n\n if (!personaChatService) {\n throw new Error('personaChatService is required to send messages.');\n }\n\n const initialResponse = await personaChatService.sendChatMessage({\n chatId,\n namespace,\n message: message.message ?? '',\n });\n\n return toolRuntime.resolveResponseToolCalls(\n initialResponse,\n (functionCallResults) =>\n personaChatService.sendChatMessage({\n chatId,\n namespace,\n message: '',\n functionCallResults,\n }),\n );\n };\n}\n"],"mappings":"AACA,SAASA,cAAc,QAAQ,oBAAoB;AACnD,SAASC,4BAA4B,QAAQ,0BAA0B;AACvE,SAASC,qBAAqB,QAAQ,2CAA2C;AAMjF,OAAO,SAASC,gBAAgBA,CAACC,MAAc,EAAEC,SAAiB,EAAE;EAClE,MAAAC,eAAA,GAA+BN,cAAc,CAAC,CAAC;IAAvCO,kBAAkB,GAAAD,eAAA,CAAlBC,kBAAkB;EAC1B,MAAMC,WAAW,GAAGN,qBAAqB,CAA0B,CAAC;EAEpE,OAAO,eAAeO,IAAIA,CAACC,OAA6B,EAAE;IACxD,IAAIF,WAAW,CAACG,SAAS,EAAE;MACzB,MAAM,IAAIV,4BAA4B,CAAC,CAAC;IAC1C;IAEA,IAAI,CAACM,kBAAkB,EAAE;MACvB,MAAM,IAAIK,KAAK,CAAC,kDAAkD,CAAC;IACrE;IAEA,MAAMC,eAAe,GAAG,MAAMN,kBAAkB,CAACO,eAAe,CAAC;MAC/DV,MAAM;MACNC,SAAS;MACTK,OAAO,EAAEA,OAAO,CAACA,OAAO,IAAI;IAC9B,CAAC,CAAC;IAEF,OAAOF,WAAW,CAACO,wBAAwB,CACzCF,eAAe,EACdG,mBAAmB,IAClBT,kBAAkB,CAACO,eAAe,CAAC;MACjCV,MAAM;MACNC,SAAS;MACTK,OAAO,EAAE,EAAE;MACXM;IACF,CAAC,CACL,CAAC;EACH,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ export { useTools } from './public/useTools';
2
+ export { ToolExecutionInProgressError } from './model/errors';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useTools","ToolExecutionInProgressError"],"sources":["../../../../src/hooks/useTools/index.ts"],"sourcesContent":["export { useTools } from './public/useTools';\nexport { ToolExecutionInProgressError } from './model/errors';\nexport type {\n ToolArguments,\n ToolCallResult,\n ToolCallSnapshot,\n ToolCallStatus,\n ToolsRegistry,\n} from './model/types';\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,mBAAmB;AAC5C,SAASC,4BAA4B,QAAQ,gBAAgB","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ export class ToolExecutionInProgressError extends Error {
2
+ constructor() {
3
+ super('Cannot send a new message while tool execution is still running for this chat.');
4
+ this.name = 'ToolExecutionInProgressError';
5
+ }
6
+ }
7
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ToolExecutionInProgressError","Error","constructor","name"],"sources":["../../../../../src/hooks/useTools/model/errors.ts"],"sourcesContent":["export class ToolExecutionInProgressError extends Error {\n constructor() {\n super(\n 'Cannot send a new message while tool execution is still running for this chat.',\n );\n this.name = 'ToolExecutionInProgressError';\n }\n}\n"],"mappings":"AAAA,OAAO,MAAMA,4BAA4B,SAASC,KAAK,CAAC;EACtDC,WAAWA,CAAA,EAAG;IACZ,KAAK,CACH,gFACF,CAAC;IACD,IAAI,CAACC,IAAI,GAAG,8BAA8B;EAC5C;AACF","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../../../src/hooks/useTools/model/types.ts"],"sourcesContent":["import type { FunctionCall } from '../../../types/service';\n\nexport type ToolArguments = Record<string, unknown> | null;\n\nexport type ToolHandler = (\n arguments_?: ToolArguments,\n) => unknown | Promise<unknown>;\n\nexport type ToolsRegistry = Record<string, ToolHandler>;\n\nexport type ToolCallStatus = 'pending' | 'running' | 'completed';\n\nexport type ToolCallRequest = {\n id: string;\n name: string;\n arguments?: ToolArguments;\n};\n\nexport type ToolCallResult = {\n id: string;\n name: string;\n success: boolean;\n content: string;\n};\n\nexport type ToolCallSnapshot = {\n id: string;\n name: string;\n arguments: ToolArguments;\n status: ToolCallStatus;\n result: ToolCallResult | null;\n};\n\nexport type ToolCallSourceResponse = {\n functionCalls?: readonly FunctionCall[] | null;\n};\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import { useAtomValue } from 'jotai';
2
+ import { toolCallsAtom } from '../store/state';
3
+ export function useTools() {
4
+ const calls = useAtomValue(toolCallsAtom);
5
+ return calls;
6
+ }
7
+ //# sourceMappingURL=useTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useAtomValue","toolCallsAtom","useTools","calls"],"sources":["../../../../../src/hooks/useTools/public/useTools.ts"],"sourcesContent":["import { useAtomValue } from 'jotai';\n\nimport { toolCallsAtom } from '../store/state';\n\nexport function useTools() {\n const calls = useAtomValue(toolCallsAtom);\n return calls;\n}\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,OAAO;AAEpC,SAASC,aAAa,QAAQ,gBAAgB;AAE9C,OAAO,SAASC,QAAQA,CAAA,EAAG;EACzB,MAAMC,KAAK,GAAGH,YAAY,CAACC,aAAa,CAAC;EACzC,OAAOE,KAAK;AACd","ignoreList":[]}
@@ -0,0 +1,66 @@
1
+ import { ToolExecutionInProgressError } from '../model/errors';
2
+ import { executeToolCallBatch } from './executeToolCallBatch';
3
+ export function createToolRuntimeSession(_ref) {
4
+ let onRunningChange = _ref.onRunningChange;
5
+ let isRunning = false;
6
+ async function executeBatch(functionCalls, _ref2) {
7
+ let registry = _ref2.registry,
8
+ observer = _ref2.observer;
9
+ if (functionCalls.length === 0) {
10
+ return [];
11
+ }
12
+ if (isRunning) {
13
+ throw new ToolExecutionInProgressError();
14
+ }
15
+ isRunning = true;
16
+ onRunningChange == null || onRunningChange(true);
17
+ try {
18
+ return await executeToolCallBatch({
19
+ functionCalls,
20
+ registry,
21
+ observer
22
+ });
23
+ } finally {
24
+ isRunning = false;
25
+ onRunningChange == null || onRunningChange(false);
26
+ }
27
+ }
28
+ async function resolveResponseToolCalls(_ref3) {
29
+ let initialResponse = _ref3.initialResponse,
30
+ continueWithResults = _ref3.continueWithResults,
31
+ registry = _ref3.registry,
32
+ observer = _ref3.observer;
33
+ let response = initialResponse;
34
+ while ((((_response$functionCal = response.functionCalls) == null ? void 0 : _response$functionCal.length) ?? 0) > 0) {
35
+ var _response$functionCal;
36
+ const results = await executeBatch(response.functionCalls ?? [], {
37
+ registry,
38
+ observer
39
+ });
40
+ response = await continueWithResults(results);
41
+ }
42
+ return response;
43
+ }
44
+ async function resolveIncomingToolCalls(_ref4) {
45
+ let envelope = _ref4.envelope,
46
+ adapter = _ref4.adapter,
47
+ registry = _ref4.registry,
48
+ observer = _ref4.observer;
49
+ const functionCallResults = await executeBatch(envelope.functionCalls, {
50
+ registry,
51
+ observer
52
+ });
53
+ if (functionCallResults.length === 0) {
54
+ return;
55
+ }
56
+ await adapter.sendResults({
57
+ requestId: envelope.requestId,
58
+ functionCallResults
59
+ });
60
+ }
61
+ return {
62
+ resolveResponseToolCalls,
63
+ resolveIncomingToolCalls
64
+ };
65
+ }
66
+ //# sourceMappingURL=createToolRuntimeSession.js.map