UNPKG

@hahnpro/ms-speech-sdk

Version:
1 lines 3.01 kB
{"version":3,"sources":["src/common.speech/Transcription/ConversationRequestSession.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,qBAAa,0BAA0B;IACnC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,eAAe,CAA2C;IAClE,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,6BAA6B,CAAiB;IACtD,OAAO,CAAC,aAAa,CAAS;gBAEX,SAAS,EAAE,MAAM;IAMpC,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAE5C;IAEM,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAI1E,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAMvC,8BAA8B,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAQxD,wBAAwB,CAAC,qBAAqB,EAAE,OAAO,GAAG,IAAI;IAQxD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAUrC,OAAO,CAAC,UAAU;CAIrB","file":"ConversationRequestSession.d.ts","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\n\nimport {\n createNoDashGuid,\n Deferred,\n IDetachable,\n} from \"../../common/Exports.js\";\n\n/**\n * Placeholder class for the Conversation Request Session. Based off RequestSession.\n * TODO: define what telemetry is required.\n */\nexport class ConversationRequestSession {\n private privIsDisposed: boolean = false;\n private privDetachables: IDetachable[] = new Array<IDetachable>();\n private privRequestId: string;\n private privRequestCompletionDeferral: Deferred<void>;\n private privSessionId: string;\n\n public constructor(sessionId: string) {\n this.privSessionId = sessionId;\n this.privRequestId = createNoDashGuid();\n this.privRequestCompletionDeferral = new Deferred<void>();\n }\n\n public get sessionId(): string {\n return this.privSessionId;\n }\n\n public get requestId(): string {\n return this.privRequestId;\n }\n\n public get completionPromise(): Promise<void> {\n return this.privRequestCompletionDeferral.promise;\n }\n\n public onPreConnectionStart(authFetchEventId: string, connectionId: string): void {\n this.privSessionId = connectionId;\n }\n\n public onAuthCompleted(isError: boolean): void {\n if (isError) {\n this.onComplete();\n }\n }\n\n public onConnectionEstablishCompleted(statusCode: number): void {\n if (statusCode === 200) {\n return;\n } else if (statusCode === 403) {\n this.onComplete();\n }\n }\n\n public onServiceTurnEndResponse(continuousRecognition: boolean): void {\n if (!continuousRecognition) {\n this.onComplete();\n } else {\n this.privRequestId = createNoDashGuid();\n }\n }\n\n public async dispose(): Promise<void> {\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 }\n }\n\n private onComplete(): void {\n //\n }\n\n}\n"]}