@azure/communication-call-automation 1.5.0 → 1.6.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/callAutomationClient.d.ts.map +1 -1
- package/dist/browser/callAutomationClient.js +3 -0
- package/dist/browser/callAutomationClient.js.map +1 -1
- package/dist/browser/callAutomationEventParser.d.ts.map +1 -1
- package/dist/browser/callAutomationEventParser.js +15 -0
- package/dist/browser/callAutomationEventParser.js.map +1 -1
- package/dist/browser/callConnection.d.ts +10 -2
- package/dist/browser/callConnection.d.ts.map +1 -1
- package/dist/browser/callConnection.js +37 -2
- package/dist/browser/callConnection.js.map +1 -1
- package/dist/browser/callMedia.d.ts +7 -2
- package/dist/browser/callMedia.d.ts.map +1 -1
- package/dist/browser/callMedia.js +33 -5
- package/dist/browser/callMedia.js.map +1 -1
- package/dist/browser/generated/src/callAutomationApiClient.js +2 -2
- package/dist/browser/generated/src/callAutomationApiClient.js.map +1 -1
- package/dist/browser/generated/src/models/index.d.ts +255 -3
- package/dist/browser/generated/src/models/index.d.ts.map +1 -1
- package/dist/browser/generated/src/models/index.js +12 -0
- package/dist/browser/generated/src/models/index.js.map +1 -1
- package/dist/browser/generated/src/models/mappers.d.ts +13 -0
- package/dist/browser/generated/src/models/mappers.d.ts.map +1 -1
- package/dist/browser/generated/src/models/mappers.js +652 -1
- package/dist/browser/generated/src/models/mappers.js.map +1 -1
- package/dist/browser/generated/src/models/parameters.d.ts +2 -0
- package/dist/browser/generated/src/models/parameters.d.ts.map +1 -1
- package/dist/browser/generated/src/models/parameters.js +10 -2
- package/dist/browser/generated/src/models/parameters.js.map +1 -1
- package/dist/browser/generated/src/operations/callConnection.d.ts +8 -1
- package/dist/browser/generated/src/operations/callConnection.d.ts.map +1 -1
- package/dist/browser/generated/src/operations/callConnection.js +32 -0
- package/dist/browser/generated/src/operations/callConnection.js.map +1 -1
- package/dist/browser/generated/src/operations/callMedia.d.ts +8 -1
- package/dist/browser/generated/src/operations/callMedia.d.ts.map +1 -1
- package/dist/browser/generated/src/operations/callMedia.js +25 -0
- package/dist/browser/generated/src/operations/callMedia.js.map +1 -1
- package/dist/browser/generated/src/operationsInterfaces/callConnection.d.ts +8 -1
- package/dist/browser/generated/src/operationsInterfaces/callConnection.d.ts.map +1 -1
- package/dist/browser/generated/src/operationsInterfaces/callConnection.js.map +1 -1
- package/dist/browser/generated/src/operationsInterfaces/callMedia.d.ts +8 -1
- package/dist/browser/generated/src/operationsInterfaces/callMedia.d.ts.map +1 -1
- package/dist/browser/generated/src/operationsInterfaces/callMedia.js.map +1 -1
- package/dist/browser/models/constants.d.ts.map +1 -1
- package/dist/browser/models/constants.js +1 -1
- package/dist/browser/models/constants.js.map +1 -1
- package/dist/browser/models/events.d.ts +245 -264
- package/dist/browser/models/events.d.ts.map +1 -1
- package/dist/browser/models/events.js.map +1 -1
- package/dist/browser/models/models.d.ts +78 -3
- package/dist/browser/models/models.d.ts.map +1 -1
- package/dist/browser/models/models.js.map +1 -1
- package/dist/browser/models/options.d.ts +65 -1
- package/dist/browser/models/options.d.ts.map +1 -1
- package/dist/browser/models/options.js.map +1 -1
- package/dist/browser/models/responses.d.ts +9 -0
- package/dist/browser/models/responses.d.ts.map +1 -1
- package/dist/browser/models/responses.js.map +1 -1
- package/dist/browser/models/streaming.d.ts +12 -1
- package/dist/browser/models/streaming.d.ts.map +1 -1
- package/dist/browser/models/streaming.js.map +1 -1
- package/dist/browser/streamingData.d.ts.map +1 -1
- package/dist/browser/streamingData.js +5 -0
- package/dist/browser/streamingData.js.map +1 -1
- package/dist/browser/utli/converters.d.ts +26 -2
- package/dist/browser/utli/converters.d.ts.map +1 -1
- package/dist/browser/utli/converters.js +113 -0
- package/dist/browser/utli/converters.js.map +1 -1
- package/dist/commonjs/callAutomationClient.d.ts.map +1 -1
- package/dist/commonjs/callAutomationClient.js +3 -0
- package/dist/commonjs/callAutomationClient.js.map +1 -1
- package/dist/commonjs/callAutomationEventParser.d.ts.map +1 -1
- package/dist/commonjs/callAutomationEventParser.js +15 -0
- package/dist/commonjs/callAutomationEventParser.js.map +1 -1
- package/dist/commonjs/callConnection.d.ts +10 -2
- package/dist/commonjs/callConnection.d.ts.map +1 -1
- package/dist/commonjs/callConnection.js +36 -1
- package/dist/commonjs/callConnection.js.map +1 -1
- package/dist/commonjs/callMedia.d.ts +7 -2
- package/dist/commonjs/callMedia.d.ts.map +1 -1
- package/dist/commonjs/callMedia.js +33 -5
- package/dist/commonjs/callMedia.js.map +1 -1
- package/dist/commonjs/generated/src/callAutomationApiClient.js +2 -2
- package/dist/commonjs/generated/src/callAutomationApiClient.js.map +1 -1
- package/dist/commonjs/generated/src/models/index.d.ts +255 -3
- package/dist/commonjs/generated/src/models/index.d.ts.map +1 -1
- package/dist/commonjs/generated/src/models/index.js +13 -1
- package/dist/commonjs/generated/src/models/index.js.map +1 -1
- package/dist/commonjs/generated/src/models/mappers.d.ts +13 -0
- package/dist/commonjs/generated/src/models/mappers.d.ts.map +1 -1
- package/dist/commonjs/generated/src/models/mappers.js +655 -4
- package/dist/commonjs/generated/src/models/mappers.js.map +1 -1
- package/dist/commonjs/generated/src/models/parameters.d.ts +2 -0
- package/dist/commonjs/generated/src/models/parameters.d.ts.map +1 -1
- package/dist/commonjs/generated/src/models/parameters.js +10 -2
- package/dist/commonjs/generated/src/models/parameters.js.map +1 -1
- package/dist/commonjs/generated/src/operations/callConnection.d.ts +8 -1
- package/dist/commonjs/generated/src/operations/callConnection.d.ts.map +1 -1
- package/dist/commonjs/generated/src/operations/callConnection.js +32 -0
- package/dist/commonjs/generated/src/operations/callConnection.js.map +1 -1
- package/dist/commonjs/generated/src/operations/callMedia.d.ts +8 -1
- package/dist/commonjs/generated/src/operations/callMedia.d.ts.map +1 -1
- package/dist/commonjs/generated/src/operations/callMedia.js +25 -0
- package/dist/commonjs/generated/src/operations/callMedia.js.map +1 -1
- package/dist/commonjs/generated/src/operationsInterfaces/callConnection.d.ts +8 -1
- package/dist/commonjs/generated/src/operationsInterfaces/callConnection.d.ts.map +1 -1
- package/dist/commonjs/generated/src/operationsInterfaces/callConnection.js.map +1 -1
- package/dist/commonjs/generated/src/operationsInterfaces/callMedia.d.ts +8 -1
- package/dist/commonjs/generated/src/operationsInterfaces/callMedia.d.ts.map +1 -1
- package/dist/commonjs/generated/src/operationsInterfaces/callMedia.js.map +1 -1
- package/dist/commonjs/models/constants.d.ts.map +1 -1
- package/dist/commonjs/models/constants.js +1 -1
- package/dist/commonjs/models/constants.js.map +1 -1
- package/dist/commonjs/models/events.d.ts +245 -264
- package/dist/commonjs/models/events.d.ts.map +1 -1
- package/dist/commonjs/models/events.js.map +1 -1
- package/dist/commonjs/models/models.d.ts +78 -3
- package/dist/commonjs/models/models.d.ts.map +1 -1
- package/dist/commonjs/models/models.js.map +1 -1
- package/dist/commonjs/models/options.d.ts +65 -1
- package/dist/commonjs/models/options.d.ts.map +1 -1
- package/dist/commonjs/models/options.js.map +1 -1
- package/dist/commonjs/models/responses.d.ts +9 -0
- package/dist/commonjs/models/responses.d.ts.map +1 -1
- package/dist/commonjs/models/responses.js.map +1 -1
- package/dist/commonjs/models/streaming.d.ts +12 -1
- package/dist/commonjs/models/streaming.d.ts.map +1 -1
- package/dist/commonjs/models/streaming.js.map +1 -1
- package/dist/commonjs/streamingData.d.ts.map +1 -1
- package/dist/commonjs/streamingData.js +5 -0
- package/dist/commonjs/streamingData.js.map +1 -1
- package/dist/commonjs/utli/converters.d.ts +26 -2
- package/dist/commonjs/utli/converters.d.ts.map +1 -1
- package/dist/commonjs/utli/converters.js +119 -0
- package/dist/commonjs/utli/converters.js.map +1 -1
- package/dist/esm/callAutomationClient.d.ts.map +1 -1
- package/dist/esm/callAutomationClient.js +3 -0
- package/dist/esm/callAutomationClient.js.map +1 -1
- package/dist/esm/callAutomationEventParser.d.ts.map +1 -1
- package/dist/esm/callAutomationEventParser.js +15 -0
- package/dist/esm/callAutomationEventParser.js.map +1 -1
- package/dist/esm/callConnection.d.ts +10 -2
- package/dist/esm/callConnection.d.ts.map +1 -1
- package/dist/esm/callConnection.js +37 -2
- package/dist/esm/callConnection.js.map +1 -1
- package/dist/esm/callMedia.d.ts +7 -2
- package/dist/esm/callMedia.d.ts.map +1 -1
- package/dist/esm/callMedia.js +33 -5
- package/dist/esm/callMedia.js.map +1 -1
- package/dist/esm/generated/src/callAutomationApiClient.js +2 -2
- package/dist/esm/generated/src/callAutomationApiClient.js.map +1 -1
- package/dist/esm/generated/src/models/index.d.ts +255 -3
- package/dist/esm/generated/src/models/index.d.ts.map +1 -1
- package/dist/esm/generated/src/models/index.js +12 -0
- package/dist/esm/generated/src/models/index.js.map +1 -1
- package/dist/esm/generated/src/models/mappers.d.ts +13 -0
- package/dist/esm/generated/src/models/mappers.d.ts.map +1 -1
- package/dist/esm/generated/src/models/mappers.js +652 -1
- package/dist/esm/generated/src/models/mappers.js.map +1 -1
- package/dist/esm/generated/src/models/parameters.d.ts +2 -0
- package/dist/esm/generated/src/models/parameters.d.ts.map +1 -1
- package/dist/esm/generated/src/models/parameters.js +10 -2
- package/dist/esm/generated/src/models/parameters.js.map +1 -1
- package/dist/esm/generated/src/operations/callConnection.d.ts +8 -1
- package/dist/esm/generated/src/operations/callConnection.d.ts.map +1 -1
- package/dist/esm/generated/src/operations/callConnection.js +32 -0
- package/dist/esm/generated/src/operations/callConnection.js.map +1 -1
- package/dist/esm/generated/src/operations/callMedia.d.ts +8 -1
- package/dist/esm/generated/src/operations/callMedia.d.ts.map +1 -1
- package/dist/esm/generated/src/operations/callMedia.js +25 -0
- package/dist/esm/generated/src/operations/callMedia.js.map +1 -1
- package/dist/esm/generated/src/operationsInterfaces/callConnection.d.ts +8 -1
- package/dist/esm/generated/src/operationsInterfaces/callConnection.d.ts.map +1 -1
- package/dist/esm/generated/src/operationsInterfaces/callConnection.js.map +1 -1
- package/dist/esm/generated/src/operationsInterfaces/callMedia.d.ts +8 -1
- package/dist/esm/generated/src/operationsInterfaces/callMedia.d.ts.map +1 -1
- package/dist/esm/generated/src/operationsInterfaces/callMedia.js.map +1 -1
- package/dist/esm/models/constants.d.ts.map +1 -1
- package/dist/esm/models/constants.js +1 -1
- package/dist/esm/models/constants.js.map +1 -1
- package/dist/esm/models/events.d.ts +245 -264
- package/dist/esm/models/events.d.ts.map +1 -1
- package/dist/esm/models/events.js.map +1 -1
- package/dist/esm/models/models.d.ts +78 -3
- package/dist/esm/models/models.d.ts.map +1 -1
- package/dist/esm/models/models.js.map +1 -1
- package/dist/esm/models/options.d.ts +65 -1
- package/dist/esm/models/options.d.ts.map +1 -1
- package/dist/esm/models/options.js.map +1 -1
- package/dist/esm/models/responses.d.ts +9 -0
- package/dist/esm/models/responses.d.ts.map +1 -1
- package/dist/esm/models/responses.js.map +1 -1
- package/dist/esm/models/streaming.d.ts +12 -1
- package/dist/esm/models/streaming.d.ts.map +1 -1
- package/dist/esm/models/streaming.js.map +1 -1
- package/dist/esm/streamingData.d.ts.map +1 -1
- package/dist/esm/streamingData.js +5 -0
- package/dist/esm/streamingData.js.map +1 -1
- package/dist/esm/utli/converters.d.ts +26 -2
- package/dist/esm/utli/converters.d.ts.map +1 -1
- package/dist/esm/utli/converters.js +113 -0
- package/dist/esm/utli/converters.js.map +1 -1
- package/dist/react-native/callAutomationClient.d.ts.map +1 -1
- package/dist/react-native/callAutomationClient.js +3 -0
- package/dist/react-native/callAutomationClient.js.map +1 -1
- package/dist/react-native/callAutomationEventParser.d.ts.map +1 -1
- package/dist/react-native/callAutomationEventParser.js +15 -0
- package/dist/react-native/callAutomationEventParser.js.map +1 -1
- package/dist/react-native/callConnection.d.ts +10 -2
- package/dist/react-native/callConnection.d.ts.map +1 -1
- package/dist/react-native/callConnection.js +37 -2
- package/dist/react-native/callConnection.js.map +1 -1
- package/dist/react-native/callMedia.d.ts +7 -2
- package/dist/react-native/callMedia.d.ts.map +1 -1
- package/dist/react-native/callMedia.js +33 -5
- package/dist/react-native/callMedia.js.map +1 -1
- package/dist/react-native/generated/src/callAutomationApiClient.js +2 -2
- package/dist/react-native/generated/src/callAutomationApiClient.js.map +1 -1
- package/dist/react-native/generated/src/models/index.d.ts +255 -3
- package/dist/react-native/generated/src/models/index.d.ts.map +1 -1
- package/dist/react-native/generated/src/models/index.js +12 -0
- package/dist/react-native/generated/src/models/index.js.map +1 -1
- package/dist/react-native/generated/src/models/mappers.d.ts +13 -0
- package/dist/react-native/generated/src/models/mappers.d.ts.map +1 -1
- package/dist/react-native/generated/src/models/mappers.js +652 -1
- package/dist/react-native/generated/src/models/mappers.js.map +1 -1
- package/dist/react-native/generated/src/models/parameters.d.ts +2 -0
- package/dist/react-native/generated/src/models/parameters.d.ts.map +1 -1
- package/dist/react-native/generated/src/models/parameters.js +10 -2
- package/dist/react-native/generated/src/models/parameters.js.map +1 -1
- package/dist/react-native/generated/src/operations/callConnection.d.ts +8 -1
- package/dist/react-native/generated/src/operations/callConnection.d.ts.map +1 -1
- package/dist/react-native/generated/src/operations/callConnection.js +32 -0
- package/dist/react-native/generated/src/operations/callConnection.js.map +1 -1
- package/dist/react-native/generated/src/operations/callMedia.d.ts +8 -1
- package/dist/react-native/generated/src/operations/callMedia.d.ts.map +1 -1
- package/dist/react-native/generated/src/operations/callMedia.js +25 -0
- package/dist/react-native/generated/src/operations/callMedia.js.map +1 -1
- package/dist/react-native/generated/src/operationsInterfaces/callConnection.d.ts +8 -1
- package/dist/react-native/generated/src/operationsInterfaces/callConnection.d.ts.map +1 -1
- package/dist/react-native/generated/src/operationsInterfaces/callConnection.js.map +1 -1
- package/dist/react-native/generated/src/operationsInterfaces/callMedia.d.ts +8 -1
- package/dist/react-native/generated/src/operationsInterfaces/callMedia.d.ts.map +1 -1
- package/dist/react-native/generated/src/operationsInterfaces/callMedia.js.map +1 -1
- package/dist/react-native/models/constants.d.ts.map +1 -1
- package/dist/react-native/models/constants.js +1 -1
- package/dist/react-native/models/constants.js.map +1 -1
- package/dist/react-native/models/events.d.ts +245 -264
- package/dist/react-native/models/events.d.ts.map +1 -1
- package/dist/react-native/models/events.js.map +1 -1
- package/dist/react-native/models/models.d.ts +78 -3
- package/dist/react-native/models/models.d.ts.map +1 -1
- package/dist/react-native/models/models.js.map +1 -1
- package/dist/react-native/models/options.d.ts +65 -1
- package/dist/react-native/models/options.d.ts.map +1 -1
- package/dist/react-native/models/options.js.map +1 -1
- package/dist/react-native/models/responses.d.ts +9 -0
- package/dist/react-native/models/responses.d.ts.map +1 -1
- package/dist/react-native/models/responses.js.map +1 -1
- package/dist/react-native/models/streaming.d.ts +12 -1
- package/dist/react-native/models/streaming.d.ts.map +1 -1
- package/dist/react-native/models/streaming.js.map +1 -1
- package/dist/react-native/streamingData.d.ts.map +1 -1
- package/dist/react-native/streamingData.js +5 -0
- package/dist/react-native/streamingData.js.map +1 -1
- package/dist/react-native/utli/converters.d.ts +26 -2
- package/dist/react-native/utli/converters.d.ts.map +1 -1
- package/dist/react-native/utli/converters.js +113 -0
- package/dist/react-native/utli/converters.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callAutomationClient.js","sourceRoot":"","sources":["../../src/callAutomationClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { KeyCredential, TokenCredential } from \"@azure/core-auth\";\nimport { isTokenCredential } from \"@azure/core-auth\";\nimport type { CommonClientOptions } from \"@azure/core-client\";\nimport type { InternalPipelineOptions } from \"@azure/core-rest-pipeline\";\nimport type {\n CommunicationIdentifier,\n CommunicationUserIdentifier,\n} from \"@azure/communication-common\";\nimport {\n parseClientArguments,\n isKeyCredential,\n createCommunicationAuthPolicy,\n} from \"@azure/communication-common\";\nimport { logger } from \"./models/logger.js\";\nimport {\n AnswerCallRequest,\n CallAutomationApiClient,\n CommunicationUserIdentifierModel,\n CreateCallRequest,\n RedirectCallRequest,\n RejectCallRequest,\n ConnectRequest,\n} from \"./generated/src/index.js\";\nimport { CallConnection } from \"./callConnection.js\";\nimport { CallRecording } from \"./callRecording.js\";\nimport type {\n AnswerCallOptions,\n ConnectCallOptions,\n CreateCallOptions,\n RedirectCallOptions,\n RejectCallOptions,\n} from \"./models/options.js\";\nimport type { AnswerCallResult, ConnectCallResult, CreateCallResult } from \"./models/responses.js\";\nimport {\n type CallConnectionProperties,\n type CallInvite,\n type CallLocator,\n} from \"./models/models.js\";\nimport {\n communicationIdentifierConverter,\n communicationIdentifierModelConverter,\n communicationUserIdentifierConverter,\n communicationUserIdentifierModelConverter,\n phoneNumberIdentifierConverter,\n microsoftTeamsAppIdentifierModelConverter,\n PhoneNumberIdentifierModelConverter,\n} from \"./utli/converters.js\";\nimport { randomUUID } from \"@azure/core-util\";\n/**\n * Client options used to configure CallAutomation Client API requests.\n */\nexport interface CallAutomationClientOptions extends CommonClientOptions {\n /**\n * The identifier of the source of the call for call creating/answering/inviting operation.\n */\n sourceIdentity?: CommunicationUserIdentifier;\n}\n\n/**\n * Checks whether the type of a value is CallAutomationClientOptions or not.\n *\n * @param options - The value being checked.\n */\nconst isCallAutomationClientOptions = (options: any): options is CallAutomationClientOptions =>\n !!options && !isTokenCredential(options) && !isKeyCredential(options);\n\n/**\n * A CallAutomationClient represents a Client to the Azure Communication CallAutomation service.\n */\nexport class CallAutomationClient {\n private readonly callAutomationApiClient: CallAutomationApiClient;\n private readonly sourceIdentity?: CommunicationUserIdentifierModel;\n private readonly credential: TokenCredential | KeyCredential;\n private readonly internalPipelineOptions: InternalPipelineOptions;\n /**\n * Initializes a new instance of the CallAutomationClient class.\n * @param connectionString - Connection string to connect to an Azure Communication Service resource.\n * Example: \"endpoint=https://contoso.eastus.communications.azure.net/;accesskey=secret\";\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n constructor(connectionString: string, options?: CallAutomationClientOptions);\n\n /**\n * Initializes a new instance of the CallAutomationClient class using a TokenCredential or KeyCredential.\n * @param endpoint - The endpoint of the service (ex: https://contoso.eastus.communications.azure.net).\n * @param credential - TokenCredential or KeyCredential that is used to authenticate requests to the service.\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n constructor(\n endpoint: string,\n credential: TokenCredential | KeyCredential,\n options?: CallAutomationClientOptions,\n );\n\n constructor(\n connectionStringOrUrl: string,\n credentialOrOptions?: KeyCredential | TokenCredential | CallAutomationClientOptions,\n maybeOptions: CallAutomationClientOptions = {},\n ) {\n const options = isCallAutomationClientOptions(credentialOrOptions)\n ? credentialOrOptions\n : maybeOptions;\n\n if (!options?.userAgentOptions) {\n options.userAgentOptions = {};\n }\n\n this.internalPipelineOptions = {\n ...options,\n ...{\n loggingOptions: {\n logger: logger.info,\n },\n },\n };\n\n const { url, credential } = parseClientArguments(connectionStringOrUrl, credentialOrOptions);\n const authPolicy = createCommunicationAuthPolicy(credential);\n\n this.credential = credential;\n this.callAutomationApiClient = new CallAutomationApiClient(url, this.internalPipelineOptions);\n this.callAutomationApiClient.pipeline.addPolicy(authPolicy);\n\n this.sourceIdentity = communicationUserIdentifierModelConverter(options.sourceIdentity);\n }\n\n /**\n * Initializes a new instance of CallConnection.\n * @param callConnectionId - The CallConnection id for the CallConnection instance. (ex: 421CONTOSO-cRD6-4RDc-a078-99dRANDOMf).\n */\n public getCallConnection(callConnectionId: string): CallConnection {\n return new CallConnection(\n callConnectionId,\n this.callAutomationApiClient.endpoint,\n this.credential,\n this.internalPipelineOptions,\n );\n }\n\n /**\n * Initializes a new instance of CallRecording.\n */\n public getCallRecording(): CallRecording {\n return new CallRecording(\n this.callAutomationApiClient.endpoint,\n this.credential,\n this.internalPipelineOptions,\n );\n }\n\n /**\n * Get Source Identity that is used for create and answer call\n */\n public getSourceIdentity(): CommunicationUserIdentifier | undefined {\n return communicationUserIdentifierConverter(this.sourceIdentity);\n }\n\n private async createCallInternal(\n request: CreateCallRequest,\n options?: CreateCallOptions,\n ): Promise<CreateCallResult> {\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const {\n callConnectionId,\n answeredBy,\n targets,\n sourceCallerIdNumber,\n source,\n answeredFor,\n ...result\n } = await this.callAutomationApiClient.createCall(request, optionsInternal);\n\n if (callConnectionId) {\n const callConnectionPropertiesDto: CallConnectionProperties = {\n ...result,\n callConnectionId: callConnectionId,\n source: source ? communicationIdentifierConverter(source) : undefined,\n answeredby: communicationUserIdentifierConverter(answeredBy),\n answeredFor: answeredFor ? phoneNumberIdentifierConverter(answeredFor) : undefined,\n targetParticipants: targets?.map((returnedTarget) =>\n communicationIdentifierConverter(returnedTarget),\n ),\n sourceCallerIdNumber: sourceCallerIdNumber\n ? phoneNumberIdentifierConverter(sourceCallerIdNumber)\n : undefined,\n };\n const callConnection = new CallConnection(\n callConnectionId,\n this.callAutomationApiClient.endpoint,\n this.credential,\n this.internalPipelineOptions,\n );\n const createCallResult: CreateCallResult = {\n callConnectionProperties: callConnectionPropertiesDto,\n callConnection: callConnection,\n };\n return createCallResult;\n }\n throw \"callConnectionProperties / callConnectionId is missing in createCall result\";\n }\n\n /**\n * Create an outgoing call from source to a target identity.\n * @param targetParticipant - A single target.\n * @param callbackUrl - The callback url.\n * @param options - Additional request options contains createCallConnection api options.\n */\n public async createCall(\n targetParticipant: CallInvite,\n callbackUrl: string,\n options: CreateCallOptions = {},\n ): Promise<CreateCallResult> {\n const request: CreateCallRequest = {\n source: this.sourceIdentity,\n targets: [communicationIdentifierModelConverter(targetParticipant.targetParticipant)],\n callbackUri: callbackUrl,\n operationContext: options.operationContext,\n callIntelligenceOptions: options.callIntelligenceOptions,\n mediaStreamingOptions: options.mediaStreamingOptions,\n transcriptionOptions: options.transcriptionOptions,\n sourceCallerIdNumber: PhoneNumberIdentifierModelConverter(\n targetParticipant.sourceCallIdNumber,\n ),\n sourceDisplayName: targetParticipant.sourceDisplayName,\n teamsAppSource: microsoftTeamsAppIdentifierModelConverter(options.teamsAppSource),\n };\n\n return this.createCallInternal(request, options);\n }\n\n /**\n * Create an outgoing call from source to a group of targets identities.\n * @param targetParticipants - A group of targets identities.\n * @param callbackUrl - The callback url.\n * @param options - Additional request options contains createCallConnection api options.\n */\n public async createGroupCall(\n targetParticipants: CommunicationIdentifier[],\n callbackUrl: string,\n // eslint-disable-next-line @azure/azure-sdk/ts-naming-options\n options: CreateCallOptions = {},\n ): Promise<CreateCallResult> {\n const request: CreateCallRequest = {\n source: this.sourceIdentity,\n targets: targetParticipants.map((target) => communicationIdentifierModelConverter(target)),\n callbackUri: callbackUrl,\n operationContext: options.operationContext,\n callIntelligenceOptions: options.callIntelligenceOptions,\n mediaStreamingOptions: options.mediaStreamingOptions,\n transcriptionOptions: options.transcriptionOptions,\n sourceCallerIdNumber: PhoneNumberIdentifierModelConverter(options.sourceCallIdNumber),\n sourceDisplayName: options.sourceDisplayName,\n teamsAppSource: microsoftTeamsAppIdentifierModelConverter(options.teamsAppSource),\n };\n\n return this.createCallInternal(request, options);\n }\n\n /**\n * Answer the call.\n * @param incomingCallContext - The context associated with the call.\n * @param callbackUrl - The callback url.\n * @param options - Additional request options contains answerCall api options.\n */\n public async answerCall(\n incomingCallContext: string,\n callbackUrl: string,\n options: AnswerCallOptions = {},\n ): Promise<AnswerCallResult> {\n const {\n callIntelligenceOptions,\n mediaStreamingOptions,\n transcriptionOptions,\n operationContext,\n ...operationOptions\n } = options;\n const request: AnswerCallRequest = {\n incomingCallContext: incomingCallContext,\n mediaStreamingOptions: mediaStreamingOptions,\n transcriptionOptions: transcriptionOptions,\n callIntelligenceOptions: callIntelligenceOptions,\n operationContext: operationContext,\n callbackUri: callbackUrl,\n answeredBy: this.sourceIdentity,\n };\n const optionsInternal = {\n ...operationOptions,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const {\n callConnectionId,\n targets,\n sourceCallerIdNumber,\n answeredBy,\n source,\n answeredFor,\n ...result\n } = await this.callAutomationApiClient.answerCall(request, optionsInternal);\n\n if (callConnectionId) {\n const callConnectionProperties: CallConnectionProperties = {\n ...result,\n callConnectionId: callConnectionId,\n source: source ? communicationIdentifierConverter(source) : undefined,\n answeredby: communicationUserIdentifierConverter(answeredBy),\n answeredFor: answeredFor ? phoneNumberIdentifierConverter(answeredFor) : undefined,\n targetParticipants: targets?.map((target) => communicationIdentifierConverter(target)),\n sourceCallerIdNumber: sourceCallerIdNumber\n ? phoneNumberIdentifierConverter(sourceCallerIdNumber)\n : undefined,\n };\n const callConnection = new CallConnection(\n callConnectionId,\n this.callAutomationApiClient.endpoint,\n this.credential,\n this.internalPipelineOptions,\n );\n const answerCallResult: AnswerCallResult = {\n callConnectionProperties: callConnectionProperties,\n callConnection: callConnection,\n };\n return answerCallResult;\n }\n throw \"callConnectionProperties / callConnectionId is missing in createCall result\";\n }\n\n /**\n * Redirect the call.\n *\n * @param incomingCallContext - The context associated with the call.\n * @param targetParticipant - The target identity to redirect the call to.\n * @param options - Additional request options contains redirectCall api options.\n */\n public async redirectCall(\n incomingCallContext: string,\n targetParticipant: CallInvite,\n options: RedirectCallOptions = {},\n ): Promise<void> {\n const request: RedirectCallRequest = {\n incomingCallContext: incomingCallContext,\n target: communicationIdentifierModelConverter(targetParticipant.targetParticipant),\n };\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n\n return this.callAutomationApiClient.redirectCall(request, optionsInternal);\n }\n\n /**\n * Reject the call.\n *\n * @param incomingCallContext - The context associated with the call.\n * @param options - Additional request options contains rejectCall api options.\n */\n public async rejectCall(\n incomingCallContext: string,\n options: RejectCallOptions = {},\n ): Promise<void> {\n const request: RejectCallRequest = {\n incomingCallContext: incomingCallContext,\n callRejectReason: options.callRejectReason,\n };\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n\n return this.callAutomationApiClient.rejectCall(request, optionsInternal);\n }\n\n /**\n * Create connection to room call.\n * @param callLocator - Call locator to create connection.\n * @param callbackUrl - The callback url\n * @param options - Additional request options contains connect api options.\n */\n public async connectCall(\n callLocator: CallLocator,\n callbackUrl: string,\n options: ConnectCallOptions = {},\n ): Promise<ConnectCallResult> {\n const connectRequest: ConnectRequest = {\n callLocator: callLocator,\n callbackUri: callbackUrl,\n operationContext: options.operationContext,\n callIntelligenceOptions: options.callIntelligenceOptions,\n mediaStreamingOptions: options.mediaStreamingOptions,\n transcriptionOptions: options.transcriptionOptions,\n };\n\n if (callLocator.kind === \"groupCallLocator\") {\n connectRequest.callLocator.kind = \"groupCallLocator\";\n connectRequest.callLocator.groupCallId = callLocator.id;\n } else if (callLocator.kind === \"roomCallLocator\") {\n connectRequest.callLocator.kind = \"roomCallLocator\";\n connectRequest.callLocator.roomId = callLocator.id;\n } else {\n connectRequest.callLocator.kind = \"serverCallLocator\";\n connectRequest.callLocator.serverCallId = callLocator.id;\n }\n\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n\n const {\n callConnectionId,\n targets,\n sourceCallerIdNumber,\n answeredBy,\n source,\n answeredFor,\n ...result\n } = await this.callAutomationApiClient.connect(connectRequest, optionsInternal);\n\n if (callConnectionId) {\n const callConnectionProperties: CallConnectionProperties = {\n ...result,\n callConnectionId: callConnectionId,\n source: source ? communicationIdentifierConverter(source) : undefined,\n answeredby: answeredBy ? communicationUserIdentifierConverter(answeredBy) : undefined,\n targetParticipants: targets?.map((target) => communicationIdentifierConverter(target)),\n answeredFor: answeredFor ? phoneNumberIdentifierConverter(answeredFor) : undefined,\n sourceCallerIdNumber: sourceCallerIdNumber\n ? phoneNumberIdentifierConverter(sourceCallerIdNumber)\n : undefined,\n };\n const callConnection = new CallConnection(\n callConnectionId,\n this.callAutomationApiClient.endpoint,\n this.credential,\n this.internalPipelineOptions,\n );\n const connectResult: ConnectCallResult = {\n callConnectionProperties: callConnectionProperties,\n callConnection: callConnection,\n };\n return connectResult;\n }\n throw \"callConnectionProperties / callConnectionId is missing in connect result\";\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"callAutomationClient.js","sourceRoot":"","sources":["../../src/callAutomationClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { KeyCredential, TokenCredential } from \"@azure/core-auth\";\nimport { isTokenCredential } from \"@azure/core-auth\";\nimport type { CommonClientOptions } from \"@azure/core-client\";\nimport type { InternalPipelineOptions } from \"@azure/core-rest-pipeline\";\nimport type {\n CommunicationIdentifier,\n CommunicationUserIdentifier,\n} from \"@azure/communication-common\";\nimport {\n parseClientArguments,\n isKeyCredential,\n createCommunicationAuthPolicy,\n} from \"@azure/communication-common\";\nimport { logger } from \"./models/logger.js\";\nimport {\n AnswerCallRequest,\n CallAutomationApiClient,\n CommunicationUserIdentifierModel,\n CreateCallRequest,\n RedirectCallRequest,\n RejectCallRequest,\n ConnectRequest,\n} from \"./generated/src/index.js\";\nimport { CallConnection } from \"./callConnection.js\";\nimport { CallRecording } from \"./callRecording.js\";\nimport type {\n AnswerCallOptions,\n ConnectCallOptions,\n CreateCallOptions,\n RedirectCallOptions,\n RejectCallOptions,\n} from \"./models/options.js\";\nimport type { AnswerCallResult, ConnectCallResult, CreateCallResult } from \"./models/responses.js\";\nimport {\n type CallConnectionProperties,\n type CallInvite,\n type CallLocator,\n} from \"./models/models.js\";\nimport {\n communicationIdentifierConverter,\n communicationIdentifierModelConverter,\n communicationUserIdentifierConverter,\n communicationUserIdentifierModelConverter,\n phoneNumberIdentifierConverter,\n microsoftTeamsAppIdentifierModelConverter,\n PhoneNumberIdentifierModelConverter,\n} from \"./utli/converters.js\";\nimport { randomUUID } from \"@azure/core-util\";\n/**\n * Client options used to configure CallAutomation Client API requests.\n */\nexport interface CallAutomationClientOptions extends CommonClientOptions {\n /**\n * The identifier of the source of the call for call creating/answering/inviting operation.\n */\n sourceIdentity?: CommunicationUserIdentifier;\n}\n\n/**\n * Checks whether the type of a value is CallAutomationClientOptions or not.\n *\n * @param options - The value being checked.\n */\nconst isCallAutomationClientOptions = (options: any): options is CallAutomationClientOptions =>\n !!options && !isTokenCredential(options) && !isKeyCredential(options);\n\n/**\n * A CallAutomationClient represents a Client to the Azure Communication CallAutomation service.\n */\nexport class CallAutomationClient {\n private readonly callAutomationApiClient: CallAutomationApiClient;\n private readonly sourceIdentity?: CommunicationUserIdentifierModel;\n private readonly credential: TokenCredential | KeyCredential;\n private readonly internalPipelineOptions: InternalPipelineOptions;\n\n /**\n * Initializes a new instance of the CallAutomationClient class.\n * @param connectionString - Connection string to connect to an Azure Communication Service resource.\n * Example: \"endpoint=https://contoso.eastus.communications.azure.net/;accesskey=secret\";\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n constructor(connectionString: string, options?: CallAutomationClientOptions);\n\n /**\n * Initializes a new instance of the CallAutomationClient class using a TokenCredential or KeyCredential.\n * @param endpoint - The endpoint of the service (ex: https://contoso.eastus.communications.azure.net).\n * @param credential - TokenCredential or KeyCredential that is used to authenticate requests to the service.\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n constructor(\n endpoint: string,\n credential: TokenCredential | KeyCredential,\n options?: CallAutomationClientOptions,\n );\n\n constructor(\n connectionStringOrUrl: string,\n credentialOrOptions?: KeyCredential | TokenCredential | CallAutomationClientOptions,\n maybeOptions: CallAutomationClientOptions = {},\n ) {\n const options = isCallAutomationClientOptions(credentialOrOptions)\n ? credentialOrOptions\n : maybeOptions;\n\n if (!options?.userAgentOptions) {\n options.userAgentOptions = {};\n }\n\n this.internalPipelineOptions = {\n ...options,\n ...{\n loggingOptions: {\n logger: logger.info,\n },\n },\n };\n\n const { url, credential } = parseClientArguments(connectionStringOrUrl, credentialOrOptions);\n const authPolicy = createCommunicationAuthPolicy(credential);\n\n this.credential = credential;\n this.callAutomationApiClient = new CallAutomationApiClient(url, this.internalPipelineOptions);\n this.callAutomationApiClient.pipeline.addPolicy(authPolicy);\n\n this.sourceIdentity = communicationUserIdentifierModelConverter(options.sourceIdentity);\n }\n\n /**\n * Initializes a new instance of CallConnection.\n * @param callConnectionId - The CallConnection id for the CallConnection instance. (ex: 421CONTOSO-cRD6-4RDc-a078-99dRANDOMf).\n */\n public getCallConnection(callConnectionId: string): CallConnection {\n return new CallConnection(\n callConnectionId,\n this.callAutomationApiClient.endpoint,\n this.credential,\n this.internalPipelineOptions,\n );\n }\n\n /**\n * Initializes a new instance of CallRecording.\n */\n public getCallRecording(): CallRecording {\n return new CallRecording(\n this.callAutomationApiClient.endpoint,\n this.credential,\n this.internalPipelineOptions,\n );\n }\n\n /**\n * Get Source Identity that is used for create and answer call\n */\n public getSourceIdentity(): CommunicationUserIdentifier | undefined {\n return communicationUserIdentifierConverter(this.sourceIdentity);\n }\n\n private async createCallInternal(\n request: CreateCallRequest,\n options?: CreateCallOptions,\n ): Promise<CreateCallResult> {\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const {\n callConnectionId,\n answeredBy,\n targets,\n sourceCallerIdNumber,\n source,\n answeredFor,\n ...result\n } = await this.callAutomationApiClient.createCall(request, optionsInternal);\n\n if (callConnectionId) {\n const callConnectionPropertiesDto: CallConnectionProperties = {\n ...result,\n callConnectionId: callConnectionId,\n source: source ? communicationIdentifierConverter(source) : undefined,\n answeredby: communicationUserIdentifierConverter(answeredBy),\n answeredFor: answeredFor ? phoneNumberIdentifierConverter(answeredFor) : undefined,\n targetParticipants: targets?.map((returnedTarget) =>\n communicationIdentifierConverter(returnedTarget),\n ),\n sourceCallerIdNumber: sourceCallerIdNumber\n ? phoneNumberIdentifierConverter(sourceCallerIdNumber)\n : undefined,\n };\n const callConnection = new CallConnection(\n callConnectionId,\n this.callAutomationApiClient.endpoint,\n this.credential,\n this.internalPipelineOptions,\n );\n const createCallResult: CreateCallResult = {\n callConnectionProperties: callConnectionPropertiesDto,\n callConnection: callConnection,\n };\n return createCallResult;\n }\n throw \"callConnectionProperties / callConnectionId is missing in createCall result\";\n }\n\n /**\n * Create an outgoing call from source to a target identity.\n * @param targetParticipant - A single target.\n * @param callbackUrl - The callback url.\n * @param options - Additional request options contains createCallConnection api options.\n */\n public async createCall(\n targetParticipant: CallInvite,\n callbackUrl: string,\n options: CreateCallOptions = {},\n ): Promise<CreateCallResult> {\n const request: CreateCallRequest = {\n source: this.sourceIdentity,\n targets: [communicationIdentifierModelConverter(targetParticipant.targetParticipant)],\n callbackUri: callbackUrl,\n operationContext: options.operationContext,\n callIntelligenceOptions: options.callIntelligenceOptions,\n mediaStreamingOptions: options.mediaStreamingOptions,\n transcriptionOptions: options.transcriptionOptions,\n sourceCallerIdNumber: PhoneNumberIdentifierModelConverter(\n targetParticipant.sourceCallIdNumber,\n ),\n sourceDisplayName: targetParticipant.sourceDisplayName,\n teamsAppSource: microsoftTeamsAppIdentifierModelConverter(options.teamsAppSource),\n enableLoopbackAudio: options.enableLoopbackAudio,\n };\n\n return this.createCallInternal(request, options);\n }\n\n /**\n * Create an outgoing call from source to a group of targets identities.\n * @param targetParticipants - A group of targets identities.\n * @param callbackUrl - The callback url.\n * @param options - Additional request options contains createCallConnection api options.\n */\n public async createGroupCall(\n targetParticipants: CommunicationIdentifier[],\n callbackUrl: string,\n // eslint-disable-next-line @azure/azure-sdk/ts-naming-options\n options: CreateCallOptions = {},\n ): Promise<CreateCallResult> {\n const request: CreateCallRequest = {\n source: this.sourceIdentity,\n targets: targetParticipants.map((target) => communicationIdentifierModelConverter(target)),\n callbackUri: callbackUrl,\n operationContext: options.operationContext,\n callIntelligenceOptions: options.callIntelligenceOptions,\n mediaStreamingOptions: options.mediaStreamingOptions,\n transcriptionOptions: options.transcriptionOptions,\n sourceCallerIdNumber: PhoneNumberIdentifierModelConverter(options.sourceCallIdNumber),\n sourceDisplayName: options.sourceDisplayName,\n teamsAppSource: microsoftTeamsAppIdentifierModelConverter(options.teamsAppSource),\n enableLoopbackAudio: options.enableLoopbackAudio,\n };\n\n return this.createCallInternal(request, options);\n }\n\n /**\n * Answer the call.\n * @param incomingCallContext - The context associated with the call.\n * @param callbackUrl - The callback url.\n * @param options - Additional request options contains answerCall api options.\n */\n public async answerCall(\n incomingCallContext: string,\n callbackUrl: string,\n options: AnswerCallOptions = {},\n ): Promise<AnswerCallResult> {\n const {\n callIntelligenceOptions,\n mediaStreamingOptions,\n transcriptionOptions,\n operationContext,\n ...operationOptions\n } = options;\n const request: AnswerCallRequest = {\n incomingCallContext: incomingCallContext,\n mediaStreamingOptions: mediaStreamingOptions,\n transcriptionOptions: transcriptionOptions,\n callIntelligenceOptions: callIntelligenceOptions,\n operationContext: operationContext,\n callbackUri: callbackUrl,\n answeredBy: this.sourceIdentity,\n enableLoopbackAudio: options.enableLoopbackAudio,\n };\n const optionsInternal = {\n ...operationOptions,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const {\n callConnectionId,\n targets,\n sourceCallerIdNumber,\n answeredBy,\n source,\n answeredFor,\n ...result\n } = await this.callAutomationApiClient.answerCall(request, optionsInternal);\n\n if (callConnectionId) {\n const callConnectionProperties: CallConnectionProperties = {\n ...result,\n callConnectionId: callConnectionId,\n source: source ? communicationIdentifierConverter(source) : undefined,\n answeredby: communicationUserIdentifierConverter(answeredBy),\n answeredFor: answeredFor ? phoneNumberIdentifierConverter(answeredFor) : undefined,\n targetParticipants: targets?.map((target) => communicationIdentifierConverter(target)),\n sourceCallerIdNumber: sourceCallerIdNumber\n ? phoneNumberIdentifierConverter(sourceCallerIdNumber)\n : undefined,\n };\n const callConnection = new CallConnection(\n callConnectionId,\n this.callAutomationApiClient.endpoint,\n this.credential,\n this.internalPipelineOptions,\n );\n const answerCallResult: AnswerCallResult = {\n callConnectionProperties: callConnectionProperties,\n callConnection: callConnection,\n };\n return answerCallResult;\n }\n throw \"callConnectionProperties / callConnectionId is missing in createCall result\";\n }\n\n /**\n * Redirect the call.\n *\n * @param incomingCallContext - The context associated with the call.\n * @param targetParticipant - The target identity to redirect the call to.\n * @param options - Additional request options contains redirectCall api options.\n */\n public async redirectCall(\n incomingCallContext: string,\n targetParticipant: CallInvite,\n options: RedirectCallOptions = {},\n ): Promise<void> {\n const request: RedirectCallRequest = {\n incomingCallContext: incomingCallContext,\n target: communicationIdentifierModelConverter(targetParticipant.targetParticipant),\n };\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n\n return this.callAutomationApiClient.redirectCall(request, optionsInternal);\n }\n\n /**\n * Reject the call.\n *\n * @param incomingCallContext - The context associated with the call.\n * @param options - Additional request options contains rejectCall api options.\n */\n public async rejectCall(\n incomingCallContext: string,\n options: RejectCallOptions = {},\n ): Promise<void> {\n const request: RejectCallRequest = {\n incomingCallContext: incomingCallContext,\n callRejectReason: options.callRejectReason,\n };\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n\n return this.callAutomationApiClient.rejectCall(request, optionsInternal);\n }\n\n /**\n * Create connection to room call.\n * @param callLocator - Call locator to create connection.\n * @param callbackUrl - The callback url\n * @param options - Additional request options contains connect api options.\n */\n public async connectCall(\n callLocator: CallLocator,\n callbackUrl: string,\n options: ConnectCallOptions = {},\n ): Promise<ConnectCallResult> {\n const connectRequest: ConnectRequest = {\n callLocator: callLocator,\n callbackUri: callbackUrl,\n operationContext: options.operationContext,\n callIntelligenceOptions: options.callIntelligenceOptions,\n mediaStreamingOptions: options.mediaStreamingOptions,\n transcriptionOptions: options.transcriptionOptions,\n };\n\n if (callLocator.kind === \"groupCallLocator\") {\n connectRequest.callLocator.kind = \"groupCallLocator\";\n connectRequest.callLocator.groupCallId = callLocator.id;\n } else if (callLocator.kind === \"roomCallLocator\") {\n connectRequest.callLocator.kind = \"roomCallLocator\";\n connectRequest.callLocator.roomId = callLocator.id;\n } else {\n connectRequest.callLocator.kind = \"serverCallLocator\";\n connectRequest.callLocator.serverCallId = callLocator.id;\n }\n\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n\n const {\n callConnectionId,\n targets,\n sourceCallerIdNumber,\n answeredBy,\n source,\n answeredFor,\n ...result\n } = await this.callAutomationApiClient.connect(connectRequest, optionsInternal);\n\n if (callConnectionId) {\n const callConnectionProperties: CallConnectionProperties = {\n ...result,\n callConnectionId: callConnectionId,\n source: source ? communicationIdentifierConverter(source) : undefined,\n answeredby: answeredBy ? communicationUserIdentifierConverter(answeredBy) : undefined,\n targetParticipants: targets?.map((target) => communicationIdentifierConverter(target)),\n answeredFor: answeredFor ? phoneNumberIdentifierConverter(answeredFor) : undefined,\n sourceCallerIdNumber: sourceCallerIdNumber\n ? phoneNumberIdentifierConverter(sourceCallerIdNumber)\n : undefined,\n };\n const callConnection = new CallConnection(\n callConnectionId,\n this.callAutomationApiClient.endpoint,\n this.credential,\n this.internalPipelineOptions,\n );\n const connectResult: ConnectCallResult = {\n callConnectionProperties: callConnectionProperties,\n callConnection: callConnection,\n };\n return connectResult;\n }\n throw \"callConnectionProperties / callConnectionId is missing in connect result\";\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callAutomationEventParser.d.ts","sourceRoot":"","sources":["../../src/callAutomationEventParser.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,mBAAmB,
|
|
1
|
+
{"version":3,"file":"callAutomationEventParser.d.ts","sourceRoot":"","sources":["../../src/callAutomationEventParser.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,mBAAmB,EAwCpB,MAAM,oBAAoB,CAAC;AAO5B;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9C,mBAAmB,CAuJrB"}
|
|
@@ -112,6 +112,11 @@ function parseCallAutomationEvent(encodedEvents) {
|
|
|
112
112
|
case "Microsoft.Communication.TranscriptionFailed":
|
|
113
113
|
callbackEvent = { kind: "TranscriptionFailed" };
|
|
114
114
|
break;
|
|
115
|
+
case "Microsoft.Communication.TranscriptionCallSummaryUpdated":
|
|
116
|
+
callbackEvent = {
|
|
117
|
+
kind: "TranscriptionCallSummaryUpdated",
|
|
118
|
+
};
|
|
119
|
+
break;
|
|
115
120
|
case "Microsoft.Communication.CreateCallFailed":
|
|
116
121
|
callbackEvent = { kind: "CreateCallFailed" };
|
|
117
122
|
break;
|
|
@@ -139,6 +144,16 @@ function parseCallAutomationEvent(encodedEvents) {
|
|
|
139
144
|
case "Microsoft.Communication.StartRecordingFailed":
|
|
140
145
|
callbackEvent = { kind: "StartRecordingFailed" };
|
|
141
146
|
break;
|
|
147
|
+
case "Microsoft.Communication.MoveParticipantSucceeded":
|
|
148
|
+
callbackEvent = { kind: "MoveParticipantSucceeded" };
|
|
149
|
+
parsed.participant = (0, converters_js_1.communicationIdentifierConverter)(data.participant);
|
|
150
|
+
parsed.fromCall = data.fromCall;
|
|
151
|
+
break;
|
|
152
|
+
case "Microsoft.Communication.MoveParticipantFailed":
|
|
153
|
+
callbackEvent = { kind: "MoveParticipantFailed" };
|
|
154
|
+
parsed.participant = (0, converters_js_1.communicationIdentifierConverter)(data.participant);
|
|
155
|
+
parsed.fromCall = data.fromCall;
|
|
156
|
+
break;
|
|
142
157
|
default:
|
|
143
158
|
throw new TypeError(`Unknown Call Automation Event type: ${eventType}`);
|
|
144
159
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callAutomationEventParser.js","sourceRoot":"","sources":["../../src/callAutomationEventParser.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { createSerializer } from \"@azure/core-client\";\nimport { communicationIdentifierConverter, callParticipantConverter } from \"./utli/converters.js\";\nimport type {\n CallAutomationEvent,\n AddParticipantSucceeded,\n AddParticipantFailed,\n CallConnected,\n CallDisconnected,\n CallTransferAccepted,\n CallTransferFailed,\n ParticipantsUpdated,\n RecordingStateChanged,\n PlayCompleted,\n PlayFailed,\n PlayCanceled,\n RecognizeCompleted,\n RecognizeCanceled,\n RecognizeFailed,\n RemoveParticipantSucceeded,\n RemoveParticipantFailed,\n ContinuousDtmfRecognitionToneReceived,\n ContinuousDtmfRecognitionToneFailed,\n ContinuousDtmfRecognitionStopped,\n SendDtmfTonesCompleted,\n SendDtmfTonesFailed,\n CancelAddParticipantSucceeded,\n CancelAddParticipantFailed,\n TranscriptionStarted,\n TranscriptionStopped,\n TranscriptionUpdated,\n TranscriptionFailed,\n CreateCallFailed,\n AnswerFailed,\n HoldFailed,\n ConnectFailed,\n MediaStreamingStarted,\n MediaStreamingStopped,\n MediaStreamingFailed,\n PlayStarted,\n StartRecordingFailed,\n} from \"./models/events.js\";\n\nimport { CloudEventMapper } from \"./models/mapper.js\";\nimport type { CallParticipantInternal } from \"./generated/src/index.js\";\n\nconst serializer = createSerializer();\n\n/**\n * Helper function for parsing Acs callback events.\n */\nexport function parseCallAutomationEvent(\n encodedEvents: string | Record<string, unknown>,\n): CallAutomationEvent {\n const decodedInput = parseAndWrap(encodedEvents);\n\n // parse cloudevent\n const deserialized = serializer.deserialize(CloudEventMapper, decodedInput, \"\");\n const data = deserialized.data;\n const eventType = deserialized.type;\n\n // get proper callbackevent and its parser\n let callbackEvent: CallAutomationEvent;\n let parsed: any = data;\n switch (eventType) {\n case \"Microsoft.Communication.AddParticipantSucceeded\":\n callbackEvent = { kind: \"AddParticipantSucceeded\" } as AddParticipantSucceeded;\n parsed.participant = communicationIdentifierConverter(data.participant);\n break;\n case \"Microsoft.Communication.AddParticipantFailed\":\n callbackEvent = { kind: \"AddParticipantFailed\" } as AddParticipantFailed;\n parsed.participant = communicationIdentifierConverter(data.participant);\n break;\n case \"Microsoft.Communication.RemoveParticipantSucceeded\":\n callbackEvent = { kind: \"RemoveParticipantSucceeded\" } as RemoveParticipantSucceeded;\n parsed.participant = communicationIdentifierConverter(data.participant);\n break;\n case \"Microsoft.Communication.RemoveParticipantFailed\":\n callbackEvent = { kind: \"RemoveParticipantFailed\" } as RemoveParticipantFailed;\n parsed.participant = communicationIdentifierConverter(data.participant);\n break;\n case \"Microsoft.Communication.CallConnected\":\n callbackEvent = { kind: \"CallConnected\" } as CallConnected;\n break;\n case \"Microsoft.Communication.CallDisconnected\":\n callbackEvent = { kind: \"CallDisconnected\" } as CallDisconnected;\n break;\n case \"Microsoft.Communication.CallTransferAccepted\":\n callbackEvent = { kind: \"CallTransferAccepted\" } as CallTransferAccepted;\n break;\n case \"Microsoft.Communication.CallTransferFailed\":\n callbackEvent = { kind: \"CallTransferFailed\" } as CallTransferFailed;\n break;\n case \"Microsoft.Communication.ParticipantsUpdated\":\n callbackEvent = { kind: \"ParticipantsUpdated\" } as ParticipantsUpdated;\n parsed = participantsParserForEvent(data);\n break;\n case \"Microsoft.Communication.RecordingStateChanged\":\n callbackEvent = { kind: \"RecordingStateChanged\" } as RecordingStateChanged;\n break;\n case \"Microsoft.Communication.PlayCompleted\":\n callbackEvent = { kind: \"PlayCompleted\" } as PlayCompleted;\n break;\n case \"Microsoft.Communication.PlayFailed\":\n callbackEvent = { kind: \"PlayFailed\" } as PlayFailed;\n break;\n case \"Microsoft.Communication.PlayCanceled\":\n callbackEvent = { kind: \"PlayCanceled\" } as PlayCanceled;\n break;\n case \"Microsoft.Communication.RecognizeCompleted\":\n callbackEvent = { kind: \"RecognizeCompleted\" } as RecognizeCompleted;\n break;\n case \"Microsoft.Communication.RecognizeCanceled\":\n callbackEvent = { kind: \"RecognizeCanceled\" } as RecognizeCanceled;\n break;\n case \"Microsoft.Communication.RecognizeFailed\":\n callbackEvent = { kind: \"RecognizeFailed\" } as RecognizeFailed;\n break;\n case \"Microsoft.Communication.ContinuousDtmfRecognitionToneReceived\":\n callbackEvent = {\n kind: \"ContinuousDtmfRecognitionToneReceived\",\n } as ContinuousDtmfRecognitionToneReceived;\n break;\n case \"Microsoft.Communication.ContinuousDtmfRecognitionToneFailed\":\n callbackEvent = {\n kind: \"ContinuousDtmfRecognitionToneFailed\",\n } as ContinuousDtmfRecognitionToneFailed;\n break;\n case \"Microsoft.Communication.ContinuousDtmfRecognitionStopped\":\n callbackEvent = {\n kind: \"ContinuousDtmfRecognitionStopped\",\n } as ContinuousDtmfRecognitionStopped;\n break;\n case \"Microsoft.Communication.SendDtmfTonesCompleted\":\n callbackEvent = { kind: \"SendDtmfTonesCompleted\" } as SendDtmfTonesCompleted;\n break;\n case \"Microsoft.Communication.SendDtmfTonesFailed\":\n callbackEvent = { kind: \"SendDtmfTonesFailed\" } as SendDtmfTonesFailed;\n break;\n case \"Microsoft.Communication.CancelAddParticipantSucceeded\":\n callbackEvent = { kind: \"CancelAddParticipantSucceeded\" } as CancelAddParticipantSucceeded;\n break;\n case \"Microsoft.Communication.CancelAddParticipantFailed\":\n callbackEvent = { kind: \"CancelAddParticipantFailed\" } as CancelAddParticipantFailed;\n break;\n case \"Microsoft.Communication.TranscriptionStarted\":\n callbackEvent = { kind: \"TranscriptionStarted\" } as TranscriptionStarted;\n break;\n case \"Microsoft.Communication.TranscriptionStopped\":\n callbackEvent = { kind: \"TranscriptionStopped\" } as TranscriptionStopped;\n break;\n case \"Microsoft.Communication.TranscriptionUpdated\":\n callbackEvent = { kind: \"TranscriptionUpdated\" } as TranscriptionUpdated;\n break;\n case \"Microsoft.Communication.TranscriptionFailed\":\n callbackEvent = { kind: \"TranscriptionFailed\" } as TranscriptionFailed;\n break;\n case \"Microsoft.Communication.CreateCallFailed\":\n callbackEvent = { kind: \"CreateCallFailed\" } as CreateCallFailed;\n break;\n case \"Microsoft.Communication.AnswerFailed\":\n callbackEvent = { kind: \"AnswerFailed\" } as AnswerFailed;\n break;\n case \"Microsoft.Communication.HoldFailed\":\n callbackEvent = { kind: \"HoldFailed\" } as HoldFailed;\n break;\n case \"Microsoft.Communication.ConnectFailed\":\n callbackEvent = { kind: \"ConnectFailed\" } as ConnectFailed;\n break;\n case \"Microsoft.Communication.MediaStreamingStarted\":\n callbackEvent = { kind: \"MediaStreamingStarted\" } as MediaStreamingStarted;\n break;\n case \"Microsoft.Communication.MediaStreamingStopped\":\n callbackEvent = { kind: \"MediaStreamingStopped\" } as MediaStreamingStopped;\n break;\n case \"Microsoft.Communication.MediaStreamingFailed\":\n callbackEvent = { kind: \"MediaStreamingFailed\" } as MediaStreamingFailed;\n break;\n case \"Microsoft.Communication.PlayStarted\":\n callbackEvent = { kind: \"PlayStarted\" } as PlayStarted;\n break;\n case \"Microsoft.Communication.StartRecordingFailed\":\n callbackEvent = { kind: \"StartRecordingFailed\" } as StartRecordingFailed;\n break;\n default:\n throw new TypeError(`Unknown Call Automation Event type: ${eventType}`);\n }\n\n return { ...parsed, ...callbackEvent } as CallAutomationEvent;\n}\n\nfunction parseAndWrap(jsonStringOrObject: string | Record<string, unknown>): any {\n if (typeof jsonStringOrObject === \"string\") {\n const o = JSON.parse(jsonStringOrObject);\n if (Array.isArray(o)) {\n if (o.length === 0) {\n throw Error(\"Empty event array.\");\n }\n return o[0];\n } else {\n return o;\n }\n }\n\n if (Array.isArray(jsonStringOrObject)) {\n if (jsonStringOrObject.length === 0) {\n throw Error(\"Empty event array.\");\n }\n return jsonStringOrObject[0];\n } else {\n return jsonStringOrObject;\n }\n}\n\nfunction participantsParserForEvent(data: any): any {\n const { participants, ...rest } = data;\n return {\n ...rest,\n participants: participants?.map((participant: CallParticipantInternal) =>\n callParticipantConverter(participant),\n ),\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"callAutomationEventParser.js","sourceRoot":"","sources":["../../src/callAutomationEventParser.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { createSerializer } from \"@azure/core-client\";\nimport { communicationIdentifierConverter, callParticipantConverter } from \"./utli/converters.js\";\nimport type {\n CallAutomationEvent,\n AddParticipantSucceeded,\n AddParticipantFailed,\n CallConnected,\n CallDisconnected,\n CallTransferAccepted,\n CallTransferFailed,\n ParticipantsUpdated,\n RecordingStateChanged,\n PlayCompleted,\n PlayFailed,\n PlayCanceled,\n RecognizeCompleted,\n RecognizeCanceled,\n RecognizeFailed,\n RemoveParticipantSucceeded,\n RemoveParticipantFailed,\n ContinuousDtmfRecognitionToneReceived,\n ContinuousDtmfRecognitionToneFailed,\n ContinuousDtmfRecognitionStopped,\n SendDtmfTonesCompleted,\n SendDtmfTonesFailed,\n CancelAddParticipantSucceeded,\n CancelAddParticipantFailed,\n TranscriptionStarted,\n TranscriptionStopped,\n TranscriptionUpdated,\n TranscriptionFailed,\n CreateCallFailed,\n AnswerFailed,\n HoldFailed,\n ConnectFailed,\n MediaStreamingStarted,\n MediaStreamingStopped,\n MediaStreamingFailed,\n PlayStarted,\n StartRecordingFailed,\n MoveParticipantSucceeded,\n MoveParticipantFailed,\n TranscriptionCallSummaryUpdated,\n} from \"./models/events.js\";\n\nimport { CloudEventMapper } from \"./models/mapper.js\";\nimport type { CallParticipantInternal } from \"./generated/src/index.js\";\n\nconst serializer = createSerializer();\n\n/**\n * Helper function for parsing Acs callback events.\n */\nexport function parseCallAutomationEvent(\n encodedEvents: string | Record<string, unknown>,\n): CallAutomationEvent {\n const decodedInput = parseAndWrap(encodedEvents);\n\n // parse cloudevent\n const deserialized = serializer.deserialize(CloudEventMapper, decodedInput, \"\");\n const data = deserialized.data;\n const eventType = deserialized.type;\n\n // get proper callbackevent and its parser\n let callbackEvent: CallAutomationEvent;\n let parsed: any = data;\n switch (eventType) {\n case \"Microsoft.Communication.AddParticipantSucceeded\":\n callbackEvent = { kind: \"AddParticipantSucceeded\" } as AddParticipantSucceeded;\n parsed.participant = communicationIdentifierConverter(data.participant);\n break;\n case \"Microsoft.Communication.AddParticipantFailed\":\n callbackEvent = { kind: \"AddParticipantFailed\" } as AddParticipantFailed;\n parsed.participant = communicationIdentifierConverter(data.participant);\n break;\n case \"Microsoft.Communication.RemoveParticipantSucceeded\":\n callbackEvent = { kind: \"RemoveParticipantSucceeded\" } as RemoveParticipantSucceeded;\n parsed.participant = communicationIdentifierConverter(data.participant);\n break;\n case \"Microsoft.Communication.RemoveParticipantFailed\":\n callbackEvent = { kind: \"RemoveParticipantFailed\" } as RemoveParticipantFailed;\n parsed.participant = communicationIdentifierConverter(data.participant);\n break;\n case \"Microsoft.Communication.CallConnected\":\n callbackEvent = { kind: \"CallConnected\" } as CallConnected;\n break;\n case \"Microsoft.Communication.CallDisconnected\":\n callbackEvent = { kind: \"CallDisconnected\" } as CallDisconnected;\n break;\n case \"Microsoft.Communication.CallTransferAccepted\":\n callbackEvent = { kind: \"CallTransferAccepted\" } as CallTransferAccepted;\n break;\n case \"Microsoft.Communication.CallTransferFailed\":\n callbackEvent = { kind: \"CallTransferFailed\" } as CallTransferFailed;\n break;\n case \"Microsoft.Communication.ParticipantsUpdated\":\n callbackEvent = { kind: \"ParticipantsUpdated\" } as ParticipantsUpdated;\n parsed = participantsParserForEvent(data);\n break;\n case \"Microsoft.Communication.RecordingStateChanged\":\n callbackEvent = { kind: \"RecordingStateChanged\" } as RecordingStateChanged;\n break;\n case \"Microsoft.Communication.PlayCompleted\":\n callbackEvent = { kind: \"PlayCompleted\" } as PlayCompleted;\n break;\n case \"Microsoft.Communication.PlayFailed\":\n callbackEvent = { kind: \"PlayFailed\" } as PlayFailed;\n break;\n case \"Microsoft.Communication.PlayCanceled\":\n callbackEvent = { kind: \"PlayCanceled\" } as PlayCanceled;\n break;\n case \"Microsoft.Communication.RecognizeCompleted\":\n callbackEvent = { kind: \"RecognizeCompleted\" } as RecognizeCompleted;\n break;\n case \"Microsoft.Communication.RecognizeCanceled\":\n callbackEvent = { kind: \"RecognizeCanceled\" } as RecognizeCanceled;\n break;\n case \"Microsoft.Communication.RecognizeFailed\":\n callbackEvent = { kind: \"RecognizeFailed\" } as RecognizeFailed;\n break;\n case \"Microsoft.Communication.ContinuousDtmfRecognitionToneReceived\":\n callbackEvent = {\n kind: \"ContinuousDtmfRecognitionToneReceived\",\n } as ContinuousDtmfRecognitionToneReceived;\n break;\n case \"Microsoft.Communication.ContinuousDtmfRecognitionToneFailed\":\n callbackEvent = {\n kind: \"ContinuousDtmfRecognitionToneFailed\",\n } as ContinuousDtmfRecognitionToneFailed;\n break;\n case \"Microsoft.Communication.ContinuousDtmfRecognitionStopped\":\n callbackEvent = {\n kind: \"ContinuousDtmfRecognitionStopped\",\n } as ContinuousDtmfRecognitionStopped;\n break;\n case \"Microsoft.Communication.SendDtmfTonesCompleted\":\n callbackEvent = { kind: \"SendDtmfTonesCompleted\" } as SendDtmfTonesCompleted;\n break;\n case \"Microsoft.Communication.SendDtmfTonesFailed\":\n callbackEvent = { kind: \"SendDtmfTonesFailed\" } as SendDtmfTonesFailed;\n break;\n case \"Microsoft.Communication.CancelAddParticipantSucceeded\":\n callbackEvent = { kind: \"CancelAddParticipantSucceeded\" } as CancelAddParticipantSucceeded;\n break;\n case \"Microsoft.Communication.CancelAddParticipantFailed\":\n callbackEvent = { kind: \"CancelAddParticipantFailed\" } as CancelAddParticipantFailed;\n break;\n case \"Microsoft.Communication.TranscriptionStarted\":\n callbackEvent = { kind: \"TranscriptionStarted\" } as TranscriptionStarted;\n break;\n case \"Microsoft.Communication.TranscriptionStopped\":\n callbackEvent = { kind: \"TranscriptionStopped\" } as TranscriptionStopped;\n break;\n case \"Microsoft.Communication.TranscriptionUpdated\":\n callbackEvent = { kind: \"TranscriptionUpdated\" } as TranscriptionUpdated;\n break;\n case \"Microsoft.Communication.TranscriptionFailed\":\n callbackEvent = { kind: \"TranscriptionFailed\" } as TranscriptionFailed;\n break;\n case \"Microsoft.Communication.TranscriptionCallSummaryUpdated\":\n callbackEvent = {\n kind: \"TranscriptionCallSummaryUpdated\",\n } as TranscriptionCallSummaryUpdated;\n break;\n case \"Microsoft.Communication.CreateCallFailed\":\n callbackEvent = { kind: \"CreateCallFailed\" } as CreateCallFailed;\n break;\n case \"Microsoft.Communication.AnswerFailed\":\n callbackEvent = { kind: \"AnswerFailed\" } as AnswerFailed;\n break;\n case \"Microsoft.Communication.HoldFailed\":\n callbackEvent = { kind: \"HoldFailed\" } as HoldFailed;\n break;\n case \"Microsoft.Communication.ConnectFailed\":\n callbackEvent = { kind: \"ConnectFailed\" } as ConnectFailed;\n break;\n case \"Microsoft.Communication.MediaStreamingStarted\":\n callbackEvent = { kind: \"MediaStreamingStarted\" } as MediaStreamingStarted;\n break;\n case \"Microsoft.Communication.MediaStreamingStopped\":\n callbackEvent = { kind: \"MediaStreamingStopped\" } as MediaStreamingStopped;\n break;\n case \"Microsoft.Communication.MediaStreamingFailed\":\n callbackEvent = { kind: \"MediaStreamingFailed\" } as MediaStreamingFailed;\n break;\n case \"Microsoft.Communication.PlayStarted\":\n callbackEvent = { kind: \"PlayStarted\" } as PlayStarted;\n break;\n case \"Microsoft.Communication.StartRecordingFailed\":\n callbackEvent = { kind: \"StartRecordingFailed\" } as StartRecordingFailed;\n break;\n case \"Microsoft.Communication.MoveParticipantSucceeded\":\n callbackEvent = { kind: \"MoveParticipantSucceeded\" } as MoveParticipantSucceeded;\n parsed.participant = communicationIdentifierConverter(data.participant);\n parsed.fromCall = data.fromCall;\n break;\n case \"Microsoft.Communication.MoveParticipantFailed\":\n callbackEvent = { kind: \"MoveParticipantFailed\" } as MoveParticipantFailed;\n parsed.participant = communicationIdentifierConverter(data.participant);\n parsed.fromCall = data.fromCall;\n break;\n default:\n throw new TypeError(`Unknown Call Automation Event type: ${eventType}`);\n }\n\n return { ...parsed, ...callbackEvent } as CallAutomationEvent;\n}\n\nfunction parseAndWrap(jsonStringOrObject: string | Record<string, unknown>): any {\n if (typeof jsonStringOrObject === \"string\") {\n const o = JSON.parse(jsonStringOrObject);\n if (Array.isArray(o)) {\n if (o.length === 0) {\n throw Error(\"Empty event array.\");\n }\n return o[0];\n } else {\n return o;\n }\n }\n\n if (Array.isArray(jsonStringOrObject)) {\n if (jsonStringOrObject.length === 0) {\n throw Error(\"Empty event array.\");\n }\n return jsonStringOrObject[0];\n } else {\n return jsonStringOrObject;\n }\n}\n\nfunction participantsParserForEvent(data: any): any {\n const { participants, ...rest } = data;\n return {\n ...rest,\n participants: participants?.map((participant: CallParticipantInternal) =>\n callParticipantConverter(participant),\n ),\n };\n}\n"]}
|
|
@@ -2,8 +2,8 @@ import { CommunicationIdentifier } from "@azure/communication-common";
|
|
|
2
2
|
import { CallMedia } from "./callMedia.js";
|
|
3
3
|
import { CallAutomationApiClientOptionalParams } from "./generated/src/index.js";
|
|
4
4
|
import { type CallConnectionProperties, type CallInvite, type CallParticipant } from "./models/models.js";
|
|
5
|
-
import type { AddParticipantOptions, CancelAddParticipantOperationOptions, GetCallConnectionPropertiesOptions, GetParticipantOptions, HangUpOptions, MuteParticipantOption, RemoveParticipantsOption, TransferCallToParticipantOptions } from "./models/options.js";
|
|
6
|
-
import type { ListParticipantsResult, TransferCallResult, AddParticipantResult, RemoveParticipantResult, MuteParticipantResult, CancelAddParticipantOperationResult } from "./models/responses.js";
|
|
5
|
+
import type { AddParticipantOptions, CancelAddParticipantOperationOptions, GetCallConnectionPropertiesOptions, GetParticipantOptions, HangUpOptions, MoveParticipantsOptions, MuteParticipantOption, RemoveParticipantsOption, TransferCallToParticipantOptions } from "./models/options.js";
|
|
6
|
+
import type { ListParticipantsResult, TransferCallResult, AddParticipantResult, RemoveParticipantResult, MuteParticipantResult, CancelAddParticipantOperationResult, MoveParticipantsResult } from "./models/responses.js";
|
|
7
7
|
import type { KeyCredential, TokenCredential } from "@azure/core-auth";
|
|
8
8
|
/**
|
|
9
9
|
* CallConnection class represents call connection based APIs.
|
|
@@ -71,5 +71,13 @@ export declare class CallConnection {
|
|
|
71
71
|
* @param invitationId - Invitation ID used to cancel the add participant request.
|
|
72
72
|
*/
|
|
73
73
|
cancelAddParticipantOperation(invitationId: string, options?: CancelAddParticipantOperationOptions): Promise<CancelAddParticipantOperationResult>;
|
|
74
|
+
/**
|
|
75
|
+
* Move participants to the call
|
|
76
|
+
*
|
|
77
|
+
* @param targetParticipants - The participants to be moved to the call.
|
|
78
|
+
* @param fromCall - The CallConnectionId for the call you want to move the participant from.
|
|
79
|
+
* @param options - Additional attributes for move participants.
|
|
80
|
+
*/
|
|
81
|
+
moveParticipants(targetParticipants: CommunicationIdentifier[], fromCall: string, options?: MoveParticipantsOptions): Promise<MoveParticipantsResult>;
|
|
74
82
|
}
|
|
75
83
|
//# sourceMappingURL=callConnection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callConnection.d.ts","sourceRoot":"","sources":["../../src/callConnection.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,uBAAuB,EAExB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAGL,qCAAqC,
|
|
1
|
+
{"version":3,"file":"callConnection.d.ts","sourceRoot":"","sources":["../../src/callConnection.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,uBAAuB,EAExB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAGL,qCAAqC,EAMtC,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,UAAU,EACf,KAAK,eAAe,EAErB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,qBAAqB,EACrB,oCAAoC,EACpC,kCAAkC,EAClC,qBAAqB,EACrB,aAAa,EACb,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,gCAAgC,EACjC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,mCAAmC,EACnC,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAW/B,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEvE;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IACpD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0B;IAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAC7D,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAwC;gBAEtF,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,aAAa,GAAG,eAAe,EAC3C,OAAO,CAAC,EAAE,qCAAqC;IAYjD;;OAEG;IACI,YAAY,IAAI,SAAS;IAShC;;OAEG;IACU,2BAA2B,CACtC,OAAO,GAAE,kCAAuC,GAC/C,OAAO,CAAC,wBAAwB,CAAC;IAgBpC;;;;OAIG;IACU,MAAM,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAcvF;;;;OAIG;IACU,cAAc,CACzB,iBAAiB,EAAE,uBAAuB,EAC1C,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,eAAe,CAAC;IAe3B;;OAEG;IACU,gBAAgB,CAC3B,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,sBAAsB,CAAC;IAkBlC,OAAO,CAAC,kCAAkC;IA8B1C;;;;OAIG;IACU,cAAc,CACzB,iBAAiB,EAAE,UAAU,EAC7B,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,oBAAoB,CAAC;IAoChC;;;;OAIG;IACU,yBAAyB,CACpC,iBAAiB,EAAE,uBAAuB,EAC1C,OAAO,GAAE,gCAAqC,GAC7C,OAAO,CAAC,kBAAkB,CAAC;IAyB9B;;;;OAIG;IACU,iBAAiB,CAC5B,WAAW,EAAE,uBAAuB,EACpC,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,uBAAuB,CAAC;IAsBnC;;;;;OAKG;IACU,eAAe,CAC1B,WAAW,EAAE,uBAAuB,EACpC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,qBAAqB,CAAC;IAqBjC;;;OAGG;IACU,6BAA6B,CACxC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,oCAAyC,GACjD,OAAO,CAAC,mCAAmC,CAAC;IA8B/C;;;;;;OAMG;IACU,gBAAgB,CAC3B,kBAAkB,EAAE,uBAAuB,EAAE,EAC7C,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,sBAAsB,CAAC;CA4BnC"}
|
|
@@ -110,6 +110,7 @@ class CallConnection {
|
|
|
110
110
|
createCustomCallingContextInternal(customCallingContext) {
|
|
111
111
|
const sipHeaders = {};
|
|
112
112
|
const voipHeaders = {};
|
|
113
|
+
let teamsPhoneCallDetails = undefined;
|
|
113
114
|
if (customCallingContext) {
|
|
114
115
|
for (const header of customCallingContext) {
|
|
115
116
|
if (header.kind === "sipuui") {
|
|
@@ -126,9 +127,16 @@ class CallConnection {
|
|
|
126
127
|
else if (header.kind === "voip") {
|
|
127
128
|
voipHeaders[`${header.key}`] = header.value;
|
|
128
129
|
}
|
|
130
|
+
else if (header.kind === "teamsPhoneCallDetails") {
|
|
131
|
+
teamsPhoneCallDetails = (0, converters_js_1.teamsPhoneCallDetailsModelConverter)(header);
|
|
132
|
+
}
|
|
129
133
|
}
|
|
130
134
|
}
|
|
131
|
-
return {
|
|
135
|
+
return {
|
|
136
|
+
sipHeaders: sipHeaders,
|
|
137
|
+
voipHeaders: voipHeaders,
|
|
138
|
+
teamsPhoneCallDetails: teamsPhoneCallDetails,
|
|
139
|
+
};
|
|
132
140
|
}
|
|
133
141
|
/**
|
|
134
142
|
* Add a participant to the call
|
|
@@ -253,6 +261,33 @@ class CallConnection {
|
|
|
253
261
|
};
|
|
254
262
|
return cancelAddParticipantResult;
|
|
255
263
|
}
|
|
264
|
+
/**
|
|
265
|
+
* Move participants to the call
|
|
266
|
+
*
|
|
267
|
+
* @param targetParticipants - The participants to be moved to the call.
|
|
268
|
+
* @param fromCall - The CallConnectionId for the call you want to move the participant from.
|
|
269
|
+
* @param options - Additional attributes for move participants.
|
|
270
|
+
*/
|
|
271
|
+
async moveParticipants(targetParticipants, fromCall, options = {}) {
|
|
272
|
+
const moveParticipantsRequest = {
|
|
273
|
+
targetParticipants: targetParticipants.map((participant) => (0, converters_js_1.communicationIdentifierModelConverter)(participant)),
|
|
274
|
+
fromCall: fromCall,
|
|
275
|
+
operationContext: options.operationContext ? options.operationContext : (0, core_util_1.randomUUID)(),
|
|
276
|
+
operationCallbackUri: options.operationCallbackUrl,
|
|
277
|
+
};
|
|
278
|
+
const optionsInternal = {
|
|
279
|
+
...options,
|
|
280
|
+
repeatabilityFirstSent: new Date(),
|
|
281
|
+
repeatabilityRequestID: (0, core_util_1.randomUUID)(),
|
|
282
|
+
};
|
|
283
|
+
const result = await this.callConnection.moveParticipants(this.callConnectionId, moveParticipantsRequest, optionsInternal);
|
|
284
|
+
const moveParticipantsResult = {
|
|
285
|
+
...result,
|
|
286
|
+
participants: result.participants?.map((participant) => (0, converters_js_1.callParticipantConverter)(participant)),
|
|
287
|
+
fromCall: fromCall,
|
|
288
|
+
};
|
|
289
|
+
return moveParticipantsResult;
|
|
290
|
+
}
|
|
256
291
|
}
|
|
257
292
|
exports.CallConnection = CallConnection;
|
|
258
293
|
//# sourceMappingURL=callConnection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callConnection.js","sourceRoot":"","sources":["../../src/callConnection.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n CommunicationIdentifier,\n createCommunicationAuthPolicy,\n} from \"@azure/communication-common\";\nimport { CallMedia } from \"./callMedia.js\";\nimport {\n AddParticipantRequest,\n CallAutomationApiClient,\n CallAutomationApiClientOptionalParams,\n CustomCallingContextInternal,\n MuteParticipantsRequest,\n RemoveParticipantRequest,\n TransferToParticipantRequest,\n} from \"./generated/src/index.js\";\nimport { CallConnectionImpl } from \"./generated/src/operations/index.js\";\nimport {\n type CallConnectionProperties,\n type CallInvite,\n type CallParticipant,\n type CustomCallingContext,\n} from \"./models/models.js\";\nimport type {\n AddParticipantOptions,\n CancelAddParticipantOperationOptions,\n GetCallConnectionPropertiesOptions,\n GetParticipantOptions,\n HangUpOptions,\n MuteParticipantOption,\n RemoveParticipantsOption,\n TransferCallToParticipantOptions,\n} from \"./models/options.js\";\nimport type {\n ListParticipantsResult,\n TransferCallResult,\n AddParticipantResult,\n RemoveParticipantResult,\n MuteParticipantResult,\n CancelAddParticipantOperationResult,\n} from \"./models/responses.js\";\nimport {\n callParticipantConverter,\n communicationIdentifierConverter,\n communicationIdentifierModelConverter,\n communicationUserIdentifierConverter,\n phoneNumberIdentifierConverter,\n PhoneNumberIdentifierModelConverter,\n} from \"./utli/converters.js\";\nimport { randomUUID } from \"@azure/core-util\";\nimport type { KeyCredential, TokenCredential } from \"@azure/core-auth\";\n\n/**\n * CallConnection class represents call connection based APIs.\n */\nexport class CallConnection {\n private readonly callConnectionId: string;\n private readonly callConnection: CallConnectionImpl;\n private readonly callAutomationApiClient: CallAutomationApiClient;\n private readonly endpoint: string;\n private readonly credential: TokenCredential | KeyCredential;\n private readonly callAutomationApiClientOptions?: CallAutomationApiClientOptionalParams;\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.callConnection = new CallConnectionImpl(this.callAutomationApiClient);\n this.endpoint = endpoint;\n this.credential = credential;\n this.callAutomationApiClientOptions = options;\n }\n\n /**\n * Initializes a new instance of CallMedia.\n */\n public getCallMedia(): CallMedia {\n return new CallMedia(\n this.callConnectionId,\n this.endpoint,\n this.credential,\n this.callAutomationApiClientOptions,\n );\n }\n\n /**\n * Get call connection properties of the call\n */\n public async getCallConnectionProperties(\n options: GetCallConnectionPropertiesOptions = {},\n ): Promise<CallConnectionProperties> {\n const { targets, sourceCallerIdNumber, answeredBy, source, answeredFor, ...result } =\n await this.callConnection.getCall(this.callConnectionId, options);\n const callConnectionProperties: CallConnectionProperties = {\n ...result,\n source: source ? communicationIdentifierConverter(source) : undefined,\n answeredby: communicationUserIdentifierConverter(answeredBy),\n answeredFor: answeredFor ? phoneNumberIdentifierConverter(answeredFor) : undefined,\n targetParticipants: targets?.map((target) => communicationIdentifierConverter(target)),\n sourceCallerIdNumber: sourceCallerIdNumber\n ? phoneNumberIdentifierConverter(sourceCallerIdNumber)\n : undefined,\n };\n return callConnectionProperties;\n }\n\n /**\n * Hang up the call for itself or terminate the whole call.\n *\n * @param isForEveryOne - Determine if every one in the call would be hung up or not.\n */\n public async hangUp(isForEveryone: boolean, options: HangUpOptions = {}): Promise<void> {\n if (isForEveryone) {\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n await this.callConnection.terminateCall(this.callConnectionId, optionsInternal);\n } else {\n await this.callConnection.hangupCall(this.callConnectionId, options);\n }\n return;\n }\n\n /**\n * Get a participant from the call\n *\n * @param targetParticipant - The communication identifier of requested participant.\n */\n public async getParticipant(\n targetParticipant: CommunicationIdentifier,\n options: GetParticipantOptions = {},\n ): Promise<CallParticipant> {\n let rawId: string | undefined = communicationIdentifierModelConverter(targetParticipant).rawId;\n rawId = rawId === undefined ? \"\" : rawId;\n\n const result = await this.callConnection.getParticipant(this.callConnectionId, rawId, options);\n const callParticipant: CallParticipant = {\n identifier: result.identifier\n ? communicationIdentifierConverter(result.identifier)\n : undefined,\n isMuted: result.isMuted,\n isOnHold: result.isOnHold,\n };\n return callParticipant;\n }\n\n /**\n * Get all participants from the call\n */\n public async listParticipants(\n options: GetParticipantOptions = {},\n ): Promise<ListParticipantsResult> {\n const result = this.callConnection.listParticipants(this.callConnectionId, options);\n const participants = [];\n const pages = result?.byPage();\n\n for await (const page of pages) {\n for (const participant of page) {\n participants.push(callParticipantConverter(participant));\n }\n }\n\n const listParticipantResponse: ListParticipantsResult = {\n ...result,\n values: participants,\n };\n return listParticipantResponse;\n }\n\n private createCustomCallingContextInternal(\n customCallingContext: CustomCallingContext,\n ): CustomCallingContextInternal {\n const sipHeaders: { [key: string]: string } = {};\n const voipHeaders: { [key: string]: string } = {};\n if (customCallingContext) {\n for (const header of customCallingContext) {\n if (header.kind === \"sipuui\") {\n sipHeaders[`User-To-User`] = header.value;\n } else if (header.kind === \"sipx\") {\n if (header.sipHeaderPrefix === \"X-\") {\n sipHeaders[`X-${header.key}`] = header.value;\n } else {\n sipHeaders[`X-MS-Custom-${header.key}`] = header.value;\n }\n } else if (header.kind === \"voip\") {\n voipHeaders[`${header.key}`] = header.value;\n }\n }\n }\n return { sipHeaders: sipHeaders, voipHeaders: voipHeaders };\n }\n\n /**\n * Add a participant to the call\n *\n * @param participant - The participant is going to be added.\n */\n public async addParticipant(\n targetParticipant: CallInvite,\n options: AddParticipantOptions = {},\n ): Promise<AddParticipantResult> {\n const addParticipantRequest: AddParticipantRequest = {\n participantToAdd: communicationIdentifierModelConverter(targetParticipant.targetParticipant),\n sourceCallerIdNumber: PhoneNumberIdentifierModelConverter(\n targetParticipant.sourceCallIdNumber,\n ),\n sourceDisplayName: targetParticipant.sourceDisplayName,\n invitationTimeoutInSeconds: options.invitationTimeoutInSeconds,\n operationContext: options.operationContext,\n operationCallbackUri: options.operationCallbackUrl,\n customCallingContext: this.createCustomCallingContextInternal(\n targetParticipant.customCallingContext!,\n ),\n };\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const result = await this.callConnection.addParticipant(\n this.callConnectionId,\n addParticipantRequest,\n optionsInternal,\n );\n const addParticipantsResult: AddParticipantResult = {\n ...result,\n participant: {\n ...result.participant,\n identifier: result.participant?.identifier\n ? communicationIdentifierConverter(result.participant?.identifier)\n : undefined,\n },\n };\n return addParticipantsResult;\n }\n\n /**\n * Transfer the call to a target participant\n *\n * @param targetParticipant - The target to be transferred to.\n */\n public async transferCallToParticipant(\n targetParticipant: CommunicationIdentifier,\n options: TransferCallToParticipantOptions = {},\n ): Promise<TransferCallResult> {\n const transferToParticipantRequest: TransferToParticipantRequest = {\n targetParticipant: communicationIdentifierModelConverter(targetParticipant),\n operationContext: options.operationContext ? options.operationContext : randomUUID(),\n operationCallbackUri: options.operationCallbackUrl,\n transferee: options.transferee && communicationIdentifierModelConverter(options.transferee),\n customCallingContext: this.createCustomCallingContextInternal(options.customCallingContext!),\n sourceCallerIdNumber: PhoneNumberIdentifierModelConverter(options.sourceCallIdNumber),\n };\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const result = await this.callConnection.transferToParticipant(\n this.callConnectionId,\n transferToParticipantRequest,\n optionsInternal,\n );\n const transferCallResult: TransferCallResult = {\n ...result,\n };\n return transferCallResult;\n }\n\n /**\n * Remove a participant from the call\n *\n * @param participant - The participant is going to be removed from the call.\n */\n public async removeParticipant(\n participant: CommunicationIdentifier,\n options: RemoveParticipantsOption = {},\n ): Promise<RemoveParticipantResult> {\n const removeParticipantRequest: RemoveParticipantRequest = {\n participantToRemove: communicationIdentifierModelConverter(participant),\n operationContext: options.operationContext ? options.operationContext : randomUUID(),\n operationCallbackUri: options.operationCallbackUrl,\n };\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const result = await this.callConnection.removeParticipant(\n this.callConnectionId,\n removeParticipantRequest,\n optionsInternal,\n );\n const removeParticipantsResult: RemoveParticipantResult = {\n ...result,\n };\n return removeParticipantsResult;\n }\n\n /**\n * Mute participant from the call.\n *\n * @param participant - Participant to be muted from the call.\n * @param options - Additional attributes for mute participant.\n */\n public async muteParticipant(\n participant: CommunicationIdentifier,\n options: MuteParticipantOption = {},\n ): Promise<MuteParticipantResult> {\n const muteParticipantsRequest: MuteParticipantsRequest = {\n targetParticipants: [communicationIdentifierModelConverter(participant)],\n operationContext: options.operationContext,\n };\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const result = await this.callConnection.mute(\n this.callConnectionId,\n muteParticipantsRequest,\n optionsInternal,\n );\n const muteParticipantResult: MuteParticipantResult = {\n ...result,\n };\n return muteParticipantResult;\n }\n\n /** Cancel add participant request.\n *\n * @param invitationId - Invitation ID used to cancel the add participant request.\n */\n public async cancelAddParticipantOperation(\n invitationId: string,\n options: CancelAddParticipantOperationOptions = {},\n ): Promise<CancelAddParticipantOperationResult> {\n const {\n operationContext,\n operationCallbackUrl: operationCallbackUri,\n ...operationOptions\n } = options;\n const cancelAddParticipantRequest = {\n invitationId,\n operationContext: operationContext ? operationContext : randomUUID(),\n operationCallbackUri,\n };\n const optionsInternal = {\n ...operationOptions,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n\n const result = await this.callConnection.cancelAddParticipant(\n this.callConnectionId,\n cancelAddParticipantRequest,\n optionsInternal,\n );\n\n const cancelAddParticipantResult: CancelAddParticipantOperationResult = {\n ...result,\n };\n\n return cancelAddParticipantResult;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"callConnection.js","sourceRoot":"","sources":["../../src/callConnection.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,sEAGqC;AACrC,iDAA2C;AAC3C,uDASkC;AAClC,kEAAyE;AA2BzE,wDAQ8B;AAC9B,gDAA8C;AAG9C;;GAEG;AACH,MAAa,cAAc;IACR,gBAAgB,CAAS;IACzB,cAAc,CAAqB;IACnC,uBAAuB,CAA0B;IACjD,QAAQ,CAAS;IACjB,UAAU,CAAkC;IAC5C,8BAA8B,CAAyC;IACxF,YACE,gBAAwB,EACxB,QAAgB,EAChB,UAA2C,EAC3C,OAA+C;QAE/C,IAAI,CAAC,uBAAuB,GAAG,IAAI,kCAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9E,MAAM,UAAU,GAAG,IAAA,oDAA6B,EAAC,UAAU,CAAC,CAAC;QAC7D,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC5D,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,IAAI,6BAAkB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC3E,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,8BAA8B,GAAG,OAAO,CAAC;IAChD,CAAC;IAED;;OAEG;IACI,YAAY;QACjB,OAAO,IAAI,wBAAS,CAClB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,8BAA8B,CACpC,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,2BAA2B,CACtC,UAA8C,EAAE;QAEhD,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,EAAE,GACjF,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QACpE,MAAM,wBAAwB,GAA6B;YACzD,GAAG,MAAM;YACT,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,IAAA,gDAAgC,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;YACrE,UAAU,EAAE,IAAA,oDAAoC,EAAC,UAAU,CAAC;YAC5D,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,IAAA,8CAA8B,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;YAClF,kBAAkB,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,gDAAgC,EAAC,MAAM,CAAC,CAAC;YACtF,oBAAoB,EAAE,oBAAoB;gBACxC,CAAC,CAAC,IAAA,8CAA8B,EAAC,oBAAoB,CAAC;gBACtD,CAAC,CAAC,SAAS;SACd,CAAC;QACF,OAAO,wBAAwB,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,MAAM,CAAC,aAAsB,EAAE,UAAyB,EAAE;QACrE,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,eAAe,GAAG;gBACtB,GAAG,OAAO;gBACV,sBAAsB,EAAE,IAAI,IAAI,EAAE;gBAClC,sBAAsB,EAAE,IAAA,sBAAU,GAAE;aACrC,CAAC;YACF,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QACvE,CAAC;QACD,OAAO;IACT,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,cAAc,CACzB,iBAA0C,EAC1C,UAAiC,EAAE;QAEnC,IAAI,KAAK,GAAuB,IAAA,qDAAqC,EAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC;QAC/F,KAAK,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAEzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC/F,MAAM,eAAe,GAAoB;YACvC,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC3B,CAAC,CAAC,IAAA,gDAAgC,EAAC,MAAM,CAAC,UAAU,CAAC;gBACrD,CAAC,CAAC,SAAS;YACb,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC;QACF,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,gBAAgB,CAC3B,UAAiC,EAAE;QAEnC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QACpF,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,MAAM,EAAE,MAAM,EAAE,CAAC;QAE/B,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC/B,KAAK,MAAM,WAAW,IAAI,IAAI,EAAE,CAAC;gBAC/B,YAAY,CAAC,IAAI,CAAC,IAAA,wCAAwB,EAAC,WAAW,CAAC,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,MAAM,uBAAuB,GAA2B;YACtD,GAAG,MAAM;YACT,MAAM,EAAE,YAAY;SACrB,CAAC;QACF,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAEO,kCAAkC,CACxC,oBAA0C;QAE1C,MAAM,UAAU,GAA8B,EAAE,CAAC;QACjD,MAAM,WAAW,GAA8B,EAAE,CAAC;QAClD,IAAI,qBAAqB,GAAQ,SAAS,CAAC;QAC3C,IAAI,oBAAoB,EAAE,CAAC;YACzB,KAAK,MAAM,MAAM,IAAI,oBAAoB,EAAE,CAAC;gBAC1C,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,UAAU,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;gBAC5C,CAAC;qBAAM,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAClC,IAAI,MAAM,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;wBACpC,UAAU,CAAC,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;oBAC/C,CAAC;yBAAM,CAAC;wBACN,UAAU,CAAC,eAAe,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;oBACzD,CAAC;gBACH,CAAC;qBAAM,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAClC,WAAW,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;gBAC9C,CAAC;qBAAM,IAAI,MAAM,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;oBACnD,qBAAqB,GAAG,IAAA,mDAAmC,EAAC,MAAM,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO;YACL,UAAU,EAAE,UAAU;YACtB,WAAW,EAAE,WAAW;YACxB,qBAAqB,EAAE,qBAAqB;SAC7C,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,cAAc,CACzB,iBAA6B,EAC7B,UAAiC,EAAE;QAEnC,MAAM,qBAAqB,GAA0B;YACnD,gBAAgB,EAAE,IAAA,qDAAqC,EAAC,iBAAiB,CAAC,iBAAiB,CAAC;YAC5F,oBAAoB,EAAE,IAAA,mDAAmC,EACvD,iBAAiB,CAAC,kBAAkB,CACrC;YACD,iBAAiB,EAAE,iBAAiB,CAAC,iBAAiB;YACtD,0BAA0B,EAAE,OAAO,CAAC,0BAA0B;YAC9D,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;YAClD,oBAAoB,EAAE,IAAI,CAAC,kCAAkC,CAC3D,iBAAiB,CAAC,oBAAqB,CACxC;SACF,CAAC;QACF,MAAM,eAAe,GAAG;YACtB,GAAG,OAAO;YACV,sBAAsB,EAAE,IAAI,IAAI,EAAE;YAClC,sBAAsB,EAAE,IAAA,sBAAU,GAAE;SACrC,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CACrD,IAAI,CAAC,gBAAgB,EACrB,qBAAqB,EACrB,eAAe,CAChB,CAAC;QACF,MAAM,qBAAqB,GAAyB;YAClD,GAAG,MAAM;YACT,WAAW,EAAE;gBACX,GAAG,MAAM,CAAC,WAAW;gBACrB,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,UAAU;oBACxC,CAAC,CAAC,IAAA,gDAAgC,EAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC;oBAClE,CAAC,CAAC,SAAS;aACd;SACF,CAAC;QACF,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,yBAAyB,CACpC,iBAA0C,EAC1C,UAA4C,EAAE;QAE9C,MAAM,4BAA4B,GAAiC;YACjE,iBAAiB,EAAE,IAAA,qDAAqC,EAAC,iBAAiB,CAAC;YAC3E,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAA,sBAAU,GAAE;YACpF,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;YAClD,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAA,qDAAqC,EAAC,OAAO,CAAC,UAAU,CAAC;YAC3F,oBAAoB,EAAE,IAAI,CAAC,kCAAkC,CAAC,OAAO,CAAC,oBAAqB,CAAC;YAC5F,oBAAoB,EAAE,IAAA,mDAAmC,EAAC,OAAO,CAAC,kBAAkB,CAAC;SACtF,CAAC;QACF,MAAM,eAAe,GAAG;YACtB,GAAG,OAAO;YACV,sBAAsB,EAAE,IAAI,IAAI,EAAE;YAClC,sBAAsB,EAAE,IAAA,sBAAU,GAAE;SACrC,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAC5D,IAAI,CAAC,gBAAgB,EACrB,4BAA4B,EAC5B,eAAe,CAChB,CAAC;QACF,MAAM,kBAAkB,GAAuB;YAC7C,GAAG,MAAM;SACV,CAAC;QACF,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,iBAAiB,CAC5B,WAAoC,EACpC,UAAoC,EAAE;QAEtC,MAAM,wBAAwB,GAA6B;YACzD,mBAAmB,EAAE,IAAA,qDAAqC,EAAC,WAAW,CAAC;YACvE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAA,sBAAU,GAAE;YACpF,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;SACnD,CAAC;QACF,MAAM,eAAe,GAAG;YACtB,GAAG,OAAO;YACV,sBAAsB,EAAE,IAAI,IAAI,EAAE;YAClC,sBAAsB,EAAE,IAAA,sBAAU,GAAE;SACrC,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,CACxD,IAAI,CAAC,gBAAgB,EACrB,wBAAwB,EACxB,eAAe,CAChB,CAAC;QACF,MAAM,wBAAwB,GAA4B;YACxD,GAAG,MAAM;SACV,CAAC;QACF,OAAO,wBAAwB,CAAC;IAClC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,eAAe,CAC1B,WAAoC,EACpC,UAAiC,EAAE;QAEnC,MAAM,uBAAuB,GAA4B;YACvD,kBAAkB,EAAE,CAAC,IAAA,qDAAqC,EAAC,WAAW,CAAC,CAAC;YACxE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;SAC3C,CAAC;QACF,MAAM,eAAe,GAAG;YACtB,GAAG,OAAO;YACV,sBAAsB,EAAE,IAAI,IAAI,EAAE;YAClC,sBAAsB,EAAE,IAAA,sBAAU,GAAE;SACrC,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAC3C,IAAI,CAAC,gBAAgB,EACrB,uBAAuB,EACvB,eAAe,CAChB,CAAC;QACF,MAAM,qBAAqB,GAA0B;YACnD,GAAG,MAAM;SACV,CAAC;QACF,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,6BAA6B,CACxC,YAAoB,EACpB,UAAgD,EAAE;QAElD,MAAM,EACJ,gBAAgB,EAChB,oBAAoB,EAAE,oBAAoB,EAC1C,GAAG,gBAAgB,EACpB,GAAG,OAAO,CAAC;QACZ,MAAM,2BAA2B,GAAG;YAClC,YAAY;YACZ,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAA,sBAAU,GAAE;YACpE,oBAAoB;SACrB,CAAC;QACF,MAAM,eAAe,GAAG;YACtB,GAAG,gBAAgB;YACnB,sBAAsB,EAAE,IAAI,IAAI,EAAE;YAClC,sBAAsB,EAAE,IAAA,sBAAU,GAAE;SACrC,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAC3D,IAAI,CAAC,gBAAgB,EACrB,2BAA2B,EAC3B,eAAe,CAChB,CAAC;QAEF,MAAM,0BAA0B,GAAwC;YACtE,GAAG,MAAM;SACV,CAAC;QAEF,OAAO,0BAA0B,CAAC;IACpC,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,gBAAgB,CAC3B,kBAA6C,EAC7C,QAAgB,EAChB,UAAmC,EAAE;QAErC,MAAM,uBAAuB,GAA4B;YACvD,kBAAkB,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACzD,IAAA,qDAAqC,EAAC,WAAW,CAAC,CACnD;YACD,QAAQ,EAAE,QAAQ;YAClB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAA,sBAAU,GAAE;YACpF,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;SACnD,CAAC;QACF,MAAM,eAAe,GAAG;YACtB,GAAG,OAAO;YACV,sBAAsB,EAAE,IAAI,IAAI,EAAE;YAClC,sBAAsB,EAAE,IAAA,sBAAU,GAAE;SACrC,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CACvD,IAAI,CAAC,gBAAgB,EACrB,uBAAuB,EACvB,eAAe,CAChB,CAAC;QACF,MAAM,sBAAsB,GAA2B;YACrD,GAAG,MAAM;YACT,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACrD,IAAA,wCAAwB,EAAC,WAAW,CAAC,CACtC;YACD,QAAQ,EAAE,QAAQ;SACnB,CAAC;QACF,OAAO,sBAAsB,CAAC;IAChC,CAAC;CACF;AA5WD,wCA4WC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n CommunicationIdentifier,\n createCommunicationAuthPolicy,\n} from \"@azure/communication-common\";\nimport { CallMedia } from \"./callMedia.js\";\nimport {\n AddParticipantRequest,\n CallAutomationApiClient,\n CallAutomationApiClientOptionalParams,\n CustomCallingContextInternal,\n MoveParticipantsRequest,\n MuteParticipantsRequest,\n RemoveParticipantRequest,\n TransferToParticipantRequest,\n} from \"./generated/src/index.js\";\nimport { CallConnectionImpl } from \"./generated/src/operations/index.js\";\nimport {\n type CallConnectionProperties,\n type CallInvite,\n type CallParticipant,\n type CustomCallingContext,\n} from \"./models/models.js\";\nimport type {\n AddParticipantOptions,\n CancelAddParticipantOperationOptions,\n GetCallConnectionPropertiesOptions,\n GetParticipantOptions,\n HangUpOptions,\n MoveParticipantsOptions,\n MuteParticipantOption,\n RemoveParticipantsOption,\n TransferCallToParticipantOptions,\n} from \"./models/options.js\";\nimport type {\n ListParticipantsResult,\n TransferCallResult,\n AddParticipantResult,\n RemoveParticipantResult,\n MuteParticipantResult,\n CancelAddParticipantOperationResult,\n MoveParticipantsResult,\n} from \"./models/responses.js\";\nimport {\n callParticipantConverter,\n communicationIdentifierConverter,\n communicationIdentifierModelConverter,\n communicationUserIdentifierConverter,\n phoneNumberIdentifierConverter,\n PhoneNumberIdentifierModelConverter,\n teamsPhoneCallDetailsModelConverter,\n} from \"./utli/converters.js\";\nimport { randomUUID } from \"@azure/core-util\";\nimport type { KeyCredential, TokenCredential } from \"@azure/core-auth\";\n\n/**\n * CallConnection class represents call connection based APIs.\n */\nexport class CallConnection {\n private readonly callConnectionId: string;\n private readonly callConnection: CallConnectionImpl;\n private readonly callAutomationApiClient: CallAutomationApiClient;\n private readonly endpoint: string;\n private readonly credential: TokenCredential | KeyCredential;\n private readonly callAutomationApiClientOptions?: CallAutomationApiClientOptionalParams;\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.callConnection = new CallConnectionImpl(this.callAutomationApiClient);\n this.endpoint = endpoint;\n this.credential = credential;\n this.callAutomationApiClientOptions = options;\n }\n\n /**\n * Initializes a new instance of CallMedia.\n */\n public getCallMedia(): CallMedia {\n return new CallMedia(\n this.callConnectionId,\n this.endpoint,\n this.credential,\n this.callAutomationApiClientOptions,\n );\n }\n\n /**\n * Get call connection properties of the call\n */\n public async getCallConnectionProperties(\n options: GetCallConnectionPropertiesOptions = {},\n ): Promise<CallConnectionProperties> {\n const { targets, sourceCallerIdNumber, answeredBy, source, answeredFor, ...result } =\n await this.callConnection.getCall(this.callConnectionId, options);\n const callConnectionProperties: CallConnectionProperties = {\n ...result,\n source: source ? communicationIdentifierConverter(source) : undefined,\n answeredby: communicationUserIdentifierConverter(answeredBy),\n answeredFor: answeredFor ? phoneNumberIdentifierConverter(answeredFor) : undefined,\n targetParticipants: targets?.map((target) => communicationIdentifierConverter(target)),\n sourceCallerIdNumber: sourceCallerIdNumber\n ? phoneNumberIdentifierConverter(sourceCallerIdNumber)\n : undefined,\n };\n return callConnectionProperties;\n }\n\n /**\n * Hang up the call for itself or terminate the whole call.\n *\n * @param isForEveryOne - Determine if every one in the call would be hung up or not.\n */\n public async hangUp(isForEveryone: boolean, options: HangUpOptions = {}): Promise<void> {\n if (isForEveryone) {\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n await this.callConnection.terminateCall(this.callConnectionId, optionsInternal);\n } else {\n await this.callConnection.hangupCall(this.callConnectionId, options);\n }\n return;\n }\n\n /**\n * Get a participant from the call\n *\n * @param targetParticipant - The communication identifier of requested participant.\n */\n public async getParticipant(\n targetParticipant: CommunicationIdentifier,\n options: GetParticipantOptions = {},\n ): Promise<CallParticipant> {\n let rawId: string | undefined = communicationIdentifierModelConverter(targetParticipant).rawId;\n rawId = rawId === undefined ? \"\" : rawId;\n\n const result = await this.callConnection.getParticipant(this.callConnectionId, rawId, options);\n const callParticipant: CallParticipant = {\n identifier: result.identifier\n ? communicationIdentifierConverter(result.identifier)\n : undefined,\n isMuted: result.isMuted,\n isOnHold: result.isOnHold,\n };\n return callParticipant;\n }\n\n /**\n * Get all participants from the call\n */\n public async listParticipants(\n options: GetParticipantOptions = {},\n ): Promise<ListParticipantsResult> {\n const result = this.callConnection.listParticipants(this.callConnectionId, options);\n const participants = [];\n const pages = result?.byPage();\n\n for await (const page of pages) {\n for (const participant of page) {\n participants.push(callParticipantConverter(participant));\n }\n }\n\n const listParticipantResponse: ListParticipantsResult = {\n ...result,\n values: participants,\n };\n return listParticipantResponse;\n }\n\n private createCustomCallingContextInternal(\n customCallingContext: CustomCallingContext,\n ): CustomCallingContextInternal {\n const sipHeaders: { [key: string]: string } = {};\n const voipHeaders: { [key: string]: string } = {};\n let teamsPhoneCallDetails: any = undefined;\n if (customCallingContext) {\n for (const header of customCallingContext) {\n if (header.kind === \"sipuui\") {\n sipHeaders[`User-To-User`] = header.value;\n } else if (header.kind === \"sipx\") {\n if (header.sipHeaderPrefix === \"X-\") {\n sipHeaders[`X-${header.key}`] = header.value;\n } else {\n sipHeaders[`X-MS-Custom-${header.key}`] = header.value;\n }\n } else if (header.kind === \"voip\") {\n voipHeaders[`${header.key}`] = header.value;\n } else if (header.kind === \"teamsPhoneCallDetails\") {\n teamsPhoneCallDetails = teamsPhoneCallDetailsModelConverter(header);\n }\n }\n }\n return {\n sipHeaders: sipHeaders,\n voipHeaders: voipHeaders,\n teamsPhoneCallDetails: teamsPhoneCallDetails,\n };\n }\n\n /**\n * Add a participant to the call\n *\n * @param participant - The participant is going to be added.\n */\n public async addParticipant(\n targetParticipant: CallInvite,\n options: AddParticipantOptions = {},\n ): Promise<AddParticipantResult> {\n const addParticipantRequest: AddParticipantRequest = {\n participantToAdd: communicationIdentifierModelConverter(targetParticipant.targetParticipant),\n sourceCallerIdNumber: PhoneNumberIdentifierModelConverter(\n targetParticipant.sourceCallIdNumber,\n ),\n sourceDisplayName: targetParticipant.sourceDisplayName,\n invitationTimeoutInSeconds: options.invitationTimeoutInSeconds,\n operationContext: options.operationContext,\n operationCallbackUri: options.operationCallbackUrl,\n customCallingContext: this.createCustomCallingContextInternal(\n targetParticipant.customCallingContext!,\n ),\n };\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const result = await this.callConnection.addParticipant(\n this.callConnectionId,\n addParticipantRequest,\n optionsInternal,\n );\n const addParticipantsResult: AddParticipantResult = {\n ...result,\n participant: {\n ...result.participant,\n identifier: result.participant?.identifier\n ? communicationIdentifierConverter(result.participant?.identifier)\n : undefined,\n },\n };\n return addParticipantsResult;\n }\n\n /**\n * Transfer the call to a target participant\n *\n * @param targetParticipant - The target to be transferred to.\n */\n public async transferCallToParticipant(\n targetParticipant: CommunicationIdentifier,\n options: TransferCallToParticipantOptions = {},\n ): Promise<TransferCallResult> {\n const transferToParticipantRequest: TransferToParticipantRequest = {\n targetParticipant: communicationIdentifierModelConverter(targetParticipant),\n operationContext: options.operationContext ? options.operationContext : randomUUID(),\n operationCallbackUri: options.operationCallbackUrl,\n transferee: options.transferee && communicationIdentifierModelConverter(options.transferee),\n customCallingContext: this.createCustomCallingContextInternal(options.customCallingContext!),\n sourceCallerIdNumber: PhoneNumberIdentifierModelConverter(options.sourceCallIdNumber),\n };\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const result = await this.callConnection.transferToParticipant(\n this.callConnectionId,\n transferToParticipantRequest,\n optionsInternal,\n );\n const transferCallResult: TransferCallResult = {\n ...result,\n };\n return transferCallResult;\n }\n\n /**\n * Remove a participant from the call\n *\n * @param participant - The participant is going to be removed from the call.\n */\n public async removeParticipant(\n participant: CommunicationIdentifier,\n options: RemoveParticipantsOption = {},\n ): Promise<RemoveParticipantResult> {\n const removeParticipantRequest: RemoveParticipantRequest = {\n participantToRemove: communicationIdentifierModelConverter(participant),\n operationContext: options.operationContext ? options.operationContext : randomUUID(),\n operationCallbackUri: options.operationCallbackUrl,\n };\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const result = await this.callConnection.removeParticipant(\n this.callConnectionId,\n removeParticipantRequest,\n optionsInternal,\n );\n const removeParticipantsResult: RemoveParticipantResult = {\n ...result,\n };\n return removeParticipantsResult;\n }\n\n /**\n * Mute participant from the call.\n *\n * @param participant - Participant to be muted from the call.\n * @param options - Additional attributes for mute participant.\n */\n public async muteParticipant(\n participant: CommunicationIdentifier,\n options: MuteParticipantOption = {},\n ): Promise<MuteParticipantResult> {\n const muteParticipantsRequest: MuteParticipantsRequest = {\n targetParticipants: [communicationIdentifierModelConverter(participant)],\n operationContext: options.operationContext,\n };\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const result = await this.callConnection.mute(\n this.callConnectionId,\n muteParticipantsRequest,\n optionsInternal,\n );\n const muteParticipantResult: MuteParticipantResult = {\n ...result,\n };\n return muteParticipantResult;\n }\n\n /** Cancel add participant request.\n *\n * @param invitationId - Invitation ID used to cancel the add participant request.\n */\n public async cancelAddParticipantOperation(\n invitationId: string,\n options: CancelAddParticipantOperationOptions = {},\n ): Promise<CancelAddParticipantOperationResult> {\n const {\n operationContext,\n operationCallbackUrl: operationCallbackUri,\n ...operationOptions\n } = options;\n const cancelAddParticipantRequest = {\n invitationId,\n operationContext: operationContext ? operationContext : randomUUID(),\n operationCallbackUri,\n };\n const optionsInternal = {\n ...operationOptions,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n\n const result = await this.callConnection.cancelAddParticipant(\n this.callConnectionId,\n cancelAddParticipantRequest,\n optionsInternal,\n );\n\n const cancelAddParticipantResult: CancelAddParticipantOperationResult = {\n ...result,\n };\n\n return cancelAddParticipantResult;\n }\n\n /**\n * Move participants to the call\n *\n * @param targetParticipants - The participants to be moved to the call.\n * @param fromCall - The CallConnectionId for the call you want to move the participant from.\n * @param options - Additional attributes for move participants.\n */\n public async moveParticipants(\n targetParticipants: CommunicationIdentifier[],\n fromCall: string,\n options: MoveParticipantsOptions = {},\n ): Promise<MoveParticipantsResult> {\n const moveParticipantsRequest: MoveParticipantsRequest = {\n targetParticipants: targetParticipants.map((participant) =>\n communicationIdentifierModelConverter(participant),\n ),\n fromCall: fromCall,\n operationContext: options.operationContext ? options.operationContext : randomUUID(),\n operationCallbackUri: options.operationCallbackUrl,\n };\n const optionsInternal = {\n ...options,\n repeatabilityFirstSent: new Date(),\n repeatabilityRequestID: randomUUID(),\n };\n const result = await this.callConnection.moveParticipants(\n this.callConnectionId,\n moveParticipantsRequest,\n optionsInternal,\n );\n const moveParticipantsResult: MoveParticipantsResult = {\n ...result,\n participants: result.participants?.map((participant) =>\n callParticipantConverter(participant),\n ),\n fromCall: fromCall,\n };\n return moveParticipantsResult;\n }\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CallAutomationApiClientOptionalParams, Tone } from "./generated/src/index.js";
|
|
2
2
|
import type { CommunicationIdentifier } from "@azure/communication-common";
|
|
3
3
|
import type { FileSource, TextSource, SsmlSource, DtmfTone } from "./models/models.js";
|
|
4
|
-
import type { PlayOptions, CallMediaRecognizeDtmfOptions, CallMediaRecognizeChoiceOptions, ContinuousDtmfRecognitionOptions, SendDtmfTonesOptions, CallMediaRecognizeSpeechOptions, CallMediaRecognizeSpeechOrDtmfOptions, StartTranscriptionOptions, StopTranscriptionOptions, HoldOptions, UnholdOptions, StartMediaStreamingOptions, StopMediaStreamingOptions, PlayToAllOptions, UpdateTranscriptionOptions } from "./models/options.js";
|
|
4
|
+
import type { PlayOptions, CallMediaRecognizeDtmfOptions, CallMediaRecognizeChoiceOptions, ContinuousDtmfRecognitionOptions, SendDtmfTonesOptions, CallMediaRecognizeSpeechOptions, CallMediaRecognizeSpeechOrDtmfOptions, StartTranscriptionOptions, StopTranscriptionOptions, HoldOptions, UnholdOptions, StartMediaStreamingOptions, StopMediaStreamingOptions, PlayToAllOptions, UpdateTranscriptionOptions, SummarizeCallOptions } from "./models/options.js";
|
|
5
5
|
import type { KeyCredential, TokenCredential } from "@azure/core-auth";
|
|
6
6
|
import type { SendDtmfTonesResult } from "./models/responses.js";
|
|
7
7
|
/**
|
|
@@ -82,6 +82,7 @@ export declare class CallMedia {
|
|
|
82
82
|
unhold(targetParticipant: CommunicationIdentifier, options?: UnholdOptions): Promise<void>;
|
|
83
83
|
/**
|
|
84
84
|
* Starts transcription in the call
|
|
85
|
+
* @param locales - List of languages for Language Identification.
|
|
85
86
|
* @param options - Additional attributes for start transcription.
|
|
86
87
|
*/
|
|
87
88
|
startTranscription(options?: StartTranscriptionOptions): Promise<void>;
|
|
@@ -92,9 +93,13 @@ export declare class CallMedia {
|
|
|
92
93
|
stopTranscription(options?: StopTranscriptionOptions): Promise<void>;
|
|
93
94
|
/**
|
|
94
95
|
* Update transcription language.
|
|
95
|
-
* @param locale - Defines new locale for transcription.
|
|
96
96
|
*/
|
|
97
97
|
updateTranscription(locale: string, options?: UpdateTranscriptionOptions): Promise<void>;
|
|
98
|
+
/**
|
|
99
|
+
* Summarize call details.
|
|
100
|
+
* @param options - Additional attributes for summarize call.
|
|
101
|
+
*/
|
|
102
|
+
summarizeCall(options?: SummarizeCallOptions): Promise<void>;
|
|
98
103
|
/**
|
|
99
104
|
* Starts media streaming in the call.
|
|
100
105
|
* @param options - Additional attributes for start media streaming.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callMedia.d.ts","sourceRoot":"","sources":["../../src/callMedia.ts"],"names":[],"mappings":"AAGA,OAAO,EAUL,qCAAqC,EAGrC,IAAI,
|
|
1
|
+
{"version":3,"file":"callMedia.d.ts","sourceRoot":"","sources":["../../src/callMedia.ts"],"names":[],"mappings":"AAGA,OAAO,EAUL,qCAAqC,EAGrC,IAAI,EAUL,MAAM,0BAA0B,CAAC;AAKlC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAM3E,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,KAAK,EACV,WAAW,EACX,6BAA6B,EAC7B,+BAA+B,EAC/B,gCAAgC,EAChC,oBAAoB,EACpB,+BAA+B,EAC/B,qCAAqC,EACrC,yBAAyB,EACzB,wBAAwB,EACxB,WAAW,EACX,aAAa,EACb,0BAA0B,EAC1B,yBAAyB,EACzB,gBAAgB,EAChB,0BAA0B,EAC1B,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;IAC1C,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0B;gBAEhE,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,aAAa,GAAG,eAAe,EAC3C,OAAO,CAAC,EAAE,qCAAqC;IASjD,OAAO,CAAC,wBAAwB;IA6ChC;;;;;;OAMG;IACU,IAAI,CACf,WAAW,EAAE,CAAC,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC,EAAE,EACrD,MAAM,EAAE,uBAAuB,EAAE,EACjC,OAAO,GAAE,WAA6B,GACrC,OAAO,CAAC,IAAI,CAAC;IAkBhB;;;;;OAKG;IACU,SAAS,CACpB,WAAW,EAAE,CAAC,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC,EAAE,EACrD,OAAO,GAAE,gBAAkC,GAC1C,OAAO,CAAC,IAAI,CAAC;IA0BhB,OAAO,CAAC,sBAAsB;IA4I9B;;;;;;SAMK;IACQ,gBAAgB,CAC3B,iBAAiB,EAAE,uBAAuB,EAC1C,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,IAAI,CAAC;IAEhB;;;;SAIK;IACQ,gBAAgB,CAC3B,iBAAiB,EAAE,uBAAuB,EAC1C,OAAO,EACH,6BAA6B,GAC7B,+BAA+B,GAC/B,+BAA+B,GAC/B,qCAAqC,GACxC,OAAO,CAAC,IAAI,CAAC;IAoChB;;OAEG;IACU,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjD;;;;SAIK;IACQ,8BAA8B,CACzC,iBAAiB,EAAE,uBAAuB,EAC1C,OAAO,GAAE,gCAAqC,GAC7C,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;SAIK;IACQ,6BAA6B,CACxC,iBAAiB,EAAE,uBAAuB,EAC1C,OAAO,GAAE,gCAAqC,GAC7C,OAAO,CAAC,IAAI,CAAC;IAahB;;;;;SAKK;IACQ,aAAa,CACxB,KAAK,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE,EAC1B,iBAAiB,EAAE,uBAAuB,EAC1C,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC;IAwB/B;;;;;OAKG;IACU,IAAI,CACf,iBAAiB,EAAE,uBAAuB,EAC1C,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,IAAI,CAAC;IAehB;;;;;OAKG;IACU,MAAM,CACjB,iBAAiB,EAAE,uBAAuB,EAC1C,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC;IAWhB;;;;OAIG;IACU,kBAAkB,CAAC,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAcvF;;;OAGG;IACU,iBAAiB,CAAC,OAAO,GAAE,wBAA6B,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrF;;OAEG;IACU,mBAAmB,CAC9B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,IAAI,CAAC;IAiBhB;;;OAGG;IACU,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAY7E;;;OAGG;IACU,mBAAmB,CAAC,OAAO,GAAE,0BAA+B,GAAG,OAAO,CAAC,IAAI,CAAC;IAYzF;;;OAGG;IACU,kBAAkB,CAAC,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;CAWxF"}
|
|
@@ -156,6 +156,8 @@ class CallMedia {
|
|
|
156
156
|
: 5,
|
|
157
157
|
targetParticipant: (0, communication_common_1.serializeCommunicationIdentifier)(targetParticipant),
|
|
158
158
|
speechLanguage: recognizeOptions.speechLanguage,
|
|
159
|
+
speechLanguages: recognizeOptions.speechLanguages,
|
|
160
|
+
enableSentimentAnalysis: recognizeOptions.enableSentimentAnalysis,
|
|
159
161
|
speechRecognitionModelEndpointId: recognizeOptions.speechRecognitionModelEndpointId,
|
|
160
162
|
choices: recognizeOptions.choices,
|
|
161
163
|
};
|
|
@@ -187,6 +189,8 @@ class CallMedia {
|
|
|
187
189
|
targetParticipant: (0, communication_common_1.serializeCommunicationIdentifier)(targetParticipant),
|
|
188
190
|
speechOptions: speechOptions,
|
|
189
191
|
speechLanguage: recognizeOptions.speechLanguage,
|
|
192
|
+
speechLanguages: recognizeOptions.speechLanguages,
|
|
193
|
+
enableSentimentAnalysis: recognizeOptions.enableSentimentAnalysis,
|
|
190
194
|
speechRecognitionModelEndpointId: recognizeOptions.speechRecognitionModelEndpointId,
|
|
191
195
|
};
|
|
192
196
|
return {
|
|
@@ -224,6 +228,8 @@ class CallMedia {
|
|
|
224
228
|
targetParticipant: (0, communication_common_1.serializeCommunicationIdentifier)(targetParticipant),
|
|
225
229
|
speechOptions: speechOptions,
|
|
226
230
|
dtmfOptions: dtmfOptionsInternal,
|
|
231
|
+
speechLanguages: recognizeOptions.speechLanguages,
|
|
232
|
+
enableSentimentAnalysis: recognizeOptions.enableSentimentAnalysis,
|
|
227
233
|
speechRecognitionModelEndpointId: recognizeOptions.speechRecognitionModelEndpointId,
|
|
228
234
|
};
|
|
229
235
|
return {
|
|
@@ -346,6 +352,7 @@ class CallMedia {
|
|
|
346
352
|
}
|
|
347
353
|
/**
|
|
348
354
|
* Starts transcription in the call
|
|
355
|
+
* @param locales - List of languages for Language Identification.
|
|
349
356
|
* @param options - Additional attributes for start transcription.
|
|
350
357
|
*/
|
|
351
358
|
async startTranscription(options = {}) {
|
|
@@ -354,6 +361,10 @@ class CallMedia {
|
|
|
354
361
|
operationContext: options.operationContext,
|
|
355
362
|
speechModelEndpointId: options.speechRecognitionModelEndpointId,
|
|
356
363
|
operationCallbackUri: options.operationCallbackUrl,
|
|
364
|
+
piiRedactionOptions: options.piiRedactionOptions,
|
|
365
|
+
locales: options.locales,
|
|
366
|
+
enableSentimentAnalysis: options.enableSentimentAnalysis,
|
|
367
|
+
summarizationOptions: options.summarizationOptions,
|
|
357
368
|
};
|
|
358
369
|
return this.callMedia.startTranscription(this.callConnectionId, startTranscriptionRequest, {});
|
|
359
370
|
}
|
|
@@ -370,17 +381,34 @@ class CallMedia {
|
|
|
370
381
|
}
|
|
371
382
|
/**
|
|
372
383
|
* Update transcription language.
|
|
373
|
-
* @param locale - Defines new locale for transcription.
|
|
374
384
|
*/
|
|
375
|
-
async updateTranscription(locale, options) {
|
|
385
|
+
async updateTranscription(locale, options = {}) {
|
|
376
386
|
const updateTranscriptionRequest = {
|
|
377
387
|
locale: locale,
|
|
378
|
-
speechModelEndpointId: options
|
|
379
|
-
operationContext: options
|
|
380
|
-
operationCallbackUri: options
|
|
388
|
+
speechModelEndpointId: options.speechRecognitionModelEndpointId,
|
|
389
|
+
operationContext: options.operationContext,
|
|
390
|
+
operationCallbackUri: options.operationCallbackUrl,
|
|
391
|
+
piiRedactionOptions: options.piiRedactionOptions,
|
|
392
|
+
enableSentimentAnalysis: options.enableSentimentAnalysis,
|
|
393
|
+
summarizationOptions: options.summarizationOptions,
|
|
381
394
|
};
|
|
382
395
|
return this.callMedia.updateTranscription(this.callConnectionId, updateTranscriptionRequest, {});
|
|
383
396
|
}
|
|
397
|
+
/**
|
|
398
|
+
* Summarize call details.
|
|
399
|
+
* @param options - Additional attributes for summarize call.
|
|
400
|
+
*/
|
|
401
|
+
async summarizeCall(options = {}) {
|
|
402
|
+
const summarizeCallRequest = {
|
|
403
|
+
operationContext: options.operationContext,
|
|
404
|
+
operationCallbackUri: options.operationCallbackUrl,
|
|
405
|
+
summarizationOptions: {
|
|
406
|
+
enableEndCallSummary: options.summarizationOptions?.enableEndCallSummary,
|
|
407
|
+
locale: options.summarizationOptions?.locale,
|
|
408
|
+
},
|
|
409
|
+
};
|
|
410
|
+
return this.callMedia.summarizeCall(this.callConnectionId, summarizeCallRequest, {});
|
|
411
|
+
}
|
|
384
412
|
/**
|
|
385
413
|
* Starts media streaming in the call.
|
|
386
414
|
* @param options - Additional attributes for start media streaming.
|