@azure/communication-call-automation 1.5.0-beta.1 → 1.6.0-alpha.20250711.2

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 (415) hide show
  1. package/README.md +51 -1
  2. package/dist/browser/callAutomationClient.d.ts +9 -2
  3. package/dist/browser/callAutomationClient.d.ts.map +1 -1
  4. package/dist/browser/callAutomationClient.js +115 -10
  5. package/dist/browser/callAutomationClient.js.map +1 -1
  6. package/dist/browser/callAutomationEventParser.d.ts.map +1 -1
  7. package/dist/browser/callAutomationEventParser.js +47 -1
  8. package/dist/browser/callAutomationEventParser.js.map +1 -1
  9. package/dist/browser/callConnection.d.ts +16 -6
  10. package/dist/browser/callConnection.d.ts.map +1 -1
  11. package/dist/browser/callConnection.js +166 -15
  12. package/dist/browser/callConnection.js.map +1 -1
  13. package/dist/browser/callMedia.d.ts +20 -10
  14. package/dist/browser/callMedia.d.ts.map +1 -1
  15. package/dist/browser/callMedia.js +190 -22
  16. package/dist/browser/callMedia.js.map +1 -1
  17. package/dist/browser/callRecording.d.ts +8 -2
  18. package/dist/browser/callRecording.d.ts.map +1 -1
  19. package/dist/browser/callRecording.js +20 -5
  20. package/dist/browser/callRecording.js.map +1 -1
  21. package/dist/browser/eventprocessor/callAutomationEventProcessor.d.ts +39 -0
  22. package/dist/browser/eventprocessor/callAutomationEventProcessor.d.ts.map +1 -0
  23. package/dist/browser/eventprocessor/callAutomationEventProcessor.js +137 -0
  24. package/dist/browser/eventprocessor/callAutomationEventProcessor.js.map +1 -0
  25. package/dist/browser/eventprocessor/eventResponses.d.ts +134 -0
  26. package/dist/browser/eventprocessor/eventResponses.d.ts.map +1 -0
  27. package/dist/browser/eventprocessor/eventResponses.js +4 -0
  28. package/dist/browser/eventprocessor/eventResponses.js.map +1 -0
  29. package/dist/browser/generated/src/callAutomationApiClient.d.ts +2 -1
  30. package/dist/browser/generated/src/callAutomationApiClient.d.ts.map +1 -1
  31. package/dist/browser/generated/src/callAutomationApiClient.js +4 -3
  32. package/dist/browser/generated/src/callAutomationApiClient.js.map +1 -1
  33. package/dist/browser/generated/src/models/index.d.ts +971 -206
  34. package/dist/browser/generated/src/models/index.d.ts.map +1 -1
  35. package/dist/browser/generated/src/models/index.js +124 -46
  36. package/dist/browser/generated/src/models/index.js.map +1 -1
  37. package/dist/browser/generated/src/models/mappers.d.ts +59 -11
  38. package/dist/browser/generated/src/models/mappers.d.ts.map +1 -1
  39. package/dist/browser/generated/src/models/mappers.js +2122 -466
  40. package/dist/browser/generated/src/models/mappers.js.map +1 -1
  41. package/dist/browser/generated/src/models/parameters.d.ts +8 -1
  42. package/dist/browser/generated/src/models/parameters.d.ts.map +1 -1
  43. package/dist/browser/generated/src/models/parameters.js +45 -6
  44. package/dist/browser/generated/src/models/parameters.js.map +1 -1
  45. package/dist/browser/generated/src/operations/callConnection.d.ts +16 -2
  46. package/dist/browser/generated/src/operations/callConnection.d.ts.map +1 -1
  47. package/dist/browser/generated/src/operations/callConnection.js +65 -1
  48. package/dist/browser/generated/src/operations/callConnection.js.map +1 -1
  49. package/dist/browser/generated/src/operations/callDialog.d.ts +35 -0
  50. package/dist/browser/generated/src/operations/callDialog.d.ts.map +1 -0
  51. package/dist/browser/generated/src/operations/callDialog.js +111 -0
  52. package/dist/browser/generated/src/operations/callDialog.js.map +1 -0
  53. package/dist/browser/generated/src/operations/callMedia.d.ts +15 -8
  54. package/dist/browser/generated/src/operations/callMedia.d.ts.map +1 -1
  55. package/dist/browser/generated/src/operations/callMedia.js +50 -25
  56. package/dist/browser/generated/src/operations/callMedia.js.map +1 -1
  57. package/dist/browser/generated/src/operations/callRecording.d.ts +7 -1
  58. package/dist/browser/generated/src/operations/callRecording.d.ts.map +1 -1
  59. package/dist/browser/generated/src/operations/callRecording.js +24 -0
  60. package/dist/browser/generated/src/operations/callRecording.js.map +1 -1
  61. package/dist/browser/generated/src/operations/index.d.ts +1 -0
  62. package/dist/browser/generated/src/operations/index.d.ts.map +1 -1
  63. package/dist/browser/generated/src/operations/index.js +1 -0
  64. package/dist/browser/generated/src/operations/index.js.map +1 -1
  65. package/dist/browser/generated/src/operationsInterfaces/callConnection.d.ts +16 -2
  66. package/dist/browser/generated/src/operationsInterfaces/callConnection.d.ts.map +1 -1
  67. package/dist/browser/generated/src/operationsInterfaces/callConnection.js.map +1 -1
  68. package/dist/browser/generated/src/operationsInterfaces/callDialog.d.ts +27 -0
  69. package/dist/browser/generated/src/operationsInterfaces/callDialog.d.ts.map +1 -0
  70. package/dist/browser/generated/src/operationsInterfaces/callDialog.js +9 -0
  71. package/dist/browser/generated/src/operationsInterfaces/callDialog.js.map +1 -0
  72. package/dist/browser/generated/src/operationsInterfaces/callMedia.d.ts +15 -8
  73. package/dist/browser/generated/src/operationsInterfaces/callMedia.d.ts.map +1 -1
  74. package/dist/browser/generated/src/operationsInterfaces/callMedia.js.map +1 -1
  75. package/dist/browser/generated/src/operationsInterfaces/callRecording.d.ts +7 -1
  76. package/dist/browser/generated/src/operationsInterfaces/callRecording.d.ts.map +1 -1
  77. package/dist/browser/generated/src/operationsInterfaces/callRecording.js.map +1 -1
  78. package/dist/browser/generated/src/operationsInterfaces/index.d.ts +1 -0
  79. package/dist/browser/generated/src/operationsInterfaces/index.d.ts.map +1 -1
  80. package/dist/browser/generated/src/operationsInterfaces/index.js +1 -0
  81. package/dist/browser/generated/src/operationsInterfaces/index.js.map +1 -1
  82. package/dist/browser/index.d.ts +2 -0
  83. package/dist/browser/index.d.ts.map +1 -1
  84. package/dist/browser/index.js +2 -0
  85. package/dist/browser/index.js.map +1 -1
  86. package/dist/browser/models/constants.js +1 -1
  87. package/dist/browser/models/constants.js.map +1 -1
  88. package/dist/browser/models/events.d.ts +188 -62
  89. package/dist/browser/models/events.d.ts.map +1 -1
  90. package/dist/browser/models/events.js.map +1 -1
  91. package/dist/browser/models/models.d.ts +85 -7
  92. package/dist/browser/models/models.d.ts.map +1 -1
  93. package/dist/browser/models/models.js +3 -1
  94. package/dist/browser/models/models.js.map +1 -1
  95. package/dist/browser/models/options.d.ts +49 -2
  96. package/dist/browser/models/options.d.ts.map +1 -1
  97. package/dist/browser/models/options.js.map +1 -1
  98. package/dist/browser/models/responses.d.ts +82 -10
  99. package/dist/browser/models/responses.d.ts.map +1 -1
  100. package/dist/browser/models/responses.js.map +1 -1
  101. package/dist/browser/utli/converters.d.ts +26 -2
  102. package/dist/browser/utli/converters.d.ts.map +1 -1
  103. package/dist/browser/utli/converters.js +114 -19
  104. package/dist/browser/utli/converters.js.map +1 -1
  105. package/dist/commonjs/callAutomationClient.d.ts +9 -2
  106. package/dist/commonjs/callAutomationClient.d.ts.map +1 -1
  107. package/dist/commonjs/callAutomationClient.js +116 -11
  108. package/dist/commonjs/callAutomationClient.js.map +1 -1
  109. package/dist/commonjs/callAutomationEventParser.d.ts.map +1 -1
  110. package/dist/commonjs/callAutomationEventParser.js +46 -0
  111. package/dist/commonjs/callAutomationEventParser.js.map +1 -1
  112. package/dist/commonjs/callConnection.d.ts +16 -6
  113. package/dist/commonjs/callConnection.d.ts.map +1 -1
  114. package/dist/commonjs/callConnection.js +167 -16
  115. package/dist/commonjs/callConnection.js.map +1 -1
  116. package/dist/commonjs/callMedia.d.ts +20 -10
  117. package/dist/commonjs/callMedia.d.ts.map +1 -1
  118. package/dist/commonjs/callMedia.js +209 -41
  119. package/dist/commonjs/callMedia.js.map +1 -1
  120. package/dist/commonjs/callRecording.d.ts +8 -2
  121. package/dist/commonjs/callRecording.d.ts.map +1 -1
  122. package/dist/commonjs/callRecording.js +20 -5
  123. package/dist/commonjs/callRecording.js.map +1 -1
  124. package/dist/commonjs/eventprocessor/callAutomationEventProcessor.d.ts +39 -0
  125. package/dist/commonjs/eventprocessor/callAutomationEventProcessor.d.ts.map +1 -0
  126. package/dist/commonjs/eventprocessor/callAutomationEventProcessor.js +141 -0
  127. package/dist/commonjs/eventprocessor/callAutomationEventProcessor.js.map +1 -0
  128. package/dist/commonjs/eventprocessor/eventResponses.d.ts +134 -0
  129. package/dist/commonjs/eventprocessor/eventResponses.d.ts.map +1 -0
  130. package/dist/commonjs/eventprocessor/eventResponses.js +5 -0
  131. package/dist/commonjs/eventprocessor/eventResponses.js.map +1 -0
  132. package/dist/commonjs/generated/src/callAutomationApiClient.d.ts +2 -1
  133. package/dist/commonjs/generated/src/callAutomationApiClient.d.ts.map +1 -1
  134. package/dist/commonjs/generated/src/callAutomationApiClient.js +3 -2
  135. package/dist/commonjs/generated/src/callAutomationApiClient.js.map +1 -1
  136. package/dist/commonjs/generated/src/models/index.d.ts +971 -206
  137. package/dist/commonjs/generated/src/models/index.d.ts.map +1 -1
  138. package/dist/commonjs/generated/src/models/index.js +125 -47
  139. package/dist/commonjs/generated/src/models/index.js.map +1 -1
  140. package/dist/commonjs/generated/src/models/mappers.d.ts +59 -11
  141. package/dist/commonjs/generated/src/models/mappers.d.ts.map +1 -1
  142. package/dist/commonjs/generated/src/models/mappers.js +2125 -469
  143. package/dist/commonjs/generated/src/models/mappers.js.map +1 -1
  144. package/dist/commonjs/generated/src/models/parameters.d.ts +8 -1
  145. package/dist/commonjs/generated/src/models/parameters.d.ts.map +1 -1
  146. package/dist/commonjs/generated/src/models/parameters.js +45 -6
  147. package/dist/commonjs/generated/src/models/parameters.js.map +1 -1
  148. package/dist/commonjs/generated/src/operations/callConnection.d.ts +16 -2
  149. package/dist/commonjs/generated/src/operations/callConnection.d.ts.map +1 -1
  150. package/dist/commonjs/generated/src/operations/callConnection.js +65 -1
  151. package/dist/commonjs/generated/src/operations/callConnection.js.map +1 -1
  152. package/dist/commonjs/generated/src/operations/callDialog.d.ts +35 -0
  153. package/dist/commonjs/generated/src/operations/callDialog.d.ts.map +1 -0
  154. package/dist/commonjs/generated/src/operations/callDialog.js +116 -0
  155. package/dist/commonjs/generated/src/operations/callDialog.js.map +1 -0
  156. package/dist/commonjs/generated/src/operations/callMedia.d.ts +15 -8
  157. package/dist/commonjs/generated/src/operations/callMedia.d.ts.map +1 -1
  158. package/dist/commonjs/generated/src/operations/callMedia.js +50 -25
  159. package/dist/commonjs/generated/src/operations/callMedia.js.map +1 -1
  160. package/dist/commonjs/generated/src/operations/callRecording.d.ts +7 -1
  161. package/dist/commonjs/generated/src/operations/callRecording.d.ts.map +1 -1
  162. package/dist/commonjs/generated/src/operations/callRecording.js +24 -0
  163. package/dist/commonjs/generated/src/operations/callRecording.js.map +1 -1
  164. package/dist/commonjs/generated/src/operations/index.d.ts +1 -0
  165. package/dist/commonjs/generated/src/operations/index.d.ts.map +1 -1
  166. package/dist/commonjs/generated/src/operations/index.js +1 -0
  167. package/dist/commonjs/generated/src/operations/index.js.map +1 -1
  168. package/dist/commonjs/generated/src/operationsInterfaces/callConnection.d.ts +16 -2
  169. package/dist/commonjs/generated/src/operationsInterfaces/callConnection.d.ts.map +1 -1
  170. package/dist/commonjs/generated/src/operationsInterfaces/callConnection.js.map +1 -1
  171. package/dist/commonjs/generated/src/operationsInterfaces/callDialog.d.ts +27 -0
  172. package/dist/commonjs/generated/src/operationsInterfaces/callDialog.d.ts.map +1 -0
  173. package/dist/commonjs/generated/src/operationsInterfaces/callDialog.js +10 -0
  174. package/dist/commonjs/generated/src/operationsInterfaces/callDialog.js.map +1 -0
  175. package/dist/commonjs/generated/src/operationsInterfaces/callMedia.d.ts +15 -8
  176. package/dist/commonjs/generated/src/operationsInterfaces/callMedia.d.ts.map +1 -1
  177. package/dist/commonjs/generated/src/operationsInterfaces/callMedia.js.map +1 -1
  178. package/dist/commonjs/generated/src/operationsInterfaces/callRecording.d.ts +7 -1
  179. package/dist/commonjs/generated/src/operationsInterfaces/callRecording.d.ts.map +1 -1
  180. package/dist/commonjs/generated/src/operationsInterfaces/callRecording.js.map +1 -1
  181. package/dist/commonjs/generated/src/operationsInterfaces/index.d.ts +1 -0
  182. package/dist/commonjs/generated/src/operationsInterfaces/index.d.ts.map +1 -1
  183. package/dist/commonjs/generated/src/operationsInterfaces/index.js +1 -0
  184. package/dist/commonjs/generated/src/operationsInterfaces/index.js.map +1 -1
  185. package/dist/commonjs/index.d.ts +2 -0
  186. package/dist/commonjs/index.d.ts.map +1 -1
  187. package/dist/commonjs/index.js +2 -0
  188. package/dist/commonjs/index.js.map +1 -1
  189. package/dist/commonjs/models/constants.js +1 -1
  190. package/dist/commonjs/models/constants.js.map +1 -1
  191. package/dist/commonjs/models/events.d.ts +188 -62
  192. package/dist/commonjs/models/events.d.ts.map +1 -1
  193. package/dist/commonjs/models/events.js.map +1 -1
  194. package/dist/commonjs/models/models.d.ts +85 -7
  195. package/dist/commonjs/models/models.d.ts.map +1 -1
  196. package/dist/commonjs/models/models.js +11 -6
  197. package/dist/commonjs/models/models.js.map +1 -1
  198. package/dist/commonjs/models/options.d.ts +49 -2
  199. package/dist/commonjs/models/options.d.ts.map +1 -1
  200. package/dist/commonjs/models/options.js.map +1 -1
  201. package/dist/commonjs/models/responses.d.ts +82 -10
  202. package/dist/commonjs/models/responses.d.ts.map +1 -1
  203. package/dist/commonjs/models/responses.js.map +1 -1
  204. package/dist/commonjs/tsdoc-metadata.json +1 -1
  205. package/dist/commonjs/utli/converters.d.ts +26 -2
  206. package/dist/commonjs/utli/converters.d.ts.map +1 -1
  207. package/dist/commonjs/utli/converters.js +119 -18
  208. package/dist/commonjs/utli/converters.js.map +1 -1
  209. package/dist/esm/callAutomationClient.d.ts +9 -2
  210. package/dist/esm/callAutomationClient.d.ts.map +1 -1
  211. package/dist/esm/callAutomationClient.js +115 -10
  212. package/dist/esm/callAutomationClient.js.map +1 -1
  213. package/dist/esm/callAutomationEventParser.d.ts.map +1 -1
  214. package/dist/esm/callAutomationEventParser.js +47 -1
  215. package/dist/esm/callAutomationEventParser.js.map +1 -1
  216. package/dist/esm/callConnection.d.ts +16 -6
  217. package/dist/esm/callConnection.d.ts.map +1 -1
  218. package/dist/esm/callConnection.js +166 -15
  219. package/dist/esm/callConnection.js.map +1 -1
  220. package/dist/esm/callMedia.d.ts +20 -10
  221. package/dist/esm/callMedia.d.ts.map +1 -1
  222. package/dist/esm/callMedia.js +190 -22
  223. package/dist/esm/callMedia.js.map +1 -1
  224. package/dist/esm/callRecording.d.ts +8 -2
  225. package/dist/esm/callRecording.d.ts.map +1 -1
  226. package/dist/esm/callRecording.js +20 -5
  227. package/dist/esm/callRecording.js.map +1 -1
  228. package/dist/esm/eventprocessor/callAutomationEventProcessor.d.ts +39 -0
  229. package/dist/esm/eventprocessor/callAutomationEventProcessor.d.ts.map +1 -0
  230. package/dist/esm/eventprocessor/callAutomationEventProcessor.js +137 -0
  231. package/dist/esm/eventprocessor/callAutomationEventProcessor.js.map +1 -0
  232. package/dist/esm/eventprocessor/eventResponses.d.ts +134 -0
  233. package/dist/esm/eventprocessor/eventResponses.d.ts.map +1 -0
  234. package/dist/esm/eventprocessor/eventResponses.js +4 -0
  235. package/dist/esm/eventprocessor/eventResponses.js.map +1 -0
  236. package/dist/esm/generated/src/callAutomationApiClient.d.ts +2 -1
  237. package/dist/esm/generated/src/callAutomationApiClient.d.ts.map +1 -1
  238. package/dist/esm/generated/src/callAutomationApiClient.js +4 -3
  239. package/dist/esm/generated/src/callAutomationApiClient.js.map +1 -1
  240. package/dist/esm/generated/src/models/index.d.ts +971 -206
  241. package/dist/esm/generated/src/models/index.d.ts.map +1 -1
  242. package/dist/esm/generated/src/models/index.js +124 -46
  243. package/dist/esm/generated/src/models/index.js.map +1 -1
  244. package/dist/esm/generated/src/models/mappers.d.ts +59 -11
  245. package/dist/esm/generated/src/models/mappers.d.ts.map +1 -1
  246. package/dist/esm/generated/src/models/mappers.js +2122 -466
  247. package/dist/esm/generated/src/models/mappers.js.map +1 -1
  248. package/dist/esm/generated/src/models/parameters.d.ts +8 -1
  249. package/dist/esm/generated/src/models/parameters.d.ts.map +1 -1
  250. package/dist/esm/generated/src/models/parameters.js +45 -6
  251. package/dist/esm/generated/src/models/parameters.js.map +1 -1
  252. package/dist/esm/generated/src/operations/callConnection.d.ts +16 -2
  253. package/dist/esm/generated/src/operations/callConnection.d.ts.map +1 -1
  254. package/dist/esm/generated/src/operations/callConnection.js +65 -1
  255. package/dist/esm/generated/src/operations/callConnection.js.map +1 -1
  256. package/dist/esm/generated/src/operations/callDialog.d.ts +35 -0
  257. package/dist/esm/generated/src/operations/callDialog.d.ts.map +1 -0
  258. package/dist/esm/generated/src/operations/callDialog.js +111 -0
  259. package/dist/esm/generated/src/operations/callDialog.js.map +1 -0
  260. package/dist/esm/generated/src/operations/callMedia.d.ts +15 -8
  261. package/dist/esm/generated/src/operations/callMedia.d.ts.map +1 -1
  262. package/dist/esm/generated/src/operations/callMedia.js +50 -25
  263. package/dist/esm/generated/src/operations/callMedia.js.map +1 -1
  264. package/dist/esm/generated/src/operations/callRecording.d.ts +7 -1
  265. package/dist/esm/generated/src/operations/callRecording.d.ts.map +1 -1
  266. package/dist/esm/generated/src/operations/callRecording.js +24 -0
  267. package/dist/esm/generated/src/operations/callRecording.js.map +1 -1
  268. package/dist/esm/generated/src/operations/index.d.ts +1 -0
  269. package/dist/esm/generated/src/operations/index.d.ts.map +1 -1
  270. package/dist/esm/generated/src/operations/index.js +1 -0
  271. package/dist/esm/generated/src/operations/index.js.map +1 -1
  272. package/dist/esm/generated/src/operationsInterfaces/callConnection.d.ts +16 -2
  273. package/dist/esm/generated/src/operationsInterfaces/callConnection.d.ts.map +1 -1
  274. package/dist/esm/generated/src/operationsInterfaces/callConnection.js.map +1 -1
  275. package/dist/esm/generated/src/operationsInterfaces/callDialog.d.ts +27 -0
  276. package/dist/esm/generated/src/operationsInterfaces/callDialog.d.ts.map +1 -0
  277. package/dist/esm/generated/src/operationsInterfaces/callDialog.js +9 -0
  278. package/dist/esm/generated/src/operationsInterfaces/callDialog.js.map +1 -0
  279. package/dist/esm/generated/src/operationsInterfaces/callMedia.d.ts +15 -8
  280. package/dist/esm/generated/src/operationsInterfaces/callMedia.d.ts.map +1 -1
  281. package/dist/esm/generated/src/operationsInterfaces/callMedia.js.map +1 -1
  282. package/dist/esm/generated/src/operationsInterfaces/callRecording.d.ts +7 -1
  283. package/dist/esm/generated/src/operationsInterfaces/callRecording.d.ts.map +1 -1
  284. package/dist/esm/generated/src/operationsInterfaces/callRecording.js.map +1 -1
  285. package/dist/esm/generated/src/operationsInterfaces/index.d.ts +1 -0
  286. package/dist/esm/generated/src/operationsInterfaces/index.d.ts.map +1 -1
  287. package/dist/esm/generated/src/operationsInterfaces/index.js +1 -0
  288. package/dist/esm/generated/src/operationsInterfaces/index.js.map +1 -1
  289. package/dist/esm/index.d.ts +2 -0
  290. package/dist/esm/index.d.ts.map +1 -1
  291. package/dist/esm/index.js +2 -0
  292. package/dist/esm/index.js.map +1 -1
  293. package/dist/esm/models/constants.js +1 -1
  294. package/dist/esm/models/constants.js.map +1 -1
  295. package/dist/esm/models/events.d.ts +188 -62
  296. package/dist/esm/models/events.d.ts.map +1 -1
  297. package/dist/esm/models/events.js.map +1 -1
  298. package/dist/esm/models/models.d.ts +85 -7
  299. package/dist/esm/models/models.d.ts.map +1 -1
  300. package/dist/esm/models/models.js +3 -1
  301. package/dist/esm/models/models.js.map +1 -1
  302. package/dist/esm/models/options.d.ts +49 -2
  303. package/dist/esm/models/options.d.ts.map +1 -1
  304. package/dist/esm/models/options.js.map +1 -1
  305. package/dist/esm/models/responses.d.ts +82 -10
  306. package/dist/esm/models/responses.d.ts.map +1 -1
  307. package/dist/esm/models/responses.js.map +1 -1
  308. package/dist/esm/utli/converters.d.ts +26 -2
  309. package/dist/esm/utli/converters.d.ts.map +1 -1
  310. package/dist/esm/utli/converters.js +114 -19
  311. package/dist/esm/utli/converters.js.map +1 -1
  312. package/dist/react-native/callAutomationClient.d.ts +9 -2
  313. package/dist/react-native/callAutomationClient.d.ts.map +1 -1
  314. package/dist/react-native/callAutomationClient.js +115 -10
  315. package/dist/react-native/callAutomationClient.js.map +1 -1
  316. package/dist/react-native/callAutomationEventParser.d.ts.map +1 -1
  317. package/dist/react-native/callAutomationEventParser.js +47 -1
  318. package/dist/react-native/callAutomationEventParser.js.map +1 -1
  319. package/dist/react-native/callConnection.d.ts +16 -6
  320. package/dist/react-native/callConnection.d.ts.map +1 -1
  321. package/dist/react-native/callConnection.js +166 -15
  322. package/dist/react-native/callConnection.js.map +1 -1
  323. package/dist/react-native/callMedia.d.ts +20 -10
  324. package/dist/react-native/callMedia.d.ts.map +1 -1
  325. package/dist/react-native/callMedia.js +190 -22
  326. package/dist/react-native/callMedia.js.map +1 -1
  327. package/dist/react-native/callRecording.d.ts +8 -2
  328. package/dist/react-native/callRecording.d.ts.map +1 -1
  329. package/dist/react-native/callRecording.js +20 -5
  330. package/dist/react-native/callRecording.js.map +1 -1
  331. package/dist/react-native/eventprocessor/callAutomationEventProcessor.d.ts +39 -0
  332. package/dist/react-native/eventprocessor/callAutomationEventProcessor.d.ts.map +1 -0
  333. package/dist/react-native/eventprocessor/callAutomationEventProcessor.js +137 -0
  334. package/dist/react-native/eventprocessor/callAutomationEventProcessor.js.map +1 -0
  335. package/dist/react-native/eventprocessor/eventResponses.d.ts +134 -0
  336. package/dist/react-native/eventprocessor/eventResponses.d.ts.map +1 -0
  337. package/dist/react-native/eventprocessor/eventResponses.js +4 -0
  338. package/dist/react-native/eventprocessor/eventResponses.js.map +1 -0
  339. package/dist/react-native/generated/src/callAutomationApiClient.d.ts +2 -1
  340. package/dist/react-native/generated/src/callAutomationApiClient.d.ts.map +1 -1
  341. package/dist/react-native/generated/src/callAutomationApiClient.js +4 -3
  342. package/dist/react-native/generated/src/callAutomationApiClient.js.map +1 -1
  343. package/dist/react-native/generated/src/models/index.d.ts +971 -206
  344. package/dist/react-native/generated/src/models/index.d.ts.map +1 -1
  345. package/dist/react-native/generated/src/models/index.js +124 -46
  346. package/dist/react-native/generated/src/models/index.js.map +1 -1
  347. package/dist/react-native/generated/src/models/mappers.d.ts +59 -11
  348. package/dist/react-native/generated/src/models/mappers.d.ts.map +1 -1
  349. package/dist/react-native/generated/src/models/mappers.js +2122 -466
  350. package/dist/react-native/generated/src/models/mappers.js.map +1 -1
  351. package/dist/react-native/generated/src/models/parameters.d.ts +8 -1
  352. package/dist/react-native/generated/src/models/parameters.d.ts.map +1 -1
  353. package/dist/react-native/generated/src/models/parameters.js +45 -6
  354. package/dist/react-native/generated/src/models/parameters.js.map +1 -1
  355. package/dist/react-native/generated/src/operations/callConnection.d.ts +16 -2
  356. package/dist/react-native/generated/src/operations/callConnection.d.ts.map +1 -1
  357. package/dist/react-native/generated/src/operations/callConnection.js +65 -1
  358. package/dist/react-native/generated/src/operations/callConnection.js.map +1 -1
  359. package/dist/react-native/generated/src/operations/callDialog.d.ts +35 -0
  360. package/dist/react-native/generated/src/operations/callDialog.d.ts.map +1 -0
  361. package/dist/react-native/generated/src/operations/callDialog.js +111 -0
  362. package/dist/react-native/generated/src/operations/callDialog.js.map +1 -0
  363. package/dist/react-native/generated/src/operations/callMedia.d.ts +15 -8
  364. package/dist/react-native/generated/src/operations/callMedia.d.ts.map +1 -1
  365. package/dist/react-native/generated/src/operations/callMedia.js +50 -25
  366. package/dist/react-native/generated/src/operations/callMedia.js.map +1 -1
  367. package/dist/react-native/generated/src/operations/callRecording.d.ts +7 -1
  368. package/dist/react-native/generated/src/operations/callRecording.d.ts.map +1 -1
  369. package/dist/react-native/generated/src/operations/callRecording.js +24 -0
  370. package/dist/react-native/generated/src/operations/callRecording.js.map +1 -1
  371. package/dist/react-native/generated/src/operations/index.d.ts +1 -0
  372. package/dist/react-native/generated/src/operations/index.d.ts.map +1 -1
  373. package/dist/react-native/generated/src/operations/index.js +1 -0
  374. package/dist/react-native/generated/src/operations/index.js.map +1 -1
  375. package/dist/react-native/generated/src/operationsInterfaces/callConnection.d.ts +16 -2
  376. package/dist/react-native/generated/src/operationsInterfaces/callConnection.d.ts.map +1 -1
  377. package/dist/react-native/generated/src/operationsInterfaces/callConnection.js.map +1 -1
  378. package/dist/react-native/generated/src/operationsInterfaces/callDialog.d.ts +27 -0
  379. package/dist/react-native/generated/src/operationsInterfaces/callDialog.d.ts.map +1 -0
  380. package/dist/react-native/generated/src/operationsInterfaces/callDialog.js +9 -0
  381. package/dist/react-native/generated/src/operationsInterfaces/callDialog.js.map +1 -0
  382. package/dist/react-native/generated/src/operationsInterfaces/callMedia.d.ts +15 -8
  383. package/dist/react-native/generated/src/operationsInterfaces/callMedia.d.ts.map +1 -1
  384. package/dist/react-native/generated/src/operationsInterfaces/callMedia.js.map +1 -1
  385. package/dist/react-native/generated/src/operationsInterfaces/callRecording.d.ts +7 -1
  386. package/dist/react-native/generated/src/operationsInterfaces/callRecording.d.ts.map +1 -1
  387. package/dist/react-native/generated/src/operationsInterfaces/callRecording.js.map +1 -1
  388. package/dist/react-native/generated/src/operationsInterfaces/index.d.ts +1 -0
  389. package/dist/react-native/generated/src/operationsInterfaces/index.d.ts.map +1 -1
  390. package/dist/react-native/generated/src/operationsInterfaces/index.js +1 -0
  391. package/dist/react-native/generated/src/operationsInterfaces/index.js.map +1 -1
  392. package/dist/react-native/index.d.ts +2 -0
  393. package/dist/react-native/index.d.ts.map +1 -1
  394. package/dist/react-native/index.js +2 -0
  395. package/dist/react-native/index.js.map +1 -1
  396. package/dist/react-native/models/constants.js +1 -1
  397. package/dist/react-native/models/constants.js.map +1 -1
  398. package/dist/react-native/models/events.d.ts +188 -62
  399. package/dist/react-native/models/events.d.ts.map +1 -1
  400. package/dist/react-native/models/events.js.map +1 -1
  401. package/dist/react-native/models/models.d.ts +85 -7
  402. package/dist/react-native/models/models.d.ts.map +1 -1
  403. package/dist/react-native/models/models.js +3 -1
  404. package/dist/react-native/models/models.js.map +1 -1
  405. package/dist/react-native/models/options.d.ts +49 -2
  406. package/dist/react-native/models/options.d.ts.map +1 -1
  407. package/dist/react-native/models/options.js.map +1 -1
  408. package/dist/react-native/models/responses.d.ts +82 -10
  409. package/dist/react-native/models/responses.d.ts.map +1 -1
  410. package/dist/react-native/models/responses.js.map +1 -1
  411. package/dist/react-native/utli/converters.d.ts +26 -2
  412. package/dist/react-native/utli/converters.d.ts.map +1 -1
  413. package/dist/react-native/utli/converters.js +114 -19
  414. package/dist/react-native/utli/converters.js.map +1 -1
  415. package/package.json +16 -22
@@ -1 +1 @@
1
- {"version":3,"file":"callAutomationClient.d.ts","sourceRoot":"","sources":["../../src/callAutomationClient.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EACL,uBAAuB,EAEvB,2BAA2B,EAC5B,MAAM,6BAA6B,CAAC;AAYrC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACnG,OAAO,KAAK,EAA4B,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAW5F;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,mBAAmB;IACtE;;OAEG;IACH,cAAc,CAAC,EAAE,2BAA2B,CAAC;CAC9C;AAUD;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0B;IAClE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAmC;IACnE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAC7D,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0B;IAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC;;;;;OAKG;gBACS,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,2BAA2B;IAE3E;;;;;OAKG;gBAED,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,eAAe,GAAG,aAAa,EAC3C,OAAO,CAAC,EAAE,2BAA2B;IAoCvC;;;OAGG;IACI,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,GAAG,cAAc;IASlE;;OAEG;IACI,gBAAgB,IAAI,aAAa;IAIxC;;OAEG;IACI,iBAAiB,IAAI,2BAA2B,GAAG,SAAS;YAIrD,kBAAkB;IAgDhC;;;;;OAKG;IACU,UAAU,CACrB,iBAAiB,EAAE,UAAU,EAC7B,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC;IAmB5B;;;;;OAKG;IACU,eAAe,CAC1B,kBAAkB,EAAE,uBAAuB,EAAE,EAC7C,WAAW,EAAE,MAAM,EAEnB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC;IAiB5B;;;;;OAKG;IACU,UAAU,CACrB,mBAAmB,EAAE,MAAM,EAC3B,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC;IA2D5B;;;;;;OAMG;IACU,YAAY,CACvB,mBAAmB,EAAE,MAAM,EAC3B,iBAAiB,EAAE,UAAU,EAC7B,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC;IAchB;;;;;OAKG;IACU,UAAU,CACrB,mBAAmB,EAAE,MAAM,EAC3B,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC;IAchB;;;;;OAKG;IACU,WAAW,CACtB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC;CA+D9B"}
1
+ {"version":3,"file":"callAutomationClient.d.ts","sourceRoot":"","sources":["../../src/callAutomationClient.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,EACV,uBAAuB,EACvB,2BAA2B,EAC5B,MAAM,6BAA6B,CAAC;AAarC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACnG,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,WAAW,EAEjB,MAAM,oBAAoB,CAAC;AAa5B,OAAO,EAAE,4BAA4B,EAAE,MAAM,kDAAkD,CAAC;AAMhG;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,mBAAmB;IACtE;;OAEG;IACH,cAAc,CAAC,EAAE,2BAA2B,CAAC;CAC9C;AAUD;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0B;IAClE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAmC;IACnE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAC7D,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0B;IAClE,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAA+B;IAC5E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC;;;;;OAKG;gBACS,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,2BAA2B;IAE3E;;;;;OAKG;gBAED,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,eAAe,GAAG,aAAa,EAC3C,OAAO,CAAC,EAAE,2BAA2B;IA2CvC;;;OAGG;IACI,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,GAAG,cAAc;IAUlE;;OAEG;IACI,gBAAgB,IAAI,aAAa;IAIxC;;OAEG;IACI,iBAAiB,IAAI,2BAA2B,GAAG,SAAS;IAInE;;OAEG;IACI,iBAAiB,IAAI,4BAA4B;YAI1C,kBAAkB;IA4EhC;;;;;OAKG;IACU,UAAU,CACrB,iBAAiB,EAAE,UAAU,EAC7B,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC;IAsB5B;;;;;OAKG;IACU,eAAe,CAC1B,kBAAkB,EAAE,uBAAuB,EAAE,EAC7C,WAAW,EAAE,MAAM,EAEnB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC;IAiB5B;;;;;OAKG;IACU,UAAU,CACrB,mBAAmB,EAAE,MAAM,EAC3B,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC;IAqF5B;;;;;;OAMG;IACU,YAAY,CACvB,mBAAmB,EAAE,MAAM,EAC3B,iBAAiB,EAAE,UAAU,EAC7B,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC;IAiBhB;;;;;OAKG;IACU,UAAU,CACrB,mBAAmB,EAAE,MAAM,EAC3B,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC;IAchB,OAAO,CAAC,kCAAkC;IA+B1C;;;;;OAKG;IACU,WAAW,CACtB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC;CAwF9B"}
@@ -4,19 +4,19 @@ exports.CallAutomationClient = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const core_auth_1 = require("@azure/core-auth");
6
6
  const communication_common_1 = require("@azure/communication-common");
7
- const communication_common_2 = require("@azure/communication-common");
8
7
  const logger_js_1 = require("./models/logger.js");
9
- const index_js_1 = require("./generated/src/index.js");
10
8
  const callConnection_js_1 = require("./callConnection.js");
11
9
  const callRecording_js_1 = require("./callRecording.js");
12
10
  const converters_js_1 = require("./utli/converters.js");
13
11
  const core_util_1 = require("@azure/core-util");
12
+ const callAutomationAuthPolicy_js_1 = require("./credential/callAutomationAuthPolicy.js");
13
+ const callAutomationEventProcessor_js_1 = require("./eventprocessor/callAutomationEventProcessor.js");
14
14
  /**
15
15
  * Checks whether the type of a value is CallAutomationClientOptions or not.
16
16
  *
17
17
  * @param options - The value being checked.
18
18
  */
19
- const isCallAutomationClientOptions = (options) => !!options && !(0, core_auth_1.isTokenCredential)(options) && !(0, communication_common_2.isKeyCredential)(options);
19
+ const isCallAutomationClientOptions = (options) => !!options && !(0, core_auth_1.isTokenCredential)(options) && !(0, communication_common_1.isKeyCredential)(options);
20
20
  /**
21
21
  * A CallAutomationClient represents a Client to the Azure Communication CallAutomation service.
22
22
  */
@@ -33,12 +33,13 @@ class CallAutomationClient {
33
33
  logger: logger_js_1.logger.info,
34
34
  },
35
35
  });
36
- const { url, credential } = (0, communication_common_2.parseClientArguments)(connectionStringOrUrl, credentialOrOptions);
36
+ const { url, credential } = (0, communication_common_1.parseClientArguments)(connectionStringOrUrl, credentialOrOptions);
37
37
  this.endpoint = url;
38
- const authPolicy = (0, communication_common_1.createCommunicationAuthPolicy)(credential);
39
38
  this.credential = credential;
40
- this.callAutomationApiClient = new index_js_1.CallAutomationApiClient(url, this.internalPipelineOptions);
41
- this.callAutomationApiClient.pipeline.addPolicy(authPolicy);
39
+ // create event processor
40
+ this.callAutomationEventProcessor = new callAutomationEventProcessor_js_1.CallAutomationEventProcessor();
41
+ // create api client (using custom api endpoint if available)
42
+ this.callAutomationApiClient = (0, callAutomationAuthPolicy_js_1.createCustomCallAutomationApiClient)(credential, this.internalPipelineOptions, this.endpoint);
42
43
  this.sourceIdentity = (0, converters_js_1.communicationUserIdentifierModelConverter)(options.sourceIdentity);
43
44
  }
44
45
  /**
@@ -46,7 +47,7 @@ class CallAutomationClient {
46
47
  * @param callConnectionId - The CallConnection id for the CallConnection instance. (ex: 421CONTOSO-cRD6-4RDc-a078-99dRANDOMf).
47
48
  */
48
49
  getCallConnection(callConnectionId) {
49
- return new callConnection_js_1.CallConnection(callConnectionId, this.endpoint, this.credential, this.internalPipelineOptions);
50
+ return new callConnection_js_1.CallConnection(callConnectionId, this.endpoint, this.credential, this.callAutomationEventProcessor, this.internalPipelineOptions);
50
51
  }
51
52
  /**
52
53
  * Initializes a new instance of CallRecording.
@@ -60,6 +61,12 @@ class CallAutomationClient {
60
61
  getSourceIdentity() {
61
62
  return (0, converters_js_1.communicationUserIdentifierConverter)(this.sourceIdentity);
62
63
  }
64
+ /**
65
+ * Get event processor to work with call automation events
66
+ */
67
+ getEventProcessor() {
68
+ return this.callAutomationEventProcessor;
69
+ }
63
70
  async createCallInternal(request, options) {
64
71
  const optionsInternal = Object.assign(Object.assign({}, options), { repeatabilityFirstSent: new Date(), repeatabilityRequestID: (0, core_util_1.randomUUID)() });
65
72
  const _a = await this.callAutomationApiClient.createCall(request, optionsInternal), { callConnectionId, answeredBy, targets, sourceCallerIdNumber, source, answeredFor } = _a, result = tslib_1.__rest(_a, ["callConnectionId", "answeredBy", "targets", "sourceCallerIdNumber", "source", "answeredFor"]);
@@ -67,10 +74,32 @@ class CallAutomationClient {
67
74
  const callConnectionPropertiesDto = Object.assign(Object.assign({}, result), { callConnectionId: callConnectionId, source: source ? (0, converters_js_1.communicationIdentifierConverter)(source) : undefined, answeredby: (0, converters_js_1.communicationUserIdentifierConverter)(answeredBy), answeredFor: answeredFor ? (0, converters_js_1.phoneNumberIdentifierConverter)(answeredFor) : undefined, targetParticipants: targets === null || targets === void 0 ? void 0 : targets.map((returnedTarget) => (0, converters_js_1.communicationIdentifierConverter)(returnedTarget)), sourceCallerIdNumber: sourceCallerIdNumber
68
75
  ? (0, converters_js_1.phoneNumberIdentifierConverter)(sourceCallerIdNumber)
69
76
  : undefined });
70
- const callConnection = new callConnection_js_1.CallConnection(callConnectionId, this.endpoint, this.credential, this.internalPipelineOptions);
77
+ const callConnection = new callConnection_js_1.CallConnection(callConnectionId, this.endpoint, this.credential, this.callAutomationEventProcessor, this.internalPipelineOptions);
71
78
  const createCallResult = {
72
79
  callConnectionProperties: callConnectionPropertiesDto,
73
80
  callConnection: callConnection,
81
+ waitForEventProcessor: async (abortSignal, timeoutInMs) => {
82
+ const createCallEventResult = {
83
+ isSuccess: false,
84
+ };
85
+ await this.callAutomationEventProcessor.waitForEventProcessor((event) => {
86
+ if (event.callConnectionId === callConnectionId && event.kind === "CallConnected") {
87
+ createCallEventResult.isSuccess = true;
88
+ createCallEventResult.successResult = event;
89
+ return true;
90
+ }
91
+ else if (event.callConnectionId === callConnectionId &&
92
+ event.kind === "CreateCallFailed") {
93
+ createCallEventResult.isSuccess = false;
94
+ createCallEventResult.failureResult = event;
95
+ return true;
96
+ }
97
+ else {
98
+ return false;
99
+ }
100
+ }, abortSignal, timeoutInMs);
101
+ return createCallEventResult;
102
+ },
74
103
  };
75
104
  return createCallResult;
76
105
  }
@@ -92,6 +121,7 @@ class CallAutomationClient {
92
121
  callIntelligenceOptions: options.callIntelligenceOptions,
93
122
  mediaStreamingOptions: options.mediaStreamingOptions,
94
123
  transcriptionOptions: options.transcriptionOptions,
124
+ customCallingContext: this.createCustomCallingContextInternal(targetParticipant.customCallingContext),
95
125
  sourceCallerIdNumber: (0, converters_js_1.PhoneNumberIdentifierModelConverter)(targetParticipant.sourceCallIdNumber),
96
126
  sourceDisplayName: targetParticipant.sourceDisplayName,
97
127
  };
@@ -133,6 +163,7 @@ class CallAutomationClient {
133
163
  mediaStreamingOptions: mediaStreamingOptions,
134
164
  transcriptionOptions: transcriptionOptions,
135
165
  callIntelligenceOptions: callIntelligenceOptions,
166
+ customCallingContext: this.createCustomCallingContextInternal(options.customCallingContext),
136
167
  operationContext: operationContext,
137
168
  callbackUri: callbackUrl,
138
169
  answeredBy: this.sourceIdentity,
@@ -143,10 +174,31 @@ class CallAutomationClient {
143
174
  const callConnectionProperties = Object.assign(Object.assign({}, result), { callConnectionId: callConnectionId, source: source ? (0, converters_js_1.communicationIdentifierConverter)(source) : undefined, answeredby: (0, converters_js_1.communicationUserIdentifierConverter)(answeredBy), answeredFor: answeredFor ? (0, converters_js_1.phoneNumberIdentifierConverter)(answeredFor) : undefined, targetParticipants: targets === null || targets === void 0 ? void 0 : targets.map((target) => (0, converters_js_1.communicationIdentifierConverter)(target)), sourceCallerIdNumber: sourceCallerIdNumber
144
175
  ? (0, converters_js_1.phoneNumberIdentifierConverter)(sourceCallerIdNumber)
145
176
  : undefined });
146
- const callConnection = new callConnection_js_1.CallConnection(callConnectionId, this.endpoint, this.credential, this.internalPipelineOptions);
177
+ const callConnection = new callConnection_js_1.CallConnection(callConnectionId, this.endpoint, this.credential, this.callAutomationEventProcessor, this.internalPipelineOptions);
147
178
  const answerCallResult = {
148
179
  callConnectionProperties: callConnectionProperties,
149
180
  callConnection: callConnection,
181
+ waitForEventProcessor: async (abortSignal, timeoutInMs) => {
182
+ const answerCallEventResult = {
183
+ isSuccess: false,
184
+ };
185
+ await this.callAutomationEventProcessor.waitForEventProcessor((event) => {
186
+ if (event.callConnectionId === callConnectionId && event.kind === "CallConnected") {
187
+ answerCallEventResult.isSuccess = true;
188
+ answerCallEventResult.successResult = event;
189
+ return true;
190
+ }
191
+ if (event.callConnectionId === callConnectionId && event.kind === "AnswerFailed") {
192
+ answerCallEventResult.isSuccess = false;
193
+ answerCallEventResult.failureResult = event;
194
+ return true;
195
+ }
196
+ else {
197
+ return false;
198
+ }
199
+ }, abortSignal, timeoutInMs);
200
+ return answerCallEventResult;
201
+ },
150
202
  };
151
203
  return answerCallResult;
152
204
  }
@@ -163,6 +215,7 @@ class CallAutomationClient {
163
215
  const request = {
164
216
  incomingCallContext: incomingCallContext,
165
217
  target: (0, converters_js_1.communicationIdentifierModelConverter)(targetParticipant.targetParticipant),
218
+ customCallingContext: this.createCustomCallingContextInternal(targetParticipant.customCallingContext),
166
219
  };
167
220
  const optionsInternal = Object.assign(Object.assign({}, options), { repeatabilityFirstSent: new Date(), repeatabilityRequestID: (0, core_util_1.randomUUID)() });
168
221
  return this.callAutomationApiClient.redirectCall(request, optionsInternal);
@@ -181,6 +234,37 @@ class CallAutomationClient {
181
234
  const optionsInternal = Object.assign(Object.assign({}, options), { repeatabilityFirstSent: new Date(), repeatabilityRequestID: (0, core_util_1.randomUUID)() });
182
235
  return this.callAutomationApiClient.rejectCall(request, optionsInternal);
183
236
  }
237
+ createCustomCallingContextInternal(customCallingContext) {
238
+ const sipHeaders = {};
239
+ const voipHeaders = {};
240
+ let teamsPhoneCallDetails = undefined;
241
+ if (customCallingContext) {
242
+ for (const header of customCallingContext) {
243
+ if (header.kind === "sipuui") {
244
+ sipHeaders[`User-To-User`] = header.value;
245
+ }
246
+ else if (header.kind === "sipx") {
247
+ if (header.sipHeaderPrefix === "X-") {
248
+ sipHeaders[`X-${header.key}`] = header.value;
249
+ }
250
+ else {
251
+ sipHeaders[`X-MS-Custom-${header.key}`] = header.value;
252
+ }
253
+ }
254
+ else if (header.kind === "voip") {
255
+ voipHeaders[`${header.key}`] = header.value;
256
+ }
257
+ else if (header.kind === "teamsPhoneCallDetails") {
258
+ teamsPhoneCallDetails = (0, converters_js_1.teamsPhoneCallDetailsModelConverter)(header);
259
+ }
260
+ }
261
+ }
262
+ return {
263
+ sipHeaders: sipHeaders,
264
+ voipHeaders: voipHeaders,
265
+ teamsPhoneCallDetails: teamsPhoneCallDetails,
266
+ };
267
+ }
184
268
  /**
185
269
  * Create connection to room call.
186
270
  * @param callLocator - Call locator to create connection.
@@ -214,10 +298,31 @@ class CallAutomationClient {
214
298
  const callConnectionProperties = Object.assign(Object.assign({}, result), { callConnectionId: callConnectionId, source: source ? (0, converters_js_1.communicationIdentifierConverter)(source) : undefined, answeredby: answeredBy ? (0, converters_js_1.communicationUserIdentifierConverter)(answeredBy) : undefined, targetParticipants: targets === null || targets === void 0 ? void 0 : targets.map((target) => (0, converters_js_1.communicationIdentifierConverter)(target)), answeredFor: answeredFor ? (0, converters_js_1.phoneNumberIdentifierConverter)(answeredFor) : undefined, sourceCallerIdNumber: sourceCallerIdNumber
215
299
  ? (0, converters_js_1.phoneNumberIdentifierConverter)(sourceCallerIdNumber)
216
300
  : undefined });
217
- const callConnection = new callConnection_js_1.CallConnection(callConnectionId, this.callAutomationApiClient.endpoint, this.credential, this.internalPipelineOptions);
301
+ const callConnection = new callConnection_js_1.CallConnection(callConnectionId, this.callAutomationApiClient.endpoint, this.credential, this.callAutomationEventProcessor, this.internalPipelineOptions);
218
302
  const connectResult = {
219
303
  callConnectionProperties: callConnectionProperties,
220
304
  callConnection: callConnection,
305
+ waitForEventProcessor: async (abortSignal, timeoutInMs) => {
306
+ const connectCallEventResult = {
307
+ isSuccess: false,
308
+ };
309
+ await this.callAutomationEventProcessor.waitForEventProcessor((event) => {
310
+ if (event.callConnectionId === callConnectionId && event.kind === "CallConnected") {
311
+ connectCallEventResult.isSuccess = true;
312
+ connectCallEventResult.successResult = event;
313
+ return true;
314
+ }
315
+ if (event.callConnectionId === callConnectionId && event.kind === "ConnectFailed") {
316
+ connectCallEventResult.isSuccess = false;
317
+ connectCallEventResult.failureResult = event;
318
+ return true;
319
+ }
320
+ else {
321
+ return false;
322
+ }
323
+ }, abortSignal, timeoutInMs);
324
+ return connectCallEventResult;
325
+ },
221
326
  };
222
327
  return connectResult;
223
328
  }
@@ -1 +1 @@
1
- {"version":3,"file":"callAutomationClient.js","sourceRoot":"","sources":["../../src/callAutomationClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { KeyCredential, TokenCredential } from \"@azure/core-auth\";\nimport { isTokenCredential } from \"@azure/core-auth\";\nimport type { CommonClientOptions } from \"@azure/core-client\";\nimport type { InternalPipelineOptions } from \"@azure/core-rest-pipeline\";\nimport {\n CommunicationIdentifier,\n createCommunicationAuthPolicy,\n CommunicationUserIdentifier,\n} from \"@azure/communication-common\";\nimport { parseClientArguments, isKeyCredential } from \"@azure/communication-common\";\nimport { logger } from \"./models/logger.js\";\nimport {\n AnswerCallRequest,\n CallAutomationApiClient,\n CommunicationUserIdentifierModel,\n CreateCallRequest,\n RedirectCallRequest,\n RejectCallRequest,\n ConnectRequest,\n} from \"./generated/src/index.js\";\nimport { CallConnection } from \"./callConnection.js\";\nimport { CallRecording } from \"./callRecording.js\";\nimport type {\n AnswerCallOptions,\n ConnectCallOptions,\n CreateCallOptions,\n RedirectCallOptions,\n RejectCallOptions,\n} from \"./models/options.js\";\nimport type { AnswerCallResult, ConnectCallResult, CreateCallResult } from \"./models/responses.js\";\nimport type { CallConnectionProperties, CallInvite, CallLocator } from \"./models/models.js\";\nimport {\n communicationIdentifierConverter,\n communicationIdentifierModelConverter,\n communicationUserIdentifierConverter,\n communicationUserIdentifierModelConverter,\n microsoftTeamsAppIdentifierModelConverter,\n phoneNumberIdentifierConverter,\n PhoneNumberIdentifierModelConverter,\n} from \"./utli/converters.js\";\nimport { randomUUID } from \"@azure/core-util\";\n/**\n * Client options used to configure CallAutomation Client API requests.\n */\nexport interface CallAutomationClientOptions extends CommonClientOptions {\n /**\n * The identifier of the source of the call for call creating/answering/inviting operation.\n */\n sourceIdentity?: CommunicationUserIdentifier;\n}\n\n/**\n * Checks whether the type of a value is CallAutomationClientOptions or not.\n *\n * @param options - The value being checked.\n */\nconst isCallAutomationClientOptions = (options: any): options is CallAutomationClientOptions =>\n !!options && !isTokenCredential(options) && !isKeyCredential(options);\n\n/**\n * A CallAutomationClient represents a Client to the Azure Communication CallAutomation service.\n */\nexport class CallAutomationClient {\n private readonly callAutomationApiClient: CallAutomationApiClient;\n private readonly sourceIdentity?: CommunicationUserIdentifierModel;\n private readonly credential: TokenCredential | KeyCredential;\n private readonly internalPipelineOptions: InternalPipelineOptions;\n private readonly endpoint: string;\n /**\n * Initializes a new instance of the CallAutomationClient class.\n * @param connectionString - Connection string to connect to an Azure Communication Service resource.\n * Example: \"endpoint=https://contoso.eastus.communications.azure.net/;accesskey=secret\";\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n constructor(connectionString: string, options?: CallAutomationClientOptions);\n\n /**\n * Initializes a new instance of the CallAutomationClient class using a TokenCredential or KeyCredential.\n * @param endpoint - The endpoint of the service (ex: https://contoso.eastus.communications.azure.net).\n * @param credential - TokenCredential or KeyCredential that is used to authenticate requests to the service.\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n constructor(\n endpoint: string,\n credential: TokenCredential | KeyCredential,\n options?: CallAutomationClientOptions,\n );\n\n constructor(\n connectionStringOrUrl: string,\n credentialOrOptions?: KeyCredential | TokenCredential | CallAutomationClientOptions,\n maybeOptions: CallAutomationClientOptions = {},\n ) {\n const options = isCallAutomationClientOptions(credentialOrOptions)\n ? credentialOrOptions\n : maybeOptions;\n\n if (!options?.userAgentOptions) {\n options.userAgentOptions = {};\n }\n\n this.internalPipelineOptions = {\n ...options,\n ...{\n loggingOptions: {\n logger: logger.info,\n },\n },\n };\n\n const { url, credential } = parseClientArguments(connectionStringOrUrl, credentialOrOptions);\n this.endpoint = url;\n const authPolicy = createCommunicationAuthPolicy(credential);\n this.credential = credential;\n\n this.callAutomationApiClient = new CallAutomationApiClient(url, this.internalPipelineOptions);\n this.callAutomationApiClient.pipeline.addPolicy(authPolicy);\n\n this.sourceIdentity = communicationUserIdentifierModelConverter(options.sourceIdentity);\n }\n\n /**\n * Initializes a new instance of CallConnection.\n * @param callConnectionId - The CallConnection id for the CallConnection instance. (ex: 421CONTOSO-cRD6-4RDc-a078-99dRANDOMf).\n */\n public getCallConnection(callConnectionId: string): CallConnection {\n return new CallConnection(\n callConnectionId,\n this.endpoint,\n this.credential,\n this.internalPipelineOptions,\n );\n }\n\n /**\n * Initializes a new instance of CallRecording.\n */\n public getCallRecording(): CallRecording {\n return new CallRecording(this.endpoint, this.credential, this.internalPipelineOptions);\n }\n\n /**\n * Get Source Identity that is used for create and answer call\n */\n public getSourceIdentity(): CommunicationUserIdentifier | undefined {\n return communicationUserIdentifierConverter(this.sourceIdentity);\n }\n\n private async createCallInternal(\n request: CreateCallRequest,\n options?: CreateCallOptions,\n ): Promise<CreateCallResult> {\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const {\n callConnectionId,\n answeredBy,\n targets,\n sourceCallerIdNumber,\n source,\n answeredFor,\n ...result\n } = await this.callAutomationApiClient.createCall(request, optionsInternal);\n\n if (callConnectionId) {\n const callConnectionPropertiesDto: CallConnectionProperties = {\n ...result,\n callConnectionId: callConnectionId,\n source: source ? communicationIdentifierConverter(source) : undefined,\n answeredby: communicationUserIdentifierConverter(answeredBy),\n answeredFor: answeredFor ? phoneNumberIdentifierConverter(answeredFor) : undefined,\n targetParticipants: targets?.map((returnedTarget) =>\n communicationIdentifierConverter(returnedTarget),\n ),\n sourceCallerIdNumber: sourceCallerIdNumber\n ? phoneNumberIdentifierConverter(sourceCallerIdNumber)\n : undefined,\n };\n const callConnection = new CallConnection(\n callConnectionId,\n this.endpoint,\n this.credential,\n this.internalPipelineOptions,\n );\n const createCallResult: CreateCallResult = {\n callConnectionProperties: callConnectionPropertiesDto,\n callConnection: callConnection,\n };\n return createCallResult;\n }\n throw \"callConnectionProperties / callConnectionId is missing in createCall result\";\n }\n\n /**\n * Create an outgoing call from source to a target identity.\n * @param targetParticipant - A single target.\n * @param callbackUrl - The callback url.\n * @param options - Additional request options contains createCallConnection api options.\n */\n public async createCall(\n targetParticipant: CallInvite,\n callbackUrl: string,\n options: CreateCallOptions = {},\n ): Promise<CreateCallResult> {\n const request: CreateCallRequest = {\n source: this.sourceIdentity,\n teamsAppSource: microsoftTeamsAppIdentifierModelConverter(options.teamsAppSource),\n targets: [communicationIdentifierModelConverter(targetParticipant.targetParticipant)],\n callbackUri: callbackUrl,\n operationContext: options.operationContext,\n callIntelligenceOptions: options.callIntelligenceOptions,\n mediaStreamingOptions: options.mediaStreamingOptions,\n transcriptionOptions: options.transcriptionOptions,\n sourceCallerIdNumber: PhoneNumberIdentifierModelConverter(\n targetParticipant.sourceCallIdNumber,\n ),\n sourceDisplayName: targetParticipant.sourceDisplayName,\n };\n\n return this.createCallInternal(request, options);\n }\n\n /**\n * Create an outgoing call from source to a group of targets identities.\n * @param targetParticipants - A group of targets identities.\n * @param callbackUrl - The callback url.\n * @param options - Additional request options contains createCallConnection api options.\n */\n public async createGroupCall(\n targetParticipants: CommunicationIdentifier[],\n callbackUrl: string,\n // eslint-disable-next-line @azure/azure-sdk/ts-naming-options\n options: CreateCallOptions = {},\n ): Promise<CreateCallResult> {\n const request: CreateCallRequest = {\n source: this.sourceIdentity,\n teamsAppSource: microsoftTeamsAppIdentifierModelConverter(options.teamsAppSource),\n targets: targetParticipants.map((target) => communicationIdentifierModelConverter(target)),\n callbackUri: callbackUrl,\n operationContext: options.operationContext,\n callIntelligenceOptions: options.callIntelligenceOptions,\n mediaStreamingOptions: options.mediaStreamingOptions,\n transcriptionOptions: options.transcriptionOptions,\n sourceCallerIdNumber: PhoneNumberIdentifierModelConverter(options.sourceCallIdNumber),\n sourceDisplayName: options.sourceDisplayName,\n };\n\n return this.createCallInternal(request, options);\n }\n\n /**\n * Answer the call.\n * @param incomingCallContext - The context associated with the call.\n * @param callbackUrl - The callback url.\n * @param options - Additional request options contains answerCall api options.\n */\n public async answerCall(\n incomingCallContext: string,\n callbackUrl: string,\n options: AnswerCallOptions = {},\n ): Promise<AnswerCallResult> {\n const {\n callIntelligenceOptions,\n mediaStreamingOptions,\n transcriptionOptions,\n operationContext,\n ...operationOptions\n } = options;\n const request: AnswerCallRequest = {\n incomingCallContext: incomingCallContext,\n mediaStreamingOptions: mediaStreamingOptions,\n transcriptionOptions: transcriptionOptions,\n callIntelligenceOptions: callIntelligenceOptions,\n operationContext: operationContext,\n callbackUri: callbackUrl,\n answeredBy: this.sourceIdentity,\n };\n const optionsInternal = {\n ...operationOptions,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const {\n callConnectionId,\n targets,\n sourceCallerIdNumber,\n answeredBy,\n source,\n answeredFor,\n ...result\n } = await this.callAutomationApiClient.answerCall(request, optionsInternal);\n\n if (callConnectionId) {\n const callConnectionProperties: CallConnectionProperties = {\n ...result,\n callConnectionId: callConnectionId,\n source: source ? communicationIdentifierConverter(source) : undefined,\n answeredby: communicationUserIdentifierConverter(answeredBy),\n answeredFor: answeredFor ? phoneNumberIdentifierConverter(answeredFor) : undefined,\n targetParticipants: targets?.map((target) => communicationIdentifierConverter(target)),\n sourceCallerIdNumber: sourceCallerIdNumber\n ? phoneNumberIdentifierConverter(sourceCallerIdNumber)\n : undefined,\n };\n const callConnection = new CallConnection(\n callConnectionId,\n this.endpoint,\n this.credential,\n this.internalPipelineOptions,\n );\n const answerCallResult: AnswerCallResult = {\n callConnectionProperties: callConnectionProperties,\n callConnection: callConnection,\n };\n return answerCallResult;\n }\n throw \"callConnectionProperties / callConnectionId is missing in createCall result\";\n }\n\n /**\n * Redirect the call.\n *\n * @param incomingCallContext - The context associated with the call.\n * @param targetParticipant - The target identity to redirect the call to.\n * @param options - Additional request options contains redirectCall api options.\n */\n public async redirectCall(\n incomingCallContext: string,\n targetParticipant: CallInvite,\n options: RedirectCallOptions = {},\n ): Promise<void> {\n const request: RedirectCallRequest = {\n incomingCallContext: incomingCallContext,\n target: communicationIdentifierModelConverter(targetParticipant.targetParticipant),\n };\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n\n return this.callAutomationApiClient.redirectCall(request, optionsInternal);\n }\n\n /**\n * Reject the call.\n *\n * @param incomingCallContext - The context associated with the call.\n * @param options - Additional request options contains rejectCall api options.\n */\n public async rejectCall(\n incomingCallContext: string,\n options: RejectCallOptions = {},\n ): Promise<void> {\n const request: RejectCallRequest = {\n incomingCallContext: incomingCallContext,\n callRejectReason: options.callRejectReason,\n };\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n\n return this.callAutomationApiClient.rejectCall(request, optionsInternal);\n }\n\n /**\n * Create connection to room call.\n * @param callLocator - Call locator to create connection.\n * @param callbackUrl - The callback url\n * @param options - Additional request options contains connect api options.\n */\n public async connectCall(\n callLocator: CallLocator,\n callbackUrl: string,\n options: ConnectCallOptions = {},\n ): Promise<ConnectCallResult> {\n const connectRequest: ConnectRequest = {\n callLocator: callLocator,\n callbackUri: callbackUrl,\n operationContext: options.operationContext,\n callIntelligenceOptions: options.callIntelligenceOptions,\n mediaStreamingOptions: options.mediaStreamingOptions,\n transcriptionOptions: options.transcriptionOptions,\n };\n\n if (callLocator.kind === \"groupCallLocator\") {\n connectRequest.callLocator.kind = \"groupCallLocator\";\n connectRequest.callLocator.groupCallId = callLocator.id;\n } else if (callLocator.kind === \"roomCallLocator\") {\n connectRequest.callLocator.kind = \"roomCallLocator\";\n connectRequest.callLocator.roomId = callLocator.id;\n } else {\n connectRequest.callLocator.kind = \"serverCallLocator\";\n connectRequest.callLocator.serverCallId = callLocator.id;\n }\n\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n\n const {\n callConnectionId,\n targets,\n sourceCallerIdNumber,\n answeredBy,\n source,\n answeredFor,\n ...result\n } = await this.callAutomationApiClient.connect(connectRequest, optionsInternal);\n\n if (callConnectionId) {\n const callConnectionProperties: CallConnectionProperties = {\n ...result,\n callConnectionId: callConnectionId,\n source: source ? communicationIdentifierConverter(source) : undefined,\n answeredby: answeredBy ? communicationUserIdentifierConverter(answeredBy) : undefined,\n targetParticipants: targets?.map((target) => communicationIdentifierConverter(target)),\n answeredFor: answeredFor ? phoneNumberIdentifierConverter(answeredFor) : undefined,\n sourceCallerIdNumber: sourceCallerIdNumber\n ? phoneNumberIdentifierConverter(sourceCallerIdNumber)\n : undefined,\n };\n const callConnection = new CallConnection(\n callConnectionId,\n this.callAutomationApiClient.endpoint,\n this.credential,\n this.internalPipelineOptions,\n );\n const connectResult: ConnectCallResult = {\n callConnectionProperties: callConnectionProperties,\n callConnection: callConnection,\n };\n return connectResult;\n }\n throw \"callConnectionProperties / callConnectionId is missing in connect result\";\n }\n}\n"]}
1
+ {"version":3,"file":"callAutomationClient.js","sourceRoot":"","sources":["../../src/callAutomationClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { KeyCredential, TokenCredential } from \"@azure/core-auth\";\nimport { isTokenCredential } from \"@azure/core-auth\";\nimport type { CommonClientOptions } from \"@azure/core-client\";\nimport type { InternalPipelineOptions } from \"@azure/core-rest-pipeline\";\nimport type {\n CommunicationIdentifier,\n CommunicationUserIdentifier,\n} from \"@azure/communication-common\";\nimport { parseClientArguments, isKeyCredential } from \"@azure/communication-common\";\nimport { logger } from \"./models/logger.js\";\nimport type {\n AnswerCallRequest,\n CallAutomationApiClient,\n CommunicationUserIdentifierModel,\n CreateCallRequest,\n RedirectCallRequest,\n RejectCallRequest,\n CustomCallingContextInternal,\n ConnectRequest,\n} from \"./generated/src/index.js\";\nimport { CallConnection } from \"./callConnection.js\";\nimport { CallRecording } from \"./callRecording.js\";\nimport type {\n AnswerCallOptions,\n ConnectCallOptions,\n CreateCallOptions,\n RedirectCallOptions,\n RejectCallOptions,\n} from \"./models/options.js\";\nimport type { AnswerCallResult, ConnectCallResult, CreateCallResult } from \"./models/responses.js\";\nimport {\n type CallConnectionProperties,\n type CallInvite,\n type CallLocator,\n type CustomCallingContext,\n} from \"./models/models.js\";\nimport {\n communicationIdentifierConverter,\n communicationIdentifierModelConverter,\n communicationUserIdentifierConverter,\n communicationUserIdentifierModelConverter,\n microsoftTeamsAppIdentifierModelConverter,\n phoneNumberIdentifierConverter,\n PhoneNumberIdentifierModelConverter,\n teamsPhoneCallDetailsModelConverter,\n} from \"./utli/converters.js\";\nimport { randomUUID } from \"@azure/core-util\";\nimport { createCustomCallAutomationApiClient } from \"./credential/callAutomationAuthPolicy.js\";\nimport { CallAutomationEventProcessor } from \"./eventprocessor/callAutomationEventProcessor.js\";\nimport type {\n AnswerCallEventResult,\n ConnectCallEventResult,\n CreateCallEventResult,\n} from \"./eventprocessor/eventResponses.js\";\n/**\n * Client options used to configure CallAutomation Client API requests.\n */\nexport interface CallAutomationClientOptions extends CommonClientOptions {\n /**\n * The identifier of the source of the call for call creating/answering/inviting operation.\n */\n sourceIdentity?: CommunicationUserIdentifier;\n}\n\n/**\n * Checks whether the type of a value is CallAutomationClientOptions or not.\n *\n * @param options - The value being checked.\n */\nconst isCallAutomationClientOptions = (options: any): options is CallAutomationClientOptions =>\n !!options && !isTokenCredential(options) && !isKeyCredential(options);\n\n/**\n * A CallAutomationClient represents a Client to the Azure Communication CallAutomation service.\n */\nexport class CallAutomationClient {\n private readonly callAutomationApiClient: CallAutomationApiClient;\n private readonly sourceIdentity?: CommunicationUserIdentifierModel;\n private readonly credential: TokenCredential | KeyCredential;\n private readonly internalPipelineOptions: InternalPipelineOptions;\n private readonly callAutomationEventProcessor: CallAutomationEventProcessor;\n private readonly endpoint: string;\n /**\n * Initializes a new instance of the CallAutomationClient class.\n * @param connectionString - Connection string to connect to an Azure Communication Service resource.\n * Example: \"endpoint=https://contoso.eastus.communications.azure.net/;accesskey=secret\";\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n constructor(connectionString: string, options?: CallAutomationClientOptions);\n\n /**\n * Initializes a new instance of the CallAutomationClient class using a TokenCredential or KeyCredential.\n * @param endpoint - The endpoint of the service (ex: https://contoso.eastus.communications.azure.net).\n * @param credential - TokenCredential or KeyCredential that is used to authenticate requests to the service.\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n constructor(\n endpoint: string,\n credential: TokenCredential | KeyCredential,\n options?: CallAutomationClientOptions,\n );\n\n constructor(\n connectionStringOrUrl: string,\n credentialOrOptions?: KeyCredential | TokenCredential | CallAutomationClientOptions,\n maybeOptions: CallAutomationClientOptions = {},\n ) {\n const options = isCallAutomationClientOptions(credentialOrOptions)\n ? credentialOrOptions\n : maybeOptions;\n\n if (!options?.userAgentOptions) {\n options.userAgentOptions = {};\n }\n\n this.internalPipelineOptions = {\n ...options,\n ...{\n loggingOptions: {\n logger: logger.info,\n },\n },\n };\n\n const { url, credential } = parseClientArguments(connectionStringOrUrl, credentialOrOptions);\n this.endpoint = url;\n\n this.credential = credential;\n\n // create event processor\n this.callAutomationEventProcessor = new CallAutomationEventProcessor();\n\n // create api client (using custom api endpoint if available)\n this.callAutomationApiClient = createCustomCallAutomationApiClient(\n credential,\n this.internalPipelineOptions,\n this.endpoint,\n );\n\n this.sourceIdentity = communicationUserIdentifierModelConverter(options.sourceIdentity);\n }\n\n /**\n * Initializes a new instance of CallConnection.\n * @param callConnectionId - The CallConnection id for the CallConnection instance. (ex: 421CONTOSO-cRD6-4RDc-a078-99dRANDOMf).\n */\n public getCallConnection(callConnectionId: string): CallConnection {\n return new CallConnection(\n callConnectionId,\n this.endpoint,\n this.credential,\n this.callAutomationEventProcessor,\n this.internalPipelineOptions,\n );\n }\n\n /**\n * Initializes a new instance of CallRecording.\n */\n public getCallRecording(): CallRecording {\n return new CallRecording(this.endpoint, this.credential, this.internalPipelineOptions);\n }\n\n /**\n * Get Source Identity that is used for create and answer call\n */\n public getSourceIdentity(): CommunicationUserIdentifier | undefined {\n return communicationUserIdentifierConverter(this.sourceIdentity);\n }\n\n /**\n * Get event processor to work with call automation events\n */\n public getEventProcessor(): CallAutomationEventProcessor {\n return this.callAutomationEventProcessor;\n }\n\n private async createCallInternal(\n request: CreateCallRequest,\n options?: CreateCallOptions,\n ): Promise<CreateCallResult> {\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const {\n callConnectionId,\n answeredBy,\n targets,\n sourceCallerIdNumber,\n source,\n answeredFor,\n ...result\n } = await this.callAutomationApiClient.createCall(request, optionsInternal);\n\n if (callConnectionId) {\n const callConnectionPropertiesDto: CallConnectionProperties = {\n ...result,\n callConnectionId: callConnectionId,\n source: source ? communicationIdentifierConverter(source) : undefined,\n answeredby: communicationUserIdentifierConverter(answeredBy),\n answeredFor: answeredFor ? phoneNumberIdentifierConverter(answeredFor) : undefined,\n targetParticipants: targets?.map((returnedTarget) =>\n communicationIdentifierConverter(returnedTarget),\n ),\n sourceCallerIdNumber: sourceCallerIdNumber\n ? phoneNumberIdentifierConverter(sourceCallerIdNumber)\n : undefined,\n };\n const callConnection = new CallConnection(\n callConnectionId,\n this.endpoint,\n this.credential,\n this.callAutomationEventProcessor,\n this.internalPipelineOptions,\n );\n const createCallResult: CreateCallResult = {\n callConnectionProperties: callConnectionPropertiesDto,\n callConnection: callConnection,\n waitForEventProcessor: async (abortSignal, timeoutInMs) => {\n const createCallEventResult: CreateCallEventResult = {\n isSuccess: false,\n };\n await this.callAutomationEventProcessor.waitForEventProcessor(\n (event) => {\n if (event.callConnectionId === callConnectionId && event.kind === \"CallConnected\") {\n createCallEventResult.isSuccess = true;\n createCallEventResult.successResult = event;\n return true;\n } else if (\n event.callConnectionId === callConnectionId &&\n event.kind === \"CreateCallFailed\"\n ) {\n createCallEventResult.isSuccess = false;\n createCallEventResult.failureResult = event;\n return true;\n } else {\n return false;\n }\n },\n abortSignal,\n timeoutInMs,\n );\n\n return createCallEventResult;\n },\n };\n return createCallResult;\n }\n throw \"callConnectionProperties / callConnectionId is missing in createCall result\";\n }\n\n /**\n * Create an outgoing call from source to a target identity.\n * @param targetParticipant - A single target.\n * @param callbackUrl - The callback url.\n * @param options - Additional request options contains createCallConnection api options.\n */\n public async createCall(\n targetParticipant: CallInvite,\n callbackUrl: string,\n options: CreateCallOptions = {},\n ): Promise<CreateCallResult> {\n const request: CreateCallRequest = {\n source: this.sourceIdentity,\n teamsAppSource: microsoftTeamsAppIdentifierModelConverter(options.teamsAppSource),\n targets: [communicationIdentifierModelConverter(targetParticipant.targetParticipant)],\n callbackUri: callbackUrl,\n operationContext: options.operationContext,\n callIntelligenceOptions: options.callIntelligenceOptions,\n mediaStreamingOptions: options.mediaStreamingOptions,\n transcriptionOptions: options.transcriptionOptions,\n customCallingContext: this.createCustomCallingContextInternal(\n targetParticipant.customCallingContext!,\n ),\n sourceCallerIdNumber: PhoneNumberIdentifierModelConverter(\n targetParticipant.sourceCallIdNumber,\n ),\n sourceDisplayName: targetParticipant.sourceDisplayName,\n };\n\n return this.createCallInternal(request, options);\n }\n\n /**\n * Create an outgoing call from source to a group of targets identities.\n * @param targetParticipants - A group of targets identities.\n * @param callbackUrl - The callback url.\n * @param options - Additional request options contains createCallConnection api options.\n */\n public async createGroupCall(\n targetParticipants: CommunicationIdentifier[],\n callbackUrl: string,\n // eslint-disable-next-line @azure/azure-sdk/ts-naming-options\n options: CreateCallOptions = {},\n ): Promise<CreateCallResult> {\n const request: CreateCallRequest = {\n source: this.sourceIdentity,\n teamsAppSource: microsoftTeamsAppIdentifierModelConverter(options.teamsAppSource),\n targets: targetParticipants.map((target) => communicationIdentifierModelConverter(target)),\n callbackUri: callbackUrl,\n operationContext: options.operationContext,\n callIntelligenceOptions: options.callIntelligenceOptions,\n mediaStreamingOptions: options.mediaStreamingOptions,\n transcriptionOptions: options.transcriptionOptions,\n sourceCallerIdNumber: PhoneNumberIdentifierModelConverter(options.sourceCallIdNumber),\n sourceDisplayName: options.sourceDisplayName,\n };\n\n return this.createCallInternal(request, options);\n }\n\n /**\n * Answer the call.\n * @param incomingCallContext - The context associated with the call.\n * @param callbackUrl - The callback url.\n * @param options - Additional request options contains answerCall api options.\n */\n public async answerCall(\n incomingCallContext: string,\n callbackUrl: string,\n options: AnswerCallOptions = {},\n ): Promise<AnswerCallResult> {\n const {\n callIntelligenceOptions,\n mediaStreamingOptions,\n transcriptionOptions,\n operationContext,\n ...operationOptions\n } = options;\n const request: AnswerCallRequest = {\n incomingCallContext: incomingCallContext,\n mediaStreamingOptions: mediaStreamingOptions,\n transcriptionOptions: transcriptionOptions,\n callIntelligenceOptions: callIntelligenceOptions,\n customCallingContext: this.createCustomCallingContextInternal(options.customCallingContext!),\n operationContext: operationContext,\n callbackUri: callbackUrl,\n answeredBy: this.sourceIdentity,\n };\n const optionsInternal = {\n ...operationOptions,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const {\n callConnectionId,\n targets,\n sourceCallerIdNumber,\n answeredBy,\n source,\n answeredFor,\n ...result\n } = await this.callAutomationApiClient.answerCall(request, optionsInternal);\n\n if (callConnectionId) {\n const callConnectionProperties: CallConnectionProperties = {\n ...result,\n callConnectionId: callConnectionId,\n source: source ? communicationIdentifierConverter(source) : undefined,\n answeredby: communicationUserIdentifierConverter(answeredBy),\n answeredFor: answeredFor ? phoneNumberIdentifierConverter(answeredFor) : undefined,\n targetParticipants: targets?.map((target) => communicationIdentifierConverter(target)),\n sourceCallerIdNumber: sourceCallerIdNumber\n ? phoneNumberIdentifierConverter(sourceCallerIdNumber)\n : undefined,\n };\n const callConnection = new CallConnection(\n callConnectionId,\n this.endpoint,\n this.credential,\n this.callAutomationEventProcessor,\n this.internalPipelineOptions,\n );\n const answerCallResult: AnswerCallResult = {\n callConnectionProperties: callConnectionProperties,\n callConnection: callConnection,\n waitForEventProcessor: async (abortSignal, timeoutInMs) => {\n const answerCallEventResult: AnswerCallEventResult = {\n isSuccess: false,\n };\n await this.callAutomationEventProcessor.waitForEventProcessor(\n (event) => {\n if (event.callConnectionId === callConnectionId && event.kind === \"CallConnected\") {\n answerCallEventResult.isSuccess = true;\n answerCallEventResult.successResult = event;\n return true;\n }\n if (event.callConnectionId === callConnectionId && event.kind === \"AnswerFailed\") {\n answerCallEventResult.isSuccess = false;\n answerCallEventResult.failureResult = event;\n return true;\n } else {\n return false;\n }\n },\n abortSignal,\n timeoutInMs,\n );\n return answerCallEventResult;\n },\n };\n return answerCallResult;\n }\n throw \"callConnectionProperties / callConnectionId is missing in createCall result\";\n }\n\n /**\n * Redirect the call.\n *\n * @param incomingCallContext - The context associated with the call.\n * @param targetParticipant - The target identity to redirect the call to.\n * @param options - Additional request options contains redirectCall api options.\n */\n public async redirectCall(\n incomingCallContext: string,\n targetParticipant: CallInvite,\n options: RedirectCallOptions = {},\n ): Promise<void> {\n const request: RedirectCallRequest = {\n incomingCallContext: incomingCallContext,\n target: communicationIdentifierModelConverter(targetParticipant.targetParticipant),\n customCallingContext: this.createCustomCallingContextInternal(\n targetParticipant.customCallingContext!,\n ),\n };\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n\n return this.callAutomationApiClient.redirectCall(request, optionsInternal);\n }\n\n /**\n * Reject the call.\n *\n * @param incomingCallContext - The context associated with the call.\n * @param options - Additional request options contains rejectCall api options.\n */\n public async rejectCall(\n incomingCallContext: string,\n options: RejectCallOptions = {},\n ): Promise<void> {\n const request: RejectCallRequest = {\n incomingCallContext: incomingCallContext,\n callRejectReason: options.callRejectReason,\n };\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n\n return this.callAutomationApiClient.rejectCall(request, optionsInternal);\n }\n\n private createCustomCallingContextInternal(\n customCallingContext: CustomCallingContext,\n ): CustomCallingContextInternal {\n const sipHeaders: { [key: string]: string } = {};\n const voipHeaders: { [key: string]: string } = {};\n let teamsPhoneCallDetails: any = undefined;\n\n if (customCallingContext) {\n for (const header of customCallingContext) {\n if (header.kind === \"sipuui\") {\n sipHeaders[`User-To-User`] = header.value;\n } else if (header.kind === \"sipx\") {\n if (header.sipHeaderPrefix === \"X-\") {\n sipHeaders[`X-${header.key}`] = header.value;\n } else {\n sipHeaders[`X-MS-Custom-${header.key}`] = header.value;\n }\n } else if (header.kind === \"voip\") {\n voipHeaders[`${header.key}`] = header.value;\n } else if (header.kind === \"teamsPhoneCallDetails\") {\n teamsPhoneCallDetails = teamsPhoneCallDetailsModelConverter(header);\n }\n }\n }\n return {\n sipHeaders: sipHeaders,\n voipHeaders: voipHeaders,\n teamsPhoneCallDetails: teamsPhoneCallDetails,\n };\n }\n\n /**\n * Create connection to room call.\n * @param callLocator - Call locator to create connection.\n * @param callbackUrl - The callback url\n * @param options - Additional request options contains connect api options.\n */\n public async connectCall(\n callLocator: CallLocator,\n callbackUrl: string,\n options: ConnectCallOptions = {},\n ): Promise<ConnectCallResult> {\n const connectRequest: ConnectRequest = {\n callLocator: callLocator,\n callbackUri: callbackUrl,\n operationContext: options.operationContext,\n callIntelligenceOptions: options.callIntelligenceOptions,\n mediaStreamingOptions: options.mediaStreamingOptions,\n transcriptionOptions: options.transcriptionOptions,\n };\n\n if (callLocator.kind === \"groupCallLocator\") {\n connectRequest.callLocator.kind = \"groupCallLocator\";\n connectRequest.callLocator.groupCallId = callLocator.id;\n } else if (callLocator.kind === \"roomCallLocator\") {\n connectRequest.callLocator.kind = \"roomCallLocator\";\n connectRequest.callLocator.roomId = callLocator.id;\n } else {\n connectRequest.callLocator.kind = \"serverCallLocator\";\n connectRequest.callLocator.serverCallId = callLocator.id;\n }\n\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n\n const {\n callConnectionId,\n targets,\n sourceCallerIdNumber,\n answeredBy,\n source,\n answeredFor,\n ...result\n } = await this.callAutomationApiClient.connect(connectRequest, optionsInternal);\n\n if (callConnectionId) {\n const callConnectionProperties: CallConnectionProperties = {\n ...result,\n callConnectionId: callConnectionId,\n source: source ? communicationIdentifierConverter(source) : undefined,\n answeredby: answeredBy ? communicationUserIdentifierConverter(answeredBy) : undefined,\n targetParticipants: targets?.map((target) => communicationIdentifierConverter(target)),\n answeredFor: answeredFor ? phoneNumberIdentifierConverter(answeredFor) : undefined,\n sourceCallerIdNumber: sourceCallerIdNumber\n ? phoneNumberIdentifierConverter(sourceCallerIdNumber)\n : undefined,\n };\n const callConnection = new CallConnection(\n callConnectionId,\n this.callAutomationApiClient.endpoint,\n this.credential,\n this.callAutomationEventProcessor,\n this.internalPipelineOptions,\n );\n const connectResult: ConnectCallResult = {\n callConnectionProperties: callConnectionProperties,\n callConnection: callConnection,\n waitForEventProcessor: async (abortSignal, timeoutInMs) => {\n const connectCallEventResult: ConnectCallEventResult = {\n isSuccess: false,\n };\n await this.callAutomationEventProcessor.waitForEventProcessor(\n (event) => {\n if (event.callConnectionId === callConnectionId && event.kind === \"CallConnected\") {\n connectCallEventResult.isSuccess = true;\n connectCallEventResult.successResult = event;\n return true;\n }\n if (event.callConnectionId === callConnectionId && event.kind === \"ConnectFailed\") {\n connectCallEventResult.isSuccess = false;\n connectCallEventResult.failureResult = event;\n return true;\n } else {\n return false;\n }\n },\n abortSignal,\n timeoutInMs,\n );\n return connectCallEventResult;\n },\n };\n return connectResult;\n }\n throw \"callConnectionProperties / callConnectionId is missing in connect result\";\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"callAutomationEventParser.d.ts","sourceRoot":"","sources":["../../src/callAutomationEventParser.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,mBAAmB,EAsCpB,MAAM,oBAAoB,CAAC;AAO5B;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9C,mBAAmB,CA2IrB"}
1
+ {"version":3,"file":"callAutomationEventParser.d.ts","sourceRoot":"","sources":["../../src/callAutomationEventParser.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,mBAAmB,EA8CpB,MAAM,oBAAoB,CAAC;AAO5B;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9C,mBAAmB,CA4LrB"}
@@ -37,11 +37,39 @@ function parseCallAutomationEvent(encodedEvents) {
37
37
  callbackEvent = { kind: "RemoveParticipantFailed" };
38
38
  parsed.participant = (0, converters_js_1.communicationIdentifierConverter)(data.participant);
39
39
  break;
40
+ case "Microsoft.Communication.MoveParticipantSucceeded":
41
+ callbackEvent = { kind: "MoveParticipantSucceeded" };
42
+ parsed.participant = (0, converters_js_1.communicationIdentifierConverter)(data.participant);
43
+ parsed.fromCall = data.fromCall;
44
+ break;
45
+ case "Microsoft.Communication.MoveParticipantFailed":
46
+ callbackEvent = { kind: "MoveParticipantFailed" };
47
+ parsed.participant = (0, converters_js_1.communicationIdentifierConverter)(data.participant);
48
+ parsed.fromCall = data.fromCall;
49
+ break;
40
50
  case "Microsoft.Communication.CallConnected":
41
51
  callbackEvent = { kind: "CallConnected" };
42
52
  break;
43
53
  case "Microsoft.Communication.IncomingCall":
44
54
  callbackEvent = { kind: "IncomingCall" };
55
+ // Normalize customContext: convert undefined to null and ensure all properties are null if undefined
56
+ if (data.customContext === undefined) {
57
+ parsed.customContext = {
58
+ voipHeaders: null,
59
+ sipHeaders: null,
60
+ teamsPhoneCallDetails: null,
61
+ };
62
+ }
63
+ else if (data.customContext) {
64
+ // If customContext exists, ensure its properties are null instead of undefined
65
+ parsed.customContext = {
66
+ voipHeaders: data.customContext.voipHeaders === undefined ? null : data.customContext.voipHeaders,
67
+ sipHeaders: data.customContext.sipHeaders === undefined ? null : data.customContext.sipHeaders,
68
+ teamsPhoneCallDetails: data.customContext.teamsPhoneCallDetails === undefined
69
+ ? null
70
+ : (0, converters_js_1.teamsPhoneCallDetailsConverter)(data.customContext.teamsPhoneCallDetails),
71
+ };
72
+ }
45
73
  break;
46
74
  case "Microsoft.Communication.CallDisconnected":
47
75
  callbackEvent = { kind: "CallDisconnected" };
@@ -143,6 +171,24 @@ function parseCallAutomationEvent(encodedEvents) {
143
171
  case "Microsoft.Communication.PlayStarted":
144
172
  callbackEvent = { kind: "PlayStarted" };
145
173
  break;
174
+ case "Microsoft.Communication.PlayPaused":
175
+ callbackEvent = { kind: "PlayPaused" };
176
+ break;
177
+ case "Microsoft.Communication.PlayResumed":
178
+ callbackEvent = { kind: "PlayResumed" };
179
+ break;
180
+ case "Microsoft.Communication.HoldAudioStarted":
181
+ callbackEvent = { kind: "HoldAudioStarted" };
182
+ break;
183
+ case "Microsoft.Communication.HoldAudioPaused":
184
+ callbackEvent = { kind: "HoldAudioPaused" };
185
+ break;
186
+ case "Microsoft.Communication.HoldAudioResumed":
187
+ callbackEvent = { kind: "HoldAudioResumed" };
188
+ break;
189
+ case "Microsoft.Communication.HoldAudioCompleted":
190
+ callbackEvent = { kind: "HoldAudioCompleted" };
191
+ break;
146
192
  default:
147
193
  throw new TypeError(`Unknown Call Automation Event type: ${eventType}`);
148
194
  }
@@ -1 +1 @@
1
- {"version":3,"file":"callAutomationEventParser.js","sourceRoot":"","sources":["../../src/callAutomationEventParser.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;AAqDlC,4DA6IC;;AAhMD,oDAAsD;AACtD,wDAAkG;AA0ClG,kDAAsD;AAGtD,MAAM,UAAU,GAAG,IAAA,8BAAgB,GAAE,CAAC;AAEtC;;GAEG;AACH,SAAgB,wBAAwB,CACtC,aAA+C;IAE/C,MAAM,YAAY,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;IAEjD,mBAAmB;IACnB,MAAM,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC,4BAAgB,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;IAChF,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;IAC/B,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC;IAEpC,0CAA0C;IAC1C,IAAI,aAAkC,CAAC;IACvC,IAAI,MAAM,GAAQ,IAAI,CAAC;IACvB,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,iDAAiD;YACpD,aAAa,GAAG,EAAE,IAAI,EAAE,yBAAyB,EAA6B,CAAC;YAC/E,MAAM,CAAC,WAAW,GAAG,IAAA,gDAAgC,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxE,MAAM;QACR,KAAK,8CAA8C;YACjD,aAAa,GAAG,EAAE,IAAI,EAAE,sBAAsB,EAA0B,CAAC;YACzE,MAAM,CAAC,WAAW,GAAG,IAAA,gDAAgC,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxE,MAAM;QACR,KAAK,oDAAoD;YACvD,aAAa,GAAG,EAAE,IAAI,EAAE,4BAA4B,EAAgC,CAAC;YACrF,MAAM,CAAC,WAAW,GAAG,IAAA,gDAAgC,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxE,MAAM;QACR,KAAK,iDAAiD;YACpD,aAAa,GAAG,EAAE,IAAI,EAAE,yBAAyB,EAA6B,CAAC;YAC/E,MAAM,CAAC,WAAW,GAAG,IAAA,gDAAgC,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxE,MAAM;QACR,KAAK,uCAAuC;YAC1C,aAAa,GAAG,EAAE,IAAI,EAAE,eAAe,EAAmB,CAAC;YAC3D,MAAM;QACR,KAAK,sCAAsC;YACzC,aAAa,GAAG,EAAE,IAAI,EAAE,cAAc,EAAkB,CAAC;YACzD,MAAM;QACR,KAAK,0CAA0C;YAC7C,aAAa,GAAG,EAAE,IAAI,EAAE,kBAAkB,EAAsB,CAAC;YACjE,MAAM;QACR,KAAK,8CAA8C;YACjD,aAAa,GAAG,EAAE,IAAI,EAAE,sBAAsB,EAA0B,CAAC;YACzE,MAAM;QACR,KAAK,4CAA4C;YAC/C,aAAa,GAAG,EAAE,IAAI,EAAE,oBAAoB,EAAwB,CAAC;YACrE,MAAM;QACR,KAAK,6CAA6C;YAChD,aAAa,GAAG,EAAE,IAAI,EAAE,qBAAqB,EAAyB,CAAC;YACvE,MAAM,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM;QACR,KAAK,+CAA+C;YAClD,aAAa,GAAG,EAAE,IAAI,EAAE,uBAAuB,EAA2B,CAAC;YAC3E,MAAM;QACR,KAAK,uCAAuC;YAC1C,aAAa,GAAG,EAAE,IAAI,EAAE,eAAe,EAAmB,CAAC;YAC3D,MAAM;QACR,KAAK,oCAAoC;YACvC,aAAa,GAAG,EAAE,IAAI,EAAE,YAAY,EAAgB,CAAC;YACrD,MAAM;QACR,KAAK,sCAAsC;YACzC,aAAa,GAAG,EAAE,IAAI,EAAE,cAAc,EAAkB,CAAC;YACzD,MAAM;QACR,KAAK,4CAA4C;YAC/C,aAAa,GAAG,EAAE,IAAI,EAAE,oBAAoB,EAAwB,CAAC;YACrE,MAAM;QACR,KAAK,2CAA2C;YAC9C,aAAa,GAAG,EAAE,IAAI,EAAE,mBAAmB,EAAuB,CAAC;YACnE,MAAM;QACR,KAAK,yCAAyC;YAC5C,aAAa,GAAG,EAAE,IAAI,EAAE,iBAAiB,EAAqB,CAAC;YAC/D,MAAM;QACR,KAAK,+DAA+D;YAClE,aAAa,GAAG;gBACd,IAAI,EAAE,uCAAuC;aACL,CAAC;YAC3C,MAAM;QACR,KAAK,6DAA6D;YAChE,aAAa,GAAG;gBACd,IAAI,EAAE,qCAAqC;aACL,CAAC;YACzC,MAAM;QACR,KAAK,0DAA0D;YAC7D,aAAa,GAAG;gBACd,IAAI,EAAE,kCAAkC;aACL,CAAC;YACtC,MAAM;QACR,KAAK,gDAAgD;YACnD,aAAa,GAAG,EAAE,IAAI,EAAE,wBAAwB,EAA4B,CAAC;YAC7E,MAAM;QACR,KAAK,6CAA6C;YAChD,aAAa,GAAG,EAAE,IAAI,EAAE,qBAAqB,EAAyB,CAAC;YACvE,MAAM;QACR,KAAK,uDAAuD;YAC1D,aAAa,GAAG,EAAE,IAAI,EAAE,+BAA+B,EAAmC,CAAC;YAC3F,MAAM;QACR,KAAK,oDAAoD;YACvD,aAAa,GAAG,EAAE,IAAI,EAAE,4BAA4B,EAAgC,CAAC;YACrF,MAAM;QACR,KAAK,8CAA8C;YACjD,aAAa,GAAG,EAAE,IAAI,EAAE,sBAAsB,EAA0B,CAAC;YACzE,MAAM;QACR,KAAK,8CAA8C;YACjD,aAAa,GAAG,EAAE,IAAI,EAAE,sBAAsB,EAA0B,CAAC;YACzE,MAAM;QACR,KAAK,8CAA8C;YACjD,aAAa,GAAG,EAAE,IAAI,EAAE,sBAAsB,EAA0B,CAAC;YACzE,MAAM;QACR,KAAK,6CAA6C;YAChD,aAAa,GAAG,EAAE,IAAI,EAAE,qBAAqB,EAAyB,CAAC;YACvE,MAAM;QACR,KAAK,0CAA0C;YAC7C,aAAa,GAAG,EAAE,IAAI,EAAE,kBAAkB,EAAsB,CAAC;YACjE,MAAM;QACR,KAAK,sCAAsC;YACzC,aAAa,GAAG,EAAE,IAAI,EAAE,cAAc,EAAkB,CAAC;YACzD,MAAM;QACR,KAAK,oCAAoC;YACvC,aAAa,GAAG,EAAE,IAAI,EAAE,YAAY,EAAgB,CAAC;YACrD,MAAM;QACR,KAAK,uCAAuC;YAC1C,aAAa,GAAG,EAAE,IAAI,EAAE,eAAe,EAAmB,CAAC;YAC3D,MAAM;QACR,KAAK,+CAA+C;YAClD,aAAa,GAAG,EAAE,IAAI,EAAE,uBAAuB,EAA2B,CAAC;YAC3E,MAAM;QACR,KAAK,+CAA+C;YAClD,aAAa,GAAG,EAAE,IAAI,EAAE,uBAAuB,EAA2B,CAAC;YAC3E,MAAM;QACR,KAAK,8CAA8C;YACjD,aAAa,GAAG,EAAE,IAAI,EAAE,sBAAsB,EAA0B,CAAC;YACzE,MAAM;QACR,KAAK,8CAA8C;YACjD,aAAa,GAAG,EAAE,IAAI,EAAE,sBAAsB,EAA0B,CAAC;YACzE,MAAM;QACR,KAAK,qCAAqC;YACxC,aAAa,GAAG,EAAE,IAAI,EAAE,aAAa,EAAiB,CAAC;YACvD,MAAM;QACR;YACE,MAAM,IAAI,SAAS,CAAC,uCAAuC,SAAS,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,gCAAK,MAAM,GAAK,aAAa,CAAyB,CAAC;AAChE,CAAC;AAED,SAAS,YAAY,CAAC,kBAAoD;IACxE,IAAI,OAAO,kBAAkB,KAAK,QAAQ,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACzC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnB,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACpC,CAAC;YACD,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACd,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACtC,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,OAAO,kBAAkB,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAS;IAC3C,MAAM,EAAE,YAAY,KAAc,IAAI,EAAb,IAAI,kBAAK,IAAI,EAAhC,gBAAyB,CAAO,CAAC;IACvC,uCACK,IAAI,KACP,YAAY,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,GAAG,CAAC,CAAC,WAAoC,EAAE,EAAE,CACvE,IAAA,wCAAwB,EAAC,WAAW,CAAC,CACtC,IACD;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { createSerializer } from \"@azure/core-client\";\nimport { communicationIdentifierConverter, callParticipantConverter } from \"./utli/converters.js\";\nimport type {\n CallAutomationEvent,\n AddParticipantSucceeded,\n AddParticipantFailed,\n CallConnected,\n CallDisconnected,\n CallTransferAccepted,\n CallTransferFailed,\n ParticipantsUpdated,\n RecordingStateChanged,\n PlayCompleted,\n PlayFailed,\n PlayCanceled,\n RecognizeCompleted,\n RecognizeCanceled,\n RecognizeFailed,\n RemoveParticipantSucceeded,\n RemoveParticipantFailed,\n ContinuousDtmfRecognitionToneReceived,\n ContinuousDtmfRecognitionToneFailed,\n ContinuousDtmfRecognitionStopped,\n SendDtmfTonesCompleted,\n SendDtmfTonesFailed,\n CancelAddParticipantSucceeded,\n CancelAddParticipantFailed,\n TranscriptionStarted,\n TranscriptionStopped,\n TranscriptionUpdated,\n TranscriptionFailed,\n CreateCallFailed,\n AnswerFailed,\n HoldFailed,\n ConnectFailed,\n MediaStreamingStarted,\n MediaStreamingStopped,\n MediaStreamingFailed,\n StartRecordingFailed,\n PlayStarted,\n IncomingCall,\n} from \"./models/events.js\";\n\nimport { CloudEventMapper } from \"./models/mapper.js\";\nimport type { CallParticipantInternal } from \"./generated/src/index.js\";\n\nconst serializer = createSerializer();\n\n/**\n * Helper function for parsing Acs callback events.\n */\nexport function parseCallAutomationEvent(\n encodedEvents: string | Record<string, unknown>,\n): CallAutomationEvent {\n const decodedInput = parseAndWrap(encodedEvents);\n\n // parse cloudevent\n const deserialized = serializer.deserialize(CloudEventMapper, decodedInput, \"\");\n const data = deserialized.data;\n const eventType = deserialized.type;\n\n // get proper callbackevent and its parser\n let callbackEvent: CallAutomationEvent;\n let parsed: any = data;\n switch (eventType) {\n case \"Microsoft.Communication.AddParticipantSucceeded\":\n callbackEvent = { kind: \"AddParticipantSucceeded\" } as AddParticipantSucceeded;\n parsed.participant = communicationIdentifierConverter(data.participant);\n break;\n case \"Microsoft.Communication.AddParticipantFailed\":\n callbackEvent = { kind: \"AddParticipantFailed\" } as AddParticipantFailed;\n parsed.participant = communicationIdentifierConverter(data.participant);\n break;\n case \"Microsoft.Communication.RemoveParticipantSucceeded\":\n callbackEvent = { kind: \"RemoveParticipantSucceeded\" } as RemoveParticipantSucceeded;\n parsed.participant = communicationIdentifierConverter(data.participant);\n break;\n case \"Microsoft.Communication.RemoveParticipantFailed\":\n callbackEvent = { kind: \"RemoveParticipantFailed\" } as RemoveParticipantFailed;\n parsed.participant = communicationIdentifierConverter(data.participant);\n break;\n case \"Microsoft.Communication.CallConnected\":\n callbackEvent = { kind: \"CallConnected\" } as CallConnected;\n break;\n case \"Microsoft.Communication.IncomingCall\":\n callbackEvent = { kind: \"IncomingCall\" } as IncomingCall;\n break;\n case \"Microsoft.Communication.CallDisconnected\":\n callbackEvent = { kind: \"CallDisconnected\" } as CallDisconnected;\n break;\n case \"Microsoft.Communication.CallTransferAccepted\":\n callbackEvent = { kind: \"CallTransferAccepted\" } as CallTransferAccepted;\n break;\n case \"Microsoft.Communication.CallTransferFailed\":\n callbackEvent = { kind: \"CallTransferFailed\" } as CallTransferFailed;\n break;\n case \"Microsoft.Communication.ParticipantsUpdated\":\n callbackEvent = { kind: \"ParticipantsUpdated\" } as ParticipantsUpdated;\n parsed = participantsParserForEvent(data);\n break;\n case \"Microsoft.Communication.RecordingStateChanged\":\n callbackEvent = { kind: \"RecordingStateChanged\" } as RecordingStateChanged;\n break;\n case \"Microsoft.Communication.PlayCompleted\":\n callbackEvent = { kind: \"PlayCompleted\" } as PlayCompleted;\n break;\n case \"Microsoft.Communication.PlayFailed\":\n callbackEvent = { kind: \"PlayFailed\" } as PlayFailed;\n break;\n case \"Microsoft.Communication.PlayCanceled\":\n callbackEvent = { kind: \"PlayCanceled\" } as PlayCanceled;\n break;\n case \"Microsoft.Communication.RecognizeCompleted\":\n callbackEvent = { kind: \"RecognizeCompleted\" } as RecognizeCompleted;\n break;\n case \"Microsoft.Communication.RecognizeCanceled\":\n callbackEvent = { kind: \"RecognizeCanceled\" } as RecognizeCanceled;\n break;\n case \"Microsoft.Communication.RecognizeFailed\":\n callbackEvent = { kind: \"RecognizeFailed\" } as RecognizeFailed;\n break;\n case \"Microsoft.Communication.ContinuousDtmfRecognitionToneReceived\":\n callbackEvent = {\n kind: \"ContinuousDtmfRecognitionToneReceived\",\n } as ContinuousDtmfRecognitionToneReceived;\n break;\n case \"Microsoft.Communication.ContinuousDtmfRecognitionToneFailed\":\n callbackEvent = {\n kind: \"ContinuousDtmfRecognitionToneFailed\",\n } as ContinuousDtmfRecognitionToneFailed;\n break;\n case \"Microsoft.Communication.ContinuousDtmfRecognitionStopped\":\n callbackEvent = {\n kind: \"ContinuousDtmfRecognitionStopped\",\n } as ContinuousDtmfRecognitionStopped;\n break;\n case \"Microsoft.Communication.SendDtmfTonesCompleted\":\n callbackEvent = { kind: \"SendDtmfTonesCompleted\" } as SendDtmfTonesCompleted;\n break;\n case \"Microsoft.Communication.SendDtmfTonesFailed\":\n callbackEvent = { kind: \"SendDtmfTonesFailed\" } as SendDtmfTonesFailed;\n break;\n case \"Microsoft.Communication.CancelAddParticipantSucceeded\":\n callbackEvent = { kind: \"CancelAddParticipantSucceeded\" } as CancelAddParticipantSucceeded;\n break;\n case \"Microsoft.Communication.CancelAddParticipantFailed\":\n callbackEvent = { kind: \"CancelAddParticipantFailed\" } as CancelAddParticipantFailed;\n break;\n case \"Microsoft.Communication.TranscriptionStarted\":\n callbackEvent = { kind: \"TranscriptionStarted\" } as TranscriptionStarted;\n break;\n case \"Microsoft.Communication.TranscriptionStopped\":\n callbackEvent = { kind: \"TranscriptionStopped\" } as TranscriptionStopped;\n break;\n case \"Microsoft.Communication.TranscriptionUpdated\":\n callbackEvent = { kind: \"TranscriptionUpdated\" } as TranscriptionUpdated;\n break;\n case \"Microsoft.Communication.TranscriptionFailed\":\n callbackEvent = { kind: \"TranscriptionFailed\" } as TranscriptionFailed;\n break;\n case \"Microsoft.Communication.CreateCallFailed\":\n callbackEvent = { kind: \"CreateCallFailed\" } as CreateCallFailed;\n break;\n case \"Microsoft.Communication.AnswerFailed\":\n callbackEvent = { kind: \"AnswerFailed\" } as AnswerFailed;\n break;\n case \"Microsoft.Communication.HoldFailed\":\n callbackEvent = { kind: \"HoldFailed\" } as HoldFailed;\n break;\n case \"Microsoft.Communication.ConnectFailed\":\n callbackEvent = { kind: \"ConnectFailed\" } as ConnectFailed;\n break;\n case \"Microsoft.Communication.MediaStreamingStarted\":\n callbackEvent = { kind: \"MediaStreamingStarted\" } as MediaStreamingStarted;\n break;\n case \"Microsoft.Communication.MediaStreamingStopped\":\n callbackEvent = { kind: \"MediaStreamingStopped\" } as MediaStreamingStopped;\n break;\n case \"Microsoft.Communication.MediaStreamingFailed\":\n callbackEvent = { kind: \"MediaStreamingFailed\" } as MediaStreamingFailed;\n break;\n case \"Microsoft.Communication.StartRecordingFailed\":\n callbackEvent = { kind: \"StartRecordingFailed\" } as StartRecordingFailed;\n break;\n case \"Microsoft.Communication.PlayStarted\":\n callbackEvent = { kind: \"PlayStarted\" } as PlayStarted;\n break;\n default:\n throw new TypeError(`Unknown Call Automation Event type: ${eventType}`);\n }\n\n return { ...parsed, ...callbackEvent } as CallAutomationEvent;\n}\n\nfunction parseAndWrap(jsonStringOrObject: string | Record<string, unknown>): any {\n if (typeof jsonStringOrObject === \"string\") {\n const o = JSON.parse(jsonStringOrObject);\n if (Array.isArray(o)) {\n if (o.length === 0) {\n throw Error(\"Empty event array.\");\n }\n return o[0];\n } else {\n return o;\n }\n }\n\n if (Array.isArray(jsonStringOrObject)) {\n if (jsonStringOrObject.length === 0) {\n throw Error(\"Empty event array.\");\n }\n return jsonStringOrObject[0];\n } else {\n return jsonStringOrObject;\n }\n}\n\nfunction participantsParserForEvent(data: any): any {\n const { participants, ...rest } = data;\n return {\n ...rest,\n participants: participants?.map((participant: CallParticipantInternal) =>\n callParticipantConverter(participant),\n ),\n };\n}\n"]}
1
+ {"version":3,"file":"callAutomationEventParser.js","sourceRoot":"","sources":["../../src/callAutomationEventParser.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { createSerializer } from \"@azure/core-client\";\nimport {\n communicationIdentifierConverter,\n callParticipantConverter,\n teamsPhoneCallDetailsConverter,\n} from \"./utli/converters.js\";\nimport type {\n CallAutomationEvent,\n AddParticipantSucceeded,\n AddParticipantFailed,\n CallConnected,\n CallDisconnected,\n CallTransferAccepted,\n CallTransferFailed,\n ParticipantsUpdated,\n RecordingStateChanged,\n PlayCompleted,\n PlayFailed,\n PlayCanceled,\n RecognizeCompleted,\n RecognizeCanceled,\n RecognizeFailed,\n RemoveParticipantSucceeded,\n RemoveParticipantFailed,\n MoveParticipantSucceeded,\n MoveParticipantFailed,\n ContinuousDtmfRecognitionToneReceived,\n ContinuousDtmfRecognitionToneFailed,\n ContinuousDtmfRecognitionStopped,\n SendDtmfTonesCompleted,\n SendDtmfTonesFailed,\n CancelAddParticipantSucceeded,\n CancelAddParticipantFailed,\n TranscriptionStarted,\n TranscriptionStopped,\n TranscriptionUpdated,\n TranscriptionFailed,\n CreateCallFailed,\n AnswerFailed,\n HoldFailed,\n ConnectFailed,\n MediaStreamingStarted,\n MediaStreamingStopped,\n MediaStreamingFailed,\n StartRecordingFailed,\n PlayStarted,\n PlayPaused,\n PlayResumed,\n HoldAudioStarted,\n HoldAudioPaused,\n HoldAudioResumed,\n HoldAudioCompleted,\n IncomingCall,\n} from \"./models/events.js\";\n\nimport { CloudEventMapper } from \"./models/mapper.js\";\nimport type { CallParticipantInternal } from \"./generated/src/index.js\";\n\nconst serializer = createSerializer();\n\n/**\n * Helper function for parsing Acs callback events.\n */\nexport function parseCallAutomationEvent(\n encodedEvents: string | Record<string, unknown>,\n): CallAutomationEvent {\n const decodedInput = parseAndWrap(encodedEvents);\n\n // parse cloudevent\n const deserialized = serializer.deserialize(CloudEventMapper, decodedInput, \"\");\n const data = deserialized.data;\n const eventType = deserialized.type;\n\n // get proper callbackevent and its parser\n let callbackEvent: CallAutomationEvent;\n let parsed: any = data;\n switch (eventType) {\n case \"Microsoft.Communication.AddParticipantSucceeded\":\n callbackEvent = { kind: \"AddParticipantSucceeded\" } as AddParticipantSucceeded;\n parsed.participant = communicationIdentifierConverter(data.participant);\n break;\n case \"Microsoft.Communication.AddParticipantFailed\":\n callbackEvent = { kind: \"AddParticipantFailed\" } as AddParticipantFailed;\n parsed.participant = communicationIdentifierConverter(data.participant);\n break;\n case \"Microsoft.Communication.RemoveParticipantSucceeded\":\n callbackEvent = { kind: \"RemoveParticipantSucceeded\" } as RemoveParticipantSucceeded;\n parsed.participant = communicationIdentifierConverter(data.participant);\n break;\n case \"Microsoft.Communication.RemoveParticipantFailed\":\n callbackEvent = { kind: \"RemoveParticipantFailed\" } as RemoveParticipantFailed;\n parsed.participant = communicationIdentifierConverter(data.participant);\n break;\n case \"Microsoft.Communication.MoveParticipantSucceeded\":\n callbackEvent = { kind: \"MoveParticipantSucceeded\" } as MoveParticipantSucceeded;\n parsed.participant = communicationIdentifierConverter(data.participant);\n parsed.fromCall = data.fromCall;\n break;\n case \"Microsoft.Communication.MoveParticipantFailed\":\n callbackEvent = { kind: \"MoveParticipantFailed\" } as MoveParticipantFailed;\n parsed.participant = communicationIdentifierConverter(data.participant);\n parsed.fromCall = data.fromCall;\n break;\n case \"Microsoft.Communication.CallConnected\":\n callbackEvent = { kind: \"CallConnected\" } as CallConnected;\n break;\n case \"Microsoft.Communication.IncomingCall\":\n callbackEvent = { kind: \"IncomingCall\" } as IncomingCall;\n\n // Normalize customContext: convert undefined to null and ensure all properties are null if undefined\n if (data.customContext === undefined) {\n parsed.customContext = {\n voipHeaders: null,\n sipHeaders: null,\n teamsPhoneCallDetails: null,\n };\n } else if (data.customContext) {\n // If customContext exists, ensure its properties are null instead of undefined\n parsed.customContext = {\n voipHeaders:\n data.customContext.voipHeaders === undefined ? null : data.customContext.voipHeaders,\n sipHeaders:\n data.customContext.sipHeaders === undefined ? null : data.customContext.sipHeaders,\n teamsPhoneCallDetails:\n data.customContext.teamsPhoneCallDetails === undefined\n ? null\n : teamsPhoneCallDetailsConverter(data.customContext.teamsPhoneCallDetails),\n };\n }\n break;\n case \"Microsoft.Communication.CallDisconnected\":\n callbackEvent = { kind: \"CallDisconnected\" } as CallDisconnected;\n break;\n case \"Microsoft.Communication.CallTransferAccepted\":\n callbackEvent = { kind: \"CallTransferAccepted\" } as CallTransferAccepted;\n break;\n case \"Microsoft.Communication.CallTransferFailed\":\n callbackEvent = { kind: \"CallTransferFailed\" } as CallTransferFailed;\n break;\n case \"Microsoft.Communication.ParticipantsUpdated\":\n callbackEvent = { kind: \"ParticipantsUpdated\" } as ParticipantsUpdated;\n parsed = participantsParserForEvent(data);\n break;\n case \"Microsoft.Communication.RecordingStateChanged\":\n callbackEvent = { kind: \"RecordingStateChanged\" } as RecordingStateChanged;\n break;\n case \"Microsoft.Communication.PlayCompleted\":\n callbackEvent = { kind: \"PlayCompleted\" } as PlayCompleted;\n break;\n case \"Microsoft.Communication.PlayFailed\":\n callbackEvent = { kind: \"PlayFailed\" } as PlayFailed;\n break;\n case \"Microsoft.Communication.PlayCanceled\":\n callbackEvent = { kind: \"PlayCanceled\" } as PlayCanceled;\n break;\n case \"Microsoft.Communication.RecognizeCompleted\":\n callbackEvent = { kind: \"RecognizeCompleted\" } as RecognizeCompleted;\n break;\n case \"Microsoft.Communication.RecognizeCanceled\":\n callbackEvent = { kind: \"RecognizeCanceled\" } as RecognizeCanceled;\n break;\n case \"Microsoft.Communication.RecognizeFailed\":\n callbackEvent = { kind: \"RecognizeFailed\" } as RecognizeFailed;\n break;\n case \"Microsoft.Communication.ContinuousDtmfRecognitionToneReceived\":\n callbackEvent = {\n kind: \"ContinuousDtmfRecognitionToneReceived\",\n } as ContinuousDtmfRecognitionToneReceived;\n break;\n case \"Microsoft.Communication.ContinuousDtmfRecognitionToneFailed\":\n callbackEvent = {\n kind: \"ContinuousDtmfRecognitionToneFailed\",\n } as ContinuousDtmfRecognitionToneFailed;\n break;\n case \"Microsoft.Communication.ContinuousDtmfRecognitionStopped\":\n callbackEvent = {\n kind: \"ContinuousDtmfRecognitionStopped\",\n } as ContinuousDtmfRecognitionStopped;\n break;\n case \"Microsoft.Communication.SendDtmfTonesCompleted\":\n callbackEvent = { kind: \"SendDtmfTonesCompleted\" } as SendDtmfTonesCompleted;\n break;\n case \"Microsoft.Communication.SendDtmfTonesFailed\":\n callbackEvent = { kind: \"SendDtmfTonesFailed\" } as SendDtmfTonesFailed;\n break;\n case \"Microsoft.Communication.CancelAddParticipantSucceeded\":\n callbackEvent = { kind: \"CancelAddParticipantSucceeded\" } as CancelAddParticipantSucceeded;\n break;\n case \"Microsoft.Communication.CancelAddParticipantFailed\":\n callbackEvent = { kind: \"CancelAddParticipantFailed\" } as CancelAddParticipantFailed;\n break;\n case \"Microsoft.Communication.TranscriptionStarted\":\n callbackEvent = { kind: \"TranscriptionStarted\" } as TranscriptionStarted;\n break;\n case \"Microsoft.Communication.TranscriptionStopped\":\n callbackEvent = { kind: \"TranscriptionStopped\" } as TranscriptionStopped;\n break;\n case \"Microsoft.Communication.TranscriptionUpdated\":\n callbackEvent = { kind: \"TranscriptionUpdated\" } as TranscriptionUpdated;\n break;\n case \"Microsoft.Communication.TranscriptionFailed\":\n callbackEvent = { kind: \"TranscriptionFailed\" } as TranscriptionFailed;\n break;\n case \"Microsoft.Communication.CreateCallFailed\":\n callbackEvent = { kind: \"CreateCallFailed\" } as CreateCallFailed;\n break;\n case \"Microsoft.Communication.AnswerFailed\":\n callbackEvent = { kind: \"AnswerFailed\" } as AnswerFailed;\n break;\n case \"Microsoft.Communication.HoldFailed\":\n callbackEvent = { kind: \"HoldFailed\" } as HoldFailed;\n break;\n case \"Microsoft.Communication.ConnectFailed\":\n callbackEvent = { kind: \"ConnectFailed\" } as ConnectFailed;\n break;\n case \"Microsoft.Communication.MediaStreamingStarted\":\n callbackEvent = { kind: \"MediaStreamingStarted\" } as MediaStreamingStarted;\n break;\n case \"Microsoft.Communication.MediaStreamingStopped\":\n callbackEvent = { kind: \"MediaStreamingStopped\" } as MediaStreamingStopped;\n break;\n case \"Microsoft.Communication.MediaStreamingFailed\":\n callbackEvent = { kind: \"MediaStreamingFailed\" } as MediaStreamingFailed;\n break;\n case \"Microsoft.Communication.StartRecordingFailed\":\n callbackEvent = { kind: \"StartRecordingFailed\" } as StartRecordingFailed;\n break;\n case \"Microsoft.Communication.PlayStarted\":\n callbackEvent = { kind: \"PlayStarted\" } as PlayStarted;\n break;\n case \"Microsoft.Communication.PlayPaused\":\n callbackEvent = { kind: \"PlayPaused\" } as PlayPaused;\n break;\n case \"Microsoft.Communication.PlayResumed\":\n callbackEvent = { kind: \"PlayResumed\" } as PlayResumed;\n break;\n case \"Microsoft.Communication.HoldAudioStarted\":\n callbackEvent = { kind: \"HoldAudioStarted\" } as HoldAudioStarted;\n break;\n case \"Microsoft.Communication.HoldAudioPaused\":\n callbackEvent = { kind: \"HoldAudioPaused\" } as HoldAudioPaused;\n break;\n case \"Microsoft.Communication.HoldAudioResumed\":\n callbackEvent = { kind: \"HoldAudioResumed\" } as HoldAudioResumed;\n break;\n case \"Microsoft.Communication.HoldAudioCompleted\":\n callbackEvent = { kind: \"HoldAudioCompleted\" } as HoldAudioCompleted;\n break;\n default:\n throw new TypeError(`Unknown Call Automation Event type: ${eventType}`);\n }\n\n return { ...parsed, ...callbackEvent } as CallAutomationEvent;\n}\n\nfunction parseAndWrap(jsonStringOrObject: string | Record<string, unknown>): any {\n if (typeof jsonStringOrObject === \"string\") {\n const o = JSON.parse(jsonStringOrObject);\n if (Array.isArray(o)) {\n if (o.length === 0) {\n throw Error(\"Empty event array.\");\n }\n return o[0];\n } else {\n return o;\n }\n }\n\n if (Array.isArray(jsonStringOrObject)) {\n if (jsonStringOrObject.length === 0) {\n throw Error(\"Empty event array.\");\n }\n return jsonStringOrObject[0];\n } else {\n return jsonStringOrObject;\n }\n}\n\nfunction participantsParserForEvent(data: any): any {\n const { participants, ...rest } = data;\n return {\n ...rest,\n participants: participants?.map((participant: CallParticipantInternal) =>\n callParticipantConverter(participant),\n ),\n };\n}\n"]}
@@ -1,10 +1,11 @@
1
- import { CommunicationIdentifier } from "@azure/communication-common";
1
+ import type { CommunicationIdentifier } from "@azure/communication-common";
2
2
  import { CallMedia } from "./callMedia.js";
3
- import { CallAutomationApiClientOptionalParams } from "./generated/src/index.js";
4
- import type { CallConnectionProperties, CallInvite, CallParticipant } from "./models/models.js";
5
- import type { AddParticipantOptions, CancelAddParticipantOperationOptions, GetCallConnectionPropertiesOptions, GetParticipantOptions, HangUpOptions, MuteParticipantOption, RemoveParticipantsOption, TransferCallToParticipantOptions } from "./models/options.js";
6
- import type { ListParticipantsResult, TransferCallResult, AddParticipantResult, RemoveParticipantResult, MuteParticipantResult, CancelAddParticipantOperationResult } from "./models/responses.js";
3
+ import type { CallAutomationApiClientOptionalParams } from "./generated/src/index.js";
4
+ import { type CallConnectionProperties, type CallInvite, type CallParticipant } from "./models/models.js";
5
+ import type { AddParticipantOptions, CancelAddParticipantOperationOptions, GetCallConnectionPropertiesOptions, GetParticipantOptions, HangUpOptions, MoveParticipantsOptions, MuteParticipantOption, RemoveParticipantsOption, TransferCallToParticipantOptions } from "./models/options.js";
6
+ import type { ListParticipantsResult, TransferCallResult, AddParticipantResult, RemoveParticipantResult, MoveParticipantsResult, MuteParticipantResult, CancelAddParticipantOperationResult } from "./models/responses.js";
7
7
  import type { KeyCredential, TokenCredential } from "@azure/core-auth";
8
+ import type { CallAutomationEventProcessor } from "./eventprocessor/callAutomationEventProcessor.js";
8
9
  /**
9
10
  * CallConnection class represents call connection based APIs.
10
11
  */
@@ -15,7 +16,8 @@ export declare class CallConnection {
15
16
  private readonly endpoint;
16
17
  private readonly credential;
17
18
  private readonly callAutomationApiClientOptions?;
18
- constructor(callConnectionId: string, endpoint: string, credential: KeyCredential | TokenCredential, options?: CallAutomationApiClientOptionalParams);
19
+ private readonly callAutomationEventProcessor;
20
+ constructor(callConnectionId: string, endpoint: string, credential: KeyCredential | TokenCredential, eventProcessor: CallAutomationEventProcessor, options?: CallAutomationApiClientOptionalParams);
19
21
  /**
20
22
  * Initializes a new instance of CallMedia.
21
23
  */
@@ -59,6 +61,14 @@ export declare class CallConnection {
59
61
  * @param participant - The participant is going to be removed from the call.
60
62
  */
61
63
  removeParticipant(participant: CommunicationIdentifier, options?: RemoveParticipantsOption): Promise<RemoveParticipantResult>;
64
+ /**
65
+ * Move participants to the call
66
+ *
67
+ * @param targetParticipants - The participants to be moved to the call.
68
+ * @param fromCall - The CallConnectionId for the call you want to move the participant from.
69
+ * @param options - Additional attributes for move participants.
70
+ */
71
+ moveParticipants(targetParticipants: CommunicationIdentifier[], fromCall: string, options?: MoveParticipantsOptions): Promise<MoveParticipantsResult>;
62
72
  /**
63
73
  * Mute participant from the call.
64
74
  *
@@ -1 +1 @@
1
- {"version":3,"file":"callConnection.d.ts","sourceRoot":"","sources":["../../src/callConnection.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,uBAAuB,EAExB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAGL,qCAAqC,EAKtC,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EACV,wBAAwB,EACxB,UAAU,EACV,eAAe,EAEhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,qBAAqB,EACrB,oCAAoC,EACpC,kCAAkC,EAClC,qBAAqB,EACrB,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EACxB,gCAAgC,EACjC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,mCAAmC,EACpC,MAAM,uBAAuB,CAAC;AAU/B,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEvE;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IACpD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0B;IAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAC7D,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAwC;gBAEtF,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,aAAa,GAAG,eAAe,EAC3C,OAAO,CAAC,EAAE,qCAAqC;IAYjD;;OAEG;IACI,YAAY,IAAI,SAAS;IAShC;;OAEG;IACU,2BAA2B,CACtC,OAAO,GAAE,kCAAuC,GAC/C,OAAO,CAAC,wBAAwB,CAAC;IAgBpC;;;;OAIG;IACU,MAAM,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAcvF;;;;OAIG;IACU,cAAc,CACzB,iBAAiB,EAAE,uBAAuB,EAC1C,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,eAAe,CAAC;IAe3B;;OAEG;IACU,gBAAgB,CAC3B,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,sBAAsB,CAAC;IAkBlC,OAAO,CAAC,kCAAkC;IAmB1C;;;;OAIG;IACU,cAAc,CACzB,iBAAiB,EAAE,UAAU,EAC7B,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,oBAAoB,CAAC;IAoChC;;;;OAIG;IACU,yBAAyB,CACpC,iBAAiB,EAAE,uBAAuB,EAC1C,OAAO,GAAE,gCAAqC,GAC7C,OAAO,CAAC,kBAAkB,CAAC;IAyB9B;;;;OAIG;IACU,iBAAiB,CAC5B,WAAW,EAAE,uBAAuB,EACpC,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,uBAAuB,CAAC;IAsBnC;;;;;OAKG;IACU,eAAe,CAC1B,WAAW,EAAE,uBAAuB,EACpC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,qBAAqB,CAAC;IAqBjC;;;OAGG;IACU,6BAA6B,CACxC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,oCAAyC,GACjD,OAAO,CAAC,mCAAmC,CAAC;CA6BhD"}
1
+ {"version":3,"file":"callConnection.d.ts","sourceRoot":"","sources":["../../src/callConnection.ts"],"names":[],"mappings":"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"}