@azure/communication-call-automation 1.5.0 → 1.6.0-alpha.20250901.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 (481) hide show
  1. package/README.md +48 -0
  2. package/dist/browser/callAutomationClient.d.ts +8 -0
  3. package/dist/browser/callAutomationClient.d.ts.map +1 -1
  4. package/dist/browser/callAutomationClient.js +141 -84
  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 +56 -9
  8. package/dist/browser/callAutomationEventParser.js.map +1 -1
  9. package/dist/browser/callConnection.d.ts +15 -5
  10. package/dist/browser/callConnection.d.ts.map +1 -1
  11. package/dist/browser/callConnection.js +193 -86
  12. package/dist/browser/callConnection.js.map +1 -1
  13. package/dist/browser/callMedia.d.ts +19 -9
  14. package/dist/browser/callMedia.d.ts.map +1 -1
  15. package/dist/browser/callMedia.js +175 -28
  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 +26 -16
  20. package/dist/browser/callRecording.js.map +1 -1
  21. package/dist/browser/contentDownloader.js +12 -11
  22. package/dist/browser/contentDownloader.js.map +1 -1
  23. package/dist/browser/credential/callAutomationAccessKeyCredentialPolicy.js +2 -1
  24. package/dist/browser/credential/callAutomationAccessKeyCredentialPolicy.js.map +1 -1
  25. package/dist/browser/credential/callAutomationAuthPolicy.js +1 -1
  26. package/dist/browser/credential/callAutomationAuthPolicy.js.map +1 -1
  27. package/dist/browser/credential/cryptoUtils-browser.mjs.map +1 -1
  28. package/dist/browser/credential/cryptoUtils.js +2 -1
  29. package/dist/browser/eventprocessor/callAutomationEventProcessor.d.ts +39 -0
  30. package/dist/browser/eventprocessor/callAutomationEventProcessor.d.ts.map +1 -0
  31. package/dist/browser/eventprocessor/callAutomationEventProcessor.js +137 -0
  32. package/dist/browser/eventprocessor/callAutomationEventProcessor.js.map +1 -0
  33. package/dist/browser/eventprocessor/eventResponses.d.ts +134 -0
  34. package/dist/browser/eventprocessor/eventResponses.d.ts.map +1 -0
  35. package/dist/browser/eventprocessor/eventResponses.js +4 -0
  36. package/dist/browser/eventprocessor/eventResponses.js.map +1 -0
  37. package/dist/browser/generated/src/callAutomationApiClient.d.ts +2 -1
  38. package/dist/browser/generated/src/callAutomationApiClient.d.ts.map +1 -1
  39. package/dist/browser/generated/src/callAutomationApiClient.js +7 -15
  40. package/dist/browser/generated/src/callAutomationApiClient.js.map +1 -1
  41. package/dist/browser/generated/src/models/index.d.ts +1129 -347
  42. package/dist/browser/generated/src/models/index.d.ts.map +1 -1
  43. package/dist/browser/generated/src/models/index.js +159 -75
  44. package/dist/browser/generated/src/models/index.js.map +1 -1
  45. package/dist/browser/generated/src/models/mappers.d.ts +88 -47
  46. package/dist/browser/generated/src/models/mappers.d.ts.map +1 -1
  47. package/dist/browser/generated/src/models/mappers.js +2136 -499
  48. package/dist/browser/generated/src/models/mappers.js.map +1 -1
  49. package/dist/browser/generated/src/models/parameters.d.ts +8 -1
  50. package/dist/browser/generated/src/models/parameters.d.ts.map +1 -1
  51. package/dist/browser/generated/src/models/parameters.js +45 -6
  52. package/dist/browser/generated/src/models/parameters.js.map +1 -1
  53. package/dist/browser/generated/src/operations/callConnection.d.ts +16 -2
  54. package/dist/browser/generated/src/operations/callConnection.d.ts.map +1 -1
  55. package/dist/browser/generated/src/operations/callConnection.js +105 -24
  56. package/dist/browser/generated/src/operations/callConnection.js.map +1 -1
  57. package/dist/browser/generated/src/operations/callDialog.d.ts +35 -0
  58. package/dist/browser/generated/src/operations/callDialog.d.ts.map +1 -0
  59. package/dist/browser/generated/src/operations/callDialog.js +111 -0
  60. package/dist/browser/generated/src/operations/callDialog.js.map +1 -0
  61. package/dist/browser/generated/src/operations/callMedia.d.ts +15 -8
  62. package/dist/browser/generated/src/operations/callMedia.d.ts.map +1 -1
  63. package/dist/browser/generated/src/operations/callMedia.js +50 -26
  64. package/dist/browser/generated/src/operations/callMedia.js.map +1 -1
  65. package/dist/browser/generated/src/operations/callRecording.d.ts +7 -1
  66. package/dist/browser/generated/src/operations/callRecording.d.ts.map +1 -1
  67. package/dist/browser/generated/src/operations/callRecording.js +24 -1
  68. package/dist/browser/generated/src/operations/callRecording.js.map +1 -1
  69. package/dist/browser/generated/src/operations/index.d.ts +1 -0
  70. package/dist/browser/generated/src/operations/index.d.ts.map +1 -1
  71. package/dist/browser/generated/src/operations/index.js +1 -0
  72. package/dist/browser/generated/src/operations/index.js.map +1 -1
  73. package/dist/browser/generated/src/operationsInterfaces/callConnection.d.ts +16 -2
  74. package/dist/browser/generated/src/operationsInterfaces/callConnection.d.ts.map +1 -1
  75. package/dist/browser/generated/src/operationsInterfaces/callConnection.js.map +1 -1
  76. package/dist/browser/generated/src/operationsInterfaces/callDialog.d.ts +27 -0
  77. package/dist/browser/generated/src/operationsInterfaces/callDialog.d.ts.map +1 -0
  78. package/dist/browser/generated/src/operationsInterfaces/callDialog.js +9 -0
  79. package/dist/browser/generated/src/operationsInterfaces/callDialog.js.map +1 -0
  80. package/dist/browser/generated/src/operationsInterfaces/callMedia.d.ts +15 -8
  81. package/dist/browser/generated/src/operationsInterfaces/callMedia.d.ts.map +1 -1
  82. package/dist/browser/generated/src/operationsInterfaces/callMedia.js.map +1 -1
  83. package/dist/browser/generated/src/operationsInterfaces/callRecording.d.ts +7 -1
  84. package/dist/browser/generated/src/operationsInterfaces/callRecording.d.ts.map +1 -1
  85. package/dist/browser/generated/src/operationsInterfaces/callRecording.js.map +1 -1
  86. package/dist/browser/generated/src/operationsInterfaces/index.d.ts +1 -0
  87. package/dist/browser/generated/src/operationsInterfaces/index.d.ts.map +1 -1
  88. package/dist/browser/generated/src/operationsInterfaces/index.js +1 -0
  89. package/dist/browser/generated/src/operationsInterfaces/index.js.map +1 -1
  90. package/dist/browser/generated/src/pagingHelper.js +4 -2
  91. package/dist/browser/generated/src/pagingHelper.js.map +1 -1
  92. package/dist/browser/index.d.ts +2 -0
  93. package/dist/browser/index.d.ts.map +1 -1
  94. package/dist/browser/index.js +2 -0
  95. package/dist/browser/index.js.map +1 -1
  96. package/dist/browser/models/constants.d.ts.map +1 -1
  97. package/dist/browser/models/constants.js +1 -1
  98. package/dist/browser/models/constants.js.map +1 -1
  99. package/dist/browser/models/events.d.ts +336 -296
  100. package/dist/browser/models/events.d.ts.map +1 -1
  101. package/dist/browser/models/events.js.map +1 -1
  102. package/dist/browser/models/models.d.ts +76 -38
  103. package/dist/browser/models/models.d.ts.map +1 -1
  104. package/dist/browser/models/models.js +3 -1
  105. package/dist/browser/models/models.js.map +1 -1
  106. package/dist/browser/models/options.d.ts +34 -4
  107. package/dist/browser/models/options.d.ts.map +1 -1
  108. package/dist/browser/models/options.js.map +1 -1
  109. package/dist/browser/models/responses.d.ts +82 -10
  110. package/dist/browser/models/responses.d.ts.map +1 -1
  111. package/dist/browser/models/responses.js.map +1 -1
  112. package/dist/browser/models/streaming.d.ts +27 -26
  113. package/dist/browser/models/streaming.d.ts.map +1 -1
  114. package/dist/browser/models/streaming.js +57 -28
  115. package/dist/browser/models/streaming.js.map +1 -1
  116. package/dist/browser/streamingData.d.ts.map +1 -1
  117. package/dist/browser/streamingData.js +1 -10
  118. package/dist/browser/streamingData.js.map +1 -1
  119. package/dist/browser/utli/converters.d.ts +26 -2
  120. package/dist/browser/utli/converters.d.ts.map +1 -1
  121. package/dist/browser/utli/converters.js +122 -48
  122. package/dist/browser/utli/converters.js.map +1 -1
  123. package/dist/commonjs/callAutomationClient.d.ts +8 -0
  124. package/dist/commonjs/callAutomationClient.d.ts.map +1 -1
  125. package/dist/commonjs/callAutomationClient.js +139 -82
  126. package/dist/commonjs/callAutomationClient.js.map +1 -1
  127. package/dist/commonjs/callAutomationEventParser.d.ts.map +1 -1
  128. package/dist/commonjs/callAutomationEventParser.js +55 -8
  129. package/dist/commonjs/callAutomationEventParser.js.map +1 -1
  130. package/dist/commonjs/callConnection.d.ts +15 -5
  131. package/dist/commonjs/callConnection.d.ts.map +1 -1
  132. package/dist/commonjs/callConnection.js +194 -87
  133. package/dist/commonjs/callConnection.js.map +1 -1
  134. package/dist/commonjs/callMedia.d.ts +19 -9
  135. package/dist/commonjs/callMedia.d.ts.map +1 -1
  136. package/dist/commonjs/callMedia.js +183 -36
  137. package/dist/commonjs/callMedia.js.map +1 -1
  138. package/dist/commonjs/callRecording.d.ts +8 -2
  139. package/dist/commonjs/callRecording.d.ts.map +1 -1
  140. package/dist/commonjs/callRecording.js +27 -17
  141. package/dist/commonjs/callRecording.js.map +1 -1
  142. package/dist/commonjs/contentDownloader.js +12 -11
  143. package/dist/commonjs/contentDownloader.js.map +1 -1
  144. package/dist/commonjs/credential/callAutomationAccessKeyCredentialPolicy.js +2 -1
  145. package/dist/commonjs/credential/callAutomationAccessKeyCredentialPolicy.js.map +1 -1
  146. package/dist/commonjs/credential/callAutomationAuthPolicy.js +1 -1
  147. package/dist/commonjs/credential/callAutomationAuthPolicy.js.map +1 -1
  148. package/dist/commonjs/eventprocessor/callAutomationEventProcessor.d.ts +39 -0
  149. package/dist/commonjs/eventprocessor/callAutomationEventProcessor.d.ts.map +1 -0
  150. package/dist/commonjs/eventprocessor/callAutomationEventProcessor.js +141 -0
  151. package/dist/commonjs/eventprocessor/callAutomationEventProcessor.js.map +1 -0
  152. package/dist/commonjs/eventprocessor/eventResponses.d.ts +134 -0
  153. package/dist/commonjs/eventprocessor/eventResponses.d.ts.map +1 -0
  154. package/dist/commonjs/eventprocessor/eventResponses.js +5 -0
  155. package/dist/commonjs/eventprocessor/eventResponses.js.map +1 -0
  156. package/dist/commonjs/generated/src/callAutomationApiClient.d.ts +2 -1
  157. package/dist/commonjs/generated/src/callAutomationApiClient.d.ts.map +1 -1
  158. package/dist/commonjs/generated/src/callAutomationApiClient.js +6 -14
  159. package/dist/commonjs/generated/src/callAutomationApiClient.js.map +1 -1
  160. package/dist/commonjs/generated/src/models/index.d.ts +1129 -347
  161. package/dist/commonjs/generated/src/models/index.d.ts.map +1 -1
  162. package/dist/commonjs/generated/src/models/index.js +160 -76
  163. package/dist/commonjs/generated/src/models/index.js.map +1 -1
  164. package/dist/commonjs/generated/src/models/mappers.d.ts +88 -47
  165. package/dist/commonjs/generated/src/models/mappers.d.ts.map +1 -1
  166. package/dist/commonjs/generated/src/models/mappers.js +2139 -502
  167. package/dist/commonjs/generated/src/models/mappers.js.map +1 -1
  168. package/dist/commonjs/generated/src/models/parameters.d.ts +8 -1
  169. package/dist/commonjs/generated/src/models/parameters.d.ts.map +1 -1
  170. package/dist/commonjs/generated/src/models/parameters.js +45 -6
  171. package/dist/commonjs/generated/src/models/parameters.js.map +1 -1
  172. package/dist/commonjs/generated/src/operations/callConnection.d.ts +16 -2
  173. package/dist/commonjs/generated/src/operations/callConnection.d.ts.map +1 -1
  174. package/dist/commonjs/generated/src/operations/callConnection.js +104 -24
  175. package/dist/commonjs/generated/src/operations/callConnection.js.map +1 -1
  176. package/dist/commonjs/generated/src/operations/callDialog.d.ts +35 -0
  177. package/dist/commonjs/generated/src/operations/callDialog.d.ts.map +1 -0
  178. package/dist/commonjs/generated/src/operations/callDialog.js +116 -0
  179. package/dist/commonjs/generated/src/operations/callDialog.js.map +1 -0
  180. package/dist/commonjs/generated/src/operations/callMedia.d.ts +15 -8
  181. package/dist/commonjs/generated/src/operations/callMedia.d.ts.map +1 -1
  182. package/dist/commonjs/generated/src/operations/callMedia.js +50 -26
  183. package/dist/commonjs/generated/src/operations/callMedia.js.map +1 -1
  184. package/dist/commonjs/generated/src/operations/callRecording.d.ts +7 -1
  185. package/dist/commonjs/generated/src/operations/callRecording.d.ts.map +1 -1
  186. package/dist/commonjs/generated/src/operations/callRecording.js +24 -1
  187. package/dist/commonjs/generated/src/operations/callRecording.js.map +1 -1
  188. package/dist/commonjs/generated/src/operations/index.d.ts +1 -0
  189. package/dist/commonjs/generated/src/operations/index.d.ts.map +1 -1
  190. package/dist/commonjs/generated/src/operations/index.js +1 -0
  191. package/dist/commonjs/generated/src/operations/index.js.map +1 -1
  192. package/dist/commonjs/generated/src/operationsInterfaces/callConnection.d.ts +16 -2
  193. package/dist/commonjs/generated/src/operationsInterfaces/callConnection.d.ts.map +1 -1
  194. package/dist/commonjs/generated/src/operationsInterfaces/callConnection.js.map +1 -1
  195. package/dist/commonjs/generated/src/operationsInterfaces/callDialog.d.ts +27 -0
  196. package/dist/commonjs/generated/src/operationsInterfaces/callDialog.d.ts.map +1 -0
  197. package/dist/commonjs/generated/src/operationsInterfaces/callDialog.js +10 -0
  198. package/dist/commonjs/generated/src/operationsInterfaces/callDialog.js.map +1 -0
  199. package/dist/commonjs/generated/src/operationsInterfaces/callMedia.d.ts +15 -8
  200. package/dist/commonjs/generated/src/operationsInterfaces/callMedia.d.ts.map +1 -1
  201. package/dist/commonjs/generated/src/operationsInterfaces/callMedia.js.map +1 -1
  202. package/dist/commonjs/generated/src/operationsInterfaces/callRecording.d.ts +7 -1
  203. package/dist/commonjs/generated/src/operationsInterfaces/callRecording.d.ts.map +1 -1
  204. package/dist/commonjs/generated/src/operationsInterfaces/callRecording.js.map +1 -1
  205. package/dist/commonjs/generated/src/operationsInterfaces/index.d.ts +1 -0
  206. package/dist/commonjs/generated/src/operationsInterfaces/index.d.ts.map +1 -1
  207. package/dist/commonjs/generated/src/operationsInterfaces/index.js +1 -0
  208. package/dist/commonjs/generated/src/operationsInterfaces/index.js.map +1 -1
  209. package/dist/commonjs/generated/src/pagingHelper.js +4 -2
  210. package/dist/commonjs/generated/src/pagingHelper.js.map +1 -1
  211. package/dist/commonjs/index.d.ts +2 -0
  212. package/dist/commonjs/index.d.ts.map +1 -1
  213. package/dist/commonjs/index.js +2 -0
  214. package/dist/commonjs/index.js.map +1 -1
  215. package/dist/commonjs/models/constants.d.ts.map +1 -1
  216. package/dist/commonjs/models/constants.js +1 -1
  217. package/dist/commonjs/models/constants.js.map +1 -1
  218. package/dist/commonjs/models/events.d.ts +336 -296
  219. package/dist/commonjs/models/events.d.ts.map +1 -1
  220. package/dist/commonjs/models/events.js.map +1 -1
  221. package/dist/commonjs/models/models.d.ts +76 -38
  222. package/dist/commonjs/models/models.d.ts.map +1 -1
  223. package/dist/commonjs/models/models.js +21 -2
  224. package/dist/commonjs/models/models.js.map +1 -1
  225. package/dist/commonjs/models/options.d.ts +34 -4
  226. package/dist/commonjs/models/options.d.ts.map +1 -1
  227. package/dist/commonjs/models/options.js.map +1 -1
  228. package/dist/commonjs/models/responses.d.ts +82 -10
  229. package/dist/commonjs/models/responses.d.ts.map +1 -1
  230. package/dist/commonjs/models/responses.js.map +1 -1
  231. package/dist/commonjs/models/streaming.d.ts +27 -26
  232. package/dist/commonjs/models/streaming.d.ts.map +1 -1
  233. package/dist/commonjs/models/streaming.js +59 -31
  234. package/dist/commonjs/models/streaming.js.map +1 -1
  235. package/dist/commonjs/streamingData.d.ts.map +1 -1
  236. package/dist/commonjs/streamingData.js +1 -10
  237. package/dist/commonjs/streamingData.js.map +1 -1
  238. package/dist/commonjs/tsdoc-metadata.json +11 -11
  239. package/dist/commonjs/utli/converters.d.ts +26 -2
  240. package/dist/commonjs/utli/converters.d.ts.map +1 -1
  241. package/dist/commonjs/utli/converters.js +127 -47
  242. package/dist/commonjs/utli/converters.js.map +1 -1
  243. package/dist/esm/callAutomationClient.d.ts +8 -0
  244. package/dist/esm/callAutomationClient.d.ts.map +1 -1
  245. package/dist/esm/callAutomationClient.js +141 -84
  246. package/dist/esm/callAutomationClient.js.map +1 -1
  247. package/dist/esm/callAutomationEventParser.d.ts.map +1 -1
  248. package/dist/esm/callAutomationEventParser.js +56 -9
  249. package/dist/esm/callAutomationEventParser.js.map +1 -1
  250. package/dist/esm/callConnection.d.ts +15 -5
  251. package/dist/esm/callConnection.d.ts.map +1 -1
  252. package/dist/esm/callConnection.js +193 -86
  253. package/dist/esm/callConnection.js.map +1 -1
  254. package/dist/esm/callMedia.d.ts +19 -9
  255. package/dist/esm/callMedia.d.ts.map +1 -1
  256. package/dist/esm/callMedia.js +175 -28
  257. package/dist/esm/callMedia.js.map +1 -1
  258. package/dist/esm/callRecording.d.ts +8 -2
  259. package/dist/esm/callRecording.d.ts.map +1 -1
  260. package/dist/esm/callRecording.js +26 -16
  261. package/dist/esm/callRecording.js.map +1 -1
  262. package/dist/esm/contentDownloader.js +12 -11
  263. package/dist/esm/contentDownloader.js.map +1 -1
  264. package/dist/esm/credential/callAutomationAccessKeyCredentialPolicy.js +2 -1
  265. package/dist/esm/credential/callAutomationAccessKeyCredentialPolicy.js.map +1 -1
  266. package/dist/esm/credential/callAutomationAuthPolicy.js +1 -1
  267. package/dist/esm/credential/callAutomationAuthPolicy.js.map +1 -1
  268. package/dist/esm/eventprocessor/callAutomationEventProcessor.d.ts +39 -0
  269. package/dist/esm/eventprocessor/callAutomationEventProcessor.d.ts.map +1 -0
  270. package/dist/esm/eventprocessor/callAutomationEventProcessor.js +137 -0
  271. package/dist/esm/eventprocessor/callAutomationEventProcessor.js.map +1 -0
  272. package/dist/esm/eventprocessor/eventResponses.d.ts +134 -0
  273. package/dist/esm/eventprocessor/eventResponses.d.ts.map +1 -0
  274. package/dist/esm/eventprocessor/eventResponses.js +4 -0
  275. package/dist/esm/eventprocessor/eventResponses.js.map +1 -0
  276. package/dist/esm/generated/src/callAutomationApiClient.d.ts +2 -1
  277. package/dist/esm/generated/src/callAutomationApiClient.d.ts.map +1 -1
  278. package/dist/esm/generated/src/callAutomationApiClient.js +7 -15
  279. package/dist/esm/generated/src/callAutomationApiClient.js.map +1 -1
  280. package/dist/esm/generated/src/models/index.d.ts +1129 -347
  281. package/dist/esm/generated/src/models/index.d.ts.map +1 -1
  282. package/dist/esm/generated/src/models/index.js +159 -75
  283. package/dist/esm/generated/src/models/index.js.map +1 -1
  284. package/dist/esm/generated/src/models/mappers.d.ts +88 -47
  285. package/dist/esm/generated/src/models/mappers.d.ts.map +1 -1
  286. package/dist/esm/generated/src/models/mappers.js +2136 -499
  287. package/dist/esm/generated/src/models/mappers.js.map +1 -1
  288. package/dist/esm/generated/src/models/parameters.d.ts +8 -1
  289. package/dist/esm/generated/src/models/parameters.d.ts.map +1 -1
  290. package/dist/esm/generated/src/models/parameters.js +45 -6
  291. package/dist/esm/generated/src/models/parameters.js.map +1 -1
  292. package/dist/esm/generated/src/operations/callConnection.d.ts +16 -2
  293. package/dist/esm/generated/src/operations/callConnection.d.ts.map +1 -1
  294. package/dist/esm/generated/src/operations/callConnection.js +105 -24
  295. package/dist/esm/generated/src/operations/callConnection.js.map +1 -1
  296. package/dist/esm/generated/src/operations/callDialog.d.ts +35 -0
  297. package/dist/esm/generated/src/operations/callDialog.d.ts.map +1 -0
  298. package/dist/esm/generated/src/operations/callDialog.js +111 -0
  299. package/dist/esm/generated/src/operations/callDialog.js.map +1 -0
  300. package/dist/esm/generated/src/operations/callMedia.d.ts +15 -8
  301. package/dist/esm/generated/src/operations/callMedia.d.ts.map +1 -1
  302. package/dist/esm/generated/src/operations/callMedia.js +50 -26
  303. package/dist/esm/generated/src/operations/callMedia.js.map +1 -1
  304. package/dist/esm/generated/src/operations/callRecording.d.ts +7 -1
  305. package/dist/esm/generated/src/operations/callRecording.d.ts.map +1 -1
  306. package/dist/esm/generated/src/operations/callRecording.js +24 -1
  307. package/dist/esm/generated/src/operations/callRecording.js.map +1 -1
  308. package/dist/esm/generated/src/operations/index.d.ts +1 -0
  309. package/dist/esm/generated/src/operations/index.d.ts.map +1 -1
  310. package/dist/esm/generated/src/operations/index.js +1 -0
  311. package/dist/esm/generated/src/operations/index.js.map +1 -1
  312. package/dist/esm/generated/src/operationsInterfaces/callConnection.d.ts +16 -2
  313. package/dist/esm/generated/src/operationsInterfaces/callConnection.d.ts.map +1 -1
  314. package/dist/esm/generated/src/operationsInterfaces/callConnection.js.map +1 -1
  315. package/dist/esm/generated/src/operationsInterfaces/callDialog.d.ts +27 -0
  316. package/dist/esm/generated/src/operationsInterfaces/callDialog.d.ts.map +1 -0
  317. package/dist/esm/generated/src/operationsInterfaces/callDialog.js +9 -0
  318. package/dist/esm/generated/src/operationsInterfaces/callDialog.js.map +1 -0
  319. package/dist/esm/generated/src/operationsInterfaces/callMedia.d.ts +15 -8
  320. package/dist/esm/generated/src/operationsInterfaces/callMedia.d.ts.map +1 -1
  321. package/dist/esm/generated/src/operationsInterfaces/callMedia.js.map +1 -1
  322. package/dist/esm/generated/src/operationsInterfaces/callRecording.d.ts +7 -1
  323. package/dist/esm/generated/src/operationsInterfaces/callRecording.d.ts.map +1 -1
  324. package/dist/esm/generated/src/operationsInterfaces/callRecording.js.map +1 -1
  325. package/dist/esm/generated/src/operationsInterfaces/index.d.ts +1 -0
  326. package/dist/esm/generated/src/operationsInterfaces/index.d.ts.map +1 -1
  327. package/dist/esm/generated/src/operationsInterfaces/index.js +1 -0
  328. package/dist/esm/generated/src/operationsInterfaces/index.js.map +1 -1
  329. package/dist/esm/generated/src/pagingHelper.js +4 -2
  330. package/dist/esm/generated/src/pagingHelper.js.map +1 -1
  331. package/dist/esm/index.d.ts +2 -0
  332. package/dist/esm/index.d.ts.map +1 -1
  333. package/dist/esm/index.js +2 -0
  334. package/dist/esm/index.js.map +1 -1
  335. package/dist/esm/models/constants.d.ts.map +1 -1
  336. package/dist/esm/models/constants.js +1 -1
  337. package/dist/esm/models/constants.js.map +1 -1
  338. package/dist/esm/models/events.d.ts +336 -296
  339. package/dist/esm/models/events.d.ts.map +1 -1
  340. package/dist/esm/models/events.js.map +1 -1
  341. package/dist/esm/models/models.d.ts +76 -38
  342. package/dist/esm/models/models.d.ts.map +1 -1
  343. package/dist/esm/models/models.js +3 -1
  344. package/dist/esm/models/models.js.map +1 -1
  345. package/dist/esm/models/options.d.ts +34 -4
  346. package/dist/esm/models/options.d.ts.map +1 -1
  347. package/dist/esm/models/options.js.map +1 -1
  348. package/dist/esm/models/responses.d.ts +82 -10
  349. package/dist/esm/models/responses.d.ts.map +1 -1
  350. package/dist/esm/models/responses.js.map +1 -1
  351. package/dist/esm/models/streaming.d.ts +27 -26
  352. package/dist/esm/models/streaming.d.ts.map +1 -1
  353. package/dist/esm/models/streaming.js +57 -28
  354. package/dist/esm/models/streaming.js.map +1 -1
  355. package/dist/esm/streamingData.d.ts.map +1 -1
  356. package/dist/esm/streamingData.js +1 -10
  357. package/dist/esm/streamingData.js.map +1 -1
  358. package/dist/esm/utli/converters.d.ts +26 -2
  359. package/dist/esm/utli/converters.d.ts.map +1 -1
  360. package/dist/esm/utli/converters.js +122 -48
  361. package/dist/esm/utli/converters.js.map +1 -1
  362. package/dist/react-native/callAutomationClient.d.ts +8 -0
  363. package/dist/react-native/callAutomationClient.d.ts.map +1 -1
  364. package/dist/react-native/callAutomationClient.js +141 -84
  365. package/dist/react-native/callAutomationClient.js.map +1 -1
  366. package/dist/react-native/callAutomationEventParser.d.ts.map +1 -1
  367. package/dist/react-native/callAutomationEventParser.js +56 -9
  368. package/dist/react-native/callAutomationEventParser.js.map +1 -1
  369. package/dist/react-native/callConnection.d.ts +15 -5
  370. package/dist/react-native/callConnection.d.ts.map +1 -1
  371. package/dist/react-native/callConnection.js +193 -86
  372. package/dist/react-native/callConnection.js.map +1 -1
  373. package/dist/react-native/callMedia.d.ts +19 -9
  374. package/dist/react-native/callMedia.d.ts.map +1 -1
  375. package/dist/react-native/callMedia.js +175 -28
  376. package/dist/react-native/callMedia.js.map +1 -1
  377. package/dist/react-native/callRecording.d.ts +8 -2
  378. package/dist/react-native/callRecording.d.ts.map +1 -1
  379. package/dist/react-native/callRecording.js +26 -16
  380. package/dist/react-native/callRecording.js.map +1 -1
  381. package/dist/react-native/contentDownloader.js +12 -11
  382. package/dist/react-native/contentDownloader.js.map +1 -1
  383. package/dist/react-native/credential/callAutomationAccessKeyCredentialPolicy.js +2 -1
  384. package/dist/react-native/credential/callAutomationAccessKeyCredentialPolicy.js.map +1 -1
  385. package/dist/react-native/credential/callAutomationAuthPolicy.js +1 -1
  386. package/dist/react-native/credential/callAutomationAuthPolicy.js.map +1 -1
  387. package/dist/react-native/eventprocessor/callAutomationEventProcessor.d.ts +39 -0
  388. package/dist/react-native/eventprocessor/callAutomationEventProcessor.d.ts.map +1 -0
  389. package/dist/react-native/eventprocessor/callAutomationEventProcessor.js +137 -0
  390. package/dist/react-native/eventprocessor/callAutomationEventProcessor.js.map +1 -0
  391. package/dist/react-native/eventprocessor/eventResponses.d.ts +134 -0
  392. package/dist/react-native/eventprocessor/eventResponses.d.ts.map +1 -0
  393. package/dist/react-native/eventprocessor/eventResponses.js +4 -0
  394. package/dist/react-native/eventprocessor/eventResponses.js.map +1 -0
  395. package/dist/react-native/generated/src/callAutomationApiClient.d.ts +2 -1
  396. package/dist/react-native/generated/src/callAutomationApiClient.d.ts.map +1 -1
  397. package/dist/react-native/generated/src/callAutomationApiClient.js +7 -15
  398. package/dist/react-native/generated/src/callAutomationApiClient.js.map +1 -1
  399. package/dist/react-native/generated/src/models/index.d.ts +1129 -347
  400. package/dist/react-native/generated/src/models/index.d.ts.map +1 -1
  401. package/dist/react-native/generated/src/models/index.js +159 -75
  402. package/dist/react-native/generated/src/models/index.js.map +1 -1
  403. package/dist/react-native/generated/src/models/mappers.d.ts +88 -47
  404. package/dist/react-native/generated/src/models/mappers.d.ts.map +1 -1
  405. package/dist/react-native/generated/src/models/mappers.js +2136 -499
  406. package/dist/react-native/generated/src/models/mappers.js.map +1 -1
  407. package/dist/react-native/generated/src/models/parameters.d.ts +8 -1
  408. package/dist/react-native/generated/src/models/parameters.d.ts.map +1 -1
  409. package/dist/react-native/generated/src/models/parameters.js +45 -6
  410. package/dist/react-native/generated/src/models/parameters.js.map +1 -1
  411. package/dist/react-native/generated/src/operations/callConnection.d.ts +16 -2
  412. package/dist/react-native/generated/src/operations/callConnection.d.ts.map +1 -1
  413. package/dist/react-native/generated/src/operations/callConnection.js +105 -24
  414. package/dist/react-native/generated/src/operations/callConnection.js.map +1 -1
  415. package/dist/react-native/generated/src/operations/callDialog.d.ts +35 -0
  416. package/dist/react-native/generated/src/operations/callDialog.d.ts.map +1 -0
  417. package/dist/react-native/generated/src/operations/callDialog.js +111 -0
  418. package/dist/react-native/generated/src/operations/callDialog.js.map +1 -0
  419. package/dist/react-native/generated/src/operations/callMedia.d.ts +15 -8
  420. package/dist/react-native/generated/src/operations/callMedia.d.ts.map +1 -1
  421. package/dist/react-native/generated/src/operations/callMedia.js +50 -26
  422. package/dist/react-native/generated/src/operations/callMedia.js.map +1 -1
  423. package/dist/react-native/generated/src/operations/callRecording.d.ts +7 -1
  424. package/dist/react-native/generated/src/operations/callRecording.d.ts.map +1 -1
  425. package/dist/react-native/generated/src/operations/callRecording.js +24 -1
  426. package/dist/react-native/generated/src/operations/callRecording.js.map +1 -1
  427. package/dist/react-native/generated/src/operations/index.d.ts +1 -0
  428. package/dist/react-native/generated/src/operations/index.d.ts.map +1 -1
  429. package/dist/react-native/generated/src/operations/index.js +1 -0
  430. package/dist/react-native/generated/src/operations/index.js.map +1 -1
  431. package/dist/react-native/generated/src/operationsInterfaces/callConnection.d.ts +16 -2
  432. package/dist/react-native/generated/src/operationsInterfaces/callConnection.d.ts.map +1 -1
  433. package/dist/react-native/generated/src/operationsInterfaces/callConnection.js.map +1 -1
  434. package/dist/react-native/generated/src/operationsInterfaces/callDialog.d.ts +27 -0
  435. package/dist/react-native/generated/src/operationsInterfaces/callDialog.d.ts.map +1 -0
  436. package/dist/react-native/generated/src/operationsInterfaces/callDialog.js +9 -0
  437. package/dist/react-native/generated/src/operationsInterfaces/callDialog.js.map +1 -0
  438. package/dist/react-native/generated/src/operationsInterfaces/callMedia.d.ts +15 -8
  439. package/dist/react-native/generated/src/operationsInterfaces/callMedia.d.ts.map +1 -1
  440. package/dist/react-native/generated/src/operationsInterfaces/callMedia.js.map +1 -1
  441. package/dist/react-native/generated/src/operationsInterfaces/callRecording.d.ts +7 -1
  442. package/dist/react-native/generated/src/operationsInterfaces/callRecording.d.ts.map +1 -1
  443. package/dist/react-native/generated/src/operationsInterfaces/callRecording.js.map +1 -1
  444. package/dist/react-native/generated/src/operationsInterfaces/index.d.ts +1 -0
  445. package/dist/react-native/generated/src/operationsInterfaces/index.d.ts.map +1 -1
  446. package/dist/react-native/generated/src/operationsInterfaces/index.js +1 -0
  447. package/dist/react-native/generated/src/operationsInterfaces/index.js.map +1 -1
  448. package/dist/react-native/generated/src/pagingHelper.js +4 -2
  449. package/dist/react-native/generated/src/pagingHelper.js.map +1 -1
  450. package/dist/react-native/index.d.ts +2 -0
  451. package/dist/react-native/index.d.ts.map +1 -1
  452. package/dist/react-native/index.js +2 -0
  453. package/dist/react-native/index.js.map +1 -1
  454. package/dist/react-native/models/constants.d.ts.map +1 -1
  455. package/dist/react-native/models/constants.js +1 -1
  456. package/dist/react-native/models/constants.js.map +1 -1
  457. package/dist/react-native/models/events.d.ts +336 -296
  458. package/dist/react-native/models/events.d.ts.map +1 -1
  459. package/dist/react-native/models/events.js.map +1 -1
  460. package/dist/react-native/models/models.d.ts +76 -38
  461. package/dist/react-native/models/models.d.ts.map +1 -1
  462. package/dist/react-native/models/models.js +3 -1
  463. package/dist/react-native/models/models.js.map +1 -1
  464. package/dist/react-native/models/options.d.ts +34 -4
  465. package/dist/react-native/models/options.d.ts.map +1 -1
  466. package/dist/react-native/models/options.js.map +1 -1
  467. package/dist/react-native/models/responses.d.ts +82 -10
  468. package/dist/react-native/models/responses.d.ts.map +1 -1
  469. package/dist/react-native/models/responses.js.map +1 -1
  470. package/dist/react-native/models/streaming.d.ts +27 -26
  471. package/dist/react-native/models/streaming.d.ts.map +1 -1
  472. package/dist/react-native/models/streaming.js +57 -28
  473. package/dist/react-native/models/streaming.js.map +1 -1
  474. package/dist/react-native/streamingData.d.ts.map +1 -1
  475. package/dist/react-native/streamingData.js +1 -10
  476. package/dist/react-native/streamingData.js.map +1 -1
  477. package/dist/react-native/utli/converters.d.ts +26 -2
  478. package/dist/react-native/utli/converters.d.ts.map +1 -1
  479. package/dist/react-native/utli/converters.js +122 -48
  480. package/dist/react-native/utli/converters.js.map +1 -1
  481. package/package.json +36 -35
@@ -0,0 +1,39 @@
1
+ import type { CallAutomationEvent } from "../models/events.js";
2
+ import type { AbortSignalLike } from "@azure/abort-controller";
3
+ /**
4
+ * Call Automation's EventProcessor for incoming events for ease of use.
5
+ */
6
+ export declare class CallAutomationEventProcessor {
7
+ private readonly defaultTimeout;
8
+ private readonly defaultEventBacklogTimeout;
9
+ private readonly emitter;
10
+ private readonly eventsBacklog;
11
+ private readonly ongoingEvents;
12
+ /**
13
+ * Process incoming events. Pass incoming events to get it processed to have other method like WaitForEventProcessor to function.
14
+ * @param event - Incoming CloudEvent object.
15
+ */
16
+ processEvents(event: string | Record<string, unknown> | CallAutomationEvent): void;
17
+ /**
18
+ * Wait for matching incoming event. This is blocking Call. Returns the CallAutomationEvent once it arrives in ProcessEvent method.
19
+ * @param predicate - Conditional Predicate for waiting on event.
20
+ * @param abortSignal - Abort signal to abort the operation.
21
+ * @param timeoutInMs - maximum timeout in milliseconds for the operation.
22
+ */
23
+ waitForEventProcessor(predicate: (event: CallAutomationEvent) => boolean, abortSignal?: AbortSignalLike, timeoutInMs?: number): Promise<CallAutomationEvent>;
24
+ /**
25
+ * Attach Ongoing EventProcessor for specific event for a call.
26
+ * @param eventTypeKind - Matching event.
27
+ * @param callConnectionId - CallConnectionId of the call.
28
+ * @param eventProcessor - Method that will execute once the matching event arrives.
29
+ */
30
+ attachOngoingEventProcessor(callConnectionId: string, eventTypeKind: CallAutomationEvent["kind"], eventProcessor: (event: CallAutomationEvent) => Promise<void>): Promise<void>;
31
+ /**
32
+ * Detach Ongoing EventProcessor for specific event.
33
+ * @param eventTypeKind - Matching event.
34
+ * @param callConnectionId - CallConnectionId of the call.
35
+ */
36
+ detachOngoingEventProcessor(callConnectionId: string, eventTypeKind: CallAutomationEvent["kind"]): Promise<void>;
37
+ private generateIdTypeKey;
38
+ }
39
+ //# sourceMappingURL=callAutomationEventProcessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callAutomationEventProcessor.d.ts","sourceRoot":"","sources":["../../../src/eventprocessor/callAutomationEventProcessor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D;;GAEG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAQ;IACnD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAChE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA+B;IAE7D;;;OAGG;IACI,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,mBAAmB,GAAG,IAAI;IAsCzF;;;;;OAKG;IACU,qBAAqB,CAChC,SAAS,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,EAClD,WAAW,CAAC,EAAE,eAAe,EAC7B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,mBAAmB,CAAC;IAmD/B;;;;;OAKG;IACU,2BAA2B,CACtC,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,mBAAmB,CAAC,MAAM,CAAC,EAC1C,cAAc,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,GAC5D,OAAO,CAAC,IAAI,CAAC;IAchB;;;;OAIG;IACU,2BAA2B,CACtC,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,mBAAmB,CAAC,MAAM,CAAC,GACzC,OAAO,CAAC,IAAI,CAAC;IAWhB,OAAO,CAAC,iBAAiB;CAG1B"}
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.CallAutomationEventProcessor = void 0;
6
+ const events_1 = require("events");
7
+ const callAutomationEventParser_js_1 = require("../callAutomationEventParser.js");
8
+ /**
9
+ * Call Automation's EventProcessor for incoming events for ease of use.
10
+ */
11
+ class CallAutomationEventProcessor {
12
+ constructor() {
13
+ this.defaultTimeout = 240000; // 240 seconds in milliseconds
14
+ this.defaultEventBacklogTimeout = 5000; // 5 seconds in milliseconds
15
+ this.emitter = new events_1.EventEmitter();
16
+ this.eventsBacklog = [];
17
+ this.ongoingEvents = new Map();
18
+ }
19
+ /**
20
+ * Process incoming events. Pass incoming events to get it processed to have other method like WaitForEventProcessor to function.
21
+ * @param event - Incoming CloudEvent object.
22
+ */
23
+ processEvents(event) {
24
+ if (event) {
25
+ let callAutomationEvent;
26
+ // parse the event if not parsed already
27
+ if (typeof event === "string" || Array.isArray(event)) {
28
+ callAutomationEvent = (0, callAutomationEventParser_js_1.parseCallAutomationEvent)(event || event);
29
+ }
30
+ else {
31
+ callAutomationEvent = event;
32
+ }
33
+ // add to eventbacklog
34
+ this.eventsBacklog.push(callAutomationEvent);
35
+ setTimeout(() => {
36
+ const index = this.eventsBacklog.indexOf(callAutomationEvent);
37
+ if (index !== -1) {
38
+ this.eventsBacklog.splice(index, 1);
39
+ }
40
+ }, this.defaultEventBacklogTimeout);
41
+ // parse event if needed
42
+ this.emitter.emit("event", callAutomationEvent);
43
+ // check if event is disconnect, remove all related items in memory
44
+ if (callAutomationEvent.kind === "CallDisconnected") {
45
+ // remove from ongoingevent list
46
+ for (const [key, evProcessor] of this.ongoingEvents.entries()) {
47
+ if (key.includes(callAutomationEvent.callConnectionId)) {
48
+ // Deregister the event listener
49
+ this.ongoingEvents.delete(key);
50
+ this.emitter.off("event", evProcessor);
51
+ }
52
+ }
53
+ }
54
+ }
55
+ }
56
+ /**
57
+ * Wait for matching incoming event. This is blocking Call. Returns the CallAutomationEvent once it arrives in ProcessEvent method.
58
+ * @param predicate - Conditional Predicate for waiting on event.
59
+ * @param abortSignal - Abort signal to abort the operation.
60
+ * @param timeoutInMs - maximum timeout in milliseconds for the operation.
61
+ */
62
+ async waitForEventProcessor(predicate, abortSignal, timeoutInMs) {
63
+ const controller = new AbortController();
64
+ if (!timeoutInMs) {
65
+ timeoutInMs = this.defaultTimeout;
66
+ }
67
+ const filteredEvents = this.eventsBacklog.filter((event) => predicate(event));
68
+ if (filteredEvents.length > 0) {
69
+ // item found - delete from the list and return the event
70
+ this.eventsBacklog.splice(0, this.eventsBacklog.length, ...filteredEvents);
71
+ return filteredEvents[0];
72
+ }
73
+ // await for this event to comeback
74
+ let eventAwaiter;
75
+ const eventPromise = new Promise((resolve, reject) => {
76
+ // set abort signal
77
+ if (abortSignal) {
78
+ // If an external abortSignal is provided, link it with the controller.
79
+ abortSignal.addEventListener("abort", () => {
80
+ controller.abort();
81
+ this.emitter.off("event", eventAwaiter);
82
+ reject(new Error("Abort: Operation was aborted."));
83
+ });
84
+ }
85
+ // set timeout for this event
86
+ const timer = setTimeout(() => {
87
+ this.emitter.off("event", eventAwaiter);
88
+ reject(new Error("Timeout: Matching event did not arrive within timeout."));
89
+ }, timeoutInMs);
90
+ eventAwaiter = (event) => {
91
+ if (predicate(event)) {
92
+ // Deregister timer and the event listener
93
+ clearTimeout(timer);
94
+ this.emitter.off("event", eventAwaiter);
95
+ // Resolve with the matching event
96
+ resolve(event);
97
+ }
98
+ };
99
+ // Register the event awaiter
100
+ this.emitter.on("event", eventAwaiter);
101
+ });
102
+ return eventPromise;
103
+ }
104
+ /**
105
+ * Attach Ongoing EventProcessor for specific event for a call.
106
+ * @param eventTypeKind - Matching event.
107
+ * @param callConnectionId - CallConnectionId of the call.
108
+ * @param eventProcessor - Method that will execute once the matching event arrives.
109
+ */
110
+ async attachOngoingEventProcessor(callConnectionId, eventTypeKind, eventProcessor) {
111
+ const eventAwaiter = (event) => {
112
+ if (event.callConnectionId === callConnectionId && event.kind === eventTypeKind) {
113
+ eventProcessor(event);
114
+ }
115
+ };
116
+ // Register the event awaiter
117
+ this.emitter.on("event", eventAwaiter);
118
+ // attach the ongoing event processor to the map
119
+ const uniqueId = this.generateIdTypeKey(callConnectionId, eventTypeKind);
120
+ this.ongoingEvents.set(uniqueId, eventAwaiter);
121
+ }
122
+ /**
123
+ * Detach Ongoing EventProcessor for specific event.
124
+ * @param eventTypeKind - Matching event.
125
+ * @param callConnectionId - CallConnectionId of the call.
126
+ */
127
+ async detachOngoingEventProcessor(callConnectionId, eventTypeKind) {
128
+ const uniqueId = this.generateIdTypeKey(callConnectionId, eventTypeKind);
129
+ const value = this.ongoingEvents.get(uniqueId);
130
+ if (value) {
131
+ // Deregister the event listener
132
+ this.ongoingEvents.delete(uniqueId);
133
+ this.emitter.off("event", value);
134
+ }
135
+ }
136
+ generateIdTypeKey(callConnectionId, eventType) {
137
+ return `${callConnectionId}:${eventType}`;
138
+ }
139
+ }
140
+ exports.CallAutomationEventProcessor = CallAutomationEventProcessor;
141
+ //# sourceMappingURL=callAutomationEventProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callAutomationEventProcessor.js","sourceRoot":"","sources":["../../../src/eventprocessor/callAutomationEventProcessor.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,mCAAsC;AAEtC,kFAA2E;AAG3E;;GAEG;AACH,MAAa,4BAA4B;IAAzC;QACmB,mBAAc,GAAG,MAAM,CAAC,CAAC,8BAA8B;QACvD,+BAA0B,GAAG,IAAI,CAAC,CAAC,4BAA4B;QAC/D,YAAO,GAAG,IAAI,qBAAY,EAAE,CAAC;QAC7B,kBAAa,GAA+B,EAAE,CAAC;QAC/C,kBAAa,GAAqB,IAAI,GAAG,EAAE,CAAC;IAuJ/D,CAAC;IArJC;;;OAGG;IACI,aAAa,CAAC,KAA6D;QAChF,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,mBAAwC,CAAC;YAC7C,wCAAwC;YACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtD,mBAAmB,GAAG,IAAA,uDAAwB,EAC3C,KAAgB,IAAK,KAAiC,CACxD,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,mBAAmB,GAAG,KAA4B,CAAC;YACrD,CAAC;YAED,sBAAsB;YACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC7C,UAAU,CAAC,GAAG,EAAE;gBACd,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;gBAC9D,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;oBACjB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;YAEpC,wBAAwB;YACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;YAEhD,mEAAmE;YACnE,IAAI,mBAAmB,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACpD,gCAAgC;gBAChC,KAAK,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC9D,IAAI,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,CAAC;wBACvD,gCAAgC;wBAChC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,qBAAqB,CAChC,SAAkD,EAClD,WAA6B,EAC7B,WAAoB;QAEpB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC;QACpC,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9E,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,yDAAyD;YACzD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,cAAc,CAAC,CAAC;YAC3E,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QAED,mCAAmC;QACnC,IAAI,YAAkD,CAAC;QAEvD,MAAM,YAAY,GAAG,IAAI,OAAO,CAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxE,mBAAmB;YACnB,IAAI,WAAW,EAAE,CAAC;gBAChB,uEAAuE;gBACvE,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;oBACzC,UAAU,CAAC,KAAK,EAAE,CAAC;oBACnB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;oBACxC,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;gBACrD,CAAC,CAAC,CAAC;YACL,CAAC;YAED,6BAA6B;YAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBACxC,MAAM,CAAC,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC,CAAC;YAC9E,CAAC,EAAE,WAAW,CAAC,CAAC;YAEhB,YAAY,GAAG,CAAC,KAA0B,EAAE,EAAE;gBAC5C,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;oBACrB,0CAA0C;oBAC1C,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;oBAExC,kCAAkC;oBAClC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC,CAAC;YAEF,6BAA6B;YAC7B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,2BAA2B,CACtC,gBAAwB,EACxB,aAA0C,EAC1C,cAA6D;QAE7D,MAAM,YAAY,GAAG,CAAC,KAA0B,EAAQ,EAAE;YACxD,IAAI,KAAK,CAAC,gBAAgB,KAAK,gBAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAChF,cAAc,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;QACH,CAAC,CAAC;QACF,6BAA6B;QAC7B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAEvC,gDAAgD;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;QACzE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,2BAA2B,CACtC,gBAAwB,EACxB,aAA0C;QAE1C,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;QACzE,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE/C,IAAI,KAAK,EAAE,CAAC;YACV,gCAAgC;YAChC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,gBAAwB,EAAE,SAAiB;QACnE,OAAO,GAAG,gBAAgB,IAAI,SAAS,EAAE,CAAC;IAC5C,CAAC;CACF;AA5JD,oEA4JC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { EventEmitter } from \"events\";\nimport type { CallAutomationEvent } from \"../models/events.js\";\nimport { parseCallAutomationEvent } from \"../callAutomationEventParser.js\";\nimport type { AbortSignalLike } from \"@azure/abort-controller\";\n\n/**\n * Call Automation's EventProcessor for incoming events for ease of use.\n */\nexport class CallAutomationEventProcessor {\n private readonly defaultTimeout = 240000; // 240 seconds in milliseconds\n private readonly defaultEventBacklogTimeout = 5000; // 5 seconds in milliseconds\n private readonly emitter = new EventEmitter();\n private readonly eventsBacklog: Array<CallAutomationEvent> = [];\n private readonly ongoingEvents: Map<string, any> = new Map();\n\n /**\n * Process incoming events. Pass incoming events to get it processed to have other method like WaitForEventProcessor to function.\n * @param event - Incoming CloudEvent object.\n */\n public processEvents(event: string | Record<string, unknown> | CallAutomationEvent): void {\n if (event) {\n let callAutomationEvent: CallAutomationEvent;\n // parse the event if not parsed already\n if (typeof event === \"string\" || Array.isArray(event)) {\n callAutomationEvent = parseCallAutomationEvent(\n (event as string) || (event as Record<string, unknown>),\n );\n } else {\n callAutomationEvent = event as CallAutomationEvent;\n }\n\n // add to eventbacklog\n this.eventsBacklog.push(callAutomationEvent);\n setTimeout(() => {\n const index = this.eventsBacklog.indexOf(callAutomationEvent);\n if (index !== -1) {\n this.eventsBacklog.splice(index, 1);\n }\n }, this.defaultEventBacklogTimeout);\n\n // parse event if needed\n this.emitter.emit(\"event\", callAutomationEvent);\n\n // check if event is disconnect, remove all related items in memory\n if (callAutomationEvent.kind === \"CallDisconnected\") {\n // remove from ongoingevent list\n for (const [key, evProcessor] of this.ongoingEvents.entries()) {\n if (key.includes(callAutomationEvent.callConnectionId)) {\n // Deregister the event listener\n this.ongoingEvents.delete(key);\n this.emitter.off(\"event\", evProcessor);\n }\n }\n }\n }\n }\n\n /**\n * Wait for matching incoming event. This is blocking Call. Returns the CallAutomationEvent once it arrives in ProcessEvent method.\n * @param predicate - Conditional Predicate for waiting on event.\n * @param abortSignal - Abort signal to abort the operation.\n * @param timeoutInMs - maximum timeout in milliseconds for the operation.\n */\n public async waitForEventProcessor(\n predicate: (event: CallAutomationEvent) => boolean,\n abortSignal?: AbortSignalLike,\n timeoutInMs?: number,\n ): Promise<CallAutomationEvent> {\n const controller = new AbortController();\n if (!timeoutInMs) {\n timeoutInMs = this.defaultTimeout;\n }\n\n const filteredEvents = this.eventsBacklog.filter((event) => predicate(event));\n if (filteredEvents.length > 0) {\n // item found - delete from the list and return the event\n this.eventsBacklog.splice(0, this.eventsBacklog.length, ...filteredEvents);\n return filteredEvents[0];\n }\n\n // await for this event to comeback\n let eventAwaiter: (event: CallAutomationEvent) => void;\n\n const eventPromise = new Promise<CallAutomationEvent>((resolve, reject) => {\n // set abort signal\n if (abortSignal) {\n // If an external abortSignal is provided, link it with the controller.\n abortSignal.addEventListener(\"abort\", () => {\n controller.abort();\n this.emitter.off(\"event\", eventAwaiter);\n reject(new Error(\"Abort: Operation was aborted.\"));\n });\n }\n\n // set timeout for this event\n const timer = setTimeout(() => {\n this.emitter.off(\"event\", eventAwaiter);\n reject(new Error(\"Timeout: Matching event did not arrive within timeout.\"));\n }, timeoutInMs);\n\n eventAwaiter = (event: CallAutomationEvent) => {\n if (predicate(event)) {\n // Deregister timer and the event listener\n clearTimeout(timer);\n this.emitter.off(\"event\", eventAwaiter);\n\n // Resolve with the matching event\n resolve(event);\n }\n };\n\n // Register the event awaiter\n this.emitter.on(\"event\", eventAwaiter);\n });\n\n return eventPromise;\n }\n\n /**\n * Attach Ongoing EventProcessor for specific event for a call.\n * @param eventTypeKind - Matching event.\n * @param callConnectionId - CallConnectionId of the call.\n * @param eventProcessor - Method that will execute once the matching event arrives.\n */\n public async attachOngoingEventProcessor(\n callConnectionId: string,\n eventTypeKind: CallAutomationEvent[\"kind\"],\n eventProcessor: (event: CallAutomationEvent) => Promise<void>,\n ): Promise<void> {\n const eventAwaiter = (event: CallAutomationEvent): void => {\n if (event.callConnectionId === callConnectionId && event.kind === eventTypeKind) {\n eventProcessor(event);\n }\n };\n // Register the event awaiter\n this.emitter.on(\"event\", eventAwaiter);\n\n // attach the ongoing event processor to the map\n const uniqueId = this.generateIdTypeKey(callConnectionId, eventTypeKind);\n this.ongoingEvents.set(uniqueId, eventAwaiter);\n }\n\n /**\n * Detach Ongoing EventProcessor for specific event.\n * @param eventTypeKind - Matching event.\n * @param callConnectionId - CallConnectionId of the call.\n */\n public async detachOngoingEventProcessor(\n callConnectionId: string,\n eventTypeKind: CallAutomationEvent[\"kind\"],\n ): Promise<void> {\n const uniqueId = this.generateIdTypeKey(callConnectionId, eventTypeKind);\n const value = this.ongoingEvents.get(uniqueId);\n\n if (value) {\n // Deregister the event listener\n this.ongoingEvents.delete(uniqueId);\n this.emitter.off(\"event\", value);\n }\n }\n\n private generateIdTypeKey(callConnectionId: string, eventType: string): string {\n return `${callConnectionId}:${eventType}`;\n }\n}\n"]}
@@ -0,0 +1,134 @@
1
+ import type { AddParticipantSucceeded, AddParticipantFailed, CallConnected, PlayCanceled, RecognizeCanceled, PlayCompleted, PlayFailed, RemoveParticipantSucceeded, RemoveParticipantFailed, MoveParticipantSucceeded, MoveParticipantFailed, SendDtmfTonesCompleted, SendDtmfTonesFailed, RecognizeCompleted, RecognizeFailed, CallTransferAccepted, CallTransferFailed, CancelAddParticipantSucceeded, CancelAddParticipantFailed, CreateCallFailed, AnswerFailed, ConnectFailed } from "../models/events.js";
2
+ /**
3
+ * AddParticipant event result
4
+ */
5
+ export interface AddParticipantEventResult {
6
+ /** returns true if add participant was successful */
7
+ isSuccess: boolean;
8
+ /** contains success event if the result was successful */
9
+ successResult?: AddParticipantSucceeded;
10
+ /** contains failure event if the result was failure */
11
+ failureResult?: AddParticipantFailed;
12
+ }
13
+ /**
14
+ * AnswerCall event result
15
+ */
16
+ export interface AnswerCallEventResult {
17
+ /** returns true if answer call was successful */
18
+ isSuccess: boolean;
19
+ /** contains success event if the result was successful */
20
+ successResult?: CallConnected;
21
+ /** contains failure event if the result was failure */
22
+ failureResult?: AnswerFailed;
23
+ }
24
+ /**
25
+ * CancelAllMediaOperations event result
26
+ */
27
+ export interface CancelAllMediaOperationsEventResult {
28
+ /** returns true if cancel all media was successful */
29
+ isSuccess: boolean;
30
+ /** contains play cancel event if play media was canceled */
31
+ playCanceledSuccessResult?: PlayCanceled;
32
+ /** contains recognize cancel event if recognize media was canceled */
33
+ recognizeCanceledSuccessResult?: RecognizeCanceled;
34
+ }
35
+ /**
36
+ * CreateCall event result
37
+ */
38
+ export interface CreateCallEventResult {
39
+ /** returns true if create call was successful */
40
+ isSuccess: boolean;
41
+ /** contains success event if the result was successful */
42
+ successResult?: CallConnected;
43
+ /** contains failure event if the result was failure */
44
+ failureResult?: CreateCallFailed;
45
+ }
46
+ /**
47
+ * ConnectCall event result
48
+ */
49
+ export interface ConnectCallEventResult {
50
+ /** returns true if create call was successful */
51
+ isSuccess: boolean;
52
+ /** contains success event if the result was successful */
53
+ successResult?: CallConnected;
54
+ /** contains failure event if the result was failure */
55
+ failureResult?: ConnectFailed;
56
+ }
57
+ /**
58
+ * Play event result
59
+ */
60
+ export interface PlayEventResult {
61
+ /** returns true if play was successful */
62
+ isSuccess: boolean;
63
+ /** contains success event if the result was successful */
64
+ successResult?: PlayCompleted;
65
+ /** contains failure event if the result was failure */
66
+ failureResult?: PlayFailed;
67
+ }
68
+ /**
69
+ * RemoveParticipant event result
70
+ */
71
+ export interface RemoveParticipantEventResult {
72
+ /** returns true if remove participant was successful */
73
+ isSuccess: boolean;
74
+ /** contains success event if the result was successful */
75
+ successResult?: RemoveParticipantSucceeded;
76
+ /** contains failure event if the result was failure */
77
+ failureResult?: RemoveParticipantFailed;
78
+ }
79
+ /**
80
+ * MoveParticipant event result
81
+ */
82
+ export interface MoveParticipantEventResult {
83
+ /** returns true if move participant was successful */
84
+ isSuccess: boolean;
85
+ /** contains success event if the result was successful */
86
+ successResult?: MoveParticipantSucceeded;
87
+ /** contains failure event if the result was failure */
88
+ failureResult?: MoveParticipantFailed;
89
+ }
90
+ /**
91
+ * SendDtmf event result
92
+ */
93
+ export interface SendDtmfEventResult {
94
+ /** returns true if send dtmf was successful */
95
+ isSuccess: boolean;
96
+ /** contains success event if the result was successful */
97
+ successResult?: SendDtmfTonesCompleted;
98
+ /** contains failure event if the result was failure */
99
+ failureResult?: SendDtmfTonesFailed;
100
+ }
101
+ /**
102
+ * StartRecognizing event result
103
+ */
104
+ export interface StartRecognizingEventResult {
105
+ /** returns true if recognize was successful */
106
+ isSuccess: boolean;
107
+ /** contains success event if the result was successful */
108
+ successResult?: RecognizeCompleted;
109
+ /** contains failure event if the result was failure */
110
+ failureResult?: RecognizeFailed;
111
+ }
112
+ /**
113
+ * TransferCallToParticipant event result
114
+ */
115
+ export interface TransferCallToParticipantEventResult {
116
+ /** returns true if transfer call to participant was successful */
117
+ isSuccess: boolean;
118
+ /** contains success event if the result was successful */
119
+ successResult?: CallTransferAccepted;
120
+ /** contains failure event if the result was failure */
121
+ failureResult?: CallTransferFailed;
122
+ }
123
+ /**
124
+ * TransferCallToParticipant event result
125
+ */
126
+ export interface CancelAddParticipantEventResult {
127
+ /** returns true if cancel add participant was successful */
128
+ isSuccess: boolean;
129
+ /** contains success event if the result was successful */
130
+ successResult?: CancelAddParticipantSucceeded;
131
+ /** contains failure event if the result was failure */
132
+ failureResult?: CancelAddParticipantFailed;
133
+ }
134
+ //# sourceMappingURL=eventResponses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventResponses.d.ts","sourceRoot":"","sources":["../../../src/eventprocessor/eventResponses.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ //# sourceMappingURL=eventResponses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventResponses.js","sourceRoot":"","sources":["../../../src/eventprocessor/eventResponses.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n AddParticipantSucceeded,\n AddParticipantFailed,\n CallConnected,\n PlayCanceled,\n RecognizeCanceled,\n PlayCompleted,\n PlayFailed,\n RemoveParticipantSucceeded,\n RemoveParticipantFailed,\n MoveParticipantSucceeded,\n MoveParticipantFailed,\n SendDtmfTonesCompleted,\n SendDtmfTonesFailed,\n RecognizeCompleted,\n RecognizeFailed,\n CallTransferAccepted,\n CallTransferFailed,\n CancelAddParticipantSucceeded,\n CancelAddParticipantFailed,\n CreateCallFailed,\n AnswerFailed,\n ConnectFailed,\n} from \"../models/events.js\";\n\n/**\n * AddParticipant event result\n */\nexport interface AddParticipantEventResult {\n /** returns true if add participant was successful */\n isSuccess: boolean;\n\n /** contains success event if the result was successful */\n successResult?: AddParticipantSucceeded;\n\n /** contains failure event if the result was failure */\n failureResult?: AddParticipantFailed;\n}\n\n/**\n * AnswerCall event result\n */\nexport interface AnswerCallEventResult {\n /** returns true if answer call was successful */\n isSuccess: boolean;\n /** contains success event if the result was successful */\n successResult?: CallConnected;\n /** contains failure event if the result was failure */\n failureResult?: AnswerFailed;\n}\n\n/**\n * CancelAllMediaOperations event result\n */\nexport interface CancelAllMediaOperationsEventResult {\n /** returns true if cancel all media was successful */\n isSuccess: boolean;\n /** contains play cancel event if play media was canceled */\n playCanceledSuccessResult?: PlayCanceled;\n /** contains recognize cancel event if recognize media was canceled */\n recognizeCanceledSuccessResult?: RecognizeCanceled;\n}\n\n/**\n * CreateCall event result\n */\nexport interface CreateCallEventResult {\n /** returns true if create call was successful */\n isSuccess: boolean;\n /** contains success event if the result was successful */\n successResult?: CallConnected;\n /** contains failure event if the result was failure */\n failureResult?: CreateCallFailed;\n}\n\n/**\n * ConnectCall event result\n */\nexport interface ConnectCallEventResult {\n /** returns true if create call was successful */\n isSuccess: boolean;\n /** contains success event if the result was successful */\n successResult?: CallConnected;\n /** contains failure event if the result was failure */\n failureResult?: ConnectFailed;\n}\n\n/**\n * Play event result\n */\nexport interface PlayEventResult {\n /** returns true if play was successful */\n isSuccess: boolean;\n /** contains success event if the result was successful */\n successResult?: PlayCompleted;\n /** contains failure event if the result was failure */\n failureResult?: PlayFailed;\n}\n\n/**\n * RemoveParticipant event result\n */\nexport interface RemoveParticipantEventResult {\n /** returns true if remove participant was successful */\n isSuccess: boolean;\n /** contains success event if the result was successful */\n successResult?: RemoveParticipantSucceeded;\n /** contains failure event if the result was failure */\n failureResult?: RemoveParticipantFailed;\n}\n\n/**\n * MoveParticipant event result\n */\nexport interface MoveParticipantEventResult {\n /** returns true if move participant was successful */\n isSuccess: boolean;\n /** contains success event if the result was successful */\n successResult?: MoveParticipantSucceeded;\n /** contains failure event if the result was failure */\n failureResult?: MoveParticipantFailed;\n}\n\n/**\n * SendDtmf event result\n */\nexport interface SendDtmfEventResult {\n /** returns true if send dtmf was successful */\n isSuccess: boolean;\n /** contains success event if the result was successful */\n successResult?: SendDtmfTonesCompleted;\n /** contains failure event if the result was failure */\n failureResult?: SendDtmfTonesFailed;\n}\n\n/**\n * StartRecognizing event result\n */\nexport interface StartRecognizingEventResult {\n /** returns true if recognize was successful */\n isSuccess: boolean;\n /** contains success event if the result was successful */\n successResult?: RecognizeCompleted;\n /** contains failure event if the result was failure */\n failureResult?: RecognizeFailed;\n}\n\n/**\n * TransferCallToParticipant event result\n */\nexport interface TransferCallToParticipantEventResult {\n /** returns true if transfer call to participant was successful */\n isSuccess: boolean;\n /** contains success event if the result was successful */\n successResult?: CallTransferAccepted;\n /** contains failure event if the result was failure */\n failureResult?: CallTransferFailed;\n}\n\n/**\n * TransferCallToParticipant event result\n */\nexport interface CancelAddParticipantEventResult {\n /** returns true if cancel add participant was successful */\n isSuccess: boolean;\n /** contains success event if the result was successful */\n successResult?: CancelAddParticipantSucceeded;\n /** contains failure event if the result was failure */\n failureResult?: CancelAddParticipantFailed;\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import * as coreClient from "@azure/core-client";
2
- import { CallConnection, CallMedia, CallRecording } from "./operationsInterfaces/index.js";
2
+ import { CallConnection, CallMedia, CallDialog, CallRecording } from "./operationsInterfaces/index.js";
3
3
  import { CallAutomationApiClientOptionalParams, CreateCallRequest, CreateCallOptionalParams, CreateCallResponse, AnswerCallRequest, AnswerCallOptionalParams, AnswerCallResponse, RedirectCallRequest, RedirectCallOptionalParams, RejectCallRequest, RejectCallOptionalParams, ConnectRequest, ConnectOptionalParams, ConnectResponse } from "./models/index.js";
4
4
  export declare class CallAutomationApiClient extends coreClient.ServiceClient {
5
5
  endpoint: string;
@@ -44,6 +44,7 @@ export declare class CallAutomationApiClient extends coreClient.ServiceClient {
44
44
  connect(connectRequest: ConnectRequest, options?: ConnectOptionalParams): Promise<ConnectResponse>;
45
45
  callConnection: CallConnection;
46
46
  callMedia: CallMedia;
47
+ callDialog: CallDialog;
47
48
  callRecording: CallRecording;
48
49
  }
49
50
  //# sourceMappingURL=callAutomationApiClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"callAutomationApiClient.d.ts","sourceRoot":"","sources":["../../../../src/generated/src/callAutomationApiClient.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AAWjD,OAAO,EACL,cAAc,EACd,SAAS,EACT,aAAa,EACd,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EACL,qCAAqC,EACrC,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,0BAA0B,EAC1B,iBAAiB,EACjB,wBAAwB,EACxB,cAAc,EACd,qBAAqB,EACrB,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,uBAAwB,SAAQ,UAAU,CAAC,aAAa;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;gBAED,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,qCAAqC;IAwCjD,8GAA8G;IAC9G,OAAO,CAAC,yBAAyB;IA2BjC;;;;OAIG;IACH,UAAU,CACR,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,kBAAkB,CAAC;IAO9B;;;;OAIG;IACH,UAAU,CACR,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,kBAAkB,CAAC;IAO9B;;;;OAIG;IACH,YAAY,CACV,mBAAmB,EAAE,mBAAmB,EACxC,OAAO,CAAC,EAAE,0BAA0B,GACnC,OAAO,CAAC,IAAI,CAAC;IAOhB;;;;OAIG;IACH,UAAU,CACR,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,IAAI,CAAC;IAOhB;;;;OAIG;IACH,OAAO,CACL,cAAc,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,eAAe,CAAC;IAO3B,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;CAC9B"}
1
+ {"version":3,"file":"callAutomationApiClient.d.ts","sourceRoot":"","sources":["../../../../src/generated/src/callAutomationApiClient.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AAYjD,OAAO,EACL,cAAc,EACd,SAAS,EACT,UAAU,EACV,aAAa,EACd,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EACL,qCAAqC,EACrC,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,0BAA0B,EAC1B,iBAAiB,EACjB,wBAAwB,EACxB,cAAc,EACd,qBAAqB,EACrB,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,uBAAwB,SAAQ,UAAU,CAAC,aAAa;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;gBAED,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,qCAAqC;IAyCjD,8GAA8G;IAC9G,OAAO,CAAC,yBAAyB;IA2BjC;;;;OAIG;IACH,UAAU,CACR,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,kBAAkB,CAAC;IAO9B;;;;OAIG;IACH,UAAU,CACR,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,kBAAkB,CAAC;IAO9B;;;;OAIG;IACH,YAAY,CACV,mBAAmB,EAAE,mBAAmB,EACxC,OAAO,CAAC,EAAE,0BAA0B,GACnC,OAAO,CAAC,IAAI,CAAC;IAOhB;;;;OAIG;IACH,UAAU,CACR,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,IAAI,CAAC;IAOhB;;;;OAIG;IACH,OAAO,CACL,cAAc,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,eAAe,CAAC;IAO3B,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;CAC9B"}
@@ -14,14 +14,13 @@ const index_js_1 = require("./operations/index.js");
14
14
  const Parameters = tslib_1.__importStar(require("./models/parameters.js"));
15
15
  const Mappers = tslib_1.__importStar(require("./models/mappers.js"));
16
16
  class CallAutomationApiClient extends coreClient.ServiceClient {
17
- endpoint;
18
- apiVersion;
19
17
  /**
20
18
  * Initializes a new instance of the CallAutomationApiClient class.
21
19
  * @param endpoint The endpoint of the Azure Communication resource.
22
20
  * @param options The parameter options
23
21
  */
24
22
  constructor(endpoint, options) {
23
+ var _a, _b;
25
24
  if (endpoint === undefined) {
26
25
  throw new Error("'endpoint' cannot be null");
27
26
  }
@@ -32,25 +31,21 @@ class CallAutomationApiClient extends coreClient.ServiceClient {
32
31
  const defaults = {
33
32
  requestContentType: "application/json; charset=utf-8",
34
33
  };
35
- const packageDetails = `azsdk-js-communication-call-automation/1.5.0`;
34
+ const packageDetails = `azsdk-js-communication-call-automation/1.6.0-beta.1`;
36
35
  const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix
37
36
  ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`
38
37
  : `${packageDetails}`;
39
- const optionsWithDefaults = {
40
- ...defaults,
41
- ...options,
42
- userAgentOptions: {
38
+ const optionsWithDefaults = Object.assign(Object.assign(Object.assign({}, defaults), options), { userAgentOptions: {
43
39
  userAgentPrefix,
44
- },
45
- endpoint: options.endpoint ?? options.baseUri ?? "{endpoint}",
46
- };
40
+ }, endpoint: (_b = (_a = options.endpoint) !== null && _a !== void 0 ? _a : options.baseUri) !== null && _b !== void 0 ? _b : "{endpoint}" });
47
41
  super(optionsWithDefaults);
48
42
  // Parameter assignments
49
43
  this.endpoint = endpoint;
50
44
  // Assigning values to Constant parameters
51
- this.apiVersion = options.apiVersion || "2025-06-15";
45
+ this.apiVersion = options.apiVersion || "2024-09-01-preview";
52
46
  this.callConnection = new index_js_1.CallConnectionImpl(this);
53
47
  this.callMedia = new index_js_1.CallMediaImpl(this);
48
+ this.callDialog = new index_js_1.CallDialogImpl(this);
54
49
  this.callRecording = new index_js_1.CallRecordingImpl(this);
55
50
  this.addCustomApiVersionPolicy(options.apiVersion);
56
51
  }
@@ -119,9 +114,6 @@ class CallAutomationApiClient extends coreClient.ServiceClient {
119
114
  connect(connectRequest, options) {
120
115
  return this.sendOperationRequest({ connectRequest, options }, connectOperationSpec);
121
116
  }
122
- callConnection;
123
- callMedia;
124
- callRecording;
125
117
  }
126
118
  exports.CallAutomationApiClient = CallAutomationApiClient;
127
119
  // Operation Specifications
@@ -1 +1 @@
1
- {"version":3,"file":"callAutomationApiClient.js","sourceRoot":"","sources":["../../../../src/generated/src/callAutomationApiClient.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;AAEH,uEAAiD;AAMjD,oDAI+B;AAM/B,2EAAqD;AACrD,qEAA+C;AAkB/C,MAAa,uBAAwB,SAAQ,UAAU,CAAC,aAAa;IACnE,QAAQ,CAAS;IACjB,UAAU,CAAS;IAEnB;;;;OAIG;IACH,YACE,QAAgB,EAChB,OAA+C;QAE/C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,0CAA0C;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;QACD,MAAM,QAAQ,GAA0C;YACtD,kBAAkB,EAAE,iCAAiC;SACtD,CAAC;QAEF,MAAM,cAAc,GAAG,8CAA8C,CAAC;QACtE,MAAM,eAAe,GACnB,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,eAAe;YAClE,CAAC,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,IAAI,cAAc,EAAE;YACjE,CAAC,CAAC,GAAG,cAAc,EAAE,CAAC;QAE1B,MAAM,mBAAmB,GAAG;YAC1B,GAAG,QAAQ;YACX,GAAG,OAAO;YACV,gBAAgB,EAAE;gBAChB,eAAe;aAChB;YACD,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,IAAI,YAAY;SAC9D,CAAC;QACF,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC3B,wBAAwB;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,0CAA0C;QAC1C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,YAAY,CAAC;QACrD,IAAI,CAAC,cAAc,GAAG,IAAI,6BAAkB,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,IAAI,wBAAa,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,IAAI,4BAAiB,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC;IAED,8GAA8G;IACtG,yBAAyB,CAAC,UAAmB;QACnD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QACD,MAAM,gBAAgB,GAAG;YACvB,IAAI,EAAE,wBAAwB;YAC9B,KAAK,CAAC,WAAW,CACf,OAAwB,EACxB,IAAiB;gBAEjB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACrC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wBACjD,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;4BACrC,OAAO,cAAc,GAAG,UAAU,CAAC;wBACrC,CAAC;6BAAM,CAAC;4BACN,OAAO,IAAI,CAAC;wBACd,CAAC;oBACH,CAAC,CAAC,CAAC;oBACH,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrD,CAAC;gBACD,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;SACF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACH,UAAU,CACR,iBAAoC,EACpC,OAAkC;QAElC,OAAO,IAAI,CAAC,oBAAoB,CAC9B,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAC9B,uBAAuB,CACxB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,UAAU,CACR,iBAAoC,EACpC,OAAkC;QAElC,OAAO,IAAI,CAAC,oBAAoB,CAC9B,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAC9B,uBAAuB,CACxB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,YAAY,CACV,mBAAwC,EACxC,OAAoC;QAEpC,OAAO,IAAI,CAAC,oBAAoB,CAC9B,EAAE,mBAAmB,EAAE,OAAO,EAAE,EAChC,yBAAyB,CAC1B,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,UAAU,CACR,iBAAoC,EACpC,OAAkC;QAElC,OAAO,IAAI,CAAC,oBAAoB,CAC9B,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAC9B,uBAAuB,CACxB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,OAAO,CACL,cAA8B,EAC9B,OAA+B;QAE/B,OAAO,IAAI,CAAC,oBAAoB,CAC9B,EAAE,cAAc,EAAE,OAAO,EAAE,EAC3B,oBAAoB,CACrB,CAAC;IACJ,CAAC;IAED,cAAc,CAAiB;IAC/B,SAAS,CAAY;IACrB,aAAa,CAAgB;CAC9B;AA7JD,0DA6JC;AACD,2BAA2B;AAC3B,MAAM,UAAU,GAAG,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;AAE3E,MAAM,uBAAuB,GAA6B;IACxD,IAAI,EAAE,0BAA0B;IAChC,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,gCAAgC;SACrD;QACD,OAAO,EAAE;YACP,UAAU,EAAE,OAAO,CAAC,0BAA0B;SAC/C;KACF;IACD,WAAW,EAAE,UAAU,CAAC,iBAAiB;IACzC,eAAe,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IACxC,aAAa,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;IACpC,gBAAgB,EAAE;QAChB,UAAU,CAAC,WAAW;QACtB,UAAU,CAAC,MAAM;QACjB,UAAU,CAAC,sBAAsB;QACjC,UAAU,CAAC,sBAAsB;KAClC;IACD,SAAS,EAAE,MAAM;IACjB,UAAU;CACX,CAAC;AACF,MAAM,uBAAuB,GAA6B;IACxD,IAAI,EAAE,iCAAiC;IACvC,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,gCAAgC;SACrD;QACD,OAAO,EAAE;YACP,UAAU,EAAE,OAAO,CAAC,0BAA0B;SAC/C;KACF;IACD,WAAW,EAAE,UAAU,CAAC,iBAAiB;IACzC,eAAe,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IACxC,aAAa,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;IACpC,gBAAgB,EAAE;QAChB,UAAU,CAAC,WAAW;QACtB,UAAU,CAAC,MAAM;QACjB,UAAU,CAAC,sBAAsB;QACjC,UAAU,CAAC,sBAAsB;KAClC;IACD,SAAS,EAAE,MAAM;IACjB,UAAU;CACX,CAAC;AACF,MAAM,yBAAyB,GAA6B;IAC1D,IAAI,EAAE,mCAAmC;IACzC,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE;QACT,GAAG,EAAE,EAAE;QACP,OAAO,EAAE;YACP,UAAU,EAAE,OAAO,CAAC,0BAA0B;SAC/C;KACF;IACD,WAAW,EAAE,UAAU,CAAC,mBAAmB;IAC3C,eAAe,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IACxC,aAAa,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;IACpC,gBAAgB,EAAE;QAChB,UAAU,CAAC,WAAW;QACtB,UAAU,CAAC,MAAM;QACjB,UAAU,CAAC,sBAAsB;QACjC,UAAU,CAAC,sBAAsB;KAClC;IACD,SAAS,EAAE,MAAM;IACjB,UAAU;CACX,CAAC;AACF,MAAM,uBAAuB,GAA6B;IACxD,IAAI,EAAE,iCAAiC;IACvC,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE;QACT,GAAG,EAAE,EAAE;QACP,OAAO,EAAE;YACP,UAAU,EAAE,OAAO,CAAC,0BAA0B;SAC/C;KACF;IACD,WAAW,EAAE,UAAU,CAAC,iBAAiB;IACzC,eAAe,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IACxC,aAAa,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;IACpC,gBAAgB,EAAE;QAChB,UAAU,CAAC,WAAW;QACtB,UAAU,CAAC,MAAM;QACjB,UAAU,CAAC,sBAAsB;QACjC,UAAU,CAAC,sBAAsB;KAClC;IACD,SAAS,EAAE,MAAM;IACjB,UAAU;CACX,CAAC;AACF,MAAM,oBAAoB,GAA6B;IACrD,IAAI,EAAE,kCAAkC;IACxC,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,gCAAgC;SACrD;QACD,OAAO,EAAE;YACP,UAAU,EAAE,OAAO,CAAC,0BAA0B;SAC/C;KACF;IACD,WAAW,EAAE,UAAU,CAAC,cAAc;IACtC,eAAe,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IACxC,aAAa,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;IACpC,gBAAgB,EAAE;QAChB,UAAU,CAAC,WAAW;QACtB,UAAU,CAAC,MAAM;QACjB,UAAU,CAAC,sBAAsB;QACjC,UAAU,CAAC,sBAAsB;KAClC;IACD,SAAS,EAAE,MAAM;IACjB,UAAU;CACX,CAAC","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport {\n PipelineRequest,\n PipelineResponse,\n SendRequest,\n} from \"@azure/core-rest-pipeline\";\nimport {\n CallConnectionImpl,\n CallMediaImpl,\n CallRecordingImpl,\n} from \"./operations/index.js\";\nimport {\n CallConnection,\n CallMedia,\n CallRecording,\n} from \"./operationsInterfaces/index.js\";\nimport * as Parameters from \"./models/parameters.js\";\nimport * as Mappers from \"./models/mappers.js\";\nimport {\n CallAutomationApiClientOptionalParams,\n CreateCallRequest,\n CreateCallOptionalParams,\n CreateCallResponse,\n AnswerCallRequest,\n AnswerCallOptionalParams,\n AnswerCallResponse,\n RedirectCallRequest,\n RedirectCallOptionalParams,\n RejectCallRequest,\n RejectCallOptionalParams,\n ConnectRequest,\n ConnectOptionalParams,\n ConnectResponse,\n} from \"./models/index.js\";\n\nexport class CallAutomationApiClient extends coreClient.ServiceClient {\n endpoint: string;\n apiVersion: string;\n\n /**\n * Initializes a new instance of the CallAutomationApiClient class.\n * @param endpoint The endpoint of the Azure Communication resource.\n * @param options The parameter options\n */\n constructor(\n endpoint: string,\n options?: CallAutomationApiClientOptionalParams,\n ) {\n if (endpoint === undefined) {\n throw new Error(\"'endpoint' cannot be null\");\n }\n\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: CallAutomationApiClientOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\",\n };\n\n const packageDetails = `azsdk-js-communication-call-automation/1.5.0`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n : `${packageDetails}`;\n\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n userAgentOptions: {\n userAgentPrefix,\n },\n endpoint: options.endpoint ?? options.baseUri ?? \"{endpoint}\",\n };\n super(optionsWithDefaults);\n // Parameter assignments\n this.endpoint = endpoint;\n\n // Assigning values to Constant parameters\n this.apiVersion = options.apiVersion || \"2025-06-15\";\n this.callConnection = new CallConnectionImpl(this);\n this.callMedia = new CallMediaImpl(this);\n this.callRecording = new CallRecordingImpl(this);\n this.addCustomApiVersionPolicy(options.apiVersion);\n }\n\n /** A function that adds a policy that sets the api-version (or equivalent) to reflect the library version. */\n private addCustomApiVersionPolicy(apiVersion?: string) {\n if (!apiVersion) {\n return;\n }\n const apiVersionPolicy = {\n name: \"CustomApiVersionPolicy\",\n async sendRequest(\n request: PipelineRequest,\n next: SendRequest,\n ): Promise<PipelineResponse> {\n const param = request.url.split(\"?\");\n if (param.length > 1) {\n const newParams = param[1].split(\"&\").map((item) => {\n if (item.indexOf(\"api-version\") > -1) {\n return \"api-version=\" + apiVersion;\n } else {\n return item;\n }\n });\n request.url = param[0] + \"?\" + newParams.join(\"&\");\n }\n return next(request);\n },\n };\n this.pipeline.addPolicy(apiVersionPolicy);\n }\n\n /**\n * Create an outbound call.\n * @param createCallRequest The create call request.\n * @param options The options parameters.\n */\n createCall(\n createCallRequest: CreateCallRequest,\n options?: CreateCallOptionalParams,\n ): Promise<CreateCallResponse> {\n return this.sendOperationRequest(\n { createCallRequest, options },\n createCallOperationSpec,\n );\n }\n\n /**\n * Answer a call using the IncomingCallContext from Event Grid.\n * @param answerCallRequest The answer call request.\n * @param options The options parameters.\n */\n answerCall(\n answerCallRequest: AnswerCallRequest,\n options?: AnswerCallOptionalParams,\n ): Promise<AnswerCallResponse> {\n return this.sendOperationRequest(\n { answerCallRequest, options },\n answerCallOperationSpec,\n );\n }\n\n /**\n * Redirect a call.\n * @param redirectCallRequest The redirect call request.\n * @param options The options parameters.\n */\n redirectCall(\n redirectCallRequest: RedirectCallRequest,\n options?: RedirectCallOptionalParams,\n ): Promise<void> {\n return this.sendOperationRequest(\n { redirectCallRequest, options },\n redirectCallOperationSpec,\n );\n }\n\n /**\n * Reject the call.\n * @param rejectCallRequest The reject call request.\n * @param options The options parameters.\n */\n rejectCall(\n rejectCallRequest: RejectCallRequest,\n options?: RejectCallOptionalParams,\n ): Promise<void> {\n return this.sendOperationRequest(\n { rejectCallRequest, options },\n rejectCallOperationSpec,\n );\n }\n\n /**\n * Create a connection to a CallLocator.\n * @param connectRequest The create connection request.\n * @param options The options parameters.\n */\n connect(\n connectRequest: ConnectRequest,\n options?: ConnectOptionalParams,\n ): Promise<ConnectResponse> {\n return this.sendOperationRequest(\n { connectRequest, options },\n connectOperationSpec,\n );\n }\n\n callConnection: CallConnection;\n callMedia: CallMedia;\n callRecording: CallRecording;\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst createCallOperationSpec: coreClient.OperationSpec = {\n path: \"/calling/callConnections\",\n httpMethod: \"POST\",\n responses: {\n 201: {\n bodyMapper: Mappers.CallConnectionPropertiesInternal,\n },\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n },\n },\n requestBody: Parameters.createCallRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.repeatabilityRequestID,\n Parameters.repeatabilityFirstSent,\n ],\n mediaType: \"json\",\n serializer,\n};\nconst answerCallOperationSpec: coreClient.OperationSpec = {\n path: \"/calling/callConnections:answer\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.CallConnectionPropertiesInternal,\n },\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n },\n },\n requestBody: Parameters.answerCallRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.repeatabilityRequestID,\n Parameters.repeatabilityFirstSent,\n ],\n mediaType: \"json\",\n serializer,\n};\nconst redirectCallOperationSpec: coreClient.OperationSpec = {\n path: \"/calling/callConnections:redirect\",\n httpMethod: \"POST\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n },\n },\n requestBody: Parameters.redirectCallRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.repeatabilityRequestID,\n Parameters.repeatabilityFirstSent,\n ],\n mediaType: \"json\",\n serializer,\n};\nconst rejectCallOperationSpec: coreClient.OperationSpec = {\n path: \"/calling/callConnections:reject\",\n httpMethod: \"POST\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n },\n },\n requestBody: Parameters.rejectCallRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.repeatabilityRequestID,\n Parameters.repeatabilityFirstSent,\n ],\n mediaType: \"json\",\n serializer,\n};\nconst connectOperationSpec: coreClient.OperationSpec = {\n path: \"/calling/callConnections:connect\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.CallConnectionPropertiesInternal,\n },\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n },\n },\n requestBody: Parameters.connectRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.repeatabilityRequestID,\n Parameters.repeatabilityFirstSent,\n ],\n mediaType: \"json\",\n serializer,\n};\n"]}
1
+ {"version":3,"file":"callAutomationApiClient.js","sourceRoot":"","sources":["../../../../src/generated/src/callAutomationApiClient.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport {\n PipelineRequest,\n PipelineResponse,\n SendRequest,\n} from \"@azure/core-rest-pipeline\";\nimport {\n CallConnectionImpl,\n CallMediaImpl,\n CallDialogImpl,\n CallRecordingImpl,\n} from \"./operations/index.js\";\nimport {\n CallConnection,\n CallMedia,\n CallDialog,\n CallRecording,\n} from \"./operationsInterfaces/index.js\";\nimport * as Parameters from \"./models/parameters.js\";\nimport * as Mappers from \"./models/mappers.js\";\nimport {\n CallAutomationApiClientOptionalParams,\n CreateCallRequest,\n CreateCallOptionalParams,\n CreateCallResponse,\n AnswerCallRequest,\n AnswerCallOptionalParams,\n AnswerCallResponse,\n RedirectCallRequest,\n RedirectCallOptionalParams,\n RejectCallRequest,\n RejectCallOptionalParams,\n ConnectRequest,\n ConnectOptionalParams,\n ConnectResponse,\n} from \"./models/index.js\";\n\nexport class CallAutomationApiClient extends coreClient.ServiceClient {\n endpoint: string;\n apiVersion: string;\n\n /**\n * Initializes a new instance of the CallAutomationApiClient class.\n * @param endpoint The endpoint of the Azure Communication resource.\n * @param options The parameter options\n */\n constructor(\n endpoint: string,\n options?: CallAutomationApiClientOptionalParams,\n ) {\n if (endpoint === undefined) {\n throw new Error(\"'endpoint' cannot be null\");\n }\n\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: CallAutomationApiClientOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\",\n };\n\n const packageDetails = `azsdk-js-communication-call-automation/1.6.0-beta.1`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n : `${packageDetails}`;\n\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n userAgentOptions: {\n userAgentPrefix,\n },\n endpoint: options.endpoint ?? options.baseUri ?? \"{endpoint}\",\n };\n super(optionsWithDefaults);\n // Parameter assignments\n this.endpoint = endpoint;\n\n // Assigning values to Constant parameters\n this.apiVersion = options.apiVersion || \"2024-09-01-preview\";\n this.callConnection = new CallConnectionImpl(this);\n this.callMedia = new CallMediaImpl(this);\n this.callDialog = new CallDialogImpl(this);\n this.callRecording = new CallRecordingImpl(this);\n this.addCustomApiVersionPolicy(options.apiVersion);\n }\n\n /** A function that adds a policy that sets the api-version (or equivalent) to reflect the library version. */\n private addCustomApiVersionPolicy(apiVersion?: string) {\n if (!apiVersion) {\n return;\n }\n const apiVersionPolicy = {\n name: \"CustomApiVersionPolicy\",\n async sendRequest(\n request: PipelineRequest,\n next: SendRequest,\n ): Promise<PipelineResponse> {\n const param = request.url.split(\"?\");\n if (param.length > 1) {\n const newParams = param[1].split(\"&\").map((item) => {\n if (item.indexOf(\"api-version\") > -1) {\n return \"api-version=\" + apiVersion;\n } else {\n return item;\n }\n });\n request.url = param[0] + \"?\" + newParams.join(\"&\");\n }\n return next(request);\n },\n };\n this.pipeline.addPolicy(apiVersionPolicy);\n }\n\n /**\n * Create an outbound call.\n * @param createCallRequest The create call request.\n * @param options The options parameters.\n */\n createCall(\n createCallRequest: CreateCallRequest,\n options?: CreateCallOptionalParams,\n ): Promise<CreateCallResponse> {\n return this.sendOperationRequest(\n { createCallRequest, options },\n createCallOperationSpec,\n );\n }\n\n /**\n * Answer a call using the IncomingCallContext from Event Grid.\n * @param answerCallRequest The answer call request.\n * @param options The options parameters.\n */\n answerCall(\n answerCallRequest: AnswerCallRequest,\n options?: AnswerCallOptionalParams,\n ): Promise<AnswerCallResponse> {\n return this.sendOperationRequest(\n { answerCallRequest, options },\n answerCallOperationSpec,\n );\n }\n\n /**\n * Redirect a call.\n * @param redirectCallRequest The redirect call request.\n * @param options The options parameters.\n */\n redirectCall(\n redirectCallRequest: RedirectCallRequest,\n options?: RedirectCallOptionalParams,\n ): Promise<void> {\n return this.sendOperationRequest(\n { redirectCallRequest, options },\n redirectCallOperationSpec,\n );\n }\n\n /**\n * Reject the call.\n * @param rejectCallRequest The reject call request.\n * @param options The options parameters.\n */\n rejectCall(\n rejectCallRequest: RejectCallRequest,\n options?: RejectCallOptionalParams,\n ): Promise<void> {\n return this.sendOperationRequest(\n { rejectCallRequest, options },\n rejectCallOperationSpec,\n );\n }\n\n /**\n * Create a connection to a CallLocator.\n * @param connectRequest The create connection request.\n * @param options The options parameters.\n */\n connect(\n connectRequest: ConnectRequest,\n options?: ConnectOptionalParams,\n ): Promise<ConnectResponse> {\n return this.sendOperationRequest(\n { connectRequest, options },\n connectOperationSpec,\n );\n }\n\n callConnection: CallConnection;\n callMedia: CallMedia;\n callDialog: CallDialog;\n callRecording: CallRecording;\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst createCallOperationSpec: coreClient.OperationSpec = {\n path: \"/calling/callConnections\",\n httpMethod: \"POST\",\n responses: {\n 201: {\n bodyMapper: Mappers.CallConnectionPropertiesInternal,\n },\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n },\n },\n requestBody: Parameters.createCallRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.repeatabilityRequestID,\n Parameters.repeatabilityFirstSent,\n ],\n mediaType: \"json\",\n serializer,\n};\nconst answerCallOperationSpec: coreClient.OperationSpec = {\n path: \"/calling/callConnections:answer\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.CallConnectionPropertiesInternal,\n },\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n },\n },\n requestBody: Parameters.answerCallRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.repeatabilityRequestID,\n Parameters.repeatabilityFirstSent,\n ],\n mediaType: \"json\",\n serializer,\n};\nconst redirectCallOperationSpec: coreClient.OperationSpec = {\n path: \"/calling/callConnections:redirect\",\n httpMethod: \"POST\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n },\n },\n requestBody: Parameters.redirectCallRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.repeatabilityRequestID,\n Parameters.repeatabilityFirstSent,\n ],\n mediaType: \"json\",\n serializer,\n};\nconst rejectCallOperationSpec: coreClient.OperationSpec = {\n path: \"/calling/callConnections:reject\",\n httpMethod: \"POST\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n },\n },\n requestBody: Parameters.rejectCallRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.repeatabilityRequestID,\n Parameters.repeatabilityFirstSent,\n ],\n mediaType: \"json\",\n serializer,\n};\nconst connectOperationSpec: coreClient.OperationSpec = {\n path: \"/calling/callConnections:connect\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.CallConnectionPropertiesInternal,\n },\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse,\n },\n },\n requestBody: Parameters.connectRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.repeatabilityRequestID,\n Parameters.repeatabilityFirstSent,\n ],\n mediaType: \"json\",\n serializer,\n};\n"]}