@syra.fm/sdk 0.3.0 → 0.5.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 (314) hide show
  1. package/lib/commonjs/client.js +268 -0
  2. package/lib/commonjs/client.js.map +1 -0
  3. package/lib/commonjs/errors.js +22 -0
  4. package/lib/commonjs/errors.js.map +1 -0
  5. package/lib/commonjs/index.js +63 -0
  6. package/lib/commonjs/index.js.map +1 -0
  7. package/lib/commonjs/index.native.js +28 -0
  8. package/lib/commonjs/index.native.js.map +1 -0
  9. package/lib/commonjs/live/assets/icons/spaces-icon.js +42 -0
  10. package/lib/commonjs/live/assets/icons/spaces-icon.js.map +1 -0
  11. package/lib/commonjs/live/assets/icons/syra-icon.js +43 -0
  12. package/lib/commonjs/live/assets/icons/syra-icon.js.map +1 -0
  13. package/lib/commonjs/live/components/AnimatedPulse.js +38 -0
  14. package/lib/commonjs/live/components/AnimatedPulse.js.map +1 -0
  15. package/lib/commonjs/live/components/AnimatedSpeakerRing.js +90 -0
  16. package/lib/commonjs/live/components/AnimatedSpeakerRing.js.map +1 -0
  17. package/lib/commonjs/live/components/CreateRoomSheet.js +688 -0
  18. package/lib/commonjs/live/components/CreateRoomSheet.js.map +1 -0
  19. package/lib/commonjs/live/components/InsightsPanel.js +333 -0
  20. package/lib/commonjs/live/components/InsightsPanel.js.map +1 -0
  21. package/lib/commonjs/live/components/LiveRoomSheet.js +1195 -0
  22. package/lib/commonjs/live/components/LiveRoomSheet.js.map +1 -0
  23. package/lib/commonjs/live/components/MiniRoomBar.js +161 -0
  24. package/lib/commonjs/live/components/MiniRoomBar.js.map +1 -0
  25. package/lib/commonjs/live/components/PanelHeader.js +57 -0
  26. package/lib/commonjs/live/components/PanelHeader.js.map +1 -0
  27. package/lib/commonjs/live/components/PodcastStreamPicker.js +1190 -0
  28. package/lib/commonjs/live/components/PodcastStreamPicker.js.map +1 -0
  29. package/lib/commonjs/live/components/RecordingCard.js +192 -0
  30. package/lib/commonjs/live/components/RecordingCard.js.map +1 -0
  31. package/lib/commonjs/live/components/RecordingsPanel.js +304 -0
  32. package/lib/commonjs/live/components/RecordingsPanel.js.map +1 -0
  33. package/lib/commonjs/live/components/RoomCard.js +553 -0
  34. package/lib/commonjs/live/components/RoomCard.js.map +1 -0
  35. package/lib/commonjs/live/components/StreamConfigModal.js +656 -0
  36. package/lib/commonjs/live/components/StreamConfigModal.js.map +1 -0
  37. package/lib/commonjs/live/components/StreamConfigPanel.js +822 -0
  38. package/lib/commonjs/live/components/StreamConfigPanel.js.map +1 -0
  39. package/lib/commonjs/live/context/LiveConfigContext.js +46 -0
  40. package/lib/commonjs/live/context/LiveConfigContext.js.map +1 -0
  41. package/lib/commonjs/live/context/LiveRoomContext.js +195 -0
  42. package/lib/commonjs/live/context/LiveRoomContext.js.map +1 -0
  43. package/lib/commonjs/live/hooks/useActiveSpeakers.js +35 -0
  44. package/lib/commonjs/live/hooks/useActiveSpeakers.js.map +1 -0
  45. package/lib/commonjs/live/hooks/useRoomAudio.js +129 -0
  46. package/lib/commonjs/live/hooks/useRoomAudio.js.map +1 -0
  47. package/lib/commonjs/live/hooks/useRoomConnection.js +177 -0
  48. package/lib/commonjs/live/hooks/useRoomConnection.js.map +1 -0
  49. package/lib/commonjs/live/hooks/useRoomManager.js +37 -0
  50. package/lib/commonjs/live/hooks/useRoomManager.js.map +1 -0
  51. package/lib/commonjs/live/hooks/useRoomUsers.js +52 -0
  52. package/lib/commonjs/live/hooks/useRoomUsers.js.map +1 -0
  53. package/lib/commonjs/live/index.js +310 -0
  54. package/lib/commonjs/live/index.js.map +1 -0
  55. package/lib/commonjs/live/services/livekitService.js +20 -0
  56. package/lib/commonjs/live/services/livekitService.js.map +1 -0
  57. package/lib/commonjs/live/services/spaceSocketService.js +181 -0
  58. package/lib/commonjs/live/services/spaceSocketService.js.map +1 -0
  59. package/lib/commonjs/live/services/spacesService.js +642 -0
  60. package/lib/commonjs/live/services/spacesService.js.map +1 -0
  61. package/lib/commonjs/live/types.js +6 -0
  62. package/lib/commonjs/live/types.js.map +1 -0
  63. package/lib/commonjs/live/validation.js +238 -0
  64. package/lib/commonjs/live/validation.js.map +1 -0
  65. package/lib/commonjs/package.json +1 -0
  66. package/lib/commonjs/schema.js +102 -0
  67. package/lib/commonjs/schema.js.map +1 -0
  68. package/lib/module/client.js +264 -0
  69. package/lib/module/client.js.map +1 -0
  70. package/lib/module/errors.js +17 -0
  71. package/lib/module/errors.js.map +1 -0
  72. package/lib/module/index.js +6 -0
  73. package/lib/module/index.js.map +1 -0
  74. package/lib/module/index.native.js +5 -0
  75. package/lib/module/index.native.js.map +1 -0
  76. package/lib/module/live/assets/icons/spaces-icon.js +34 -0
  77. package/lib/module/live/assets/icons/spaces-icon.js.map +1 -0
  78. package/lib/module/live/assets/icons/syra-icon.js +36 -0
  79. package/lib/module/live/assets/icons/syra-icon.js.map +1 -0
  80. package/lib/module/live/components/AnimatedPulse.js +33 -0
  81. package/lib/module/live/components/AnimatedPulse.js.map +1 -0
  82. package/lib/module/live/components/AnimatedSpeakerRing.js +85 -0
  83. package/lib/module/live/components/AnimatedSpeakerRing.js.map +1 -0
  84. package/lib/module/live/components/CreateRoomSheet.js +682 -0
  85. package/lib/module/live/components/CreateRoomSheet.js.map +1 -0
  86. package/lib/module/live/components/InsightsPanel.js +327 -0
  87. package/lib/module/live/components/InsightsPanel.js.map +1 -0
  88. package/lib/module/live/components/LiveRoomSheet.js +1189 -0
  89. package/lib/module/live/components/LiveRoomSheet.js.map +1 -0
  90. package/lib/module/live/components/MiniRoomBar.js +154 -0
  91. package/lib/module/live/components/MiniRoomBar.js.map +1 -0
  92. package/lib/module/live/components/PanelHeader.js +52 -0
  93. package/lib/module/live/components/PanelHeader.js.map +1 -0
  94. package/lib/module/live/components/PodcastStreamPicker.js +1183 -0
  95. package/lib/module/live/components/PodcastStreamPicker.js.map +1 -0
  96. package/lib/module/live/components/RecordingCard.js +187 -0
  97. package/lib/module/live/components/RecordingCard.js.map +1 -0
  98. package/lib/module/live/components/RecordingsPanel.js +298 -0
  99. package/lib/module/live/components/RecordingsPanel.js.map +1 -0
  100. package/lib/module/live/components/RoomCard.js +548 -0
  101. package/lib/module/live/components/RoomCard.js.map +1 -0
  102. package/lib/module/live/components/StreamConfigModal.js +650 -0
  103. package/lib/module/live/components/StreamConfigModal.js.map +1 -0
  104. package/lib/module/live/components/StreamConfigPanel.js +816 -0
  105. package/lib/module/live/components/StreamConfigPanel.js.map +1 -0
  106. package/lib/module/live/context/LiveConfigContext.js +40 -0
  107. package/lib/module/live/context/LiveConfigContext.js.map +1 -0
  108. package/lib/module/live/context/LiveRoomContext.js +189 -0
  109. package/lib/module/live/context/LiveRoomContext.js.map +1 -0
  110. package/lib/module/live/hooks/useActiveSpeakers.js +31 -0
  111. package/lib/module/live/hooks/useActiveSpeakers.js.map +1 -0
  112. package/lib/module/live/hooks/useRoomAudio.js +125 -0
  113. package/lib/module/live/hooks/useRoomAudio.js.map +1 -0
  114. package/lib/module/live/hooks/useRoomConnection.js +173 -0
  115. package/lib/module/live/hooks/useRoomConnection.js.map +1 -0
  116. package/lib/module/live/hooks/useRoomManager.js +32 -0
  117. package/lib/module/live/hooks/useRoomManager.js.map +1 -0
  118. package/lib/module/live/hooks/useRoomUsers.js +46 -0
  119. package/lib/module/live/hooks/useRoomUsers.js.map +1 -0
  120. package/lib/module/live/index.js +38 -0
  121. package/lib/module/live/index.js.map +1 -0
  122. package/lib/module/live/services/livekitService.js +16 -0
  123. package/lib/module/live/services/livekitService.js.map +1 -0
  124. package/lib/module/live/services/spaceSocketService.js +176 -0
  125. package/lib/module/live/services/spaceSocketService.js.map +1 -0
  126. package/lib/module/live/services/spacesService.js +639 -0
  127. package/lib/module/live/services/spacesService.js.map +1 -0
  128. package/lib/module/live/types.js +4 -0
  129. package/lib/module/live/types.js.map +1 -0
  130. package/lib/module/live/validation.js +229 -0
  131. package/lib/module/live/validation.js.map +1 -0
  132. package/lib/module/package.json +1 -0
  133. package/lib/module/schema.js +99 -0
  134. package/lib/module/schema.js.map +1 -0
  135. package/{dist/types → lib/typescript/commonjs}/client.d.ts +36 -1
  136. package/lib/typescript/commonjs/client.d.ts.map +1 -0
  137. package/{dist/types → lib/typescript/commonjs}/errors.d.ts +1 -0
  138. package/lib/typescript/commonjs/errors.d.ts.map +1 -0
  139. package/lib/typescript/commonjs/index.d.ts +6 -0
  140. package/lib/typescript/commonjs/index.d.ts.map +1 -0
  141. package/lib/typescript/commonjs/index.native.d.ts +3 -0
  142. package/lib/typescript/commonjs/index.native.d.ts.map +1 -0
  143. package/lib/typescript/commonjs/live/assets/icons/spaces-icon.d.ts +13 -0
  144. package/lib/typescript/commonjs/live/assets/icons/spaces-icon.d.ts.map +1 -0
  145. package/lib/typescript/commonjs/live/assets/icons/syra-icon.d.ts +13 -0
  146. package/lib/typescript/commonjs/live/assets/icons/syra-icon.d.ts.map +1 -0
  147. package/lib/typescript/commonjs/live/components/AnimatedPulse.d.ts +8 -0
  148. package/lib/typescript/commonjs/live/components/AnimatedPulse.d.ts.map +1 -0
  149. package/lib/typescript/commonjs/live/components/AnimatedSpeakerRing.d.ts +10 -0
  150. package/lib/typescript/commonjs/live/components/AnimatedSpeakerRing.d.ts.map +1 -0
  151. package/lib/typescript/commonjs/live/components/CreateRoomSheet.d.ts +26 -0
  152. package/lib/typescript/commonjs/live/components/CreateRoomSheet.d.ts.map +1 -0
  153. package/lib/typescript/commonjs/live/components/InsightsPanel.d.ts +11 -0
  154. package/lib/typescript/commonjs/live/components/InsightsPanel.d.ts.map +1 -0
  155. package/lib/typescript/commonjs/live/components/LiveRoomSheet.d.ts +11 -0
  156. package/lib/typescript/commonjs/live/components/LiveRoomSheet.d.ts.map +1 -0
  157. package/lib/typescript/commonjs/live/components/MiniRoomBar.d.ts +15 -0
  158. package/lib/typescript/commonjs/live/components/MiniRoomBar.d.ts.map +1 -0
  159. package/lib/typescript/commonjs/live/components/PanelHeader.d.ts +10 -0
  160. package/lib/typescript/commonjs/live/components/PanelHeader.d.ts.map +1 -0
  161. package/lib/typescript/commonjs/live/components/PodcastStreamPicker.d.ts +54 -0
  162. package/lib/typescript/commonjs/live/components/PodcastStreamPicker.d.ts.map +1 -0
  163. package/lib/typescript/commonjs/live/components/RecordingCard.d.ts +11 -0
  164. package/lib/typescript/commonjs/live/components/RecordingCard.d.ts.map +1 -0
  165. package/lib/typescript/commonjs/live/components/RecordingsPanel.d.ts +12 -0
  166. package/lib/typescript/commonjs/live/components/RecordingsPanel.d.ts.map +1 -0
  167. package/lib/typescript/commonjs/live/components/RoomCard.d.ts +38 -0
  168. package/lib/typescript/commonjs/live/components/RoomCard.d.ts.map +1 -0
  169. package/lib/typescript/commonjs/live/components/StreamConfigModal.d.ts +11 -0
  170. package/lib/typescript/commonjs/live/components/StreamConfigModal.d.ts.map +1 -0
  171. package/lib/typescript/commonjs/live/components/StreamConfigPanel.d.ts +13 -0
  172. package/lib/typescript/commonjs/live/components/StreamConfigPanel.d.ts.map +1 -0
  173. package/lib/typescript/commonjs/live/context/LiveConfigContext.d.ts +78 -0
  174. package/lib/typescript/commonjs/live/context/LiveConfigContext.d.ts.map +1 -0
  175. package/lib/typescript/commonjs/live/context/LiveRoomContext.d.ts +12 -0
  176. package/lib/typescript/commonjs/live/context/LiveRoomContext.d.ts.map +1 -0
  177. package/lib/typescript/commonjs/live/hooks/useActiveSpeakers.d.ts +3 -0
  178. package/lib/typescript/commonjs/live/hooks/useActiveSpeakers.d.ts.map +1 -0
  179. package/lib/typescript/commonjs/live/hooks/useRoomAudio.d.ts +16 -0
  180. package/lib/typescript/commonjs/live/hooks/useRoomAudio.d.ts.map +1 -0
  181. package/lib/typescript/commonjs/live/hooks/useRoomConnection.d.ts +29 -0
  182. package/lib/typescript/commonjs/live/hooks/useRoomConnection.d.ts.map +1 -0
  183. package/lib/typescript/commonjs/live/hooks/useRoomManager.d.ts +11 -0
  184. package/lib/typescript/commonjs/live/hooks/useRoomManager.d.ts.map +1 -0
  185. package/lib/typescript/commonjs/live/hooks/useRoomUsers.d.ts +5 -0
  186. package/lib/typescript/commonjs/live/hooks/useRoomUsers.d.ts.map +1 -0
  187. package/lib/typescript/commonjs/live/index.d.ts +24 -0
  188. package/lib/typescript/commonjs/live/index.d.ts.map +1 -0
  189. package/lib/typescript/commonjs/live/services/livekitService.d.ts +7 -0
  190. package/lib/typescript/commonjs/live/services/livekitService.d.ts.map +1 -0
  191. package/lib/typescript/commonjs/live/services/spaceSocketService.d.ts +69 -0
  192. package/lib/typescript/commonjs/live/services/spaceSocketService.d.ts.map +1 -0
  193. package/lib/typescript/commonjs/live/services/spacesService.d.ts +181 -0
  194. package/lib/typescript/commonjs/live/services/spacesService.d.ts.map +1 -0
  195. package/lib/typescript/commonjs/live/types.d.ts +100 -0
  196. package/lib/typescript/commonjs/live/types.d.ts.map +1 -0
  197. package/lib/typescript/commonjs/live/validation.d.ts +658 -0
  198. package/lib/typescript/commonjs/live/validation.d.ts.map +1 -0
  199. package/lib/typescript/commonjs/package.json +1 -0
  200. package/{dist/types → lib/typescript/commonjs}/schema.d.ts +305 -0
  201. package/lib/typescript/commonjs/schema.d.ts.map +1 -0
  202. package/lib/typescript/module/client.d.ts +141 -0
  203. package/lib/typescript/module/client.d.ts.map +1 -0
  204. package/lib/typescript/module/errors.d.ts +9 -0
  205. package/lib/typescript/module/errors.d.ts.map +1 -0
  206. package/lib/typescript/module/index.d.ts +6 -0
  207. package/lib/typescript/module/index.d.ts.map +1 -0
  208. package/lib/typescript/module/index.native.d.ts +3 -0
  209. package/lib/typescript/module/index.native.d.ts.map +1 -0
  210. package/lib/typescript/module/live/assets/icons/spaces-icon.d.ts +13 -0
  211. package/lib/typescript/module/live/assets/icons/spaces-icon.d.ts.map +1 -0
  212. package/lib/typescript/module/live/assets/icons/syra-icon.d.ts +13 -0
  213. package/lib/typescript/module/live/assets/icons/syra-icon.d.ts.map +1 -0
  214. package/lib/typescript/module/live/components/AnimatedPulse.d.ts +8 -0
  215. package/lib/typescript/module/live/components/AnimatedPulse.d.ts.map +1 -0
  216. package/lib/typescript/module/live/components/AnimatedSpeakerRing.d.ts +10 -0
  217. package/lib/typescript/module/live/components/AnimatedSpeakerRing.d.ts.map +1 -0
  218. package/lib/typescript/module/live/components/CreateRoomSheet.d.ts +26 -0
  219. package/lib/typescript/module/live/components/CreateRoomSheet.d.ts.map +1 -0
  220. package/lib/typescript/module/live/components/InsightsPanel.d.ts +11 -0
  221. package/lib/typescript/module/live/components/InsightsPanel.d.ts.map +1 -0
  222. package/lib/typescript/module/live/components/LiveRoomSheet.d.ts +11 -0
  223. package/lib/typescript/module/live/components/LiveRoomSheet.d.ts.map +1 -0
  224. package/lib/typescript/module/live/components/MiniRoomBar.d.ts +15 -0
  225. package/lib/typescript/module/live/components/MiniRoomBar.d.ts.map +1 -0
  226. package/lib/typescript/module/live/components/PanelHeader.d.ts +10 -0
  227. package/lib/typescript/module/live/components/PanelHeader.d.ts.map +1 -0
  228. package/lib/typescript/module/live/components/PodcastStreamPicker.d.ts +54 -0
  229. package/lib/typescript/module/live/components/PodcastStreamPicker.d.ts.map +1 -0
  230. package/lib/typescript/module/live/components/RecordingCard.d.ts +11 -0
  231. package/lib/typescript/module/live/components/RecordingCard.d.ts.map +1 -0
  232. package/lib/typescript/module/live/components/RecordingsPanel.d.ts +12 -0
  233. package/lib/typescript/module/live/components/RecordingsPanel.d.ts.map +1 -0
  234. package/lib/typescript/module/live/components/RoomCard.d.ts +38 -0
  235. package/lib/typescript/module/live/components/RoomCard.d.ts.map +1 -0
  236. package/lib/typescript/module/live/components/StreamConfigModal.d.ts +11 -0
  237. package/lib/typescript/module/live/components/StreamConfigModal.d.ts.map +1 -0
  238. package/lib/typescript/module/live/components/StreamConfigPanel.d.ts +13 -0
  239. package/lib/typescript/module/live/components/StreamConfigPanel.d.ts.map +1 -0
  240. package/lib/typescript/module/live/context/LiveConfigContext.d.ts +78 -0
  241. package/lib/typescript/module/live/context/LiveConfigContext.d.ts.map +1 -0
  242. package/lib/typescript/module/live/context/LiveRoomContext.d.ts +12 -0
  243. package/lib/typescript/module/live/context/LiveRoomContext.d.ts.map +1 -0
  244. package/lib/typescript/module/live/hooks/useActiveSpeakers.d.ts +3 -0
  245. package/lib/typescript/module/live/hooks/useActiveSpeakers.d.ts.map +1 -0
  246. package/lib/typescript/module/live/hooks/useRoomAudio.d.ts +16 -0
  247. package/lib/typescript/module/live/hooks/useRoomAudio.d.ts.map +1 -0
  248. package/lib/typescript/module/live/hooks/useRoomConnection.d.ts +29 -0
  249. package/lib/typescript/module/live/hooks/useRoomConnection.d.ts.map +1 -0
  250. package/lib/typescript/module/live/hooks/useRoomManager.d.ts +11 -0
  251. package/lib/typescript/module/live/hooks/useRoomManager.d.ts.map +1 -0
  252. package/lib/typescript/module/live/hooks/useRoomUsers.d.ts +5 -0
  253. package/lib/typescript/module/live/hooks/useRoomUsers.d.ts.map +1 -0
  254. package/lib/typescript/module/live/index.d.ts +24 -0
  255. package/lib/typescript/module/live/index.d.ts.map +1 -0
  256. package/lib/typescript/module/live/services/livekitService.d.ts +7 -0
  257. package/lib/typescript/module/live/services/livekitService.d.ts.map +1 -0
  258. package/lib/typescript/module/live/services/spaceSocketService.d.ts +69 -0
  259. package/lib/typescript/module/live/services/spaceSocketService.d.ts.map +1 -0
  260. package/lib/typescript/module/live/services/spacesService.d.ts +181 -0
  261. package/lib/typescript/module/live/services/spacesService.d.ts.map +1 -0
  262. package/lib/typescript/module/live/types.d.ts +100 -0
  263. package/lib/typescript/module/live/types.d.ts.map +1 -0
  264. package/lib/typescript/module/live/validation.d.ts +658 -0
  265. package/lib/typescript/module/live/validation.d.ts.map +1 -0
  266. package/lib/typescript/module/package.json +1 -0
  267. package/lib/typescript/module/schema.d.ts +1072 -0
  268. package/lib/typescript/module/schema.d.ts.map +1 -0
  269. package/package.json +133 -21
  270. package/src/client.test.ts +185 -0
  271. package/src/client.ts +125 -0
  272. package/src/index.native.ts +2 -0
  273. package/src/index.ts +4 -0
  274. package/src/live/assets/icons/spaces-icon.tsx +15 -0
  275. package/src/live/assets/icons/syra-icon.tsx +13 -0
  276. package/src/live/assets/sounds/intro.mp3 +0 -0
  277. package/src/live/components/AnimatedPulse.tsx +52 -0
  278. package/src/live/components/AnimatedSpeakerRing.tsx +101 -0
  279. package/src/live/components/CreateRoomSheet.tsx +654 -0
  280. package/src/live/components/InsightsPanel.tsx +202 -0
  281. package/src/live/components/LiveRoomSheet.tsx +969 -0
  282. package/src/live/components/MiniRoomBar.tsx +166 -0
  283. package/src/live/components/PanelHeader.tsx +36 -0
  284. package/src/live/components/PodcastStreamPicker.tsx +1155 -0
  285. package/src/live/components/RecordingCard.tsx +154 -0
  286. package/src/live/components/RecordingsPanel.tsx +251 -0
  287. package/src/live/components/RoomCard.tsx +494 -0
  288. package/src/live/components/StreamConfigModal.tsx +600 -0
  289. package/src/live/components/StreamConfigPanel.tsx +729 -0
  290. package/src/live/context/LiveConfigContext.tsx +96 -0
  291. package/src/live/context/LiveRoomContext.tsx +235 -0
  292. package/src/live/hooks/useActiveSpeakers.ts +39 -0
  293. package/src/live/hooks/useRoomAudio.ts +103 -0
  294. package/src/live/hooks/useRoomConnection.ts +162 -0
  295. package/src/live/hooks/useRoomManager.ts +17 -0
  296. package/src/live/hooks/useRoomUsers.ts +52 -0
  297. package/src/live/index.ts +92 -0
  298. package/src/live/services/livekitService.ts +11 -0
  299. package/src/live/services/spaceSocketService.ts +136 -0
  300. package/src/live/services/spacesService.ts +692 -0
  301. package/src/live/types.ts +119 -0
  302. package/src/live/validation.ts +279 -0
  303. package/src/schema.ts +34 -0
  304. package/dist/cjs/client.js +0 -185
  305. package/dist/cjs/errors.js +0 -16
  306. package/dist/cjs/index.js +0 -14
  307. package/dist/cjs/package.json +0 -3
  308. package/dist/cjs/schema.js +0 -62
  309. package/dist/esm/client.js +0 -181
  310. package/dist/esm/errors.js +0 -12
  311. package/dist/esm/index.js +0 -3
  312. package/dist/esm/package.json +0 -3
  313. package/dist/esm/schema.js +0 -59
  314. package/dist/types/index.d.ts +0 -5
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useRoomConnection = useRoomConnection;
7
+ var _react = require("react");
8
+ var _services = require("@oxyhq/services");
9
+ var _expoAudio = require("expo-audio");
10
+ var _LiveConfigContext = require("../context/LiveConfigContext.js");
11
+ function useRoomConnection({
12
+ roomId,
13
+ enabled = true
14
+ }) {
15
+ const {
16
+ user,
17
+ isAuthenticated,
18
+ isReady,
19
+ oxyServices
20
+ } = (0, _services.useAuth)();
21
+ const {
22
+ roomSocketService,
23
+ introSound
24
+ } = (0, _LiveConfigContext.useLiveConfig)();
25
+ const userId = user?.id;
26
+ const [isConnected, setIsConnected] = (0, _react.useState)(false);
27
+ const [participants, setParticipants] = (0, _react.useState)([]);
28
+ const [isMuted, setIsMuted] = (0, _react.useState)(true);
29
+ const [speakerRequests, setSpeakerRequests] = (0, _react.useState)([]);
30
+ const [isRoomEnded, setIsRoomEnded] = (0, _react.useState)(false);
31
+ const [activeStream, setActiveStream] = (0, _react.useState)(null);
32
+ const [isRecording, setIsRecording] = (0, _react.useState)(false);
33
+ const [activeRecordingId, setActiveRecordingId] = (0, _react.useState)(null);
34
+ const hasJoined = (0, _react.useRef)(false);
35
+ const myParticipant = participants.find(p => p.userId === userId);
36
+ const myRole = myParticipant?.role ?? null;
37
+ (0, _react.useEffect)(() => {
38
+ if (!enabled || !isAuthenticated || !isReady || !userId) return;
39
+ const token = oxyServices?.getAccessToken() ?? undefined;
40
+ if (!token) return;
41
+ roomSocketService.connect(userId, token);
42
+ const interval = setInterval(() => {
43
+ setIsConnected(roomSocketService.isConnected);
44
+ }, 500);
45
+ return () => {
46
+ clearInterval(interval);
47
+ };
48
+ }, [enabled, isAuthenticated, isReady, userId, roomSocketService, oxyServices]);
49
+ (0, _react.useEffect)(() => {
50
+ if (!enabled) return;
51
+ const unsubs = [];
52
+ unsubs.push(roomSocketService.onParticipantsUpdate(data => {
53
+ if (data.roomId === roomId) setParticipants(data.participants);
54
+ }));
55
+ unsubs.push(roomSocketService.onParticipantMute(data => {
56
+ setParticipants(prev => prev.map(p => p.userId === data.userId ? {
57
+ ...p,
58
+ isMuted: data.isMuted
59
+ } : p));
60
+ if (data.userId === userId) setIsMuted(data.isMuted);
61
+ }));
62
+ unsubs.push(roomSocketService.onSpeakerRequestReceived(data => {
63
+ if (data.roomId === roomId) {
64
+ setSpeakerRequests(prev => {
65
+ if (prev.some(r => r.userId === data.userId)) return prev;
66
+ return [...prev, {
67
+ userId: data.userId,
68
+ requestedAt: data.timestamp
69
+ }];
70
+ });
71
+ }
72
+ }));
73
+ unsubs.push(roomSocketService.onRoomEnded(data => {
74
+ if (data.roomId === roomId) {
75
+ setIsRoomEnded(true);
76
+ setActiveStream(null);
77
+ }
78
+ }));
79
+ unsubs.push(roomSocketService.onSpeakerRemoved(data => {
80
+ if (data.roomId === roomId) setIsMuted(true);
81
+ }));
82
+ unsubs.push(roomSocketService.onStreamStarted(data => {
83
+ if (data.roomId === roomId) setActiveStream({
84
+ title: data.title,
85
+ image: data.image,
86
+ description: data.description,
87
+ startedAt: data.startedAt,
88
+ durationSec: data.durationSec
89
+ });
90
+ }));
91
+ unsubs.push(roomSocketService.onStreamStopped(data => {
92
+ if (data.roomId === roomId) setActiveStream(null);
93
+ }));
94
+ unsubs.push(roomSocketService.onRecordingStarted(data => {
95
+ if (data.roomId === roomId) {
96
+ setIsRecording(true);
97
+ setActiveRecordingId(data.recordingId);
98
+ }
99
+ }));
100
+ unsubs.push(roomSocketService.onRecordingStopped(data => {
101
+ if (data.roomId === roomId) {
102
+ setIsRecording(false);
103
+ setActiveRecordingId(null);
104
+ }
105
+ }));
106
+ return () => {
107
+ unsubs.forEach(fn => fn());
108
+ };
109
+ }, [enabled, roomId, userId, roomSocketService]);
110
+ const join = (0, _react.useCallback)(() => {
111
+ if (hasJoined.current) return;
112
+ roomSocketService.joinRoom(roomId, res => {
113
+ if (res.success && res.participants) {
114
+ setParticipants(res.participants);
115
+ hasJoined.current = true;
116
+ if (introSound) {
117
+ try {
118
+ const player = (0, _expoAudio.createAudioPlayer)(introSound);
119
+ player.play();
120
+ } catch {}
121
+ }
122
+ }
123
+ });
124
+ }, [roomId, roomSocketService, introSound]);
125
+ const leave = (0, _react.useCallback)(() => {
126
+ roomSocketService.leaveRoom(roomId);
127
+ setParticipants([]);
128
+ hasJoined.current = false;
129
+ }, [roomId, roomSocketService]);
130
+ const toggleMute = (0, _react.useCallback)(() => {
131
+ const newMuted = !isMuted;
132
+ setIsMuted(newMuted);
133
+ roomSocketService.setMute(roomId, newMuted);
134
+ }, [roomId, isMuted, roomSocketService]);
135
+ const requestToSpeak = (0, _react.useCallback)(() => {
136
+ if (myRole === 'speaker' || myRole === 'host') return;
137
+ roomSocketService.requestToSpeak(roomId);
138
+ }, [roomId, myRole, roomSocketService]);
139
+ const approveSpeaker = (0, _react.useCallback)(targetUserId => {
140
+ roomSocketService.approveSpeaker(roomId, targetUserId);
141
+ setSpeakerRequests(prev => prev.filter(r => r.userId !== targetUserId));
142
+ }, [roomId, roomSocketService]);
143
+ const denySpeaker = (0, _react.useCallback)(targetUserId => {
144
+ roomSocketService.denySpeaker(roomId, targetUserId);
145
+ setSpeakerRequests(prev => prev.filter(r => r.userId !== targetUserId));
146
+ }, [roomId, roomSocketService]);
147
+ const removeSpeaker = (0, _react.useCallback)(targetUserId => {
148
+ roomSocketService.removeSpeaker(roomId, targetUserId);
149
+ }, [roomId, roomSocketService]);
150
+ (0, _react.useEffect)(() => {
151
+ return () => {
152
+ if (hasJoined.current && roomId) {
153
+ roomSocketService.leaveRoom(roomId);
154
+ hasJoined.current = false;
155
+ }
156
+ };
157
+ }, [roomId, roomSocketService]);
158
+ return {
159
+ isConnected,
160
+ participants,
161
+ myRole,
162
+ isMuted,
163
+ speakerRequests,
164
+ activeStream,
165
+ isRecording,
166
+ activeRecordingId,
167
+ join,
168
+ leave,
169
+ toggleMute,
170
+ requestToSpeak,
171
+ approveSpeaker,
172
+ denySpeaker,
173
+ removeSpeaker,
174
+ isRoomEnded
175
+ };
176
+ }
177
+ //# sourceMappingURL=useRoomConnection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_services","_expoAudio","_LiveConfigContext","useRoomConnection","roomId","enabled","user","isAuthenticated","isReady","oxyServices","useAuth","roomSocketService","introSound","useLiveConfig","userId","id","isConnected","setIsConnected","useState","participants","setParticipants","isMuted","setIsMuted","speakerRequests","setSpeakerRequests","isRoomEnded","setIsRoomEnded","activeStream","setActiveStream","isRecording","setIsRecording","activeRecordingId","setActiveRecordingId","hasJoined","useRef","myParticipant","find","p","myRole","role","useEffect","token","getAccessToken","undefined","connect","interval","setInterval","clearInterval","unsubs","push","onParticipantsUpdate","data","onParticipantMute","prev","map","onSpeakerRequestReceived","some","r","requestedAt","timestamp","onRoomEnded","onSpeakerRemoved","onStreamStarted","title","image","description","startedAt","durationSec","onStreamStopped","onRecordingStarted","recordingId","onRecordingStopped","forEach","fn","join","useCallback","current","joinRoom","res","success","player","createAudioPlayer","play","leave","leaveRoom","toggleMute","newMuted","setMute","requestToSpeak","approveSpeaker","targetUserId","filter","denySpeaker","removeSpeaker"],"sourceRoot":"../../../../src","sources":["live/hooks/useRoomConnection.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useRoomManager = void 0;
7
+ var _react = require("react");
8
+ const useRoomManager = () => {
9
+ const [room, setRoom] = (0, _react.useState)(null);
10
+ const attachRoom = (0, _react.useCallback)(data => {
11
+ setRoom(data);
12
+ }, []);
13
+ const removeRoom = (0, _react.useCallback)(() => {
14
+ setRoom(null);
15
+ }, []);
16
+ const hasContent = (0, _react.useCallback)(() => {
17
+ if (!room) return false;
18
+ return Boolean(room.roomId && room.title?.trim());
19
+ }, [room]);
20
+ const loadRoomFromDraft = (0, _react.useCallback)(draftRoom => {
21
+ setRoom(draftRoom);
22
+ }, []);
23
+ const clearRoom = (0, _react.useCallback)(() => {
24
+ setRoom(null);
25
+ }, []);
26
+ return {
27
+ room,
28
+ setRoom,
29
+ attachRoom,
30
+ removeRoom,
31
+ hasContent,
32
+ loadRoomFromDraft,
33
+ clearRoom
34
+ };
35
+ };
36
+ exports.useRoomManager = useRoomManager;
37
+ //# sourceMappingURL=useRoomManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","useRoomManager","room","setRoom","useState","attachRoom","useCallback","data","removeRoom","hasContent","Boolean","roomId","title","trim","loadRoomFromDraft","draftRoom","clearRoom","exports"],"sourceRoot":"../../../../src","sources":["live/hooks/useRoomManager.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGO,MAAMC,cAAc,GAAGA,CAAA,KAAM;EAClC,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAA4B,IAAI,CAAC;EAEjE,MAAMC,UAAU,GAAG,IAAAC,kBAAW,EAAEC,IAAwB,IAAK;IAAEJ,OAAO,CAACI,IAAI,CAAC;EAAE,CAAC,EAAE,EAAE,CAAC;EACpF,MAAMC,UAAU,GAAG,IAAAF,kBAAW,EAAC,MAAM;IAAEH,OAAO,CAAC,IAAI,CAAC;EAAE,CAAC,EAAE,EAAE,CAAC;EAC5D,MAAMM,UAAU,GAAG,IAAAH,kBAAW,EAAC,MAAM;IACnC,IAAI,CAACJ,IAAI,EAAE,OAAO,KAAK;IACvB,OAAOQ,OAAO,CAACR,IAAI,CAACS,MAAM,IAAIT,IAAI,CAACU,KAAK,EAAEC,IAAI,CAAC,CAAC,CAAC;EACnD,CAAC,EAAE,CAACX,IAAI,CAAC,CAAC;EACV,MAAMY,iBAAiB,GAAG,IAAAR,kBAAW,EAAES,SAAoC,IAAK;IAAEZ,OAAO,CAACY,SAAS,CAAC;EAAE,CAAC,EAAE,EAAE,CAAC;EAC5G,MAAMC,SAAS,GAAG,IAAAV,kBAAW,EAAC,MAAM;IAAEH,OAAO,CAAC,IAAI,CAAC;EAAE,CAAC,EAAE,EAAE,CAAC;EAE3D,OAAO;IAAED,IAAI;IAAEC,OAAO;IAAEE,UAAU;IAAEG,UAAU;IAAEC,UAAU;IAAEK,iBAAiB;IAAEE;EAAU,CAAC;AAC5F,CAAC;AAACC,OAAA,CAAAhB,cAAA,GAAAA,cAAA","ignoreList":[]}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getAvatarUrl = getAvatarUrl;
7
+ exports.getDisplayName = getDisplayName;
8
+ exports.useRoomUsers = useRoomUsers;
9
+ var _react = require("react");
10
+ var _services = require("@oxyhq/services");
11
+ var _LiveConfigContext = require("../context/LiveConfigContext.js");
12
+ function useRoomUsers(userIds) {
13
+ const {
14
+ oxyServices
15
+ } = (0, _services.useAuth)();
16
+ const {
17
+ ensureUserById
18
+ } = (0, _LiveConfigContext.useLiveConfig)();
19
+ const resolvedRef = (0, _react.useRef)(new Set());
20
+ const loader = (0, _react.useCallback)(async id => {
21
+ if (!oxyServices) return null;
22
+ try {
23
+ return await oxyServices.getUserById(id);
24
+ } catch {
25
+ return null;
26
+ }
27
+ }, [oxyServices]);
28
+ (0, _react.useEffect)(() => {
29
+ if (!userIds.length || !oxyServices) return;
30
+ for (const id of userIds) {
31
+ if (!id || resolvedRef.current.has(id)) continue;
32
+ resolvedRef.current.add(id);
33
+ ensureUserById(id, loader).catch(() => {});
34
+ }
35
+ }, [userIds.join(','), oxyServices, ensureUserById, loader]);
36
+ }
37
+ function getDisplayName(userProfile, userId, isCurrentUser) {
38
+ if (isCurrentUser) return 'You';
39
+ // The user source is always an Oxy user DTO (resolved via `oxyServices.getUserById`
40
+ // in `useRoomUsers` → `ensureUserById`), so `name.displayName` is the canonical,
41
+ // API-owned display string and is rendered directly. The `userId` slice is a
42
+ // not-yet-resolved loading fallback, NOT a name recompute.
43
+ if (!userProfile) return userId.slice(0, 10);
44
+ const name = userProfile.name;
45
+ if (typeof name === 'object' && name?.displayName) return name.displayName;
46
+ return userId.slice(0, 10);
47
+ }
48
+ function getAvatarUrl(userProfile, oxyServices, getCachedFileDownloadUrlSync) {
49
+ if (!userProfile?.avatar || !oxyServices) return undefined;
50
+ return getCachedFileDownloadUrlSync(oxyServices, userProfile.avatar, 'thumb');
51
+ }
52
+ //# sourceMappingURL=useRoomUsers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_services","_LiveConfigContext","useRoomUsers","userIds","oxyServices","useAuth","ensureUserById","useLiveConfig","resolvedRef","useRef","Set","loader","useCallback","id","getUserById","useEffect","length","current","has","add","catch","join","getDisplayName","userProfile","userId","isCurrentUser","slice","name","displayName","getAvatarUrl","getCachedFileDownloadUrlSync","avatar","undefined"],"sourceRoot":"../../../../src","sources":["live/hooks/useRoomUsers.ts"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AAGO,SAASG,YAAYA,CAACC,OAAiB,EAAE;EAC9C,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAC,iBAAO,EAAC,CAAC;EACjC,MAAM;IAAEC;EAAe,CAAC,GAAG,IAAAC,gCAAa,EAAC,CAAC;EAC1C,MAAMC,WAAW,GAAG,IAAAC,aAAM,EAAc,IAAIC,GAAG,CAAC,CAAC,CAAC;EAElD,MAAMC,MAAM,GAAG,IAAAC,kBAAW,EACxB,MAAOC,EAAU,IAAK;IACpB,IAAI,CAACT,WAAW,EAAE,OAAO,IAAI;IAC7B,IAAI;MACF,OAAO,MAAMA,WAAW,CAACU,WAAW,CAACD,EAAE,CAAC;IAC1C,CAAC,CAAC,MAAM;MACN,OAAO,IAAI;IACb;EACF,CAAC,EACD,CAACT,WAAW,CACd,CAAC;EAED,IAAAW,gBAAS,EAAC,MAAM;IACd,IAAI,CAACZ,OAAO,CAACa,MAAM,IAAI,CAACZ,WAAW,EAAE;IACrC,KAAK,MAAMS,EAAE,IAAIV,OAAO,EAAE;MACxB,IAAI,CAACU,EAAE,IAAIL,WAAW,CAACS,OAAO,CAACC,GAAG,CAACL,EAAE,CAAC,EAAE;MACxCL,WAAW,CAACS,OAAO,CAACE,GAAG,CAACN,EAAE,CAAC;MAC3BP,cAAc,CAACO,EAAE,EAAEF,MAAM,CAAC,CAACS,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C;EACF,CAAC,EAAE,CAACjB,OAAO,CAACkB,IAAI,CAAC,GAAG,CAAC,EAAEjB,WAAW,EAAEE,cAAc,EAAEK,MAAM,CAAC,CAAC;AAC9D;AAEO,SAASW,cAAcA,CAACC,WAAmC,EAAEC,MAAc,EAAEC,aAAuB,EAAU;EACnH,IAAIA,aAAa,EAAE,OAAO,KAAK;EAC/B;EACA;EACA;EACA;EACA,IAAI,CAACF,WAAW,EAAE,OAAOC,MAAM,CAACE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;EAC5C,MAAMC,IAAI,GAAGJ,WAAW,CAACI,IAAI;EAC7B,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAIA,IAAI,EAAEC,WAAW,EAAE,OAAOD,IAAI,CAACC,WAAW;EAC1E,OAAOJ,MAAM,CAACE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AAC5B;AAEO,SAASG,YAAYA,CAC1BN,WAAmC,EACnCnB,WAAoB,EACpB0B,4BAAgG,EAC5E;EACpB,IAAI,CAACP,WAAW,EAAEQ,MAAM,IAAI,CAAC3B,WAAW,EAAE,OAAO4B,SAAS;EAC1D,OAAOF,4BAA4B,CAAC1B,WAAW,EAAEmB,WAAW,CAACQ,MAAM,EAAE,OAAO,CAAC;AAC/E","ignoreList":[]}
@@ -0,0 +1,310 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "CreateRoomSheet", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _CreateRoomSheet.CreateRoomSheet;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "InsightsPanel", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _InsightsPanel.InsightsPanel;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "LiveConfigProvider", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _LiveConfigContext.LiveConfigProvider;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "LiveRoomProvider", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _LiveRoomContext.LiveRoomProvider;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "LiveRoomSheet", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _LiveRoomSheet.LiveRoomSheet;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "LiveRoomsIcon", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _spacesIcon.LiveRoomsIcon;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "LiveRoomsIconActive", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _spacesIcon.LiveRoomsIconActive;
46
+ }
47
+ });
48
+ Object.defineProperty(exports, "MINI_BAR_HEIGHT", {
49
+ enumerable: true,
50
+ get: function () {
51
+ return _MiniRoomBar.MINI_BAR_HEIGHT;
52
+ }
53
+ });
54
+ Object.defineProperty(exports, "MiniRoomBar", {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _MiniRoomBar.MiniRoomBar;
58
+ }
59
+ });
60
+ Object.defineProperty(exports, "RecordingCard", {
61
+ enumerable: true,
62
+ get: function () {
63
+ return _RecordingCard.RecordingCard;
64
+ }
65
+ });
66
+ Object.defineProperty(exports, "RecordingsPanel", {
67
+ enumerable: true,
68
+ get: function () {
69
+ return _RecordingsPanel.RecordingsPanel;
70
+ }
71
+ });
72
+ Object.defineProperty(exports, "RoomCard", {
73
+ enumerable: true,
74
+ get: function () {
75
+ return _RoomCard.RoomCard;
76
+ }
77
+ });
78
+ Object.defineProperty(exports, "RoomSocketService", {
79
+ enumerable: true,
80
+ get: function () {
81
+ return _spaceSocketService.RoomSocketService;
82
+ }
83
+ });
84
+ Object.defineProperty(exports, "StreamConfigModal", {
85
+ enumerable: true,
86
+ get: function () {
87
+ return _StreamConfigModal.StreamConfigModal;
88
+ }
89
+ });
90
+ Object.defineProperty(exports, "StreamConfigPanel", {
91
+ enumerable: true,
92
+ get: function () {
93
+ return _StreamConfigPanel.StreamConfigPanel;
94
+ }
95
+ });
96
+ Object.defineProperty(exports, "SyraIcon", {
97
+ enumerable: true,
98
+ get: function () {
99
+ return _syraIcon.SyraIcon;
100
+ }
101
+ });
102
+ Object.defineProperty(exports, "SyraIconActive", {
103
+ enumerable: true,
104
+ get: function () {
105
+ return _syraIcon.SyraIconActive;
106
+ }
107
+ });
108
+ Object.defineProperty(exports, "ZGenerateStreamKeyResponse", {
109
+ enumerable: true,
110
+ get: function () {
111
+ return _validation.ZGenerateStreamKeyResponse;
112
+ }
113
+ });
114
+ Object.defineProperty(exports, "ZHouse", {
115
+ enumerable: true,
116
+ get: function () {
117
+ return _validation.ZHouse;
118
+ }
119
+ });
120
+ Object.defineProperty(exports, "ZHouseMember", {
121
+ enumerable: true,
122
+ get: function () {
123
+ return _validation.ZHouseMember;
124
+ }
125
+ });
126
+ Object.defineProperty(exports, "ZRecording", {
127
+ enumerable: true,
128
+ get: function () {
129
+ return _validation.ZRecording;
130
+ }
131
+ });
132
+ Object.defineProperty(exports, "ZRecurrence", {
133
+ enumerable: true,
134
+ get: function () {
135
+ return _validation.ZRecurrence;
136
+ }
137
+ });
138
+ Object.defineProperty(exports, "ZRoom", {
139
+ enumerable: true,
140
+ get: function () {
141
+ return _validation.ZRoom;
142
+ }
143
+ });
144
+ Object.defineProperty(exports, "ZRoomAttachment", {
145
+ enumerable: true,
146
+ get: function () {
147
+ return _validation.ZRoomAttachment;
148
+ }
149
+ });
150
+ Object.defineProperty(exports, "ZRoomParticipant", {
151
+ enumerable: true,
152
+ get: function () {
153
+ return _validation.ZRoomParticipant;
154
+ }
155
+ });
156
+ Object.defineProperty(exports, "ZRoomTemplate", {
157
+ enumerable: true,
158
+ get: function () {
159
+ return _validation.ZRoomTemplate;
160
+ }
161
+ });
162
+ Object.defineProperty(exports, "ZSeries", {
163
+ enumerable: true,
164
+ get: function () {
165
+ return _validation.ZSeries;
166
+ }
167
+ });
168
+ Object.defineProperty(exports, "ZSeriesEpisode", {
169
+ enumerable: true,
170
+ get: function () {
171
+ return _validation.ZSeriesEpisode;
172
+ }
173
+ });
174
+ Object.defineProperty(exports, "ZStartStreamResponse", {
175
+ enumerable: true,
176
+ get: function () {
177
+ return _validation.ZStartStreamResponse;
178
+ }
179
+ });
180
+ Object.defineProperty(exports, "ZStreamInfo", {
181
+ enumerable: true,
182
+ get: function () {
183
+ return _validation.ZStreamInfo;
184
+ }
185
+ });
186
+ Object.defineProperty(exports, "createGetRoomToken", {
187
+ enumerable: true,
188
+ get: function () {
189
+ return _livekitService.createGetRoomToken;
190
+ }
191
+ });
192
+ Object.defineProperty(exports, "createRoomsService", {
193
+ enumerable: true,
194
+ get: function () {
195
+ return _spacesService.createRoomsService;
196
+ }
197
+ });
198
+ Object.defineProperty(exports, "getAvatarUrl", {
199
+ enumerable: true,
200
+ get: function () {
201
+ return _useRoomUsers.getAvatarUrl;
202
+ }
203
+ });
204
+ Object.defineProperty(exports, "getDisplayName", {
205
+ enumerable: true,
206
+ get: function () {
207
+ return _useRoomUsers.getDisplayName;
208
+ }
209
+ });
210
+ Object.defineProperty(exports, "useActiveSpeakers", {
211
+ enumerable: true,
212
+ get: function () {
213
+ return _useActiveSpeakers.useActiveSpeakers;
214
+ }
215
+ });
216
+ Object.defineProperty(exports, "useLiveConfig", {
217
+ enumerable: true,
218
+ get: function () {
219
+ return _LiveConfigContext.useLiveConfig;
220
+ }
221
+ });
222
+ Object.defineProperty(exports, "useLiveRoom", {
223
+ enumerable: true,
224
+ get: function () {
225
+ return _LiveRoomContext.useLiveRoom;
226
+ }
227
+ });
228
+ Object.defineProperty(exports, "useRoomAudio", {
229
+ enumerable: true,
230
+ get: function () {
231
+ return _useRoomAudio.useRoomAudio;
232
+ }
233
+ });
234
+ Object.defineProperty(exports, "useRoomConnection", {
235
+ enumerable: true,
236
+ get: function () {
237
+ return _useRoomConnection.useRoomConnection;
238
+ }
239
+ });
240
+ Object.defineProperty(exports, "useRoomManager", {
241
+ enumerable: true,
242
+ get: function () {
243
+ return _useRoomManager.useRoomManager;
244
+ }
245
+ });
246
+ Object.defineProperty(exports, "useRoomUsers", {
247
+ enumerable: true,
248
+ get: function () {
249
+ return _useRoomUsers.useRoomUsers;
250
+ }
251
+ });
252
+ Object.defineProperty(exports, "validateHouse", {
253
+ enumerable: true,
254
+ get: function () {
255
+ return _validation.validateHouse;
256
+ }
257
+ });
258
+ Object.defineProperty(exports, "validateRecording", {
259
+ enumerable: true,
260
+ get: function () {
261
+ return _validation.validateRecording;
262
+ }
263
+ });
264
+ Object.defineProperty(exports, "validateRecordings", {
265
+ enumerable: true,
266
+ get: function () {
267
+ return _validation.validateRecordings;
268
+ }
269
+ });
270
+ Object.defineProperty(exports, "validateRoom", {
271
+ enumerable: true,
272
+ get: function () {
273
+ return _validation.validateRoom;
274
+ }
275
+ });
276
+ Object.defineProperty(exports, "validateRooms", {
277
+ enumerable: true,
278
+ get: function () {
279
+ return _validation.validateRooms;
280
+ }
281
+ });
282
+ Object.defineProperty(exports, "validateSeries", {
283
+ enumerable: true,
284
+ get: function () {
285
+ return _validation.validateSeries;
286
+ }
287
+ });
288
+ var _validation = require("./validation.js");
289
+ var _LiveConfigContext = require("./context/LiveConfigContext.js");
290
+ var _LiveRoomContext = require("./context/LiveRoomContext.js");
291
+ var _spacesService = require("./services/spacesService.js");
292
+ var _spaceSocketService = require("./services/spaceSocketService.js");
293
+ var _livekitService = require("./services/livekitService.js");
294
+ var _useRoomConnection = require("./hooks/useRoomConnection.js");
295
+ var _useRoomAudio = require("./hooks/useRoomAudio.js");
296
+ var _useRoomUsers = require("./hooks/useRoomUsers.js");
297
+ var _useRoomManager = require("./hooks/useRoomManager.js");
298
+ var _useActiveSpeakers = require("./hooks/useActiveSpeakers.js");
299
+ var _RoomCard = require("./components/RoomCard.js");
300
+ var _LiveRoomSheet = require("./components/LiveRoomSheet.js");
301
+ var _MiniRoomBar = require("./components/MiniRoomBar.js");
302
+ var _StreamConfigModal = require("./components/StreamConfigModal.js");
303
+ var _StreamConfigPanel = require("./components/StreamConfigPanel.js");
304
+ var _InsightsPanel = require("./components/InsightsPanel.js");
305
+ var _CreateRoomSheet = require("./components/CreateRoomSheet.js");
306
+ var _RecordingsPanel = require("./components/RecordingsPanel.js");
307
+ var _RecordingCard = require("./components/RecordingCard.js");
308
+ var _spacesIcon = require("./assets/icons/spaces-icon.js");
309
+ var _syraIcon = require("./assets/icons/syra-icon.js");
310
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_validation","require","_LiveConfigContext","_LiveRoomContext","_spacesService","_spaceSocketService","_livekitService","_useRoomConnection","_useRoomAudio","_useRoomUsers","_useRoomManager","_useActiveSpeakers","_RoomCard","_LiveRoomSheet","_MiniRoomBar","_StreamConfigModal","_StreamConfigPanel","_InsightsPanel","_CreateRoomSheet","_RecordingsPanel","_RecordingCard","_spacesIcon","_syraIcon"],"sourceRoot":"../../../src","sources":["live/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,IAAAA,WAAA,GAAAC,OAAA;AAuBA,IAAAC,kBAAA,GAAAD,OAAA;AAMA,IAAAE,gBAAA,GAAAF,OAAA;AAGA,IAAAG,cAAA,GAAAH,OAAA;AAOA,IAAAI,mBAAA,GAAAJ,OAAA;AACA,IAAAK,eAAA,GAAAL,OAAA;AAMA,IAAAM,kBAAA,GAAAN,OAAA;AACA,IAAAO,aAAA,GAAAP,OAAA;AACA,IAAAQ,aAAA,GAAAR,OAAA;AACA,IAAAS,eAAA,GAAAT,OAAA;AACA,IAAAU,kBAAA,GAAAV,OAAA;AAGA,IAAAW,SAAA,GAAAX,OAAA;AACA,IAAAY,cAAA,GAAAZ,OAAA;AACA,IAAAa,YAAA,GAAAb,OAAA;AACA,IAAAc,kBAAA,GAAAd,OAAA;AACA,IAAAe,kBAAA,GAAAf,OAAA;AACA,IAAAgB,cAAA,GAAAhB,OAAA;AACA,IAAAiB,gBAAA,GAAAjB,OAAA;AACA,IAAAkB,gBAAA,GAAAlB,OAAA;AACA,IAAAmB,cAAA,GAAAnB,OAAA;AAGA,IAAAoB,WAAA,GAAApB,OAAA;AACA,IAAAqB,SAAA,GAAArB,OAAA","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createGetRoomToken = createGetRoomToken;
7
+ function createGetRoomToken(httpClient) {
8
+ return async function getRoomToken(roomId) {
9
+ const res = await httpClient.post(`/rooms/${roomId}/token`);
10
+ const {
11
+ token,
12
+ url
13
+ } = res;
14
+ return {
15
+ token: String(token),
16
+ url: String(url)
17
+ };
18
+ };
19
+ }
20
+ //# sourceMappingURL=livekitService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createGetRoomToken","httpClient","getRoomToken","roomId","res","post","token","url","String"],"sourceRoot":"../../../../src","sources":["live/services/livekitService.ts"],"mappings":";;;;;;AAIO,SAASA,kBAAkBA,CAACC,UAAoC,EAAkB;EACvF,OAAO,eAAeC,YAAYA,CAACC,MAAc,EAA2C;IAC1F,MAAMC,GAAG,GAAG,MAAMH,UAAU,CAACI,IAAI,CAAC,UAAUF,MAAM,QAAQ,CAAC;IAC3D,MAAM;MAAEG,KAAK;MAAEC;IAAI,CAAC,GAAGH,GAAG;IAC1B,OAAO;MAAEE,KAAK,EAAEE,MAAM,CAACF,KAAK,CAAC;MAAEC,GAAG,EAAEC,MAAM,CAACD,GAAG;IAAE,CAAC;EACnD,CAAC;AACH","ignoreList":[]}