@azure/communication-chat 1.6.0-beta.3 → 1.6.0-beta.4

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 (454) hide show
  1. package/README.md +134 -45
  2. package/dist/browser/chatClient.d.ts +225 -0
  3. package/dist/browser/chatClient.d.ts.map +1 -0
  4. package/{dist-esm/src → dist/browser}/chatClient.js +15 -10
  5. package/dist/browser/chatClient.js.map +1 -0
  6. package/dist/browser/chatThreadClient.d.ts +142 -0
  7. package/dist/browser/chatThreadClient.d.ts.map +1 -0
  8. package/{dist-esm/src → dist/browser}/chatThreadClient.js +12 -9
  9. package/dist/browser/chatThreadClient.js.map +1 -0
  10. package/dist/browser/credential/communicationTokenCredentialPolicy.d.ts +9 -0
  11. package/dist/browser/credential/communicationTokenCredentialPolicy.d.ts.map +1 -0
  12. package/{dist-esm/src → dist/browser}/credential/communicationTokenCredentialPolicy.js +2 -2
  13. package/dist/browser/credential/communicationTokenCredentialPolicy.js.map +1 -0
  14. package/dist/browser/generated/src/chatApiClient.d.ts +18 -0
  15. package/dist/browser/generated/src/chatApiClient.d.ts.map +1 -0
  16. package/{dist-esm/src → dist/browser}/generated/src/chatApiClient.js +2 -2
  17. package/dist/browser/generated/src/chatApiClient.js.map +1 -0
  18. package/dist/browser/generated/src/index.d.ts +4 -0
  19. package/dist/browser/generated/src/index.d.ts.map +1 -0
  20. package/{dist-esm/src → dist/browser}/generated/src/index.js +3 -3
  21. package/dist/browser/generated/src/index.js.map +1 -0
  22. package/dist/browser/generated/src/models/index.d.ts +579 -0
  23. package/dist/browser/generated/src/models/index.d.ts.map +1 -0
  24. package/dist/browser/generated/src/models/mappers.d.ts +44 -0
  25. package/dist/browser/generated/src/models/mappers.d.ts.map +1 -0
  26. package/dist/browser/generated/src/models/parameters.d.ts +29 -0
  27. package/dist/browser/generated/src/models/parameters.d.ts.map +1 -0
  28. package/{dist-esm/src → dist/browser}/generated/src/models/parameters.js +1 -1
  29. package/dist/browser/generated/src/models/parameters.js.map +1 -0
  30. package/dist/browser/generated/src/operations/chat.d.ts +36 -0
  31. package/dist/browser/generated/src/operations/chat.d.ts.map +1 -0
  32. package/{dist-esm/src → dist/browser}/generated/src/operations/chat.js +3 -3
  33. package/dist/browser/generated/src/operations/chat.js.map +1 -0
  34. package/dist/browser/generated/src/operations/chatThread.d.ts +144 -0
  35. package/dist/browser/generated/src/operations/chatThread.d.ts.map +1 -0
  36. package/{dist-esm/src → dist/browser}/generated/src/operations/chatThread.js +3 -3
  37. package/dist/browser/generated/src/operations/chatThread.js.map +1 -0
  38. package/dist/browser/generated/src/operations/index.d.ts +3 -0
  39. package/dist/browser/generated/src/operations/index.d.ts.map +1 -0
  40. package/dist/browser/generated/src/operations/index.js +10 -0
  41. package/dist/browser/generated/src/operations/index.js.map +1 -0
  42. package/dist/browser/generated/src/operationsInterfaces/chat.d.ts +28 -0
  43. package/dist/browser/generated/src/operationsInterfaces/chat.d.ts.map +1 -0
  44. package/dist/browser/generated/src/operationsInterfaces/chat.js.map +1 -0
  45. package/dist/browser/generated/src/operationsInterfaces/chatThread.d.ts +136 -0
  46. package/dist/browser/generated/src/operationsInterfaces/chatThread.d.ts.map +1 -0
  47. package/dist/browser/generated/src/operationsInterfaces/chatThread.js.map +1 -0
  48. package/dist/browser/generated/src/operationsInterfaces/index.d.ts +3 -0
  49. package/dist/browser/generated/src/operationsInterfaces/index.d.ts.map +1 -0
  50. package/dist/browser/generated/src/operationsInterfaces/index.js +10 -0
  51. package/dist/browser/generated/src/operationsInterfaces/index.js.map +1 -0
  52. package/dist/browser/generated/src/tracing.d.ts +2 -0
  53. package/dist/browser/generated/src/tracing.d.ts.map +1 -0
  54. package/{dist-esm/src → dist/browser}/generated/src/tracing.js +1 -1
  55. package/{dist-esm/src → dist/browser}/generated/src/tracing.js.map +1 -1
  56. package/dist/browser/index.d.ts +7 -0
  57. package/dist/browser/index.d.ts.map +1 -0
  58. package/dist/browser/index.js +9 -0
  59. package/dist/browser/index.js.map +1 -0
  60. package/dist/browser/models/events.d.ts +4 -0
  61. package/dist/browser/models/events.d.ts.map +1 -0
  62. package/dist/browser/models/events.js +4 -0
  63. package/dist/browser/models/events.js.map +1 -0
  64. package/dist/browser/models/logger.d.ts +2 -0
  65. package/dist/browser/models/logger.d.ts.map +1 -0
  66. package/{dist-esm/src → dist/browser}/models/logger.js +1 -1
  67. package/{dist-esm/src → dist/browser}/models/logger.js.map +1 -1
  68. package/dist/browser/models/mappers.d.ts +79 -0
  69. package/dist/browser/models/mappers.d.ts.map +1 -0
  70. package/{dist-esm/src → dist/browser}/models/mappers.js +1 -1
  71. package/dist/browser/models/mappers.js.map +1 -0
  72. package/dist/browser/models/models.d.ts +153 -0
  73. package/dist/browser/models/models.d.ts.map +1 -0
  74. package/dist/browser/models/models.js +4 -0
  75. package/dist/browser/models/models.js.map +1 -0
  76. package/dist/browser/models/options.d.ts +135 -0
  77. package/dist/browser/models/options.d.ts.map +1 -0
  78. package/dist/browser/models/options.js.map +1 -0
  79. package/dist/browser/models/requests.d.ts +18 -0
  80. package/dist/browser/models/requests.d.ts.map +1 -0
  81. package/dist/browser/models/requests.js +4 -0
  82. package/dist/browser/models/requests.js.map +1 -0
  83. package/dist/browser/models/uuid.d.ts +8 -0
  84. package/dist/browser/models/uuid.d.ts.map +1 -0
  85. package/{dist-esm/src → dist/browser}/models/uuid.js +3 -3
  86. package/dist/browser/models/uuid.js.map +1 -0
  87. package/dist/browser/package.json +3 -0
  88. package/dist/browser/signaling/signalingClient-browser.d.mts.map +1 -0
  89. package/dist/browser/signaling/signalingClient-browser.mjs.map +1 -0
  90. package/dist/browser/signaling/signalingClient.d.ts +6 -0
  91. package/dist/browser/signaling/signalingClient.js +13 -0
  92. package/dist/browser/signaling/signalingClientOptions.d.ts +6 -0
  93. package/dist/browser/signaling/signalingClientOptions.d.ts.map +1 -0
  94. package/dist/browser/signaling/signalingClientOptions.js +4 -0
  95. package/dist/browser/signaling/signalingClientOptions.js.map +1 -0
  96. package/dist/browser/xhrHttpClient.d.ts +17 -0
  97. package/dist/browser/xhrHttpClient.d.ts.map +1 -0
  98. package/{dist-esm/src → dist/browser}/xhrHttpClient.js +2 -2
  99. package/dist/browser/xhrHttpClient.js.map +1 -0
  100. package/dist/commonjs/chatClient.d.ts +225 -0
  101. package/dist/commonjs/chatClient.d.ts.map +1 -0
  102. package/dist/commonjs/chatClient.js +250 -0
  103. package/dist/commonjs/chatClient.js.map +1 -0
  104. package/dist/commonjs/chatThreadClient.d.ts +142 -0
  105. package/dist/commonjs/chatThreadClient.d.ts.map +1 -0
  106. package/dist/commonjs/chatThreadClient.js +463 -0
  107. package/dist/commonjs/chatThreadClient.js.map +1 -0
  108. package/dist/commonjs/credential/communicationTokenCredentialPolicy.d.ts +9 -0
  109. package/dist/commonjs/credential/communicationTokenCredentialPolicy.d.ts.map +1 -0
  110. package/dist/commonjs/credential/communicationTokenCredentialPolicy.js +22 -0
  111. package/dist/commonjs/credential/communicationTokenCredentialPolicy.js.map +1 -0
  112. package/dist/commonjs/generated/src/chatApiClient.d.ts +18 -0
  113. package/dist/commonjs/generated/src/chatApiClient.d.ts.map +1 -0
  114. package/dist/commonjs/generated/src/chatApiClient.js +75 -0
  115. package/dist/commonjs/generated/src/chatApiClient.js.map +1 -0
  116. package/dist/commonjs/generated/src/index.d.ts +4 -0
  117. package/dist/commonjs/generated/src/index.d.ts.map +1 -0
  118. package/dist/commonjs/generated/src/index.js +16 -0
  119. package/dist/commonjs/generated/src/index.js.map +1 -0
  120. package/dist/commonjs/generated/src/models/index.d.ts +579 -0
  121. package/dist/commonjs/generated/src/models/index.d.ts.map +1 -0
  122. package/dist/commonjs/generated/src/models/index.js +43 -0
  123. package/dist/commonjs/generated/src/models/index.js.map +1 -0
  124. package/dist/commonjs/generated/src/models/mappers.d.ts +44 -0
  125. package/dist/commonjs/generated/src/models/mappers.d.ts.map +1 -0
  126. package/dist/commonjs/generated/src/models/mappers.js +1112 -0
  127. package/dist/commonjs/generated/src/models/mappers.js.map +1 -0
  128. package/dist/commonjs/generated/src/models/parameters.d.ts +29 -0
  129. package/dist/commonjs/generated/src/models/parameters.d.ts.map +1 -0
  130. package/dist/commonjs/generated/src/models/parameters.js +238 -0
  131. package/dist/commonjs/generated/src/models/parameters.js.map +1 -0
  132. package/dist/commonjs/generated/src/operations/chat.d.ts +36 -0
  133. package/dist/commonjs/generated/src/operations/chat.d.ts.map +1 -0
  134. package/dist/commonjs/generated/src/operations/chat.js +191 -0
  135. package/dist/commonjs/generated/src/operations/chat.js.map +1 -0
  136. package/dist/commonjs/generated/src/operations/chatThread.d.ts +144 -0
  137. package/dist/commonjs/generated/src/operations/chatThread.d.ts.map +1 -0
  138. package/dist/commonjs/generated/src/operations/chatThread.js +798 -0
  139. package/dist/commonjs/generated/src/operations/chatThread.js.map +1 -0
  140. package/dist/commonjs/generated/src/operations/index.d.ts +3 -0
  141. package/dist/commonjs/generated/src/operations/index.d.ts.map +1 -0
  142. package/dist/commonjs/generated/src/operations/index.js +13 -0
  143. package/dist/commonjs/generated/src/operations/index.js.map +1 -0
  144. package/dist/commonjs/generated/src/operationsInterfaces/chat.d.ts +28 -0
  145. package/dist/commonjs/generated/src/operationsInterfaces/chat.d.ts.map +1 -0
  146. package/dist/commonjs/generated/src/operationsInterfaces/chat.js +10 -0
  147. package/dist/commonjs/generated/src/operationsInterfaces/chat.js.map +1 -0
  148. package/dist/commonjs/generated/src/operationsInterfaces/chatThread.d.ts +136 -0
  149. package/dist/commonjs/generated/src/operationsInterfaces/chatThread.d.ts.map +1 -0
  150. package/dist/commonjs/generated/src/operationsInterfaces/chatThread.js +10 -0
  151. package/dist/commonjs/generated/src/operationsInterfaces/chatThread.js.map +1 -0
  152. package/dist/commonjs/generated/src/operationsInterfaces/index.d.ts +3 -0
  153. package/dist/commonjs/generated/src/operationsInterfaces/index.d.ts.map +1 -0
  154. package/dist/commonjs/generated/src/operationsInterfaces/index.js +13 -0
  155. package/dist/commonjs/generated/src/operationsInterfaces/index.js.map +1 -0
  156. package/dist/commonjs/generated/src/tracing.d.ts +2 -0
  157. package/dist/commonjs/generated/src/tracing.d.ts.map +1 -0
  158. package/dist/commonjs/generated/src/tracing.js +17 -0
  159. package/dist/commonjs/generated/src/tracing.js.map +1 -0
  160. package/dist/commonjs/index.d.ts +7 -0
  161. package/dist/commonjs/index.d.ts.map +1 -0
  162. package/dist/commonjs/index.js +12 -0
  163. package/dist/commonjs/index.js.map +1 -0
  164. package/dist/commonjs/models/events.d.ts +4 -0
  165. package/dist/commonjs/models/events.d.ts.map +1 -0
  166. package/dist/commonjs/models/events.js +5 -0
  167. package/dist/commonjs/models/events.js.map +1 -0
  168. package/dist/commonjs/models/logger.d.ts +2 -0
  169. package/dist/commonjs/models/logger.d.ts.map +1 -0
  170. package/dist/commonjs/models/logger.js +8 -0
  171. package/dist/commonjs/models/logger.js.map +1 -0
  172. package/dist/commonjs/models/mappers.d.ts +79 -0
  173. package/dist/commonjs/models/mappers.d.ts.map +1 -0
  174. package/dist/commonjs/models/mappers.js +203 -0
  175. package/dist/commonjs/models/mappers.js.map +1 -0
  176. package/dist/commonjs/models/models.d.ts +153 -0
  177. package/dist/commonjs/models/models.d.ts.map +1 -0
  178. package/dist/commonjs/models/models.js +5 -0
  179. package/dist/commonjs/models/models.js.map +1 -0
  180. package/dist/commonjs/models/options.d.ts +135 -0
  181. package/dist/commonjs/models/options.d.ts.map +1 -0
  182. package/dist/commonjs/models/options.js +3 -0
  183. package/dist/commonjs/models/options.js.map +1 -0
  184. package/dist/commonjs/models/requests.d.ts +18 -0
  185. package/dist/commonjs/models/requests.d.ts.map +1 -0
  186. package/dist/commonjs/models/requests.js +5 -0
  187. package/dist/commonjs/models/requests.js.map +1 -0
  188. package/dist/commonjs/models/uuid.d.ts +8 -0
  189. package/dist/commonjs/models/uuid.d.ts.map +1 -0
  190. package/dist/commonjs/models/uuid.js +16 -0
  191. package/dist/commonjs/models/uuid.js.map +1 -0
  192. package/dist/commonjs/package.json +3 -0
  193. package/dist/commonjs/signaling/signalingClient.d.ts +6 -0
  194. package/dist/commonjs/signaling/signalingClient.d.ts.map +1 -0
  195. package/dist/commonjs/signaling/signalingClient.js +11 -0
  196. package/dist/commonjs/signaling/signalingClient.js.map +1 -0
  197. package/dist/commonjs/signaling/signalingClientOptions.d.ts +6 -0
  198. package/dist/commonjs/signaling/signalingClientOptions.d.ts.map +1 -0
  199. package/dist/commonjs/signaling/signalingClientOptions.js +5 -0
  200. package/dist/commonjs/signaling/signalingClientOptions.js.map +1 -0
  201. package/dist/commonjs/tsdoc-metadata.json +11 -0
  202. package/dist/commonjs/xhrHttpClient.d.ts +17 -0
  203. package/dist/commonjs/xhrHttpClient.d.ts.map +1 -0
  204. package/dist/commonjs/xhrHttpClient.js +191 -0
  205. package/dist/commonjs/xhrHttpClient.js.map +1 -0
  206. package/dist/esm/chatClient.d.ts +225 -0
  207. package/dist/esm/chatClient.d.ts.map +1 -0
  208. package/dist/esm/chatClient.js +246 -0
  209. package/dist/esm/chatClient.js.map +1 -0
  210. package/dist/esm/chatThreadClient.d.ts +142 -0
  211. package/dist/esm/chatThreadClient.d.ts.map +1 -0
  212. package/dist/esm/chatThreadClient.js +459 -0
  213. package/dist/esm/chatThreadClient.js.map +1 -0
  214. package/dist/esm/credential/communicationTokenCredentialPolicy.d.ts +9 -0
  215. package/dist/esm/credential/communicationTokenCredentialPolicy.d.ts.map +1 -0
  216. package/dist/esm/credential/communicationTokenCredentialPolicy.js +18 -0
  217. package/dist/esm/credential/communicationTokenCredentialPolicy.js.map +1 -0
  218. package/dist/esm/generated/src/chatApiClient.d.ts +18 -0
  219. package/dist/esm/generated/src/chatApiClient.d.ts.map +1 -0
  220. package/dist/esm/generated/src/chatApiClient.js +70 -0
  221. package/dist/esm/generated/src/chatApiClient.js.map +1 -0
  222. package/dist/esm/generated/src/index.d.ts +4 -0
  223. package/dist/esm/generated/src/index.d.ts.map +1 -0
  224. package/dist/esm/generated/src/index.js +11 -0
  225. package/dist/esm/generated/src/index.js.map +1 -0
  226. package/dist/esm/generated/src/models/index.d.ts +579 -0
  227. package/dist/esm/generated/src/models/index.d.ts.map +1 -0
  228. package/dist/esm/generated/src/models/index.js +40 -0
  229. package/dist/esm/generated/src/models/index.js.map +1 -0
  230. package/dist/esm/generated/src/models/mappers.d.ts +44 -0
  231. package/dist/esm/generated/src/models/mappers.d.ts.map +1 -0
  232. package/dist/esm/generated/src/models/mappers.js +1109 -0
  233. package/dist/esm/generated/src/models/mappers.js.map +1 -0
  234. package/dist/esm/generated/src/models/parameters.d.ts +29 -0
  235. package/dist/esm/generated/src/models/parameters.d.ts.map +1 -0
  236. package/dist/esm/generated/src/models/parameters.js +235 -0
  237. package/dist/esm/generated/src/models/parameters.js.map +1 -0
  238. package/dist/esm/generated/src/operations/chat.d.ts +36 -0
  239. package/dist/esm/generated/src/operations/chat.d.ts.map +1 -0
  240. package/dist/esm/generated/src/operations/chat.js +186 -0
  241. package/dist/esm/generated/src/operations/chat.js.map +1 -0
  242. package/dist/esm/generated/src/operations/chatThread.d.ts +144 -0
  243. package/dist/esm/generated/src/operations/chatThread.d.ts.map +1 -0
  244. package/dist/esm/generated/src/operations/chatThread.js +793 -0
  245. package/dist/esm/generated/src/operations/chatThread.js.map +1 -0
  246. package/dist/esm/generated/src/operations/index.d.ts +3 -0
  247. package/dist/esm/generated/src/operations/index.d.ts.map +1 -0
  248. package/dist/esm/generated/src/operations/index.js +10 -0
  249. package/dist/esm/generated/src/operations/index.js.map +1 -0
  250. package/dist/esm/generated/src/operationsInterfaces/chat.d.ts +28 -0
  251. package/dist/esm/generated/src/operationsInterfaces/chat.d.ts.map +1 -0
  252. package/{dist-esm/src/generated/src/operationsInterfaces/index.js → dist/esm/generated/src/operationsInterfaces/chat.js} +2 -3
  253. package/dist/esm/generated/src/operationsInterfaces/chat.js.map +1 -0
  254. package/dist/esm/generated/src/operationsInterfaces/chatThread.d.ts +136 -0
  255. package/dist/esm/generated/src/operationsInterfaces/chatThread.d.ts.map +1 -0
  256. package/{dist-esm/src/generated/src/operations/index.js → dist/esm/generated/src/operationsInterfaces/chatThread.js} +2 -3
  257. package/dist/esm/generated/src/operationsInterfaces/chatThread.js.map +1 -0
  258. package/dist/esm/generated/src/operationsInterfaces/index.d.ts +3 -0
  259. package/dist/esm/generated/src/operationsInterfaces/index.d.ts.map +1 -0
  260. package/dist/esm/generated/src/operationsInterfaces/index.js +10 -0
  261. package/dist/esm/generated/src/operationsInterfaces/index.js.map +1 -0
  262. package/dist/esm/generated/src/tracing.d.ts +2 -0
  263. package/dist/esm/generated/src/tracing.d.ts.map +1 -0
  264. package/dist/esm/generated/src/tracing.js +14 -0
  265. package/dist/esm/generated/src/tracing.js.map +1 -0
  266. package/dist/esm/index.d.ts +7 -0
  267. package/dist/esm/index.d.ts.map +1 -0
  268. package/dist/esm/index.js +9 -0
  269. package/dist/esm/index.js.map +1 -0
  270. package/dist/esm/models/events.d.ts +4 -0
  271. package/dist/esm/models/events.d.ts.map +1 -0
  272. package/dist/esm/models/events.js +4 -0
  273. package/dist/esm/models/events.js.map +1 -0
  274. package/dist/esm/models/logger.d.ts +2 -0
  275. package/dist/esm/models/logger.d.ts.map +1 -0
  276. package/dist/esm/models/logger.js +5 -0
  277. package/dist/esm/models/logger.js.map +1 -0
  278. package/dist/esm/models/mappers.d.ts +79 -0
  279. package/dist/esm/models/mappers.d.ts.map +1 -0
  280. package/dist/esm/models/mappers.js +184 -0
  281. package/dist/esm/models/mappers.js.map +1 -0
  282. package/dist/esm/models/models.d.ts +153 -0
  283. package/dist/esm/models/models.d.ts.map +1 -0
  284. package/dist/esm/models/models.js +4 -0
  285. package/dist/esm/models/models.js.map +1 -0
  286. package/dist/esm/models/options.d.ts +135 -0
  287. package/dist/esm/models/options.d.ts.map +1 -0
  288. package/dist/esm/models/options.js +2 -0
  289. package/dist/esm/models/options.js.map +1 -0
  290. package/dist/esm/models/requests.d.ts +18 -0
  291. package/dist/esm/models/requests.d.ts.map +1 -0
  292. package/dist/esm/models/requests.js +4 -0
  293. package/dist/esm/models/requests.js.map +1 -0
  294. package/dist/esm/models/uuid.d.ts +8 -0
  295. package/dist/esm/models/uuid.d.ts.map +1 -0
  296. package/dist/esm/models/uuid.js +13 -0
  297. package/dist/esm/models/uuid.js.map +1 -0
  298. package/dist/esm/package.json +3 -0
  299. package/dist/esm/signaling/signalingClient.d.ts +6 -0
  300. package/dist/esm/signaling/signalingClient.d.ts.map +1 -0
  301. package/dist/esm/signaling/signalingClient.js +7 -0
  302. package/dist/esm/signaling/signalingClient.js.map +1 -0
  303. package/dist/esm/signaling/signalingClientOptions.d.ts +6 -0
  304. package/dist/esm/signaling/signalingClientOptions.d.ts.map +1 -0
  305. package/dist/esm/signaling/signalingClientOptions.js +4 -0
  306. package/dist/esm/signaling/signalingClientOptions.js.map +1 -0
  307. package/dist/esm/xhrHttpClient.d.ts +17 -0
  308. package/dist/esm/xhrHttpClient.d.ts.map +1 -0
  309. package/dist/esm/xhrHttpClient.js +186 -0
  310. package/dist/esm/xhrHttpClient.js.map +1 -0
  311. package/dist/react-native/chatClient.d.ts +225 -0
  312. package/dist/react-native/chatClient.d.ts.map +1 -0
  313. package/dist/react-native/chatClient.js +246 -0
  314. package/dist/react-native/chatClient.js.map +1 -0
  315. package/dist/react-native/chatThreadClient.d.ts +142 -0
  316. package/dist/react-native/chatThreadClient.d.ts.map +1 -0
  317. package/dist/react-native/chatThreadClient.js +459 -0
  318. package/dist/react-native/chatThreadClient.js.map +1 -0
  319. package/dist/react-native/credential/communicationTokenCredentialPolicy.d.ts +9 -0
  320. package/dist/react-native/credential/communicationTokenCredentialPolicy.d.ts.map +1 -0
  321. package/dist/react-native/credential/communicationTokenCredentialPolicy.js +18 -0
  322. package/dist/react-native/credential/communicationTokenCredentialPolicy.js.map +1 -0
  323. package/dist/react-native/generated/src/chatApiClient.d.ts +18 -0
  324. package/dist/react-native/generated/src/chatApiClient.d.ts.map +1 -0
  325. package/dist/react-native/generated/src/chatApiClient.js +70 -0
  326. package/dist/react-native/generated/src/chatApiClient.js.map +1 -0
  327. package/dist/react-native/generated/src/index.d.ts +4 -0
  328. package/dist/react-native/generated/src/index.d.ts.map +1 -0
  329. package/dist/react-native/generated/src/index.js +11 -0
  330. package/dist/react-native/generated/src/index.js.map +1 -0
  331. package/dist/react-native/generated/src/models/index.d.ts +579 -0
  332. package/dist/react-native/generated/src/models/index.d.ts.map +1 -0
  333. package/dist/react-native/generated/src/models/index.js +40 -0
  334. package/dist/react-native/generated/src/models/index.js.map +1 -0
  335. package/dist/react-native/generated/src/models/mappers.d.ts +44 -0
  336. package/dist/react-native/generated/src/models/mappers.d.ts.map +1 -0
  337. package/dist/react-native/generated/src/models/mappers.js +1109 -0
  338. package/dist/react-native/generated/src/models/mappers.js.map +1 -0
  339. package/dist/react-native/generated/src/models/parameters.d.ts +29 -0
  340. package/dist/react-native/generated/src/models/parameters.d.ts.map +1 -0
  341. package/dist/react-native/generated/src/models/parameters.js +235 -0
  342. package/dist/react-native/generated/src/models/parameters.js.map +1 -0
  343. package/dist/react-native/generated/src/operations/chat.d.ts +36 -0
  344. package/dist/react-native/generated/src/operations/chat.d.ts.map +1 -0
  345. package/dist/react-native/generated/src/operations/chat.js +186 -0
  346. package/dist/react-native/generated/src/operations/chat.js.map +1 -0
  347. package/dist/react-native/generated/src/operations/chatThread.d.ts +144 -0
  348. package/dist/react-native/generated/src/operations/chatThread.d.ts.map +1 -0
  349. package/dist/react-native/generated/src/operations/chatThread.js +793 -0
  350. package/dist/react-native/generated/src/operations/chatThread.js.map +1 -0
  351. package/dist/react-native/generated/src/operations/index.d.ts +3 -0
  352. package/dist/react-native/generated/src/operations/index.d.ts.map +1 -0
  353. package/dist/react-native/generated/src/operations/index.js +10 -0
  354. package/dist/react-native/generated/src/operations/index.js.map +1 -0
  355. package/dist/react-native/generated/src/operationsInterfaces/chat.d.ts +28 -0
  356. package/dist/react-native/generated/src/operationsInterfaces/chat.d.ts.map +1 -0
  357. package/dist/react-native/generated/src/operationsInterfaces/chat.js +9 -0
  358. package/dist/react-native/generated/src/operationsInterfaces/chat.js.map +1 -0
  359. package/dist/react-native/generated/src/operationsInterfaces/chatThread.d.ts +136 -0
  360. package/dist/react-native/generated/src/operationsInterfaces/chatThread.d.ts.map +1 -0
  361. package/dist/react-native/generated/src/operationsInterfaces/chatThread.js +9 -0
  362. package/dist/react-native/generated/src/operationsInterfaces/chatThread.js.map +1 -0
  363. package/dist/react-native/generated/src/operationsInterfaces/index.d.ts +3 -0
  364. package/dist/react-native/generated/src/operationsInterfaces/index.d.ts.map +1 -0
  365. package/dist/react-native/generated/src/operationsInterfaces/index.js +10 -0
  366. package/dist/react-native/generated/src/operationsInterfaces/index.js.map +1 -0
  367. package/dist/react-native/generated/src/tracing.d.ts +2 -0
  368. package/dist/react-native/generated/src/tracing.d.ts.map +1 -0
  369. package/dist/react-native/generated/src/tracing.js +14 -0
  370. package/dist/react-native/generated/src/tracing.js.map +1 -0
  371. package/dist/react-native/index.d.ts +7 -0
  372. package/dist/react-native/index.d.ts.map +1 -0
  373. package/dist/react-native/index.js +9 -0
  374. package/dist/react-native/index.js.map +1 -0
  375. package/dist/react-native/models/events.d.ts +4 -0
  376. package/dist/react-native/models/events.d.ts.map +1 -0
  377. package/dist/react-native/models/events.js +4 -0
  378. package/dist/react-native/models/events.js.map +1 -0
  379. package/dist/react-native/models/logger.d.ts +2 -0
  380. package/dist/react-native/models/logger.d.ts.map +1 -0
  381. package/dist/react-native/models/logger.js +5 -0
  382. package/dist/react-native/models/logger.js.map +1 -0
  383. package/dist/react-native/models/mappers.d.ts +79 -0
  384. package/dist/react-native/models/mappers.d.ts.map +1 -0
  385. package/dist/react-native/models/mappers.js +184 -0
  386. package/dist/react-native/models/mappers.js.map +1 -0
  387. package/dist/react-native/models/models.d.ts +153 -0
  388. package/dist/react-native/models/models.d.ts.map +1 -0
  389. package/dist/react-native/models/models.js +4 -0
  390. package/dist/react-native/models/models.js.map +1 -0
  391. package/dist/react-native/models/options.d.ts +135 -0
  392. package/dist/react-native/models/options.d.ts.map +1 -0
  393. package/dist/react-native/models/options.js +2 -0
  394. package/dist/react-native/models/options.js.map +1 -0
  395. package/dist/react-native/models/requests.d.ts +18 -0
  396. package/dist/react-native/models/requests.d.ts.map +1 -0
  397. package/dist/react-native/models/requests.js +4 -0
  398. package/dist/react-native/models/requests.js.map +1 -0
  399. package/dist/react-native/models/uuid.d.ts +8 -0
  400. package/dist/react-native/models/uuid.d.ts.map +1 -0
  401. package/dist/react-native/models/uuid.js +13 -0
  402. package/dist/react-native/models/uuid.js.map +1 -0
  403. package/dist/react-native/package.json +3 -0
  404. package/dist/react-native/signaling/signalingClient-react-native.d.mts.map +1 -0
  405. package/dist/react-native/signaling/signalingClient-react-native.mjs.map +1 -0
  406. package/dist/react-native/signaling/signalingClient.d.ts +6 -0
  407. package/dist/react-native/signaling/signalingClient.js +13 -0
  408. package/dist/react-native/signaling/signalingClientOptions.d.ts +6 -0
  409. package/dist/react-native/signaling/signalingClientOptions.d.ts.map +1 -0
  410. package/dist/react-native/signaling/signalingClientOptions.js +4 -0
  411. package/dist/react-native/signaling/signalingClientOptions.js.map +1 -0
  412. package/dist/react-native/xhrHttpClient.d.ts +17 -0
  413. package/dist/react-native/xhrHttpClient.d.ts.map +1 -0
  414. package/dist/react-native/xhrHttpClient.js +186 -0
  415. package/dist/react-native/xhrHttpClient.js.map +1 -0
  416. package/package.json +77 -64
  417. package/dist/index.js +0 -3560
  418. package/dist/index.js.map +0 -1
  419. package/dist-esm/src/chatClient.js.map +0 -1
  420. package/dist-esm/src/chatThreadClient.js.map +0 -1
  421. package/dist-esm/src/credential/communicationTokenCredentialPolicy.js.map +0 -1
  422. package/dist-esm/src/generated/src/chatApiClient.js.map +0 -1
  423. package/dist-esm/src/generated/src/index.js.map +0 -1
  424. package/dist-esm/src/generated/src/models/parameters.js.map +0 -1
  425. package/dist-esm/src/generated/src/operations/chat.js.map +0 -1
  426. package/dist-esm/src/generated/src/operations/chatThread.js.map +0 -1
  427. package/dist-esm/src/generated/src/operations/index.js.map +0 -1
  428. package/dist-esm/src/generated/src/operationsInterfaces/chat.js.map +0 -1
  429. package/dist-esm/src/generated/src/operationsInterfaces/chatThread.js.map +0 -1
  430. package/dist-esm/src/generated/src/operationsInterfaces/index.js.map +0 -1
  431. package/dist-esm/src/index.js +0 -9
  432. package/dist-esm/src/index.js.map +0 -1
  433. package/dist-esm/src/models/events.js +0 -4
  434. package/dist-esm/src/models/events.js.map +0 -1
  435. package/dist-esm/src/models/mappers.js.map +0 -1
  436. package/dist-esm/src/models/models.js +0 -4
  437. package/dist-esm/src/models/models.js.map +0 -1
  438. package/dist-esm/src/models/options.js.map +0 -1
  439. package/dist-esm/src/models/requests.js +0 -4
  440. package/dist-esm/src/models/requests.js.map +0 -1
  441. package/dist-esm/src/models/uuid.js.map +0 -1
  442. package/dist-esm/src/signaling/signalingClient.browser.js +0 -12
  443. package/dist-esm/src/signaling/signalingClient.browser.js.map +0 -1
  444. package/dist-esm/src/signaling/signalingClient.js +0 -17
  445. package/dist-esm/src/signaling/signalingClient.js.map +0 -1
  446. package/dist-esm/src/xhrHttpClient.js.map +0 -1
  447. package/types/communication-chat.d.ts +0 -803
  448. /package/{dist-esm/src → dist/browser}/generated/src/models/index.js +0 -0
  449. /package/{dist-esm/src → dist/browser}/generated/src/models/index.js.map +0 -0
  450. /package/{dist-esm/src → dist/browser}/generated/src/models/mappers.js +0 -0
  451. /package/{dist-esm/src → dist/browser}/generated/src/models/mappers.js.map +0 -0
  452. /package/{dist-esm/src → dist/browser}/generated/src/operationsInterfaces/chat.js +0 -0
  453. /package/{dist-esm/src → dist/browser}/generated/src/operationsInterfaces/chatThread.js +0 -0
  454. /package/{dist-esm/src → dist/browser}/models/options.js +0 -0
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Azure Communication Services for Chat lets developers add chat capabilities to their app. Use this client library to manage chat threads and their users, and send and receive chat messages.
4
4
 
5
- Read more about Azure Communication Services [here](https://docs.microsoft.com/azure/communication-services/overview)
5
+ Read more about Azure Communication Services [here](https://learn.microsoft.com/azure/communication-services/overview)
6
6
 
7
7
  ## Getting started
8
8
 
@@ -25,7 +25,7 @@ npm install @azure/communication-chat
25
25
  To use this client library in the browser, first you need to use a bundler. For details on how to do this, please refer to our [bundling documentation](https://aka.ms/AzureSDKBundling).
26
26
  In `rollup.config.js`, add following customized name exports in `cjs` plugin.
27
27
 
28
- ```JavaScript
28
+ ```
29
29
 
30
30
  cjs({
31
31
  namedExports: {
@@ -55,16 +55,15 @@ A chat conversation is represented by a thread. Each user in the thread is calle
55
55
 
56
56
  Use resource url and user access token to initialize chat client.
57
57
 
58
- ```JavaScript
59
- import { ChatClient } from '@azure/communication-chat';
58
+ ```ts snippet:ReadmeSampleCreateClient_Node
60
59
  import { AzureCommunicationTokenCredential } from "@azure/communication-common";
60
+ import { ChatClient } from "@azure/communication-chat";
61
61
 
62
62
  // Your unique Azure Communication service endpoint
63
- const endpointUrl = '<ENDPOINT>';
64
- const userAccessToken = '<USER_ACCESS_TOKEN>';
63
+ const endpointUrl = "<ENDPOINT>";
64
+ const userAccessToken = "<USER_ACCESS_TOKEN>";
65
65
  const tokenCredential = new AzureCommunicationTokenCredential(userAccessToken);
66
66
  const chatClient = new ChatClient(endpointUrl, tokenCredential);
67
-
68
67
  ```
69
68
 
70
69
  ### Create a thread with two users
@@ -82,23 +81,35 @@ Use the `createThread` method to create a chat thread.
82
81
 
83
82
  `createChatThreadResult` is the result returned from creating a thread. It contains a `chatThread` which is the thread that was created, as well as an `errors` property which will contain information about invalid participants if they failed to be added to the thread.
84
83
 
85
- ```Javascript
84
+ ```ts snippet:ReadmeSampleCreateThread
85
+ import { AzureCommunicationTokenCredential } from "@azure/communication-common";
86
+ import { ChatClient } from "@azure/communication-chat";
87
+
88
+ // Your unique Azure Communication service endpoint
89
+ const endpointUrl = "<ENDPOINT>";
90
+ const userAccessToken = "<USER_ACCESS_TOKEN>";
91
+ const tokenCredential = new AzureCommunicationTokenCredential(userAccessToken);
92
+ const chatClient = new ChatClient(endpointUrl, tokenCredential);
93
+
86
94
  const createChatThreadRequest = {
87
- topic: "Hello, World!"
95
+ topic: "Hello, World!",
88
96
  };
97
+
89
98
  const createChatThreadOptions = {
90
99
  participants: [
91
100
  {
92
- id: { communicationUserId: '<USER_ID>' },
93
- displayName: '<USER_DISPLAY_NAME>'
94
- }
95
- ]
101
+ id: { communicationUserId: "<USER_ID>" },
102
+ displayName: "<USER_DISPLAY_NAME>",
103
+ },
104
+ ],
96
105
  };
106
+
97
107
  const createChatThreadResult = await chatClient.createChatThread(
98
108
  createChatThreadRequest,
99
- createChatThreadOptions
109
+ createChatThreadOptions,
100
110
  );
101
- const threadId = createChatThreadResult.chatThread.id;
111
+
112
+ const threadId = createChatThreadResult?.chatThread?.id;
102
113
  ```
103
114
 
104
115
  ### Create a ChatThreadClient
@@ -107,8 +118,17 @@ The ChatThreadClient will allow you to perform operations specific to a chat thr
107
118
 
108
119
  You can initialize a new ChatThreadClient using the `getChatThreadClient` method of the ChatClient with an existing thread id:
109
120
 
110
- ```Javascript
111
- const chatThreadClient = chatClient.getChatThreadClient(threadId);
121
+ ```ts snippet:ReadmeSampleCreateChatThreadClient
122
+ import { AzureCommunicationTokenCredential } from "@azure/communication-common";
123
+ import { ChatClient } from "@azure/communication-chat";
124
+
125
+ // Your unique Azure Communication service endpoint
126
+ const endpointUrl = "<ENDPOINT>";
127
+ const userAccessToken = "<USER_ACCESS_TOKEN>";
128
+ const tokenCredential = new AzureCommunicationTokenCredential(userAccessToken);
129
+ const chatClient = new ChatClient(endpointUrl, tokenCredential);
130
+
131
+ const chatThreadClient = chatClient.getChatThreadClient("<threadId>");
112
132
  ```
113
133
 
114
134
  ### Send a message to the thread
@@ -126,16 +146,32 @@ Use `sendMessage` method to sends a message to a thread identified by threadId.
126
146
 
127
147
  `sendChatMessageResult` is the result returned from sending a message, it contains an ID, which is the unique ID of the message.
128
148
 
129
- ```JavaScript
130
- const sendMessageRequest =
131
- {
132
- content: 'Hello Geeta! Can you share the deck for the conference?'
149
+ ```ts snippet:ReadmeSampleSendMessage
150
+ import { AzureCommunicationTokenCredential } from "@azure/communication-common";
151
+ import { ChatClient, SendMessageOptions } from "@azure/communication-chat";
152
+
153
+ // Your unique Azure Communication service endpoint
154
+ const endpointUrl = "<ENDPOINT>";
155
+ const userAccessToken = "<USER_ACCESS_TOKEN>";
156
+ const tokenCredential = new AzureCommunicationTokenCredential(userAccessToken);
157
+ const chatClient = new ChatClient(endpointUrl, tokenCredential);
158
+
159
+ const chatThreadClient = chatClient.getChatThreadClient("<threadId>");
160
+
161
+ const sendMessageRequest = {
162
+ content: "Hello Geeta! Can you share the deck for the conference?",
133
163
  };
134
- const sendMessageOptions:SendMessageOptions = {
164
+
165
+ const sendMessageOptions: SendMessageOptions = {
135
166
  senderDisplayName: "Jack",
136
- type: "text"
167
+ type: "text",
137
168
  };
138
- const sendChatMessageResult = await chatThreadClient.sendMessage(sendMessageRequest, sendMessageOptions);
169
+
170
+ const sendChatMessageResult = await chatThreadClient.sendMessage(
171
+ sendMessageRequest,
172
+ sendMessageOptions,
173
+ );
174
+
139
175
  const messageId = sendChatMessageResult.id;
140
176
  ```
141
177
 
@@ -143,7 +179,15 @@ const messageId = sendChatMessageResult.id;
143
179
 
144
180
  With real-time signaling, you can subscribe to listen for new incoming messages and update the current messages in memory accordingly.
145
181
 
146
- ```JavaScript
182
+ ```ts snippet:ReadmeSampleSubscribeToChatMessages
183
+ import { AzureCommunicationTokenCredential } from "@azure/communication-common";
184
+ import { ChatClient } from "@azure/communication-chat";
185
+
186
+ // Your unique Azure Communication service endpoint
187
+ const endpointUrl = "<ENDPOINT>";
188
+ const userAccessToken = "<USER_ACCESS_TOKEN>";
189
+ const tokenCredential = new AzureCommunicationTokenCredential(userAccessToken);
190
+ const chatClient = new ChatClient(endpointUrl, tokenCredential);
147
191
 
148
192
  // open notifications channel
149
193
  await chatClient.startRealtimeNotifications();
@@ -152,14 +196,24 @@ chatClient.on("chatMessageReceived", (e) => {
152
196
  console.log("Notification chatMessageReceived!");
153
197
  // your code here
154
198
  });
155
-
156
199
  ```
157
200
 
158
201
  Alternatively you can retrieve chat messages by polling the `listMessages` method at specified intervals.
159
202
 
160
- ```JavaScript
203
+ ```ts snippet:ReadmeSampleListMessages
204
+ import { AzureCommunicationTokenCredential } from "@azure/communication-common";
205
+ import { ChatClient } from "@azure/communication-chat";
206
+
207
+ // Your unique Azure Communication service endpoint
208
+ const endpointUrl = "<ENDPOINT>";
209
+ const userAccessToken = "<USER_ACCESS_TOKEN>";
210
+ const tokenCredential = new AzureCommunicationTokenCredential(userAccessToken);
211
+ const chatClient = new ChatClient(endpointUrl, tokenCredential);
212
+
213
+ const chatThreadClient = chatClient.getChatThreadClient("<threadId>");
214
+
161
215
  for await (const chatMessage of chatThreadClient.listMessages()) {
162
- // your code here
216
+ // your code here
163
217
  }
164
218
  ```
165
219
 
@@ -167,55 +221,90 @@ for await (const chatMessage of chatThreadClient.listMessages()) {
167
221
 
168
222
  Once a thread is created, you can then add and remove users from that thread. By adding users, you give them access to be able to send messages to the thread.
169
223
  You will need to start by getting a new access token and identity for that user. The user will need that access token in order to initialize their chat client.
170
- More information on tokens here: [Authenticate to Azure Communication Services](https://docs.microsoft.com/azure/communication-services/concepts/authentication?tabs=javascript)
224
+ More information on tokens here: [Authenticate to Azure Communication Services](https://learn.microsoft.com/azure/communication-services/concepts/authentication?tabs=javascript)
171
225
 
172
- ```JavaScript
226
+ ```ts snippet:ReadmeSampleAddParticipants
227
+ import { AzureCommunicationTokenCredential } from "@azure/communication-common";
228
+ import { ChatClient } from "@azure/communication-chat";
229
+
230
+ // Your unique Azure Communication service endpoint
231
+ const endpointUrl = "<ENDPOINT>";
232
+ const userAccessToken = "<USER_ACCESS_TOKEN>";
233
+ const tokenCredential = new AzureCommunicationTokenCredential(userAccessToken);
234
+ const chatClient = new ChatClient(endpointUrl, tokenCredential);
235
+
236
+ const chatThreadClient = chatClient.getChatThreadClient("<threadId>");
173
237
 
174
- const addParticipantsRequest =
175
- {
238
+ const addParticipantsRequest = {
176
239
  participants: [
177
240
  {
178
- id: { communicationUserId: '<NEW_PARTICIPANT_USER_ID>' },
179
- displayName: 'Jane'
180
- }
181
- ]
241
+ id: { communicationUserId: "<NEW_PARTICIPANT_USER_ID>" },
242
+ displayName: "Jane",
243
+ },
244
+ ],
182
245
  };
183
246
 
184
247
  await chatThreadClient.addParticipants(addParticipantsRequest);
185
-
186
248
  ```
187
249
 
188
250
  ### Remove Users from a thread
189
251
 
190
252
  Similar to above, you can also remove users from a thread. In order to remove, you will need to track the IDs of the participants you have added.
191
253
 
192
- ```JavaScript
254
+ ```ts snippet:ReadmeSampleRemoveParticipants
255
+ import { AzureCommunicationTokenCredential } from "@azure/communication-common";
256
+ import { ChatClient } from "@azure/communication-chat";
193
257
 
194
- await chatThreadClient.removeParticipant({ communicationUserId: '<MEMBER_ID>' });
258
+ // Your unique Azure Communication service endpoint
259
+ const endpointUrl = "<ENDPOINT>";
260
+ const userAccessToken = "<USER_ACCESS_TOKEN>";
261
+ const tokenCredential = new AzureCommunicationTokenCredential(userAccessToken);
262
+ const chatClient = new ChatClient(endpointUrl, tokenCredential);
263
+
264
+ const chatThreadClient = chatClient.getChatThreadClient("<threadId>");
195
265
 
266
+ await chatThreadClient.removeParticipant({ communicationUserId: "<MEMBER_ID>" });
196
267
  ```
197
268
 
198
269
  ### Subscribe to connection status of real time notifications
270
+
199
271
  Subscription to events `realTimeNotificationConnected` and `realTimeNotificationDisconnected` allows you to know when the connection to the call server is active.
200
272
 
201
- ```JavaScript
273
+ ```ts snippet:ReadmeSampleSubscribeToRealTimeNotifications
274
+ import { AzureCommunicationTokenCredential } from "@azure/communication-common";
275
+ import { ChatClient } from "@azure/communication-chat";
276
+
277
+ // Your unique Azure Communication service endpoint
278
+ const endpointUrl = "<ENDPOINT>";
279
+ const userAccessToken = "<USER_ACCESS_TOKEN>";
280
+ const tokenCredential = new AzureCommunicationTokenCredential(userAccessToken);
281
+ const chatClient = new ChatClient(endpointUrl, tokenCredential);
202
282
 
203
283
  // subscribe to realTimeNotificationConnected event
204
- chatClient.on('realTimeNotificationConnected', () => {
284
+ chatClient.on("realTimeNotificationConnected", () => {
205
285
  console.log("Real time notification is now connected!");
206
286
  // your code here
207
287
  });
208
288
 
209
289
  // subscribe to realTimeNotificationDisconnected event
210
- chatClient.on('realTimeNotificationDisconnected', () => {
290
+ chatClient.on("realTimeNotificationDisconnected", () => {
211
291
  console.log("Real time notification is now disconnected!");
212
292
  // your code here
213
293
  });
214
-
215
294
  ```
216
295
 
217
296
  ## Troubleshooting
218
297
 
298
+ ### Logging
299
+
300
+ Enabling logging may help uncover useful information about failures. In order to see a log of HTTP requests and responses, set the `AZURE_LOG_LEVEL` environment variable to `info`. Alternatively, logging can be enabled at runtime by calling `setLogLevel` in the `@azure/logger`:
301
+
302
+ ```ts snippet:SetLogLevel
303
+ import { setLogLevel } from "@azure/logger";
304
+
305
+ setLogLevel("info");
306
+ ```
307
+
219
308
  ## Next steps
220
309
 
221
310
  In this quickstart you learned how to:
@@ -230,7 +319,7 @@ In this quickstart you learned how to:
230
319
 
231
320
  If you'd like to contribute to this library, please read the [contributing guide](https://github.com/Azure/azure-sdk-for-js/blob/main/CONTRIBUTING.md) to learn more about how to build and test the code.
232
321
 
233
- [azure_cli]: https://docs.microsoft.com/cli/azure
322
+ [azure_cli]: https://learn.microsoft.com/cli/azure
234
323
  [azure_sub]: https://azure.microsoft.com/free/
235
324
  [azure_portal]: https://portal.azure.com
236
- [azure_powershell]: https://docs.microsoft.com/powershell/module/az.communication/new-azcommunicationservice
325
+ [azure_powershell]: https://learn.microsoft.com/powershell/module/az.communication/new-azcommunicationservice
@@ -0,0 +1,225 @@
1
+ import type { ChatClientOptions, CreateChatThreadOptions, DeleteChatThreadOptions, ListChatThreadsOptions } from "./models/options.js";
2
+ import type { ChatMessageDeletedEvent, ChatMessageEditedEvent, ChatMessageReceivedEvent, ChatThreadCreatedEvent, ChatThreadDeletedEvent, ChatThreadPropertiesUpdatedEvent, ParticipantsAddedEvent, ParticipantsRemovedEvent, ReadReceiptReceivedEvent, StreamingChatMessageChunkReceivedEvent, StreamingChatMessageStartEvent, TypingIndicatorReceivedEvent } from "./models/events.js";
3
+ import type { ChatThreadItem, CreateChatThreadResult } from "./models/models.js";
4
+ import { ChatThreadClient } from "./chatThreadClient.js";
5
+ import type { CommunicationTokenCredential } from "@azure/communication-common";
6
+ import type { CreateChatThreadRequest } from "./models/requests.js";
7
+ import type { PagedAsyncIterableIterator } from "@azure/core-paging";
8
+ /**
9
+ * The client to do chat operations
10
+ */
11
+ export declare class ChatClient {
12
+ private readonly endpoint;
13
+ private readonly tokenCredential;
14
+ private readonly clientOptions;
15
+ private readonly client;
16
+ private readonly signalingClient;
17
+ private readonly emitter;
18
+ private isRealtimeNotificationsStarted;
19
+ /**
20
+ * Creates an instance of the ChatClient for a given resource and user.
21
+ *
22
+ * @param endpoint - The url of the Communication Services resource.
23
+ * @param credential - The token credential. Use AzureCommunicationTokenCredential from \@azure/communication-common to create a credential.
24
+ * @param options - Additional client options.
25
+ */
26
+ constructor(endpoint: string, credential: CommunicationTokenCredential, options?: ChatClientOptions);
27
+ /**
28
+ * Returns ChatThreadClient with the specific thread id.
29
+ * @param threadId - Thread ID for the ChatThreadClient
30
+ */
31
+ getChatThreadClient(threadId: string): ChatThreadClient;
32
+ /**
33
+ * Creates a chat thread.
34
+ * Returns thread client with the id of the created thread.
35
+ * @param request - Request for creating a chat thread.
36
+ * @param options - Operation options.
37
+ */
38
+ createChatThread(request: CreateChatThreadRequest, options?: CreateChatThreadOptions): Promise<CreateChatThreadResult>;
39
+ private listChatThreadsPage;
40
+ private listChatThreadsAll;
41
+ /**
42
+ * Gets the list of chat threads of a user.
43
+ * @param options - List chat threads options.
44
+ */
45
+ listChatThreads(options?: ListChatThreadsOptions): PagedAsyncIterableIterator<ChatThreadItem>;
46
+ /**
47
+ * Deletes a chat thread.
48
+ * @param threadId - The ID of the thread to delete.
49
+ * @param options - Operation options.
50
+ */
51
+ deleteChatThread(threadId: string, options?: DeleteChatThreadOptions): Promise<void>;
52
+ /**
53
+ * Start receiving realtime notifications.
54
+ * Call this function before subscribing to any event.
55
+ */
56
+ startRealtimeNotifications(): Promise<void>;
57
+ /**
58
+ * Stop receiving realtime notifications.
59
+ * This function would unsubscribe to all events.
60
+ */
61
+ stopRealtimeNotifications(): Promise<void>;
62
+ /**
63
+ * Subscribe function for chatMessageReceived.
64
+ * The initial sender will also receive this event.
65
+ * You need to call startRealtimeNotifications before subscribing to any event.
66
+ * @param event - The ChatMessageReceivedEvent.
67
+ * @param listener - The listener to handle the event.
68
+ */
69
+ on(event: "chatMessageReceived", listener: (e: ChatMessageReceivedEvent) => void): void;
70
+ /**
71
+ * Subscribe function for chatMessageEdited.
72
+ * The initial sender will also receive this event.
73
+ * @param event - The ChatMessageEditedEvent.
74
+ * @param listener - The listener to handle the event.
75
+ */
76
+ on(event: "chatMessageEdited", listener: (e: ChatMessageEditedEvent) => void): void;
77
+ /**
78
+ * Subscribe function for chatMessageDeleted.
79
+ * The initial sender will also receive this event.
80
+ * @param event - The ChatMessageDeletedEvent.
81
+ * @param listener - The listener to handle the event.
82
+ */
83
+ on(event: "chatMessageDeleted", listener: (e: ChatMessageDeletedEvent) => void): void;
84
+ /**
85
+ * Subscribe function for typingIndicatorReceived.
86
+ * The initial sender will also receive this event.
87
+ * @param event - The TypingIndicatorReceivedEvent.
88
+ * @param listener - The listener to handle the event.
89
+ */
90
+ on(event: "typingIndicatorReceived", listener: (e: TypingIndicatorReceivedEvent) => void): void;
91
+ /**
92
+ * Subscribe function for readReceiptReceived.
93
+ * @param event - The ReadReceiptReceivedEvent.
94
+ * @param listener - The listener to handle the event.
95
+ */
96
+ on(event: "readReceiptReceived", listener: (e: ReadReceiptReceivedEvent) => void): void;
97
+ /**
98
+ * Subscribe function for chatThreadCreated.
99
+ * @param event - The ChatThreadCreatedEvent.
100
+ * @param listener - The listener to handle the event.
101
+ */
102
+ on(event: "chatThreadCreated", listener: (e: ChatThreadCreatedEvent) => void): void;
103
+ /**
104
+ * Subscribe function for chatThreadDeleted.
105
+ * @param event - The ChatThreadDeletedEvent.
106
+ * @param listener - The listener to handle the event.
107
+ */
108
+ on(event: "chatThreadDeleted", listener: (e: ChatThreadDeletedEvent) => void): void;
109
+ /**
110
+ * Subscribe function for chatThreadPropertiesUpdated.
111
+ * @param event - The ChatThreadPropertiesUpdatedEvent.
112
+ * @param listener - The listener to handle the event.
113
+ */
114
+ on(event: "chatThreadPropertiesUpdated", listener: (e: ChatThreadPropertiesUpdatedEvent) => void): void;
115
+ /**
116
+ * Subscribe function for participantsAdded.
117
+ * @param event - The ParticipantsAddedEvent.
118
+ * @param listener - The listener to handle the event.
119
+ */
120
+ on(event: "participantsAdded", listener: (e: ParticipantsAddedEvent) => void): void;
121
+ /**
122
+ * Subscribe function for participantsRemoved.
123
+ * @param event - The ParticipantsRemovedEvent.
124
+ * @param listener - The listener to handle the event.
125
+ */
126
+ on(event: "participantsRemoved", listener: (e: ParticipantsRemovedEvent) => void): void;
127
+ /**
128
+ * Subscribe function for streamingChatMessageStarted
129
+ * @param event - The StreamingChatMessageStartEvent
130
+ * @param listener - The listener to handle the event
131
+ */
132
+ on(event: "streamingChatMessageStarted", listener: (e: StreamingChatMessageStartEvent) => void): void;
133
+ /**
134
+ * Subscribe function for streamingChatMessageChunkReceived
135
+ * @param event - The StreamingChatMessageChunkReceivedEvent
136
+ * @param listener - The listener to handle the event
137
+ */
138
+ on(event: "streamingChatMessageChunkReceived", listener: (e: StreamingChatMessageChunkReceivedEvent) => void): void;
139
+ /**
140
+ * Subscribe function for realTimeNotificationConnected.
141
+ * @param event - The realTimeNotificationConnected Event
142
+ * @param listener - The listener to handle the event.
143
+ */
144
+ on(event: "realTimeNotificationConnected", listener: () => void): void;
145
+ /**
146
+ * Subscribe function for realTimeNotificationDisconnected.
147
+ * @param event - The realTimeNotificationDisconnected Event
148
+ * @param listener - The listener to handle the event.
149
+ */
150
+ on(event: "realTimeNotificationDisconnected", listener: () => void): void;
151
+ /**
152
+ * Unsubscribe from chatMessageReceived.
153
+ * @param event - The ChatMessageReceivedEvent.
154
+ * @param listener - The listener to handle the event.
155
+ */
156
+ off(event: "chatMessageReceived", listener: (e: ChatMessageReceivedEvent) => void): void;
157
+ /**
158
+ * Unsubscribe from chatMessageEdited.
159
+ * @param event - The ChatMessageEditedEvent.
160
+ * @param listener - The listener to handle the event.
161
+ */
162
+ off(event: "chatMessageEdited", listener: (e: ChatMessageEditedEvent) => void): void;
163
+ /**
164
+ * Unsubscribe from chatMessageDeleted.
165
+ * @param event - The ChatMessageDeletedEvent.
166
+ * @param listener - The listener to handle the event.
167
+ */
168
+ off(event: "chatMessageDeleted", listener: (e: ChatMessageDeletedEvent) => void): void;
169
+ /**
170
+ * Unsubscribe from typingIndicatorReceived.
171
+ * @param event - The TypingIndicatorReceivedEvent.
172
+ * @param listener - The listener to handle the event.
173
+ */
174
+ off(event: "typingIndicatorReceived", listener: (e: TypingIndicatorReceivedEvent) => void): void;
175
+ /**
176
+ * Unsubscribe from readReceiptReceived.
177
+ * @param event - The ReadReceiptReceivedEvent.
178
+ * @param listener - The listener to handle the event.
179
+ */
180
+ off(event: "readReceiptReceived", listener: (e: ReadReceiptReceivedEvent) => void): void;
181
+ /**
182
+ * Unsubscribe from chatThreadCreated.
183
+ * @param event - The ChatThreadCreatedEvent.
184
+ * @param listener - The listener to handle the event.
185
+ */
186
+ off(event: "chatThreadCreated", listener: (e: ChatThreadCreatedEvent) => void): void;
187
+ /**
188
+ * Unsubscribe from chatThreadDeleted.
189
+ * @param event - The ChatThreadDeletedEvent.
190
+ * @param listener - The listener to handle the event.
191
+ */
192
+ off(event: "chatThreadDeleted", listener: (e: ChatThreadDeletedEvent) => void): void;
193
+ /**
194
+ * Unsubscribe from chatThreadPropertiesUpdated.
195
+ * @param event - The ChatThreadPropertiesUpdatedEvent.
196
+ * @param listener - The listener to handle the event.
197
+ */
198
+ off(event: "chatThreadPropertiesUpdated", listener: (e: ChatThreadPropertiesUpdatedEvent) => void): void;
199
+ /**
200
+ * Unsubscribe from participantsAdded.
201
+ * @param event - The ParticipantsAddedEvent.
202
+ * @param listener - The listener to handle the event.
203
+ */
204
+ off(event: "participantsAdded", listener: (e: ParticipantsAddedEvent) => void): void;
205
+ /**
206
+ * Unsubscribe from participantsRemoved.
207
+ * @param event - The ParticipantsRemovedEvent.
208
+ * @param listener - The listener to handle the event.
209
+ */
210
+ off(event: "participantsRemoved", listener: (e: ParticipantsRemovedEvent) => void): void;
211
+ /**
212
+ * Unsubscribe function for streamingChatMessageStarted
213
+ * @param event - The StreamingChatMessageStartEvent
214
+ * @param listener - The listener to handle the event
215
+ */
216
+ off(event: "streamingChatMessageStarted", listener: (e: StreamingChatMessageStartEvent) => void): void;
217
+ /**
218
+ * Unsubscribe function for streamingChatMessageChunkReceived
219
+ * @param event - The StreamingChatMessageChunkReceivedEvent
220
+ * @param listener - The listener to handle the event
221
+ */
222
+ off(event: "streamingChatMessageChunkReceived", listener: (e: StreamingChatMessageChunkReceivedEvent) => void): void;
223
+ private subscribeToSignalingEvents;
224
+ }
225
+ //# sourceMappingURL=chatClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatClient.d.ts","sourceRoot":"","sources":["../../src/chatClient.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,15 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
3
- /// <reference lib="esnext.asynciterable" />
2
+ // Licensed under the MIT License.
4
3
  import { __asyncDelegator, __asyncGenerator, __asyncValues, __await } from "tslib";
5
- import { mapToChatParticipantRestModel, mapToCreateChatThreadOptionsRestModel, mapToCreateChatThreadResultSdkModel, } from "./models/mappers";
6
- import { ChatApiClient } from "./generated/src";
7
- import { ChatThreadClient } from "./chatThreadClient";
4
+ import { mapToChatParticipantRestModel, mapToCreateChatThreadOptionsRestModel, mapToCreateChatThreadResultSdkModel, } from "./models/mappers.js";
5
+ import { ChatApiClient } from "./generated/src/index.js";
6
+ import { ChatThreadClient } from "./chatThreadClient.js";
8
7
  import { EventEmitter } from "events";
9
- import { createCommunicationTokenCredentialPolicy } from "./credential/communicationTokenCredentialPolicy";
10
- import { generateUuid } from "./models/uuid";
11
- import { getSignalingClient } from "./signaling/signalingClient";
12
- import { logger } from "./models/logger";
13
- import { tracingClient } from "./generated/src/tracing";
8
+ import { createCommunicationTokenCredentialPolicy } from "./credential/communicationTokenCredentialPolicy.js";
9
+ import { generateUuid } from "./models/uuid.js";
10
+ import { getSignalingClient } from "./signaling/signalingClient.js";
11
+ import { logger } from "./models/logger.js";
12
+ import { tracingClient } from "./generated/src/tracing.js";
14
13
  /**
15
14
  * The client to do chat operations
16
15
  */
@@ -236,6 +235,12 @@ export class ChatClient {
236
235
  this.signalingClient.on("participantsRemoved", (payload) => {
237
236
  this.emitter.emit("participantsRemoved", payload);
238
237
  });
238
+ this.signalingClient.on("streamingChatMessageStarted", (payload) => {
239
+ this.emitter.emit("streamingChatMessageStarted", payload);
240
+ });
241
+ this.signalingClient.on("streamingChatMessageChunkReceived", (payload) => {
242
+ this.emitter.emit("streamingChatMessageChunkReceived", payload);
243
+ });
239
244
  }
240
245
  }
241
246
  //# sourceMappingURL=chatClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatClient.js","sourceRoot":"","sources":["../../src/chatClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n ChatClientOptions,\n CreateChatThreadOptions,\n DeleteChatThreadOptions,\n ListChatThreadsOptions,\n} from \"./models/options.js\";\nimport type {\n ChatEventId,\n ChatMessageDeletedEvent,\n ChatMessageEditedEvent,\n ChatMessageReceivedEvent,\n ChatThreadCreatedEvent,\n ChatThreadDeletedEvent,\n ChatThreadPropertiesUpdatedEvent,\n ParticipantsAddedEvent,\n ParticipantsRemovedEvent,\n ReadReceiptReceivedEvent,\n StreamingChatMessageChunkReceivedEvent,\n StreamingChatMessageStartEvent,\n TypingIndicatorReceivedEvent,\n} from \"./models/events.js\";\nimport type { ChatThreadItem, CreateChatThreadResult, ListPageSettings } from \"./models/models.js\";\nimport type { SignalingClient, SignalingClientOptions } from \"@azure/communication-signaling\";\nimport { ConnectionState } from \"@azure/communication-signaling\";\nimport {\n mapToChatParticipantRestModel,\n mapToCreateChatThreadOptionsRestModel,\n mapToCreateChatThreadResultSdkModel,\n} from \"./models/mappers.js\";\nimport { ChatApiClient } from \"./generated/src/index.js\";\nimport { ChatThreadClient } from \"./chatThreadClient.js\";\nimport type { CommunicationTokenCredential } from \"@azure/communication-common\";\nimport type { CreateChatThreadRequest } from \"./models/requests.js\";\nimport { EventEmitter } from \"events\";\nimport type { InternalPipelineOptions } from \"@azure/core-rest-pipeline\";\nimport type { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { createCommunicationTokenCredentialPolicy } from \"./credential/communicationTokenCredentialPolicy.js\";\nimport { generateUuid } from \"./models/uuid.js\";\nimport { getSignalingClient } from \"./signaling/signalingClient.js\";\nimport { logger } from \"./models/logger.js\";\nimport { tracingClient } from \"./generated/src/tracing.js\";\n\ndeclare interface InternalChatClientOptions extends ChatClientOptions {\n signalingClientOptions?: SignalingClientOptions;\n}\n\n/**\n * The client to do chat operations\n */\nexport class ChatClient {\n private readonly tokenCredential: CommunicationTokenCredential;\n private readonly clientOptions: InternalChatClientOptions;\n private readonly client: ChatApiClient;\n private readonly signalingClient: SignalingClient | undefined = undefined;\n private readonly emitter = new EventEmitter();\n private isRealtimeNotificationsStarted: boolean = false;\n\n /**\n * Creates an instance of the ChatClient for a given resource and user.\n *\n * @param endpoint - The url of the Communication Services resource.\n * @param credential - The token credential. Use AzureCommunicationTokenCredential from \\@azure/communication-common to create a credential.\n * @param options - Additional client options.\n */\n constructor(\n private readonly endpoint: string,\n credential: CommunicationTokenCredential,\n options: ChatClientOptions = {},\n ) {\n this.tokenCredential = credential;\n\n const internalPipelineOptions: InternalPipelineOptions = {\n ...options,\n ...{\n loggingOptions: {\n logger: logger.info,\n },\n },\n };\n\n this.client = new ChatApiClient(this.endpoint, {\n endpoint: this.endpoint,\n ...internalPipelineOptions,\n });\n\n const authPolicy = createCommunicationTokenCredentialPolicy(this.tokenCredential);\n this.client.pipeline.addPolicy(authPolicy);\n\n this.clientOptions = { ...options };\n this.clientOptions.signalingClientOptions = {\n ...this.clientOptions.signalingClientOptions,\n resourceEndpoint: this.endpoint,\n gatewayApiVersion: this.client.apiVersion,\n };\n\n this.signalingClient = getSignalingClient(\n credential,\n logger,\n this.clientOptions.signalingClientOptions,\n );\n }\n\n /**\n * Returns ChatThreadClient with the specific thread id.\n * @param threadId - Thread ID for the ChatThreadClient\n */\n public getChatThreadClient(threadId: string): ChatThreadClient {\n return new ChatThreadClient(this.endpoint, threadId, this.tokenCredential, this.clientOptions);\n }\n\n /**\n * Creates a chat thread.\n * Returns thread client with the id of the created thread.\n * @param request - Request for creating a chat thread.\n * @param options - Operation options.\n */\n public async createChatThread(\n request: CreateChatThreadRequest,\n options: CreateChatThreadOptions = {},\n ): Promise<CreateChatThreadResult> {\n return tracingClient.withSpan(\n \"ChatClient-CreateChatThread\",\n options,\n async (updatedOptions) => {\n // We generate an UUID if the user does not provide an idempotencyToken value\n updatedOptions.idempotencyToken = updatedOptions.idempotencyToken ?? generateUuid();\n const updatedRestModelOptions = mapToCreateChatThreadOptionsRestModel(updatedOptions);\n\n const result = await this.client.chat.createChatThread(\n {\n topic: request.topic,\n participants: options.participants?.map((participant) =>\n mapToChatParticipantRestModel(participant),\n ),\n metadata: options.metadata,\n retentionPolicy: options.retentionPolicy,\n },\n updatedRestModelOptions,\n );\n return mapToCreateChatThreadResultSdkModel(result);\n },\n );\n }\n\n private async *listChatThreadsPage(\n continuationState: ListPageSettings,\n options: ListChatThreadsOptions = {},\n ): AsyncIterableIterator<ChatThreadItem[]> {\n if (!continuationState.continuationToken) {\n const currentSetResponse = await this.client.chat.listChatThreads(options);\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value;\n }\n }\n\n while (continuationState.continuationToken) {\n const currentSetResponse = await this.client.chat.listChatThreadsNext(\n continuationState.continuationToken,\n options,\n );\n continuationState.continuationToken = currentSetResponse.nextLink;\n if (currentSetResponse.value) {\n yield currentSetResponse.value;\n } else {\n break;\n }\n }\n }\n\n private async *listChatThreadsAll(\n options: ListChatThreadsOptions,\n ): AsyncIterableIterator<ChatThreadItem> {\n for await (const page of this.listChatThreadsPage({}, options)) {\n yield* page;\n }\n }\n\n /**\n * Gets the list of chat threads of a user.\n * @param options - List chat threads options.\n */\n public listChatThreads(\n options: ListChatThreadsOptions = {},\n ): PagedAsyncIterableIterator<ChatThreadItem> {\n const { span, updatedOptions } = tracingClient.startSpan(\"ChatClient-ListChatThreads\", options);\n try {\n const iter = this.listChatThreadsAll(updatedOptions);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: ListPageSettings = {}) => {\n return this.listChatThreadsPage(settings, updatedOptions);\n },\n };\n } catch (e: any) {\n span.setStatus({\n error: e,\n status: \"error\",\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Deletes a chat thread.\n * @param threadId - The ID of the thread to delete.\n * @param options - Operation options.\n */\n public async deleteChatThread(\n threadId: string,\n options: DeleteChatThreadOptions = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"ChatClient-DeleteChatThread\",\n options,\n async (updatedOptions) => {\n await this.client.chat.deleteChatThread(threadId, updatedOptions);\n },\n );\n }\n\n /**\n * Start receiving realtime notifications.\n * Call this function before subscribing to any event.\n */\n public async startRealtimeNotifications(): Promise<void> {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are not supported in node js.\");\n }\n\n if (this.isRealtimeNotificationsStarted) {\n return;\n }\n\n this.isRealtimeNotificationsStarted = true;\n await this.signalingClient.start();\n this.subscribeToSignalingEvents();\n }\n\n /**\n * Stop receiving realtime notifications.\n * This function would unsubscribe to all events.\n */\n public async stopRealtimeNotifications(): Promise<void> {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are not supported in node js.\");\n }\n\n this.isRealtimeNotificationsStarted = false;\n await this.signalingClient.stop();\n this.emitter.removeAllListeners();\n }\n\n /**\n * Subscribe function for chatMessageReceived.\n * The initial sender will also receive this event.\n * You need to call startRealtimeNotifications before subscribing to any event.\n * @param event - The ChatMessageReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatMessageReceived\", listener: (e: ChatMessageReceivedEvent) => void): void;\n\n /**\n * Subscribe function for chatMessageEdited.\n * The initial sender will also receive this event.\n * @param event - The ChatMessageEditedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatMessageEdited\", listener: (e: ChatMessageEditedEvent) => void): void;\n\n /**\n * Subscribe function for chatMessageDeleted.\n * The initial sender will also receive this event.\n * @param event - The ChatMessageDeletedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatMessageDeleted\", listener: (e: ChatMessageDeletedEvent) => void): void;\n\n /**\n * Subscribe function for typingIndicatorReceived.\n * The initial sender will also receive this event.\n * @param event - The TypingIndicatorReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(\n event: \"typingIndicatorReceived\",\n listener: (e: TypingIndicatorReceivedEvent) => void,\n ): void;\n\n /**\n * Subscribe function for readReceiptReceived.\n * @param event - The ReadReceiptReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"readReceiptReceived\", listener: (e: ReadReceiptReceivedEvent) => void): void;\n\n /**\n * Subscribe function for chatThreadCreated.\n * @param event - The ChatThreadCreatedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatThreadCreated\", listener: (e: ChatThreadCreatedEvent) => void): void;\n\n /**\n * Subscribe function for chatThreadDeleted.\n * @param event - The ChatThreadDeletedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"chatThreadDeleted\", listener: (e: ChatThreadDeletedEvent) => void): void;\n\n /**\n * Subscribe function for chatThreadPropertiesUpdated.\n * @param event - The ChatThreadPropertiesUpdatedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(\n event: \"chatThreadPropertiesUpdated\",\n listener: (e: ChatThreadPropertiesUpdatedEvent) => void,\n ): void;\n\n /**\n * Subscribe function for participantsAdded.\n * @param event - The ParticipantsAddedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"participantsAdded\", listener: (e: ParticipantsAddedEvent) => void): void;\n\n /**\n * Subscribe function for participantsRemoved.\n * @param event - The ParticipantsRemovedEvent.\n * @param listener - The listener to handle the event.\n */\n public on(event: \"participantsRemoved\", listener: (e: ParticipantsRemovedEvent) => void): void;\n\n /**\n * Subscribe function for streamingChatMessageStarted\n * @param event - The StreamingChatMessageStartEvent\n * @param listener - The listener to handle the event\n */\n public on(\n event: \"streamingChatMessageStarted\",\n listener: (e: StreamingChatMessageStartEvent) => void,\n ): void;\n\n /**\n * Subscribe function for streamingChatMessageChunkReceived\n * @param event - The StreamingChatMessageChunkReceivedEvent\n * @param listener - The listener to handle the event\n */\n public on(\n event: \"streamingChatMessageChunkReceived\",\n listener: (e: StreamingChatMessageChunkReceivedEvent) => void,\n ): void;\n\n /**\n * Subscribe function for realTimeNotificationConnected.\n * @param event - The realTimeNotificationConnected Event\n * @param listener - The listener to handle the event.\n */\n public on(event: \"realTimeNotificationConnected\", listener: () => void): void;\n\n /**\n * Subscribe function for realTimeNotificationDisconnected.\n * @param event - The realTimeNotificationDisconnected Event\n * @param listener - The listener to handle the event.\n */\n public on(event: \"realTimeNotificationDisconnected\", listener: () => void): void;\n\n public on(event: ChatEventId, listener: (e?: any) => void): void {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are only supported in the browser.\");\n }\n if (\n !this.isRealtimeNotificationsStarted &&\n event !== \"realTimeNotificationConnected\" &&\n event !== \"realTimeNotificationDisconnected\"\n ) {\n throw new Error(\n \"You must call startRealtimeNotifications before you can subscribe to events.\",\n );\n }\n\n this.emitter.on(event, listener);\n }\n\n /**\n * Unsubscribe from chatMessageReceived.\n * @param event - The ChatMessageReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatMessageReceived\", listener: (e: ChatMessageReceivedEvent) => void): void;\n\n /**\n * Unsubscribe from chatMessageEdited.\n * @param event - The ChatMessageEditedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatMessageEdited\", listener: (e: ChatMessageEditedEvent) => void): void;\n\n /**\n * Unsubscribe from chatMessageDeleted.\n * @param event - The ChatMessageDeletedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatMessageDeleted\", listener: (e: ChatMessageDeletedEvent) => void): void;\n\n /**\n * Unsubscribe from typingIndicatorReceived.\n * @param event - The TypingIndicatorReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(\n event: \"typingIndicatorReceived\",\n listener: (e: TypingIndicatorReceivedEvent) => void,\n ): void;\n\n /**\n * Unsubscribe from readReceiptReceived.\n * @param event - The ReadReceiptReceivedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"readReceiptReceived\", listener: (e: ReadReceiptReceivedEvent) => void): void;\n\n /**\n * Unsubscribe from chatThreadCreated.\n * @param event - The ChatThreadCreatedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatThreadCreated\", listener: (e: ChatThreadCreatedEvent) => void): void;\n\n /**\n * Unsubscribe from chatThreadDeleted.\n * @param event - The ChatThreadDeletedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"chatThreadDeleted\", listener: (e: ChatThreadDeletedEvent) => void): void;\n\n /**\n * Unsubscribe from chatThreadPropertiesUpdated.\n * @param event - The ChatThreadPropertiesUpdatedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(\n event: \"chatThreadPropertiesUpdated\",\n listener: (e: ChatThreadPropertiesUpdatedEvent) => void,\n ): void;\n\n /**\n * Unsubscribe from participantsAdded.\n * @param event - The ParticipantsAddedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"participantsAdded\", listener: (e: ParticipantsAddedEvent) => void): void;\n\n /**\n * Unsubscribe from participantsRemoved.\n * @param event - The ParticipantsRemovedEvent.\n * @param listener - The listener to handle the event.\n */\n public off(event: \"participantsRemoved\", listener: (e: ParticipantsRemovedEvent) => void): void;\n\n /**\n * Unsubscribe function for streamingChatMessageStarted\n * @param event - The StreamingChatMessageStartEvent\n * @param listener - The listener to handle the event\n */\n public off(\n event: \"streamingChatMessageStarted\",\n listener: (e: StreamingChatMessageStartEvent) => void,\n ): void;\n\n /**\n * Unsubscribe function for streamingChatMessageChunkReceived\n * @param event - The StreamingChatMessageChunkReceivedEvent\n * @param listener - The listener to handle the event\n */\n public off(\n event: \"streamingChatMessageChunkReceived\",\n listener: (e: StreamingChatMessageChunkReceivedEvent) => void,\n ): void;\n\n public off(event: ChatEventId, listener: (e: any) => void): void {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are only supported in the browser.\");\n }\n\n this.emitter.removeListener(event, listener);\n }\n\n private subscribeToSignalingEvents(): void {\n if (this.signalingClient === undefined) {\n throw new Error(\"Realtime notifications are only supported in the browser.\");\n }\n\n this.signalingClient.on(\"connectionChanged\", (payload) => {\n if (payload === ConnectionState.Connected) {\n this.emitter.emit(\"realTimeNotificationConnected\");\n } else if (payload === ConnectionState.Disconnected) {\n this.emitter.emit(\"realTimeNotificationDisconnected\");\n }\n });\n\n this.signalingClient.on(\"chatMessageReceived\", (payload) => {\n this.emitter.emit(\"chatMessageReceived\", payload);\n });\n\n this.signalingClient.on(\"chatMessageEdited\", (payload) => {\n this.emitter.emit(\"chatMessageEdited\", payload);\n });\n\n this.signalingClient.on(\"chatMessageDeleted\", (payload) => {\n this.emitter.emit(\"chatMessageDeleted\", payload);\n });\n\n this.signalingClient.on(\"typingIndicatorReceived\", (payload) => {\n this.emitter.emit(\"typingIndicatorReceived\", payload);\n });\n\n this.signalingClient.on(\"readReceiptReceived\", (payload) => {\n this.emitter.emit(\"readReceiptReceived\", payload);\n });\n\n this.signalingClient.on(\"chatThreadCreated\", (payload) => {\n this.emitter.emit(\"chatThreadCreated\", payload);\n });\n\n this.signalingClient.on(\"chatThreadDeleted\", (payload) => {\n this.emitter.emit(\"chatThreadDeleted\", payload);\n });\n\n this.signalingClient.on(\"chatThreadPropertiesUpdated\", (payload) => {\n this.emitter.emit(\"chatThreadPropertiesUpdated\", payload);\n });\n\n this.signalingClient.on(\"participantsAdded\", (payload) => {\n this.emitter.emit(\"participantsAdded\", payload);\n });\n\n this.signalingClient.on(\"participantsRemoved\", (payload) => {\n this.emitter.emit(\"participantsRemoved\", payload);\n });\n\n this.signalingClient.on(\"streamingChatMessageStarted\", (payload) => {\n this.emitter.emit(\"streamingChatMessageStarted\", payload);\n });\n\n this.signalingClient.on(\"streamingChatMessageChunkReceived\", (payload) => {\n this.emitter.emit(\"streamingChatMessageChunkReceived\", payload);\n });\n }\n}\n"]}