{"version":3,"sources":["src/common.speech/Transcription/ConversationConnectionFactory.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,WAAW,EAAqB,MAAM,yBAAyB,CAAC;AAGrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAI3D;;;GAGG;AACH,qBAAa,6BAA8B,SAAQ,qBAAqB;IAE7D,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CAiB3G","file":"ConversationConnectionFactory.d.ts","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\n\nimport { ProxyInfo, WebsocketConnection } from \"../../common.browser/Exports.js\";\nimport { createGuid, IConnection, IStringDictionary } from \"../../common/Exports.js\";\nimport { Contracts } from \"../../sdk/Contracts.js\";\nimport { PropertyId } from \"../../sdk/Exports.js\";\nimport { ConnectionFactoryBase } from \"../ConnectionFactoryBase.js\";\nimport { AuthInfo, RecognizerConfig } from \"../Exports.js\";\nimport { ConversationConnectionConfig } from \"./ConversationConnectionConfig.js\";\nimport { ConversationWebsocketMessageFormatter } from \"./ConversationWebsocketMessageFormatter.js\";\n\n/**\n * Create a connection to the Conversation Translator websocket for sending instant messages and commands, and for receiving translated messages.\n * The conversation must already have been started or joined.\n */\nexport class ConversationConnectionFactory extends ConnectionFactoryBase {\n\n    public create(config: RecognizerConfig, authInfo: AuthInfo, connectionId?: string): Promise<IConnection> {\n\n        const endpointHost: string = config.parameters.getProperty(PropertyId.ConversationTranslator_Host, ConversationConnectionConfig.host);\n        const correlationId: string = config.parameters.getProperty(PropertyId.ConversationTranslator_CorrelationId, createGuid());\n\n        const endpoint: string = `wss://${endpointHost}${ConversationConnectionConfig.webSocketPath}`;\n        const token: string = config.parameters.getProperty(PropertyId.ConversationTranslator_Token, undefined);\n        Contracts.throwIfNullOrUndefined(token, \"token\");\n\n        const queryParams: IStringDictionary<string> = {};\n        queryParams[ConversationConnectionConfig.configParams.apiVersion] = ConversationConnectionConfig.apiVersion;\n        queryParams[ConversationConnectionConfig.configParams.token] = token;\n        queryParams[ConversationConnectionConfig.configParams.correlationId] = correlationId;\n        const enableCompression: boolean = config.parameters.getProperty(\"SPEECH-EnableWebsocketCompression\", \"false\") === \"true\";\n        return Promise.resolve(new WebsocketConnection(endpoint, queryParams, {}, new ConversationWebsocketMessageFormatter(), ProxyInfo.fromRecognizerConfig(config), enableCompression, connectionId));\n    }\n\n}\n"]}