@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 @@
1
+ {"version":3,"file":"PanelHeader.d.ts","sourceRoot":"","sources":["../../../../../src/live/components/PanelHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,gBAAgB,qBAUrE"}
@@ -0,0 +1,54 @@
1
+ import React from 'react';
2
+ /** One episode selected for the up-next queue. The show id is always known here. */
3
+ export interface PodcastQueueSelection {
4
+ syraPodcastId: string;
5
+ episodeId: string;
6
+ }
7
+ interface PodcastStreamPickerProps {
8
+ onSelectEpisode: (syraPodcastId: string, episodeId: string) => void;
9
+ /**
10
+ * Start a multi-episode session: the first item plays immediately, the rest
11
+ * become the room's up-next queue. Optional — hosts that omit it get the
12
+ * single-tap "play this now" flow only, and the queue affordances (per-row "+"
13
+ * and the footer) are hidden.
14
+ */
15
+ onStartQueue?: (items: PodcastQueueSelection[]) => void;
16
+ }
17
+ /**
18
+ * Self-contained two-level podcast picker for the live-room stream setup. Level 1
19
+ * is a debounced Syra show search; tapping a show drills into Level 2, its episode
20
+ * list. Tapping an episode reports `(syraPodcastId, episodeId)` to the parent — the
21
+ * picker owns NO room/stream logic. Ships inside @syra.fm/live, so it depends only
22
+ * on `useLiveConfig()` injection and never imports from a host app (`@/`).
23
+ *
24
+ * UX affordances (all backend-field-free): a host copyright disclaimer, an honest
25
+ * error+Retry state distinct from empty results, a one-tap "stream my pinned
26
+ * podcast" quick-start row (when the host exposes `getPinnedPodcast`), and an
27
+ * "Open in Syra" deep link on the episode-list header.
28
+ */
29
+ export declare function PodcastStreamPicker({ onSelectEpisode, onStartQueue }: PodcastStreamPickerProps): React.JSX.Element;
30
+ interface MusicPickerProps {
31
+ /** Stream a single track immediately. */
32
+ onSelectTrack: (trackId: string) => void;
33
+ /**
34
+ * Start a multi-track session: the first track plays immediately, the rest
35
+ * become the room's up-next queue. Optional — hosts that omit it get the
36
+ * single-tap "play this now" flow only, and the queue affordances are hidden.
37
+ */
38
+ onStartQueue?: (trackIds: string[]) => void;
39
+ }
40
+ /**
41
+ * Self-contained single-level music picker for the live-room "listening party".
42
+ * A debounced Syra catalog search; tapping a track reports its `trackId` to the
43
+ * parent (the picker owns NO room/stream logic and never sees an audio URL — the
44
+ * backend resolves the playable source server-side). Ships inside the shared
45
+ * package, so it depends only on `useLiveConfig()` injection and never imports
46
+ * from a host app (`@/`).
47
+ *
48
+ * Mirrors {@link PodcastStreamPicker}: a host copyright/broadcast disclaimer, an
49
+ * honest error+Retry state distinct from empty results, and an optional up-next
50
+ * queue (per-row "+" plus a floating "Play (N)" footer).
51
+ */
52
+ export declare function MusicPicker({ onSelectTrack, onStartQueue }: MusicPickerProps): React.JSX.Element;
53
+ export {};
54
+ //# sourceMappingURL=PodcastStreamPicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PodcastStreamPicker.d.ts","sourceRoot":"","sources":["../../../../../src/live/components/PodcastStreamPicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkE,MAAM,OAAO,CAAC;AAsEvF,oFAAoF;AACpF,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,wBAAwB;IAChC,eAAe,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACpE;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,EAAE,KAAK,IAAI,CAAC;CACzD;AA0ID;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,eAAe,EAAE,YAAY,EAAE,EAAE,wBAAwB,qBAmd9F;AAuDD,UAAU,gBAAgB;IACxB,yCAAyC;IACzC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC7C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,gBAAgB,qBAkP5E"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { StyleProp, ViewStyle } from 'react-native';
3
+ import type { Recording } from '../validation';
4
+ interface RecordingCardProps {
5
+ recording: Recording;
6
+ onPress?: () => void;
7
+ style?: StyleProp<ViewStyle>;
8
+ }
9
+ export declare const RecordingCard: React.FC<RecordingCardProps>;
10
+ export default RecordingCard;
11
+ //# sourceMappingURL=RecordingCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecordingCard.d.ts","sourceRoot":"","sources":["../../../../../src/live/components/RecordingCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAA4C,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAM9F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAqB/C,UAAU,kBAAkB;IAC1B,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAID,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAyDtD,CAAC;AA4DF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import type { Recording, LiveTheme } from '../types';
3
+ interface RecordingsPanelProps {
4
+ roomId: string;
5
+ isHost: boolean;
6
+ theme: LiveTheme;
7
+ onClose: () => void;
8
+ onPlay?: (playbackUrl: string, recording: Recording) => void;
9
+ }
10
+ export declare function RecordingsPanel({ roomId, isHost, theme, onClose, onPlay }: RecordingsPanelProps): React.JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=RecordingsPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecordingsPanel.d.ts","sourceRoot":"","sources":["../../../../../src/live/components/RecordingsPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAMnD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErD,UAAU,oBAAoB;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;CAC9D;AAkBD,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,oBAAoB,qBA2J/F"}
@@ -0,0 +1,38 @@
1
+ import React from 'react';
2
+ import { StyleProp, ViewStyle } from 'react-native';
3
+ interface RoomCardProps {
4
+ room: {
5
+ _id: string;
6
+ title: string;
7
+ status: 'scheduled' | 'live' | 'ended';
8
+ type?: 'talk' | 'stage' | 'broadcast';
9
+ topic?: string | null;
10
+ participants?: string[];
11
+ speakers?: string[];
12
+ host: string;
13
+ houseId?: string | null;
14
+ scheduledStart?: string | null;
15
+ startedAt?: string | null;
16
+ endedAt?: string | null;
17
+ createdAt?: string;
18
+ stats?: {
19
+ peakListeners?: number;
20
+ totalJoined?: number;
21
+ };
22
+ };
23
+ onPress?: () => void;
24
+ variant?: 'default' | 'compact';
25
+ house?: {
26
+ name: string;
27
+ avatarUrl?: string;
28
+ } | null;
29
+ hostName?: string;
30
+ hostAvatarUri?: string;
31
+ onMenuPress?: () => void;
32
+ onSave?: () => void;
33
+ isSaved?: boolean;
34
+ style?: StyleProp<ViewStyle>;
35
+ }
36
+ export declare const RoomCard: React.FC<RoomCardProps>;
37
+ export default RoomCard;
38
+ //# sourceMappingURL=RoomCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoomCard.d.ts","sourceRoot":"","sources":["../../../../../src/live/components/RoomCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,EAA4C,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AA4D9F,UAAU,aAAa;IACrB,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;QACvC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;QACtC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE;YAAE,aAAa,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC1D,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAChC,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAID,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAgM5C,CAAC;AAkNF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ interface StreamConfigModalProps {
3
+ visible: boolean;
4
+ onClose: () => void;
5
+ roomId: string;
6
+ initialStreamUrl?: string;
7
+ onStreamStarted: () => void;
8
+ }
9
+ export declare function StreamConfigModal({ visible, onClose, roomId, initialStreamUrl, onStreamStarted }: StreamConfigModalProps): React.JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=StreamConfigModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StreamConfigModal.d.ts","sourceRoot":"","sources":["../../../../../src/live/components/StreamConfigModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAoBxC,UAAU,sBAAsB;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B;AAID,wBAAgB,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,EAAE,sBAAsB,qBA0ZxH"}
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ interface StreamConfigPanelProps {
3
+ roomId: string;
4
+ roomStatus?: string;
5
+ initialStreamUrl?: string;
6
+ initialRtmpUrl?: string;
7
+ initialStreamKey?: string;
8
+ onClose: () => void;
9
+ onStreamStarted: () => void;
10
+ }
11
+ export declare function StreamConfigPanel({ roomId, roomStatus, initialStreamUrl, initialRtmpUrl, initialStreamKey, onClose, onStreamStarted }: StreamConfigPanelProps): React.JSX.Element;
12
+ export {};
13
+ //# sourceMappingURL=StreamConfigPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StreamConfigPanel.d.ts","sourceRoot":"","sources":["../../../../../src/live/components/StreamConfigPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAmB3D,UAAU,sBAAsB;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B;AAmBD,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,sBAAsB,qBAwiB7J"}
@@ -0,0 +1,78 @@
1
+ import React from 'react';
2
+ import type { ViewStyle } from 'react-native';
3
+ import type { LiveTheme, UserEntity, HttpClient } from '../types';
4
+ import { type RoomsServiceInstance } from '../services/spacesService';
5
+ import { RoomSocketService } from '../services/spaceSocketService';
6
+ import { type GetRoomTokenFn } from '../services/livekitService';
7
+ /**
8
+ * The viewer's pinned Syra podcast (resolved from their profile media), surfaced
9
+ * by {@link LiveConfig.getPinnedPodcast}. `title`/`artworkUrl` are optional —
10
+ * the id is all the picker needs to drill into the episode list.
11
+ */
12
+ export interface PinnedPodcast {
13
+ syraPodcastId: string;
14
+ title?: string;
15
+ artworkUrl?: string;
16
+ }
17
+ export interface LiveConfig {
18
+ httpClient: HttpClient;
19
+ socketUrl: string;
20
+ useTheme: () => LiveTheme;
21
+ /**
22
+ * Translate a UI string key to the active locale. Optional: hosts WITH an i18n
23
+ * layer (the Mention frontend) inject their real translator so the shared
24
+ * live-room UI localizes; hosts WITHOUT one (the standalone live-rooms app) omit it
25
+ * and the shared components fall back to their bundled English source copy.
26
+ * Keys are looked up flat (e.g. `agora.podcastStream.disclaimer`).
27
+ */
28
+ t?: (key: string, options?: Record<string, string | number>) => string;
29
+ /**
30
+ * Resolve the viewer's pinned Syra podcast from their profile media, or `null`
31
+ * when they have none / it can't be read. Optional: hosts that expose profile
32
+ * media wire it so the podcast picker can offer a one-tap "stream my pinned
33
+ * podcast" quick-start row. The picker renders nothing when this is absent or
34
+ * resolves to `null`.
35
+ */
36
+ getPinnedPodcast?: () => Promise<PinnedPodcast | null>;
37
+ useUserById: (id: string | undefined) => UserEntity | undefined;
38
+ ensureUserById: (id: string, loader: (id: string) => Promise<UserEntity | null | undefined>) => Promise<UserEntity | undefined>;
39
+ getCachedFileDownloadUrl: (oxyServices: unknown, fileId: string, variant?: string) => Promise<string>;
40
+ getCachedFileDownloadUrlSync: (oxyServices: unknown, fileId: string, variant?: string) => string;
41
+ AvatarComponent: React.ComponentType<{
42
+ size: number;
43
+ source?: string;
44
+ shape?: string;
45
+ style?: ViewStyle;
46
+ }>;
47
+ toast: {
48
+ (message: string, options?: Record<string, unknown>): void;
49
+ success: (message: string) => void;
50
+ error: (message: string) => void;
51
+ };
52
+ introSound?: number;
53
+ isDesktop?: boolean;
54
+ useIsDesktop?: () => boolean;
55
+ onRoomChanged?: (roomId: string) => void;
56
+ /**
57
+ * Optional NativeWind className applied to the floating live-room dock and its
58
+ * backdrop. Hosts whose web shell uses a DOCUMENT-scroll model (html/body/#root
59
+ * = height:auto + overflow:visible, the window is the scroller) must pass
60
+ * `"web:fixed"` so the dock pins to the VIEWPORT bottom instead of resolving
61
+ * its `position: absolute` against the tall document and sinking to the page
62
+ * bottom. Omitted on hosts with the default fixed-viewport web model (and on
63
+ * native, where `web:fixed` is a no-op and the dock pins via `position:
64
+ * absolute` against the screen-filling root).
65
+ */
66
+ dockClassName?: string;
67
+ }
68
+ export interface LiveConfigInternal extends LiveConfig {
69
+ roomsService: RoomsServiceInstance;
70
+ roomSocketService: RoomSocketService;
71
+ getRoomToken: GetRoomTokenFn;
72
+ }
73
+ export declare function useLiveConfig(): LiveConfigInternal;
74
+ export declare function LiveConfigProvider({ config, children }: {
75
+ config: LiveConfig;
76
+ children: React.ReactNode;
77
+ }): React.JSX.Element;
78
+ //# sourceMappingURL=LiveConfigContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiveConfigContext.d.ts","sourceRoot":"","sources":["../../../../../src/live/context/LiveConfigContext.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ interface LiveRoomContextProps {
3
+ activeRoomId: string | null;
4
+ joinLiveRoom: (roomId: string) => void;
5
+ leaveLiveRoom: () => void;
6
+ }
7
+ export declare function useLiveRoom(): LiveRoomContextProps;
8
+ export declare function LiveRoomProvider({ children }: {
9
+ children: React.ReactNode;
10
+ }): React.JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=LiveRoomContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiveRoomContext.d.ts","sourceRoot":"","sources":["../../../../../src/live/context/LiveRoomContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoE,MAAM,OAAO,CAAC;AAkBzF,UAAU,oBAAoB;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AAQD,wBAAgB,WAAW,yBAE1B;AAOD,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,qBA6K3E"}
@@ -0,0 +1,3 @@
1
+ import { Room } from 'livekit-client';
2
+ export declare function useActiveSpeakers(room: Room | null): Set<string>;
3
+ //# sourceMappingURL=useActiveSpeakers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useActiveSpeakers.d.ts","sourceRoot":"","sources":["../../../../../src/live/hooks/useActiveSpeakers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAA0B,MAAM,gBAAgB,CAAC;AAE9D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAmChE"}
@@ -0,0 +1,16 @@
1
+ import { Room } from 'livekit-client';
2
+ interface UseRoomAudioOptions {
3
+ roomId: string;
4
+ isSpeaker: boolean;
5
+ isMuted: boolean;
6
+ isConnected: boolean;
7
+ }
8
+ interface UseRoomAudioReturn {
9
+ isLiveKitConnected: boolean;
10
+ localAudioEnabled: boolean;
11
+ micPermissionDenied: boolean;
12
+ livekitRoom: Room | null;
13
+ }
14
+ export declare function useRoomAudio({ roomId, isSpeaker, isMuted, isConnected }: UseRoomAudioOptions): UseRoomAudioReturn;
15
+ export {};
16
+ //# sourceMappingURL=useRoomAudio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRoomAudio.d.ts","sourceRoot":"","sources":["../../../../../src/live/hooks/useRoomAudio.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAqC,MAAM,gBAAgB,CAAC;AASzE,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,kBAAkB;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;CAC1B;AAED,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,mBAAmB,GAAG,kBAAkB,CA6EjH"}
@@ -0,0 +1,29 @@
1
+ import type { RoomParticipant, StreamInfo } from '../types';
2
+ interface UseRoomConnectionOptions {
3
+ roomId: string;
4
+ enabled?: boolean;
5
+ }
6
+ interface UseRoomConnectionReturn {
7
+ isConnected: boolean;
8
+ participants: RoomParticipant[];
9
+ myRole: 'host' | 'speaker' | 'listener' | null;
10
+ isMuted: boolean;
11
+ speakerRequests: Array<{
12
+ userId: string;
13
+ requestedAt: string;
14
+ }>;
15
+ activeStream: StreamInfo | null;
16
+ isRecording: boolean;
17
+ activeRecordingId: string | null;
18
+ join: () => void;
19
+ leave: () => void;
20
+ toggleMute: () => void;
21
+ requestToSpeak: () => void;
22
+ approveSpeaker: (userId: string) => void;
23
+ denySpeaker: (userId: string) => void;
24
+ removeSpeaker: (userId: string) => void;
25
+ isRoomEnded: boolean;
26
+ }
27
+ export declare function useRoomConnection({ roomId, enabled, }: UseRoomConnectionOptions): UseRoomConnectionReturn;
28
+ export {};
29
+ //# sourceMappingURL=useRoomConnection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRoomConnection.d.ts","sourceRoot":"","sources":["../../../../../src/live/hooks/useRoomConnection.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE5D,UAAU,wBAAwB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,uBAAuB;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,IAAI,CAAC;IAC/C,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,YAAY,EAAE,UAAU,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,OAAc,GACf,EAAE,wBAAwB,GAAG,uBAAuB,CAgIpD"}
@@ -0,0 +1,11 @@
1
+ import type { RoomAttachmentData } from "../types";
2
+ export declare const useRoomManager: () => {
3
+ room: RoomAttachmentData | null;
4
+ setRoom: import("react").Dispatch<import("react").SetStateAction<RoomAttachmentData | null>>;
5
+ attachRoom: (data: RoomAttachmentData) => void;
6
+ removeRoom: () => void;
7
+ hasContent: () => boolean;
8
+ loadRoomFromDraft: (draftRoom: RoomAttachmentData | null) => void;
9
+ clearRoom: () => void;
10
+ };
11
+ //# sourceMappingURL=useRoomManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRoomManager.d.ts","sourceRoot":"","sources":["../../../../../src/live/hooks/useRoomManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD,eAAO,MAAM,cAAc;;;uBAGa,kBAAkB;;;mCAMN,kBAAkB,GAAG,IAAI;;CAI5E,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { UserEntity } from '../types';
2
+ export declare function useRoomUsers(userIds: string[]): void;
3
+ export declare function getDisplayName(userProfile: UserEntity | undefined, userId: string, isCurrentUser?: boolean): string;
4
+ export declare function getAvatarUrl(userProfile: UserEntity | undefined, oxyServices: unknown, getCachedFileDownloadUrlSync: (oxyServices: unknown, fileId: string, variant?: string) => string): string | undefined;
5
+ //# sourceMappingURL=useRoomUsers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRoomUsers.d.ts","sourceRoot":"","sources":["../../../../../src/live/hooks/useRoomUsers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAyB7C;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,UAAU,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAUnH;AAED,wBAAgB,YAAY,CAC1B,WAAW,EAAE,UAAU,GAAG,SAAS,EACnC,WAAW,EAAE,OAAO,EACpB,4BAA4B,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,MAAM,GAC/F,MAAM,GAAG,SAAS,CAGpB"}
@@ -0,0 +1,24 @@
1
+ export type { Room, RoomParticipant, Recording, House, HouseMember, Series, SeriesEpisode, Recurrence, RoomTemplate, RoomAttachment, RoomAttachmentData, ParticipantsUpdateData, MuteUpdateData, SpeakerRequestData, RecordingStateData, StreamInfo, UserEntity, LiveTheme, HttpRequestConfig, HttpClient, FileDownloadService, } from './types';
2
+ export { ZRoom, ZRoomParticipant, ZHouse, ZHouseMember, ZSeries, ZRecurrence, ZRoomTemplate, ZSeriesEpisode, ZRoomAttachment, ZStartStreamResponse, ZGenerateStreamKeyResponse, ZStreamInfo, ZRecording, validateRoom, validateRooms, validateHouse, validateSeries, validateRecording, validateRecordings, } from './validation';
3
+ export { LiveConfigProvider, useLiveConfig, type LiveConfig, type LiveConfigInternal, } from './context/LiveConfigContext';
4
+ export { LiveRoomProvider, useLiveRoom } from './context/LiveRoomContext';
5
+ export { createRoomsService, type RoomsServiceInstance, type CreateRoomData, type PodcastResult, type EpisodeListItem, } from './services/spacesService';
6
+ export { RoomSocketService } from './services/spaceSocketService';
7
+ export { createGetRoomToken, type GetRoomTokenFn, } from './services/livekitService';
8
+ export { useRoomConnection } from './hooks/useRoomConnection';
9
+ export { useRoomAudio } from './hooks/useRoomAudio';
10
+ export { useRoomUsers, getDisplayName, getAvatarUrl } from './hooks/useRoomUsers';
11
+ export { useRoomManager } from './hooks/useRoomManager';
12
+ export { useActiveSpeakers } from './hooks/useActiveSpeakers';
13
+ export { RoomCard } from './components/RoomCard';
14
+ export { LiveRoomSheet } from './components/LiveRoomSheet';
15
+ export { MiniRoomBar, MINI_BAR_HEIGHT } from './components/MiniRoomBar';
16
+ export { StreamConfigModal } from './components/StreamConfigModal';
17
+ export { StreamConfigPanel } from './components/StreamConfigPanel';
18
+ export { InsightsPanel } from './components/InsightsPanel';
19
+ export { CreateRoomSheet, type CreateRoomSheetRef, type CreateRoomFormState } from './components/CreateRoomSheet';
20
+ export { RecordingsPanel } from './components/RecordingsPanel';
21
+ export { RecordingCard } from './components/RecordingCard';
22
+ export { LiveRoomsIcon, LiveRoomsIconActive } from './assets/icons/spaces-icon';
23
+ export { SyraIcon, SyraIconActive } from './assets/icons/syra-icon';
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/live/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,IAAI,EACJ,eAAe,EACf,SAAS,EACT,KAAK,EACL,WAAW,EACX,MAAM,EACN,aAAa,EACb,UAAU,EACV,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,UAAU,EACV,mBAAmB,GACpB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,KAAK,EACL,gBAAgB,EAChB,MAAM,EACN,YAAY,EACZ,OAAO,EACP,WAAW,EACX,aAAa,EACb,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,0BAA0B,EAC1B,WAAW,EACX,UAAU,EACV,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,KAAK,UAAU,EACf,KAAK,kBAAkB,GACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAG1E,OAAO,EACL,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,eAAe,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EACL,kBAAkB,EAClB,KAAK,cAAc,GACpB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,KAAK,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAClH,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { HttpClient } from '../types';
2
+ export type GetRoomTokenFn = (roomId: string) => Promise<{
3
+ token: string;
4
+ url: string;
5
+ }>;
6
+ export declare function createGetRoomToken(httpClient: Pick<HttpClient, 'post'>): GetRoomTokenFn;
7
+ //# sourceMappingURL=livekitService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"livekitService.d.ts","sourceRoot":"","sources":["../../../../../src/live/services/livekitService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEzF,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,cAAc,CAMvF"}
@@ -0,0 +1,69 @@
1
+ import type { RoomParticipant, ParticipantsUpdateData, MuteUpdateData, SpeakerRequestData } from '../types';
2
+ type SimpleRoomCallback = (data: {
3
+ roomId: string;
4
+ timestamp?: string;
5
+ }) => void;
6
+ export declare class RoomSocketService {
7
+ private socket;
8
+ private _isConnected;
9
+ private socketUrl;
10
+ constructor(socketUrl: string);
11
+ get isConnected(): boolean;
12
+ connect(userId: string, token?: string): void;
13
+ disconnect(): void;
14
+ joinRoom(roomId: string, callback?: (res: {
15
+ success: boolean;
16
+ participants?: RoomParticipant[];
17
+ myRole?: string;
18
+ error?: string;
19
+ }) => void): void;
20
+ leaveRoom(roomId: string): void;
21
+ setMute(roomId: string, isMuted: boolean): void;
22
+ requestToSpeak(roomId: string): void;
23
+ approveSpeaker(roomId: string, targetUserId: string): void;
24
+ denySpeaker(roomId: string, targetUserId: string): void;
25
+ removeSpeaker(roomId: string, targetUserId: string): void;
26
+ onParticipantsUpdate(cb: (data: ParticipantsUpdateData) => void): () => void;
27
+ onParticipantMute(cb: (data: MuteUpdateData) => void): () => void;
28
+ onSpeakerRequestReceived(cb: (data: SpeakerRequestData) => void): () => void;
29
+ onSpeakerApproved(cb: SimpleRoomCallback): () => void;
30
+ onSpeakerDenied(cb: SimpleRoomCallback): () => void;
31
+ onSpeakerRemoved(cb: SimpleRoomCallback): () => void;
32
+ onRoomStarted(cb: SimpleRoomCallback): () => void;
33
+ onRoomEnded(cb: SimpleRoomCallback): () => void;
34
+ onUserJoined(cb: (data: {
35
+ userId: string;
36
+ role: string;
37
+ roomId: string;
38
+ }) => void): () => void;
39
+ onUserLeft(cb: (data: {
40
+ userId: string;
41
+ roomId: string;
42
+ }) => void): () => void;
43
+ onStreamStarted(cb: (data: {
44
+ roomId: string;
45
+ title?: string;
46
+ image?: string;
47
+ description?: string;
48
+ startedAt?: string;
49
+ durationSec?: number;
50
+ timestamp: string;
51
+ }) => void): () => void;
52
+ onStreamStopped(cb: (data: {
53
+ roomId: string;
54
+ timestamp: string;
55
+ }) => void): () => void;
56
+ onRecordingStarted(cb: (data: {
57
+ roomId: string;
58
+ recordingId: string;
59
+ timestamp: string;
60
+ }) => void): () => void;
61
+ onRecordingStopped(cb: (data: {
62
+ roomId: string;
63
+ recordingId?: string;
64
+ reason?: string;
65
+ timestamp: string;
66
+ }) => void): () => void;
67
+ }
68
+ export {};
69
+ //# sourceMappingURL=spaceSocketService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spaceSocketService.d.ts","sourceRoot":"","sources":["../../../../../src/live/services/spaceSocketService.ts"],"names":[],"mappings":"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"}