@azure/communication-chat 1.6.0-alpha.20240731.2 → 1.6.0-alpha.20250625.1

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 (439) hide show
  1. package/LICENSE +3 -3
  2. package/README.md +134 -45
  3. package/dist/browser/chatClient.d.ts +201 -0
  4. package/dist/browser/chatClient.d.ts.map +1 -0
  5. package/{dist-esm/src → dist/browser}/chatClient.js +12 -11
  6. package/dist/browser/chatClient.js.map +1 -0
  7. package/dist/browser/chatThreadClient.d.ts +113 -0
  8. package/dist/browser/chatThreadClient.d.ts.map +1 -0
  9. package/{dist-esm/src → dist/browser}/chatThreadClient.js +18 -7
  10. package/dist/browser/chatThreadClient.js.map +1 -0
  11. package/dist/browser/credential/communicationTokenCredentialPolicy.d.ts +9 -0
  12. package/dist/browser/credential/communicationTokenCredentialPolicy.d.ts.map +1 -0
  13. package/{dist-esm/src → dist/browser}/credential/communicationTokenCredentialPolicy.js +2 -2
  14. package/dist/browser/credential/communicationTokenCredentialPolicy.js.map +1 -0
  15. package/dist/browser/generated/src/chatApiClient.d.ts +18 -0
  16. package/dist/browser/generated/src/chatApiClient.d.ts.map +1 -0
  17. package/{dist-esm/src → dist/browser}/generated/src/chatApiClient.js +3 -3
  18. package/dist/browser/generated/src/chatApiClient.js.map +1 -0
  19. package/dist/browser/generated/src/index.d.ts +4 -0
  20. package/dist/browser/generated/src/index.d.ts.map +1 -0
  21. package/{dist-esm/src → dist/browser}/generated/src/index.js +3 -3
  22. package/dist/browser/generated/src/index.js.map +1 -0
  23. package/dist/browser/generated/src/models/index.d.ts +497 -0
  24. package/dist/browser/generated/src/models/index.d.ts.map +1 -0
  25. package/{dist-esm/src → dist/browser}/generated/src/models/index.js +8 -0
  26. package/dist/browser/generated/src/models/index.js.map +1 -0
  27. package/dist/browser/generated/src/models/mappers.d.ts +38 -0
  28. package/dist/browser/generated/src/models/mappers.d.ts.map +1 -0
  29. package/{dist-esm/src → dist/browser}/generated/src/models/mappers.js +100 -0
  30. package/dist/browser/generated/src/models/mappers.js.map +1 -0
  31. package/dist/browser/generated/src/models/parameters.d.ts +22 -0
  32. package/dist/browser/generated/src/models/parameters.d.ts.map +1 -0
  33. package/{dist-esm/src → dist/browser}/generated/src/models/parameters.js +2 -2
  34. package/dist/browser/generated/src/models/parameters.js.map +1 -0
  35. package/dist/browser/generated/src/operations/chat.d.ts +36 -0
  36. package/dist/browser/generated/src/operations/chat.d.ts.map +1 -0
  37. package/{dist-esm/src → dist/browser}/generated/src/operations/chat.js +3 -3
  38. package/dist/browser/generated/src/operations/chat.js.map +1 -0
  39. package/dist/browser/generated/src/operations/chatThread.d.ts +121 -0
  40. package/dist/browser/generated/src/operations/chatThread.d.ts.map +1 -0
  41. package/{dist-esm/src → dist/browser}/generated/src/operations/chatThread.js +3 -3
  42. package/dist/browser/generated/src/operations/chatThread.js.map +1 -0
  43. package/dist/browser/generated/src/operations/index.d.ts +3 -0
  44. package/dist/browser/generated/src/operations/index.d.ts.map +1 -0
  45. package/dist/browser/generated/src/operations/index.js +10 -0
  46. package/dist/browser/generated/src/operations/index.js.map +1 -0
  47. package/dist/browser/generated/src/operationsInterfaces/chat.d.ts +28 -0
  48. package/dist/browser/generated/src/operationsInterfaces/chat.d.ts.map +1 -0
  49. package/dist/browser/generated/src/operationsInterfaces/chat.js.map +1 -0
  50. package/dist/browser/generated/src/operationsInterfaces/chatThread.d.ts +113 -0
  51. package/dist/browser/generated/src/operationsInterfaces/chatThread.d.ts.map +1 -0
  52. package/dist/browser/generated/src/operationsInterfaces/chatThread.js.map +1 -0
  53. package/dist/browser/generated/src/operationsInterfaces/index.d.ts +3 -0
  54. package/dist/browser/generated/src/operationsInterfaces/index.d.ts.map +1 -0
  55. package/dist/browser/generated/src/operationsInterfaces/index.js +10 -0
  56. package/dist/browser/generated/src/operationsInterfaces/index.js.map +1 -0
  57. package/dist/browser/generated/src/tracing.d.ts +2 -0
  58. package/dist/browser/generated/src/tracing.d.ts.map +1 -0
  59. package/{dist-esm/src → dist/browser}/generated/src/tracing.js +1 -1
  60. package/{dist-esm/src → dist/browser}/generated/src/tracing.js.map +1 -1
  61. package/dist/browser/index.d.ts +7 -0
  62. package/dist/browser/index.d.ts.map +1 -0
  63. package/dist/browser/index.js +9 -0
  64. package/dist/browser/index.js.map +1 -0
  65. package/dist/browser/models/events.d.ts +4 -0
  66. package/dist/browser/models/events.d.ts.map +1 -0
  67. package/dist/browser/models/events.js +4 -0
  68. package/{dist-esm/src → dist/browser}/models/events.js.map +1 -1
  69. package/dist/browser/models/logger.d.ts +2 -0
  70. package/dist/browser/models/logger.d.ts.map +1 -0
  71. package/{dist-esm/src → dist/browser}/models/logger.js +1 -1
  72. package/{dist-esm/src → dist/browser}/models/logger.js.map +1 -1
  73. package/dist/browser/models/mappers.d.ts +55 -0
  74. package/dist/browser/models/mappers.d.ts.map +1 -0
  75. package/{dist-esm/src → dist/browser}/models/mappers.js +22 -5
  76. package/dist/browser/models/mappers.js.map +1 -0
  77. package/dist/browser/models/models.d.ts +128 -0
  78. package/dist/browser/models/models.d.ts.map +1 -0
  79. package/dist/browser/models/models.js +4 -0
  80. package/dist/browser/models/models.js.map +1 -0
  81. package/dist/browser/models/options.d.ts +116 -0
  82. package/dist/browser/models/options.d.ts.map +1 -0
  83. package/dist/browser/models/options.js.map +1 -0
  84. package/dist/browser/models/requests.d.ts +18 -0
  85. package/dist/browser/models/requests.d.ts.map +1 -0
  86. package/dist/browser/models/requests.js +4 -0
  87. package/dist/browser/models/requests.js.map +1 -0
  88. package/dist/browser/models/uuid.d.ts +8 -0
  89. package/dist/browser/models/uuid.d.ts.map +1 -0
  90. package/{dist-esm/src → dist/browser}/models/uuid.js +3 -3
  91. package/dist/browser/models/uuid.js.map +1 -0
  92. package/dist/browser/package.json +3 -0
  93. package/dist/browser/signaling/signalingClient-browser.d.mts.map +1 -0
  94. package/dist/browser/signaling/signalingClient-browser.mjs.map +1 -0
  95. package/dist/browser/signaling/signalingClient.d.ts +6 -0
  96. package/dist/browser/signaling/signalingClient.js +13 -0
  97. package/dist/browser/signaling/signalingClientOptions.d.ts +6 -0
  98. package/dist/browser/signaling/signalingClientOptions.d.ts.map +1 -0
  99. package/dist/browser/signaling/signalingClientOptions.js +4 -0
  100. package/dist/browser/signaling/signalingClientOptions.js.map +1 -0
  101. package/dist/commonjs/chatClient.d.ts +201 -0
  102. package/dist/commonjs/chatClient.d.ts.map +1 -0
  103. package/dist/commonjs/chatClient.js +245 -0
  104. package/dist/commonjs/chatClient.js.map +1 -0
  105. package/dist/commonjs/chatThreadClient.d.ts +113 -0
  106. package/dist/commonjs/chatThreadClient.d.ts.map +1 -0
  107. package/dist/commonjs/chatThreadClient.js +391 -0
  108. package/dist/commonjs/chatThreadClient.js.map +1 -0
  109. package/dist/commonjs/credential/communicationTokenCredentialPolicy.d.ts +9 -0
  110. package/dist/commonjs/credential/communicationTokenCredentialPolicy.d.ts.map +1 -0
  111. package/dist/commonjs/credential/communicationTokenCredentialPolicy.js +22 -0
  112. package/dist/commonjs/credential/communicationTokenCredentialPolicy.js.map +1 -0
  113. package/dist/commonjs/generated/src/chatApiClient.d.ts +18 -0
  114. package/dist/commonjs/generated/src/chatApiClient.d.ts.map +1 -0
  115. package/dist/commonjs/generated/src/chatApiClient.js +75 -0
  116. package/dist/commonjs/generated/src/chatApiClient.js.map +1 -0
  117. package/dist/commonjs/generated/src/index.d.ts +4 -0
  118. package/dist/commonjs/generated/src/index.d.ts.map +1 -0
  119. package/dist/commonjs/generated/src/index.js +16 -0
  120. package/dist/commonjs/generated/src/index.js.map +1 -0
  121. package/dist/commonjs/generated/src/models/index.d.ts +497 -0
  122. package/dist/commonjs/generated/src/models/index.d.ts.map +1 -0
  123. package/dist/commonjs/generated/src/models/index.js +43 -0
  124. package/dist/commonjs/generated/src/models/index.js.map +1 -0
  125. package/dist/commonjs/generated/src/models/mappers.d.ts +38 -0
  126. package/dist/commonjs/generated/src/models/mappers.d.ts.map +1 -0
  127. package/dist/commonjs/generated/src/models/mappers.js +944 -0
  128. package/dist/commonjs/generated/src/models/mappers.js.map +1 -0
  129. package/dist/commonjs/generated/src/models/parameters.d.ts +22 -0
  130. package/dist/commonjs/generated/src/models/parameters.d.ts.map +1 -0
  131. package/dist/commonjs/generated/src/models/parameters.js +166 -0
  132. package/dist/commonjs/generated/src/models/parameters.js.map +1 -0
  133. package/dist/commonjs/generated/src/operations/chat.d.ts +36 -0
  134. package/dist/commonjs/generated/src/operations/chat.d.ts.map +1 -0
  135. package/dist/commonjs/generated/src/operations/chat.js +191 -0
  136. package/dist/commonjs/generated/src/operations/chat.js.map +1 -0
  137. package/dist/commonjs/generated/src/operations/chatThread.d.ts +121 -0
  138. package/dist/commonjs/generated/src/operations/chatThread.d.ts.map +1 -0
  139. package/dist/commonjs/generated/src/operations/chatThread.js +700 -0
  140. package/dist/commonjs/generated/src/operations/chatThread.js.map +1 -0
  141. package/dist/commonjs/generated/src/operations/index.d.ts +3 -0
  142. package/dist/commonjs/generated/src/operations/index.d.ts.map +1 -0
  143. package/dist/commonjs/generated/src/operations/index.js +13 -0
  144. package/dist/commonjs/generated/src/operations/index.js.map +1 -0
  145. package/dist/commonjs/generated/src/operationsInterfaces/chat.d.ts +28 -0
  146. package/dist/commonjs/generated/src/operationsInterfaces/chat.d.ts.map +1 -0
  147. package/dist/commonjs/generated/src/operationsInterfaces/chat.js +10 -0
  148. package/dist/commonjs/generated/src/operationsInterfaces/chat.js.map +1 -0
  149. package/dist/commonjs/generated/src/operationsInterfaces/chatThread.d.ts +113 -0
  150. package/dist/commonjs/generated/src/operationsInterfaces/chatThread.d.ts.map +1 -0
  151. package/dist/commonjs/generated/src/operationsInterfaces/chatThread.js +10 -0
  152. package/dist/commonjs/generated/src/operationsInterfaces/chatThread.js.map +1 -0
  153. package/dist/commonjs/generated/src/operationsInterfaces/index.d.ts +3 -0
  154. package/dist/commonjs/generated/src/operationsInterfaces/index.d.ts.map +1 -0
  155. package/dist/commonjs/generated/src/operationsInterfaces/index.js +13 -0
  156. package/dist/commonjs/generated/src/operationsInterfaces/index.js.map +1 -0
  157. package/dist/commonjs/generated/src/tracing.d.ts +2 -0
  158. package/dist/commonjs/generated/src/tracing.d.ts.map +1 -0
  159. package/dist/commonjs/generated/src/tracing.js +17 -0
  160. package/dist/commonjs/generated/src/tracing.js.map +1 -0
  161. package/dist/commonjs/index.d.ts +7 -0
  162. package/dist/commonjs/index.d.ts.map +1 -0
  163. package/dist/commonjs/index.js +12 -0
  164. package/dist/commonjs/index.js.map +1 -0
  165. package/dist/commonjs/models/events.d.ts +4 -0
  166. package/dist/commonjs/models/events.d.ts.map +1 -0
  167. package/dist/commonjs/models/events.js +5 -0
  168. package/dist/commonjs/models/events.js.map +1 -0
  169. package/dist/commonjs/models/logger.d.ts +2 -0
  170. package/dist/commonjs/models/logger.d.ts.map +1 -0
  171. package/dist/commonjs/models/logger.js +8 -0
  172. package/dist/commonjs/models/logger.js.map +1 -0
  173. package/dist/commonjs/models/mappers.d.ts +55 -0
  174. package/dist/commonjs/models/mappers.d.ts.map +1 -0
  175. package/dist/commonjs/models/mappers.js +139 -0
  176. package/dist/commonjs/models/mappers.js.map +1 -0
  177. package/dist/commonjs/models/models.d.ts +128 -0
  178. package/dist/commonjs/models/models.d.ts.map +1 -0
  179. package/dist/commonjs/models/models.js +5 -0
  180. package/dist/commonjs/models/models.js.map +1 -0
  181. package/dist/commonjs/models/options.d.ts +116 -0
  182. package/dist/commonjs/models/options.d.ts.map +1 -0
  183. package/dist/commonjs/models/options.js +3 -0
  184. package/dist/commonjs/models/options.js.map +1 -0
  185. package/dist/commonjs/models/requests.d.ts +18 -0
  186. package/dist/commonjs/models/requests.d.ts.map +1 -0
  187. package/dist/commonjs/models/requests.js +5 -0
  188. package/dist/commonjs/models/requests.js.map +1 -0
  189. package/dist/commonjs/models/uuid.d.ts +8 -0
  190. package/dist/commonjs/models/uuid.d.ts.map +1 -0
  191. package/dist/commonjs/models/uuid.js +16 -0
  192. package/dist/commonjs/models/uuid.js.map +1 -0
  193. package/dist/commonjs/package.json +3 -0
  194. package/dist/commonjs/signaling/signalingClient.d.ts +6 -0
  195. package/dist/commonjs/signaling/signalingClient.d.ts.map +1 -0
  196. package/dist/commonjs/signaling/signalingClient.js +11 -0
  197. package/dist/commonjs/signaling/signalingClient.js.map +1 -0
  198. package/dist/commonjs/signaling/signalingClientOptions.d.ts +6 -0
  199. package/dist/commonjs/signaling/signalingClientOptions.d.ts.map +1 -0
  200. package/dist/commonjs/signaling/signalingClientOptions.js +5 -0
  201. package/dist/commonjs/signaling/signalingClientOptions.js.map +1 -0
  202. package/dist/commonjs/tsdoc-metadata.json +11 -0
  203. package/dist/esm/chatClient.d.ts +201 -0
  204. package/dist/esm/chatClient.d.ts.map +1 -0
  205. package/dist/esm/chatClient.js +241 -0
  206. package/dist/esm/chatClient.js.map +1 -0
  207. package/dist/esm/chatThreadClient.d.ts +113 -0
  208. package/dist/esm/chatThreadClient.d.ts.map +1 -0
  209. package/dist/esm/chatThreadClient.js +387 -0
  210. package/dist/esm/chatThreadClient.js.map +1 -0
  211. package/dist/esm/credential/communicationTokenCredentialPolicy.d.ts +9 -0
  212. package/dist/esm/credential/communicationTokenCredentialPolicy.d.ts.map +1 -0
  213. package/dist/esm/credential/communicationTokenCredentialPolicy.js +18 -0
  214. package/dist/esm/credential/communicationTokenCredentialPolicy.js.map +1 -0
  215. package/dist/esm/generated/src/chatApiClient.d.ts +18 -0
  216. package/dist/esm/generated/src/chatApiClient.d.ts.map +1 -0
  217. package/dist/esm/generated/src/chatApiClient.js +70 -0
  218. package/dist/esm/generated/src/chatApiClient.js.map +1 -0
  219. package/dist/esm/generated/src/index.d.ts +4 -0
  220. package/dist/esm/generated/src/index.d.ts.map +1 -0
  221. package/dist/esm/generated/src/index.js +11 -0
  222. package/dist/esm/generated/src/index.js.map +1 -0
  223. package/dist/esm/generated/src/models/index.d.ts +497 -0
  224. package/dist/esm/generated/src/models/index.d.ts.map +1 -0
  225. package/dist/esm/generated/src/models/index.js +40 -0
  226. package/dist/esm/generated/src/models/index.js.map +1 -0
  227. package/dist/esm/generated/src/models/mappers.d.ts +38 -0
  228. package/dist/esm/generated/src/models/mappers.d.ts.map +1 -0
  229. package/dist/esm/generated/src/models/mappers.js +941 -0
  230. package/dist/esm/generated/src/models/mappers.js.map +1 -0
  231. package/dist/esm/generated/src/models/parameters.d.ts +22 -0
  232. package/dist/esm/generated/src/models/parameters.d.ts.map +1 -0
  233. package/dist/esm/generated/src/models/parameters.js +163 -0
  234. package/dist/esm/generated/src/models/parameters.js.map +1 -0
  235. package/dist/esm/generated/src/operations/chat.d.ts +36 -0
  236. package/dist/esm/generated/src/operations/chat.d.ts.map +1 -0
  237. package/dist/esm/generated/src/operations/chat.js +186 -0
  238. package/dist/esm/generated/src/operations/chat.js.map +1 -0
  239. package/dist/esm/generated/src/operations/chatThread.d.ts +121 -0
  240. package/dist/esm/generated/src/operations/chatThread.d.ts.map +1 -0
  241. package/dist/esm/generated/src/operations/chatThread.js +695 -0
  242. package/dist/esm/generated/src/operations/chatThread.js.map +1 -0
  243. package/dist/esm/generated/src/operations/index.d.ts +3 -0
  244. package/dist/esm/generated/src/operations/index.d.ts.map +1 -0
  245. package/dist/esm/generated/src/operations/index.js +10 -0
  246. package/dist/esm/generated/src/operations/index.js.map +1 -0
  247. package/dist/esm/generated/src/operationsInterfaces/chat.d.ts +28 -0
  248. package/dist/esm/generated/src/operationsInterfaces/chat.d.ts.map +1 -0
  249. package/{dist-esm/src/generated/src/operationsInterfaces/index.js → dist/esm/generated/src/operationsInterfaces/chat.js} +2 -3
  250. package/dist/esm/generated/src/operationsInterfaces/chat.js.map +1 -0
  251. package/dist/esm/generated/src/operationsInterfaces/chatThread.d.ts +113 -0
  252. package/dist/esm/generated/src/operationsInterfaces/chatThread.d.ts.map +1 -0
  253. package/{dist-esm/src/generated/src/operations/index.js → dist/esm/generated/src/operationsInterfaces/chatThread.js} +2 -3
  254. package/dist/esm/generated/src/operationsInterfaces/chatThread.js.map +1 -0
  255. package/dist/esm/generated/src/operationsInterfaces/index.d.ts +3 -0
  256. package/dist/esm/generated/src/operationsInterfaces/index.d.ts.map +1 -0
  257. package/dist/esm/generated/src/operationsInterfaces/index.js +10 -0
  258. package/dist/esm/generated/src/operationsInterfaces/index.js.map +1 -0
  259. package/dist/esm/generated/src/tracing.d.ts +2 -0
  260. package/dist/esm/generated/src/tracing.d.ts.map +1 -0
  261. package/dist/esm/generated/src/tracing.js +14 -0
  262. package/dist/esm/generated/src/tracing.js.map +1 -0
  263. package/dist/esm/index.d.ts +7 -0
  264. package/dist/esm/index.d.ts.map +1 -0
  265. package/dist/esm/index.js +9 -0
  266. package/dist/esm/index.js.map +1 -0
  267. package/dist/esm/models/events.d.ts +4 -0
  268. package/dist/esm/models/events.d.ts.map +1 -0
  269. package/dist/esm/models/events.js +4 -0
  270. package/dist/esm/models/events.js.map +1 -0
  271. package/dist/esm/models/logger.d.ts +2 -0
  272. package/dist/esm/models/logger.d.ts.map +1 -0
  273. package/dist/esm/models/logger.js +5 -0
  274. package/dist/esm/models/logger.js.map +1 -0
  275. package/dist/esm/models/mappers.d.ts +55 -0
  276. package/dist/esm/models/mappers.d.ts.map +1 -0
  277. package/dist/esm/models/mappers.js +125 -0
  278. package/dist/esm/models/mappers.js.map +1 -0
  279. package/dist/esm/models/models.d.ts +128 -0
  280. package/dist/esm/models/models.d.ts.map +1 -0
  281. package/dist/esm/models/models.js +4 -0
  282. package/dist/esm/models/models.js.map +1 -0
  283. package/dist/esm/models/options.d.ts +116 -0
  284. package/dist/esm/models/options.d.ts.map +1 -0
  285. package/dist/esm/models/options.js +2 -0
  286. package/dist/esm/models/options.js.map +1 -0
  287. package/dist/esm/models/requests.d.ts +18 -0
  288. package/dist/esm/models/requests.d.ts.map +1 -0
  289. package/dist/esm/models/requests.js +4 -0
  290. package/dist/esm/models/requests.js.map +1 -0
  291. package/dist/esm/models/uuid.d.ts +8 -0
  292. package/dist/esm/models/uuid.d.ts.map +1 -0
  293. package/dist/esm/models/uuid.js +13 -0
  294. package/dist/esm/models/uuid.js.map +1 -0
  295. package/dist/esm/package.json +3 -0
  296. package/dist/esm/signaling/signalingClient.d.ts +6 -0
  297. package/dist/esm/signaling/signalingClient.d.ts.map +1 -0
  298. package/dist/esm/signaling/signalingClient.js +7 -0
  299. package/dist/esm/signaling/signalingClient.js.map +1 -0
  300. package/dist/esm/signaling/signalingClientOptions.d.ts +6 -0
  301. package/dist/esm/signaling/signalingClientOptions.d.ts.map +1 -0
  302. package/dist/esm/signaling/signalingClientOptions.js +4 -0
  303. package/dist/esm/signaling/signalingClientOptions.js.map +1 -0
  304. package/dist/react-native/chatClient.d.ts +201 -0
  305. package/dist/react-native/chatClient.d.ts.map +1 -0
  306. package/dist/react-native/chatClient.js +241 -0
  307. package/dist/react-native/chatClient.js.map +1 -0
  308. package/dist/react-native/chatThreadClient.d.ts +113 -0
  309. package/dist/react-native/chatThreadClient.d.ts.map +1 -0
  310. package/dist/react-native/chatThreadClient.js +387 -0
  311. package/dist/react-native/chatThreadClient.js.map +1 -0
  312. package/dist/react-native/credential/communicationTokenCredentialPolicy.d.ts +9 -0
  313. package/dist/react-native/credential/communicationTokenCredentialPolicy.d.ts.map +1 -0
  314. package/dist/react-native/credential/communicationTokenCredentialPolicy.js +18 -0
  315. package/dist/react-native/credential/communicationTokenCredentialPolicy.js.map +1 -0
  316. package/dist/react-native/generated/src/chatApiClient.d.ts +18 -0
  317. package/dist/react-native/generated/src/chatApiClient.d.ts.map +1 -0
  318. package/dist/react-native/generated/src/chatApiClient.js +70 -0
  319. package/dist/react-native/generated/src/chatApiClient.js.map +1 -0
  320. package/dist/react-native/generated/src/index.d.ts +4 -0
  321. package/dist/react-native/generated/src/index.d.ts.map +1 -0
  322. package/dist/react-native/generated/src/index.js +11 -0
  323. package/dist/react-native/generated/src/index.js.map +1 -0
  324. package/dist/react-native/generated/src/models/index.d.ts +497 -0
  325. package/dist/react-native/generated/src/models/index.d.ts.map +1 -0
  326. package/dist/react-native/generated/src/models/index.js +40 -0
  327. package/dist/react-native/generated/src/models/index.js.map +1 -0
  328. package/dist/react-native/generated/src/models/mappers.d.ts +38 -0
  329. package/dist/react-native/generated/src/models/mappers.d.ts.map +1 -0
  330. package/dist/react-native/generated/src/models/mappers.js +941 -0
  331. package/dist/react-native/generated/src/models/mappers.js.map +1 -0
  332. package/dist/react-native/generated/src/models/parameters.d.ts +22 -0
  333. package/dist/react-native/generated/src/models/parameters.d.ts.map +1 -0
  334. package/dist/react-native/generated/src/models/parameters.js +163 -0
  335. package/dist/react-native/generated/src/models/parameters.js.map +1 -0
  336. package/dist/react-native/generated/src/operations/chat.d.ts +36 -0
  337. package/dist/react-native/generated/src/operations/chat.d.ts.map +1 -0
  338. package/dist/react-native/generated/src/operations/chat.js +186 -0
  339. package/dist/react-native/generated/src/operations/chat.js.map +1 -0
  340. package/dist/react-native/generated/src/operations/chatThread.d.ts +121 -0
  341. package/dist/react-native/generated/src/operations/chatThread.d.ts.map +1 -0
  342. package/dist/react-native/generated/src/operations/chatThread.js +695 -0
  343. package/dist/react-native/generated/src/operations/chatThread.js.map +1 -0
  344. package/dist/react-native/generated/src/operations/index.d.ts +3 -0
  345. package/dist/react-native/generated/src/operations/index.d.ts.map +1 -0
  346. package/dist/react-native/generated/src/operations/index.js +10 -0
  347. package/dist/react-native/generated/src/operations/index.js.map +1 -0
  348. package/dist/react-native/generated/src/operationsInterfaces/chat.d.ts +28 -0
  349. package/dist/react-native/generated/src/operationsInterfaces/chat.d.ts.map +1 -0
  350. package/dist/react-native/generated/src/operationsInterfaces/chat.js +9 -0
  351. package/dist/react-native/generated/src/operationsInterfaces/chat.js.map +1 -0
  352. package/dist/react-native/generated/src/operationsInterfaces/chatThread.d.ts +113 -0
  353. package/dist/react-native/generated/src/operationsInterfaces/chatThread.d.ts.map +1 -0
  354. package/dist/react-native/generated/src/operationsInterfaces/chatThread.js +9 -0
  355. package/dist/react-native/generated/src/operationsInterfaces/chatThread.js.map +1 -0
  356. package/dist/react-native/generated/src/operationsInterfaces/index.d.ts +3 -0
  357. package/dist/react-native/generated/src/operationsInterfaces/index.d.ts.map +1 -0
  358. package/dist/react-native/generated/src/operationsInterfaces/index.js +10 -0
  359. package/dist/react-native/generated/src/operationsInterfaces/index.js.map +1 -0
  360. package/dist/react-native/generated/src/tracing.d.ts +2 -0
  361. package/dist/react-native/generated/src/tracing.d.ts.map +1 -0
  362. package/dist/react-native/generated/src/tracing.js +14 -0
  363. package/dist/react-native/generated/src/tracing.js.map +1 -0
  364. package/dist/react-native/index.d.ts +7 -0
  365. package/dist/react-native/index.d.ts.map +1 -0
  366. package/dist/react-native/index.js +9 -0
  367. package/dist/react-native/index.js.map +1 -0
  368. package/dist/react-native/models/events.d.ts +4 -0
  369. package/dist/react-native/models/events.d.ts.map +1 -0
  370. package/dist/react-native/models/events.js +4 -0
  371. package/dist/react-native/models/events.js.map +1 -0
  372. package/dist/react-native/models/logger.d.ts +2 -0
  373. package/dist/react-native/models/logger.d.ts.map +1 -0
  374. package/dist/react-native/models/logger.js +5 -0
  375. package/dist/react-native/models/logger.js.map +1 -0
  376. package/dist/react-native/models/mappers.d.ts +55 -0
  377. package/dist/react-native/models/mappers.d.ts.map +1 -0
  378. package/dist/react-native/models/mappers.js +125 -0
  379. package/dist/react-native/models/mappers.js.map +1 -0
  380. package/dist/react-native/models/models.d.ts +128 -0
  381. package/dist/react-native/models/models.d.ts.map +1 -0
  382. package/dist/react-native/models/models.js +4 -0
  383. package/dist/react-native/models/models.js.map +1 -0
  384. package/dist/react-native/models/options.d.ts +116 -0
  385. package/dist/react-native/models/options.d.ts.map +1 -0
  386. package/dist/react-native/models/options.js +2 -0
  387. package/dist/react-native/models/options.js.map +1 -0
  388. package/dist/react-native/models/requests.d.ts +18 -0
  389. package/dist/react-native/models/requests.d.ts.map +1 -0
  390. package/dist/react-native/models/requests.js +4 -0
  391. package/dist/react-native/models/requests.js.map +1 -0
  392. package/dist/react-native/models/uuid.d.ts +8 -0
  393. package/dist/react-native/models/uuid.d.ts.map +1 -0
  394. package/dist/react-native/models/uuid.js +13 -0
  395. package/dist/react-native/models/uuid.js.map +1 -0
  396. package/dist/react-native/package.json +3 -0
  397. package/dist/react-native/signaling/signalingClient-react-native.d.mts.map +1 -0
  398. package/dist/react-native/signaling/signalingClient-react-native.mjs.map +1 -0
  399. package/dist/react-native/signaling/signalingClient.d.ts +6 -0
  400. package/dist/react-native/signaling/signalingClient.js +13 -0
  401. package/dist/react-native/signaling/signalingClientOptions.d.ts +6 -0
  402. package/dist/react-native/signaling/signalingClientOptions.d.ts.map +1 -0
  403. package/dist/react-native/signaling/signalingClientOptions.js +4 -0
  404. package/dist/react-native/signaling/signalingClientOptions.js.map +1 -0
  405. package/package.json +75 -70
  406. package/dist/index.js +0 -2770
  407. package/dist/index.js.map +0 -1
  408. package/dist-esm/src/chatClient.js.map +0 -1
  409. package/dist-esm/src/chatThreadClient.js.map +0 -1
  410. package/dist-esm/src/credential/communicationTokenCredentialPolicy.js.map +0 -1
  411. package/dist-esm/src/generated/src/chatApiClient.js.map +0 -1
  412. package/dist-esm/src/generated/src/index.js.map +0 -1
  413. package/dist-esm/src/generated/src/models/index.js.map +0 -1
  414. package/dist-esm/src/generated/src/models/mappers.js.map +0 -1
  415. package/dist-esm/src/generated/src/models/parameters.js.map +0 -1
  416. package/dist-esm/src/generated/src/operations/chat.js.map +0 -1
  417. package/dist-esm/src/generated/src/operations/chatThread.js.map +0 -1
  418. package/dist-esm/src/generated/src/operations/index.js.map +0 -1
  419. package/dist-esm/src/generated/src/operationsInterfaces/chat.js.map +0 -1
  420. package/dist-esm/src/generated/src/operationsInterfaces/chatThread.js.map +0 -1
  421. package/dist-esm/src/generated/src/operationsInterfaces/index.js.map +0 -1
  422. package/dist-esm/src/index.js +0 -9
  423. package/dist-esm/src/index.js.map +0 -1
  424. package/dist-esm/src/models/events.js +0 -4
  425. package/dist-esm/src/models/mappers.js.map +0 -1
  426. package/dist-esm/src/models/models.js +0 -4
  427. package/dist-esm/src/models/models.js.map +0 -1
  428. package/dist-esm/src/models/options.js.map +0 -1
  429. package/dist-esm/src/models/requests.js +0 -4
  430. package/dist-esm/src/models/requests.js.map +0 -1
  431. package/dist-esm/src/models/uuid.js.map +0 -1
  432. package/dist-esm/src/signaling/signalingClient.browser.js +0 -12
  433. package/dist-esm/src/signaling/signalingClient.browser.js.map +0 -1
  434. package/dist-esm/src/signaling/signalingClient.js +0 -17
  435. package/dist-esm/src/signaling/signalingClient.js.map +0 -1
  436. package/types/communication-chat.d.ts +0 -676
  437. /package/{dist-esm/src → dist/browser}/generated/src/operationsInterfaces/chat.js +0 -0
  438. /package/{dist-esm/src → dist/browser}/generated/src/operationsInterfaces/chatThread.js +0 -0
  439. /package/{dist-esm/src → dist/browser}/models/options.js +0 -0
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
- The MIT License (MIT)
1
+ Copyright (c) Microsoft Corporation.
2
2
 
3
- Copyright (c) 2020 Microsoft
3
+ MIT License
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -12,7 +12,7 @@ furnished to do so, subject to the following conditions:
12
12
  The above copyright notice and this permission notice shall be included in all
13
13
  copies or substantial portions of the Software.
14
14
 
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
16
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
17
  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
18
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
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,201 @@
1
+ import type { ChatClientOptions, CreateChatThreadOptions, DeleteChatThreadOptions, ListChatThreadsOptions } from "./models/options.js";
2
+ import type { ChatMessageDeletedEvent, ChatMessageEditedEvent, ChatMessageReceivedEvent, ChatThreadCreatedEvent, ChatThreadDeletedEvent, ChatThreadPropertiesUpdatedEvent, ParticipantsAddedEvent, ParticipantsRemovedEvent, ReadReceiptReceivedEvent, 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 realTimeNotificationConnected.
129
+ * @param event - The realTimeNotificationConnected Event
130
+ * @param listener - The listener to handle the event.
131
+ */
132
+ on(event: "realTimeNotificationConnected", listener: () => void): void;
133
+ /**
134
+ * Subscribe function for realTimeNotificationDisconnected.
135
+ * @param event - The realTimeNotificationDisconnected Event
136
+ * @param listener - The listener to handle the event.
137
+ */
138
+ on(event: "realTimeNotificationDisconnected", listener: () => void): void;
139
+ /**
140
+ * Unsubscribe from chatMessageReceived.
141
+ * @param event - The ChatMessageReceivedEvent.
142
+ * @param listener - The listener to handle the event.
143
+ */
144
+ off(event: "chatMessageReceived", listener: (e: ChatMessageReceivedEvent) => void): void;
145
+ /**
146
+ * Unsubscribe from chatMessageEdited.
147
+ * @param event - The ChatMessageEditedEvent.
148
+ * @param listener - The listener to handle the event.
149
+ */
150
+ off(event: "chatMessageEdited", listener: (e: ChatMessageEditedEvent) => void): void;
151
+ /**
152
+ * Unsubscribe from chatMessageDeleted.
153
+ * @param event - The ChatMessageDeletedEvent.
154
+ * @param listener - The listener to handle the event.
155
+ */
156
+ off(event: "chatMessageDeleted", listener: (e: ChatMessageDeletedEvent) => void): void;
157
+ /**
158
+ * Unsubscribe from typingIndicatorReceived.
159
+ * @param event - The TypingIndicatorReceivedEvent.
160
+ * @param listener - The listener to handle the event.
161
+ */
162
+ off(event: "typingIndicatorReceived", listener: (e: TypingIndicatorReceivedEvent) => void): void;
163
+ /**
164
+ * Unsubscribe from readReceiptReceived.
165
+ * @param event - The ReadReceiptReceivedEvent.
166
+ * @param listener - The listener to handle the event.
167
+ */
168
+ off(event: "readReceiptReceived", listener: (e: ReadReceiptReceivedEvent) => void): void;
169
+ /**
170
+ * Unsubscribe from chatThreadCreated.
171
+ * @param event - The ChatThreadCreatedEvent.
172
+ * @param listener - The listener to handle the event.
173
+ */
174
+ off(event: "chatThreadCreated", listener: (e: ChatThreadCreatedEvent) => void): void;
175
+ /**
176
+ * Unsubscribe from chatThreadDeleted.
177
+ * @param event - The ChatThreadDeletedEvent.
178
+ * @param listener - The listener to handle the event.
179
+ */
180
+ off(event: "chatThreadDeleted", listener: (e: ChatThreadDeletedEvent) => void): void;
181
+ /**
182
+ * Unsubscribe from chatThreadPropertiesUpdated.
183
+ * @param event - The ChatThreadPropertiesUpdatedEvent.
184
+ * @param listener - The listener to handle the event.
185
+ */
186
+ off(event: "chatThreadPropertiesUpdated", listener: (e: ChatThreadPropertiesUpdatedEvent) => void): void;
187
+ /**
188
+ * Unsubscribe from participantsAdded.
189
+ * @param event - The ParticipantsAddedEvent.
190
+ * @param listener - The listener to handle the event.
191
+ */
192
+ off(event: "participantsAdded", listener: (e: ParticipantsAddedEvent) => void): void;
193
+ /**
194
+ * Unsubscribe from participantsRemoved.
195
+ * @param event - The ParticipantsRemovedEvent.
196
+ * @param listener - The listener to handle the event.
197
+ */
198
+ off(event: "participantsRemoved", listener: (e: ParticipantsRemovedEvent) => void): void;
199
+ private subscribeToSignalingEvents;
200
+ }
201
+ //# 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,17 +1,16 @@
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 { ConnectionState, } from "@azure/communication-signaling";
6
- import { mapToChatParticipantRestModel, mapToCreateChatThreadOptionsRestModel, mapToCreateChatThreadResultSdkModel, } from "./models/mappers";
7
- import { ChatApiClient } from "./generated/src";
8
- import { ChatThreadClient } from "./chatThreadClient";
4
+ import { ConnectionState } from "@azure/communication-signaling";
5
+ import { mapToChatParticipantRestModel, mapToCreateChatThreadOptionsRestModel, mapToCreateChatThreadResultSdkModel, } from "./models/mappers.js";
6
+ import { ChatApiClient } from "./generated/src/index.js";
7
+ import { ChatThreadClient } from "./chatThreadClient.js";
9
8
  import { EventEmitter } from "events";
10
- import { createCommunicationTokenCredentialPolicy } from "./credential/communicationTokenCredentialPolicy";
11
- import { generateUuid } from "./models/uuid";
12
- import { getSignalingClient } from "./signaling/signalingClient";
13
- import { logger } from "./models/logger";
14
- import { tracingClient } from "./generated/src/tracing";
9
+ import { createCommunicationTokenCredentialPolicy } from "./credential/communicationTokenCredentialPolicy.js";
10
+ import { generateUuid } from "./models/uuid.js";
11
+ import { getSignalingClient } from "./signaling/signalingClient.js";
12
+ import { logger } from "./models/logger.js";
13
+ import { tracingClient } from "./generated/src/tracing.js";
15
14
  /**
16
15
  * The client to do chat operations
17
16
  */
@@ -63,6 +62,8 @@ export class ChatClient {
63
62
  const result = await this.client.chat.createChatThread({
64
63
  topic: request.topic,
65
64
  participants: (_b = options.participants) === null || _b === void 0 ? void 0 : _b.map((participant) => mapToChatParticipantRestModel(participant)),
65
+ metadata: options.metadata,
66
+ retentionPolicy: options.retentionPolicy,
66
67
  }, updatedRestModelOptions);
67
68
  return mapToCreateChatThreadResultSdkModel(result);
68
69
  });
@@ -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 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 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 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}\n"]}