@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
@@ -0,0 +1,246 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { __asyncDelegator, __asyncGenerator, __asyncValues, __await } from "tslib";
4
+ import { mapToChatParticipantRestModel, mapToCreateChatThreadOptionsRestModel, mapToCreateChatThreadResultSdkModel, } from "./models/mappers.js";
5
+ import { ChatApiClient } from "./generated/src/index.js";
6
+ import { ChatThreadClient } from "./chatThreadClient.js";
7
+ import { EventEmitter } from "events";
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";
13
+ /**
14
+ * The client to do chat operations
15
+ */
16
+ export class ChatClient {
17
+ /**
18
+ * Creates an instance of the ChatClient for a given resource and user.
19
+ *
20
+ * @param endpoint - The url of the Communication Services resource.
21
+ * @param credential - The token credential. Use AzureCommunicationTokenCredential from \@azure/communication-common to create a credential.
22
+ * @param options - Additional client options.
23
+ */
24
+ constructor(endpoint, credential, options = {}) {
25
+ this.endpoint = endpoint;
26
+ this.signalingClient = undefined;
27
+ this.emitter = new EventEmitter();
28
+ this.isRealtimeNotificationsStarted = false;
29
+ this.tokenCredential = credential;
30
+ const internalPipelineOptions = Object.assign(Object.assign({}, options), {
31
+ loggingOptions: {
32
+ logger: logger.info,
33
+ },
34
+ });
35
+ this.client = new ChatApiClient(this.endpoint, Object.assign({ endpoint: this.endpoint }, internalPipelineOptions));
36
+ const authPolicy = createCommunicationTokenCredentialPolicy(this.tokenCredential);
37
+ this.client.pipeline.addPolicy(authPolicy);
38
+ this.clientOptions = Object.assign({}, options);
39
+ this.clientOptions.signalingClientOptions = Object.assign(Object.assign({}, this.clientOptions.signalingClientOptions), { resourceEndpoint: this.endpoint, gatewayApiVersion: this.client.apiVersion });
40
+ this.signalingClient = getSignalingClient(credential, logger, this.clientOptions.signalingClientOptions);
41
+ }
42
+ /**
43
+ * Returns ChatThreadClient with the specific thread id.
44
+ * @param threadId - Thread ID for the ChatThreadClient
45
+ */
46
+ getChatThreadClient(threadId) {
47
+ return new ChatThreadClient(this.endpoint, threadId, this.tokenCredential, this.clientOptions);
48
+ }
49
+ /**
50
+ * Creates a chat thread.
51
+ * Returns thread client with the id of the created thread.
52
+ * @param request - Request for creating a chat thread.
53
+ * @param options - Operation options.
54
+ */
55
+ async createChatThread(request, options = {}) {
56
+ return tracingClient.withSpan("ChatClient-CreateChatThread", options, async (updatedOptions) => {
57
+ var _a, _b;
58
+ // We generate an UUID if the user does not provide an idempotencyToken value
59
+ updatedOptions.idempotencyToken = (_a = updatedOptions.idempotencyToken) !== null && _a !== void 0 ? _a : generateUuid();
60
+ const updatedRestModelOptions = mapToCreateChatThreadOptionsRestModel(updatedOptions);
61
+ const result = await this.client.chat.createChatThread({
62
+ topic: request.topic,
63
+ participants: (_b = options.participants) === null || _b === void 0 ? void 0 : _b.map((participant) => mapToChatParticipantRestModel(participant)),
64
+ metadata: options.metadata,
65
+ retentionPolicy: options.retentionPolicy,
66
+ }, updatedRestModelOptions);
67
+ return mapToCreateChatThreadResultSdkModel(result);
68
+ });
69
+ }
70
+ listChatThreadsPage(continuationState_1) {
71
+ return __asyncGenerator(this, arguments, function* listChatThreadsPage_1(continuationState, options = {}) {
72
+ if (!continuationState.continuationToken) {
73
+ const currentSetResponse = yield __await(this.client.chat.listChatThreads(options));
74
+ continuationState.continuationToken = currentSetResponse.nextLink;
75
+ if (currentSetResponse.value) {
76
+ yield yield __await(currentSetResponse.value);
77
+ }
78
+ }
79
+ while (continuationState.continuationToken) {
80
+ const currentSetResponse = yield __await(this.client.chat.listChatThreadsNext(continuationState.continuationToken, options));
81
+ continuationState.continuationToken = currentSetResponse.nextLink;
82
+ if (currentSetResponse.value) {
83
+ yield yield __await(currentSetResponse.value);
84
+ }
85
+ else {
86
+ break;
87
+ }
88
+ }
89
+ });
90
+ }
91
+ listChatThreadsAll(options) {
92
+ return __asyncGenerator(this, arguments, function* listChatThreadsAll_1() {
93
+ var _a, e_1, _b, _c;
94
+ try {
95
+ for (var _d = true, _e = __asyncValues(this.listChatThreadsPage({}, options)), _f; _f = yield __await(_e.next()), _a = _f.done, !_a; _d = true) {
96
+ _c = _f.value;
97
+ _d = false;
98
+ const page = _c;
99
+ yield __await(yield* __asyncDelegator(__asyncValues(page)));
100
+ }
101
+ }
102
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
103
+ finally {
104
+ try {
105
+ if (!_d && !_a && (_b = _e.return)) yield __await(_b.call(_e));
106
+ }
107
+ finally { if (e_1) throw e_1.error; }
108
+ }
109
+ });
110
+ }
111
+ /**
112
+ * Gets the list of chat threads of a user.
113
+ * @param options - List chat threads options.
114
+ */
115
+ listChatThreads(options = {}) {
116
+ const { span, updatedOptions } = tracingClient.startSpan("ChatClient-ListChatThreads", options);
117
+ try {
118
+ const iter = this.listChatThreadsAll(updatedOptions);
119
+ return {
120
+ next() {
121
+ return iter.next();
122
+ },
123
+ [Symbol.asyncIterator]() {
124
+ return this;
125
+ },
126
+ byPage: (settings = {}) => {
127
+ return this.listChatThreadsPage(settings, updatedOptions);
128
+ },
129
+ };
130
+ }
131
+ catch (e) {
132
+ span.setStatus({
133
+ error: e,
134
+ status: "error",
135
+ });
136
+ throw e;
137
+ }
138
+ finally {
139
+ span.end();
140
+ }
141
+ }
142
+ /**
143
+ * Deletes a chat thread.
144
+ * @param threadId - The ID of the thread to delete.
145
+ * @param options - Operation options.
146
+ */
147
+ async deleteChatThread(threadId, options = {}) {
148
+ return tracingClient.withSpan("ChatClient-DeleteChatThread", options, async (updatedOptions) => {
149
+ await this.client.chat.deleteChatThread(threadId, updatedOptions);
150
+ });
151
+ }
152
+ /**
153
+ * Start receiving realtime notifications.
154
+ * Call this function before subscribing to any event.
155
+ */
156
+ async startRealtimeNotifications() {
157
+ if (this.signalingClient === undefined) {
158
+ throw new Error("Realtime notifications are not supported in node js.");
159
+ }
160
+ if (this.isRealtimeNotificationsStarted) {
161
+ return;
162
+ }
163
+ this.isRealtimeNotificationsStarted = true;
164
+ await this.signalingClient.start();
165
+ this.subscribeToSignalingEvents();
166
+ }
167
+ /**
168
+ * Stop receiving realtime notifications.
169
+ * This function would unsubscribe to all events.
170
+ */
171
+ async stopRealtimeNotifications() {
172
+ if (this.signalingClient === undefined) {
173
+ throw new Error("Realtime notifications are not supported in node js.");
174
+ }
175
+ this.isRealtimeNotificationsStarted = false;
176
+ await this.signalingClient.stop();
177
+ this.emitter.removeAllListeners();
178
+ }
179
+ on(event, listener) {
180
+ if (this.signalingClient === undefined) {
181
+ throw new Error("Realtime notifications are only supported in the browser.");
182
+ }
183
+ if (!this.isRealtimeNotificationsStarted &&
184
+ event !== "realTimeNotificationConnected" &&
185
+ event !== "realTimeNotificationDisconnected") {
186
+ throw new Error("You must call startRealtimeNotifications before you can subscribe to events.");
187
+ }
188
+ this.emitter.on(event, listener);
189
+ }
190
+ off(event, listener) {
191
+ if (this.signalingClient === undefined) {
192
+ throw new Error("Realtime notifications are only supported in the browser.");
193
+ }
194
+ this.emitter.removeListener(event, listener);
195
+ }
196
+ subscribeToSignalingEvents() {
197
+ if (this.signalingClient === undefined) {
198
+ throw new Error("Realtime notifications are only supported in the browser.");
199
+ }
200
+ this.signalingClient.on("connectionChanged", (payload) => {
201
+ if (payload === 2 /* ConnectionState.Connected */) {
202
+ this.emitter.emit("realTimeNotificationConnected");
203
+ }
204
+ else if (payload === 3 /* ConnectionState.Disconnected */) {
205
+ this.emitter.emit("realTimeNotificationDisconnected");
206
+ }
207
+ });
208
+ this.signalingClient.on("chatMessageReceived", (payload) => {
209
+ this.emitter.emit("chatMessageReceived", payload);
210
+ });
211
+ this.signalingClient.on("chatMessageEdited", (payload) => {
212
+ this.emitter.emit("chatMessageEdited", payload);
213
+ });
214
+ this.signalingClient.on("chatMessageDeleted", (payload) => {
215
+ this.emitter.emit("chatMessageDeleted", payload);
216
+ });
217
+ this.signalingClient.on("typingIndicatorReceived", (payload) => {
218
+ this.emitter.emit("typingIndicatorReceived", payload);
219
+ });
220
+ this.signalingClient.on("readReceiptReceived", (payload) => {
221
+ this.emitter.emit("readReceiptReceived", payload);
222
+ });
223
+ this.signalingClient.on("chatThreadCreated", (payload) => {
224
+ this.emitter.emit("chatThreadCreated", payload);
225
+ });
226
+ this.signalingClient.on("chatThreadDeleted", (payload) => {
227
+ this.emitter.emit("chatThreadDeleted", payload);
228
+ });
229
+ this.signalingClient.on("chatThreadPropertiesUpdated", (payload) => {
230
+ this.emitter.emit("chatThreadPropertiesUpdated", payload);
231
+ });
232
+ this.signalingClient.on("participantsAdded", (payload) => {
233
+ this.emitter.emit("participantsAdded", payload);
234
+ });
235
+ this.signalingClient.on("participantsRemoved", (payload) => {
236
+ this.emitter.emit("participantsRemoved", payload);
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
+ });
244
+ }
245
+ }
246
+ //# sourceMappingURL=chatClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatClient.js","sourceRoot":"","sources":["../../src/chatClient.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;AA0BlC,OAAO,EACL,6BAA6B,EAC7B,qCAAqC,EACrC,mCAAmC,GACpC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,OAAO,EAAE,wCAAwC,EAAE,MAAM,oDAAoD,CAAC;AAC9G,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAM3D;;GAEG;AACH,MAAM,OAAO,UAAU;IAQrB;;;;;;OAMG;IACH,YACmB,QAAgB,EACjC,UAAwC,EACxC,UAA6B,EAAE;QAFd,aAAQ,GAAR,QAAQ,CAAQ;QAZlB,oBAAe,GAAgC,SAAS,CAAC;QACzD,YAAO,GAAG,IAAI,YAAY,EAAE,CAAC;QACtC,mCAA8B,GAAY,KAAK,CAAC;QActD,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;QAElC,MAAM,uBAAuB,mCACxB,OAAO,GACP;YACD,cAAc,EAAE;gBACd,MAAM,EAAE,MAAM,CAAC,IAAI;aACpB;SACF,CACF,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,kBAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ,IACpB,uBAAuB,EAC1B,CAAC;QAEH,MAAM,UAAU,GAAG,wCAAwC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAClF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAE3C,IAAI,CAAC,aAAa,qBAAQ,OAAO,CAAE,CAAC;QACpC,IAAI,CAAC,aAAa,CAAC,sBAAsB,mCACpC,IAAI,CAAC,aAAa,CAAC,sBAAsB,KAC5C,gBAAgB,EAAE,IAAI,CAAC,QAAQ,EAC/B,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,GAC1C,CAAC;QAEF,IAAI,CAAC,eAAe,GAAG,kBAAkB,CACvC,UAAU,EACV,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAC1C,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,mBAAmB,CAAC,QAAgB;QACzC,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACjG,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,gBAAgB,CAC3B,OAAgC,EAChC,UAAmC,EAAE;QAErC,OAAO,aAAa,CAAC,QAAQ,CAC3B,6BAA6B,EAC7B,OAAO,EACP,KAAK,EAAE,cAAc,EAAE,EAAE;;YACvB,6EAA6E;YAC7E,cAAc,CAAC,gBAAgB,GAAG,MAAA,cAAc,CAAC,gBAAgB,mCAAI,YAAY,EAAE,CAAC;YACpF,MAAM,uBAAuB,GAAG,qCAAqC,CAAC,cAAc,CAAC,CAAC;YAEtF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CACpD;gBACE,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,YAAY,EAAE,MAAA,OAAO,CAAC,YAAY,0CAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACtD,6BAA6B,CAAC,WAAW,CAAC,CAC3C;gBACD,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,eAAe,EAAE,OAAO,CAAC,eAAe;aACzC,EACD,uBAAuB,CACxB,CAAC;YACF,OAAO,mCAAmC,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC,CACF,CAAC;IACJ,CAAC;IAEc,mBAAmB;iFAChC,iBAAmC,EACnC,UAAkC,EAAE;YAEpC,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;gBACzC,MAAM,kBAAkB,GAAG,cAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA,CAAC;gBAC3E,iBAAiB,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,QAAQ,CAAC;gBAClE,IAAI,kBAAkB,CAAC,KAAK,EAAE,CAAC;oBAC7B,oBAAM,kBAAkB,CAAC,KAAK,CAAA,CAAC;gBACjC,CAAC;YACH,CAAC;YAED,OAAO,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;gBAC3C,MAAM,kBAAkB,GAAG,cAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CACnE,iBAAiB,CAAC,iBAAiB,EACnC,OAAO,CACR,CAAA,CAAC;gBACF,iBAAiB,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,QAAQ,CAAC;gBAClE,IAAI,kBAAkB,CAAC,KAAK,EAAE,CAAC;oBAC7B,oBAAM,kBAAkB,CAAC,KAAK,CAAA,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACN,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;KAAA;IAEc,kBAAkB,CAC/B,OAA+B;;;;gBAE/B,KAAyB,eAAA,KAAA,cAAA,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA,IAAA,+DAAE,CAAC;oBAAxC,cAAqC;oBAArC,WAAqC;oBAAnD,MAAM,IAAI,KAAA,CAAA;oBACnB,cAAA,KAAK,CAAC,CAAC,iBAAA,cAAA,IAAI,CAAA,CAAA,CAAA,CAAC;gBACd,CAAC;;;;;;;;;QACH,CAAC;KAAA;IAED;;;OAGG;IACI,eAAe,CACpB,UAAkC,EAAE;QAEpC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,aAAa,CAAC,SAAS,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;QAChG,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;YACrD,OAAO;gBACL,IAAI;oBACF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;gBACrB,CAAC;gBACD,CAAC,MAAM,CAAC,aAAa,CAAC;oBACpB,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,EAAE,CAAC,WAA6B,EAAE,EAAE,EAAE;oBAC1C,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBAC5D,CAAC;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS,CAAC;gBACb,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,OAAO;aAChB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;QACV,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,gBAAgB,CAC3B,QAAgB,EAChB,UAAmC,EAAE;QAErC,OAAO,aAAa,CAAC,QAAQ,CAC3B,6BAA6B,EAC7B,OAAO,EACP,KAAK,EAAE,cAAc,EAAE,EAAE;YACvB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QACpE,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,0BAA0B;QACrC,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,IAAI,CAAC,8BAA8B,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;QAC3C,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACpC,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,yBAAyB;QACpC,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAC;QAC5C,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;IACpC,CAAC;IAqHM,EAAE,CAAC,KAAkB,EAAE,QAA2B;QACvD,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QACD,IACE,CAAC,IAAI,CAAC,8BAA8B;YACpC,KAAK,KAAK,+BAA+B;YACzC,KAAK,KAAK,kCAAkC,EAC5C,CAAC;YACD,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IAkGM,GAAG,CAAC,KAAkB,EAAE,QAA0B;QACvD,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAEO,0BAA0B;QAChC,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,OAAO,EAAE,EAAE;YACvD,IAAI,OAAO,sCAA8B,EAAE,CAAC;gBAC1C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YACrD,CAAC;iBAAM,IAAI,OAAO,yCAAiC,EAAE,CAAC;gBACpD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YACxD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,OAAO,EAAE,EAAE;YACzD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,OAAO,EAAE,EAAE;YACvD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,OAAO,EAAE,EAAE;YACxD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,yBAAyB,EAAE,CAAC,OAAO,EAAE,EAAE;YAC7D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,OAAO,EAAE,EAAE;YACzD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,OAAO,EAAE,EAAE;YACvD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,OAAO,EAAE,EAAE;YACvD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,6BAA6B,EAAE,CAAC,OAAO,EAAE,EAAE;YACjE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,OAAO,EAAE,EAAE;YACvD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,OAAO,EAAE,EAAE;YACzD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,6BAA6B,EAAE,CAAC,OAAO,EAAE,EAAE;YACjE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,mCAAmC,EAAE,CAAC,OAAO,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC;CACF","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"]}
@@ -0,0 +1,142 @@
1
+ import type { CommunicationIdentifier, CommunicationTokenCredential } from "@azure/communication-common";
2
+ import type { PagedAsyncIterableIterator } from "@azure/core-paging";
3
+ import type { AddParticipantsRequest, SendMessageRequest, SendReadReceiptRequest } from "./models/requests.js";
4
+ import type { AddChatParticipantsResult, ChatMessage, ChatMessageReadReceipt, ChatParticipant, ChatThreadProperties, SendChatMessageResult, UploadChatImageResult } from "./models/models.js";
5
+ import type { AddParticipantsOptions, ChatThreadClientOptions, DeleteMessageOptions, GetMessageOptions, GetPropertiesOptions, ListMessagesOptions, ListParticipantsOptions, ListReadReceiptsOptions, RemoveParticipantOptions, SendMessageOptions, SendReadReceiptOptions, SendTypingNotificationOptions, UpdateMessageOptions, UpdateTopicOptions, UpdateChatThreadPropertiesOptions, DeleteImageOptions, UploadImageOptions, UploadImageStreamOptions } from "./models/options.js";
6
+ /**
7
+ * The client to do chat operations
8
+ */
9
+ export declare class ChatThreadClient {
10
+ private readonly endpoint;
11
+ /**
12
+ * Thread ID of the ChatThreadClient
13
+ */
14
+ readonly threadId: string;
15
+ private readonly tokenCredential;
16
+ private readonly client;
17
+ private readonly xhrClient?;
18
+ private timeOfLastTypingRequest;
19
+ constructor(endpoint: string, threadId: string, credential: CommunicationTokenCredential, options?: ChatThreadClientOptions);
20
+ /**
21
+ * Gets a chat thread.
22
+ * Returns the chat thread.
23
+ * @param options - Operation options.
24
+ */
25
+ getProperties(options?: GetPropertiesOptions): Promise<ChatThreadProperties>;
26
+ /**
27
+ * Updates a thread's topic.
28
+ * @param topic - The topic needs to be updated to.
29
+ * @param options - Operation options.
30
+ */
31
+ updateTopic(topic: string, options?: UpdateTopicOptions): Promise<void>;
32
+ /**
33
+ * Updates a thread's properties.
34
+ * @param options - Operation options.
35
+ */
36
+ updateProperties(options?: UpdateChatThreadPropertiesOptions): Promise<void>;
37
+ /**
38
+ * Sends a chat message to a thread identified by threadId.
39
+ * Returns the id of the created message.
40
+ * @param request - Request for sending a message.
41
+ * @param options - Operation options.
42
+ */
43
+ sendMessage(request: SendMessageRequest, options?: SendMessageOptions): Promise<SendChatMessageResult>;
44
+ /**
45
+ * Gets a chat message identified by messageId.
46
+ * Returns the specific message.
47
+ * @param messageId - The message id of the message.
48
+ * @param options - Operation options.
49
+ */
50
+ getMessage(messageId: string, options?: GetMessageOptions): Promise<ChatMessage>;
51
+ private listMessagesPage;
52
+ private listMessagesAll;
53
+ /**
54
+ * Gets a list of message from a thread identified by threadId.
55
+ * Returns the list of the messages.
56
+ * @param options - Get messages options.
57
+ */
58
+ listMessages(options?: ListMessagesOptions): PagedAsyncIterableIterator<ChatMessage>;
59
+ /**
60
+ * Deletes a message identified by threadId and messageId
61
+ * @param messageId - The message id of the message.
62
+ * @param options - Operation options.
63
+ */
64
+ deleteMessage(messageId: string, options?: DeleteMessageOptions): Promise<void>;
65
+ /**
66
+ * Updates a message identified by threadId and messageId
67
+ * @param messageId - The message id of the message.
68
+ * @param options - Operation options.
69
+ */
70
+ updateMessage(messageId: string, options?: UpdateMessageOptions): Promise<void>;
71
+ /**
72
+ * Adds the details of chat participants belonging to the thread identified by threadId.
73
+ * @param request - Thread participants' details to add in the thread roster
74
+ * @param options - Operation options.
75
+ */
76
+ addParticipants(request: AddParticipantsRequest, options?: AddParticipantsOptions): Promise<AddChatParticipantsResult>;
77
+ private listParticipantsPage;
78
+ private listParticipantsAll;
79
+ /**
80
+ * Gets the participants of the thread identified by threadId.
81
+ * Returns the lists of the participants.
82
+ * @param options - Operation options.
83
+ */
84
+ listParticipants(options?: ListParticipantsOptions): PagedAsyncIterableIterator<ChatParticipant>;
85
+ /**
86
+ * Removes participant from the thread identified by threadId.
87
+ * @param participant - Thread participant to remove from the thread roster
88
+ * @param options - Operation options.
89
+ */
90
+ removeParticipant(participant: CommunicationIdentifier, options?: RemoveParticipantOptions): Promise<void>;
91
+ /**
92
+ * Sends a typing notification to the thread.
93
+ * Doesn't attempt to send if the time since last notification is smaller than the minimum typing interval
94
+ * @param options - - Operation options
95
+ * @returns True if the typing message notification could be sent, otherwise false.
96
+ */
97
+ sendTypingNotification(options?: SendTypingNotificationOptions): Promise<boolean>;
98
+ /**
99
+ * Sends a read receipt to the thread identified by threadId.
100
+ * @param request - Request for sending a read receipt
101
+ * @param options - Operation options.
102
+ */
103
+ sendReadReceipt(request: SendReadReceiptRequest, options?: SendReadReceiptOptions): Promise<void>;
104
+ private listReadReceiptsPage;
105
+ private listReadReceiptsAll;
106
+ /**
107
+ * Gets a list of read receipt from a thread identified by threadId.
108
+ * Returns the list of the messages.
109
+ * @param options - Get messages options.
110
+ */
111
+ listReadReceipts(options?: ListReadReceiptsOptions): PagedAsyncIterableIterator<ChatMessageReadReceipt>;
112
+ private canPostTypingNotification;
113
+ /**
114
+ * Uploads an chat image to a thread identified by threadId.
115
+ * Allowed image types "jpg", "png", "gif", "heic", "webp".
116
+ * Returns the id of the uploaded image.
117
+ * @param image - Request for uploading an image.
118
+ * @param imageFilename - The image's file name with file extension.
119
+ * @param options - Operation options.
120
+ */
121
+ uploadImage(image: ArrayBuffer | Blob, imageFilename: string, options?: UploadImageOptions): Promise<UploadChatImageResult>;
122
+ /**
123
+ * Uploads an chat image stream to a thread identified by threadId.
124
+ * Allowed image types "jpg", "png", "gif", "heic", "webp".
125
+ * Returns the id of the uploaded image.
126
+ * @param image - Request for uploading an image.
127
+ * @param imageFileName - The image's file name with file extension.
128
+ * @param imageBytesLength - The image's file length in bytes.
129
+ * @param options - Operation options.
130
+ */
131
+ uploadImage(image: ReadableStream<Uint8Array> | NodeJS.ReadableStream, imageFileName: string, imageBytesLength: number, options?: UploadImageStreamOptions): Promise<UploadChatImageResult>;
132
+ /**
133
+ * Deletes an image identified by threadId and imageId
134
+ * @param imageId - The image id of the image.
135
+ * @param options - Operation options.
136
+ */
137
+ deleteImage(imageId: string, options?: DeleteImageOptions): Promise<void>;
138
+ private supportsReadableStream;
139
+ private getArrayBufferFromReadableStream;
140
+ private getArrayBufferFromBlob;
141
+ }
142
+ //# sourceMappingURL=chatThreadClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatThreadClient.d.ts","sourceRoot":"","sources":["../../src/chatThreadClient.ts"],"names":[],"mappings":"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"}