{"version":3,"sources":["src/common.speech/RecognizerConfig.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAc,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAW,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,6DAA6D,CAAC;AAE9F,oBAAY,kBAAkB;IAC1B,MAAM,IAAA;IACN,QAAQ,IAAA;CACX;AAED,qBAAa,gBAAgB;IACzB,OAAO,CAAC,mBAAmB,CAAkB;IAC7C,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,uBAAuB,CAAsB;IACrD,OAAO,CAAC,8BAA8B,CAAS;IAC/C,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,mBAAmB,CAAU;gBAGjC,mBAAmB,EAAE,mBAAmB,EACxC,UAAU,EAAE,kBAAkB;IAQlC,IAAW,UAAU,IAAI,kBAAkB,CAE1C;IAED,IAAW,eAAe,IAAI,eAAe,CAE5C;IAED,IAAW,eAAe,CAAC,KAAK,EAAE,eAAe,EAIhD;IAED,IAAW,mBAAmB,IAAI,mBAAmB,CAEpD;IAED,IAAW,0BAA0B,IAAI,MAAM,CAE9C;IAED,IAAW,uBAAuB,IAAI,OAAO,CAE5C;IAED,IAAW,cAAc,IAAI,MAAM,CAElC;IAED,IAAW,yBAAyB,IAAI,MAAM,CAE7C;IAED,IAAW,0BAA0B,IAAI,MAAM,CAE9C;IAED,IAAW,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAEpD;IAED,IAAW,oBAAoB,IAAI;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAgB1E;IAED,IAAW,aAAa,IAAI,MAAM,CAEjC;IAED,IAAW,2BAA2B,IAAI,OAAO,CAEhD;IAED,IAAW,2BAA2B,CAAC,KAAK,EAAE,OAAO,EAEpD;CACJ","file":"RecognizerConfig.d.ts","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\n/* eslint-disable max-classes-per-file */\r\n\r\nimport { PropertyCollection, PropertyId } from \"../sdk/Exports.js\";\r\nimport { Context, SpeechServiceConfig } from \"./Exports.js\";\r\nimport { RecognitionMode } from \"./ServiceMessages/PhraseDetection/PhraseDetectionContext.js\";\r\n\r\nexport enum SpeechResultFormat {\r\n    Simple,\r\n    Detailed,\r\n}\r\n\r\nexport class RecognizerConfig {\r\n    private privRecognitionMode: RecognitionMode;\r\n    private privLanguageIdMode: string;\r\n    private privSpeechServiceConfig: SpeechServiceConfig;\r\n    private privRecognitionActivityTimeout: number;\r\n    private privParameters: PropertyCollection;\r\n    private privMaxRetryCount: number;\r\n    private privEnableSpeakerId: boolean;\r\n\r\n    public constructor(\r\n        speechServiceConfig: SpeechServiceConfig,\r\n        parameters: PropertyCollection) {\r\n        this.privSpeechServiceConfig = speechServiceConfig ? speechServiceConfig : new SpeechServiceConfig(new Context(null));\r\n        this.privParameters = parameters;\r\n        this.privMaxRetryCount = parseInt(parameters.getProperty(\"SPEECH-Error-MaxRetryCount\", \"4\"), 10);\r\n        this.privLanguageIdMode = parameters.getProperty(PropertyId.SpeechServiceConnection_LanguageIdMode, undefined);\r\n        this.privEnableSpeakerId = false;\r\n    }\r\n\r\n    public get parameters(): PropertyCollection {\r\n        return this.privParameters;\r\n    }\r\n\r\n    public get recognitionMode(): RecognitionMode {\r\n        return this.privRecognitionMode;\r\n    }\r\n\r\n    public set recognitionMode(value: RecognitionMode) {\r\n        this.privRecognitionMode = value;\r\n        this.privRecognitionActivityTimeout = value === RecognitionMode.Interactive ? 8000 : 25000;\r\n        this.privSpeechServiceConfig.Recognition = RecognitionMode[value];\r\n    }\r\n\r\n    public get SpeechServiceConfig(): SpeechServiceConfig {\r\n        return this.privSpeechServiceConfig;\r\n    }\r\n\r\n    public get recognitionActivityTimeout(): number {\r\n        return this.privRecognitionActivityTimeout;\r\n    }\r\n\r\n    public get isContinuousRecognition(): boolean {\r\n        return this.privRecognitionMode !== RecognitionMode.Interactive;\r\n    }\r\n\r\n    public get languageIdMode(): string {\r\n        return this.privLanguageIdMode;\r\n    }\r\n\r\n    public get autoDetectSourceLanguages(): string {\r\n        return this.parameters.getProperty(PropertyId.SpeechServiceConnection_AutoDetectSourceLanguages, undefined);\r\n    }\r\n\r\n    public get recognitionEndpointVersion(): string {\r\n        return this.parameters.getProperty(PropertyId.SpeechServiceConnection_RecognitionEndpointVersion, \"2\");\r\n    }\r\n\r\n    public set recognitionEndpointVersion(version: string) {\r\n        this.parameters.setProperty(PropertyId.SpeechServiceConnection_RecognitionEndpointVersion, version);\r\n    }\r\n\r\n    public get sourceLanguageModels(): { language: string; endpoint: string }[] {\r\n        const models: { language: string; endpoint: string }[] = [];\r\n        let modelsExist: boolean = false;\r\n        if (this.autoDetectSourceLanguages !== undefined) {\r\n            for (const language of this.autoDetectSourceLanguages.split(\",\")) {\r\n                const customProperty = language + PropertyId.SpeechServiceConnection_EndpointId.toString();\r\n                const modelId: string = this.parameters.getProperty(customProperty, undefined);\r\n                if (modelId !== undefined) {\r\n                    models.push({ language, endpoint: modelId });\r\n                    modelsExist = true;\r\n                } else {\r\n                    models.push({ language, endpoint: \"\" });\r\n                }\r\n            }\r\n        }\r\n        return modelsExist ? models : undefined;\r\n    }\r\n\r\n    public get maxRetryCount(): number {\r\n        return this.privMaxRetryCount;\r\n    }\r\n\r\n    public get isSpeakerDiarizationEnabled(): boolean {\r\n        return this.privEnableSpeakerId;\r\n    }\r\n\r\n    public set isSpeakerDiarizationEnabled(value: boolean) {\r\n        this.privEnableSpeakerId = value;\r\n    }\r\n}\r\n"]}