@azure/communication-call-automation 1.5.0-beta.2 → 1.5.0

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 (281) hide show
  1. package/README.md +3 -1
  2. package/dist/browser/callAutomationClient.d.ts +2 -3
  3. package/dist/browser/callAutomationClient.d.ts.map +1 -1
  4. package/dist/browser/callAutomationClient.js +79 -31
  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 +9 -10
  8. package/dist/browser/callAutomationEventParser.js.map +1 -1
  9. package/dist/browser/callConnection.d.ts +1 -1
  10. package/dist/browser/callConnection.d.ts.map +1 -1
  11. package/dist/browser/callConnection.js +82 -38
  12. package/dist/browser/callConnection.js.map +1 -1
  13. package/dist/browser/callMedia.d.ts +1 -1
  14. package/dist/browser/callMedia.d.ts.map +1 -1
  15. package/dist/browser/callMedia.js +33 -12
  16. package/dist/browser/callMedia.js.map +1 -1
  17. package/dist/browser/callRecording.js +11 -6
  18. package/dist/browser/callRecording.js.map +1 -1
  19. package/dist/browser/contentDownloader.js +11 -12
  20. package/dist/browser/contentDownloader.js.map +1 -1
  21. package/dist/browser/credential/callAutomationAccessKeyCredentialPolicy.js +1 -2
  22. package/dist/browser/credential/callAutomationAccessKeyCredentialPolicy.js.map +1 -1
  23. package/dist/browser/credential/callAutomationAuthPolicy.js +1 -1
  24. package/dist/browser/credential/callAutomationAuthPolicy.js.map +1 -1
  25. package/dist/browser/credential/cryptoUtils-browser.mjs.map +1 -1
  26. package/dist/browser/credential/cryptoUtils.js +1 -2
  27. package/dist/browser/generated/src/callAutomationApiClient.js +14 -5
  28. package/dist/browser/generated/src/callAutomationApiClient.js.map +1 -1
  29. package/dist/browser/generated/src/models/index.d.ts +305 -322
  30. package/dist/browser/generated/src/models/index.d.ts.map +1 -1
  31. package/dist/browser/generated/src/models/index.js +29 -35
  32. package/dist/browser/generated/src/models/index.js.map +1 -1
  33. package/dist/browser/generated/src/models/mappers.d.ts +41 -34
  34. package/dist/browser/generated/src/models/mappers.d.ts.map +1 -1
  35. package/dist/browser/generated/src/models/mappers.js +481 -462
  36. package/dist/browser/generated/src/models/mappers.js.map +1 -1
  37. package/dist/browser/generated/src/models/parameters.js +1 -1
  38. package/dist/browser/generated/src/models/parameters.js.map +1 -1
  39. package/dist/browser/generated/src/operations/callConnection.js +23 -40
  40. package/dist/browser/generated/src/operations/callConnection.js.map +1 -1
  41. package/dist/browser/generated/src/operations/callMedia.js +1 -0
  42. package/dist/browser/generated/src/operations/callMedia.js.map +1 -1
  43. package/dist/browser/generated/src/operations/callRecording.js +1 -0
  44. package/dist/browser/generated/src/operations/callRecording.js.map +1 -1
  45. package/dist/browser/generated/src/pagingHelper.js +2 -4
  46. package/dist/browser/generated/src/pagingHelper.js.map +1 -1
  47. package/dist/browser/models/constants.d.ts.map +1 -1
  48. package/dist/browser/models/constants.js +1 -1
  49. package/dist/browser/models/constants.js.map +1 -1
  50. package/dist/browser/models/events.d.ts +295 -209
  51. package/dist/browser/models/events.d.ts.map +1 -1
  52. package/dist/browser/models/events.js.map +1 -1
  53. package/dist/browser/models/models.d.ts +44 -4
  54. package/dist/browser/models/models.d.ts.map +1 -1
  55. package/dist/browser/models/models.js +1 -1
  56. package/dist/browser/models/models.js.map +1 -1
  57. package/dist/browser/models/options.d.ts +17 -0
  58. package/dist/browser/models/options.d.ts.map +1 -1
  59. package/dist/browser/models/options.js.map +1 -1
  60. package/dist/browser/models/responses.d.ts +1 -1
  61. package/dist/browser/models/responses.d.ts.map +1 -1
  62. package/dist/browser/models/responses.js.map +1 -1
  63. package/dist/browser/models/streaming.d.ts +26 -27
  64. package/dist/browser/models/streaming.d.ts.map +1 -1
  65. package/dist/browser/models/streaming.js +28 -57
  66. package/dist/browser/models/streaming.js.map +1 -1
  67. package/dist/browser/streamingData.d.ts.map +1 -1
  68. package/dist/browser/streamingData.js +10 -1
  69. package/dist/browser/streamingData.js.map +1 -1
  70. package/dist/browser/utli/converters.d.ts.map +1 -1
  71. package/dist/browser/utli/converters.js +30 -9
  72. package/dist/browser/utli/converters.js.map +1 -1
  73. package/dist/commonjs/callAutomationClient.d.ts +2 -3
  74. package/dist/commonjs/callAutomationClient.d.ts.map +1 -1
  75. package/dist/commonjs/callAutomationClient.js +79 -31
  76. package/dist/commonjs/callAutomationClient.js.map +1 -1
  77. package/dist/commonjs/callAutomationEventParser.d.ts.map +1 -1
  78. package/dist/commonjs/callAutomationEventParser.js +9 -10
  79. package/dist/commonjs/callAutomationEventParser.js.map +1 -1
  80. package/dist/commonjs/callConnection.d.ts +1 -1
  81. package/dist/commonjs/callConnection.d.ts.map +1 -1
  82. package/dist/commonjs/callConnection.js +82 -38
  83. package/dist/commonjs/callConnection.js.map +1 -1
  84. package/dist/commonjs/callMedia.d.ts +1 -1
  85. package/dist/commonjs/callMedia.d.ts.map +1 -1
  86. package/dist/commonjs/callMedia.js +42 -21
  87. package/dist/commonjs/callMedia.js.map +1 -1
  88. package/dist/commonjs/callRecording.js +12 -7
  89. package/dist/commonjs/callRecording.js.map +1 -1
  90. package/dist/commonjs/contentDownloader.js +11 -12
  91. package/dist/commonjs/contentDownloader.js.map +1 -1
  92. package/dist/commonjs/credential/callAutomationAccessKeyCredentialPolicy.js +1 -2
  93. package/dist/commonjs/credential/callAutomationAccessKeyCredentialPolicy.js.map +1 -1
  94. package/dist/commonjs/credential/callAutomationAuthPolicy.js +1 -1
  95. package/dist/commonjs/credential/callAutomationAuthPolicy.js.map +1 -1
  96. package/dist/commonjs/generated/src/callAutomationApiClient.js +14 -5
  97. package/dist/commonjs/generated/src/callAutomationApiClient.js.map +1 -1
  98. package/dist/commonjs/generated/src/models/index.d.ts +305 -322
  99. package/dist/commonjs/generated/src/models/index.d.ts.map +1 -1
  100. package/dist/commonjs/generated/src/models/index.js +30 -36
  101. package/dist/commonjs/generated/src/models/index.js.map +1 -1
  102. package/dist/commonjs/generated/src/models/mappers.d.ts +41 -34
  103. package/dist/commonjs/generated/src/models/mappers.d.ts.map +1 -1
  104. package/dist/commonjs/generated/src/models/mappers.js +484 -465
  105. package/dist/commonjs/generated/src/models/mappers.js.map +1 -1
  106. package/dist/commonjs/generated/src/models/parameters.js +1 -1
  107. package/dist/commonjs/generated/src/models/parameters.js.map +1 -1
  108. package/dist/commonjs/generated/src/operations/callConnection.js +23 -39
  109. package/dist/commonjs/generated/src/operations/callConnection.js.map +1 -1
  110. package/dist/commonjs/generated/src/operations/callMedia.js +1 -0
  111. package/dist/commonjs/generated/src/operations/callMedia.js.map +1 -1
  112. package/dist/commonjs/generated/src/operations/callRecording.js +1 -0
  113. package/dist/commonjs/generated/src/operations/callRecording.js.map +1 -1
  114. package/dist/commonjs/generated/src/pagingHelper.js +2 -4
  115. package/dist/commonjs/generated/src/pagingHelper.js.map +1 -1
  116. package/dist/commonjs/models/constants.d.ts.map +1 -1
  117. package/dist/commonjs/models/constants.js +1 -1
  118. package/dist/commonjs/models/constants.js.map +1 -1
  119. package/dist/commonjs/models/events.d.ts +295 -209
  120. package/dist/commonjs/models/events.d.ts.map +1 -1
  121. package/dist/commonjs/models/events.js.map +1 -1
  122. package/dist/commonjs/models/models.d.ts +44 -4
  123. package/dist/commonjs/models/models.d.ts.map +1 -1
  124. package/dist/commonjs/models/models.js +2 -16
  125. package/dist/commonjs/models/models.js.map +1 -1
  126. package/dist/commonjs/models/options.d.ts +17 -0
  127. package/dist/commonjs/models/options.d.ts.map +1 -1
  128. package/dist/commonjs/models/options.js.map +1 -1
  129. package/dist/commonjs/models/responses.d.ts +1 -1
  130. package/dist/commonjs/models/responses.d.ts.map +1 -1
  131. package/dist/commonjs/models/responses.js.map +1 -1
  132. package/dist/commonjs/models/streaming.d.ts +26 -27
  133. package/dist/commonjs/models/streaming.d.ts.map +1 -1
  134. package/dist/commonjs/models/streaming.js +31 -59
  135. package/dist/commonjs/models/streaming.js.map +1 -1
  136. package/dist/commonjs/streamingData.d.ts.map +1 -1
  137. package/dist/commonjs/streamingData.js +10 -1
  138. package/dist/commonjs/streamingData.js.map +1 -1
  139. package/dist/commonjs/tsdoc-metadata.json +11 -11
  140. package/dist/commonjs/utli/converters.d.ts.map +1 -1
  141. package/dist/commonjs/utli/converters.js +30 -9
  142. package/dist/commonjs/utli/converters.js.map +1 -1
  143. package/dist/esm/callAutomationClient.d.ts +2 -3
  144. package/dist/esm/callAutomationClient.d.ts.map +1 -1
  145. package/dist/esm/callAutomationClient.js +79 -31
  146. package/dist/esm/callAutomationClient.js.map +1 -1
  147. package/dist/esm/callAutomationEventParser.d.ts.map +1 -1
  148. package/dist/esm/callAutomationEventParser.js +9 -10
  149. package/dist/esm/callAutomationEventParser.js.map +1 -1
  150. package/dist/esm/callConnection.d.ts +1 -1
  151. package/dist/esm/callConnection.d.ts.map +1 -1
  152. package/dist/esm/callConnection.js +82 -38
  153. package/dist/esm/callConnection.js.map +1 -1
  154. package/dist/esm/callMedia.d.ts +1 -1
  155. package/dist/esm/callMedia.d.ts.map +1 -1
  156. package/dist/esm/callMedia.js +33 -12
  157. package/dist/esm/callMedia.js.map +1 -1
  158. package/dist/esm/callRecording.js +11 -6
  159. package/dist/esm/callRecording.js.map +1 -1
  160. package/dist/esm/contentDownloader.js +11 -12
  161. package/dist/esm/contentDownloader.js.map +1 -1
  162. package/dist/esm/credential/callAutomationAccessKeyCredentialPolicy.js +1 -2
  163. package/dist/esm/credential/callAutomationAccessKeyCredentialPolicy.js.map +1 -1
  164. package/dist/esm/credential/callAutomationAuthPolicy.js +1 -1
  165. package/dist/esm/credential/callAutomationAuthPolicy.js.map +1 -1
  166. package/dist/esm/generated/src/callAutomationApiClient.js +14 -5
  167. package/dist/esm/generated/src/callAutomationApiClient.js.map +1 -1
  168. package/dist/esm/generated/src/models/index.d.ts +305 -322
  169. package/dist/esm/generated/src/models/index.d.ts.map +1 -1
  170. package/dist/esm/generated/src/models/index.js +29 -35
  171. package/dist/esm/generated/src/models/index.js.map +1 -1
  172. package/dist/esm/generated/src/models/mappers.d.ts +41 -34
  173. package/dist/esm/generated/src/models/mappers.d.ts.map +1 -1
  174. package/dist/esm/generated/src/models/mappers.js +481 -462
  175. package/dist/esm/generated/src/models/mappers.js.map +1 -1
  176. package/dist/esm/generated/src/models/parameters.js +1 -1
  177. package/dist/esm/generated/src/models/parameters.js.map +1 -1
  178. package/dist/esm/generated/src/operations/callConnection.js +23 -40
  179. package/dist/esm/generated/src/operations/callConnection.js.map +1 -1
  180. package/dist/esm/generated/src/operations/callMedia.js +1 -0
  181. package/dist/esm/generated/src/operations/callMedia.js.map +1 -1
  182. package/dist/esm/generated/src/operations/callRecording.js +1 -0
  183. package/dist/esm/generated/src/operations/callRecording.js.map +1 -1
  184. package/dist/esm/generated/src/pagingHelper.js +2 -4
  185. package/dist/esm/generated/src/pagingHelper.js.map +1 -1
  186. package/dist/esm/models/constants.d.ts.map +1 -1
  187. package/dist/esm/models/constants.js +1 -1
  188. package/dist/esm/models/constants.js.map +1 -1
  189. package/dist/esm/models/events.d.ts +295 -209
  190. package/dist/esm/models/events.d.ts.map +1 -1
  191. package/dist/esm/models/events.js.map +1 -1
  192. package/dist/esm/models/models.d.ts +44 -4
  193. package/dist/esm/models/models.d.ts.map +1 -1
  194. package/dist/esm/models/models.js +1 -1
  195. package/dist/esm/models/models.js.map +1 -1
  196. package/dist/esm/models/options.d.ts +17 -0
  197. package/dist/esm/models/options.d.ts.map +1 -1
  198. package/dist/esm/models/options.js.map +1 -1
  199. package/dist/esm/models/responses.d.ts +1 -1
  200. package/dist/esm/models/responses.d.ts.map +1 -1
  201. package/dist/esm/models/responses.js.map +1 -1
  202. package/dist/esm/models/streaming.d.ts +26 -27
  203. package/dist/esm/models/streaming.d.ts.map +1 -1
  204. package/dist/esm/models/streaming.js +28 -57
  205. package/dist/esm/models/streaming.js.map +1 -1
  206. package/dist/esm/streamingData.d.ts.map +1 -1
  207. package/dist/esm/streamingData.js +10 -1
  208. package/dist/esm/streamingData.js.map +1 -1
  209. package/dist/esm/utli/converters.d.ts.map +1 -1
  210. package/dist/esm/utli/converters.js +30 -9
  211. package/dist/esm/utli/converters.js.map +1 -1
  212. package/dist/react-native/callAutomationClient.d.ts +2 -3
  213. package/dist/react-native/callAutomationClient.d.ts.map +1 -1
  214. package/dist/react-native/callAutomationClient.js +79 -31
  215. package/dist/react-native/callAutomationClient.js.map +1 -1
  216. package/dist/react-native/callAutomationEventParser.d.ts.map +1 -1
  217. package/dist/react-native/callAutomationEventParser.js +9 -10
  218. package/dist/react-native/callAutomationEventParser.js.map +1 -1
  219. package/dist/react-native/callConnection.d.ts +1 -1
  220. package/dist/react-native/callConnection.d.ts.map +1 -1
  221. package/dist/react-native/callConnection.js +82 -38
  222. package/dist/react-native/callConnection.js.map +1 -1
  223. package/dist/react-native/callMedia.d.ts +1 -1
  224. package/dist/react-native/callMedia.d.ts.map +1 -1
  225. package/dist/react-native/callMedia.js +33 -12
  226. package/dist/react-native/callMedia.js.map +1 -1
  227. package/dist/react-native/callRecording.js +11 -6
  228. package/dist/react-native/callRecording.js.map +1 -1
  229. package/dist/react-native/contentDownloader.js +11 -12
  230. package/dist/react-native/contentDownloader.js.map +1 -1
  231. package/dist/react-native/credential/callAutomationAccessKeyCredentialPolicy.js +1 -2
  232. package/dist/react-native/credential/callAutomationAccessKeyCredentialPolicy.js.map +1 -1
  233. package/dist/react-native/credential/callAutomationAuthPolicy.js +1 -1
  234. package/dist/react-native/credential/callAutomationAuthPolicy.js.map +1 -1
  235. package/dist/react-native/generated/src/callAutomationApiClient.js +14 -5
  236. package/dist/react-native/generated/src/callAutomationApiClient.js.map +1 -1
  237. package/dist/react-native/generated/src/models/index.d.ts +305 -322
  238. package/dist/react-native/generated/src/models/index.d.ts.map +1 -1
  239. package/dist/react-native/generated/src/models/index.js +29 -35
  240. package/dist/react-native/generated/src/models/index.js.map +1 -1
  241. package/dist/react-native/generated/src/models/mappers.d.ts +41 -34
  242. package/dist/react-native/generated/src/models/mappers.d.ts.map +1 -1
  243. package/dist/react-native/generated/src/models/mappers.js +481 -462
  244. package/dist/react-native/generated/src/models/mappers.js.map +1 -1
  245. package/dist/react-native/generated/src/models/parameters.js +1 -1
  246. package/dist/react-native/generated/src/models/parameters.js.map +1 -1
  247. package/dist/react-native/generated/src/operations/callConnection.js +23 -40
  248. package/dist/react-native/generated/src/operations/callConnection.js.map +1 -1
  249. package/dist/react-native/generated/src/operations/callMedia.js +1 -0
  250. package/dist/react-native/generated/src/operations/callMedia.js.map +1 -1
  251. package/dist/react-native/generated/src/operations/callRecording.js +1 -0
  252. package/dist/react-native/generated/src/operations/callRecording.js.map +1 -1
  253. package/dist/react-native/generated/src/pagingHelper.js +2 -4
  254. package/dist/react-native/generated/src/pagingHelper.js.map +1 -1
  255. package/dist/react-native/models/constants.d.ts.map +1 -1
  256. package/dist/react-native/models/constants.js +1 -1
  257. package/dist/react-native/models/constants.js.map +1 -1
  258. package/dist/react-native/models/events.d.ts +295 -209
  259. package/dist/react-native/models/events.d.ts.map +1 -1
  260. package/dist/react-native/models/events.js.map +1 -1
  261. package/dist/react-native/models/models.d.ts +44 -4
  262. package/dist/react-native/models/models.d.ts.map +1 -1
  263. package/dist/react-native/models/models.js +1 -1
  264. package/dist/react-native/models/models.js.map +1 -1
  265. package/dist/react-native/models/options.d.ts +17 -0
  266. package/dist/react-native/models/options.d.ts.map +1 -1
  267. package/dist/react-native/models/options.js.map +1 -1
  268. package/dist/react-native/models/responses.d.ts +1 -1
  269. package/dist/react-native/models/responses.d.ts.map +1 -1
  270. package/dist/react-native/models/responses.js.map +1 -1
  271. package/dist/react-native/models/streaming.d.ts +26 -27
  272. package/dist/react-native/models/streaming.d.ts.map +1 -1
  273. package/dist/react-native/models/streaming.js +28 -57
  274. package/dist/react-native/models/streaming.js.map +1 -1
  275. package/dist/react-native/streamingData.d.ts.map +1 -1
  276. package/dist/react-native/streamingData.js +10 -1
  277. package/dist/react-native/streamingData.js.map +1 -1
  278. package/dist/react-native/utli/converters.d.ts.map +1 -1
  279. package/dist/react-native/utli/converters.js +30 -9
  280. package/dist/react-native/utli/converters.js.map +1 -1
  281. package/package.json +37 -44
@@ -1 +1 @@
1
- {"version":3,"file":"callMedia.js","sourceRoot":"","sources":["../../src/callMedia.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n PlayRequest,\n PlaySourceInternal,\n FileSourceInternal,\n TextSourceInternal,\n SsmlSourceInternal,\n RecognizeRequest,\n RecognizeOptions,\n DtmfOptions,\n CallAutomationApiClient,\n CallAutomationApiClientOptionalParams,\n ContinuousDtmfRecognitionRequest,\n SendDtmfTonesRequest,\n Tone,\n SpeechOptions,\n StartTranscriptionRequest,\n StopTranscriptionRequest,\n UpdateTranscriptionRequest,\n HoldRequest,\n UnholdRequest,\n StartMediaStreamingRequest,\n StopMediaStreamingRequest,\n} from \"./generated/src/index.js\";\nimport { KnownPlaySourceType, KnownRecognizeInputType } from \"./generated/src/index.js\";\n\nimport { CallMediaImpl } from \"./generated/src/operations/index.js\";\n\nimport {\n CommunicationIdentifier,\n createCommunicationAuthPolicy,\n} from \"@azure/communication-common\";\nimport { serializeCommunicationIdentifier } from \"@azure/communication-common\";\n\nimport type { FileSource, TextSource, SsmlSource, DtmfTone } from \"./models/models.js\";\nimport type {\n PlayOptions,\n CallMediaRecognizeDtmfOptions,\n CallMediaRecognizeChoiceOptions,\n ContinuousDtmfRecognitionOptions,\n SendDtmfTonesOptions,\n CallMediaRecognizeSpeechOptions,\n CallMediaRecognizeSpeechOrDtmfOptions,\n StartTranscriptionOptions,\n StopTranscriptionOptions,\n HoldOptions,\n UnholdOptions,\n StartMediaStreamingOptions,\n StopMediaStreamingOptions,\n PlayToAllOptions,\n UpdateTranscriptionOptions,\n} from \"./models/options.js\";\nimport type { KeyCredential, TokenCredential } from \"@azure/core-auth\";\nimport type { SendDtmfTonesResult } from \"./models/responses.js\";\nimport { randomUUID } from \"@azure/core-util\";\n\n/**\n * CallMedia class represents call media related APIs.\n */\nexport class CallMedia {\n private readonly callConnectionId: string;\n private readonly callMedia: CallMediaImpl;\n private readonly callAutomationApiClient: CallAutomationApiClient;\n constructor(\n callConnectionId: string,\n endpoint: string,\n credential: KeyCredential | TokenCredential,\n options?: CallAutomationApiClientOptionalParams,\n ) {\n this.callAutomationApiClient = new CallAutomationApiClient(endpoint, options);\n const authPolicy = createCommunicationAuthPolicy(credential);\n this.callAutomationApiClient.pipeline.addPolicy(authPolicy);\n this.callConnectionId = callConnectionId;\n this.callMedia = new CallMediaImpl(this.callAutomationApiClient);\n }\n\n private createPlaySourceInternal(\n playSource: FileSource | TextSource | SsmlSource,\n ): PlaySourceInternal {\n if (playSource.kind === \"fileSource\") {\n const fileSource: FileSourceInternal = {\n uri: playSource.url,\n };\n return {\n kind: KnownPlaySourceType.File,\n file: fileSource,\n };\n } else if (playSource.kind === \"textSource\") {\n const textSource: TextSourceInternal = {\n text: playSource.text,\n sourceLocale: playSource.sourceLocale,\n voiceKind: playSource.voiceKind,\n voiceName: playSource.voiceName,\n customVoiceEndpointId: playSource.customVoiceEndpointId,\n };\n return {\n kind: KnownPlaySourceType.Text,\n text: textSource,\n };\n } else if (playSource.kind === \"ssmlSource\") {\n const ssmlSource: SsmlSourceInternal = {\n ssmlText: playSource.ssmlText,\n customVoiceEndpointId: playSource.customVoiceEndpointId,\n };\n return {\n kind: KnownPlaySourceType.Ssml,\n ssml: ssmlSource,\n };\n }\n throw new Error(\"Invalid play source\");\n }\n\n /**\n * Play audio to a specific participant.\n *\n * @param playSources - A PlaySource representing the sources to play. Currently only single play source per request is supported.\n * @param playTo - The targets to play to.\n * @param options - Additional attributes for play.\n */\n public async play(\n playSources: (FileSource | TextSource | SsmlSource)[],\n playTo: CommunicationIdentifier[],\n options: PlayOptions = { loop: false },\n ): Promise<void> {\n const playRequest: PlayRequest = {\n playSources: playSources.map((source) => this.createPlaySourceInternal(source)),\n playTo: playTo.map((identifier) => serializeCommunicationIdentifier(identifier)),\n playOptions: {\n loop: false,\n },\n operationContext: options.operationContext,\n operationCallbackUri: options.operationCallbackUrl,\n };\n\n if (options.loop !== undefined) {\n playRequest.playOptions = playRequest.playOptions || { loop: false }; // Ensure playOptions is defined\n playRequest.playOptions.loop = options.loop;\n }\n return this.callMedia.play(this.callConnectionId, playRequest, options);\n }\n\n /**\n * Play to all participants.\n *\n * @param playSources - A PlaySource representing the sources to play. Currently only single play source per request is supported.\n * @param options - Additional attributes for play.\n */\n public async playToAll(\n playSources: (FileSource | TextSource | SsmlSource)[],\n options: PlayToAllOptions = { loop: false },\n ): Promise<void> {\n const playRequest: PlayRequest = {\n playSources: playSources.map((source) => this.createPlaySourceInternal(source)),\n playTo: [],\n playOptions: {\n loop: false,\n },\n operationContext: options.operationContext ? options.operationContext : randomUUID(),\n operationCallbackUri: options.operationCallbackUrl,\n };\n\n if (options.loop !== undefined) {\n playRequest.playOptions = playRequest.playOptions || { loop: false }; // Ensure playOptions is defined\n playRequest.playOptions.loop = options.loop;\n }\n\n if (options.interruptCallMediaOperation !== undefined) {\n playRequest.playOptions = playRequest.playOptions || {\n loop: false,\n };\n playRequest.interruptCallMediaOperation = options.interruptCallMediaOperation;\n }\n\n return this.callMedia.play(this.callConnectionId, playRequest, options);\n }\n\n private createRecognizeRequest(\n targetParticipant: CommunicationIdentifier,\n recognizeOptions:\n | CallMediaRecognizeDtmfOptions\n | CallMediaRecognizeChoiceOptions\n | CallMediaRecognizeSpeechOptions\n | CallMediaRecognizeSpeechOrDtmfOptions,\n ): RecognizeRequest {\n if (recognizeOptions.kind === \"callMediaRecognizeDtmfOptions\") {\n const dtmfOptionsInternal: DtmfOptions = {\n interToneTimeoutInSeconds: recognizeOptions.interToneTimeoutInSeconds\n ? recognizeOptions.interToneTimeoutInSeconds\n : 2,\n maxTonesToCollect: recognizeOptions.maxTonesToCollect,\n stopTones: recognizeOptions.stopDtmfTones,\n };\n const recognizeOptionsInternal: RecognizeOptions = {\n interruptPrompt: recognizeOptions.interruptPrompt,\n initialSilenceTimeoutInSeconds: recognizeOptions.initialSilenceTimeoutInSeconds\n ? recognizeOptions.initialSilenceTimeoutInSeconds\n : 5,\n targetParticipant: serializeCommunicationIdentifier(targetParticipant),\n dtmfOptions: dtmfOptionsInternal,\n };\n return {\n recognizeInputType: KnownRecognizeInputType.Dtmf,\n playPrompt: recognizeOptions.playPrompt\n ? this.createPlaySourceInternal(recognizeOptions.playPrompt)\n : undefined,\n playPrompts:\n recognizeOptions.playPrompts !== undefined\n ? recognizeOptions.playPrompts.map((source) => this.createPlaySourceInternal(source))\n : undefined,\n interruptCallMediaOperation: recognizeOptions.interruptCallMediaOperation,\n recognizeOptions: recognizeOptionsInternal,\n operationContext: recognizeOptions.operationContext,\n operationCallbackUri: recognizeOptions.operationCallbackUrl,\n };\n } else if (recognizeOptions.kind === \"callMediaRecognizeChoiceOptions\") {\n const recognizeOptionsInternal: RecognizeOptions = {\n interruptPrompt: recognizeOptions.interruptPrompt,\n initialSilenceTimeoutInSeconds: recognizeOptions.initialSilenceTimeoutInSeconds\n ? recognizeOptions.initialSilenceTimeoutInSeconds\n : 5,\n targetParticipant: serializeCommunicationIdentifier(targetParticipant),\n speechLanguage: recognizeOptions.speechLanguage,\n speechRecognitionModelEndpointId: recognizeOptions.speechRecognitionModelEndpointId,\n choices: recognizeOptions.choices,\n };\n return {\n recognizeInputType: KnownRecognizeInputType.Choices,\n playPrompt: recognizeOptions.playPrompt\n ? this.createPlaySourceInternal(recognizeOptions.playPrompt)\n : undefined,\n playPrompts:\n recognizeOptions.playPrompts !== undefined\n ? recognizeOptions.playPrompts.map((source) => this.createPlaySourceInternal(source))\n : undefined,\n interruptCallMediaOperation: recognizeOptions.interruptCallMediaOperation,\n recognizeOptions: recognizeOptionsInternal,\n operationContext: recognizeOptions.operationContext,\n operationCallbackUri: recognizeOptions.operationCallbackUrl,\n };\n } else if (recognizeOptions.kind === \"callMediaRecognizeSpeechOptions\") {\n const speechOptions: SpeechOptions = {\n endSilenceTimeoutInMs: recognizeOptions.endSilenceTimeoutInSeconds\n ? recognizeOptions.endSilenceTimeoutInSeconds * 1000\n : 2000,\n };\n const recognizeOptionsInternal: RecognizeOptions = {\n interruptPrompt: recognizeOptions.interruptPrompt,\n initialSilenceTimeoutInSeconds: recognizeOptions.initialSilenceTimeoutInSeconds\n ? recognizeOptions.initialSilenceTimeoutInSeconds\n : 5,\n targetParticipant: serializeCommunicationIdentifier(targetParticipant),\n speechOptions: speechOptions,\n speechLanguage: recognizeOptions.speechLanguage,\n speechRecognitionModelEndpointId: recognizeOptions.speechRecognitionModelEndpointId,\n };\n return {\n recognizeInputType: KnownRecognizeInputType.Speech,\n playPrompt: recognizeOptions.playPrompt\n ? this.createPlaySourceInternal(recognizeOptions.playPrompt)\n : undefined,\n playPrompts:\n recognizeOptions.playPrompts !== undefined\n ? recognizeOptions.playPrompts.map((source) => this.createPlaySourceInternal(source))\n : undefined,\n interruptCallMediaOperation: recognizeOptions.interruptCallMediaOperation,\n recognizeOptions: recognizeOptionsInternal,\n operationContext: recognizeOptions.operationContext,\n operationCallbackUri: recognizeOptions.operationCallbackUrl,\n };\n } else if (recognizeOptions.kind === \"callMediaRecognizeSpeechOrDtmfOptions\") {\n const dtmfOptionsInternal: DtmfOptions = {\n interToneTimeoutInSeconds: recognizeOptions.interToneTimeoutInSeconds\n ? recognizeOptions.interToneTimeoutInSeconds\n : 2,\n maxTonesToCollect: recognizeOptions.maxTonesToCollect,\n stopTones: recognizeOptions.stopDtmfTones,\n };\n const speechOptions: SpeechOptions = {\n endSilenceTimeoutInMs: recognizeOptions.endSilenceTimeoutInSeconds\n ? recognizeOptions.endSilenceTimeoutInSeconds * 1000\n : 2000,\n };\n const recognizeOptionsInternal: RecognizeOptions = {\n interruptPrompt: recognizeOptions.interruptPrompt,\n initialSilenceTimeoutInSeconds: recognizeOptions.initialSilenceTimeoutInSeconds\n ? recognizeOptions.initialSilenceTimeoutInSeconds\n : 5,\n targetParticipant: serializeCommunicationIdentifier(targetParticipant),\n speechOptions: speechOptions,\n dtmfOptions: dtmfOptionsInternal,\n speechRecognitionModelEndpointId: recognizeOptions.speechRecognitionModelEndpointId,\n };\n return {\n recognizeInputType: KnownRecognizeInputType.SpeechOrDtmf,\n playPrompt: recognizeOptions.playPrompt\n ? this.createPlaySourceInternal(recognizeOptions.playPrompt)\n : undefined,\n playPrompts:\n recognizeOptions.playPrompts !== undefined\n ? recognizeOptions.playPrompts.map((source) => this.createPlaySourceInternal(source))\n : undefined,\n interruptCallMediaOperation: recognizeOptions.interruptCallMediaOperation,\n recognizeOptions: recognizeOptionsInternal,\n operationContext: recognizeOptions.operationContext,\n operationCallbackUri: recognizeOptions.operationCallbackUrl,\n };\n }\n throw new Error(\"Invalid recognizeOptions\");\n }\n\n /**\n * Recognize participant input.\n * @deprecated This method signature is deprecated. Please use the new signature with targetParticipant and options params instead, and set maxTonesToCollect in options.\n * @param targetParticipant - Target participant.\n * @param maxTonesToCollect - Maximum number of DTMF tones to be collected.\n * @param options - Different attributes for recognize.\n * */\n public async startRecognizing(\n targetParticipant: CommunicationIdentifier,\n maxTonesToCollect: number,\n options: CallMediaRecognizeDtmfOptions,\n ): Promise<void>;\n\n /**\n * Recognize participant input.\n * @param targetParticipant - Target participant.\n * @param options - Different attributes for recognize.\n * */\n public async startRecognizing(\n targetParticipant: CommunicationIdentifier,\n options:\n | CallMediaRecognizeDtmfOptions\n | CallMediaRecognizeChoiceOptions\n | CallMediaRecognizeSpeechOptions\n | CallMediaRecognizeSpeechOrDtmfOptions,\n ): Promise<void>;\n async startRecognizing(\n targetParticipant: CommunicationIdentifier,\n maxTonesOrOptions:\n | number\n | CallMediaRecognizeDtmfOptions\n | CallMediaRecognizeChoiceOptions\n | CallMediaRecognizeSpeechOptions\n | CallMediaRecognizeSpeechOrDtmfOptions,\n options?: CallMediaRecognizeDtmfOptions,\n ): Promise<void> {\n if (typeof maxTonesOrOptions === \"number\" && options) {\n // Old function signature logic\n console.warn(\n \"Deprecated function signature used. Please use the new signature with targetParticipant and options params instead, and set maxTonesToCollect in options.\",\n );\n options.maxTonesToCollect = maxTonesOrOptions;\n await this.callMedia.recognize(\n this.callConnectionId,\n this.createRecognizeRequest(targetParticipant, options),\n {},\n );\n } else if (typeof maxTonesOrOptions !== \"number\" && !options) {\n maxTonesOrOptions.operationContext = maxTonesOrOptions.operationContext\n ? maxTonesOrOptions.operationContext\n : randomUUID();\n // New function signature logic\n return this.callMedia.recognize(\n this.callConnectionId,\n this.createRecognizeRequest(targetParticipant, maxTonesOrOptions),\n {},\n );\n }\n throw new Error(\"Invalid params\");\n }\n\n /**\n * Cancels all the queued media operations.\n */\n public async cancelAllOperations(): Promise<void> {\n return this.callMedia.cancelAllMediaOperations(this.callConnectionId, {});\n }\n\n /**\n * Start continuous Dtmf recognition by subscribing to tones.\n * @param targetParticipant - Target participant.\n * @param options - Additional attributes for continuous Dtmf recognition.\n * */\n public async startContinuousDtmfRecognition(\n targetParticipant: CommunicationIdentifier,\n options: ContinuousDtmfRecognitionOptions = {},\n ): Promise<void> {\n const continuousDtmfRecognitionRequest: ContinuousDtmfRecognitionRequest = {\n targetParticipant: serializeCommunicationIdentifier(targetParticipant),\n operationContext: options.operationContext,\n };\n return this.callMedia.startContinuousDtmfRecognition(\n this.callConnectionId,\n continuousDtmfRecognitionRequest,\n {},\n );\n }\n\n /**\n * Stop continuous Dtmf recognition by unsubscribing to tones.\n * @param targetParticipant - Target participant.\n * @param options - Additional attributes for continuous Dtmf recognition.\n * */\n public async stopContinuousDtmfRecognition(\n targetParticipant: CommunicationIdentifier,\n options: ContinuousDtmfRecognitionOptions = {},\n ): Promise<void> {\n const continuousDtmfRecognitionRequest: ContinuousDtmfRecognitionRequest = {\n targetParticipant: serializeCommunicationIdentifier(targetParticipant),\n operationContext: options.operationContext,\n operationCallbackUri: options.operationCallbackUrl,\n };\n return this.callMedia.stopContinuousDtmfRecognition(\n this.callConnectionId,\n continuousDtmfRecognitionRequest,\n {},\n );\n }\n\n /**\n * Send Dtmf tones.\n * @param tones - List of tones to be sent to target participant.\n * @param targetParticipant - Target participant.\n * @param options - Additional attributes for send Dtmf tones.\n * */\n public async sendDtmfTones(\n tones: Tone[] | DtmfTone[],\n targetParticipant: CommunicationIdentifier,\n options: SendDtmfTonesOptions = {},\n ): Promise<SendDtmfTonesResult> {\n const sendDtmfTonesRequest: SendDtmfTonesRequest = {\n tones: tones,\n targetParticipant: serializeCommunicationIdentifier(targetParticipant),\n operationContext: options.operationContext,\n operationCallbackUri: options.operationCallbackUrl,\n };\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const result = await this.callMedia.sendDtmfTones(\n this.callConnectionId,\n sendDtmfTonesRequest,\n optionsInternal,\n );\n\n const sendDtmfTonesResult: SendDtmfTonesResult = {\n ...result,\n };\n\n return sendDtmfTonesResult;\n }\n\n /**\n * Put participant on hold while playing audio.\n *\n * @param targetParticipant - The targets to play to.\n * @param options - Additional attributes for hold participant.\n */\n public async hold(\n targetParticipant: CommunicationIdentifier,\n options: HoldOptions = {},\n ): Promise<void> {\n const holdRequest: HoldRequest = {\n targetParticipant: serializeCommunicationIdentifier(targetParticipant),\n playSourceInfo:\n options.playSource !== undefined\n ? this.createPlaySourceInternal(options.playSource)\n : undefined,\n operationContext:\n options.operationContext !== undefined ? options.operationContext : undefined,\n operationCallbackUri:\n options.operationCallbackUrl !== undefined ? options.operationCallbackUrl : undefined,\n };\n return this.callMedia.hold(this.callConnectionId, holdRequest);\n }\n\n /**\n * Remove participant from hold.\n *\n * @param targetParticipant - The targets to play to.\n * @param options - Additional attributes for unhold participant.\n */\n public async unhold(\n targetParticipant: CommunicationIdentifier,\n options: UnholdOptions = {},\n ): Promise<void> {\n const unholdRequest: UnholdRequest = {\n targetParticipant: serializeCommunicationIdentifier(targetParticipant),\n operationContext:\n options.operationContext !== undefined ? options.operationContext : undefined,\n };\n return this.callMedia.unhold(this.callConnectionId, unholdRequest);\n }\n\n /**\n * Starts transcription in the call\n * @param options - Additional attributes for start transcription.\n */\n public async startTranscription(options: StartTranscriptionOptions = {}): Promise<void> {\n const startTranscriptionRequest: StartTranscriptionRequest = {\n locale: options.locale,\n operationContext: options.operationContext,\n speechRecognitionModelEndpointId: options.speechRecognitionModelEndpointId,\n };\n return this.callMedia.startTranscription(this.callConnectionId, startTranscriptionRequest, {});\n }\n\n /**\n * Stops transcription in the call.\n * @param options - Additional attributes for stop transcription.\n */\n public async stopTranscription(options: StopTranscriptionOptions = {}): Promise<void> {\n const stopTranscriptionRequest: StopTranscriptionRequest = {\n operationContext: options.operationContext,\n };\n return this.callMedia.stopTranscription(this.callConnectionId, stopTranscriptionRequest, {});\n }\n\n /**\n * Update transcription language.\n * @param locale - Defines new locale for transcription.\n */\n public async updateTranscription(\n locale: string,\n options?: UpdateTranscriptionOptions,\n ): Promise<void> {\n const updateTranscriptionRequest: UpdateTranscriptionRequest = {\n locale: locale,\n speechRecognitionModelEndpointId: options?.speechRecognitionModelEndpointId,\n operationContext: options?.operationContext,\n };\n return this.callMedia.updateTranscription(\n this.callConnectionId,\n updateTranscriptionRequest,\n {},\n );\n }\n /**\n * Starts media streaming in the call.\n * @param options - Additional attributes for start media streaming.\n */\n public async startMediaStreaming(options: StartMediaStreamingOptions = {}): Promise<void> {\n const startMediaStreamingRequest: StartMediaStreamingRequest = {\n operationContext: options.operationContext,\n operationCallbackUri: options.operationCallbackUrl,\n };\n return this.callMedia.startMediaStreaming(\n this.callConnectionId,\n startMediaStreamingRequest,\n options,\n );\n }\n\n /**\n * Stops media streaming in the call.\n * @param options - Additional attributes for stop media streaming.\n */\n public async stopMediaStreaming(options: StopMediaStreamingOptions = {}): Promise<void> {\n const stopMediaStreamingRequest: StopMediaStreamingRequest = {\n operationCallbackUri: options.operationCallbackUrl,\n operationContext: options.operationContext,\n };\n return this.callMedia.stopMediaStreaming(\n this.callConnectionId,\n stopMediaStreamingRequest,\n options,\n );\n }\n}\n"]}
1
+ {"version":3,"file":"callMedia.js","sourceRoot":"","sources":["../../src/callMedia.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n PlayRequest,\n PlaySourceInternal,\n FileSourceInternal,\n TextSourceInternal,\n SsmlSourceInternal,\n RecognizeRequest,\n RecognizeOptions,\n DtmfOptions,\n CallAutomationApiClient,\n CallAutomationApiClientOptionalParams,\n ContinuousDtmfRecognitionRequest,\n SendDtmfTonesRequest,\n Tone,\n SpeechOptions,\n StartTranscriptionRequest,\n StopTranscriptionRequest,\n UpdateTranscriptionRequest,\n HoldRequest,\n UnholdRequest,\n StartMediaStreamingRequest,\n StopMediaStreamingRequest,\n} from \"./generated/src/index.js\";\nimport { KnownPlaySourceType, KnownRecognizeInputType } from \"./generated/src/index.js\";\n\nimport { CallMediaImpl } from \"./generated/src/operations/index.js\";\n\nimport type { CommunicationIdentifier } from \"@azure/communication-common\";\nimport {\n createCommunicationAuthPolicy,\n serializeCommunicationIdentifier,\n} from \"@azure/communication-common\";\n\nimport type { FileSource, TextSource, SsmlSource, DtmfTone } from \"./models/models.js\";\nimport type {\n PlayOptions,\n CallMediaRecognizeDtmfOptions,\n CallMediaRecognizeChoiceOptions,\n ContinuousDtmfRecognitionOptions,\n SendDtmfTonesOptions,\n CallMediaRecognizeSpeechOptions,\n CallMediaRecognizeSpeechOrDtmfOptions,\n StartTranscriptionOptions,\n StopTranscriptionOptions,\n HoldOptions,\n UnholdOptions,\n StartMediaStreamingOptions,\n StopMediaStreamingOptions,\n PlayToAllOptions,\n UpdateTranscriptionOptions,\n} from \"./models/options.js\";\nimport type { KeyCredential, TokenCredential } from \"@azure/core-auth\";\nimport type { SendDtmfTonesResult } from \"./models/responses.js\";\nimport { randomUUID } from \"@azure/core-util\";\n/**\n * CallMedia class represents call media related APIs.\n */\nexport class CallMedia {\n private readonly callConnectionId: string;\n private readonly callMedia: CallMediaImpl;\n private readonly callAutomationApiClient: CallAutomationApiClient;\n constructor(\n callConnectionId: string,\n endpoint: string,\n credential: KeyCredential | TokenCredential,\n options?: CallAutomationApiClientOptionalParams,\n ) {\n this.callAutomationApiClient = new CallAutomationApiClient(endpoint, options);\n const authPolicy = createCommunicationAuthPolicy(credential);\n this.callAutomationApiClient.pipeline.addPolicy(authPolicy);\n this.callConnectionId = callConnectionId;\n this.callMedia = new CallMediaImpl(this.callAutomationApiClient);\n }\n\n private createPlaySourceInternal(\n playSource: FileSource | TextSource | SsmlSource,\n ): PlaySourceInternal {\n if (playSource.kind === \"fileSource\") {\n const fileSource: FileSourceInternal = {\n uri: playSource.url,\n };\n return {\n kind: KnownPlaySourceType.File,\n file: fileSource,\n playSourceCacheId: playSource.playSourceCacheId\n ? playSource.playSourceCacheId\n : playSource.playsourcacheid,\n };\n } else if (playSource.kind === \"textSource\") {\n const textSource: TextSourceInternal = {\n text: playSource.text,\n sourceLocale: playSource.sourceLocale,\n voiceKind: playSource.voiceKind,\n voiceName: playSource.voiceName,\n customVoiceEndpointId: playSource.customVoiceEndpointId,\n };\n return {\n kind: KnownPlaySourceType.Text,\n text: textSource,\n playSourceCacheId: playSource.playSourceCacheId\n ? playSource.playSourceCacheId\n : playSource.playsourcacheid,\n };\n } else if (playSource.kind === \"ssmlSource\") {\n const ssmlSource: SsmlSourceInternal = {\n ssmlText: playSource.ssmlText,\n customVoiceEndpointId: playSource.customVoiceEndpointId,\n };\n return {\n kind: KnownPlaySourceType.Ssml,\n ssml: ssmlSource,\n playSourceCacheId: playSource.playSourceCacheId\n ? playSource.playSourceCacheId\n : playSource.playsourcacheid,\n };\n }\n throw new Error(\"Invalid play source\");\n }\n\n /**\n * Play audio to a specific participant.\n *\n * @param playSources - A PlaySource representing the sources to play. Currently only single play source per request is supported.\n * @param playTo - The targets to play to.\n * @param options - Additional attributes for play.\n */\n public async play(\n playSources: (FileSource | TextSource | SsmlSource)[],\n playTo: CommunicationIdentifier[],\n options: PlayOptions = { loop: false },\n ): Promise<void> {\n const playRequest: PlayRequest = {\n playSources: playSources.map((source) => this.createPlaySourceInternal(source)),\n playTo: playTo.map((identifier) => serializeCommunicationIdentifier(identifier)),\n playOptions: {\n loop: false,\n },\n operationContext: options.operationContext,\n operationCallbackUri: options.operationCallbackUrl,\n };\n\n if (options.loop !== undefined) {\n playRequest.playOptions = playRequest.playOptions || { loop: false }; // Ensure playOptions is defined\n playRequest.playOptions.loop = options.loop;\n }\n await this.callMedia.play(this.callConnectionId, playRequest, options);\n }\n\n /**\n * Play to all participants.\n *\n * @param playSources - A PlaySource representing the sources to play. Currently only single play source per request is supported.\n * @param options - Additional attributes for play.\n */\n public async playToAll(\n playSources: (FileSource | TextSource | SsmlSource)[],\n options: PlayToAllOptions = { loop: false },\n ): Promise<void> {\n const playRequest: PlayRequest = {\n playSources: playSources.map((source) => this.createPlaySourceInternal(source)),\n playTo: [],\n playOptions: {\n loop: false,\n },\n operationContext: options.operationContext ? options.operationContext : randomUUID(),\n operationCallbackUri: options.operationCallbackUrl,\n };\n\n if (options.loop !== undefined) {\n playRequest.playOptions = playRequest.playOptions || { loop: false }; // Ensure playOptions is defined\n playRequest.playOptions.loop = options.loop;\n }\n\n if (options.interruptCallMediaOperation !== undefined) {\n playRequest.playOptions = playRequest.playOptions || {\n loop: false,\n }; // Ensure playOptions is defined\n playRequest.interruptCallMediaOperation = options.interruptCallMediaOperation;\n }\n\n await this.callMedia.play(this.callConnectionId, playRequest, options);\n }\n\n private createRecognizeRequest(\n targetParticipant: CommunicationIdentifier,\n recognizeOptions:\n | CallMediaRecognizeDtmfOptions\n | CallMediaRecognizeChoiceOptions\n | CallMediaRecognizeSpeechOptions\n | CallMediaRecognizeSpeechOrDtmfOptions,\n ): RecognizeRequest {\n if (recognizeOptions.kind === \"callMediaRecognizeDtmfOptions\") {\n const dtmfOptionsInternal: DtmfOptions = {\n interToneTimeoutInSeconds: recognizeOptions.interToneTimeoutInSeconds\n ? recognizeOptions.interToneTimeoutInSeconds\n : 2,\n maxTonesToCollect: recognizeOptions.maxTonesToCollect,\n stopTones: recognizeOptions.stopDtmfTones,\n };\n const recognizeOptionsInternal: RecognizeOptions = {\n interruptPrompt: recognizeOptions.interruptPrompt,\n initialSilenceTimeoutInSeconds: recognizeOptions.initialSilenceTimeoutInSeconds\n ? recognizeOptions.initialSilenceTimeoutInSeconds\n : 5,\n targetParticipant: serializeCommunicationIdentifier(targetParticipant),\n dtmfOptions: dtmfOptionsInternal,\n };\n return {\n recognizeInputType: KnownRecognizeInputType.Dtmf,\n playPrompt: recognizeOptions.playPrompt\n ? this.createPlaySourceInternal(recognizeOptions.playPrompt)\n : undefined,\n playPrompts:\n recognizeOptions.playPrompts !== undefined\n ? recognizeOptions.playPrompts.map((source) => this.createPlaySourceInternal(source))\n : undefined,\n interruptCallMediaOperation: recognizeOptions.interruptCallMediaOperation,\n recognizeOptions: recognizeOptionsInternal,\n operationContext: recognizeOptions.operationContext,\n operationCallbackUri: recognizeOptions.operationCallbackUrl,\n };\n } else if (recognizeOptions.kind === \"callMediaRecognizeChoiceOptions\") {\n const recognizeOptionsInternal: RecognizeOptions = {\n interruptPrompt: recognizeOptions.interruptPrompt,\n initialSilenceTimeoutInSeconds: recognizeOptions.initialSilenceTimeoutInSeconds\n ? recognizeOptions.initialSilenceTimeoutInSeconds\n : 5,\n targetParticipant: serializeCommunicationIdentifier(targetParticipant),\n speechLanguage: recognizeOptions.speechLanguage,\n speechRecognitionModelEndpointId: recognizeOptions.speechRecognitionModelEndpointId,\n choices: recognizeOptions.choices,\n };\n return {\n recognizeInputType: KnownRecognizeInputType.Choices,\n playPrompt: recognizeOptions.playPrompt\n ? this.createPlaySourceInternal(recognizeOptions.playPrompt)\n : undefined,\n playPrompts:\n recognizeOptions.playPrompts !== undefined\n ? recognizeOptions.playPrompts.map((source) => this.createPlaySourceInternal(source))\n : undefined,\n interruptCallMediaOperation: recognizeOptions.interruptCallMediaOperation,\n recognizeOptions: recognizeOptionsInternal,\n operationContext: recognizeOptions.operationContext,\n operationCallbackUri: recognizeOptions.operationCallbackUrl,\n };\n } else if (recognizeOptions.kind === \"callMediaRecognizeSpeechOptions\") {\n const speechOptions: SpeechOptions = {\n endSilenceTimeoutInMs: recognizeOptions.endSilenceTimeoutInSeconds\n ? recognizeOptions.endSilenceTimeoutInSeconds * 1000\n : 2000,\n };\n const recognizeOptionsInternal: RecognizeOptions = {\n interruptPrompt: recognizeOptions.interruptPrompt,\n initialSilenceTimeoutInSeconds: recognizeOptions.initialSilenceTimeoutInSeconds\n ? recognizeOptions.initialSilenceTimeoutInSeconds\n : 5,\n targetParticipant: serializeCommunicationIdentifier(targetParticipant),\n speechOptions: speechOptions,\n speechLanguage: recognizeOptions.speechLanguage,\n speechRecognitionModelEndpointId: recognizeOptions.speechRecognitionModelEndpointId,\n };\n return {\n recognizeInputType: KnownRecognizeInputType.Speech,\n playPrompt: recognizeOptions.playPrompt\n ? this.createPlaySourceInternal(recognizeOptions.playPrompt)\n : undefined,\n playPrompts:\n recognizeOptions.playPrompts !== undefined\n ? recognizeOptions.playPrompts.map((source) => this.createPlaySourceInternal(source))\n : undefined,\n interruptCallMediaOperation: recognizeOptions.interruptCallMediaOperation,\n recognizeOptions: recognizeOptionsInternal,\n operationContext: recognizeOptions.operationContext,\n operationCallbackUri: recognizeOptions.operationCallbackUrl,\n };\n } else if (recognizeOptions.kind === \"callMediaRecognizeSpeechOrDtmfOptions\") {\n const dtmfOptionsInternal: DtmfOptions = {\n interToneTimeoutInSeconds: recognizeOptions.interToneTimeoutInSeconds\n ? recognizeOptions.interToneTimeoutInSeconds\n : 2,\n maxTonesToCollect: recognizeOptions.maxTonesToCollect,\n stopTones: recognizeOptions.stopDtmfTones,\n };\n const speechOptions: SpeechOptions = {\n endSilenceTimeoutInMs: recognizeOptions.endSilenceTimeoutInSeconds\n ? recognizeOptions.endSilenceTimeoutInSeconds * 1000\n : 2000,\n };\n const recognizeOptionsInternal: RecognizeOptions = {\n interruptPrompt: recognizeOptions.interruptPrompt,\n initialSilenceTimeoutInSeconds: recognizeOptions.initialSilenceTimeoutInSeconds\n ? recognizeOptions.initialSilenceTimeoutInSeconds\n : 5,\n targetParticipant: serializeCommunicationIdentifier(targetParticipant),\n speechOptions: speechOptions,\n dtmfOptions: dtmfOptionsInternal,\n speechRecognitionModelEndpointId: recognizeOptions.speechRecognitionModelEndpointId,\n };\n return {\n recognizeInputType: KnownRecognizeInputType.SpeechOrDtmf,\n playPrompt: recognizeOptions.playPrompt\n ? this.createPlaySourceInternal(recognizeOptions.playPrompt)\n : undefined,\n playPrompts:\n recognizeOptions.playPrompts !== undefined\n ? recognizeOptions.playPrompts.map((source) => this.createPlaySourceInternal(source))\n : undefined,\n interruptCallMediaOperation: recognizeOptions.interruptCallMediaOperation,\n recognizeOptions: recognizeOptionsInternal,\n operationContext: recognizeOptions.operationContext,\n operationCallbackUri: recognizeOptions.operationCallbackUrl,\n };\n }\n throw new Error(\"Invalid recognizeOptions\");\n }\n\n /**\n * Recognize participant input.\n * @deprecated This method signature is deprecated. Please use the new signature with targetParticipant and options params instead, and set maxTonesToCollect in options.\n * @param targetParticipant - Target participant.\n * @param maxTonesToCollect - Maximum number of DTMF tones to be collected.\n * @param options - Different attributes for recognize.\n * */\n public async startRecognizing(\n targetParticipant: CommunicationIdentifier,\n maxTonesToCollect: number,\n options: CallMediaRecognizeDtmfOptions,\n ): Promise<void>;\n\n /**\n * Recognize participant input.\n * @param targetParticipant - Target participant.\n * @param options - Different attributes for recognize.\n * */\n public async startRecognizing(\n targetParticipant: CommunicationIdentifier,\n options:\n | CallMediaRecognizeDtmfOptions\n | CallMediaRecognizeChoiceOptions\n | CallMediaRecognizeSpeechOptions\n | CallMediaRecognizeSpeechOrDtmfOptions,\n ): Promise<void>;\n async startRecognizing(\n targetParticipant: CommunicationIdentifier,\n maxTonesOrOptions:\n | number\n | CallMediaRecognizeDtmfOptions\n | CallMediaRecognizeChoiceOptions\n | CallMediaRecognizeSpeechOptions\n | CallMediaRecognizeSpeechOrDtmfOptions,\n options?: CallMediaRecognizeDtmfOptions,\n ): Promise<void> {\n if (typeof maxTonesOrOptions === \"number\" && options) {\n // Old function signature logic\n console.warn(\n \"Deprecated function signature used. Please use the new signature with targetParticipant and options params instead, and set maxTonesToCollect in options.\",\n );\n options.maxTonesToCollect = maxTonesOrOptions;\n return this.callMedia.recognize(\n this.callConnectionId,\n this.createRecognizeRequest(targetParticipant, options),\n {},\n );\n } else if (typeof maxTonesOrOptions !== \"number\" && !options) {\n maxTonesOrOptions.operationContext = maxTonesOrOptions.operationContext\n ? maxTonesOrOptions.operationContext\n : randomUUID();\n // New function signature logic\n return this.callMedia.recognize(\n this.callConnectionId,\n this.createRecognizeRequest(targetParticipant, maxTonesOrOptions),\n {},\n );\n }\n throw new Error(\"Invalid params\");\n }\n\n /**\n * Cancels all the queued media operations.\n */\n public async cancelAllOperations(): Promise<void> {\n await this.callMedia.cancelAllMediaOperations(this.callConnectionId, {});\n }\n\n /**\n * Start continuous Dtmf recognition by subscribing to tones.\n * @param targetParticipant - Target participant.\n * @param options - Additional attributes for continuous Dtmf recognition.\n * */\n public async startContinuousDtmfRecognition(\n targetParticipant: CommunicationIdentifier,\n options: ContinuousDtmfRecognitionOptions = {},\n ): Promise<void> {\n const continuousDtmfRecognitionRequest: ContinuousDtmfRecognitionRequest = {\n targetParticipant: serializeCommunicationIdentifier(targetParticipant),\n operationContext: options.operationContext,\n };\n return this.callMedia.startContinuousDtmfRecognition(\n this.callConnectionId,\n continuousDtmfRecognitionRequest,\n {},\n );\n }\n\n /**\n * Stop continuous Dtmf recognition by unsubscribing to tones.\n * @param targetParticipant - Target participant.\n * @param options - Additional attributes for continuous Dtmf recognition.\n * */\n public async stopContinuousDtmfRecognition(\n targetParticipant: CommunicationIdentifier,\n options: ContinuousDtmfRecognitionOptions = {},\n ): Promise<void> {\n const continuousDtmfRecognitionRequest: ContinuousDtmfRecognitionRequest = {\n targetParticipant: serializeCommunicationIdentifier(targetParticipant),\n operationContext: options.operationContext,\n operationCallbackUri: options.operationCallbackUrl,\n };\n return this.callMedia.stopContinuousDtmfRecognition(\n this.callConnectionId,\n continuousDtmfRecognitionRequest,\n {},\n );\n }\n\n /**\n * Send Dtmf tones.\n * @param tones - List of tones to be sent to target participant.\n * @param targetParticipant - Target participant.\n * @param options - Additional attributes for send Dtmf tones.\n * */\n public async sendDtmfTones(\n tones: Tone[] | DtmfTone[],\n targetParticipant: CommunicationIdentifier,\n options: SendDtmfTonesOptions = {},\n ): Promise<SendDtmfTonesResult> {\n const sendDtmfTonesRequest: SendDtmfTonesRequest = {\n tones: tones,\n targetParticipant: serializeCommunicationIdentifier(targetParticipant),\n operationContext: options.operationContext,\n operationCallbackUri: options.operationCallbackUrl,\n };\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const result = await this.callMedia.sendDtmfTones(\n this.callConnectionId,\n sendDtmfTonesRequest,\n optionsInternal,\n );\n\n const sendDtmfTonesResult: SendDtmfTonesResult = {\n ...result,\n };\n return sendDtmfTonesResult;\n }\n\n /**\n * Put participant on hold while playing audio.\n *\n * @param targetParticipant - The targets to play to.\n * @param options - Additional attributes for hold participant.\n */\n public async hold(\n targetParticipant: CommunicationIdentifier,\n options: HoldOptions = {},\n ): Promise<void> {\n const holdRequest: HoldRequest = {\n targetParticipant: serializeCommunicationIdentifier(targetParticipant),\n playSourceInfo:\n options.playSource !== undefined\n ? this.createPlaySourceInternal(options.playSource)\n : undefined,\n operationContext:\n options.operationContext !== undefined ? options.operationContext : undefined,\n operationCallbackUri:\n options.operationCallbackUrl !== undefined ? options.operationCallbackUrl : undefined,\n };\n return this.callMedia.hold(this.callConnectionId, holdRequest);\n }\n\n /**\n * Remove participant from hold.\n *\n * @param targetParticipant - The targets to play to.\n * @param options - Additional attributes for unhold participant.\n */\n public async unhold(\n targetParticipant: CommunicationIdentifier,\n options: UnholdOptions = {},\n ): Promise<void> {\n const unholdRequest: UnholdRequest = {\n targetParticipant: serializeCommunicationIdentifier(targetParticipant),\n operationContext:\n options.operationContext !== undefined ? options.operationContext : undefined,\n operationCallbackUri:\n options.operationCallbackUrl !== undefined ? options.operationCallbackUrl : undefined,\n };\n return this.callMedia.unhold(this.callConnectionId, unholdRequest);\n }\n\n /**\n * Starts transcription in the call\n * @param options - Additional attributes for start transcription.\n */\n public async startTranscription(options: StartTranscriptionOptions = {}): Promise<void> {\n const startTranscriptionRequest: StartTranscriptionRequest = {\n locale: options.locale,\n operationContext: options.operationContext,\n speechModelEndpointId: options.speechRecognitionModelEndpointId,\n operationCallbackUri: options.operationCallbackUrl,\n };\n return this.callMedia.startTranscription(this.callConnectionId, startTranscriptionRequest, {});\n }\n\n /**\n * Stops transcription in the call.\n * @param options - Additional attributes for stop transcription.\n */\n public async stopTranscription(options: StopTranscriptionOptions = {}): Promise<void> {\n const stopTranscriptionRequest: StopTranscriptionRequest = {\n operationContext: options.operationContext,\n operationCallbackUri: options.operationCallbackUrl,\n };\n return this.callMedia.stopTranscription(this.callConnectionId, stopTranscriptionRequest, {});\n }\n\n /**\n * Update transcription language.\n * @param locale - Defines new locale for transcription.\n */\n public async updateTranscription(\n locale: string,\n options?: UpdateTranscriptionOptions,\n ): Promise<void> {\n const updateTranscriptionRequest: UpdateTranscriptionRequest = {\n locale: locale,\n speechModelEndpointId: options?.speechRecognitionModelEndpointId,\n operationContext: options?.operationContext,\n operationCallbackUri: options?.operationCallbackUrl,\n };\n return this.callMedia.updateTranscription(\n this.callConnectionId,\n updateTranscriptionRequest,\n {},\n );\n }\n /**\n * Starts media streaming in the call.\n * @param options - Additional attributes for start media streaming.\n */\n public async startMediaStreaming(options: StartMediaStreamingOptions = {}): Promise<void> {\n const startMediaStreamingRequest: StartMediaStreamingRequest = {\n operationContext: options.operationContext,\n operationCallbackUri: options.operationCallbackUrl,\n };\n return this.callMedia.startMediaStreaming(\n this.callConnectionId,\n startMediaStreamingRequest,\n options,\n );\n }\n\n /**\n * Stops media streaming in the call.\n * @param options - Additional attributes for stop media streaming.\n */\n public async stopMediaStreaming(options: StopMediaStreamingOptions = {}): Promise<void> {\n const stopMediaStreamingRequest: StopMediaStreamingRequest = {\n operationCallbackUri: options.operationCallbackUrl,\n operationContext: options.operationContext,\n };\n return this.callMedia.stopMediaStreaming(\n this.callConnectionId,\n stopMediaStreamingRequest,\n options,\n );\n }\n}\n"]}
@@ -3,7 +3,7 @@
3
3
  import { CallRecordingImpl } from "./generated/src/operations/index.js";
4
4
  import { communicationIdentifierModelConverter } from "./utli/converters.js";
5
5
  import { ContentDownloaderImpl } from "./contentDownloader.js";
6
- import * as fs from "node:fs";
6
+ import fs from "node:fs";
7
7
  import { randomUUID } from "@azure/core-util";
8
8
  import { CallAutomationApiClient } from "./generated/src/index.js";
9
9
  import { createCommunicationAuthPolicy } from "@azure/communication-common";
@@ -11,6 +11,9 @@ import { createCommunicationAuthPolicy } from "@azure/communication-common";
11
11
  * CallRecording class represents call recording related APIs.
12
12
  */
13
13
  export class CallRecording {
14
+ callRecordingImpl;
15
+ contentDownloader;
16
+ callAutomationApiClient;
14
17
  constructor(endpoint, credential, options) {
15
18
  this.callAutomationApiClient = new CallAutomationApiClient(endpoint, options);
16
19
  const authPolicy = createCommunicationAuthPolicy(credential);
@@ -39,8 +42,7 @@ export class CallRecording {
39
42
  if (options.channelAffinity) {
40
43
  startCallRecordingRequest.channelAffinity = [];
41
44
  options.channelAffinity.forEach((identifier) => {
42
- var _a;
43
- (_a = startCallRecordingRequest.channelAffinity) === null || _a === void 0 ? void 0 : _a.push({
45
+ startCallRecordingRequest.channelAffinity?.push({
44
46
  participant: communicationIdentifierModelConverter(identifier.targetParticipant),
45
47
  channel: identifier.channel,
46
48
  });
@@ -49,8 +51,7 @@ export class CallRecording {
49
51
  if (options.audioChannelParticipantOrdering) {
50
52
  startCallRecordingRequest.audioChannelParticipantOrdering = [];
51
53
  options.audioChannelParticipantOrdering.forEach((identifier) => {
52
- var _a;
53
- (_a = startCallRecordingRequest.audioChannelParticipantOrdering) === null || _a === void 0 ? void 0 : _a.push(communicationIdentifierModelConverter(identifier));
54
+ startCallRecordingRequest.audioChannelParticipantOrdering?.push(communicationIdentifierModelConverter(identifier));
54
55
  });
55
56
  }
56
57
  if (options.callLocator) {
@@ -73,7 +74,11 @@ export class CallRecording {
73
74
  };
74
75
  }
75
76
  }
76
- const optionsInternal = Object.assign(Object.assign({}, options), { repeatabilityFirstSent: new Date(), repeatabilityRequestID: randomUUID() });
77
+ const optionsInternal = {
78
+ ...options,
79
+ repeatabilityFirstSent: new Date(),
80
+ repeatabilityRequestID: randomUUID(),
81
+ };
77
82
  const response = await this.callRecordingImpl.startRecording(startCallRecordingRequest, optionsInternal);
78
83
  const result = {
79
84
  recordingId: response.recordingId,
@@ -1 +1 @@
1
- {"version":3,"file":"callRecording.js","sourceRoot":"","sources":["../../src/callRecording.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { CallRecordingImpl } from \"./generated/src/operations/index.js\";\nimport type {\n CallAutomationApiClientOptionalParams,\n StartCallRecordingRequest,\n} from \"./generated/src/models/index.js\";\nimport type { RecordingStateResult } from \"./models/responses.js\";\nimport type {\n StartRecordingOptions,\n StopRecordingOptions,\n PauseRecordingOptions,\n GetRecordingPropertiesOptions,\n ResumeRecordingOptions,\n DeleteRecordingOptions,\n DownloadRecordingOptions,\n} from \"./models/options.js\";\nimport { communicationIdentifierModelConverter } from \"./utli/converters.js\";\nimport { ContentDownloaderImpl } from \"./contentDownloader.js\";\nimport * as fs from \"node:fs\";\nimport { randomUUID } from \"@azure/core-util\";\nimport type { KeyCredential, TokenCredential } from \"@azure/core-auth\";\nimport { CallAutomationApiClient } from \"./generated/src/index.js\";\nimport { createCommunicationAuthPolicy } from \"@azure/communication-common\";\n\n/**\n * CallRecording class represents call recording related APIs.\n */\nexport class CallRecording {\n private readonly callRecordingImpl: CallRecordingImpl;\n private readonly contentDownloader: ContentDownloaderImpl;\n private readonly callAutomationApiClient: CallAutomationApiClient;\n\n constructor(\n endpoint: string,\n credential: KeyCredential | TokenCredential,\n options?: CallAutomationApiClientOptionalParams,\n ) {\n this.callAutomationApiClient = new CallAutomationApiClient(endpoint, options);\n const authPolicy = createCommunicationAuthPolicy(credential);\n this.callAutomationApiClient.pipeline.addPolicy(authPolicy);\n\n this.callRecordingImpl = new CallRecordingImpl(this.callAutomationApiClient);\n this.contentDownloader = new ContentDownloaderImpl(this.callAutomationApiClient);\n }\n\n /**\n * Starts a call recording with the specified options.\n * @param startCallRecordingRequest - options to start the call recording\n * @param options - Operation options.\n */\n public async start(options: StartRecordingOptions): Promise<RecordingStateResult> {\n const startCallRecordingRequest: StartCallRecordingRequest = {\n callLocator: options.callLocator ? options.callLocator : undefined,\n };\n\n startCallRecordingRequest.recordingChannelType = options.recordingChannel;\n startCallRecordingRequest.recordingContentType = options.recordingContent;\n startCallRecordingRequest.recordingFormatType = options.recordingFormat;\n startCallRecordingRequest.recordingStateCallbackUri = options.recordingStateCallbackEndpointUrl;\n startCallRecordingRequest.pauseOnStart = options.pauseOnStart;\n startCallRecordingRequest.recordingStorage = options.recordingStorage;\n startCallRecordingRequest.callConnectionId = options.callConnectionId\n ? options.callConnectionId\n : undefined;\n\n if (options.channelAffinity) {\n startCallRecordingRequest.channelAffinity = [];\n options.channelAffinity.forEach((identifier) => {\n startCallRecordingRequest.channelAffinity?.push({\n participant: communicationIdentifierModelConverter(identifier.targetParticipant),\n channel: identifier.channel,\n });\n });\n }\n\n if (options.audioChannelParticipantOrdering) {\n startCallRecordingRequest.audioChannelParticipantOrdering = [];\n options.audioChannelParticipantOrdering.forEach((identifier) => {\n startCallRecordingRequest.audioChannelParticipantOrdering?.push(\n communicationIdentifierModelConverter(identifier),\n );\n });\n }\n if (options.callLocator) {\n if (options.callLocator.kind === \"groupCallLocator\") {\n startCallRecordingRequest.callLocator = {\n groupCallId: options.callLocator.id,\n kind: \"groupCallLocator\",\n };\n } else if (options.callLocator.kind === \"roomCallLocator\") {\n startCallRecordingRequest.callLocator = {\n roomId: options.callLocator.id,\n kind: \"roomCallLocator\",\n };\n } else {\n startCallRecordingRequest.callLocator = {\n serverCallId: options.callLocator.id,\n kind: \"serverCallLocator\",\n };\n }\n }\n\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const response = await this.callRecordingImpl.startRecording(\n startCallRecordingRequest,\n optionsInternal,\n );\n\n const result: RecordingStateResult = {\n recordingId: response.recordingId!,\n recordingKind: response.recordingKind!,\n recordingState: response.recordingState!,\n };\n\n return result;\n }\n\n /**\n * Returns call recording properties.\n * @param recordingId - The recordingId associated with the recording.\n * @param options - Additional request options contains getRecordingProperties api options.\n */\n public async getState(\n recordingId: string,\n options: GetRecordingPropertiesOptions = {},\n ): Promise<RecordingStateResult> {\n const response = await this.callRecordingImpl.getRecordingProperties(recordingId, options);\n\n const result: RecordingStateResult = {\n recordingId: response.recordingId!,\n recordingKind: response.recordingKind!,\n recordingState: response.recordingState!,\n };\n\n return result;\n }\n\n /**\n * Stops a call recording.\n * @param recordingId - The recordingId associated with the recording.\n * @param options - Additional request options contains stopRecording api options.\n */\n public async stop(recordingId: string, options: StopRecordingOptions = {}): Promise<void> {\n return this.callRecordingImpl.stopRecording(recordingId, options);\n }\n\n /**\n * Pauses a call recording.\n * @param recordingId - The recordingId associated with the recording.\n * @param options - Additional request options contains pauseRecording api options.\n */\n public async pause(recordingId: string, options: PauseRecordingOptions = {}): Promise<void> {\n return this.callRecordingImpl.pauseRecording(recordingId, options);\n }\n\n /**\n * Resumes a call recording.\n * @param recordingId - The recordingId associated with the recording.\n * @param options - Additional request options contains resumeRecording api options.\n */\n public async resume(recordingId: string, options: ResumeRecordingOptions = {}): Promise<void> {\n return this.callRecordingImpl.resumeRecording(recordingId, options);\n }\n\n /**\n * Deletes a recording.\n * @param recordingLocationUrl - The recording location url. Required.\n * @param options - Additional request options contains deleteRecording api options.\n */\n public async delete(\n recordingLocationUrl: string,\n options: DeleteRecordingOptions = {},\n ): Promise<void> {\n await this.contentDownloader.deleteRecording(recordingLocationUrl, options);\n }\n\n /**\n * Returns a stream with a call recording.\n * @param sourceLocationUrl - The source location url. Required.\n * @param options - Additional request options contains downloadRecording api options.\n */\n public async downloadStreaming(\n sourceLocationUrl: string,\n options: DownloadRecordingOptions = {},\n ): Promise<NodeJS.ReadableStream> {\n const result = this.contentDownloader.download(sourceLocationUrl, options);\n const recordingStream = (await result).readableStreamBody;\n if (recordingStream) {\n return recordingStream;\n } else {\n throw Error(\"failed to get stream\");\n }\n }\n\n /**\n * Downloads a call recording file to the specified stream.\n * @param sourceLocationUrl - The source location url. Required.\n * @param destinationStream - The destination stream. Required.\n * @param options - Additional request options contains downloadRecording api options.\n */\n public async downloadToStream(\n sourceLocationUrl: string,\n destinationStream: NodeJS.WritableStream,\n options: DownloadRecordingOptions = {},\n ): Promise<void> {\n const result = this.contentDownloader.download(sourceLocationUrl, options);\n const recordingStream = (await result).readableStreamBody;\n if (recordingStream) {\n recordingStream.pipe(destinationStream);\n const finish = new Promise<void>((resolve, reject) => {\n destinationStream.on(\"finish\", resolve);\n destinationStream.on(\"error\", reject);\n });\n await finish;\n } else {\n throw Error(\"failed to get stream\");\n }\n }\n\n /**\n * Downloads a call recording file to the specified path.\n * @param sourceLocationUrl - The source location url. Required.\n * @param destinationPath - The destination path. Required.\n * @param options - Additional request options contains downloadRecording api options.\n */\n public async downloadToPath(\n sourceLocationUrl: string,\n destinationPath: string,\n options: DownloadRecordingOptions = {},\n ): Promise<void> {\n const result = this.contentDownloader.download(sourceLocationUrl, options);\n const recordingStream = (await result).readableStreamBody;\n if (recordingStream) {\n const writeFileStream = fs.createWriteStream(destinationPath);\n recordingStream.pipe(writeFileStream);\n const finish = new Promise<void>((resolve, reject) => {\n writeFileStream.on(\"finish\", resolve);\n writeFileStream.on(\"error\", reject);\n });\n await finish;\n } else {\n throw Error(\"failed to get stream\");\n }\n }\n}\n"]}
1
+ {"version":3,"file":"callRecording.js","sourceRoot":"","sources":["../../src/callRecording.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { CallRecordingImpl } from \"./generated/src/operations/index.js\";\nimport type {\n CallAutomationApiClientOptionalParams,\n StartCallRecordingRequest,\n} from \"./generated/src/models/index.js\";\nimport type { RecordingStateResult } from \"./models/responses.js\";\nimport type {\n StartRecordingOptions,\n StopRecordingOptions,\n PauseRecordingOptions,\n GetRecordingPropertiesOptions,\n ResumeRecordingOptions,\n DeleteRecordingOptions,\n DownloadRecordingOptions,\n} from \"./models/options.js\";\nimport { communicationIdentifierModelConverter } from \"./utli/converters.js\";\nimport { ContentDownloaderImpl } from \"./contentDownloader.js\";\nimport fs from \"node:fs\";\nimport { randomUUID } from \"@azure/core-util\";\nimport type { KeyCredential, TokenCredential } from \"@azure/core-auth\";\nimport { CallAutomationApiClient } from \"./generated/src/index.js\";\nimport { createCommunicationAuthPolicy } from \"@azure/communication-common\";\n\n/**\n * CallRecording class represents call recording related APIs.\n */\nexport class CallRecording {\n private readonly callRecordingImpl: CallRecordingImpl;\n private readonly contentDownloader: ContentDownloaderImpl;\n private readonly callAutomationApiClient: CallAutomationApiClient;\n\n constructor(\n endpoint: string,\n credential: KeyCredential | TokenCredential,\n options?: CallAutomationApiClientOptionalParams,\n ) {\n this.callAutomationApiClient = new CallAutomationApiClient(endpoint, options);\n const authPolicy = createCommunicationAuthPolicy(credential);\n this.callAutomationApiClient.pipeline.addPolicy(authPolicy);\n\n this.callRecordingImpl = new CallRecordingImpl(this.callAutomationApiClient);\n this.contentDownloader = new ContentDownloaderImpl(this.callAutomationApiClient);\n }\n\n /**\n * Starts a call recording with the specified options.\n * @param startCallRecordingRequest - options to start the call recording\n * @param options - Operation options.\n */\n public async start(options: StartRecordingOptions): Promise<RecordingStateResult> {\n const startCallRecordingRequest: StartCallRecordingRequest = {\n callLocator: options.callLocator ? options.callLocator : undefined,\n };\n\n startCallRecordingRequest.recordingChannelType = options.recordingChannel;\n startCallRecordingRequest.recordingContentType = options.recordingContent;\n startCallRecordingRequest.recordingFormatType = options.recordingFormat;\n startCallRecordingRequest.recordingStateCallbackUri = options.recordingStateCallbackEndpointUrl;\n startCallRecordingRequest.pauseOnStart = options.pauseOnStart;\n startCallRecordingRequest.recordingStorage = options.recordingStorage;\n startCallRecordingRequest.callConnectionId = options.callConnectionId\n ? options.callConnectionId\n : undefined;\n\n if (options.channelAffinity) {\n startCallRecordingRequest.channelAffinity = [];\n options.channelAffinity.forEach((identifier) => {\n startCallRecordingRequest.channelAffinity?.push({\n participant: communicationIdentifierModelConverter(identifier.targetParticipant),\n channel: identifier.channel,\n });\n });\n }\n\n if (options.audioChannelParticipantOrdering) {\n startCallRecordingRequest.audioChannelParticipantOrdering = [];\n options.audioChannelParticipantOrdering.forEach((identifier) => {\n startCallRecordingRequest.audioChannelParticipantOrdering?.push(\n communicationIdentifierModelConverter(identifier),\n );\n });\n }\n if (options.callLocator) {\n if (options.callLocator.kind === \"groupCallLocator\") {\n startCallRecordingRequest.callLocator = {\n groupCallId: options.callLocator.id,\n kind: \"groupCallLocator\",\n };\n } else if (options.callLocator.kind === \"roomCallLocator\") {\n startCallRecordingRequest.callLocator = {\n roomId: options.callLocator.id,\n kind: \"roomCallLocator\",\n };\n } else {\n startCallRecordingRequest.callLocator = {\n serverCallId: options.callLocator.id,\n kind: \"serverCallLocator\",\n };\n }\n }\n\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const response = await this.callRecordingImpl.startRecording(\n startCallRecordingRequest,\n optionsInternal,\n );\n\n const result: RecordingStateResult = {\n recordingId: response.recordingId!,\n recordingKind: response.recordingKind!,\n recordingState: response.recordingState!,\n };\n\n return result;\n }\n\n /**\n * Returns call recording properties.\n * @param recordingId - The recordingId associated with the recording.\n * @param options - Additional request options contains getRecordingProperties api options.\n */\n public async getState(\n recordingId: string,\n options: GetRecordingPropertiesOptions = {},\n ): Promise<RecordingStateResult> {\n const response = await this.callRecordingImpl.getRecordingProperties(recordingId, options);\n\n const result: RecordingStateResult = {\n recordingId: response.recordingId!,\n recordingKind: response.recordingKind!,\n recordingState: response.recordingState!,\n };\n\n return result;\n }\n\n /**\n * Stops a call recording.\n * @param recordingId - The recordingId associated with the recording.\n * @param options - Additional request options contains stopRecording api options.\n */\n public async stop(recordingId: string, options: StopRecordingOptions = {}): Promise<void> {\n return this.callRecordingImpl.stopRecording(recordingId, options);\n }\n\n /**\n * Pauses a call recording.\n * @param recordingId - The recordingId associated with the recording.\n * @param options - Additional request options contains pauseRecording api options.\n */\n public async pause(recordingId: string, options: PauseRecordingOptions = {}): Promise<void> {\n return this.callRecordingImpl.pauseRecording(recordingId, options);\n }\n\n /**\n * Resumes a call recording.\n * @param recordingId - The recordingId associated with the recording.\n * @param options - Additional request options contains resumeRecording api options.\n */\n public async resume(recordingId: string, options: ResumeRecordingOptions = {}): Promise<void> {\n return this.callRecordingImpl.resumeRecording(recordingId, options);\n }\n\n /**\n * Deletes a recording.\n * @param recordingLocationUrl - The recording location url. Required.\n * @param options - Additional request options contains deleteRecording api options.\n */\n public async delete(\n recordingLocationUrl: string,\n options: DeleteRecordingOptions = {},\n ): Promise<void> {\n await this.contentDownloader.deleteRecording(recordingLocationUrl, options);\n }\n\n /**\n * Returns a stream with a call recording.\n * @param sourceLocationUrl - The source location url. Required.\n * @param options - Additional request options contains downloadRecording api options.\n */\n public async downloadStreaming(\n sourceLocationUrl: string,\n options: DownloadRecordingOptions = {},\n ): Promise<NodeJS.ReadableStream> {\n const result = this.contentDownloader.download(sourceLocationUrl, options);\n const recordingStream = (await result).readableStreamBody;\n if (recordingStream) {\n return recordingStream;\n } else {\n throw Error(\"failed to get stream\");\n }\n }\n\n /**\n * Downloads a call recording file to the specified stream.\n * @param sourceLocationUrl - The source location url. Required.\n * @param destinationStream - The destination stream. Required.\n * @param options - Additional request options contains downloadRecording api options.\n */\n public async downloadToStream(\n sourceLocationUrl: string,\n destinationStream: NodeJS.WritableStream,\n options: DownloadRecordingOptions = {},\n ): Promise<void> {\n const result = this.contentDownloader.download(sourceLocationUrl, options);\n const recordingStream = (await result).readableStreamBody;\n if (recordingStream) {\n recordingStream.pipe(destinationStream);\n const finish = new Promise<void>((resolve, reject) => {\n destinationStream.on(\"finish\", resolve);\n destinationStream.on(\"error\", reject);\n });\n await finish;\n } else {\n throw Error(\"failed to get stream\");\n }\n }\n\n /**\n * Downloads a call recording file to the specified path.\n * @param sourceLocationUrl - The source location url. Required.\n * @param destinationPath - The destination path. Required.\n * @param options - Additional request options contains downloadRecording api options.\n */\n public async downloadToPath(\n sourceLocationUrl: string,\n destinationPath: string,\n options: DownloadRecordingOptions = {},\n ): Promise<void> {\n const result = this.contentDownloader.download(sourceLocationUrl, options);\n const recordingStream = (await result).readableStreamBody;\n if (recordingStream) {\n const writeFileStream = fs.createWriteStream(destinationPath);\n recordingStream.pipe(writeFileStream);\n const finish = new Promise<void>((resolve, reject) => {\n writeFileStream.on(\"finish\", resolve);\n writeFileStream.on(\"error\", reject);\n });\n await finish;\n } else {\n throw Error(\"failed to get stream\");\n }\n }\n}\n"]}
@@ -3,6 +3,7 @@
3
3
  import { createHttpHeaders, createPipelineRequest } from "@azure/core-rest-pipeline";
4
4
  /** Class containing ContentDownloading operations. */
5
5
  export class ContentDownloaderImpl {
6
+ client;
6
7
  /**
7
8
  * Initialize a new instance of the class ContentDownloader class.
8
9
  * @param client - Reference to the service client
@@ -32,7 +33,6 @@ export class ContentDownloaderImpl {
32
33
  * @param deleteLocationUrl - The recording location url. Required.
33
34
  */
34
35
  async deleteRecording(deleteLocationUrl, options) {
35
- var _a, _b, _c;
36
36
  const fileLocation = new URL(deleteLocationUrl);
37
37
  const endpoint = new URL(this.client.endpoint);
38
38
  const modifiedUrlForSigning = endpoint.origin + fileLocation.pathname;
@@ -41,12 +41,12 @@ export class ContentDownloaderImpl {
41
41
  method: "DELETE",
42
42
  headers: createHttpHeaders(),
43
43
  body: "",
44
- abortSignal: options === null || options === void 0 ? void 0 : options.abortSignal,
45
- tracingOptions: options === null || options === void 0 ? void 0 : options.tracingOptions,
44
+ abortSignal: options?.abortSignal,
45
+ tracingOptions: options?.tracingOptions,
46
46
  };
47
- (_a = opt.headers) === null || _a === void 0 ? void 0 : _a.set("OriginalUrl", deleteLocationUrl);
48
- (_b = opt.headers) === null || _b === void 0 ? void 0 : _b.set("x-ms-host", endpoint.host);
49
- (_c = opt.headers) === null || _c === void 0 ? void 0 : _c.set("accept", "application/json");
47
+ opt.headers?.set("OriginalUrl", deleteLocationUrl);
48
+ opt.headers?.set("x-ms-host", endpoint.host);
49
+ opt.headers?.set("accept", "application/json");
50
50
  const req = createPipelineRequest(opt);
51
51
  const results = await this.client.sendRequest(req);
52
52
  if (results.status !== 200) {
@@ -63,7 +63,6 @@ export class ContentDownloaderImpl {
63
63
  * @param options - Additional request options contains downloadRecording options.
64
64
  */
65
65
  async download(sourceLocationUrl, options) {
66
- var _a, _b, _c, _d;
67
66
  const fileLocation = new URL(sourceLocationUrl);
68
67
  const endpoint = new URL(this.client.endpoint);
69
68
  const modifiedUrlForSigning = endpoint.origin + fileLocation.pathname;
@@ -74,7 +73,7 @@ export class ContentDownloaderImpl {
74
73
  body: "",
75
74
  streamResponseStatusCodes: new Set([200, 206]),
76
75
  abortSignal: options.abortSignal,
77
- tracingOptions: options === null || options === void 0 ? void 0 : options.tracingOptions,
76
+ tracingOptions: options?.tracingOptions,
78
77
  };
79
78
  if (options.length && !options.offset) {
80
79
  throw Error("Download offset value must not be empty if length is set.");
@@ -85,10 +84,10 @@ export class ContentDownloaderImpl {
85
84
  let rangeHeader = "bytes=" + options.offset;
86
85
  if (options.length)
87
86
  rangeHeader += "-" + options.length;
88
- (_a = opt.headers) === null || _a === void 0 ? void 0 : _a.set("OriginalUrl", sourceLocationUrl);
89
- (_b = opt.headers) === null || _b === void 0 ? void 0 : _b.set("x-ms-host", endpoint.host);
90
- (_c = opt.headers) === null || _c === void 0 ? void 0 : _c.set("accept", "application/json");
91
- (_d = opt.headers) === null || _d === void 0 ? void 0 : _d.set("Range", rangeHeader);
87
+ opt.headers?.set("OriginalUrl", sourceLocationUrl);
88
+ opt.headers?.set("x-ms-host", endpoint.host);
89
+ opt.headers?.set("accept", "application/json");
90
+ opt.headers?.set("Range", rangeHeader);
92
91
  const req = createPipelineRequest(opt);
93
92
  const results = await this.client.sendRequest(req);
94
93
  if (results.status !== 200 && results.status !== 206) {
@@ -1 +1 @@
1
- {"version":3,"file":"contentDownloader.js","sourceRoot":"","sources":["../../src/contentDownloader.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { CallAutomationApiClient } from \"./generated/src/callAutomationApiClient.js\";\nimport type {\n AddPipelineOptions,\n PipelineRequest,\n PipelineRequestOptions,\n PipelineResponse,\n SendRequest,\n} from \"@azure/core-rest-pipeline\";\nimport { createHttpHeaders, createPipelineRequest } from \"@azure/core-rest-pipeline\";\nimport type { DeleteRecordingOptions, DownloadRecordingOptions } from \"./models/options.js\";\n\n/** Class containing ContentDownloading operations. */\nexport class ContentDownloaderImpl {\n private readonly client: CallAutomationApiClient;\n\n /**\n * Initialize a new instance of the class ContentDownloader class.\n * @param client - Reference to the service client\n */\n constructor(client: CallAutomationApiClient) {\n this.client = client;\n this.addCustomSignUrlPolicy();\n }\n\n private addCustomSignUrlPolicy(): void {\n const signUrlPolicy = {\n name: \"CustomSignUrlPolicy\",\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n if (request.headers.has(\"OriginalUrl\")) {\n request.url = `${request.headers.get(\"OriginalUrl\")}`;\n const originalRequest = new URL(request.url);\n request.headers.set(\"Host\", originalRequest.host);\n }\n return next(request);\n },\n };\n\n const pipelineOptions: AddPipelineOptions = {};\n pipelineOptions.afterPhase = \"Sign\";\n this.client.pipeline.addPolicy(signUrlPolicy, pipelineOptions);\n }\n\n /**\n * Deletes a recording.\n * @param deleteLocationUrl - The recording location url. Required.\n */\n async deleteRecording(deleteLocationUrl: string, options: DeleteRecordingOptions): Promise<void> {\n const fileLocation = new URL(deleteLocationUrl);\n const endpoint = new URL(this.client.endpoint);\n const modifiedUrlForSigning = endpoint.origin + fileLocation.pathname;\n\n const opt: PipelineRequestOptions = {\n url: modifiedUrlForSigning,\n method: \"DELETE\",\n headers: createHttpHeaders(),\n body: \"\",\n abortSignal: options?.abortSignal,\n tracingOptions: options?.tracingOptions,\n };\n\n opt.headers?.set(\"OriginalUrl\", deleteLocationUrl);\n opt.headers?.set(\"x-ms-host\", endpoint.host);\n opt.headers?.set(\"accept\", \"application/json\");\n\n const req = createPipelineRequest(opt);\n\n const results = await this.client.sendRequest(req);\n\n if (results.status !== 200) {\n if (results.bodyAsText) {\n const jsonBody = JSON.parse(results.bodyAsText);\n throw { status: jsonBody.status, message: jsonBody.message };\n }\n throw { status: results.status };\n }\n }\n\n /**\n * Returns a stream with a call recording.\n * @param sourceLocationUrl - The source location url. Required.\n * @param options - Additional request options contains downloadRecording options.\n */\n async download(\n sourceLocationUrl: string,\n options: DownloadRecordingOptions,\n ): Promise<PipelineResponse> {\n const fileLocation = new URL(sourceLocationUrl);\n const endpoint = new URL(this.client.endpoint);\n const modifiedUrlForSigning = endpoint.origin + fileLocation.pathname;\n\n const opt: PipelineRequestOptions = {\n url: modifiedUrlForSigning,\n method: \"GET\",\n headers: createHttpHeaders(),\n body: \"\",\n streamResponseStatusCodes: new Set([200, 206]),\n abortSignal: options.abortSignal,\n tracingOptions: options?.tracingOptions,\n };\n\n if (options.length && !options.offset) {\n throw Error(\"Download offset value must not be empty if length is set.\");\n } else if (options.length && options.offset) {\n options.length = options.offset + options.length - 1;\n }\n\n let rangeHeader = \"bytes=\" + options.offset;\n if (options.length) rangeHeader += \"-\" + options.length;\n\n opt.headers?.set(\"OriginalUrl\", sourceLocationUrl);\n opt.headers?.set(\"x-ms-host\", endpoint.host);\n opt.headers?.set(\"accept\", \"application/json\");\n opt.headers?.set(\"Range\", rangeHeader);\n\n const req = createPipelineRequest(opt);\n\n const results = await this.client.sendRequest(req);\n\n if (results.status !== 200 && results.status !== 206) {\n if (results.bodyAsText) {\n const jsonBody = JSON.parse(results.bodyAsText);\n throw { status: jsonBody.status, message: jsonBody.message };\n }\n throw { status: results.status };\n }\n return results;\n }\n}\n"]}
1
+ {"version":3,"file":"contentDownloader.js","sourceRoot":"","sources":["../../src/contentDownloader.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { CallAutomationApiClient } from \"./generated/src/callAutomationApiClient.js\";\nimport type {\n AddPipelineOptions,\n PipelineRequest,\n PipelineRequestOptions,\n PipelineResponse,\n SendRequest,\n} from \"@azure/core-rest-pipeline\";\nimport { createHttpHeaders, createPipelineRequest } from \"@azure/core-rest-pipeline\";\nimport type { DeleteRecordingOptions, DownloadRecordingOptions } from \"./models/options.js\";\n\n/** Class containing ContentDownloading operations. */\nexport class ContentDownloaderImpl {\n private readonly client: CallAutomationApiClient;\n\n /**\n * Initialize a new instance of the class ContentDownloader class.\n * @param client - Reference to the service client\n */\n constructor(client: CallAutomationApiClient) {\n this.client = client;\n this.addCustomSignUrlPolicy();\n }\n\n private addCustomSignUrlPolicy(): void {\n const signUrlPolicy = {\n name: \"CustomSignUrlPolicy\",\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n if (request.headers.has(\"OriginalUrl\")) {\n request.url = `${request.headers.get(\"OriginalUrl\")}`;\n const originalRequest = new URL(request.url);\n request.headers.set(\"Host\", originalRequest.host);\n }\n return next(request);\n },\n };\n\n const pipelineOptions: AddPipelineOptions = {};\n pipelineOptions.afterPhase = \"Sign\";\n this.client.pipeline.addPolicy(signUrlPolicy, pipelineOptions);\n }\n\n /**\n * Deletes a recording.\n * @param deleteLocationUrl - The recording location url. Required.\n */\n async deleteRecording(deleteLocationUrl: string, options: DeleteRecordingOptions): Promise<void> {\n const fileLocation = new URL(deleteLocationUrl);\n const endpoint = new URL(this.client.endpoint);\n const modifiedUrlForSigning = endpoint.origin + fileLocation.pathname;\n\n const opt: PipelineRequestOptions = {\n url: modifiedUrlForSigning,\n method: \"DELETE\",\n headers: createHttpHeaders(),\n body: \"\",\n abortSignal: options?.abortSignal,\n tracingOptions: options?.tracingOptions,\n };\n\n opt.headers?.set(\"OriginalUrl\", deleteLocationUrl);\n opt.headers?.set(\"x-ms-host\", endpoint.host);\n opt.headers?.set(\"accept\", \"application/json\");\n\n const req = createPipelineRequest(opt);\n\n const results = await this.client.sendRequest(req);\n\n if (results.status !== 200) {\n if (results.bodyAsText) {\n const jsonBody = JSON.parse(results.bodyAsText);\n throw { status: jsonBody.status, message: jsonBody.message };\n }\n throw { status: results.status };\n }\n }\n\n /**\n * Returns a stream with a call recording.\n * @param sourceLocationUrl - The source location url. Required.\n * @param options - Additional request options contains downloadRecording options.\n */\n async download(\n sourceLocationUrl: string,\n options: DownloadRecordingOptions,\n ): Promise<PipelineResponse> {\n const fileLocation = new URL(sourceLocationUrl);\n const endpoint = new URL(this.client.endpoint);\n const modifiedUrlForSigning = endpoint.origin + fileLocation.pathname;\n\n const opt: PipelineRequestOptions = {\n url: modifiedUrlForSigning,\n method: \"GET\",\n headers: createHttpHeaders(),\n body: \"\",\n streamResponseStatusCodes: new Set([200, 206]),\n abortSignal: options.abortSignal,\n tracingOptions: options?.tracingOptions,\n };\n\n if (options.length && !options.offset) {\n throw Error(\"Download offset value must not be empty if length is set.\");\n } else if (options.length && options.offset) {\n options.length = options.offset + options.length - 1;\n }\n\n let rangeHeader = \"bytes=\" + options.offset;\n if (options.length) rangeHeader += \"-\" + options.length;\n\n opt.headers?.set(\"OriginalUrl\", sourceLocationUrl);\n opt.headers?.set(\"x-ms-host\", endpoint.host);\n opt.headers?.set(\"accept\", \"application/json\");\n opt.headers?.set(\"Range\", rangeHeader);\n\n const req = createPipelineRequest(opt);\n\n const results = await this.client.sendRequest(req);\n\n if (results.status !== 200 && results.status !== 206) {\n if (results.bodyAsText) {\n const jsonBody = JSON.parse(results.bodyAsText);\n throw { status: jsonBody.status, message: jsonBody.message };\n }\n throw { status: results.status };\n }\n return results;\n }\n}\n"]}
@@ -13,10 +13,9 @@ export function createCallAutomationAccessKeyCredentialPolicy(credential, acsUrl
13
13
  return {
14
14
  name: callAutomationAccessKeyCredentialPolicy,
15
15
  async sendRequest(request, next) {
16
- var _a;
17
16
  const verb = request.method.toUpperCase();
18
17
  const utcNow = new Date().toUTCString();
19
- const contentHash = await shaHash(((_a = request.body) === null || _a === void 0 ? void 0 : _a.toString()) || "");
18
+ const contentHash = await shaHash(request.body?.toString() || "");
20
19
  const dateHeader = "x-ms-date";
21
20
  const signedHeaders = `${dateHeader};host;x-ms-content-sha256`;
22
21
  const acsUrlCast = new URL(acsUrl);
@@ -1 +1 @@
1
- {"version":3,"file":"callAutomationAccessKeyCredentialPolicy.js","sourceRoot":"","sources":["../../../src/credential/callAutomationAccessKeyCredentialPolicy.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AASlC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,MAAM,uCAAuC,GAAG,yCAAyC,CAAC;AAE1F;;;;;GAKG;AACH,MAAM,UAAU,6CAA6C,CAC3D,UAAyB,EACzB,MAAc;IAEd,OAAO;QACL,IAAI,EAAE,uCAAuC;QAC7C,KAAK,CAAC,WAAW,CAAC,OAAwB,EAAE,IAAiB;;YAC3D,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACxC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,CAAA,MAAA,OAAO,CAAC,IAAI,0CAAE,QAAQ,EAAE,KAAI,EAAE,CAAC,CAAC;YAClE,MAAM,UAAU,GAAG,WAAW,CAAC;YAC/B,MAAM,aAAa,GAAG,GAAG,UAAU,2BAA2B,CAAC;YAE/D,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;YAElD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC1C,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;YAE1E,MAAM,YAAY,GAAG,GAAG,IAAI,KAAK,eAAe,KAAK,MAAM,IAAI,UAAU,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;YAChG,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAE9D,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAC9C,CAAC;YAED,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACxC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAC;YACxD,OAAO,CAAC,OAAO,CAAC,GAAG,CACjB,eAAe,EACf,6BAA6B,aAAa,cAAc,SAAS,EAAE,CACpE,CAAC;YACF,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n PipelinePolicy,\n PipelineRequest,\n PipelineResponse,\n SendRequest,\n} from \"@azure/core-rest-pipeline\";\nimport type { KeyCredential } from \"@azure/core-auth\";\nimport { shaHMAC, shaHash } from \"./cryptoUtils.js\";\nimport { isNode } from \"@azure/core-util\";\n\nconst callAutomationAccessKeyCredentialPolicy = \"CallAutomationAccessKeyCredentialPolicy\";\n\n/**\n * Creates an HTTP pipeline policy to authenticate a request using a `KeyCredential`.\n * @hidden\n *\n * @param credential - The key credential.\n */\nexport function createCallAutomationAccessKeyCredentialPolicy(\n credential: KeyCredential,\n acsUrl: string,\n): PipelinePolicy {\n return {\n name: callAutomationAccessKeyCredentialPolicy,\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n const verb = request.method.toUpperCase();\n const utcNow = new Date().toUTCString();\n const contentHash = await shaHash(request.body?.toString() || \"\");\n const dateHeader = \"x-ms-date\";\n const signedHeaders = `${dateHeader};host;x-ms-content-sha256`;\n\n const acsUrlCast = new URL(acsUrl);\n request.headers.set(\"x-ms-host\", acsUrlCast.host);\n\n const url = new URL(request.url);\n const query = url.searchParams.toString();\n const urlPathAndQuery = query ? `${url.pathname}?${query}` : url.pathname;\n\n const stringToSign = `${verb}\\n${urlPathAndQuery}\\n${utcNow};${acsUrlCast.host};${contentHash}`;\n const signature = await shaHMAC(credential.key, stringToSign);\n\n if (isNode) {\n request.headers.set(\"Host\", url.host || \"\");\n }\n\n request.headers.set(dateHeader, utcNow);\n request.headers.set(\"x-ms-content-sha256\", contentHash);\n request.headers.set(\n \"Authorization\",\n `HMAC-SHA256 SignedHeaders=${signedHeaders}&Signature=${signature}`,\n );\n return next(request);\n },\n };\n}\n"]}
1
+ {"version":3,"file":"callAutomationAccessKeyCredentialPolicy.js","sourceRoot":"","sources":["../../../src/credential/callAutomationAccessKeyCredentialPolicy.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AASlC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,MAAM,uCAAuC,GAAG,yCAAyC,CAAC;AAE1F;;;;;GAKG;AACH,MAAM,UAAU,6CAA6C,CAC3D,UAAyB,EACzB,MAAc;IAEd,OAAO;QACL,IAAI,EAAE,uCAAuC;QAC7C,KAAK,CAAC,WAAW,CAAC,OAAwB,EAAE,IAAiB;YAC3D,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACxC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAClE,MAAM,UAAU,GAAG,WAAW,CAAC;YAC/B,MAAM,aAAa,GAAG,GAAG,UAAU,2BAA2B,CAAC;YAE/D,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;YAElD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC1C,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;YAE1E,MAAM,YAAY,GAAG,GAAG,IAAI,KAAK,eAAe,KAAK,MAAM,IAAI,UAAU,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;YAChG,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAE9D,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAC9C,CAAC;YAED,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACxC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAC;YACxD,OAAO,CAAC,OAAO,CAAC,GAAG,CACjB,eAAe,EACf,6BAA6B,aAAa,cAAc,SAAS,EAAE,CACpE,CAAC;YACF,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n PipelinePolicy,\n PipelineRequest,\n PipelineResponse,\n SendRequest,\n} from \"@azure/core-rest-pipeline\";\nimport type { KeyCredential } from \"@azure/core-auth\";\nimport { shaHMAC, shaHash } from \"./cryptoUtils.js\";\nimport { isNode } from \"@azure/core-util\";\n\nconst callAutomationAccessKeyCredentialPolicy = \"CallAutomationAccessKeyCredentialPolicy\";\n\n/**\n * Creates an HTTP pipeline policy to authenticate a request using a `KeyCredential`.\n * @hidden\n *\n * @param credential - The key credential.\n */\nexport function createCallAutomationAccessKeyCredentialPolicy(\n credential: KeyCredential,\n acsUrl: string,\n): PipelinePolicy {\n return {\n name: callAutomationAccessKeyCredentialPolicy,\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n const verb = request.method.toUpperCase();\n const utcNow = new Date().toUTCString();\n const contentHash = await shaHash(request.body?.toString() || \"\");\n const dateHeader = \"x-ms-date\";\n const signedHeaders = `${dateHeader};host;x-ms-content-sha256`;\n\n const acsUrlCast = new URL(acsUrl);\n request.headers.set(\"x-ms-host\", acsUrlCast.host);\n\n const url = new URL(request.url);\n const query = url.searchParams.toString();\n const urlPathAndQuery = query ? `${url.pathname}?${query}` : url.pathname;\n\n const stringToSign = `${verb}\\n${urlPathAndQuery}\\n${utcNow};${acsUrlCast.host};${contentHash}`;\n const signature = await shaHMAC(credential.key, stringToSign);\n\n if (isNode) {\n request.headers.set(\"Host\", url.host || \"\");\n }\n\n request.headers.set(dateHeader, utcNow);\n request.headers.set(\"x-ms-content-sha256\", contentHash);\n request.headers.set(\n \"Authorization\",\n `HMAC-SHA256 SignedHeaders=${signedHeaders}&Signature=${signature}`,\n );\n return next(request);\n },\n };\n}\n"]}
@@ -37,7 +37,7 @@ export function createCustomCallAutomationApiClient(credential, internalPipeline
37
37
  const customEnabled = process.env.COMMUNICATION_CUSTOM_ENDPOINT_ENABLED;
38
38
  const customUrl = process.env.COMMUNICATION_CUSTOM_URL;
39
39
  let callAutomationApiClient;
40
- if ((customEnabled === null || customEnabled === void 0 ? void 0 : customEnabled.toLowerCase()) === "true" && customUrl) {
40
+ if (customEnabled?.toLowerCase() === "true" && customUrl) {
41
41
  // add custom header for Call Automation auth when flag is true
42
42
  callAutomationApiClient = new CallAutomationApiClient(customUrl, internalPipelineOptions);
43
43
  const callAutomationAuthPolicy = createCallAutomationAuthPolicy(credential, url);
@@ -1 +1 @@
1
- {"version":3,"file":"callAutomationAuthPolicy.js","sourceRoot":"","sources":["../../../src/credential/callAutomationAuthPolicy.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAMlC,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,6CAA6C,EAAE,MAAM,8CAA8C,CAAC;AAE7G,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAC5C,UAA2C,EAC3C,MAAc;IAEd,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,MAAM,aAAa,GAA2C;YAC5D,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE,CAAC,2CAA2C,CAAC;SACtD,CAAC;QACF,OAAO,+BAA+B,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,OAAO,6CAA6C,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mCAAmC,CACjD,UAA2C,EAC3C,uBAA0E,EAC1E,GAAW;IAEX,oDAAoD;IACpD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC;IACxE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;IACvD,IAAI,uBAAgD,CAAC;IAErD,IAAI,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW,EAAE,MAAK,MAAM,IAAI,SAAS,EAAE,CAAC;QACzD,+DAA+D;QAC/D,uBAAuB,GAAG,IAAI,uBAAuB,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;QAC1F,MAAM,wBAAwB,GAAG,8BAA8B,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACjF,uBAAuB,CAAC,QAAQ,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;IACvE,CAAC;SAAM,CAAC;QACN,uBAAuB,GAAG,IAAI,uBAAuB,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;QACpF,MAAM,UAAU,GAAG,6BAA6B,CAAC,UAAU,CAAC,CAAC;QAC7D,uBAAuB,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,uBAAuB,CAAC;AACjC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n BearerTokenAuthenticationPolicyOptions,\n PipelinePolicy,\n} from \"@azure/core-rest-pipeline\";\nimport { bearerTokenAuthenticationPolicy } from \"@azure/core-rest-pipeline\";\nimport type { KeyCredential, TokenCredential } from \"@azure/core-auth\";\nimport { isTokenCredential } from \"@azure/core-auth\";\nimport { createCallAutomationAccessKeyCredentialPolicy } from \"./callAutomationAccessKeyCredentialPolicy.js\";\nimport type { CallAutomationApiClientOptionalParams } from \"./../generated/src/index.js\";\nimport { CallAutomationApiClient } from \"./../generated/src/index.js\";\nimport { createCommunicationAuthPolicy } from \"@azure/communication-common\";\n/**\n * Creates a pipeline policy to authenticate request based\n * on the credential passed in.\n * @hidden\n *\n * @param credential - The KeyCredential or TokenCredential.\n */\nexport function createCallAutomationAuthPolicy(\n credential: KeyCredential | TokenCredential,\n acsUrl: string,\n): PipelinePolicy {\n if (isTokenCredential(credential)) {\n const policyOptions: BearerTokenAuthenticationPolicyOptions = {\n credential: credential,\n scopes: [\"https://communication.azure.com//.default\"],\n };\n return bearerTokenAuthenticationPolicy(policyOptions);\n } else {\n return createCallAutomationAccessKeyCredentialPolicy(credential, acsUrl);\n }\n}\n\n/**\n * Creates CallAutomationApiClient for custom endpoint\n * @hidden\n *\n * @param credential - The KeyCredential or TokenCredential.\n * @param internalPipelineOptions - CallAutomationApiClientOptionalParams if provided.\n * @param url - ACS url.\n */\nexport function createCustomCallAutomationApiClient(\n credential: KeyCredential | TokenCredential,\n internalPipelineOptions: CallAutomationApiClientOptionalParams | undefined,\n url: string,\n): CallAutomationApiClient {\n // read environment variable for callAutomation auth\n const customEnabled = process.env.COMMUNICATION_CUSTOM_ENDPOINT_ENABLED;\n const customUrl = process.env.COMMUNICATION_CUSTOM_URL;\n let callAutomationApiClient: CallAutomationApiClient;\n\n if (customEnabled?.toLowerCase() === \"true\" && customUrl) {\n // add custom header for Call Automation auth when flag is true\n callAutomationApiClient = new CallAutomationApiClient(customUrl, internalPipelineOptions);\n const callAutomationAuthPolicy = createCallAutomationAuthPolicy(credential, url);\n callAutomationApiClient.pipeline.addPolicy(callAutomationAuthPolicy);\n } else {\n callAutomationApiClient = new CallAutomationApiClient(url, internalPipelineOptions);\n const authPolicy = createCommunicationAuthPolicy(credential);\n callAutomationApiClient.pipeline.addPolicy(authPolicy);\n }\n return callAutomationApiClient;\n}\n"]}
1
+ {"version":3,"file":"callAutomationAuthPolicy.js","sourceRoot":"","sources":["../../../src/credential/callAutomationAuthPolicy.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAMlC,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,6CAA6C,EAAE,MAAM,8CAA8C,CAAC;AAE7G,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAC5C,UAA2C,EAC3C,MAAc;IAEd,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,MAAM,aAAa,GAA2C;YAC5D,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE,CAAC,2CAA2C,CAAC;SACtD,CAAC;QACF,OAAO,+BAA+B,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,OAAO,6CAA6C,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mCAAmC,CACjD,UAA2C,EAC3C,uBAA0E,EAC1E,GAAW;IAEX,oDAAoD;IACpD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC;IACxE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;IACvD,IAAI,uBAAgD,CAAC;IAErD,IAAI,aAAa,EAAE,WAAW,EAAE,KAAK,MAAM,IAAI,SAAS,EAAE,CAAC;QACzD,+DAA+D;QAC/D,uBAAuB,GAAG,IAAI,uBAAuB,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;QAC1F,MAAM,wBAAwB,GAAG,8BAA8B,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACjF,uBAAuB,CAAC,QAAQ,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;IACvE,CAAC;SAAM,CAAC;QACN,uBAAuB,GAAG,IAAI,uBAAuB,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;QACpF,MAAM,UAAU,GAAG,6BAA6B,CAAC,UAAU,CAAC,CAAC;QAC7D,uBAAuB,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,uBAAuB,CAAC;AACjC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n BearerTokenAuthenticationPolicyOptions,\n PipelinePolicy,\n} from \"@azure/core-rest-pipeline\";\nimport { bearerTokenAuthenticationPolicy } from \"@azure/core-rest-pipeline\";\nimport type { KeyCredential, TokenCredential } from \"@azure/core-auth\";\nimport { isTokenCredential } from \"@azure/core-auth\";\nimport { createCallAutomationAccessKeyCredentialPolicy } from \"./callAutomationAccessKeyCredentialPolicy.js\";\nimport type { CallAutomationApiClientOptionalParams } from \"./../generated/src/index.js\";\nimport { CallAutomationApiClient } from \"./../generated/src/index.js\";\nimport { createCommunicationAuthPolicy } from \"@azure/communication-common\";\n/**\n * Creates a pipeline policy to authenticate request based\n * on the credential passed in.\n * @hidden\n *\n * @param credential - The KeyCredential or TokenCredential.\n */\nexport function createCallAutomationAuthPolicy(\n credential: KeyCredential | TokenCredential,\n acsUrl: string,\n): PipelinePolicy {\n if (isTokenCredential(credential)) {\n const policyOptions: BearerTokenAuthenticationPolicyOptions = {\n credential: credential,\n scopes: [\"https://communication.azure.com//.default\"],\n };\n return bearerTokenAuthenticationPolicy(policyOptions);\n } else {\n return createCallAutomationAccessKeyCredentialPolicy(credential, acsUrl);\n }\n}\n\n/**\n * Creates CallAutomationApiClient for custom endpoint\n * @hidden\n *\n * @param credential - The KeyCredential or TokenCredential.\n * @param internalPipelineOptions - CallAutomationApiClientOptionalParams if provided.\n * @param url - ACS url.\n */\nexport function createCustomCallAutomationApiClient(\n credential: KeyCredential | TokenCredential,\n internalPipelineOptions: CallAutomationApiClientOptionalParams | undefined,\n url: string,\n): CallAutomationApiClient {\n // read environment variable for callAutomation auth\n const customEnabled = process.env.COMMUNICATION_CUSTOM_ENDPOINT_ENABLED;\n const customUrl = process.env.COMMUNICATION_CUSTOM_URL;\n let callAutomationApiClient: CallAutomationApiClient;\n\n if (customEnabled?.toLowerCase() === \"true\" && customUrl) {\n // add custom header for Call Automation auth when flag is true\n callAutomationApiClient = new CallAutomationApiClient(customUrl, internalPipelineOptions);\n const callAutomationAuthPolicy = createCallAutomationAuthPolicy(credential, url);\n callAutomationApiClient.pipeline.addPolicy(callAutomationAuthPolicy);\n } else {\n callAutomationApiClient = new CallAutomationApiClient(url, internalPipelineOptions);\n const authPolicy = createCommunicationAuthPolicy(credential);\n callAutomationApiClient.pipeline.addPolicy(authPolicy);\n }\n return callAutomationApiClient;\n}\n"]}
@@ -10,13 +10,14 @@ import { CallConnectionImpl, CallMediaImpl, CallRecordingImpl, } from "./operati
10
10
  import * as Parameters from "./models/parameters.js";
11
11
  import * as Mappers from "./models/mappers.js";
12
12
  export class CallAutomationApiClient extends coreClient.ServiceClient {
13
+ endpoint;
14
+ apiVersion;
13
15
  /**
14
16
  * Initializes a new instance of the CallAutomationApiClient class.
15
17
  * @param endpoint The endpoint of the Azure Communication resource.
16
18
  * @param options The parameter options
17
19
  */
18
20
  constructor(endpoint, options) {
19
- var _a, _b;
20
21
  if (endpoint === undefined) {
21
22
  throw new Error("'endpoint' cannot be null");
22
23
  }
@@ -27,18 +28,23 @@ export class CallAutomationApiClient extends coreClient.ServiceClient {
27
28
  const defaults = {
28
29
  requestContentType: "application/json; charset=utf-8",
29
30
  };
30
- const packageDetails = `azsdk-js-communication-call-automation/1.5.0-beta.2`;
31
+ const packageDetails = `azsdk-js-communication-call-automation/1.5.0`;
31
32
  const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix
32
33
  ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`
33
34
  : `${packageDetails}`;
34
- const optionsWithDefaults = Object.assign(Object.assign(Object.assign({}, defaults), options), { userAgentOptions: {
35
+ const optionsWithDefaults = {
36
+ ...defaults,
37
+ ...options,
38
+ userAgentOptions: {
35
39
  userAgentPrefix,
36
- }, endpoint: (_b = (_a = options.endpoint) !== null && _a !== void 0 ? _a : options.baseUri) !== null && _b !== void 0 ? _b : "{endpoint}" });
40
+ },
41
+ endpoint: options.endpoint ?? options.baseUri ?? "{endpoint}",
42
+ };
37
43
  super(optionsWithDefaults);
38
44
  // Parameter assignments
39
45
  this.endpoint = endpoint;
40
46
  // Assigning values to Constant parameters
41
- this.apiVersion = options.apiVersion || "2025-03-30-preview";
47
+ this.apiVersion = options.apiVersion || "2025-06-15";
42
48
  this.callConnection = new CallConnectionImpl(this);
43
49
  this.callMedia = new CallMediaImpl(this);
44
50
  this.callRecording = new CallRecordingImpl(this);
@@ -109,6 +115,9 @@ export class CallAutomationApiClient extends coreClient.ServiceClient {
109
115
  connect(connectRequest, options) {
110
116
  return this.sendOperationRequest({ connectRequest, options }, connectOperationSpec);
111
117
  }
118
+ callConnection;
119
+ callMedia;
120
+ callRecording;
112
121
  }
113
122
  // Operation Specifications
114
123
  const serializer = coreClient.createSerializer(Mappers, /* isXml */ false);
@@ -1 +1 @@
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 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-beta.2`;\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-03-30-preview\";\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 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"]}