@corti/dictation-web 0.1.21-rc.2 → 0.1.21-rc.3
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/CortiDictation.d.ts +2 -14
- package/dist/CortiDictation.js +9 -3
- package/dist/CortiDictation.js.map +1 -1
- package/dist/DictationService.js +4 -9
- package/dist/DictationService.js.map +1 -1
- package/dist/bundle.js +134 -135
- package/dist/types.d.ts +3 -13
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/dist/CortiDictation.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Corti } from '@corti/sdk';
|
|
1
|
+
import { type Corti } from '@corti/sdk';
|
|
2
2
|
import { LitElement } from 'lit';
|
|
3
3
|
import './components/settings-menu.js';
|
|
4
4
|
import './components/audio-visualiser.js';
|
|
@@ -23,19 +23,7 @@ export declare class CortiDictation extends LitElement {
|
|
|
23
23
|
accessToken: string;
|
|
24
24
|
expiresIn: number | undefined;
|
|
25
25
|
} | undefined;
|
|
26
|
-
setAuthConfig(config:
|
|
27
|
-
accessToken: string;
|
|
28
|
-
refreshToken?: string;
|
|
29
|
-
expiresIn?: number;
|
|
30
|
-
refreshExpiresIn?: number;
|
|
31
|
-
refreshAccessToken?: (refreshToken?: string) => Promise<{
|
|
32
|
-
accessToken: string;
|
|
33
|
-
tokenType: string;
|
|
34
|
-
expiresIn: number;
|
|
35
|
-
refreshToken?: string;
|
|
36
|
-
refreshExpiresIn?: number;
|
|
37
|
-
}>;
|
|
38
|
-
}): ServerConfig;
|
|
26
|
+
setAuthConfig(config: Corti.BearerOptions): Promise<ServerConfig>;
|
|
39
27
|
get selectedDevice(): MediaDeviceInfo | null;
|
|
40
28
|
get recordingState(): RecordingState;
|
|
41
29
|
get devices(): MediaDeviceInfo[];
|
package/dist/CortiDictation.js
CHANGED
|
@@ -88,16 +88,22 @@ export class CortiDictation extends LitElement {
|
|
|
88
88
|
throw new Error('Invalid token');
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
|
-
setAuthConfig(config) {
|
|
91
|
+
async setAuthConfig(config) {
|
|
92
92
|
try {
|
|
93
|
-
const
|
|
93
|
+
const initialToken = 'accessToken' in config
|
|
94
|
+
? { accessToken: config.accessToken }
|
|
95
|
+
: await config.refreshAccessToken();
|
|
96
|
+
if (!initialToken?.accessToken || typeof initialToken.accessToken !== 'string') {
|
|
97
|
+
throw new Error('Access token is required and must be a string');
|
|
98
|
+
}
|
|
99
|
+
const decoded = decodeToken(initialToken.accessToken);
|
|
94
100
|
if (!decoded) {
|
|
95
101
|
throw new Error('Invalid token format');
|
|
96
102
|
}
|
|
97
103
|
this._serverConfig = {
|
|
98
104
|
environment: decoded.environment,
|
|
99
105
|
tenant: decoded.tenant,
|
|
100
|
-
accessToken:
|
|
106
|
+
accessToken: initialToken.accessToken,
|
|
101
107
|
expiresIn: config.expiresIn ?? decoded.expiresIn,
|
|
102
108
|
refreshToken: config.refreshToken,
|
|
103
109
|
refreshExpiresIn: config.refreshExpiresIn,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CortiDictation.js","sourceRoot":"","sources":["../src/CortiDictation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Corti } from '@corti/sdk';\n\n// corti-dictation.ts\nimport { html, LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { RecorderManager } from './RecorderManager.js';\nimport './components/settings-menu.js';\nimport './components/audio-visualiser.js';\nimport './icons/icons.js';\nimport ThemeStyles from './styles/theme.js';\nimport ButtonStyles from './styles/buttons.js';\nimport ComponentStyles from './styles/ComponentStyles.js';\n\nimport type { RecordingState, ServerConfig } from './types.js';\nimport { DEFAULT_DICTATION_CONFIG, LANGUAGES_SUPPORTED } from './constants.js';\nimport CalloutStyles from './styles/callout.js';\nimport { decodeToken } from './utils.js';\n\nexport class CortiDictation extends LitElement {\n static styles = [ButtonStyles, ThemeStyles, ComponentStyles, CalloutStyles];\n\n @property({ type: Object })\n dictationConfig: Corti.TranscribeConfig = DEFAULT_DICTATION_CONFIG;\n\n @property({ type: Array })\n languagesSupported: Corti.TranscribeSupportedLanguage[] = LANGUAGES_SUPPORTED;\n\n @property({ type: Boolean })\n debug_displayAudio: boolean = false;\n\n @state()\n private _serverConfig: ServerConfig | undefined;\n\n @state()\n private _audioLevel: number = 0;\n\n @state()\n private _recordingState: RecordingState = 'stopped';\n\n @state()\n private _selectedDevice: MediaDeviceInfo | undefined;\n\n @state()\n private _devices: MediaDeviceInfo[] = [];\n\n private recorderManager = new RecorderManager();\n\n async connectedCallback() {\n super.connectedCallback();\n const devices = await this.recorderManager.initialize();\n if (devices.selectedDevice) {\n this._selectedDevice = this.recorderManager.selectedDevice;\n this._devices = this.recorderManager.devices;\n this.dispatchEvent(new CustomEvent('ready'));\n }\n\n // Map event names to any extra handling logic\n const eventHandlers: Record<string, (e: CustomEvent) => void> = {\n 'recording-state-changed': e => {\n this._recordingState = e.detail.state;\n },\n 'devices-changed': () => {\n this._devices = [...this.recorderManager.devices];\n this.requestUpdate();\n },\n 'audio-level-changed': e => {\n this._audioLevel = e.detail.audioLevel;\n this.requestUpdate();\n },\n };\n\n const eventsToRelay = [\n 'recording-state-changed',\n 'recording-devices-changed',\n 'audio-level-changed',\n 'error',\n 'transcript',\n 'command',\n 'ready',\n ];\n\n eventsToRelay.forEach(eventName => {\n this.recorderManager.addEventListener(eventName, (e: Event) => {\n const customEvent = e as CustomEvent;\n // Perform any additional handling if defined\n if (eventHandlers[eventName]) {\n eventHandlers[eventName](customEvent);\n }\n // Re-dispatch the event from the component\n this.dispatchEvent(\n new CustomEvent(eventName, {\n detail: customEvent.detail,\n bubbles: true,\n composed: true,\n }),\n );\n });\n });\n }\n\n public toggleRecording() {\n this._toggleRecording();\n }\n\n public setAccessToken(token: string) {\n try {\n const decoded = decodeToken(token);\n this._serverConfig = decoded;\n return decoded;\n } catch (e) {\n throw new Error('Invalid token');\n }\n }\n\n public setAuthConfig(config: {\n accessToken: string;\n refreshToken?: string;\n expiresIn?: number;\n refreshExpiresIn?: number;\n refreshAccessToken?: (refreshToken?: string) => Promise<{\n accessToken: string;\n tokenType: string;\n expiresIn: number;\n refreshToken?: string;\n refreshExpiresIn?: number;\n }>;\n }) {\n try {\n const decoded = decodeToken(config.accessToken);\n if (!decoded) {\n throw new Error('Invalid token format');\n }\n \n this._serverConfig = {\n environment: decoded.environment,\n tenant: decoded.tenant,\n accessToken: config.accessToken,\n expiresIn: config.expiresIn ?? decoded.expiresIn,\n refreshToken: config.refreshToken,\n refreshExpiresIn: config.refreshExpiresIn,\n refreshAccessToken: config.refreshAccessToken,\n };\n return this._serverConfig;\n } catch (e) {\n throw new Error('Invalid token');\n }\n }\n\n public get selectedDevice(): MediaDeviceInfo | null {\n return this.recorderManager.selectedDevice || null;\n }\n\n public get recordingState(): RecordingState {\n return this._recordingState;\n }\n\n public get devices(): MediaDeviceInfo[] {\n return this._devices;\n }\n\n public async setRecordingDevice(device: MediaDeviceInfo) {\n this.recorderManager.selectedDevice = device;\n this._selectedDevice = device;\n if (!this._serverConfig) return;\n if (this._recordingState === 'recording') {\n await this.recorderManager.stopRecording();\n await this.recorderManager.startRecording({\n dictationConfig: this.dictationConfig,\n serverConfig: this._serverConfig,\n });\n }\n }\n\n public setPrimaryLanguage(language: string) {\n if (LANGUAGES_SUPPORTED.includes(language)) {\n this.dictationConfig = {\n ...this.dictationConfig,\n primaryLanguage: language,\n };\n\n // If recording is in progress, restart to apply the language change\n if (this._serverConfig && this._recordingState === 'recording') {\n this.recorderManager.stopRecording();\n this.recorderManager.startRecording({\n dictationConfig: this.dictationConfig,\n serverConfig: this._serverConfig,\n debug_displayAudio: this.debug_displayAudio,\n });\n }\n }\n }\n\n _toggleRecording() {\n if (!this._serverConfig) return;\n if (this._recordingState === 'recording') {\n this.recorderManager.stopRecording();\n } else if (this._recordingState === 'stopped') {\n this.recorderManager.startRecording({\n dictationConfig: this.dictationConfig,\n serverConfig: this._serverConfig,\n debug_displayAudio: this.debug_displayAudio,\n });\n }\n }\n\n // Handle device change events if needed\n async _onRecordingDevicesChanged(event: Event) {\n const customEvent = event as CustomEvent;\n this.setRecordingDevice(customEvent.detail.selectedDevice);\n }\n\n // Handle language change events\n _onLanguageChanged(event: Event) {\n const customEvent = event as CustomEvent;\n const language = customEvent.detail.language;\n if (language) {\n this.setPrimaryLanguage(language);\n }\n }\n\n render() {\n if (!this._serverConfig) {\n return html` <div style=\"display: none\"></div> `;\n }\n\n const isLoading =\n this._recordingState === 'initializing' ||\n this._recordingState === 'stopping';\n const isRecording = this._recordingState === 'recording';\n return html`\n <div class=\"wrapper\">\n <button\n @click=${this._toggleRecording}\n class=${isRecording ? 'red' : 'accent'}\n >\n ${isLoading\n ? html`<icon-loading-spinner></icon-loading-spinner>`\n : isRecording\n ? html`<icon-recording></icon-recording>`\n : html`<icon-mic-on></icon-mic-on>`}\n <audio-visualiser\n .level=${this._audioLevel}\n .active=${isRecording}\n ></audio-visualiser>\n </button>\n\n <settings-menu\n .selectedDevice=${this._selectedDevice}\n .selectedLanguage=${this.dictationConfig.primaryLanguage}\n ?settingsDisabled=${this._recordingState !== 'stopped'}\n @recording-devices-changed=${this._onRecordingDevicesChanged}\n @language-changed=${this._onLanguageChanged}\n ></settings-menu>\n </div>\n `;\n }\n}\n\nexport default CortiDictation;\n"]}
|
|
1
|
+
{"version":3,"file":"CortiDictation.js","sourceRoot":"","sources":["../src/CortiDictation.ts"],"names":[],"mappings":"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","sourcesContent":["import { type Corti } from '@corti/sdk';\n\n// corti-dictation.ts\nimport { html, LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { RecorderManager } from './RecorderManager.js';\nimport './components/settings-menu.js';\nimport './components/audio-visualiser.js';\nimport './icons/icons.js';\nimport ThemeStyles from './styles/theme.js';\nimport ButtonStyles from './styles/buttons.js';\nimport ComponentStyles from './styles/ComponentStyles.js';\n\nimport type { RecordingState, ServerConfig } from './types.js';\nimport { DEFAULT_DICTATION_CONFIG, LANGUAGES_SUPPORTED } from './constants.js';\nimport CalloutStyles from './styles/callout.js';\nimport { decodeToken } from './utils.js';\n\nexport class CortiDictation extends LitElement {\n static styles = [ButtonStyles, ThemeStyles, ComponentStyles, CalloutStyles];\n\n @property({ type: Object })\n dictationConfig: Corti.TranscribeConfig = DEFAULT_DICTATION_CONFIG;\n\n @property({ type: Array })\n languagesSupported: Corti.TranscribeSupportedLanguage[] = LANGUAGES_SUPPORTED;\n\n @property({ type: Boolean })\n debug_displayAudio: boolean = false;\n\n @state()\n private _serverConfig: ServerConfig | undefined;\n\n @state()\n private _audioLevel: number = 0;\n\n @state()\n private _recordingState: RecordingState = 'stopped';\n\n @state()\n private _selectedDevice: MediaDeviceInfo | undefined;\n\n @state()\n private _devices: MediaDeviceInfo[] = [];\n\n private recorderManager = new RecorderManager();\n\n async connectedCallback() {\n super.connectedCallback();\n const devices = await this.recorderManager.initialize();\n if (devices.selectedDevice) {\n this._selectedDevice = this.recorderManager.selectedDevice;\n this._devices = this.recorderManager.devices;\n this.dispatchEvent(new CustomEvent('ready'));\n }\n\n // Map event names to any extra handling logic\n const eventHandlers: Record<string, (e: CustomEvent) => void> = {\n 'recording-state-changed': e => {\n this._recordingState = e.detail.state;\n },\n 'devices-changed': () => {\n this._devices = [...this.recorderManager.devices];\n this.requestUpdate();\n },\n 'audio-level-changed': e => {\n this._audioLevel = e.detail.audioLevel;\n this.requestUpdate();\n },\n };\n\n const eventsToRelay = [\n 'recording-state-changed',\n 'recording-devices-changed',\n 'audio-level-changed',\n 'error',\n 'transcript',\n 'command',\n 'ready',\n ];\n\n eventsToRelay.forEach(eventName => {\n this.recorderManager.addEventListener(eventName, (e: Event) => {\n const customEvent = e as CustomEvent;\n // Perform any additional handling if defined\n if (eventHandlers[eventName]) {\n eventHandlers[eventName](customEvent);\n }\n // Re-dispatch the event from the component\n this.dispatchEvent(\n new CustomEvent(eventName, {\n detail: customEvent.detail,\n bubbles: true,\n composed: true,\n }),\n );\n });\n });\n }\n\n public toggleRecording() {\n this._toggleRecording();\n }\n\n public setAccessToken(token: string) {\n try {\n const decoded = decodeToken(token);\n this._serverConfig = decoded;\n return decoded;\n } catch (e) {\n throw new Error('Invalid token');\n }\n }\n\n public async setAuthConfig(config: Corti.BearerOptions): Promise<ServerConfig> {\n try {\n const initialToken = 'accessToken' in config\n ? { accessToken: config.accessToken }\n : await config.refreshAccessToken();\n\n if (!initialToken?.accessToken || typeof initialToken.accessToken !== 'string') {\n throw new Error('Access token is required and must be a string');\n }\n\n const decoded = decodeToken(initialToken.accessToken);\n\n if (!decoded) {\n throw new Error('Invalid token format');\n }\n\n this._serverConfig = {\n environment: decoded.environment,\n tenant: decoded.tenant,\n accessToken: initialToken.accessToken,\n expiresIn: config.expiresIn ?? decoded.expiresIn,\n refreshToken: config.refreshToken,\n refreshExpiresIn: config.refreshExpiresIn,\n refreshAccessToken: config.refreshAccessToken,\n };\n\n return this._serverConfig;\n } catch (e) {\n throw new Error('Invalid token');\n }\n }\n\n public get selectedDevice(): MediaDeviceInfo | null {\n return this.recorderManager.selectedDevice || null;\n }\n\n public get recordingState(): RecordingState {\n return this._recordingState;\n }\n\n public get devices(): MediaDeviceInfo[] {\n return this._devices;\n }\n\n public async setRecordingDevice(device: MediaDeviceInfo) {\n this.recorderManager.selectedDevice = device;\n this._selectedDevice = device;\n if (!this._serverConfig) return;\n if (this._recordingState === 'recording') {\n await this.recorderManager.stopRecording();\n await this.recorderManager.startRecording({\n dictationConfig: this.dictationConfig,\n serverConfig: this._serverConfig,\n });\n }\n }\n\n public setPrimaryLanguage(language: string) {\n if (LANGUAGES_SUPPORTED.includes(language)) {\n this.dictationConfig = {\n ...this.dictationConfig,\n primaryLanguage: language,\n };\n\n // If recording is in progress, restart to apply the language change\n if (this._serverConfig && this._recordingState === 'recording') {\n this.recorderManager.stopRecording();\n this.recorderManager.startRecording({\n dictationConfig: this.dictationConfig,\n serverConfig: this._serverConfig,\n debug_displayAudio: this.debug_displayAudio,\n });\n }\n }\n }\n\n _toggleRecording() {\n if (!this._serverConfig) return;\n if (this._recordingState === 'recording') {\n this.recorderManager.stopRecording();\n } else if (this._recordingState === 'stopped') {\n this.recorderManager.startRecording({\n dictationConfig: this.dictationConfig,\n serverConfig: this._serverConfig,\n debug_displayAudio: this.debug_displayAudio,\n });\n }\n }\n\n // Handle device change events if needed\n async _onRecordingDevicesChanged(event: Event) {\n const customEvent = event as CustomEvent;\n this.setRecordingDevice(customEvent.detail.selectedDevice);\n }\n\n // Handle language change events\n _onLanguageChanged(event: Event) {\n const customEvent = event as CustomEvent;\n const language = customEvent.detail.language;\n if (language) {\n this.setPrimaryLanguage(language);\n }\n }\n\n render() {\n if (!this._serverConfig) {\n return html` <div style=\"display: none\"></div> `;\n }\n\n const isLoading =\n this._recordingState === 'initializing' ||\n this._recordingState === 'stopping';\n const isRecording = this._recordingState === 'recording';\n return html`\n <div class=\"wrapper\">\n <button\n @click=${this._toggleRecording}\n class=${isRecording ? 'red' : 'accent'}\n >\n ${isLoading\n ? html`<icon-loading-spinner></icon-loading-spinner>`\n : isRecording\n ? html`<icon-recording></icon-recording>`\n : html`<icon-mic-on></icon-mic-on>`}\n <audio-visualiser\n .level=${this._audioLevel}\n .active=${isRecording}\n ></audio-visualiser>\n </button>\n\n <settings-menu\n .selectedDevice=${this._selectedDevice}\n .selectedLanguage=${this.dictationConfig.primaryLanguage}\n ?settingsDisabled=${this._recordingState !== 'stopped'}\n @recording-devices-changed=${this._onRecordingDevicesChanged}\n @language-changed=${this._onLanguageChanged}\n ></settings-menu>\n </div>\n `;\n }\n}\n\nexport default CortiDictation;\n"]}
|
package/dist/DictationService.js
CHANGED
|
@@ -6,16 +6,11 @@ export class DictationService extends EventTarget {
|
|
|
6
6
|
this.mediaRecorder = new MediaRecorder(mediaStream);
|
|
7
7
|
this.serverConfig = serverConfig;
|
|
8
8
|
this.dictationConfig = dictationConfig;
|
|
9
|
+
const { environment, tenant: tenantName, ...authConfig } = serverConfig;
|
|
9
10
|
this.cortiClient = new CortiClient({
|
|
10
|
-
environment
|
|
11
|
-
tenantName
|
|
12
|
-
auth:
|
|
13
|
-
accessToken: serverConfig.accessToken,
|
|
14
|
-
refreshToken: serverConfig.refreshToken,
|
|
15
|
-
expiresIn: serverConfig.expiresIn,
|
|
16
|
-
refreshExpiresIn: serverConfig.refreshExpiresIn,
|
|
17
|
-
refreshAccessToken: serverConfig.refreshAccessToken,
|
|
18
|
-
},
|
|
11
|
+
environment,
|
|
12
|
+
tenantName,
|
|
13
|
+
auth: authConfig
|
|
19
14
|
});
|
|
20
15
|
this.mediaRecorder.ondataavailable = event => {
|
|
21
16
|
if (this.webSocket?.readyState === WebSocket.OPEN) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DictationService.js","sourceRoot":"","sources":["../src/DictationService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAS,MAAM,YAAY,CAAC;AAGhD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAM7C,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IAO/C,YACE,WAAwB,EACxB,EACE,eAAe,EACf,YAAY,GAC4D;QAE1E,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QAEvC,
|
|
1
|
+
{"version":3,"file":"DictationService.js","sourceRoot":"","sources":["../src/DictationService.ts"],"names":[],"mappings":"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","sourcesContent":["import { CortiClient, Corti } from '@corti/sdk';\n\nimport type { ServerConfig } from './types.js';\nimport { getErrorMessage } from './utils.js';\n\ntype TranscribeSocket = Awaited<\n ReturnType<CortiClient['transcribe']['connect']>\n>;\n\nexport class DictationService extends EventTarget {\n private mediaRecorder: MediaRecorder;\n private webSocket!: TranscribeSocket;\n private serverConfig: ServerConfig;\n private dictationConfig: Corti.TranscribeConfig;\n private cortiClient: CortiClient;\n\n constructor(\n mediaStream: MediaStream,\n {\n dictationConfig,\n serverConfig,\n }: { dictationConfig: Corti.TranscribeConfig; serverConfig: ServerConfig },\n ) {\n super();\n this.mediaRecorder = new MediaRecorder(mediaStream);\n this.serverConfig = serverConfig;\n this.dictationConfig = dictationConfig;\n\n const { environment, tenant: tenantName, ...authConfig } = serverConfig;\n\n this.cortiClient = new CortiClient({\n environment,\n tenantName,\n auth: authConfig\n });\n\n this.mediaRecorder.ondataavailable = event => {\n if (this.webSocket?.readyState === WebSocket.OPEN) {\n this.webSocket.sendAudio(event.data);\n }\n };\n }\n\n private dispatchCustomEvent(eventName: string, detail?: unknown): void {\n this.dispatchEvent(\n new CustomEvent(eventName, {\n detail,\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n public async startRecording() {\n if (!this.serverConfig) {\n this.dispatchEvent(\n new CustomEvent('error', {\n detail: 'Invalid token',\n bubbles: true,\n composed: true,\n }),\n );\n return;\n }\n\n this.webSocket = await this.cortiClient.transcribe.connect({\n configuration: this.dictationConfig,\n });\n\n this.webSocket.on('message', message => {\n switch (message.type) {\n case 'CONFIG_ACCEPTED':\n this.mediaRecorder.start(250);\n break;\n case 'transcript':\n this.dispatchCustomEvent('transcript', message);\n break;\n case 'command':\n this.dispatchCustomEvent('command', message);\n break;\n default:\n console.warn(`Unhandled message type: ${message.type}`);\n break;\n }\n });\n\n this.webSocket.on('error', event => {\n this.stopRecording();\n\n this.dispatchCustomEvent('error', getErrorMessage(event));\n });\n\n this.webSocket.on('close', event => {\n this.dispatchCustomEvent('stream-closed', event);\n });\n }\n\n public async stopRecording(): Promise<void> {\n this.mediaRecorder?.stop();\n\n if (this.webSocket.readyState === WebSocket.OPEN) {\n this.webSocket.sendEnd({\n type: 'end',\n });\n }\n\n const timeout: NodeJS.Timeout = setTimeout(() => {\n if (this.webSocket?.readyState === WebSocket.OPEN) {\n this.webSocket.close();\n }\n }, 10000);\n\n this.webSocket.on('close', () => {\n clearTimeout(timeout);\n });\n }\n}\n"]}
|
package/dist/bundle.js
CHANGED
|
@@ -3893,6 +3893,70 @@ function isFile(value) {
|
|
|
3893
3893
|
return typeof File !== "undefined" && value instanceof File;
|
|
3894
3894
|
}
|
|
3895
3895
|
|
|
3896
|
+
// node_modules/@corti/sdk/dist/esm/custom/RefreshBearerProvider.mjs
|
|
3897
|
+
var __awaiter13 = function(thisArg, _arguments, P2, generator) {
|
|
3898
|
+
function adopt(value) {
|
|
3899
|
+
return value instanceof P2 ? value : new P2(function(resolve) {
|
|
3900
|
+
resolve(value);
|
|
3901
|
+
});
|
|
3902
|
+
}
|
|
3903
|
+
return new (P2 || (P2 = Promise))(function(resolve, reject) {
|
|
3904
|
+
function fulfilled(value) {
|
|
3905
|
+
try {
|
|
3906
|
+
step(generator.next(value));
|
|
3907
|
+
} catch (e5) {
|
|
3908
|
+
reject(e5);
|
|
3909
|
+
}
|
|
3910
|
+
}
|
|
3911
|
+
function rejected(value) {
|
|
3912
|
+
try {
|
|
3913
|
+
step(generator["throw"](value));
|
|
3914
|
+
} catch (e5) {
|
|
3915
|
+
reject(e5);
|
|
3916
|
+
}
|
|
3917
|
+
}
|
|
3918
|
+
function step(result) {
|
|
3919
|
+
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
3920
|
+
}
|
|
3921
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
3922
|
+
});
|
|
3923
|
+
};
|
|
3924
|
+
var RefreshBearerProvider = class {
|
|
3925
|
+
constructor({ accessToken, refreshAccessToken, refreshToken, refreshExpiresIn, expiresIn }) {
|
|
3926
|
+
this.BUFFER_IN_MINUTES = 2;
|
|
3927
|
+
this._expiresAt = this.getExpiresAt(expiresIn, this.BUFFER_IN_MINUTES);
|
|
3928
|
+
this._refreshExpiresAt = this.getExpiresAt(refreshExpiresIn, 0);
|
|
3929
|
+
this._accessToken = accessToken || "no_token";
|
|
3930
|
+
this._refreshToken = refreshToken;
|
|
3931
|
+
this._refreshAccessToken = refreshAccessToken;
|
|
3932
|
+
}
|
|
3933
|
+
getToken() {
|
|
3934
|
+
return __awaiter13(this, void 0, void 0, function* () {
|
|
3935
|
+
if (this._accessToken && this._expiresAt > /* @__PURE__ */ new Date()) {
|
|
3936
|
+
return Supplier.get(this._accessToken);
|
|
3937
|
+
}
|
|
3938
|
+
return this.refresh();
|
|
3939
|
+
});
|
|
3940
|
+
}
|
|
3941
|
+
refresh() {
|
|
3942
|
+
return __awaiter13(this, void 0, void 0, function* () {
|
|
3943
|
+
if (!this._refreshAccessToken || this._refreshToken && this._refreshExpiresAt < /* @__PURE__ */ new Date()) {
|
|
3944
|
+
return Supplier.get(this._accessToken);
|
|
3945
|
+
}
|
|
3946
|
+
const tokenResponse = yield this._refreshAccessToken(this._refreshToken);
|
|
3947
|
+
this._accessToken = tokenResponse.accessToken;
|
|
3948
|
+
this._expiresAt = this.getExpiresAt(tokenResponse.expiresIn, this.BUFFER_IN_MINUTES);
|
|
3949
|
+
this._refreshToken = tokenResponse.refreshToken;
|
|
3950
|
+
this._refreshExpiresAt = this.getExpiresAt(tokenResponse.refreshExpiresIn, 0);
|
|
3951
|
+
return this._accessToken;
|
|
3952
|
+
});
|
|
3953
|
+
}
|
|
3954
|
+
getExpiresAt(expiresInSeconds = 0, bufferInMinutes = this.BUFFER_IN_MINUTES) {
|
|
3955
|
+
const now = /* @__PURE__ */ new Date();
|
|
3956
|
+
return new Date(now.getTime() + expiresInSeconds * 1e3 - bufferInMinutes * 60 * 1e3);
|
|
3957
|
+
}
|
|
3958
|
+
};
|
|
3959
|
+
|
|
3896
3960
|
// node_modules/@corti/sdk/dist/esm/serialization/types/StreamConfigStatusMessageType.mjs
|
|
3897
3961
|
var StreamConfigStatusMessageType = schemas_exports.enum_([
|
|
3898
3962
|
"CONFIG_ACCEPTED",
|
|
@@ -4685,7 +4749,7 @@ function mergeOnlyDefinedHeaders(...headersArray) {
|
|
|
4685
4749
|
}
|
|
4686
4750
|
|
|
4687
4751
|
// node_modules/@corti/sdk/dist/esm/api/resources/auth/client/Client.mjs
|
|
4688
|
-
var
|
|
4752
|
+
var __awaiter14 = function(thisArg, _arguments, P2, generator) {
|
|
4689
4753
|
function adopt(value) {
|
|
4690
4754
|
return value instanceof P2 ? value : new P2(function(resolve) {
|
|
4691
4755
|
resolve(value);
|
|
@@ -4732,7 +4796,7 @@ var Auth = class {
|
|
|
4732
4796
|
return HttpResponsePromise.fromPromise(this.__getToken(request, requestOptions));
|
|
4733
4797
|
}
|
|
4734
4798
|
__getToken(request, requestOptions) {
|
|
4735
|
-
return
|
|
4799
|
+
return __awaiter14(this, void 0, void 0, function* () {
|
|
4736
4800
|
var _a, _b;
|
|
4737
4801
|
const _response = yield fetcher({
|
|
4738
4802
|
url: url_exports.join((_a = yield Supplier.get(this._options.baseUrl)) !== null && _a !== void 0 ? _a : (yield Supplier.get(this._options.environment)).login, "protocol/openid-connect/token"),
|
|
@@ -4788,7 +4852,7 @@ var Auth = class {
|
|
|
4788
4852
|
});
|
|
4789
4853
|
}
|
|
4790
4854
|
_getAuthorizationHeader() {
|
|
4791
|
-
return
|
|
4855
|
+
return __awaiter14(this, void 0, void 0, function* () {
|
|
4792
4856
|
const bearer = yield Supplier.get(this._options.token);
|
|
4793
4857
|
if (bearer != null) {
|
|
4794
4858
|
return `Bearer ${bearer}`;
|
|
@@ -4808,7 +4872,7 @@ function getEnvironment(environment) {
|
|
|
4808
4872
|
}
|
|
4809
4873
|
|
|
4810
4874
|
// node_modules/@corti/sdk/dist/esm/custom/CortiAuth.mjs
|
|
4811
|
-
var
|
|
4875
|
+
var __awaiter15 = function(thisArg, _arguments, P2, generator) {
|
|
4812
4876
|
function adopt(value) {
|
|
4813
4877
|
return value instanceof P2 ? value : new P2(function(resolve) {
|
|
4814
4878
|
resolve(value);
|
|
@@ -4852,7 +4916,7 @@ var Auth2 = class extends Auth {
|
|
|
4852
4916
|
* Patch: added method to get Authorization URL for Authorization code flow
|
|
4853
4917
|
*/
|
|
4854
4918
|
authorizeURL(_a, options_1) {
|
|
4855
|
-
return
|
|
4919
|
+
return __awaiter15(this, arguments, void 0, function* ({ clientId, redirectUri }, options) {
|
|
4856
4920
|
var _b;
|
|
4857
4921
|
const authUrl = new URL(url_exports.join((_b = yield Supplier.get(this._options.baseUrl)) !== null && _b !== void 0 ? _b : (yield Supplier.get(this._options.environment)).login, yield Supplier.get(this._options.tenantName), "protocol/openid-connect/auth"));
|
|
4858
4922
|
authUrl.searchParams.set("response_type", "code");
|
|
@@ -4881,7 +4945,7 @@ var Auth2 = class extends Auth {
|
|
|
4881
4945
|
* Patch: copy of this.__getToken with patches
|
|
4882
4946
|
*/
|
|
4883
4947
|
__getToken_custom(request, requestOptions) {
|
|
4884
|
-
return
|
|
4948
|
+
return __awaiter15(this, void 0, void 0, function* () {
|
|
4885
4949
|
var _a, _b;
|
|
4886
4950
|
const _response = yield fetcher({
|
|
4887
4951
|
url: url_exports.join(
|
|
@@ -4968,7 +5032,7 @@ var Auth2 = class extends Auth {
|
|
|
4968
5032
|
};
|
|
4969
5033
|
|
|
4970
5034
|
// node_modules/@corti/sdk/dist/esm/api/resources/interactions/client/Client.mjs
|
|
4971
|
-
var
|
|
5035
|
+
var __awaiter16 = function(thisArg, _arguments, P2, generator) {
|
|
4972
5036
|
function adopt(value) {
|
|
4973
5037
|
return value instanceof P2 ? value : new P2(function(resolve) {
|
|
4974
5038
|
resolve(value);
|
|
@@ -5012,8 +5076,8 @@ var Interactions = class {
|
|
|
5012
5076
|
* await client.interactions.list()
|
|
5013
5077
|
*/
|
|
5014
5078
|
list() {
|
|
5015
|
-
return
|
|
5016
|
-
const list2 = HttpResponsePromise.interceptFunction((request2) =>
|
|
5079
|
+
return __awaiter16(this, arguments, void 0, function* (request = {}, requestOptions) {
|
|
5080
|
+
const list2 = HttpResponsePromise.interceptFunction((request2) => __awaiter16(this, void 0, void 0, function* () {
|
|
5017
5081
|
var _a, _b, _c, _d;
|
|
5018
5082
|
const { sort, direction, pageSize, index, encounterStatus, patient } = request2;
|
|
5019
5083
|
const _queryParams = {};
|
|
@@ -5158,7 +5222,7 @@ var Interactions = class {
|
|
|
5158
5222
|
return HttpResponsePromise.fromPromise(this.__create(request, requestOptions));
|
|
5159
5223
|
}
|
|
5160
5224
|
__create(request, requestOptions) {
|
|
5161
|
-
return
|
|
5225
|
+
return __awaiter16(this, void 0, void 0, function* () {
|
|
5162
5226
|
var _a, _b;
|
|
5163
5227
|
const _response = yield fetcher({
|
|
5164
5228
|
url: url_exports.join((_a = yield Supplier.get(this._options.baseUrl)) !== null && _a !== void 0 ? _a : (yield Supplier.get(this._options.environment)).base, "interactions/"),
|
|
@@ -5252,7 +5316,7 @@ var Interactions = class {
|
|
|
5252
5316
|
return HttpResponsePromise.fromPromise(this.__get(id, requestOptions));
|
|
5253
5317
|
}
|
|
5254
5318
|
__get(id, requestOptions) {
|
|
5255
|
-
return
|
|
5319
|
+
return __awaiter16(this, void 0, void 0, function* () {
|
|
5256
5320
|
var _a, _b;
|
|
5257
5321
|
const _response = yield fetcher({
|
|
5258
5322
|
url: url_exports.join((_a = yield Supplier.get(this._options.baseUrl)) !== null && _a !== void 0 ? _a : (yield Supplier.get(this._options.environment)).base, `interactions/${encodeURIComponent(Uuid.jsonOrThrow(id, { omitUndefined: true }))}`),
|
|
@@ -5336,7 +5400,7 @@ var Interactions = class {
|
|
|
5336
5400
|
return HttpResponsePromise.fromPromise(this.__delete(id, requestOptions));
|
|
5337
5401
|
}
|
|
5338
5402
|
__delete(id, requestOptions) {
|
|
5339
|
-
return
|
|
5403
|
+
return __awaiter16(this, void 0, void 0, function* () {
|
|
5340
5404
|
var _a, _b;
|
|
5341
5405
|
const _response = yield fetcher({
|
|
5342
5406
|
url: url_exports.join((_a = yield Supplier.get(this._options.baseUrl)) !== null && _a !== void 0 ? _a : (yield Supplier.get(this._options.environment)).base, `interactions/${encodeURIComponent(Uuid.jsonOrThrow(id, { omitUndefined: true }))}`),
|
|
@@ -5412,7 +5476,7 @@ var Interactions = class {
|
|
|
5412
5476
|
return HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions));
|
|
5413
5477
|
}
|
|
5414
5478
|
__update(id_1) {
|
|
5415
|
-
return
|
|
5479
|
+
return __awaiter16(this, arguments, void 0, function* (id, request = {}, requestOptions) {
|
|
5416
5480
|
var _a, _b;
|
|
5417
5481
|
const _response = yield fetcher({
|
|
5418
5482
|
url: url_exports.join((_a = yield Supplier.get(this._options.baseUrl)) !== null && _a !== void 0 ? _a : (yield Supplier.get(this._options.environment)).base, `interactions/${encodeURIComponent(Uuid.jsonOrThrow(id, { omitUndefined: true }))}`),
|
|
@@ -5487,7 +5551,7 @@ var Interactions = class {
|
|
|
5487
5551
|
});
|
|
5488
5552
|
}
|
|
5489
5553
|
_getAuthorizationHeader() {
|
|
5490
|
-
return
|
|
5554
|
+
return __awaiter16(this, void 0, void 0, function* () {
|
|
5491
5555
|
const bearer = yield Supplier.get(this._options.token);
|
|
5492
5556
|
if (bearer != null) {
|
|
5493
5557
|
return `Bearer ${bearer}`;
|
|
@@ -5498,7 +5562,7 @@ var Interactions = class {
|
|
|
5498
5562
|
};
|
|
5499
5563
|
|
|
5500
5564
|
// node_modules/@corti/sdk/dist/esm/api/resources/recordings/client/Client.mjs
|
|
5501
|
-
var
|
|
5565
|
+
var __awaiter17 = function(thisArg, _arguments, P2, generator) {
|
|
5502
5566
|
function adopt(value) {
|
|
5503
5567
|
return value instanceof P2 ? value : new P2(function(resolve) {
|
|
5504
5568
|
resolve(value);
|
|
@@ -5547,7 +5611,7 @@ var Recordings = class {
|
|
|
5547
5611
|
return HttpResponsePromise.fromPromise(this.__list(id, requestOptions));
|
|
5548
5612
|
}
|
|
5549
5613
|
__list(id, requestOptions) {
|
|
5550
|
-
return
|
|
5614
|
+
return __awaiter17(this, void 0, void 0, function* () {
|
|
5551
5615
|
var _a, _b;
|
|
5552
5616
|
const _response = yield fetcher({
|
|
5553
5617
|
url: url_exports.join((_a = yield Supplier.get(this._options.baseUrl)) !== null && _a !== void 0 ? _a : (yield Supplier.get(this._options.environment)).base, `interactions/${encodeURIComponent(Uuid.jsonOrThrow(id, { omitUndefined: true }))}/recordings/`),
|
|
@@ -5635,7 +5699,7 @@ var Recordings = class {
|
|
|
5635
5699
|
return HttpResponsePromise.fromPromise(this.__upload(uploadable, id, requestOptions));
|
|
5636
5700
|
}
|
|
5637
5701
|
__upload(uploadable, id, requestOptions) {
|
|
5638
|
-
return
|
|
5702
|
+
return __awaiter17(this, void 0, void 0, function* () {
|
|
5639
5703
|
var _a, _b;
|
|
5640
5704
|
const _binaryUploadRequest = yield file_exports.toBinaryUploadRequest(uploadable);
|
|
5641
5705
|
const _response = yield fetcher({
|
|
@@ -5724,7 +5788,7 @@ var Recordings = class {
|
|
|
5724
5788
|
return HttpResponsePromise.fromPromise(this.__get(id, recordingId, requestOptions));
|
|
5725
5789
|
}
|
|
5726
5790
|
__get(id, recordingId, requestOptions) {
|
|
5727
|
-
return
|
|
5791
|
+
return __awaiter17(this, void 0, void 0, function* () {
|
|
5728
5792
|
var _a, _b;
|
|
5729
5793
|
const _response = yield fetcher({
|
|
5730
5794
|
url: url_exports.join((_a = yield Supplier.get(this._options.baseUrl)) !== null && _a !== void 0 ? _a : (yield Supplier.get(this._options.environment)).base, `interactions/${encodeURIComponent(Uuid.jsonOrThrow(id, { omitUndefined: true }))}/recordings/${encodeURIComponent(Uuid.jsonOrThrow(recordingId, { omitUndefined: true }))}`),
|
|
@@ -5815,7 +5879,7 @@ var Recordings = class {
|
|
|
5815
5879
|
return HttpResponsePromise.fromPromise(this.__delete(id, recordingId, requestOptions));
|
|
5816
5880
|
}
|
|
5817
5881
|
__delete(id, recordingId, requestOptions) {
|
|
5818
|
-
return
|
|
5882
|
+
return __awaiter17(this, void 0, void 0, function* () {
|
|
5819
5883
|
var _a, _b;
|
|
5820
5884
|
const _response = yield fetcher({
|
|
5821
5885
|
url: url_exports.join((_a = yield Supplier.get(this._options.baseUrl)) !== null && _a !== void 0 ? _a : (yield Supplier.get(this._options.environment)).base, `interactions/${encodeURIComponent(Uuid.jsonOrThrow(id, { omitUndefined: true }))}/recordings/${encodeURIComponent(Uuid.jsonOrThrow(recordingId, { omitUndefined: true }))}`),
|
|
@@ -5885,7 +5949,7 @@ var Recordings = class {
|
|
|
5885
5949
|
});
|
|
5886
5950
|
}
|
|
5887
5951
|
_getAuthorizationHeader() {
|
|
5888
|
-
return
|
|
5952
|
+
return __awaiter17(this, void 0, void 0, function* () {
|
|
5889
5953
|
const bearer = yield Supplier.get(this._options.token);
|
|
5890
5954
|
if (bearer != null) {
|
|
5891
5955
|
return `Bearer ${bearer}`;
|
|
@@ -5896,7 +5960,7 @@ var Recordings = class {
|
|
|
5896
5960
|
};
|
|
5897
5961
|
|
|
5898
5962
|
// node_modules/@corti/sdk/dist/esm/api/resources/transcripts/client/Client.mjs
|
|
5899
|
-
var
|
|
5963
|
+
var __awaiter18 = function(thisArg, _arguments, P2, generator) {
|
|
5900
5964
|
function adopt(value) {
|
|
5901
5965
|
return value instanceof P2 ? value : new P2(function(resolve) {
|
|
5902
5966
|
resolve(value);
|
|
@@ -5947,7 +6011,7 @@ var Transcripts = class {
|
|
|
5947
6011
|
return HttpResponsePromise.fromPromise(this.__list(id, request, requestOptions));
|
|
5948
6012
|
}
|
|
5949
6013
|
__list(id_1) {
|
|
5950
|
-
return
|
|
6014
|
+
return __awaiter18(this, arguments, void 0, function* (id, request = {}, requestOptions) {
|
|
5951
6015
|
var _a, _b, _c;
|
|
5952
6016
|
const { full } = request;
|
|
5953
6017
|
const _queryParams = {};
|
|
@@ -6051,7 +6115,7 @@ var Transcripts = class {
|
|
|
6051
6115
|
return HttpResponsePromise.fromPromise(this.__create(id, request, requestOptions));
|
|
6052
6116
|
}
|
|
6053
6117
|
__create(id, request, requestOptions) {
|
|
6054
|
-
return
|
|
6118
|
+
return __awaiter18(this, void 0, void 0, function* () {
|
|
6055
6119
|
var _a, _b;
|
|
6056
6120
|
const _response = yield fetcher({
|
|
6057
6121
|
url: url_exports.join((_a = yield Supplier.get(this._options.baseUrl)) !== null && _a !== void 0 ? _a : (yield Supplier.get(this._options.environment)).base, `interactions/${encodeURIComponent(Uuid.jsonOrThrow(id, { omitUndefined: true }))}/transcripts/`),
|
|
@@ -6151,7 +6215,7 @@ var Transcripts = class {
|
|
|
6151
6215
|
return HttpResponsePromise.fromPromise(this.__get(id, transcriptId, requestOptions));
|
|
6152
6216
|
}
|
|
6153
6217
|
__get(id, transcriptId, requestOptions) {
|
|
6154
|
-
return
|
|
6218
|
+
return __awaiter18(this, void 0, void 0, function* () {
|
|
6155
6219
|
var _a, _b;
|
|
6156
6220
|
const _response = yield fetcher({
|
|
6157
6221
|
url: url_exports.join((_a = yield Supplier.get(this._options.baseUrl)) !== null && _a !== void 0 ? _a : (yield Supplier.get(this._options.environment)).base, `interactions/${encodeURIComponent(Uuid.jsonOrThrow(id, { omitUndefined: true }))}/transcripts/${encodeURIComponent(Uuid.jsonOrThrow(transcriptId, { omitUndefined: true }))}`),
|
|
@@ -6245,7 +6309,7 @@ var Transcripts = class {
|
|
|
6245
6309
|
return HttpResponsePromise.fromPromise(this.__delete(id, transcriptId, requestOptions));
|
|
6246
6310
|
}
|
|
6247
6311
|
__delete(id, transcriptId, requestOptions) {
|
|
6248
|
-
return
|
|
6312
|
+
return __awaiter18(this, void 0, void 0, function* () {
|
|
6249
6313
|
var _a, _b;
|
|
6250
6314
|
const _response = yield fetcher({
|
|
6251
6315
|
url: url_exports.join((_a = yield Supplier.get(this._options.baseUrl)) !== null && _a !== void 0 ? _a : (yield Supplier.get(this._options.environment)).base, `interactions/${encodeURIComponent(Uuid.jsonOrThrow(id, { omitUndefined: true }))}/transcripts/${encodeURIComponent(Uuid.jsonOrThrow(transcriptId, { omitUndefined: true }))}`),
|
|
@@ -6311,7 +6375,7 @@ var Transcripts = class {
|
|
|
6311
6375
|
});
|
|
6312
6376
|
}
|
|
6313
6377
|
_getAuthorizationHeader() {
|
|
6314
|
-
return
|
|
6378
|
+
return __awaiter18(this, void 0, void 0, function* () {
|
|
6315
6379
|
const bearer = yield Supplier.get(this._options.token);
|
|
6316
6380
|
if (bearer != null) {
|
|
6317
6381
|
return `Bearer ${bearer}`;
|
|
@@ -6322,7 +6386,7 @@ var Transcripts = class {
|
|
|
6322
6386
|
};
|
|
6323
6387
|
|
|
6324
6388
|
// node_modules/@corti/sdk/dist/esm/api/resources/facts/client/Client.mjs
|
|
6325
|
-
var
|
|
6389
|
+
var __awaiter19 = function(thisArg, _arguments, P2, generator) {
|
|
6326
6390
|
function adopt(value) {
|
|
6327
6391
|
return value instanceof P2 ? value : new P2(function(resolve) {
|
|
6328
6392
|
resolve(value);
|
|
@@ -6365,7 +6429,7 @@ var Facts = class {
|
|
|
6365
6429
|
return HttpResponsePromise.fromPromise(this.__factGroupsList(requestOptions));
|
|
6366
6430
|
}
|
|
6367
6431
|
__factGroupsList(requestOptions) {
|
|
6368
|
-
return
|
|
6432
|
+
return __awaiter19(this, void 0, void 0, function* () {
|
|
6369
6433
|
var _a, _b;
|
|
6370
6434
|
const _response = yield fetcher({
|
|
6371
6435
|
url: url_exports.join((_a = yield Supplier.get(this._options.baseUrl)) !== null && _a !== void 0 ? _a : (yield Supplier.get(this._options.environment)).base, "factgroups/"),
|
|
@@ -6434,7 +6498,7 @@ var Facts = class {
|
|
|
6434
6498
|
return HttpResponsePromise.fromPromise(this.__list(id, requestOptions));
|
|
6435
6499
|
}
|
|
6436
6500
|
__list(id, requestOptions) {
|
|
6437
|
-
return
|
|
6501
|
+
return __awaiter19(this, void 0, void 0, function* () {
|
|
6438
6502
|
var _a, _b;
|
|
6439
6503
|
const _response = yield fetcher({
|
|
6440
6504
|
url: url_exports.join((_a = yield Supplier.get(this._options.baseUrl)) !== null && _a !== void 0 ? _a : (yield Supplier.get(this._options.environment)).base, `interactions/${encodeURIComponent(Uuid.jsonOrThrow(id, { omitUndefined: true }))}/facts/`),
|
|
@@ -6515,7 +6579,7 @@ var Facts = class {
|
|
|
6515
6579
|
return HttpResponsePromise.fromPromise(this.__create(id, request, requestOptions));
|
|
6516
6580
|
}
|
|
6517
6581
|
__create(id, request, requestOptions) {
|
|
6518
|
-
return
|
|
6582
|
+
return __awaiter19(this, void 0, void 0, function* () {
|
|
6519
6583
|
var _a, _b;
|
|
6520
6584
|
const _response = yield fetcher({
|
|
6521
6585
|
url: url_exports.join((_a = yield Supplier.get(this._options.baseUrl)) !== null && _a !== void 0 ? _a : (yield Supplier.get(this._options.environment)).base, `interactions/${encodeURIComponent(Uuid.jsonOrThrow(id, { omitUndefined: true }))}/facts/`),
|
|
@@ -6601,7 +6665,7 @@ var Facts = class {
|
|
|
6601
6665
|
return HttpResponsePromise.fromPromise(this.__batchUpdate(id, request, requestOptions));
|
|
6602
6666
|
}
|
|
6603
6667
|
__batchUpdate(id, request, requestOptions) {
|
|
6604
|
-
return
|
|
6668
|
+
return __awaiter19(this, void 0, void 0, function* () {
|
|
6605
6669
|
var _a, _b;
|
|
6606
6670
|
const _response = yield fetcher({
|
|
6607
6671
|
url: url_exports.join((_a = yield Supplier.get(this._options.baseUrl)) !== null && _a !== void 0 ? _a : (yield Supplier.get(this._options.environment)).base, `interactions/${encodeURIComponent(Uuid.jsonOrThrow(id, { omitUndefined: true }))}/facts/`),
|
|
@@ -6684,7 +6748,7 @@ var Facts = class {
|
|
|
6684
6748
|
return HttpResponsePromise.fromPromise(this.__update(id, factId, request, requestOptions));
|
|
6685
6749
|
}
|
|
6686
6750
|
__update(id_1, factId_1) {
|
|
6687
|
-
return
|
|
6751
|
+
return __awaiter19(this, arguments, void 0, function* (id, factId, request = {}, requestOptions) {
|
|
6688
6752
|
var _a, _b;
|
|
6689
6753
|
const _response = yield fetcher({
|
|
6690
6754
|
url: url_exports.join((_a = yield Supplier.get(this._options.baseUrl)) !== null && _a !== void 0 ? _a : (yield Supplier.get(this._options.environment)).base, `interactions/${encodeURIComponent(Uuid.jsonOrThrow(id, { omitUndefined: true }))}/facts/${encodeURIComponent(Uuid.jsonOrThrow(factId, { omitUndefined: true }))}`),
|
|
@@ -6751,7 +6815,7 @@ var Facts = class {
|
|
|
6751
6815
|
});
|
|
6752
6816
|
}
|
|
6753
6817
|
_getAuthorizationHeader() {
|
|
6754
|
-
return
|
|
6818
|
+
return __awaiter19(this, void 0, void 0, function* () {
|
|
6755
6819
|
const bearer = yield Supplier.get(this._options.token);
|
|
6756
6820
|
if (bearer != null) {
|
|
6757
6821
|
return `Bearer ${bearer}`;
|
|
@@ -6762,7 +6826,7 @@ var Facts = class {
|
|
|
6762
6826
|
};
|
|
6763
6827
|
|
|
6764
6828
|
// node_modules/@corti/sdk/dist/esm/api/resources/documents/client/Client.mjs
|
|
6765
|
-
var
|
|
6829
|
+
var __awaiter20 = function(thisArg, _arguments, P2, generator) {
|
|
6766
6830
|
function adopt(value) {
|
|
6767
6831
|
return value instanceof P2 ? value : new P2(function(resolve) {
|
|
6768
6832
|
resolve(value);
|
|
@@ -6811,7 +6875,7 @@ var Documents = class {
|
|
|
6811
6875
|
return HttpResponsePromise.fromPromise(this.__list(id, requestOptions));
|
|
6812
6876
|
}
|
|
6813
6877
|
__list(id, requestOptions) {
|
|
6814
|
-
return
|
|
6878
|
+
return __awaiter20(this, void 0, void 0, function* () {
|
|
6815
6879
|
var _a, _b;
|
|
6816
6880
|
const _response = yield fetcher({
|
|
6817
6881
|
url: url_exports.join((_a = yield Supplier.get(this._options.baseUrl)) !== null && _a !== void 0 ? _a : (yield Supplier.get(this._options.environment)).base, `interactions/${encodeURIComponent(Uuid.jsonOrThrow(id, { omitUndefined: true }))}/documents/`),
|
|
@@ -6912,7 +6976,7 @@ var Documents = class {
|
|
|
6912
6976
|
return HttpResponsePromise.fromPromise(this.__create(id, request, requestOptions));
|
|
6913
6977
|
}
|
|
6914
6978
|
__create(id, request, requestOptions) {
|
|
6915
|
-
return
|
|
6979
|
+
return __awaiter20(this, void 0, void 0, function* () {
|
|
6916
6980
|
var _a, _b;
|
|
6917
6981
|
const _response = yield fetcher({
|
|
6918
6982
|
url: url_exports.join((_a = yield Supplier.get(this._options.baseUrl)) !== null && _a !== void 0 ? _a : (yield Supplier.get(this._options.environment)).base, `interactions/${encodeURIComponent(Uuid.jsonOrThrow(id, { omitUndefined: true }))}/documents/`),
|
|
@@ -7009,7 +7073,7 @@ var Documents = class {
|
|
|
7009
7073
|
return HttpResponsePromise.fromPromise(this.__get(id, documentId, requestOptions));
|
|
7010
7074
|
}
|
|
7011
7075
|
__get(id, documentId, requestOptions) {
|
|
7012
|
-
return
|
|
7076
|
+
return __awaiter20(this, void 0, void 0, function* () {
|
|
7013
7077
|
var _a, _b;
|
|
7014
7078
|
const _response = yield fetcher({
|
|
7015
7079
|
url: url_exports.join((_a = yield Supplier.get(this._options.baseUrl)) !== null && _a !== void 0 ? _a : (yield Supplier.get(this._options.environment)).base, `interactions/${encodeURIComponent(Uuid.jsonOrThrow(id, { omitUndefined: true }))}/documents/${encodeURIComponent(Uuid.jsonOrThrow(documentId, { omitUndefined: true }))}`),
|
|
@@ -7098,7 +7162,7 @@ var Documents = class {
|
|
|
7098
7162
|
return HttpResponsePromise.fromPromise(this.__delete(id, documentId, requestOptions));
|
|
7099
7163
|
}
|
|
7100
7164
|
__delete(id, documentId, requestOptions) {
|
|
7101
|
-
return
|
|
7165
|
+
return __awaiter20(this, void 0, void 0, function* () {
|
|
7102
7166
|
var _a, _b;
|
|
7103
7167
|
const _response = yield fetcher({
|
|
7104
7168
|
url: url_exports.join((_a = yield Supplier.get(this._options.baseUrl)) !== null && _a !== void 0 ? _a : (yield Supplier.get(this._options.environment)).base, `interactions/${encodeURIComponent(Uuid.jsonOrThrow(id, { omitUndefined: true }))}/documents/${encodeURIComponent(Uuid.jsonOrThrow(documentId, { omitUndefined: true }))}`),
|
|
@@ -7185,7 +7249,7 @@ var Documents = class {
|
|
|
7185
7249
|
return HttpResponsePromise.fromPromise(this.__update(id, documentId, request, requestOptions));
|
|
7186
7250
|
}
|
|
7187
7251
|
__update(id_1, documentId_1) {
|
|
7188
|
-
return
|
|
7252
|
+
return __awaiter20(this, arguments, void 0, function* (id, documentId, request = {}, requestOptions) {
|
|
7189
7253
|
var _a, _b;
|
|
7190
7254
|
const _response = yield fetcher({
|
|
7191
7255
|
url: url_exports.join((_a = yield Supplier.get(this._options.baseUrl)) !== null && _a !== void 0 ? _a : (yield Supplier.get(this._options.environment)).base, `interactions/${encodeURIComponent(Uuid.jsonOrThrow(id, { omitUndefined: true }))}/documents/${encodeURIComponent(Uuid.jsonOrThrow(documentId, { omitUndefined: true }))}`),
|
|
@@ -7264,7 +7328,7 @@ var Documents = class {
|
|
|
7264
7328
|
});
|
|
7265
7329
|
}
|
|
7266
7330
|
_getAuthorizationHeader() {
|
|
7267
|
-
return
|
|
7331
|
+
return __awaiter20(this, void 0, void 0, function* () {
|
|
7268
7332
|
const bearer = yield Supplier.get(this._options.token);
|
|
7269
7333
|
if (bearer != null) {
|
|
7270
7334
|
return `Bearer ${bearer}`;
|
|
@@ -7275,7 +7339,7 @@ var Documents = class {
|
|
|
7275
7339
|
};
|
|
7276
7340
|
|
|
7277
7341
|
// node_modules/@corti/sdk/dist/esm/api/resources/templates/client/Client.mjs
|
|
7278
|
-
var
|
|
7342
|
+
var __awaiter21 = function(thisArg, _arguments, P2, generator) {
|
|
7279
7343
|
function adopt(value) {
|
|
7280
7344
|
return value instanceof P2 ? value : new P2(function(resolve) {
|
|
7281
7345
|
resolve(value);
|
|
@@ -7322,7 +7386,7 @@ var Templates = class {
|
|
|
7322
7386
|
return HttpResponsePromise.fromPromise(this.__sectionList(request, requestOptions));
|
|
7323
7387
|
}
|
|
7324
7388
|
__sectionList() {
|
|
7325
|
-
return
|
|
7389
|
+
return __awaiter21(this, arguments, void 0, function* (request = {}, requestOptions) {
|
|
7326
7390
|
var _a, _b;
|
|
7327
7391
|
const { org, lang } = request;
|
|
7328
7392
|
const _queryParams = {};
|
|
@@ -7411,7 +7475,7 @@ var Templates = class {
|
|
|
7411
7475
|
return HttpResponsePromise.fromPromise(this.__list(request, requestOptions));
|
|
7412
7476
|
}
|
|
7413
7477
|
__list() {
|
|
7414
|
-
return
|
|
7478
|
+
return __awaiter21(this, arguments, void 0, function* (request = {}, requestOptions) {
|
|
7415
7479
|
var _a, _b;
|
|
7416
7480
|
const { org, lang, status } = request;
|
|
7417
7481
|
const _queryParams = {};
|
|
@@ -7507,7 +7571,7 @@ var Templates = class {
|
|
|
7507
7571
|
return HttpResponsePromise.fromPromise(this.__get(key, requestOptions));
|
|
7508
7572
|
}
|
|
7509
7573
|
__get(key, requestOptions) {
|
|
7510
|
-
return
|
|
7574
|
+
return __awaiter21(this, void 0, void 0, function* () {
|
|
7511
7575
|
var _a, _b;
|
|
7512
7576
|
const _response = yield fetcher({
|
|
7513
7577
|
url: url_exports.join((_a = yield Supplier.get(this._options.baseUrl)) !== null && _a !== void 0 ? _a : (yield Supplier.get(this._options.environment)).base, `templates/${encodeURIComponent(key)}`),
|
|
@@ -7564,7 +7628,7 @@ var Templates = class {
|
|
|
7564
7628
|
});
|
|
7565
7629
|
}
|
|
7566
7630
|
_getAuthorizationHeader() {
|
|
7567
|
-
return
|
|
7631
|
+
return __awaiter21(this, void 0, void 0, function* () {
|
|
7568
7632
|
const bearer = yield Supplier.get(this._options.token);
|
|
7569
7633
|
if (bearer != null) {
|
|
7570
7634
|
return `Bearer ${bearer}`;
|
|
@@ -7575,7 +7639,7 @@ var Templates = class {
|
|
|
7575
7639
|
};
|
|
7576
7640
|
|
|
7577
7641
|
// node_modules/@corti/sdk/dist/esm/api/resources/stream/client/Socket.mjs
|
|
7578
|
-
var
|
|
7642
|
+
var __awaiter22 = function(thisArg, _arguments, P2, generator) {
|
|
7579
7643
|
function adopt(value) {
|
|
7580
7644
|
return value instanceof P2 ? value : new P2(function(resolve) {
|
|
7581
7645
|
resolve(value);
|
|
@@ -7710,7 +7774,7 @@ var StreamSocket = class {
|
|
|
7710
7774
|
}
|
|
7711
7775
|
/** Returns a promise that resolves when the websocket is open. */
|
|
7712
7776
|
waitForOpen() {
|
|
7713
|
-
return
|
|
7777
|
+
return __awaiter22(this, void 0, void 0, function* () {
|
|
7714
7778
|
if (this.socket.readyState === ReconnectingWebSocket.OPEN) {
|
|
7715
7779
|
return this.socket;
|
|
7716
7780
|
}
|
|
@@ -7740,7 +7804,7 @@ var StreamSocket = class {
|
|
|
7740
7804
|
};
|
|
7741
7805
|
|
|
7742
7806
|
// node_modules/@corti/sdk/dist/esm/api/resources/stream/client/Client.mjs
|
|
7743
|
-
var
|
|
7807
|
+
var __awaiter23 = function(thisArg, _arguments, P2, generator) {
|
|
7744
7808
|
function adopt(value) {
|
|
7745
7809
|
return value instanceof P2 ? value : new P2(function(resolve) {
|
|
7746
7810
|
resolve(value);
|
|
@@ -7772,7 +7836,7 @@ var Stream = class {
|
|
|
7772
7836
|
this._options = _options;
|
|
7773
7837
|
}
|
|
7774
7838
|
connect(args) {
|
|
7775
|
-
return
|
|
7839
|
+
return __awaiter23(this, void 0, void 0, function* () {
|
|
7776
7840
|
var _a;
|
|
7777
7841
|
const { id, tenantName, token, headers, debug, reconnectAttempts } = args;
|
|
7778
7842
|
const _queryParams = {};
|
|
@@ -7790,7 +7854,7 @@ var Stream = class {
|
|
|
7790
7854
|
});
|
|
7791
7855
|
}
|
|
7792
7856
|
_getAuthorizationHeader() {
|
|
7793
|
-
return
|
|
7857
|
+
return __awaiter23(this, void 0, void 0, function* () {
|
|
7794
7858
|
const bearer = yield Supplier.get(this._options.token);
|
|
7795
7859
|
if (bearer != null) {
|
|
7796
7860
|
return `Bearer ${bearer}`;
|
|
@@ -7831,7 +7895,7 @@ var StreamSocket2 = class extends StreamSocket {
|
|
|
7831
7895
|
};
|
|
7832
7896
|
|
|
7833
7897
|
// node_modules/@corti/sdk/dist/esm/custom/CustomStream.mjs
|
|
7834
|
-
var
|
|
7898
|
+
var __awaiter24 = function(thisArg, _arguments, P2, generator) {
|
|
7835
7899
|
function adopt(value) {
|
|
7836
7900
|
return value instanceof P2 ? value : new P2(function(resolve) {
|
|
7837
7901
|
resolve(value);
|
|
@@ -7877,7 +7941,7 @@ var Stream2 = class extends Stream {
|
|
|
7877
7941
|
const _super = Object.create(null, {
|
|
7878
7942
|
connect: { get: () => super.connect }
|
|
7879
7943
|
});
|
|
7880
|
-
return
|
|
7944
|
+
return __awaiter24(this, void 0, void 0, function* () {
|
|
7881
7945
|
var { configuration } = _a, args = __rest2(_a, ["configuration"]);
|
|
7882
7946
|
const fernWs = yield _super.connect.call(this, Object.assign(Object.assign({}, args), { token: (yield this._getAuthorizationHeader()) || "", tenantName: yield Supplier.get(this._options.tenantName) }));
|
|
7883
7947
|
const ws = new StreamSocket2({ socket: fernWs.socket });
|
|
@@ -7929,7 +7993,7 @@ var Stream2 = class extends Stream {
|
|
|
7929
7993
|
};
|
|
7930
7994
|
|
|
7931
7995
|
// node_modules/@corti/sdk/dist/esm/api/resources/transcribe/client/Socket.mjs
|
|
7932
|
-
var
|
|
7996
|
+
var __awaiter25 = function(thisArg, _arguments, P2, generator) {
|
|
7933
7997
|
function adopt(value) {
|
|
7934
7998
|
return value instanceof P2 ? value : new P2(function(resolve) {
|
|
7935
7999
|
resolve(value);
|
|
@@ -8064,7 +8128,7 @@ var TranscribeSocket = class {
|
|
|
8064
8128
|
}
|
|
8065
8129
|
/** Returns a promise that resolves when the websocket is open. */
|
|
8066
8130
|
waitForOpen() {
|
|
8067
|
-
return
|
|
8131
|
+
return __awaiter25(this, void 0, void 0, function* () {
|
|
8068
8132
|
if (this.socket.readyState === ReconnectingWebSocket.OPEN) {
|
|
8069
8133
|
return this.socket;
|
|
8070
8134
|
}
|
|
@@ -8094,7 +8158,7 @@ var TranscribeSocket = class {
|
|
|
8094
8158
|
};
|
|
8095
8159
|
|
|
8096
8160
|
// node_modules/@corti/sdk/dist/esm/api/resources/transcribe/client/Client.mjs
|
|
8097
|
-
var
|
|
8161
|
+
var __awaiter26 = function(thisArg, _arguments, P2, generator) {
|
|
8098
8162
|
function adopt(value) {
|
|
8099
8163
|
return value instanceof P2 ? value : new P2(function(resolve) {
|
|
8100
8164
|
resolve(value);
|
|
@@ -8126,7 +8190,7 @@ var Transcribe = class {
|
|
|
8126
8190
|
this._options = _options;
|
|
8127
8191
|
}
|
|
8128
8192
|
connect(args) {
|
|
8129
|
-
return
|
|
8193
|
+
return __awaiter26(this, void 0, void 0, function* () {
|
|
8130
8194
|
var _a;
|
|
8131
8195
|
const { tenantName, token, headers, debug, reconnectAttempts } = args;
|
|
8132
8196
|
const _queryParams = {};
|
|
@@ -8144,7 +8208,7 @@ var Transcribe = class {
|
|
|
8144
8208
|
});
|
|
8145
8209
|
}
|
|
8146
8210
|
_getAuthorizationHeader() {
|
|
8147
|
-
return
|
|
8211
|
+
return __awaiter26(this, void 0, void 0, function* () {
|
|
8148
8212
|
const bearer = yield Supplier.get(this._options.token);
|
|
8149
8213
|
if (bearer != null) {
|
|
8150
8214
|
return `Bearer ${bearer}`;
|
|
@@ -8185,7 +8249,7 @@ var TranscribeSocket2 = class extends TranscribeSocket {
|
|
|
8185
8249
|
};
|
|
8186
8250
|
|
|
8187
8251
|
// node_modules/@corti/sdk/dist/esm/custom/CustomTranscribe.mjs
|
|
8188
|
-
var
|
|
8252
|
+
var __awaiter27 = function(thisArg, _arguments, P2, generator) {
|
|
8189
8253
|
function adopt(value) {
|
|
8190
8254
|
return value instanceof P2 ? value : new P2(function(resolve) {
|
|
8191
8255
|
resolve(value);
|
|
@@ -8231,7 +8295,7 @@ var Transcribe2 = class extends Transcribe {
|
|
|
8231
8295
|
const _super = Object.create(null, {
|
|
8232
8296
|
connect: { get: () => super.connect }
|
|
8233
8297
|
});
|
|
8234
|
-
return
|
|
8298
|
+
return __awaiter27(this, arguments, void 0, function* (_a = {}) {
|
|
8235
8299
|
var { configuration } = _a, args = __rest3(_a, ["configuration"]);
|
|
8236
8300
|
const fernWs = yield _super.connect.call(this, Object.assign(Object.assign({}, args), { token: (yield this._getAuthorizationHeader()) || "", tenantName: yield Supplier.get(this._options.tenantName) }));
|
|
8237
8301
|
const ws = new TranscribeSocket2({ socket: fernWs.socket });
|
|
@@ -8282,70 +8346,6 @@ var Transcribe2 = class extends Transcribe {
|
|
|
8282
8346
|
}
|
|
8283
8347
|
};
|
|
8284
8348
|
|
|
8285
|
-
// node_modules/@corti/sdk/dist/esm/custom/RefreshBearerProvider.mjs
|
|
8286
|
-
var __awaiter27 = function(thisArg, _arguments, P2, generator) {
|
|
8287
|
-
function adopt(value) {
|
|
8288
|
-
return value instanceof P2 ? value : new P2(function(resolve) {
|
|
8289
|
-
resolve(value);
|
|
8290
|
-
});
|
|
8291
|
-
}
|
|
8292
|
-
return new (P2 || (P2 = Promise))(function(resolve, reject) {
|
|
8293
|
-
function fulfilled(value) {
|
|
8294
|
-
try {
|
|
8295
|
-
step(generator.next(value));
|
|
8296
|
-
} catch (e5) {
|
|
8297
|
-
reject(e5);
|
|
8298
|
-
}
|
|
8299
|
-
}
|
|
8300
|
-
function rejected(value) {
|
|
8301
|
-
try {
|
|
8302
|
-
step(generator["throw"](value));
|
|
8303
|
-
} catch (e5) {
|
|
8304
|
-
reject(e5);
|
|
8305
|
-
}
|
|
8306
|
-
}
|
|
8307
|
-
function step(result) {
|
|
8308
|
-
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
8309
|
-
}
|
|
8310
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8311
|
-
});
|
|
8312
|
-
};
|
|
8313
|
-
var RefreshBearerProvider = class {
|
|
8314
|
-
constructor({ accessToken, refreshAccessToken, refreshToken, refreshExpiresIn, expiresIn }) {
|
|
8315
|
-
this.BUFFER_IN_MINUTES = 2;
|
|
8316
|
-
this._expiresAt = this.getExpiresAt(expiresIn, this.BUFFER_IN_MINUTES);
|
|
8317
|
-
this._refreshExpiresAt = this.getExpiresAt(refreshExpiresIn, 0);
|
|
8318
|
-
this._accessToken = accessToken || "no_token";
|
|
8319
|
-
this._refreshToken = refreshToken;
|
|
8320
|
-
this._refreshAccessToken = refreshAccessToken;
|
|
8321
|
-
}
|
|
8322
|
-
getToken() {
|
|
8323
|
-
return __awaiter27(this, void 0, void 0, function* () {
|
|
8324
|
-
if (this._accessToken && this._expiresAt > /* @__PURE__ */ new Date()) {
|
|
8325
|
-
return Supplier.get(this._accessToken);
|
|
8326
|
-
}
|
|
8327
|
-
return this.refresh();
|
|
8328
|
-
});
|
|
8329
|
-
}
|
|
8330
|
-
refresh() {
|
|
8331
|
-
return __awaiter27(this, void 0, void 0, function* () {
|
|
8332
|
-
if (!this._refreshAccessToken || this._refreshToken && this._refreshExpiresAt < /* @__PURE__ */ new Date()) {
|
|
8333
|
-
return Supplier.get(this._accessToken);
|
|
8334
|
-
}
|
|
8335
|
-
const tokenResponse = yield this._refreshAccessToken(this._refreshToken);
|
|
8336
|
-
this._accessToken = tokenResponse.accessToken;
|
|
8337
|
-
this._expiresAt = this.getExpiresAt(tokenResponse.expiresIn, this.BUFFER_IN_MINUTES);
|
|
8338
|
-
this._refreshToken = tokenResponse.refreshToken;
|
|
8339
|
-
this._refreshExpiresAt = this.getExpiresAt(tokenResponse.refreshExpiresIn, 0);
|
|
8340
|
-
return this._accessToken;
|
|
8341
|
-
});
|
|
8342
|
-
}
|
|
8343
|
-
getExpiresAt(expiresInSeconds = 0, bufferInMinutes = this.BUFFER_IN_MINUTES) {
|
|
8344
|
-
const now = /* @__PURE__ */ new Date();
|
|
8345
|
-
return new Date(now.getTime() + expiresInSeconds * 1e3 - bufferInMinutes * 60 * 1e3);
|
|
8346
|
-
}
|
|
8347
|
-
};
|
|
8348
|
-
|
|
8349
8349
|
// node_modules/@corti/sdk/dist/esm/version.mjs
|
|
8350
8350
|
var SDK_VERSION = "0.1.1";
|
|
8351
8351
|
|
|
@@ -8457,16 +8457,11 @@ var DictationService = class extends EventTarget {
|
|
|
8457
8457
|
this.mediaRecorder = new MediaRecorder(mediaStream);
|
|
8458
8458
|
this.serverConfig = serverConfig;
|
|
8459
8459
|
this.dictationConfig = dictationConfig;
|
|
8460
|
+
const { environment, tenant: tenantName, ...authConfig } = serverConfig;
|
|
8460
8461
|
this.cortiClient = new CortiClient({
|
|
8461
|
-
environment
|
|
8462
|
-
tenantName
|
|
8463
|
-
auth:
|
|
8464
|
-
accessToken: serverConfig.accessToken,
|
|
8465
|
-
refreshToken: serverConfig.refreshToken,
|
|
8466
|
-
expiresIn: serverConfig.expiresIn,
|
|
8467
|
-
refreshExpiresIn: serverConfig.refreshExpiresIn,
|
|
8468
|
-
refreshAccessToken: serverConfig.refreshAccessToken
|
|
8469
|
-
}
|
|
8462
|
+
environment,
|
|
8463
|
+
tenantName,
|
|
8464
|
+
auth: authConfig
|
|
8470
8465
|
});
|
|
8471
8466
|
this.mediaRecorder.ondataavailable = (event) => {
|
|
8472
8467
|
if (this.webSocket?.readyState === WebSocket.OPEN) {
|
|
@@ -9368,16 +9363,20 @@ var CortiDictation = class extends i4 {
|
|
|
9368
9363
|
throw new Error("Invalid token");
|
|
9369
9364
|
}
|
|
9370
9365
|
}
|
|
9371
|
-
setAuthConfig(config) {
|
|
9366
|
+
async setAuthConfig(config) {
|
|
9372
9367
|
try {
|
|
9373
|
-
const
|
|
9368
|
+
const initialToken = "accessToken" in config ? { accessToken: config.accessToken } : await config.refreshAccessToken();
|
|
9369
|
+
if (!initialToken?.accessToken || typeof initialToken.accessToken !== "string") {
|
|
9370
|
+
throw new Error("Access token is required and must be a string");
|
|
9371
|
+
}
|
|
9372
|
+
const decoded = decodeToken(initialToken.accessToken);
|
|
9374
9373
|
if (!decoded) {
|
|
9375
9374
|
throw new Error("Invalid token format");
|
|
9376
9375
|
}
|
|
9377
9376
|
this._serverConfig = {
|
|
9378
9377
|
environment: decoded.environment,
|
|
9379
9378
|
tenant: decoded.tenant,
|
|
9380
|
-
accessToken:
|
|
9379
|
+
accessToken: initialToken.accessToken,
|
|
9381
9380
|
expiresIn: config.expiresIn ?? decoded.expiresIn,
|
|
9382
9381
|
refreshToken: config.refreshToken,
|
|
9383
9382
|
refreshExpiresIn: config.refreshExpiresIn,
|
package/dist/types.d.ts
CHANGED
|
@@ -1,16 +1,6 @@
|
|
|
1
|
+
import { type Corti } from '@corti/sdk';
|
|
1
2
|
export type RecordingState = 'initializing' | 'recording' | 'stopping' | 'stopped';
|
|
2
|
-
export
|
|
3
|
+
export type ServerConfig = {
|
|
3
4
|
environment: string;
|
|
4
5
|
tenant: string;
|
|
5
|
-
|
|
6
|
-
refreshToken?: string;
|
|
7
|
-
expiresIn?: number;
|
|
8
|
-
refreshExpiresIn?: number;
|
|
9
|
-
refreshAccessToken?: (refreshToken?: string) => Promise<{
|
|
10
|
-
accessToken: string;
|
|
11
|
-
tokenType: string;
|
|
12
|
-
expiresIn: number;
|
|
13
|
-
refreshToken?: string;
|
|
14
|
-
refreshExpiresIn?: number;
|
|
15
|
-
}>;
|
|
16
|
-
}
|
|
6
|
+
} & Corti.BearerOptions;
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import { type Corti } from '@corti/sdk';\n\nexport type RecordingState =\n | 'initializing'\n | 'recording'\n | 'stopping'\n | 'stopped';\n\nexport type ServerConfig = {\n environment: string;\n tenant: string;\n} & Corti.BearerOptions;\n"]}
|