a98eedd8f0fb2afc94aa88ec8b0f80d957080591c6a4fad059136d55c9d2253a.json 26 KB

1
  1. {"ast":null,"code":"\"use strict\";\n\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar _asyncToGenerator = require(\"F:/workspace/202226701027/huinongbao-app/node_modules/@babel/runtime/helpers/asyncToGenerator.js\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.RequestSession = void 0;\nconst Exports_js_1 = require(\"../common/Exports.js\");\nconst RecognitionEvents_js_1 = require(\"./RecognitionEvents.js\");\nconst ServiceTelemetryListener_Internal_js_1 = require(\"./ServiceTelemetryListener.Internal.js\");\nclass RequestSession {\n constructor(audioSourceId) {\n this.privIsDisposed = false;\n this.privDetachables = new Array();\n this.privIsAudioNodeDetached = false;\n this.privIsRecognizing = false;\n this.privIsSpeechEnded = false;\n this.privTurnStartAudioOffset = 0;\n this.privLastRecoOffset = 0;\n this.privHypothesisReceived = false;\n this.privBytesSent = 0;\n this.privRecognitionBytesSent = 0;\n this.privRecogNumber = 0;\n this.privInTurn = false;\n this.privConnectionAttempts = 0;\n this.privAudioSourceId = audioSourceId;\n this.privRequestId = Exports_js_1.createNoDashGuid();\n this.privAudioNodeId = Exports_js_1.createNoDashGuid();\n this.privTurnDeferral = new Exports_js_1.Deferred();\n // We're not in a turn, so resolve.\n this.privTurnDeferral.resolve();\n }\n get sessionId() {\n return this.privSessionId;\n }\n get requestId() {\n return this.privRequestId;\n }\n get audioNodeId() {\n return this.privAudioNodeId;\n }\n get turnCompletionPromise() {\n return this.privTurnDeferral.promise;\n }\n get isSpeechEnded() {\n return this.privIsSpeechEnded;\n }\n get isRecognizing() {\n return this.privIsRecognizing;\n }\n get currentTurnAudioOffset() {\n return this.privTurnStartAudioOffset;\n }\n get recogNumber() {\n return this.privRecogNumber;\n }\n get numConnectionAttempts() {\n return this.privConnectionAttempts;\n }\n // The number of bytes sent for the current connection.\n // Counter is reset to 0 each time a connection is established.\n get bytesSent() {\n return this.privBytesSent;\n }\n // The number of bytes sent for the current recognition.\n // Counter is reset to 0 each time recognition is started.\n get recognitionBytesSent() {\n return this.privRecognitionBytesSent;\n }\n listenForServiceTelemetry(eventSource) {\n if (!!this.privServiceTelemetryListener) {\n this.privDetachables.push(eventSource.attachListener(this.privServiceTelemetryListener));\n }\n }\n startNewRecognition() {\n this.privRecognitionBytesSent = 0;\n this.privIsSpeechEnded = false;\n this.privIsRecognizing = true;\n this.privTurnStartAudioOffset = 0;\n this.privLastRecoOffset = 0;\n this.privRecogNumber++;\n this.privServiceTelemetryListener = new ServiceTelemetryListener_Internal_js_1.ServiceTelemetryListener(this.privRequestId, this.privAudioSourceId, this.privAudioNodeId);\n this.onEvent(new RecognitionEvents_js_1.RecognitionTriggeredEvent(this.requestId, this.privSessionId, this.privAudioSourceId, this.privAudioNodeId));\n }\n onAudioSourceAttachCompleted(audioNode, isError) {\n var _this = this;\n return _asyncToGenerator(function* () {\n _this.privAudioNode = audioNode;\n _this.privIsAudioNodeDetached = false;\n if (isError) {\n yield _this.onComplete();\n } else {\n _this.onEvent(new RecognitionEvents_js_1.ListeningStartedEvent(_this.privRequestId, _this.privSessionId, _this.privAudioSourceId, _this.privAudioNodeId));\n }\n })();\n }\n onPreConnectionStart(authFetchEventId, connectionId) {\n this.privAuthFetchEventId = authFetchEventId;\n this.privSessionId = connectionId;\n this.onEvent(new RecognitionEvents_js_1.ConnectingToServiceEvent(this.privRequestId, this.privAuthFetchEventId, this.privSessionId));\n }\n onAuthCompleted(isError) {\n var _this2 = this;\n return _asyncToGenerator(function* () {\n if (isError) {\n yield _this2.onComplete();\n }\n })();\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onConnectionEstablishCompleted(statusCode, reason) {\n var _this3 = this;\n return _asyncToGenerator(function* () {\n if (statusCode === 200) {\n _this3.onEvent(new RecognitionEvents_js_1.RecognitionStartedEvent(_this3.requestId, _this3.privAudioSourceId, _this3.privAudioNodeId, _this3.privAuthFetchEventId, _this3.privSessionId));\n if (!!_this3.privAudioNode) {\n _this3.privAudioNode.replay();\n }\n _this3.privTurnStartAudioOffset = _this3.privLastRecoOffset;\n _this3.privBytesSent = 0;\n return;\n } else if (statusCode === 403) {\n yield _this3.onComplete();\n }\n })();\n }\n onServiceTurnEndResponse(continuousRecognition) {\n var _this4 = this;\n return _asyncToGenerator(function* () {\n _this4.privTurnDeferral.resolve();\n if (!continuousRecognition || _this4.isSpeechEnded) {\n yield _this4.onComplete();\n _this4.privInTurn = false;\n } else {\n // Start a new request set.\n _this4.privTurnStartAudioOffset = _this4.privLastRecoOffset;\n _this4.privAudioNode.replay();\n }\n })();\n }\n onSpeechContext() {\n this.privRequestId = Exports_js_1.createNoDashGuid();\n }\n onServiceTurnStartResponse() {\n if (!!this.privTurnDeferral && !!this.privInTurn) {\n // What? How are we starting a turn with another not done?\n this.privTurnDeferral.reject(\"Another turn started before current completed.\");\n // Avoid UnhandledPromiseRejection if privTurnDeferral is not being awaited\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n this.privTurnDeferral.promise.then().catch(() => {});\n }\n this.privInTurn = true;\n this.privTurnDeferral = new Exports_js_1.Deferred();\n }\n onHypothesis(offset) {\n if (!this.privHypothesisReceived) {\n this.privHypothesisReceived = true;\n this.privServiceTelemetryListener.hypothesisReceived(this.privAudioNode.findTimeAtOffset(offset));\n }\n }\n onPhraseRecognized(offset) {\n this.privServiceTelemetryListener.phraseReceived(this.privAudioNode.findTimeAtOffset(offset));\n this.onServiceRecognized(offset);\n }\n onServiceRecognized(offset) {\n this.privLastRecoOffset = offset;\n this.privHypothesisReceived = false;\n this.privAudioNode.shrinkBuffers(offset);\n this.privConnectionAttempts = 0;\n }\n onAudioSent(bytesSent) {\n this.privBytesSent += bytesSent;\n this.privRecognitionBytesSent += bytesSent;\n }\n onRetryConnection() {\n this.privConnectionAttempts++;\n }\n dispose() {\n var _this5 = this;\n return _asyncToGenerator(function* () {\n if (!_this5.privIsDisposed) {\n // we should have completed by now. If we did not its an unknown error.\n _this5.privIsDisposed = true;\n for (const detachable of _this5.privDetachables) {\n yield detachable.detach();\n }\n if (!!_this5.privServiceTelemetryListener) {\n _this5.privServiceTelemetryListener.dispose();\n }\n _this5.privIsRecognizing = false;\n }\n })();\n }\n getTelemetry() {\n if (this.privServiceTelemetryListener.hasTelemetry) {\n return this.privServiceTelemetryListener.getTelemetry();\n } else {\n return null;\n }\n }\n onStopRecognizing() {\n var _this6 = this;\n return _asyncToGenerator(function* () {\n yield _this6.onComplete();\n })();\n }\n // Should be called with the audioNode for this session has indicated that it is out of speech.\n onSpeechEnded() {\n this.privIsSpeechEnded = true;\n }\n onEvent(event) {\n if (!!this.privServiceTelemetryListener) {\n this.privServiceTelemetryListener.onEvent(event);\n }\n Exports_js_1.Events.instance.onEvent(event);\n }\n onComplete() {\n var _this7 = this;\n return _asyncToGenerator(function* () {\n if (!!_this7.privIsRecognizing) {\n _this7.privIsRecognizing = false;\n yield _this7.detachAudioNode();\n }\n })();\n }\n detachAudioNode() {\n var _this8 = this;\n return _asyncToGenerator(function* () {\n if (!_this8.privIsAudioNodeDetached) {\n _this8.privIsAudioNodeDetached = true;\n if (_this8.privAudioNode) {\n yield _this8.privAudioNode.detach();\n }\n }\n })();\n }\n}\nexports.RequestSession = RequestSession;","map":{"version":3,"names":["_asyncToGenerator","require","default","Object","defineProperty","exports","value","RequestSession","Exports_js_1","RecognitionEvents_js_1","ServiceTelemetryListener_Internal_js_1","constructor","audioSourceId","privIsDisposed","privDetachables","Array","privIsAudioNodeDetached","privIsRecognizing","privIsSpeechEnded","privTurnStartAudioOffset","privLastRecoOffset","privHypothesisReceived","privBytesSent","privRecognitionBytesSent","privRecogNumber","privInTurn","privConnectionAttempts","privAudioSourceId","privRequestId","createNoDashGuid","privAudioNodeId","privTurnDeferral","Deferred","resolve","sessionId","privSessionId","requestId","audioNodeId","turnCompletionPromise","promise","isSpeechEnded","isRecognizing","currentTurnAudioOffset","recogNumber","numConnectionAttempts","bytesSent","recognitionBytesSent","listenForServiceTelemetry","eventSource","privServiceTelemetryListener","push","attachListener","startNewRecognition","ServiceTelemetryListener","onEvent","RecognitionTriggeredEvent","onAudioSourceAttachCompleted","audioNode","isError","_this","privAudioNode","onComplete","ListeningStartedEvent","onPreConnectionStart","authFetchEventId","connectionId","privAuthFetchEventId","ConnectingToServiceEvent","onAuthCompleted","_this2","onConnectionEstablishCompleted","statusCode","reason","_this3","RecognitionStartedEvent","replay","onServiceTurnEndResponse","continuousRecognition","_this4","onSpeechContext","onServiceTurnStartResponse","reject","then","catch","onHypothesis","offset","hypothesisReceived","findTimeAtOffset","onPhraseRecognized","phraseReceived","onServiceRecognized","shrinkBuffers","onAudioSent","onRetryConnection","dispose","_this5","detachable","detach","getTelemetry","hasTelemetry","onStopRecognizing","_this6","onSpeechEnded","event","Events","instance","_this7","detachAudioNode","_this8"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/RequestSession.js"],"sourcesContent":["\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RequestSession = void 0;\nconst Exports_js_1 = require(\"../common/Exports.js\");\nconst RecognitionEvents_js_1 = require(\"./RecognitionEvents.js\");\nconst ServiceTelemetryListener_Internal_js_1 = require(\"./ServiceTelemetryListener.Internal.js\");\nclass RequestSession {\n constructor(audioSourceId) {\n this.privIsDisposed = false;\n this.privDetachables = new Array();\n this.privIsAudioNodeDetached = false;\n this.privIsRecognizing = false;\n this.privIsSpeechEnded = false;\n this.privTurnStartAudioOffset = 0;\n this.privLastRecoOffset = 0;\n this.privHypothesisReceived = false;\n this.privBytesSent = 0;\n this.privRecognitionBytesSent = 0;\n this.privRecogNumber = 0;\n this.privInTurn = false;\n this.privConnectionAttempts = 0;\n this.privAudioSourceId = audioSourceId;\n this.privRequestId = Exports_js_1.createNoDashGuid();\n this.privAudioNodeId = Exports_js_1.createNoDashGuid();\n this.privTurnDeferral = new Exports_js_1.Deferred();\n // We're not in a turn, so resolve.\n this.privTurnDeferral.resolve();\n }\n get sessionId() {\n return this.privSessionId;\n }\n get requestId() {\n return this.privRequestId;\n }\n get audioNodeId() {\n return this.privAudioNodeId;\n }\n get turnCompletionPromise() {\n return this.privTurnDeferral.promise;\n }\n get isSpeechEnded() {\n return this.privIsSpeechEnded;\n }\n get isRecognizing() {\n return this.privIsRecognizing;\n }\n get currentTurnAudioOffset() {\n return this.privTurnStartAudioOffset;\n }\n get recogNumber() {\n return this.privRecogNumber;\n }\n get numConnectionAttempts() {\n return this.privConnectionAttempts;\n }\n // The number of bytes sent for the current connection.\n // Counter is reset to 0 each time a connection is established.\n get bytesSent() {\n return this.privBytesSent;\n }\n // The number of bytes sent for the current recognition.\n // Counter is reset to 0 each time recognition is started.\n get recognitionBytesSent() {\n return this.privRecognitionBytesSent;\n }\n listenForServiceTelemetry(eventSource) {\n if (!!this.privServiceTelemetryListener) {\n this.privDetachables.push(eventSource.attachListener(this.privServiceTelemetryListener));\n }\n }\n startNewRecognition() {\n this.privRecognitionBytesSent = 0;\n this.privIsSpeechEnded = false;\n this.privIsRecognizing = true;\n this.privTurnStartAudioOffset = 0;\n this.privLastRecoOffset = 0;\n this.privRecogNumber++;\n this.privServiceTelemetryListener = new ServiceTelemetryListener_Internal_js_1.ServiceTelemetryListener(this.privRequestId, this.privAudioSourceId, this.privAudioNodeId);\n this.onEvent(new RecognitionEvents_js_1.RecognitionTriggeredEvent(this.requestId, this.privSessionId, this.privAudioSourceId, this.privAudioNodeId));\n }\n async onAudioSourceAttachCompleted(audioNode, isError) {\n this.privAudioNode = audioNode;\n this.privIsAudioNodeDetached = false;\n if (isError) {\n await this.onComplete();\n }\n else {\n this.onEvent(new RecognitionEvents_js_1.ListeningStartedEvent(this.privRequestId, this.privSessionId, this.privAudioSourceId, this.privAudioNodeId));\n }\n }\n onPreConnectionStart(authFetchEventId, connectionId) {\n this.privAuthFetchEventId = authFetchEventId;\n this.privSessionId = connectionId;\n this.onEvent(new RecognitionEvents_js_1.ConnectingToServiceEvent(this.privRequestId, this.privAuthFetchEventId, this.privSessionId));\n }\n async onAuthCompleted(isError) {\n if (isError) {\n await this.onComplete();\n }\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async onConnectionEstablishCompleted(statusCode, reason) {\n if (statusCode === 200) {\n this.onEvent(new RecognitionEvents_js_1.RecognitionStartedEvent(this.requestId, this.privAudioSourceId, this.privAudioNodeId, this.privAuthFetchEventId, this.privSessionId));\n if (!!this.privAudioNode) {\n this.privAudioNode.replay();\n }\n this.privTurnStartAudioOffset = this.privLastRecoOffset;\n this.privBytesSent = 0;\n return;\n }\n else if (statusCode === 403) {\n await this.onComplete();\n }\n }\n async onServiceTurnEndResponse(continuousRecognition) {\n this.privTurnDeferral.resolve();\n if (!continuousRecognition || this.isSpeechEnded) {\n await this.onComplete();\n this.privInTurn = false;\n }\n else {\n // Start a new request set.\n this.privTurnStartAudioOffset = this.privLastRecoOffset;\n this.privAudioNode.replay();\n }\n }\n onSpeechContext() {\n this.privRequestId = Exports_js_1.createNoDashGuid();\n }\n onServiceTurnStartResponse() {\n if (!!this.privTurnDeferral && !!this.privInTurn) {\n // What? How are we starting a turn with another not done?\n this.privTurnDeferral.reject(\"Another turn started before current completed.\");\n // Avoid UnhandledPromiseRejection if privTurnDeferral is not being awaited\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n this.privTurnDeferral.promise.then().catch(() => { });\n }\n this.privInTurn = true;\n this.privTurnDeferral = new Exports_js_1.Deferred();\n }\n onHypothesis(offset) {\n if (!this.privHypothesisReceived) {\n this.privHypothesisReceived = true;\n this.privServiceTelemetryListener.hypothesisReceived(this.privAudioNode.findTimeAtOffset(offset));\n }\n }\n onPhraseRecognized(offset) {\n this.privServiceTelemetryListener.phraseReceived(this.privAudioNode.findTimeAtOffset(offset));\n this.onServiceRecognized(offset);\n }\n onServiceRecognized(offset) {\n this.privLastRecoOffset = offset;\n this.privHypothesisReceived = false;\n this.privAudioNode.shrinkBuffers(offset);\n this.privConnectionAttempts = 0;\n }\n onAudioSent(bytesSent) {\n this.privBytesSent += bytesSent;\n this.privRecognitionBytesSent += bytesSent;\n }\n onRetryConnection() {\n this.privConnectionAttempts++;\n }\n async dispose() {\n if (!this.privIsDisposed) {\n // we should have completed by now. If we did not its an unknown error.\n this.privIsDisposed = true;\n for (const detachable of this.privDetachables) {\n await detachable.detach();\n }\n if (!!this.privServiceTelemetryListener) {\n this.privServiceTelemetryListener.dispose();\n }\n this.privIsRecognizing = false;\n }\n }\n getTelemetry() {\n if (this.privServiceTelemetryListener.hasTelemetry) {\n return this.privServiceTelemetryListener.getTelemetry();\n }\n else {\n return null;\n }\n }\n async onStopRecognizing() {\n await this.onComplete();\n }\n // Should be called with the audioNode for this session has indicated that it is out of speech.\n onSpeechEnded() {\n this.privIsSpeechEnded = true;\n }\n onEvent(event) {\n if (!!this.privServiceTelemetryListener) {\n this.privServiceTelemetryListener.onEvent(event);\n }\n Exports_js_1.Events.instance.onEvent(event);\n }\n async onComplete() {\n if (!!this.privIsRecognizing) {\n this.privIsRecognizing = false;\n await this.detachAudioNode();\n }\n }\n async detachAudioNode() {\n if (!this.privIsAudioNodeDetached) {\n this.privIsAudioNodeDetached = true;\n if (this.privAudioNode) {\n await this.privAudioNode.detach();\n }\n }\n }\n}\nexports.RequestSession = RequestSession;\n\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]}