@onlive.ai/common-121 0.2.163 → 0.2.184

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 (447) hide show
  1. package/audi-dark.theme-B8g9SRrd.d.cts +11 -0
  2. package/audi-dark.theme-B8g9SRrd.d.ts +11 -0
  3. package/audi.theme-CbqEkKLD.d.cts +11 -0
  4. package/audi.theme-CbqEkKLD.d.ts +11 -0
  5. package/australia.theme-Cs0cygOQ.d.cts +11 -0
  6. package/australia.theme-Cs0cygOQ.d.ts +11 -0
  7. package/chunk-UTOVVCSU.js +2 -0
  8. package/components/asset/asset-modal-portal.cjs +1 -1
  9. package/components/asset/asset-modal-portal.d.cts +1 -1
  10. package/components/asset/asset-modal-portal.d.ts +1 -1
  11. package/components/asset/asset-modal-portal.js +1 -1
  12. package/components/asset/asset.cjs +4 -4
  13. package/components/asset/asset.d.cts +1 -1
  14. package/components/asset/asset.d.ts +1 -1
  15. package/components/asset/asset.js +13 -13
  16. package/components/asset/asset.loaders.cjs +1 -1
  17. package/components/asset/asset.loaders.d.cts +1 -1
  18. package/components/asset/asset.loaders.d.ts +1 -1
  19. package/components/asset/asset.loaders.js +1 -1
  20. package/components/asset/asset.renderer.cjs +4 -4
  21. package/components/asset/asset.renderer.d.cts +1 -1
  22. package/components/asset/asset.renderer.d.ts +1 -1
  23. package/components/asset/asset.renderer.js +10 -10
  24. package/components/asset/asset.styles.cjs +1 -1
  25. package/components/asset/asset.styles.d.cts +1 -1
  26. package/components/asset/asset.styles.d.ts +1 -1
  27. package/components/asset/asset.styles.js +1 -1
  28. package/components/asset/asset.types.cjs +1 -1
  29. package/components/asset/asset.types.d.cts +1 -1
  30. package/components/asset/asset.types.d.ts +1 -1
  31. package/components/asset/asset.types.js +1 -1
  32. package/components/asset/index.cjs +4 -4
  33. package/components/asset/index.d.cts +1 -1
  34. package/components/asset/index.d.ts +1 -1
  35. package/components/asset/index.js +13 -13
  36. package/components/player/player.cjs +1 -1
  37. package/components/player/player.d.cts +1 -1
  38. package/components/player/player.d.ts +1 -1
  39. package/components/player/player.js +1 -1
  40. package/components/player/player.styles.cjs +1 -1
  41. package/components/player/player.styles.d.cts +1 -1
  42. package/components/player/player.styles.d.ts +1 -1
  43. package/components/player/player.styles.js +1 -1
  44. package/components/side-bar/index.cjs +1 -1
  45. package/components/side-bar/index.d.cts +1 -1
  46. package/components/side-bar/index.d.ts +1 -1
  47. package/components/side-bar/index.js +1 -1
  48. package/components/side-bar/side-bar.cjs +1 -1
  49. package/components/side-bar/side-bar.d.cts +1 -1
  50. package/components/side-bar/side-bar.d.ts +1 -1
  51. package/components/side-bar/side-bar.js +1 -1
  52. package/components/side-bar/side-bar.styles.cjs +1 -1
  53. package/components/side-bar/side-bar.styles.d.cts +1 -1
  54. package/components/side-bar/side-bar.styles.d.ts +1 -1
  55. package/components/side-bar/side-bar.styles.js +1 -1
  56. package/components/side-bar/side-bar.types.cjs +1 -1
  57. package/components/side-bar/side-bar.types.d.cts +1 -1
  58. package/components/side-bar/side-bar.types.d.ts +1 -1
  59. package/components/side-bar/side-bar.types.js +1 -1
  60. package/components/upload/index.cjs +1 -1
  61. package/components/upload/index.d.cts +1 -1
  62. package/components/upload/index.d.ts +1 -1
  63. package/components/upload/index.js +1 -1
  64. package/components/upload/upload.cjs +1 -1
  65. package/components/upload/upload.d.cts +1 -1
  66. package/components/upload/upload.d.ts +1 -1
  67. package/components/upload/upload.js +1 -1
  68. package/components/upload/upload.styles.cjs +1 -1
  69. package/components/upload/upload.styles.d.cts +1 -1
  70. package/components/upload/upload.styles.d.ts +1 -1
  71. package/components/upload/upload.styles.js +1 -1
  72. package/components/upload/upload.types.cjs +1 -1
  73. package/components/upload/upload.types.d.cts +1 -1
  74. package/components/upload/upload.types.d.ts +1 -1
  75. package/components/upload/upload.types.js +1 -1
  76. package/cuernavaca.theme-0UFX1MeG.d.cts +11 -0
  77. package/cuernavaca.theme-0UFX1MeG.d.ts +11 -0
  78. package/cupra-diagonal.theme-DVrQr2iv.d.cts +11 -0
  79. package/cupra-diagonal.theme-DVrQr2iv.d.ts +11 -0
  80. package/cupra-events.theme-D2xJeafa.d.cts +11 -0
  81. package/cupra-events.theme-D2xJeafa.d.ts +11 -0
  82. package/cupra.theme-CqgKWLYE.d.cts +11 -0
  83. package/cupra.theme-CqgKWLYE.d.ts +11 -0
  84. package/germany.theme-CnwD309P.d.cts +11 -0
  85. package/germany.theme-CnwD309P.d.ts +11 -0
  86. package/hyundai.theme-E2ZiyZmJ.d.cts +11 -0
  87. package/hyundai.theme-E2ZiyZmJ.d.ts +11 -0
  88. package/index.cjs +276 -276
  89. package/index.d.cts +4134 -3
  90. package/index.d.ts +4134 -3
  91. package/index.js +280 -280
  92. package/italy.theme-BjfPp7rU.d.cts +11 -0
  93. package/italy.theme-BjfPp7rU.d.ts +11 -0
  94. package/magimix.theme-7cd19P1X.d.cts +11 -0
  95. package/magimix.theme-7cd19P1X.d.ts +11 -0
  96. package/media-SB4RDT6E.js +2 -0
  97. package/onlive-ai.theme-CASPoRHr.d.cts +11 -0
  98. package/onlive-ai.theme-CASPoRHr.d.ts +11 -0
  99. package/onlive.theme-nKZQHG1I.d.cts +11 -0
  100. package/onlive.theme-nKZQHG1I.d.ts +11 -0
  101. package/package.json +13 -9
  102. package/react/components/asset/Asset.cjs +1 -1
  103. package/react/components/asset/Asset.jsx +1 -1
  104. package/react/components/side-bar/SideBar.cjs +1 -1
  105. package/react/components/side-bar/SideBar.jsx +1 -1
  106. package/react/components/upload/Upload.cjs +1 -1
  107. package/react/components/upload/Upload.jsx +1 -1
  108. package/seat-cupra.theme-B4ylEjOZ.d.cts +11 -0
  109. package/seat-cupra.theme-B4ylEjOZ.d.ts +11 -0
  110. package/services/audio.service.cjs +1 -1
  111. package/services/audio.service.d.cts +1 -1
  112. package/services/audio.service.d.ts +1 -1
  113. package/services/audio.service.js +1 -1
  114. package/services/conversation/conversation.service.cjs +2 -2
  115. package/services/conversation/conversation.service.d.cts +26 -3
  116. package/services/conversation/conversation.service.d.ts +26 -3
  117. package/services/conversation/conversation.service.js +2 -2
  118. package/services/conversation/conversation.types.cjs +2 -2
  119. package/services/conversation/conversation.types.d.cts +120 -4
  120. package/services/conversation/conversation.types.d.ts +120 -4
  121. package/services/conversation/conversation.types.js +2 -2
  122. package/services/conversation/index.cjs +2 -2
  123. package/services/conversation/index.d.cts +19 -2
  124. package/services/conversation/index.d.ts +19 -2
  125. package/services/conversation/index.js +2 -2
  126. package/services/conversation/mock/actor/agent.cjs +2 -0
  127. package/services/conversation/mock/actor/agent.d.cts +202 -0
  128. package/services/conversation/mock/actor/agent.d.ts +202 -0
  129. package/services/conversation/mock/actor/agent.js +2 -0
  130. package/services/conversation/mock/actor/index.cjs +2 -0
  131. package/services/conversation/mock/actor/index.d.cts +4 -0
  132. package/services/conversation/mock/actor/index.d.ts +4 -0
  133. package/services/conversation/mock/actor/index.js +2 -0
  134. package/services/conversation/mock/actor/strategies.cjs +2 -0
  135. package/services/conversation/mock/actor/strategies.d.cts +31 -0
  136. package/services/conversation/mock/actor/strategies.d.ts +31 -0
  137. package/services/conversation/mock/actor/strategies.js +2 -0
  138. package/services/conversation/mock/errors.cjs +2 -0
  139. package/services/conversation/mock/errors.d.cts +125 -0
  140. package/services/conversation/mock/errors.d.ts +125 -0
  141. package/services/conversation/mock/errors.js +2 -0
  142. package/services/conversation/mock/events.cjs +2 -0
  143. package/services/conversation/mock/events.d.cts +253 -0
  144. package/services/conversation/mock/events.d.ts +253 -0
  145. package/services/conversation/mock/events.js +2 -0
  146. package/services/conversation/mock/factory.cjs +2 -0
  147. package/services/conversation/mock/factory.d.cts +134 -0
  148. package/services/conversation/mock/factory.d.ts +134 -0
  149. package/services/conversation/mock/factory.js +2 -0
  150. package/services/conversation/mock/fixtures.cjs +2 -0
  151. package/services/conversation/mock/fixtures.d.cts +191 -0
  152. package/services/conversation/mock/fixtures.d.ts +191 -0
  153. package/services/conversation/mock/fixtures.js +2 -0
  154. package/services/conversation/mock/generators.cjs +2 -0
  155. package/services/conversation/mock/generators.d.cts +123 -0
  156. package/services/conversation/mock/generators.d.ts +123 -0
  157. package/services/conversation/mock/generators.js +2 -0
  158. package/services/conversation/mock/index.cjs +2 -0
  159. package/services/conversation/mock/index.d.cts +24 -0
  160. package/services/conversation/mock/index.d.ts +24 -0
  161. package/services/conversation/mock/index.js +2 -0
  162. package/services/conversation/mock/livekit/index.cjs +2 -0
  163. package/services/conversation/mock/livekit/index.d.cts +7 -0
  164. package/services/conversation/mock/livekit/index.d.ts +7 -0
  165. package/services/conversation/mock/livekit/index.js +2 -0
  166. package/services/conversation/mock/livekit/local-participant.cjs +2 -0
  167. package/services/conversation/mock/livekit/local-participant.d.cts +204 -0
  168. package/services/conversation/mock/livekit/local-participant.d.ts +204 -0
  169. package/services/conversation/mock/livekit/local-participant.js +2 -0
  170. package/services/conversation/mock/livekit/participant.cjs +2 -0
  171. package/services/conversation/mock/livekit/participant.d.cts +171 -0
  172. package/services/conversation/mock/livekit/participant.d.ts +171 -0
  173. package/services/conversation/mock/livekit/participant.js +2 -0
  174. package/services/conversation/mock/livekit/room.cjs +2 -0
  175. package/services/conversation/mock/livekit/room.d.cts +292 -0
  176. package/services/conversation/mock/livekit/room.d.ts +292 -0
  177. package/services/conversation/mock/livekit/room.js +2 -0
  178. package/services/conversation/mock/livekit/streams.cjs +2 -0
  179. package/services/conversation/mock/livekit/streams.d.cts +190 -0
  180. package/services/conversation/mock/livekit/streams.d.ts +190 -0
  181. package/services/conversation/mock/livekit/streams.js +2 -0
  182. package/services/conversation/mock/livekit/tracks.cjs +2 -0
  183. package/services/conversation/mock/livekit/tracks.d.cts +149 -0
  184. package/services/conversation/mock/livekit/tracks.d.ts +149 -0
  185. package/services/conversation/mock/livekit/tracks.js +2 -0
  186. package/services/conversation/mock/media.cjs +2 -0
  187. package/services/conversation/mock/media.d.cts +174 -0
  188. package/services/conversation/mock/media.d.ts +174 -0
  189. package/services/conversation/mock/media.js +2 -0
  190. package/services/conversation/mock/service.cjs +2 -0
  191. package/services/conversation/mock/service.d.cts +305 -0
  192. package/services/conversation/mock/service.d.ts +305 -0
  193. package/services/conversation/mock/service.js +2 -0
  194. package/services/conversation/mock/service.test.cjs +2 -0
  195. package/services/conversation/mock/service.test.d.cts +1 -0
  196. package/services/conversation/mock/service.test.d.ts +1 -0
  197. package/services/conversation/mock/service.test.js +2 -0
  198. package/services/conversation/mock/state.cjs +2 -0
  199. package/services/conversation/mock/state.d.cts +296 -0
  200. package/services/conversation/mock/state.d.ts +296 -0
  201. package/services/conversation/mock/state.js +2 -0
  202. package/services/conversation/mock/storybook.cjs +2 -0
  203. package/services/conversation/mock/storybook.d.cts +197 -0
  204. package/services/conversation/mock/storybook.d.ts +197 -0
  205. package/services/conversation/mock/storybook.js +2 -0
  206. package/services/conversation/mock/types.cjs +2 -0
  207. package/services/conversation/mock/types.d.cts +442 -0
  208. package/services/conversation/mock/types.d.ts +442 -0
  209. package/services/conversation/mock/types.js +1 -0
  210. package/services/faqs/faqs.service.cjs +1 -1
  211. package/services/faqs/faqs.service.d.cts +1 -1
  212. package/services/faqs/faqs.service.d.ts +1 -1
  213. package/services/faqs/faqs.service.js +1 -1
  214. package/services/faqs/faqs.types.cjs +1 -1
  215. package/services/faqs/faqs.types.d.cts +1 -1
  216. package/services/faqs/faqs.types.d.ts +1 -1
  217. package/services/faqs/faqs.types.js +1 -1
  218. package/services/faqs/index.cjs +1 -1
  219. package/services/faqs/index.d.cts +1 -1
  220. package/services/faqs/index.d.ts +1 -1
  221. package/services/faqs/index.js +1 -1
  222. package/services/file/file.service.cjs +1 -1
  223. package/services/file/file.service.d.cts +1 -1
  224. package/services/file/file.service.d.ts +1 -1
  225. package/services/file/file.service.js +1 -1
  226. package/services/file/file.types.cjs +1 -1
  227. package/services/file/file.types.d.cts +1 -1
  228. package/services/file/file.types.d.ts +1 -1
  229. package/services/file/file.types.js +1 -1
  230. package/services/file/index.cjs +1 -1
  231. package/services/file/index.d.cts +1 -1
  232. package/services/file/index.d.ts +1 -1
  233. package/services/file/index.js +1 -1
  234. package/services/firebase/firebase-api.cjs +1 -1
  235. package/services/firebase/firebase-api.d.cts +1 -1
  236. package/services/firebase/firebase-api.d.ts +1 -1
  237. package/services/firebase/firebase-api.js +1 -1
  238. package/services/multimedia/config.example.cjs +1 -1
  239. package/services/multimedia/config.example.d.cts +1 -1
  240. package/services/multimedia/config.example.d.ts +1 -1
  241. package/services/multimedia/config.example.js +1 -1
  242. package/services/multimedia/index.cjs +1 -1
  243. package/services/multimedia/index.d.cts +1 -1
  244. package/services/multimedia/index.d.ts +1 -1
  245. package/services/multimedia/index.js +1 -1
  246. package/services/multimedia/multimedia.service.cjs +1 -1
  247. package/services/multimedia/multimedia.service.d.cts +1 -1
  248. package/services/multimedia/multimedia.service.d.ts +1 -1
  249. package/services/multimedia/multimedia.service.js +1 -1
  250. package/services/multimedia/multimedia.types.cjs +1 -1
  251. package/services/multimedia/multimedia.types.d.cts +1 -1
  252. package/services/multimedia/multimedia.types.d.ts +1 -1
  253. package/services/multimedia/multimedia.types.js +1 -1
  254. package/services/product/index.cjs +1 -1
  255. package/services/product/index.d.cts +1 -1
  256. package/services/product/index.d.ts +1 -1
  257. package/services/product/index.js +1 -1
  258. package/services/product/product.service.cjs +1 -1
  259. package/services/product/product.service.d.cts +1 -1
  260. package/services/product/product.service.d.ts +1 -1
  261. package/services/product/product.service.js +1 -1
  262. package/services/product/product.types.cjs +1 -1
  263. package/services/product/product.types.d.cts +1 -1
  264. package/services/product/product.types.d.ts +1 -1
  265. package/services/product/product.types.js +1 -1
  266. package/services/request.provider.cjs +1 -1
  267. package/services/request.provider.d.cts +1 -1
  268. package/services/request.provider.d.ts +1 -1
  269. package/services/request.provider.js +1 -1
  270. package/services/session.service.cjs +2 -2
  271. package/services/session.service.d.cts +1 -1
  272. package/services/session.service.d.ts +1 -1
  273. package/services/session.service.js +2 -2
  274. package/services/upload/index.cjs +1 -1
  275. package/services/upload/index.d.cts +1 -1
  276. package/services/upload/index.d.ts +1 -1
  277. package/services/upload/index.js +1 -1
  278. package/services/upload/upload.service.cjs +1 -1
  279. package/services/upload/upload.service.d.cts +1 -1
  280. package/services/upload/upload.service.d.ts +1 -1
  281. package/services/upload/upload.service.js +1 -1
  282. package/themes/custom/audi-dark.theme.cjs +920 -0
  283. package/themes/custom/audi-dark.theme.d.cts +3 -0
  284. package/themes/custom/audi-dark.theme.d.ts +3 -0
  285. package/themes/custom/audi-dark.theme.js +920 -0
  286. package/themes/custom/audi.theme.cjs +777 -0
  287. package/themes/custom/audi.theme.d.cts +3 -0
  288. package/themes/custom/audi.theme.d.ts +3 -0
  289. package/themes/custom/audi.theme.js +777 -0
  290. package/themes/custom/australia.theme.cjs +386 -0
  291. package/themes/custom/australia.theme.d.cts +3 -0
  292. package/themes/custom/australia.theme.d.ts +3 -0
  293. package/themes/custom/australia.theme.js +386 -0
  294. package/themes/custom/cuernavaca.theme.cjs +196 -0
  295. package/themes/custom/cuernavaca.theme.d.cts +3 -0
  296. package/themes/custom/cuernavaca.theme.d.ts +3 -0
  297. package/themes/custom/cuernavaca.theme.js +196 -0
  298. package/themes/custom/cupra-diagonal.theme.cjs +1029 -0
  299. package/themes/custom/cupra-diagonal.theme.d.cts +3 -0
  300. package/themes/custom/cupra-diagonal.theme.d.ts +3 -0
  301. package/themes/custom/cupra-diagonal.theme.js +1029 -0
  302. package/themes/custom/cupra-events.theme.cjs +555 -0
  303. package/themes/custom/cupra-events.theme.d.cts +3 -0
  304. package/themes/custom/cupra-events.theme.d.ts +3 -0
  305. package/themes/custom/cupra-events.theme.js +555 -0
  306. package/themes/custom/cupra.theme.cjs +147 -0
  307. package/themes/custom/cupra.theme.d.cts +3 -0
  308. package/themes/custom/cupra.theme.d.ts +3 -0
  309. package/themes/custom/cupra.theme.js +147 -0
  310. package/themes/custom/germany.theme.cjs +716 -0
  311. package/themes/custom/germany.theme.d.cts +3 -0
  312. package/themes/custom/germany.theme.d.ts +3 -0
  313. package/themes/custom/germany.theme.js +716 -0
  314. package/themes/custom/hyundai.theme.cjs +294 -0
  315. package/themes/custom/hyundai.theme.d.cts +3 -0
  316. package/themes/custom/hyundai.theme.d.ts +3 -0
  317. package/themes/custom/hyundai.theme.js +294 -0
  318. package/themes/custom/italy.theme.cjs +850 -0
  319. package/themes/custom/italy.theme.d.cts +3 -0
  320. package/themes/custom/italy.theme.d.ts +3 -0
  321. package/themes/custom/italy.theme.js +850 -0
  322. package/themes/custom/magimix.theme.cjs +119 -0
  323. package/themes/custom/magimix.theme.d.cts +3 -0
  324. package/themes/custom/magimix.theme.d.ts +3 -0
  325. package/themes/custom/magimix.theme.js +119 -0
  326. package/themes/custom/onlive-ai.theme.cjs +74 -0
  327. package/themes/custom/onlive-ai.theme.d.cts +3 -0
  328. package/themes/custom/onlive-ai.theme.d.ts +3 -0
  329. package/themes/custom/onlive-ai.theme.js +74 -0
  330. package/themes/custom/onlive.theme.cjs +33 -0
  331. package/themes/custom/onlive.theme.d.cts +3 -0
  332. package/themes/custom/onlive.theme.d.ts +3 -0
  333. package/themes/custom/onlive.theme.js +33 -0
  334. package/themes/custom/seat-cupra.theme.cjs +478 -0
  335. package/themes/custom/seat-cupra.theme.d.cts +3 -0
  336. package/themes/custom/seat-cupra.theme.d.ts +3 -0
  337. package/themes/custom/seat-cupra.theme.js +478 -0
  338. package/themes/dark.cjs +13 -2
  339. package/themes/dark.d.cts +1 -1
  340. package/themes/dark.d.ts +1 -1
  341. package/themes/dark.js +12 -1
  342. package/themes/light.cjs +13 -2
  343. package/themes/light.d.cts +1 -1
  344. package/themes/light.d.ts +1 -1
  345. package/themes/light.js +12 -1
  346. package/types/globals.cjs +1 -1
  347. package/types/globals.d.cts +1 -1
  348. package/types/globals.d.ts +1 -1
  349. package/types/globals.js +1 -1
  350. package/types/tracking-options.cjs +1 -1
  351. package/types/tracking-options.d.cts +1 -1
  352. package/types/tracking-options.d.ts +1 -1
  353. package/types/tracking-options.js +1 -1
  354. package/utils/adopt-styles.cjs +1 -1
  355. package/utils/adopt-styles.d.cts +1 -1
  356. package/utils/adopt-styles.d.ts +1 -1
  357. package/utils/adopt-styles.js +1 -1
  358. package/utils/apply-optional-styles.cjs +6548 -0
  359. package/utils/apply-optional-styles.d.cts +47 -0
  360. package/utils/apply-optional-styles.d.ts +47 -0
  361. package/utils/apply-optional-styles.js +6548 -0
  362. package/utils/browser-preferences.cjs +1 -1
  363. package/utils/browser-preferences.d.cts +1 -1
  364. package/utils/browser-preferences.d.ts +1 -1
  365. package/utils/browser-preferences.js +1 -1
  366. package/utils/classify-media.cjs +1 -1
  367. package/utils/classify-media.d.cts +1 -1
  368. package/utils/classify-media.d.ts +1 -1
  369. package/utils/classify-media.js +1 -1
  370. package/utils/decorators.cjs +1 -1
  371. package/utils/decorators.d.cts +1 -1
  372. package/utils/decorators.d.ts +1 -1
  373. package/utils/decorators.js +1 -1
  374. package/utils/detected-lang.cjs +1 -1
  375. package/utils/detected-lang.d.cts +1 -1
  376. package/utils/detected-lang.d.ts +1 -1
  377. package/utils/detected-lang.js +1 -1
  378. package/utils/fullscreen.cjs +1 -1
  379. package/utils/fullscreen.d.cts +1 -1
  380. package/utils/fullscreen.d.ts +1 -1
  381. package/utils/fullscreen.js +1 -1
  382. package/utils/insert-script.cjs +1 -1
  383. package/utils/insert-script.d.cts +1 -1
  384. package/utils/insert-script.d.ts +1 -1
  385. package/utils/insert-script.js +1 -1
  386. package/utils/is-map-compatible.cjs +1 -1
  387. package/utils/is-map-compatible.d.cts +1 -1
  388. package/utils/is-map-compatible.d.ts +1 -1
  389. package/utils/is-map-compatible.js +1 -1
  390. package/utils/markdown.cjs +1 -1
  391. package/utils/markdown.d.cts +1 -1
  392. package/utils/markdown.d.ts +1 -1
  393. package/utils/markdown.js +1 -1
  394. package/utils/merge.cjs +1 -1
  395. package/utils/merge.d.cts +1 -1
  396. package/utils/merge.d.ts +1 -1
  397. package/utils/merge.js +1 -1
  398. package/utils/multiband-track-volume.cjs +1 -1
  399. package/utils/multiband-track-volume.d.cts +1 -1
  400. package/utils/multiband-track-volume.d.ts +1 -1
  401. package/utils/multiband-track-volume.js +1 -1
  402. package/utils/onlive-url-params.cjs +1 -1
  403. package/utils/onlive-url-params.d.cts +1 -1
  404. package/utils/onlive-url-params.d.ts +1 -1
  405. package/utils/onlive-url-params.js +1 -1
  406. package/utils/pretty-distance.cjs +1 -1
  407. package/utils/pretty-distance.d.cts +1 -1
  408. package/utils/pretty-distance.d.ts +1 -1
  409. package/utils/pretty-distance.js +1 -1
  410. package/utils/pretty-time.cjs +1 -1
  411. package/utils/pretty-time.d.cts +1 -1
  412. package/utils/pretty-time.d.ts +1 -1
  413. package/utils/pretty-time.js +1 -1
  414. package/utils/random-string.cjs +1 -1
  415. package/utils/random-string.d.cts +1 -1
  416. package/utils/random-string.d.ts +1 -1
  417. package/utils/random-string.js +1 -1
  418. package/utils/resource-type.cjs +1 -1
  419. package/utils/resource-type.d.cts +1 -1
  420. package/utils/resource-type.d.ts +1 -1
  421. package/utils/resource-type.js +1 -1
  422. package/utils/round-number.cjs +1 -1
  423. package/utils/round-number.d.cts +1 -1
  424. package/utils/round-number.d.ts +1 -1
  425. package/utils/round-number.js +1 -1
  426. package/utils/safe-html.cjs +2 -2
  427. package/utils/safe-html.d.cts +9 -2
  428. package/utils/safe-html.d.ts +9 -2
  429. package/utils/safe-html.js +2 -2
  430. package/utils/sanitize.cjs +1 -1
  431. package/utils/sanitize.d.cts +1 -1
  432. package/utils/sanitize.d.ts +1 -1
  433. package/utils/sanitize.js +1 -1
  434. package/utils/spread.cjs +1 -1
  435. package/utils/spread.d.cts +1 -1
  436. package/utils/spread.d.ts +1 -1
  437. package/utils/spread.js +1 -1
  438. package/utils/watch.cjs +1 -1
  439. package/utils/watch.d.cts +1 -1
  440. package/utils/watch.d.ts +1 -1
  441. package/utils/watch.js +1 -1
  442. package/react/components/asset/Asset.d.cts +0 -33
  443. package/react/components/asset/Asset.d.ts +0 -33
  444. package/react/components/side-bar/SideBar.d.cts +0 -37
  445. package/react/components/side-bar/SideBar.d.ts +0 -37
  446. package/react/components/upload/Upload.d.cts +0 -23
  447. package/react/components/upload/Upload.d.ts +0 -23
@@ -0,0 +1,2 @@
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
+ var K=Object.defineProperty;var G=(s,t)=>()=>(s&&(t=s(s=0)),t);var W=(s,t)=>{for(var e in t)K(s,e,{get:t[e],enumerable:!0})};var S={};W(S,{SYNTHETIC_MEDIA_PRESETS:()=>j,createSyntheticAudioTrack:()=>L,createSyntheticMedia:()=>V,createSyntheticMediaFromPreset:()=>q,createSyntheticVideoTrack:()=>D});function D(s={}){let{width:t=640,height:e=480,fps:i=30,backgroundColor:n="#1a1a2e",foregroundColor:a="#4361ee",label:c="Mock Video",animation:d="wave"}=s,o=document.createElement("canvas");o.width=t,o.height=e;let r=o.getContext("2d"),u,M=Date.now(),x={wave:p=>{r.fillStyle=n,r.fillRect(0,0,t,e),r.strokeStyle=a,r.lineWidth=3,r.beginPath();for(let l=0;l<t;l++){let m=e/2+Math.sin(l/t*4*Math.PI+p*.002)*(e/4);l===0?r.moveTo(l,m):r.lineTo(l,m)}r.stroke()},pulse:p=>{r.fillStyle=n,r.fillRect(0,0,t,e);let l=Math.sin(p*.003)*.3+.7,m=Math.min(t,e)*.3*l;r.beginPath(),r.arc(t/2,e/2,m,0,Math.PI*2),r.fillStyle=a,r.fill()},bars:p=>{r.fillStyle=n,r.fillRect(0,0,t,e);let l=20,m=t/l,b=e*.7;r.fillStyle=a;for(let T=0;T<l;T++){let H=Math.abs(Math.sin(T/l*Math.PI*2+p*.004))*b,O=T*m,N=e-H;r.fillRect(O+2,N,m-4,H)}},avatar:p=>{r.fillStyle=n,r.fillRect(0,0,t,e);let l=t/2,m=e/2-20,b=Math.min(t,e)*.15;r.beginPath(),r.arc(l,m,b,0,Math.PI*2),r.fillStyle=a,r.fill(),r.beginPath(),r.ellipse(l,m+b*2.2,b*1.5,b,0,Math.PI,0),r.fill(),Math.sin(p*.01)>0&&(r.beginPath(),r.arc(l,m+b*3,5+Math.sin(p*.02)*3,0,Math.PI*2),r.fillStyle="#22c55e",r.fill())},none:()=>{r.fillStyle=n,r.fillRect(0,0,t,e)}},_=()=>{r.fillStyle="rgba(255, 255, 255, 0.8)",r.font=`${Math.floor(e*.04)}px system-ui, sans-serif`,r.textAlign="center",r.fillText(c,t/2,e-20)},P=()=>{let p=Date.now()-M;x[d](p),_(),u=requestAnimationFrame(P)};P();let I=o.captureStream(i),R=I.getVideoTracks()[0];return{track:R,stream:I,cleanup:()=>{cancelAnimationFrame(u),R.stop()}}}function L(s={}){let{frequency:t=440,volume:e=.1,waveType:i="sine",addVariation:n=!0,enabled:a=!1}=s,c=new AudioContext,d=c.createMediaStreamDestination(),o=c.createOscillator();o.type=i,o.frequency.value=t;let r=c.createGain();r.gain.value=a?e:0;let u=null,M=null;n&&(u=c.createOscillator(),u.frequency.value=.5,M=c.createGain(),M.gain.value=10,u.connect(M),M.connect(o.frequency),u.start()),o.connect(r),r.connect(d),o.start();let x=d.stream,_=x.getAudioTracks()[0];return{track:_,stream:x,setVolume:P=>{r.gain.value=Math.max(0,Math.min(1,P))},setEnabled:P=>{r.gain.value=P?e:0},cleanup:()=>{o.stop(),u?.stop(),c.close(),_.stop()}}}function V(s,t){let e=D(s),i=L(t),n=new MediaStream([e.track,i.track]);return{videoTrack:e.track,audioTrack:i.track,combinedStream:n,setAudioVolume:i.setVolume,setAudioEnabled:i.setEnabled,cleanup:()=>{e.cleanup(),i.cleanup()}}}function q(s){let t=j[s];return V(t.video,t.audio)}var j,v=G(()=>{"use strict";j={localCamera:{video:{width:640,height:480,animation:"avatar",label:"You",foregroundColor:"#4361ee"},audio:{enabled:!1}},agentCamera:{video:{width:640,height:480,animation:"avatar",label:"AI Agent",foregroundColor:"#22c55e",backgroundColor:"#0f172a"},audio:{enabled:!1,frequency:300}},screenShare:{video:{width:1920,height:1080,animation:"bars",label:"Screen Share",backgroundColor:"#0a0a0a",foregroundColor:"#f59e0b"},audio:{enabled:!1}},voiceOnly:{video:{width:320,height:240,animation:"wave",label:"Voice Call"},audio:{enabled:!1,volume:.05}}}});var $=0;function h(s){return $++,`mock_${s}_${$}_${Date.now().toString(36)}`}var g=class{constructor(t,e,i,n){this.muted=!1;this.enabled=!0;this.attachedElements=new Set;this.kind=t,this.source=e,this.sid=h("TR"),this.mediaStreamTrack=i,this.mediaCleanup=n}get mediaTrack(){return this.mediaStreamTrack}attach(t){let e=t||document.createElement(this.kind==="video"?"video":"audio");if(this.mediaStreamTrack){let i=new MediaStream([this.mediaStreamTrack]);e.srcObject=i,e.autoplay=!0,this.kind==="video"&&(e.playsInline=!0,e.muted=!0)}return this.attachedElements.add(e),e}detach(t){if(t)return t.srcObject=null,this.attachedElements.delete(t),[t];let e=Array.from(this.attachedElements);for(let i of e)i.srcObject=null;return this.attachedElements.clear(),e}stop(){this.detach(),this.mediaCleanup&&this.mediaCleanup(),this.mediaStreamTrack&&this.mediaStreamTrack.stop(),this.enabled=!1}setMuted(t){this.muted=t,this.mediaStreamTrack&&(this.mediaStreamTrack.enabled=!t)}setEnabled(t){this.enabled=t,this.mediaStreamTrack&&(this.mediaStreamTrack.enabled=t)}},k=class{constructor(t,e){this.subscribed=!0;this.isEnabled=!0;this.track=t,this.trackSid=t.sid,this.trackName=e||`${t.kind}_${t.source}`,this.source=t.source,this.kind=t.kind}get isMuted(){return this.track?.muted??!1}get isSubscribed(){return this.subscribed&&this.track!==null}setSubscribed(t){this.subscribed=t}setEnabled(t){this.isEnabled=t,this.track&&(this.track.enabled=t)}setMuted(t){this.track&&this.track.setMuted(t)}};var y=class{constructor(t){this.identity="";this.sid="";this.name="";this.attributes={};this.kind="standard";this.trackPublications=new Map;this.audioTrackPublications=new Map;this.videoTrackPublications=new Map;this._cameraEnabled=!1;this._microphoneEnabled=!1;this._screenShareEnabled=!1;this.room=t,this.sid=h("PA"),this.joinedAt=new Date}get isCameraEnabled(){return this._cameraEnabled}get isMicrophoneEnabled(){return this._microphoneEnabled}get isScreenShareEnabled(){return this._screenShareEnabled}getTrackPublications(){return Array.from(this.trackPublications.values())}getTrackPublication(t){let i={camera:"camera",Camera:"camera",microphone:"microphone",Microphone:"microphone",screen_share:"screen_share",ScreenShare:"screen_share",screen_share_audio:"screen_share_audio",ScreenShareAudio:"screen_share_audio"}[t]||t;return this.trackPublications.get(i)}getTrackPublicationBySid(t){for(let e of this.trackPublications.values())if(e.trackSid===t)return e}setAttributes(t){this.attributes={...this.attributes,...t}}async setCameraEnabled(t,e){if(this._cameraEnabled=t,t){let{createSyntheticVideoTrack:n}=await Promise.resolve().then(()=>(v(),S)),{track:a,cleanup:c}=n({animation:"avatar",label:this.name||"Local Camera"}),d=new g("video","camera",a,c),o=new k(d,e?.name);return this.trackPublications.set("camera",o),this.videoTrackPublications.set(d.sid,o),this.room.emit("localTrackPublished",o,this),o}let i=this.trackPublications.get("camera");i&&(i.track?.stop(),this.trackPublications.delete("camera"),this.videoTrackPublications.delete(i.trackSid),this.room.emit("localTrackUnpublished",i,this))}async setMicrophoneEnabled(t,e){if(this._microphoneEnabled=t,t){let{createSyntheticAudioTrack:n}=await Promise.resolve().then(()=>(v(),S)),{track:a,cleanup:c}=n({enabled:!1}),d=new g("audio","microphone",a,c),o=new k(d,e?.name);return this.trackPublications.set("microphone",o),this.audioTrackPublications.set(d.sid,o),this.room.emit("localTrackPublished",o,this),o}let i=this.trackPublications.get("microphone");i&&(i.track?.stop(),this.trackPublications.delete("microphone"),this.audioTrackPublications.delete(i.trackSid),this.room.emit("localTrackUnpublished",i,this))}async setScreenShareEnabled(t,e){if(this._screenShareEnabled=t,t){let{createSyntheticVideoTrack:n}=await Promise.resolve().then(()=>(v(),S)),{track:a,cleanup:c}=n({animation:"bars",label:"Screen Share",width:1920,height:1080}),d=new g("video","screen_share",a,c),o=new k(d,e?.name||"screen");return this.trackPublications.set("screen_share",o),this.videoTrackPublications.set(d.sid,o),this.room.emit("localTrackPublished",o,this),o}let i=this.trackPublications.get("screen_share");i&&(i.track?.stop(),this.trackPublications.delete("screen_share"),this.videoTrackPublications.delete(i.trackSid),this.room.emit("localTrackUnpublished",i,this))}async publishTrack(t,e){let i=new k(t,e?.name),n=e?.source||t.source;return this.trackPublications.set(n,i),t.kind==="audio"?this.audioTrackPublications.set(t.sid,i):t.kind==="video"&&this.videoTrackPublications.set(t.sid,i),this.room.emit("localTrackPublished",i,this),i}async unpublishTrack(t){t.stop();for(let[e,i]of this.trackPublications)if(i.track===t){this.trackPublications.delete(e),t.kind==="audio"?this.audioTrackPublications.delete(t.sid):t.kind==="video"&&this.videoTrackPublications.delete(t.sid),this.room.emit("localTrackUnpublished",i,this);break}}async sendText(t,e){return{id:h("msg")}}async publishData(t,e){}async setMetadata(t){this.attributes.metadata=t}async setName(t){this.name=t}cleanup(){for(let t of this.trackPublications.values())t.track?.stop();this.trackPublications.clear(),this.audioTrackPublications.clear(),this.videoTrackPublications.clear(),this._cameraEnabled=!1,this._microphoneEnabled=!1,this._screenShareEnabled=!1}};var U=(a=>(a[a.STANDARD=0]="STANDARD",a[a.INGRESS=1]="INGRESS",a[a.EGRESS=2]="EGRESS",a[a.SIP=3]="SIP",a[a.AGENT=4]="AGENT",a))(U||{});function B(s){switch(s){case"standard":return 0;case"ingress":return 1;case"egress":return 2;case"sip":return 3;case"agent":return 4;default:return 0}}var f=class{constructor(t,e,i={},n="standard"){this.connectionQuality="excellent";this.isSpeaking=!1;this.audioLevel=0;this.trackPublications=new Map;this.identity=t,this.sid=h("PA"),this.name=e,this.attributes=i,this._kindString=n,this.kind=B(n),this.joinedAt=new Date}get isAgent(){return this.kind===4||this.attributes["lk.agent.name"]!==void 0}get kindString(){return this._kindString}get isCameraEnabled(){let t=this.getTrackPublication("camera");return!!(t?.track&&!t.isMuted)}get isMicrophoneEnabled(){let t=this.getTrackPublication("microphone");return!!(t?.track&&!t.isMuted)}getTrackPublication(t){for(let e of this.trackPublications.values())if(e.source===t)return e}getTrackPublicationBySid(t){return this.trackPublications.get(t)}getTrackPublications(){return Array.from(this.trackPublications.values())}getAudioTracks(){return this.getTrackPublications().filter(t=>t.kind==="audio")}getVideoTracks(){return this.getTrackPublications().filter(t=>t.kind==="video")}addTrackPublication(t){this.trackPublications.set(t.trackSid,t)}removeTrackPublication(t){let e=this.trackPublications.get(t);return e&&(this.trackPublications.delete(t),e.track?.stop()),e}setAttributes(t){this.attributes={...this.attributes,...t}}getAttribute(t){return this.attributes[t]}startSpeaking(t=.5){this.isSpeaking=!0,this.audioLevel=t}stopSpeaking(){this.isSpeaking=!1,this.audioLevel=0}setConnectionQuality(t){this.connectionQuality=t}cleanup(){for(let t of this.trackPublications.values())t.track?.stop();this.trackPublications.clear()}};var A=class{constructor(t){this.remoteParticipants=new Map;this._state="disconnected";this.eventHandlers=new Map;this.textStreamHandlers=new Map;this.rpcHandlers=new Map;this.mockService=t,this.localParticipant=new y(this),this.sid=h("RM")}get state(){return this._state}set state(t){let e=this._state;this._state=t,e!==t&&this.emit("connectionStateChanged",t,e)}get numParticipants(){return this.remoteParticipants.size+1}get isConnected(){return this._state==="connected"}async connect(t,e){this._state="connecting",this.emit("connectionStateChanged","connecting","disconnected"),await this.mockService.simulateLatency(),this._state="connected",this.connectedAt=new Date().toISOString(),this.emit("connectionStateChanged","connected","connecting"),this.emit("connected")}async disconnect(){for(let e of this.remoteParticipants.values())e.cleanup();this.remoteParticipants.clear(),this.localParticipant.cleanup();let t=this._state;this._state="disconnected",this.emit("connectionStateChanged","disconnected",t),this.emit("disconnected"),this.eventHandlers.clear()}async reconnect(){this._state="reconnecting",this.emit("connectionStateChanged","reconnecting","connected"),await this.mockService.simulateLatency(),this._state="connected",this.emit("connectionStateChanged","connected","reconnecting"),this.emit("reconnected")}on(t,e){return this.eventHandlers.has(t)||this.eventHandlers.set(t,new Set),this.eventHandlers.get(t).add(e),this}once(t,e){let i=(...n)=>{this.off(t,i),e(...n)};return this.on(t,i)}off(t,e){return this.eventHandlers.get(t)?.delete(e),this}removeAllListeners(){this.eventHandlers.clear()}emit(t,...e){let i=this.eventHandlers.get(t);if(i)for(let n of i)try{n(...e)}catch(a){console.error(`Error in mock room event handler for ${t}:`,a)}}registerRpcMethod(t,e){this.rpcHandlers.set(t,e)}unregisterRpcMethod(t){this.rpcHandlers.delete(t)}async callRpc(t,e,i,n=1e4){let a=this.rpcHandlers.get(t);if(!a)throw new Error(`RPC method not found: ${t}`);return a({callerIdentity:e,payload:i,responseTimeout:n})}registerTextStreamHandler(t,e){this.textStreamHandlers.set(t,e)}unregisterTextStreamHandler(t){this.textStreamHandlers.delete(t)}simulateTextStream(t,e){let i=this.textStreamHandlers.get(t);i&&i(e,{identity:e.participantIdentity})}getParticipantByIdentity(t){return t===this.localParticipant.identity?new f(this.localParticipant.identity,this.localParticipant.name,this.localParticipant.attributes):this.remoteParticipants.get(t)}getParticipantBySid(t){if(t===this.localParticipant.sid)return new f(this.localParticipant.identity,this.localParticipant.name,this.localParticipant.attributes);for(let e of this.remoteParticipants.values())if(e.sid===t)return e}async simulateParticipantJoin(t,e){let i=new f(t,e?.name,e?.attributes||{},e?.kind||"standard");return this.remoteParticipants.set(t,i),this.emit("participantConnected",i),e?.withCamera&&await this.simulateRemoteTrack(t,"video","camera"),e?.withMicrophone&&await this.simulateRemoteTrack(t,"audio","microphone"),i}simulateParticipantLeave(t){let e=this.remoteParticipants.get(t);if(e){for(let i of e.getTrackPublications())i.track?.stop(),this.emit("trackUnsubscribed",i.track,i,e);this.remoteParticipants.delete(t),this.emit("participantDisconnected",e)}}async simulateRemoteTrack(t,e,i){let n=this.remoteParticipants.get(t);if(!n)return;let a,c;if(e==="video"){let{createSyntheticVideoTrack:r}=await Promise.resolve().then(()=>(v(),S)),u=r({animation:n.isAgent?"avatar":"pulse",label:n.name||t,foregroundColor:n.isAgent?"#22c55e":"#4361ee"});a=u.track,c=u.cleanup}else if(e==="audio"){let{createSyntheticAudioTrack:r}=await Promise.resolve().then(()=>(v(),S)),u=r({enabled:!1});a=u.track,c=u.cleanup}let d=new g(e,i,a,c),o=new k(d);return n.addTrackPublication(o),this.emit("trackSubscribed",d,o,n),this.emit("trackPublished",o,n),d}simulateTrackUnpublished(t,e){let i=this.remoteParticipants.get(t);if(!i)return;let n=i.getTrackPublication(e);n&&(i.removeTrackPublication(n.trackSid),this.emit("trackUnpublished",n,i),this.emit("trackUnsubscribed",n.track,n,i))}async simulateAgentJoin(t,e="AI Agent"){return this.simulateParticipantJoin(t,{name:e,kind:"agent",withCamera:!0,withMicrophone:!0,attributes:{"lk.agent.name":e,"lk.agent.state":"active"}})}simulateAttributeChange(t,e){let i=this.remoteParticipants.get(t);if(i){let n={...i.attributes};i.setAttributes(e),this.emit("participantAttributesChanged",e,n,i)}}simulateTrackMuted(t,e,i){let n=this.remoteParticipants.get(t);if(!n)return;let a=n.getTrackPublication(e);a?.track&&(a.track.setMuted(i),this.emit(i?"trackMuted":"trackUnmuted",a,n))}simulateActiveSpeakersChanged(t){let e=[];for(let i of t){let n=this.remoteParticipants.get(i);n&&(n.startSpeaking(),e.push(n))}this.emit("activeSpeakersChanged",e)}simulateDataReceived(t,e,i,n){let a=this.remoteParticipants.get(e);this.emit("dataReceived",t,a,i,n)}};var w=class{constructor(t,e,i,n,a){this.index=0;this._complete=!1;this.info={id:t,attributes:n,topic:a,timestamp:Date.now()},this.participantIdentity=e,this.topic=a,this.chunks=Array.isArray(i)?i:[i],this.info.totalSize=this.chunks.reduce((c,d)=>c+d.length,0)}get isComplete(){return this._complete}async*[Symbol.asyncIterator](){for(let t of this.chunks)yield t;this._complete=!0}async read(){return this.index>=this.chunks.length?(this._complete=!0,null):this.chunks[this.index++]}async readAll(){let t=this.chunks.slice(this.index).join("");return this.index=this.chunks.length,this._complete=!0,t}cancel(){this._complete=!0}},E=class{constructor(t,e){this.chunks=[];this._closed=!1;this.id=h("stream"),this._topic=t,this._destinationIdentities=e}get isClosed(){return this._closed}get topic(){return this._topic}get destinationIdentities(){return this._destinationIdentities}get content(){return this.chunks.join("")}onWrite(t){this.onWriteCallback=t}async write(t){if(this._closed)throw new Error("Stream is closed");this.chunks.push(t),this.onWriteCallback?.(t)}async close(){this._closed=!0}},C=class{constructor(t,e,i){this._index=0;this.info={id:t,timestamp:Date.now()},this.participantIdentity=e,this.chunks=Array.isArray(i)?i:[i]}get index(){return this._index}async*[Symbol.asyncIterator](){for(let t of this.chunks)yield t}async readAll(){let t=this.chunks.reduce((n,a)=>n+a.length,0),e=new Uint8Array(t),i=0;for(let n of this.chunks)e.set(n,i),i+=n.length;return e}};function Q(s,t,e){return new w(e?.id||h("stream"),s,t,e?.attributes,e?.topic)}export{C as MockByteStreamReader,y as MockLocalParticipant,f as MockParticipant,A as MockRoom,w as MockTextStreamReader,E as MockTextStreamWriter,g as MockTrack,k as MockTrackPublication,U as ParticipantKindValue,Q as createTextStream};
@@ -0,0 +1,2 @@
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
+ "use strict";var _=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var j=Object.getOwnPropertyNames;var N=Object.prototype.hasOwnProperty;var q=(o,e)=>()=>(o&&(e=o(o=0)),e);var A=(o,e)=>{for(var t in e)_(o,t,{get:e[t],enumerable:!0})},U=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of j(e))!N.call(o,r)&&r!==t&&_(o,r,{get:()=>e[r],enumerable:!(i=L(e,r))||i.enumerable});return o};var F=o=>U(_({},"__esModule",{value:!0}),o);var P={};A(P,{SYNTHETIC_MEDIA_PRESETS:()=>D,createSyntheticAudioTrack:()=>R,createSyntheticMedia:()=>V,createSyntheticMediaFromPreset:()=>K,createSyntheticVideoTrack:()=>I});function I(o={}){let{width:e=640,height:t=480,fps:i=30,backgroundColor:r="#1a1a2e",foregroundColor:d="#4361ee",label:c="Mock Video",animation:l="wave"}=o,n=document.createElement("canvas");n.width=e,n.height=t;let a=n.getContext("2d"),h,g=Date.now(),S={wave:m=>{a.fillStyle=r,a.fillRect(0,0,e,t),a.strokeStyle=d,a.lineWidth=3,a.beginPath();for(let s=0;s<e;s++){let u=t/2+Math.sin(s/e*4*Math.PI+m*.002)*(t/4);s===0?a.moveTo(s,u):a.lineTo(s,u)}a.stroke()},pulse:m=>{a.fillStyle=r,a.fillRect(0,0,e,t);let s=Math.sin(m*.003)*.3+.7,u=Math.min(e,t)*.3*s;a.beginPath(),a.arc(e/2,t/2,u,0,Math.PI*2),a.fillStyle=d,a.fill()},bars:m=>{a.fillStyle=r,a.fillRect(0,0,e,t);let s=20,u=e/s,b=t*.7;a.fillStyle=d;for(let T=0;T<s;T++){let C=Math.abs(Math.sin(T/s*Math.PI*2+m*.004))*b,O=T*u,H=t-C;a.fillRect(O+2,H,u-4,C)}},avatar:m=>{a.fillStyle=r,a.fillRect(0,0,e,t);let s=e/2,u=t/2-20,b=Math.min(e,t)*.15;a.beginPath(),a.arc(s,u,b,0,Math.PI*2),a.fillStyle=d,a.fill(),a.beginPath(),a.ellipse(s,u+b*2.2,b*1.5,b,0,Math.PI,0),a.fill(),Math.sin(m*.01)>0&&(a.beginPath(),a.arc(s,u+b*3,5+Math.sin(m*.02)*3,0,Math.PI*2),a.fillStyle="#22c55e",a.fill())},none:()=>{a.fillStyle=r,a.fillRect(0,0,e,t)}},v=()=>{a.fillStyle="rgba(255, 255, 255, 0.8)",a.font=`${Math.floor(t*.04)}px system-ui, sans-serif`,a.textAlign="center",a.fillText(c,e/2,t-20)},p=()=>{let m=Date.now()-g;S[l](m),v(),h=requestAnimationFrame(p)};p();let w=n.captureStream(i),x=w.getVideoTracks()[0];return{track:x,stream:w,cleanup:()=>{cancelAnimationFrame(h),x.stop()}}}function R(o={}){let{frequency:e=440,volume:t=.1,waveType:i="sine",addVariation:r=!0,enabled:d=!1}=o,c=new AudioContext,l=c.createMediaStreamDestination(),n=c.createOscillator();n.type=i,n.frequency.value=e;let a=c.createGain();a.gain.value=d?t:0;let h=null,g=null;r&&(h=c.createOscillator(),h.frequency.value=.5,g=c.createGain(),g.gain.value=10,h.connect(g),g.connect(n.frequency),h.start()),n.connect(a),a.connect(l),n.start();let S=l.stream,v=S.getAudioTracks()[0];return{track:v,stream:S,setVolume:p=>{a.gain.value=Math.max(0,Math.min(1,p))},setEnabled:p=>{a.gain.value=p?t:0},cleanup:()=>{n.stop(),h?.stop(),c.close(),v.stop()}}}function V(o,e){let t=I(o),i=R(e),r=new MediaStream([t.track,i.track]);return{videoTrack:t.track,audioTrack:i.track,combinedStream:r,setAudioVolume:i.setVolume,setAudioEnabled:i.setEnabled,cleanup:()=>{t.cleanup(),i.cleanup()}}}function K(o){let e=D[o];return V(e.video,e.audio)}var D,y=q(()=>{"use strict";D={localCamera:{video:{width:640,height:480,animation:"avatar",label:"You",foregroundColor:"#4361ee"},audio:{enabled:!1}},agentCamera:{video:{width:640,height:480,animation:"avatar",label:"AI Agent",foregroundColor:"#22c55e",backgroundColor:"#0f172a"},audio:{enabled:!1,frequency:300}},screenShare:{video:{width:1920,height:1080,animation:"bars",label:"Screen Share",backgroundColor:"#0a0a0a",foregroundColor:"#f59e0b"},audio:{enabled:!1}},voiceOnly:{video:{width:320,height:240,animation:"wave",label:"Voice Call"},audio:{enabled:!1,volume:.05}}}});var B={};A(B,{MockLocalParticipant:()=>E});module.exports=F(B);var $=0;function M(o){return $++,`mock_${o}_${$}_${Date.now().toString(36)}`}var f=class{constructor(e,t,i,r){this.muted=!1;this.enabled=!0;this.attachedElements=new Set;this.kind=e,this.source=t,this.sid=M("TR"),this.mediaStreamTrack=i,this.mediaCleanup=r}get mediaTrack(){return this.mediaStreamTrack}attach(e){let t=e||document.createElement(this.kind==="video"?"video":"audio");if(this.mediaStreamTrack){let i=new MediaStream([this.mediaStreamTrack]);t.srcObject=i,t.autoplay=!0,this.kind==="video"&&(t.playsInline=!0,t.muted=!0)}return this.attachedElements.add(t),t}detach(e){if(e)return e.srcObject=null,this.attachedElements.delete(e),[e];let t=Array.from(this.attachedElements);for(let i of t)i.srcObject=null;return this.attachedElements.clear(),t}stop(){this.detach(),this.mediaCleanup&&this.mediaCleanup(),this.mediaStreamTrack&&this.mediaStreamTrack.stop(),this.enabled=!1}setMuted(e){this.muted=e,this.mediaStreamTrack&&(this.mediaStreamTrack.enabled=!e)}setEnabled(e){this.enabled=e,this.mediaStreamTrack&&(this.mediaStreamTrack.enabled=e)}},k=class{constructor(e,t){this.subscribed=!0;this.isEnabled=!0;this.track=e,this.trackSid=e.sid,this.trackName=t||`${e.kind}_${e.source}`,this.source=e.source,this.kind=e.kind}get isMuted(){return this.track?.muted??!1}get isSubscribed(){return this.subscribed&&this.track!==null}setSubscribed(e){this.subscribed=e}setEnabled(e){this.isEnabled=e,this.track&&(this.track.enabled=e)}setMuted(e){this.track&&this.track.setMuted(e)}};var E=class{constructor(e){this.identity="";this.sid="";this.name="";this.attributes={};this.kind="standard";this.trackPublications=new Map;this.audioTrackPublications=new Map;this.videoTrackPublications=new Map;this._cameraEnabled=!1;this._microphoneEnabled=!1;this._screenShareEnabled=!1;this.room=e,this.sid=M("PA"),this.joinedAt=new Date}get isCameraEnabled(){return this._cameraEnabled}get isMicrophoneEnabled(){return this._microphoneEnabled}get isScreenShareEnabled(){return this._screenShareEnabled}getTrackPublications(){return Array.from(this.trackPublications.values())}getTrackPublication(e){let i={camera:"camera",Camera:"camera",microphone:"microphone",Microphone:"microphone",screen_share:"screen_share",ScreenShare:"screen_share",screen_share_audio:"screen_share_audio",ScreenShareAudio:"screen_share_audio"}[e]||e;return this.trackPublications.get(i)}getTrackPublicationBySid(e){for(let t of this.trackPublications.values())if(t.trackSid===e)return t}setAttributes(e){this.attributes={...this.attributes,...e}}async setCameraEnabled(e,t){if(this._cameraEnabled=e,e){let{createSyntheticVideoTrack:r}=await Promise.resolve().then(()=>(y(),P)),{track:d,cleanup:c}=r({animation:"avatar",label:this.name||"Local Camera"}),l=new f("video","camera",d,c),n=new k(l,t?.name);return this.trackPublications.set("camera",n),this.videoTrackPublications.set(l.sid,n),this.room.emit("localTrackPublished",n,this),n}let i=this.trackPublications.get("camera");i&&(i.track?.stop(),this.trackPublications.delete("camera"),this.videoTrackPublications.delete(i.trackSid),this.room.emit("localTrackUnpublished",i,this))}async setMicrophoneEnabled(e,t){if(this._microphoneEnabled=e,e){let{createSyntheticAudioTrack:r}=await Promise.resolve().then(()=>(y(),P)),{track:d,cleanup:c}=r({enabled:!1}),l=new f("audio","microphone",d,c),n=new k(l,t?.name);return this.trackPublications.set("microphone",n),this.audioTrackPublications.set(l.sid,n),this.room.emit("localTrackPublished",n,this),n}let i=this.trackPublications.get("microphone");i&&(i.track?.stop(),this.trackPublications.delete("microphone"),this.audioTrackPublications.delete(i.trackSid),this.room.emit("localTrackUnpublished",i,this))}async setScreenShareEnabled(e,t){if(this._screenShareEnabled=e,e){let{createSyntheticVideoTrack:r}=await Promise.resolve().then(()=>(y(),P)),{track:d,cleanup:c}=r({animation:"bars",label:"Screen Share",width:1920,height:1080}),l=new f("video","screen_share",d,c),n=new k(l,t?.name||"screen");return this.trackPublications.set("screen_share",n),this.videoTrackPublications.set(l.sid,n),this.room.emit("localTrackPublished",n,this),n}let i=this.trackPublications.get("screen_share");i&&(i.track?.stop(),this.trackPublications.delete("screen_share"),this.videoTrackPublications.delete(i.trackSid),this.room.emit("localTrackUnpublished",i,this))}async publishTrack(e,t){let i=new k(e,t?.name),r=t?.source||e.source;return this.trackPublications.set(r,i),e.kind==="audio"?this.audioTrackPublications.set(e.sid,i):e.kind==="video"&&this.videoTrackPublications.set(e.sid,i),this.room.emit("localTrackPublished",i,this),i}async unpublishTrack(e){e.stop();for(let[t,i]of this.trackPublications)if(i.track===e){this.trackPublications.delete(t),e.kind==="audio"?this.audioTrackPublications.delete(e.sid):e.kind==="video"&&this.videoTrackPublications.delete(e.sid),this.room.emit("localTrackUnpublished",i,this);break}}async sendText(e,t){return{id:M("msg")}}async publishData(e,t){}async setMetadata(e){this.attributes.metadata=e}async setName(e){this.name=e}cleanup(){for(let e of this.trackPublications.values())e.track?.stop();this.trackPublications.clear(),this.audioTrackPublications.clear(),this.videoTrackPublications.clear(),this._cameraEnabled=!1,this._microphoneEnabled=!1,this._screenShareEnabled=!1}};0&&(module.exports={MockLocalParticipant});
@@ -0,0 +1,204 @@
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
+ import { MockTrackPublication, MockTrack } from './tracks.cjs';
3
+ import '../types.cjs';
4
+
5
+ /**
6
+ * @file Mock LiveKit LocalParticipant implementation.
7
+ *
8
+ * @description Provides a mock implementation of LiveKit's LocalParticipant class
9
+ * with full track management for camera, microphone, and screen sharing.
10
+ */
11
+
12
+ /**
13
+ * Room interface to avoid circular dependency with MockRoom.
14
+ */
15
+ interface RoomLike {
16
+ /** Emit an event on the room */
17
+ emit: (event: string, ...args: unknown[]) => void;
18
+ }
19
+ /**
20
+ * Options for publishing a track.
21
+ */
22
+ interface MockPublishOptions {
23
+ /** Track name */
24
+ name?: string;
25
+ /** Video encoding settings */
26
+ videoEncoding?: {
27
+ maxBitrate?: number;
28
+ maxFramerate?: number;
29
+ };
30
+ /** Audio encoding settings */
31
+ audioEncoding?: {
32
+ maxBitrate?: number;
33
+ };
34
+ /** Whether to simulcast video */
35
+ simulcast?: boolean;
36
+ /** Track source override */
37
+ source?: string;
38
+ }
39
+ /**
40
+ * Mock local participant with full track management support.
41
+ *
42
+ * @description Represents the local user in a LiveKit room. Handles publishing
43
+ * and unpublishing of local media tracks (camera, microphone, screen share).
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * const localParticipant = room.localParticipant;
48
+ * await localParticipant.setCameraEnabled(true);
49
+ * await localParticipant.setMicrophoneEnabled(true);
50
+ * console.log(localParticipant.isCameraEnabled); // true
51
+ * ```
52
+ */
53
+ declare class MockLocalParticipant {
54
+ /** Participant identity */
55
+ identity: string;
56
+ /** Server-assigned SID */
57
+ sid: string;
58
+ /** Display name */
59
+ name: string;
60
+ /** Custom attributes */
61
+ attributes: Record<string, string>;
62
+ /** Participant kind */
63
+ kind: string;
64
+ /** When the participant joined */
65
+ joinedAt?: Date;
66
+ /** Track publications by source */
67
+ private trackPublications;
68
+ /** Audio track publications by SID */
69
+ audioTrackPublications: Map<string, MockTrackPublication>;
70
+ /** Video track publications by SID */
71
+ videoTrackPublications: Map<string, MockTrackPublication>;
72
+ /** Camera enabled state */
73
+ private _cameraEnabled;
74
+ /** Microphone enabled state */
75
+ private _microphoneEnabled;
76
+ /** Screen share enabled state */
77
+ private _screenShareEnabled;
78
+ /** Reference to the parent room */
79
+ private room;
80
+ /**
81
+ * Creates a new MockLocalParticipant.
82
+ *
83
+ * @param room - The parent room instance.
84
+ */
85
+ constructor(room: RoomLike);
86
+ /**
87
+ * Gets whether camera is enabled.
88
+ */
89
+ get isCameraEnabled(): boolean;
90
+ /**
91
+ * Gets whether microphone is enabled.
92
+ */
93
+ get isMicrophoneEnabled(): boolean;
94
+ /**
95
+ * Gets whether screen share is enabled.
96
+ */
97
+ get isScreenShareEnabled(): boolean;
98
+ /**
99
+ * Gets all track publications.
100
+ *
101
+ * @returns Array of all track publications.
102
+ */
103
+ getTrackPublications(): MockTrackPublication[];
104
+ /**
105
+ * Gets a track publication by source.
106
+ *
107
+ * @param source - Track source (camera, microphone, screen_share).
108
+ * @returns The track publication or undefined.
109
+ */
110
+ getTrackPublication(source: string): MockTrackPublication | undefined;
111
+ /**
112
+ * Gets a track publication by SID.
113
+ *
114
+ * @param trackSid - Track SID.
115
+ * @returns The track publication or undefined.
116
+ */
117
+ getTrackPublicationBySid(trackSid: string): MockTrackPublication | undefined;
118
+ /**
119
+ * Sets participant attributes.
120
+ *
121
+ * @param attributes - Attributes to merge.
122
+ */
123
+ setAttributes(attributes: Record<string, string>): void;
124
+ /**
125
+ * Enables or disables camera.
126
+ *
127
+ * @param enabled - Whether to enable camera.
128
+ * @param options - Optional publish options.
129
+ * @returns The track publication or undefined.
130
+ */
131
+ setCameraEnabled(enabled: boolean, options?: MockPublishOptions): Promise<MockTrackPublication | undefined>;
132
+ /**
133
+ * Enables or disables microphone.
134
+ *
135
+ * @param enabled - Whether to enable microphone.
136
+ * @param options - Optional publish options.
137
+ * @returns The track publication or undefined.
138
+ */
139
+ setMicrophoneEnabled(enabled: boolean, options?: MockPublishOptions): Promise<MockTrackPublication | undefined>;
140
+ /**
141
+ * Enables or disables screen sharing.
142
+ *
143
+ * @param enabled - Whether to enable screen share.
144
+ * @param options - Optional publish options.
145
+ * @returns The track publication or undefined.
146
+ */
147
+ setScreenShareEnabled(enabled: boolean, options?: MockPublishOptions): Promise<MockTrackPublication | undefined>;
148
+ /**
149
+ * Publishes a custom track.
150
+ *
151
+ * @param track - The track to publish.
152
+ * @param options - Publish options.
153
+ * @returns The track publication.
154
+ */
155
+ publishTrack(track: MockTrack, options?: MockPublishOptions): Promise<MockTrackPublication>;
156
+ /**
157
+ * Unpublishes a track.
158
+ *
159
+ * @param track - The track to unpublish.
160
+ */
161
+ unpublishTrack(track: MockTrack): Promise<void>;
162
+ /**
163
+ * Sends text message via data channel.
164
+ *
165
+ * @param message - Message content.
166
+ * @param options - Send options.
167
+ * @returns Object with message ID.
168
+ */
169
+ sendText(_message: string, _options?: {
170
+ topic?: string;
171
+ attributes?: Record<string, string>;
172
+ }): Promise<{
173
+ id: string;
174
+ }>;
175
+ /**
176
+ * Publishes data to the room.
177
+ *
178
+ * @param data - Data to publish.
179
+ * @param options - Publish options.
180
+ */
181
+ publishData(_data: Uint8Array, _options?: {
182
+ reliable?: boolean;
183
+ topic?: string;
184
+ destinationIdentities?: string[];
185
+ }): Promise<void>;
186
+ /**
187
+ * Sets metadata on the participant.
188
+ *
189
+ * @param metadata - Metadata string.
190
+ */
191
+ setMetadata(metadata: string): Promise<void>;
192
+ /**
193
+ * Sets the participant name.
194
+ *
195
+ * @param name - Display name.
196
+ */
197
+ setName(name: string): Promise<void>;
198
+ /**
199
+ * Cleans up all tracks.
200
+ */
201
+ cleanup(): void;
202
+ }
203
+
204
+ export { MockLocalParticipant, type MockPublishOptions };
@@ -0,0 +1,204 @@
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
+ import { MockTrackPublication, MockTrack } from './tracks.js';
3
+ import '../types.js';
4
+
5
+ /**
6
+ * @file Mock LiveKit LocalParticipant implementation.
7
+ *
8
+ * @description Provides a mock implementation of LiveKit's LocalParticipant class
9
+ * with full track management for camera, microphone, and screen sharing.
10
+ */
11
+
12
+ /**
13
+ * Room interface to avoid circular dependency with MockRoom.
14
+ */
15
+ interface RoomLike {
16
+ /** Emit an event on the room */
17
+ emit: (event: string, ...args: unknown[]) => void;
18
+ }
19
+ /**
20
+ * Options for publishing a track.
21
+ */
22
+ interface MockPublishOptions {
23
+ /** Track name */
24
+ name?: string;
25
+ /** Video encoding settings */
26
+ videoEncoding?: {
27
+ maxBitrate?: number;
28
+ maxFramerate?: number;
29
+ };
30
+ /** Audio encoding settings */
31
+ audioEncoding?: {
32
+ maxBitrate?: number;
33
+ };
34
+ /** Whether to simulcast video */
35
+ simulcast?: boolean;
36
+ /** Track source override */
37
+ source?: string;
38
+ }
39
+ /**
40
+ * Mock local participant with full track management support.
41
+ *
42
+ * @description Represents the local user in a LiveKit room. Handles publishing
43
+ * and unpublishing of local media tracks (camera, microphone, screen share).
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * const localParticipant = room.localParticipant;
48
+ * await localParticipant.setCameraEnabled(true);
49
+ * await localParticipant.setMicrophoneEnabled(true);
50
+ * console.log(localParticipant.isCameraEnabled); // true
51
+ * ```
52
+ */
53
+ declare class MockLocalParticipant {
54
+ /** Participant identity */
55
+ identity: string;
56
+ /** Server-assigned SID */
57
+ sid: string;
58
+ /** Display name */
59
+ name: string;
60
+ /** Custom attributes */
61
+ attributes: Record<string, string>;
62
+ /** Participant kind */
63
+ kind: string;
64
+ /** When the participant joined */
65
+ joinedAt?: Date;
66
+ /** Track publications by source */
67
+ private trackPublications;
68
+ /** Audio track publications by SID */
69
+ audioTrackPublications: Map<string, MockTrackPublication>;
70
+ /** Video track publications by SID */
71
+ videoTrackPublications: Map<string, MockTrackPublication>;
72
+ /** Camera enabled state */
73
+ private _cameraEnabled;
74
+ /** Microphone enabled state */
75
+ private _microphoneEnabled;
76
+ /** Screen share enabled state */
77
+ private _screenShareEnabled;
78
+ /** Reference to the parent room */
79
+ private room;
80
+ /**
81
+ * Creates a new MockLocalParticipant.
82
+ *
83
+ * @param room - The parent room instance.
84
+ */
85
+ constructor(room: RoomLike);
86
+ /**
87
+ * Gets whether camera is enabled.
88
+ */
89
+ get isCameraEnabled(): boolean;
90
+ /**
91
+ * Gets whether microphone is enabled.
92
+ */
93
+ get isMicrophoneEnabled(): boolean;
94
+ /**
95
+ * Gets whether screen share is enabled.
96
+ */
97
+ get isScreenShareEnabled(): boolean;
98
+ /**
99
+ * Gets all track publications.
100
+ *
101
+ * @returns Array of all track publications.
102
+ */
103
+ getTrackPublications(): MockTrackPublication[];
104
+ /**
105
+ * Gets a track publication by source.
106
+ *
107
+ * @param source - Track source (camera, microphone, screen_share).
108
+ * @returns The track publication or undefined.
109
+ */
110
+ getTrackPublication(source: string): MockTrackPublication | undefined;
111
+ /**
112
+ * Gets a track publication by SID.
113
+ *
114
+ * @param trackSid - Track SID.
115
+ * @returns The track publication or undefined.
116
+ */
117
+ getTrackPublicationBySid(trackSid: string): MockTrackPublication | undefined;
118
+ /**
119
+ * Sets participant attributes.
120
+ *
121
+ * @param attributes - Attributes to merge.
122
+ */
123
+ setAttributes(attributes: Record<string, string>): void;
124
+ /**
125
+ * Enables or disables camera.
126
+ *
127
+ * @param enabled - Whether to enable camera.
128
+ * @param options - Optional publish options.
129
+ * @returns The track publication or undefined.
130
+ */
131
+ setCameraEnabled(enabled: boolean, options?: MockPublishOptions): Promise<MockTrackPublication | undefined>;
132
+ /**
133
+ * Enables or disables microphone.
134
+ *
135
+ * @param enabled - Whether to enable microphone.
136
+ * @param options - Optional publish options.
137
+ * @returns The track publication or undefined.
138
+ */
139
+ setMicrophoneEnabled(enabled: boolean, options?: MockPublishOptions): Promise<MockTrackPublication | undefined>;
140
+ /**
141
+ * Enables or disables screen sharing.
142
+ *
143
+ * @param enabled - Whether to enable screen share.
144
+ * @param options - Optional publish options.
145
+ * @returns The track publication or undefined.
146
+ */
147
+ setScreenShareEnabled(enabled: boolean, options?: MockPublishOptions): Promise<MockTrackPublication | undefined>;
148
+ /**
149
+ * Publishes a custom track.
150
+ *
151
+ * @param track - The track to publish.
152
+ * @param options - Publish options.
153
+ * @returns The track publication.
154
+ */
155
+ publishTrack(track: MockTrack, options?: MockPublishOptions): Promise<MockTrackPublication>;
156
+ /**
157
+ * Unpublishes a track.
158
+ *
159
+ * @param track - The track to unpublish.
160
+ */
161
+ unpublishTrack(track: MockTrack): Promise<void>;
162
+ /**
163
+ * Sends text message via data channel.
164
+ *
165
+ * @param message - Message content.
166
+ * @param options - Send options.
167
+ * @returns Object with message ID.
168
+ */
169
+ sendText(_message: string, _options?: {
170
+ topic?: string;
171
+ attributes?: Record<string, string>;
172
+ }): Promise<{
173
+ id: string;
174
+ }>;
175
+ /**
176
+ * Publishes data to the room.
177
+ *
178
+ * @param data - Data to publish.
179
+ * @param options - Publish options.
180
+ */
181
+ publishData(_data: Uint8Array, _options?: {
182
+ reliable?: boolean;
183
+ topic?: string;
184
+ destinationIdentities?: string[];
185
+ }): Promise<void>;
186
+ /**
187
+ * Sets metadata on the participant.
188
+ *
189
+ * @param metadata - Metadata string.
190
+ */
191
+ setMetadata(metadata: string): Promise<void>;
192
+ /**
193
+ * Sets the participant name.
194
+ *
195
+ * @param name - Display name.
196
+ */
197
+ setName(name: string): Promise<void>;
198
+ /**
199
+ * Cleans up all tracks.
200
+ */
201
+ cleanup(): void;
202
+ }
203
+
204
+ export { MockLocalParticipant, type MockPublishOptions };
@@ -0,0 +1,2 @@
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
+ var O=Object.defineProperty;var H=(o,e)=>()=>(o&&(e=o(o=0)),e);var L=(o,e)=>{for(var t in e)O(o,t,{get:e[t],enumerable:!0})};var P={};L(P,{SYNTHETIC_MEDIA_PRESETS:()=>I,createSyntheticAudioTrack:()=>A,createSyntheticMedia:()=>$,createSyntheticMediaFromPreset:()=>j,createSyntheticVideoTrack:()=>C});function C(o={}){let{width:e=640,height:t=480,fps:a=30,backgroundColor:r="#1a1a2e",foregroundColor:d="#4361ee",label:c="Mock Video",animation:l="wave"}=o,n=document.createElement("canvas");n.width=e,n.height=t;let i=n.getContext("2d"),h,g=Date.now(),S={wave:m=>{i.fillStyle=r,i.fillRect(0,0,e,t),i.strokeStyle=d,i.lineWidth=3,i.beginPath();for(let s=0;s<e;s++){let u=t/2+Math.sin(s/e*4*Math.PI+m*.002)*(t/4);s===0?i.moveTo(s,u):i.lineTo(s,u)}i.stroke()},pulse:m=>{i.fillStyle=r,i.fillRect(0,0,e,t);let s=Math.sin(m*.003)*.3+.7,u=Math.min(e,t)*.3*s;i.beginPath(),i.arc(e/2,t/2,u,0,Math.PI*2),i.fillStyle=d,i.fill()},bars:m=>{i.fillStyle=r,i.fillRect(0,0,e,t);let s=20,u=e/s,b=t*.7;i.fillStyle=d;for(let T=0;T<s;T++){let w=Math.abs(Math.sin(T/s*Math.PI*2+m*.004))*b,V=T*u,D=t-w;i.fillRect(V+2,D,u-4,w)}},avatar:m=>{i.fillStyle=r,i.fillRect(0,0,e,t);let s=e/2,u=t/2-20,b=Math.min(e,t)*.15;i.beginPath(),i.arc(s,u,b,0,Math.PI*2),i.fillStyle=d,i.fill(),i.beginPath(),i.ellipse(s,u+b*2.2,b*1.5,b,0,Math.PI,0),i.fill(),Math.sin(m*.01)>0&&(i.beginPath(),i.arc(s,u+b*3,5+Math.sin(m*.02)*3,0,Math.PI*2),i.fillStyle="#22c55e",i.fill())},none:()=>{i.fillStyle=r,i.fillRect(0,0,e,t)}},v=()=>{i.fillStyle="rgba(255, 255, 255, 0.8)",i.font=`${Math.floor(t*.04)}px system-ui, sans-serif`,i.textAlign="center",i.fillText(c,e/2,t-20)},p=()=>{let m=Date.now()-g;S[l](m),v(),h=requestAnimationFrame(p)};p();let _=n.captureStream(a),E=_.getVideoTracks()[0];return{track:E,stream:_,cleanup:()=>{cancelAnimationFrame(h),E.stop()}}}function A(o={}){let{frequency:e=440,volume:t=.1,waveType:a="sine",addVariation:r=!0,enabled:d=!1}=o,c=new AudioContext,l=c.createMediaStreamDestination(),n=c.createOscillator();n.type=a,n.frequency.value=e;let i=c.createGain();i.gain.value=d?t:0;let h=null,g=null;r&&(h=c.createOscillator(),h.frequency.value=.5,g=c.createGain(),g.gain.value=10,h.connect(g),g.connect(n.frequency),h.start()),n.connect(i),i.connect(l),n.start();let S=l.stream,v=S.getAudioTracks()[0];return{track:v,stream:S,setVolume:p=>{i.gain.value=Math.max(0,Math.min(1,p))},setEnabled:p=>{i.gain.value=p?t:0},cleanup:()=>{n.stop(),h?.stop(),c.close(),v.stop()}}}function $(o,e){let t=C(o),a=A(e),r=new MediaStream([t.track,a.track]);return{videoTrack:t.track,audioTrack:a.track,combinedStream:r,setAudioVolume:a.setVolume,setAudioEnabled:a.setEnabled,cleanup:()=>{t.cleanup(),a.cleanup()}}}function j(o){let e=I[o];return $(e.video,e.audio)}var I,y=H(()=>{"use strict";I={localCamera:{video:{width:640,height:480,animation:"avatar",label:"You",foregroundColor:"#4361ee"},audio:{enabled:!1}},agentCamera:{video:{width:640,height:480,animation:"avatar",label:"AI Agent",foregroundColor:"#22c55e",backgroundColor:"#0f172a"},audio:{enabled:!1,frequency:300}},screenShare:{video:{width:1920,height:1080,animation:"bars",label:"Screen Share",backgroundColor:"#0a0a0a",foregroundColor:"#f59e0b"},audio:{enabled:!1}},voiceOnly:{video:{width:320,height:240,animation:"wave",label:"Voice Call"},audio:{enabled:!1,volume:.05}}}});var x=0;function M(o){return x++,`mock_${o}_${x}_${Date.now().toString(36)}`}var f=class{constructor(e,t,a,r){this.muted=!1;this.enabled=!0;this.attachedElements=new Set;this.kind=e,this.source=t,this.sid=M("TR"),this.mediaStreamTrack=a,this.mediaCleanup=r}get mediaTrack(){return this.mediaStreamTrack}attach(e){let t=e||document.createElement(this.kind==="video"?"video":"audio");if(this.mediaStreamTrack){let a=new MediaStream([this.mediaStreamTrack]);t.srcObject=a,t.autoplay=!0,this.kind==="video"&&(t.playsInline=!0,t.muted=!0)}return this.attachedElements.add(t),t}detach(e){if(e)return e.srcObject=null,this.attachedElements.delete(e),[e];let t=Array.from(this.attachedElements);for(let a of t)a.srcObject=null;return this.attachedElements.clear(),t}stop(){this.detach(),this.mediaCleanup&&this.mediaCleanup(),this.mediaStreamTrack&&this.mediaStreamTrack.stop(),this.enabled=!1}setMuted(e){this.muted=e,this.mediaStreamTrack&&(this.mediaStreamTrack.enabled=!e)}setEnabled(e){this.enabled=e,this.mediaStreamTrack&&(this.mediaStreamTrack.enabled=e)}},k=class{constructor(e,t){this.subscribed=!0;this.isEnabled=!0;this.track=e,this.trackSid=e.sid,this.trackName=t||`${e.kind}_${e.source}`,this.source=e.source,this.kind=e.kind}get isMuted(){return this.track?.muted??!1}get isSubscribed(){return this.subscribed&&this.track!==null}setSubscribed(e){this.subscribed=e}setEnabled(e){this.isEnabled=e,this.track&&(this.track.enabled=e)}setMuted(e){this.track&&this.track.setMuted(e)}};var R=class{constructor(e){this.identity="";this.sid="";this.name="";this.attributes={};this.kind="standard";this.trackPublications=new Map;this.audioTrackPublications=new Map;this.videoTrackPublications=new Map;this._cameraEnabled=!1;this._microphoneEnabled=!1;this._screenShareEnabled=!1;this.room=e,this.sid=M("PA"),this.joinedAt=new Date}get isCameraEnabled(){return this._cameraEnabled}get isMicrophoneEnabled(){return this._microphoneEnabled}get isScreenShareEnabled(){return this._screenShareEnabled}getTrackPublications(){return Array.from(this.trackPublications.values())}getTrackPublication(e){let a={camera:"camera",Camera:"camera",microphone:"microphone",Microphone:"microphone",screen_share:"screen_share",ScreenShare:"screen_share",screen_share_audio:"screen_share_audio",ScreenShareAudio:"screen_share_audio"}[e]||e;return this.trackPublications.get(a)}getTrackPublicationBySid(e){for(let t of this.trackPublications.values())if(t.trackSid===e)return t}setAttributes(e){this.attributes={...this.attributes,...e}}async setCameraEnabled(e,t){if(this._cameraEnabled=e,e){let{createSyntheticVideoTrack:r}=await Promise.resolve().then(()=>(y(),P)),{track:d,cleanup:c}=r({animation:"avatar",label:this.name||"Local Camera"}),l=new f("video","camera",d,c),n=new k(l,t?.name);return this.trackPublications.set("camera",n),this.videoTrackPublications.set(l.sid,n),this.room.emit("localTrackPublished",n,this),n}let a=this.trackPublications.get("camera");a&&(a.track?.stop(),this.trackPublications.delete("camera"),this.videoTrackPublications.delete(a.trackSid),this.room.emit("localTrackUnpublished",a,this))}async setMicrophoneEnabled(e,t){if(this._microphoneEnabled=e,e){let{createSyntheticAudioTrack:r}=await Promise.resolve().then(()=>(y(),P)),{track:d,cleanup:c}=r({enabled:!1}),l=new f("audio","microphone",d,c),n=new k(l,t?.name);return this.trackPublications.set("microphone",n),this.audioTrackPublications.set(l.sid,n),this.room.emit("localTrackPublished",n,this),n}let a=this.trackPublications.get("microphone");a&&(a.track?.stop(),this.trackPublications.delete("microphone"),this.audioTrackPublications.delete(a.trackSid),this.room.emit("localTrackUnpublished",a,this))}async setScreenShareEnabled(e,t){if(this._screenShareEnabled=e,e){let{createSyntheticVideoTrack:r}=await Promise.resolve().then(()=>(y(),P)),{track:d,cleanup:c}=r({animation:"bars",label:"Screen Share",width:1920,height:1080}),l=new f("video","screen_share",d,c),n=new k(l,t?.name||"screen");return this.trackPublications.set("screen_share",n),this.videoTrackPublications.set(l.sid,n),this.room.emit("localTrackPublished",n,this),n}let a=this.trackPublications.get("screen_share");a&&(a.track?.stop(),this.trackPublications.delete("screen_share"),this.videoTrackPublications.delete(a.trackSid),this.room.emit("localTrackUnpublished",a,this))}async publishTrack(e,t){let a=new k(e,t?.name),r=t?.source||e.source;return this.trackPublications.set(r,a),e.kind==="audio"?this.audioTrackPublications.set(e.sid,a):e.kind==="video"&&this.videoTrackPublications.set(e.sid,a),this.room.emit("localTrackPublished",a,this),a}async unpublishTrack(e){e.stop();for(let[t,a]of this.trackPublications)if(a.track===e){this.trackPublications.delete(t),e.kind==="audio"?this.audioTrackPublications.delete(e.sid):e.kind==="video"&&this.videoTrackPublications.delete(e.sid),this.room.emit("localTrackUnpublished",a,this);break}}async sendText(e,t){return{id:M("msg")}}async publishData(e,t){}async setMetadata(e){this.attributes.metadata=e}async setName(e){this.name=e}cleanup(){for(let e of this.trackPublications.values())e.track?.stop();this.trackPublications.clear(),this.audioTrackPublications.clear(),this.videoTrackPublications.clear(),this._cameraEnabled=!1,this._microphoneEnabled=!1,this._screenShareEnabled=!1}};export{R as MockLocalParticipant};
@@ -0,0 +1,2 @@
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
+ "use strict";var a=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var p=(e,t)=>{for(var n in t)a(e,n,{get:t[n],enumerable:!0})},b=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of l(t))!k.call(e,r)&&r!==n&&a(e,r,{get:()=>t[r],enumerable:!(o=d(t,r))||o.enumerable});return e};var m=e=>b(a({},"__esModule",{value:!0}),e);var f={};p(f,{MockParticipant:()=>s,ParticipantKindValue:()=>g});module.exports=m(f);var c=0;function u(e){return c++,`mock_${e}_${c}_${Date.now().toString(36)}`}var g=(i=>(i[i.STANDARD=0]="STANDARD",i[i.INGRESS=1]="INGRESS",i[i.EGRESS=2]="EGRESS",i[i.SIP=3]="SIP",i[i.AGENT=4]="AGENT",i))(g||{});function h(e){switch(e){case"standard":return 0;case"ingress":return 1;case"egress":return 2;case"sip":return 3;case"agent":return 4;default:return 0}}var s=class{constructor(t,n,o={},r="standard"){this.connectionQuality="excellent";this.isSpeaking=!1;this.audioLevel=0;this.trackPublications=new Map;this.identity=t,this.sid=u("PA"),this.name=n,this.attributes=o,this._kindString=r,this.kind=h(r),this.joinedAt=new Date}get isAgent(){return this.kind===4||this.attributes["lk.agent.name"]!==void 0}get kindString(){return this._kindString}get isCameraEnabled(){let t=this.getTrackPublication("camera");return!!(t?.track&&!t.isMuted)}get isMicrophoneEnabled(){let t=this.getTrackPublication("microphone");return!!(t?.track&&!t.isMuted)}getTrackPublication(t){for(let n of this.trackPublications.values())if(n.source===t)return n}getTrackPublicationBySid(t){return this.trackPublications.get(t)}getTrackPublications(){return Array.from(this.trackPublications.values())}getAudioTracks(){return this.getTrackPublications().filter(t=>t.kind==="audio")}getVideoTracks(){return this.getTrackPublications().filter(t=>t.kind==="video")}addTrackPublication(t){this.trackPublications.set(t.trackSid,t)}removeTrackPublication(t){let n=this.trackPublications.get(t);return n&&(this.trackPublications.delete(t),n.track?.stop()),n}setAttributes(t){this.attributes={...this.attributes,...t}}getAttribute(t){return this.attributes[t]}startSpeaking(t=.5){this.isSpeaking=!0,this.audioLevel=t}stopSpeaking(){this.isSpeaking=!1,this.audioLevel=0}setConnectionQuality(t){this.connectionQuality=t}cleanup(){for(let t of this.trackPublications.values())t.track?.stop();this.trackPublications.clear()}};0&&(module.exports={MockParticipant,ParticipantKindValue});
@@ -0,0 +1,171 @@
1
+ /*! @onlive.ai/common-121 v0.2.184 | © 2026 Onlive.ai */
2
+ import { MockTrackPublication } from './tracks.cjs';
3
+ import '../types.cjs';
4
+
5
+ /**
6
+ * @file Mock LiveKit Participant implementations.
7
+ *
8
+ * @description Provides mock implementations of LiveKit Participant classes
9
+ * for simulating remote participants in a room.
10
+ */
11
+
12
+ /**
13
+ * Participant connection quality.
14
+ */
15
+ type MockConnectionQuality = "excellent" | "good" | "poor" | "lost" | "unknown";
16
+ /**
17
+ * Participant kind string type (for configuration).
18
+ */
19
+ type MockParticipantKind = "standard" | "ingress" | "egress" | "sip" | "agent";
20
+ /**
21
+ * Participant kind enum matching LiveKit's ParticipantKind values.
22
+ * These numeric values must match livekit-protocol's ParticipantInfo_Kind enum.
23
+ */
24
+ declare enum ParticipantKindValue {
25
+ STANDARD = 0,
26
+ INGRESS = 1,
27
+ EGRESS = 2,
28
+ SIP = 3,
29
+ AGENT = 4
30
+ }
31
+ /**
32
+ * Mock participant representing a remote user in the room.
33
+ *
34
+ * @description Simulates a LiveKit RemoteParticipant with track publications
35
+ * and attribute management.
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * const participant = new MockParticipant("user_123", "John Doe");
40
+ * participant.addTrackPublication(videoPublication);
41
+ * console.log(participant.getTrackPublications());
42
+ * ```
43
+ */
44
+ declare class MockParticipant {
45
+ /** Participant identity (unique in room) */
46
+ identity: string;
47
+ /** Server-assigned SID */
48
+ sid: string;
49
+ /** Display name */
50
+ name?: string;
51
+ /** Custom attributes */
52
+ attributes: Record<string, string>;
53
+ /**
54
+ * Participant kind as numeric value.
55
+ * This matches LiveKit's ParticipantKind enum values.
56
+ */
57
+ kind: ParticipantKindValue;
58
+ /** String representation of kind for convenience */
59
+ private _kindString;
60
+ /** Connection quality */
61
+ connectionQuality: MockConnectionQuality;
62
+ /** Whether participant is speaking */
63
+ isSpeaking: boolean;
64
+ /** Audio level (0-1) */
65
+ audioLevel: number;
66
+ /** When the participant joined */
67
+ joinedAt?: Date;
68
+ /** Track publications */
69
+ private trackPublications;
70
+ /**
71
+ * Creates a new MockParticipant.
72
+ *
73
+ * @param identity - Unique participant identity.
74
+ * @param name - Optional display name.
75
+ * @param attributes - Optional custom attributes.
76
+ * @param kind - Participant kind (default: "standard").
77
+ */
78
+ constructor(identity: string, name?: string, attributes?: Record<string, string>, kind?: MockParticipantKind);
79
+ /**
80
+ * Checks if this is an agent participant.
81
+ */
82
+ get isAgent(): boolean;
83
+ /**
84
+ * Gets the string representation of kind.
85
+ */
86
+ get kindString(): MockParticipantKind;
87
+ /**
88
+ * Checks if camera is enabled (has an unmuted camera track).
89
+ */
90
+ get isCameraEnabled(): boolean;
91
+ /**
92
+ * Checks if microphone is enabled (has an unmuted microphone track).
93
+ */
94
+ get isMicrophoneEnabled(): boolean;
95
+ /**
96
+ * Gets a track publication by source.
97
+ *
98
+ * @param source - Track source (camera, microphone, etc.).
99
+ * @returns The track publication or undefined.
100
+ */
101
+ getTrackPublication(source: string): MockTrackPublication | undefined;
102
+ /**
103
+ * Gets a track publication by SID.
104
+ *
105
+ * @param trackSid - Track SID.
106
+ * @returns The track publication or undefined.
107
+ */
108
+ getTrackPublicationBySid(trackSid: string): MockTrackPublication | undefined;
109
+ /**
110
+ * Gets all track publications.
111
+ *
112
+ * @returns Array of all track publications.
113
+ */
114
+ getTrackPublications(): MockTrackPublication[];
115
+ /**
116
+ * Gets only audio track publications.
117
+ */
118
+ getAudioTracks(): MockTrackPublication[];
119
+ /**
120
+ * Gets only video track publications.
121
+ */
122
+ getVideoTracks(): MockTrackPublication[];
123
+ /**
124
+ * Adds a track publication.
125
+ *
126
+ * @param pub - Track publication to add.
127
+ */
128
+ addTrackPublication(pub: MockTrackPublication): void;
129
+ /**
130
+ * Removes a track publication.
131
+ *
132
+ * @param trackSid - Track SID to remove.
133
+ * @returns The removed publication or undefined.
134
+ */
135
+ removeTrackPublication(trackSid: string): MockTrackPublication | undefined;
136
+ /**
137
+ * Updates participant attributes.
138
+ *
139
+ * @param attributes - Attributes to merge.
140
+ */
141
+ setAttributes(attributes: Record<string, string>): void;
142
+ /**
143
+ * Gets a specific attribute.
144
+ *
145
+ * @param key - Attribute key.
146
+ * @returns The attribute value or undefined.
147
+ */
148
+ getAttribute(key: string): string | undefined;
149
+ /**
150
+ * Simulates the participant starting to speak.
151
+ *
152
+ * @param audioLevel - Audio level (0-1).
153
+ */
154
+ startSpeaking(audioLevel?: number): void;
155
+ /**
156
+ * Simulates the participant stopping speaking.
157
+ */
158
+ stopSpeaking(): void;
159
+ /**
160
+ * Sets connection quality.
161
+ *
162
+ * @param quality - Connection quality.
163
+ */
164
+ setConnectionQuality(quality: MockConnectionQuality): void;
165
+ /**
166
+ * Cleans up all tracks.
167
+ */
168
+ cleanup(): void;
169
+ }
170
+
171
+ export { type MockConnectionQuality, MockParticipant, type MockParticipantKind, ParticipantKindValue };