@elevenlabs/client 0.15.1 → 1.0.0-rc.0
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/README.md +20 -836
- package/dist/BaseConversation.d.ts +10 -8
- package/dist/BaseConversation.d.ts.map +1 -0
- package/dist/BaseConversation.js +392 -0
- package/dist/BaseConversation.js.map +1 -0
- package/dist/InputController.d.ts +13 -0
- package/dist/InputController.d.ts.map +1 -0
- package/dist/InputController.js +2 -0
- package/dist/InputController.js.map +1 -0
- package/dist/OutputController.d.ts +12 -0
- package/dist/OutputController.d.ts.map +1 -0
- package/dist/OutputController.js +2 -0
- package/dist/OutputController.js.map +1 -0
- package/dist/TextConversation.d.ts +7 -0
- package/dist/TextConversation.d.ts.map +1 -0
- package/dist/TextConversation.js +53 -0
- package/dist/TextConversation.js.map +1 -0
- package/dist/VoiceConversation.d.ts +14 -12
- package/dist/VoiceConversation.d.ts.map +1 -0
- package/dist/VoiceConversation.js +225 -0
- package/dist/VoiceConversation.js.map +1 -0
- package/dist/index.d.ts +11 -6
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/internal.d.ts +8 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.js +6 -0
- package/dist/internal.js.map +1 -0
- package/dist/lib.iife.js +23493 -0
- package/dist/lib.iife.js.map +1 -0
- package/dist/platform/VoiceSessionSetup.d.ts +35 -0
- package/dist/platform/VoiceSessionSetup.d.ts.map +1 -0
- package/dist/platform/VoiceSessionSetup.js +74 -0
- package/dist/platform/VoiceSessionSetup.js.map +1 -0
- package/dist/scribe/connection.d.ts +1 -0
- package/dist/scribe/connection.d.ts.map +1 -0
- package/dist/scribe/connection.js +363 -0
- package/dist/scribe/connection.js.map +1 -0
- package/dist/scribe/index.d.ts +1 -0
- package/dist/scribe/index.d.ts.map +1 -0
- package/dist/scribe/index.js +8 -0
- package/dist/scribe/index.js.map +1 -0
- package/dist/scribe/scribe.d.ts +1 -0
- package/dist/scribe/scribe.d.ts.map +1 -0
- package/dist/scribe/scribe.js +193 -0
- package/dist/scribe/scribe.js.map +1 -0
- package/dist/sourceInfo.d.ts +7 -0
- package/dist/sourceInfo.d.ts.map +1 -0
- package/dist/sourceInfo.js +9 -0
- package/dist/sourceInfo.js.map +1 -0
- package/dist/utils/BaseConnection.d.ts +2 -8
- package/dist/utils/BaseConnection.d.ts.map +1 -0
- package/dist/utils/BaseConnection.js +73 -0
- package/dist/utils/BaseConnection.js.map +1 -0
- package/dist/utils/ConnectionFactory.d.ts +1 -0
- package/dist/utils/ConnectionFactory.d.ts.map +1 -0
- package/dist/utils/ConnectionFactory.js +26 -0
- package/dist/utils/ConnectionFactory.js.map +1 -0
- package/dist/utils/WebRTCConnection.d.ts +6 -1
- package/dist/utils/WebRTCConnection.d.ts.map +1 -0
- package/dist/utils/WebRTCConnection.js +494 -0
- package/dist/utils/WebRTCConnection.js.map +1 -0
- package/dist/utils/WebSocketConnection.d.ts +8 -3
- package/dist/utils/WebSocketConnection.d.ts.map +1 -0
- package/dist/utils/WebSocketConnection.js +155 -0
- package/dist/utils/WebSocketConnection.js.map +1 -0
- package/dist/utils/applyDelay.d.ts +1 -0
- package/dist/utils/applyDelay.d.ts.map +1 -0
- package/dist/utils/applyDelay.js +18 -0
- package/dist/utils/applyDelay.js.map +1 -0
- package/dist/utils/attachConnectionToOutput.d.ts +5 -0
- package/dist/utils/attachConnectionToOutput.d.ts.map +1 -0
- package/dist/utils/attachConnectionToOutput.js +11 -0
- package/dist/utils/attachConnectionToOutput.js.map +1 -0
- package/dist/utils/attachInputToConnection.d.ts +6 -0
- package/dist/utils/attachInputToConnection.d.ts.map +1 -0
- package/dist/utils/attachInputToConnection.js +16 -0
- package/dist/utils/attachInputToConnection.js.map +1 -0
- package/dist/utils/audio.d.ts +1 -0
- package/dist/utils/audio.d.ts.map +1 -0
- package/dist/utils/audio.js +16 -0
- package/dist/utils/audio.js.map +1 -0
- package/dist/utils/audioConcatProcessor.generated.d.ts +1 -0
- package/dist/utils/audioConcatProcessor.generated.d.ts.map +1 -0
- package/{worklets/audioConcatProcessor.js → dist/utils/audioConcatProcessor.generated.js} +12 -18
- package/dist/utils/audioConcatProcessor.generated.js.map +1 -0
- package/dist/utils/compatibility.d.ts +1 -0
- package/dist/utils/compatibility.d.ts.map +1 -0
- package/dist/utils/compatibility.js +16 -0
- package/dist/utils/compatibility.js.map +1 -0
- package/dist/utils/connection.d.ts +11 -0
- package/dist/utils/connection.d.ts.map +1 -0
- package/dist/utils/connection.js +14 -0
- package/dist/utils/connection.js.map +1 -0
- package/dist/utils/createWorkletModuleLoader.d.ts +1 -0
- package/dist/utils/createWorkletModuleLoader.d.ts.map +1 -0
- package/dist/utils/createWorkletModuleLoader.js +43 -0
- package/dist/utils/createWorkletModuleLoader.js.map +1 -0
- package/dist/utils/errors.d.ts +1 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +11 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/events.d.ts +2 -3
- package/dist/utils/events.d.ts.map +1 -0
- package/dist/utils/events.js +4 -0
- package/dist/utils/events.js.map +1 -0
- package/dist/utils/input.d.ts +22 -11
- package/dist/utils/input.d.ts.map +1 -0
- package/dist/utils/input.js +181 -0
- package/dist/utils/input.js.map +1 -0
- package/dist/utils/location.d.ts +5 -0
- package/dist/utils/location.d.ts.map +1 -0
- package/dist/utils/location.js +31 -0
- package/dist/utils/location.js.map +1 -0
- package/dist/utils/mergeOptions.d.ts +11 -0
- package/dist/utils/mergeOptions.d.ts.map +1 -0
- package/dist/utils/mergeOptions.js +38 -0
- package/dist/utils/mergeOptions.js.map +1 -0
- package/dist/utils/output.d.ts +36 -10
- package/dist/utils/output.d.ts.map +1 -0
- package/dist/utils/output.js +127 -0
- package/dist/utils/output.js.map +1 -0
- package/dist/utils/overrides.d.ts +1 -0
- package/dist/utils/overrides.d.ts.map +1 -0
- package/dist/utils/overrides.js +40 -0
- package/dist/utils/overrides.js.map +1 -0
- package/dist/utils/postOverallFeedback.d.ts +1 -0
- package/dist/utils/postOverallFeedback.d.ts.map +1 -0
- package/dist/utils/postOverallFeedback.js +19 -0
- package/dist/utils/postOverallFeedback.js.map +1 -0
- package/dist/utils/rawAudioProcessor.generated.d.ts +1 -0
- package/dist/utils/rawAudioProcessor.generated.d.ts.map +1 -0
- package/{worklets/rawAudioProcessor.js → dist/utils/rawAudioProcessor.generated.js} +7 -1
- package/dist/utils/rawAudioProcessor.generated.js.map +1 -0
- package/dist/utils/scribeAudioProcessor.generated.d.ts +1 -0
- package/dist/utils/scribeAudioProcessor.generated.d.ts.map +1 -0
- package/{worklets/scribeAudioProcessor.js → dist/utils/scribeAudioProcessor.generated.js} +7 -1
- package/dist/utils/scribeAudioProcessor.generated.js.map +1 -0
- package/dist/version.d.ts +2 -1
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- package/package.json +21 -15
- package/.turbo/turbo-build.log +0 -13
- package/.turbo/turbo-generate-version.log +0 -4
- package/.turbo/turbo-generate-worklets.log +0 -9
- package/.turbo/turbo-lint$colon$es.log +0 -6
- package/.turbo/turbo-lint$colon$prettier.log +0 -6
- package/CHANGELOG.md +0 -42
- package/dist/lib.cjs +0 -2
- package/dist/lib.cjs.map +0 -1
- package/dist/lib.modern.js +0 -2
- package/dist/lib.modern.js.map +0 -1
- package/dist/lib.module.js +0 -2
- package/dist/lib.module.js.map +0 -1
- package/dist/lib.umd.js +0 -2
- package/dist/lib.umd.js.map +0 -1
- package/dist/utils/addLibsamplerateModule.d.ts +0 -1
- package/scripts/generateWorklets.js +0 -59
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Options } from "../BaseConversation";
|
|
2
|
+
import type { BaseConnection } from "../utils/BaseConnection";
|
|
3
|
+
import type { InputController } from "../InputController";
|
|
4
|
+
import type { OutputController } from "../OutputController";
|
|
5
|
+
import { type PlaybackEventTarget } from "../utils/output";
|
|
6
|
+
export type VoiceSessionSetupResult = {
|
|
7
|
+
connection: BaseConnection;
|
|
8
|
+
input: InputController;
|
|
9
|
+
output: OutputController;
|
|
10
|
+
playbackEventTarget: PlaybackEventTarget | null;
|
|
11
|
+
detach: () => void;
|
|
12
|
+
};
|
|
13
|
+
export type VoiceSessionSetupStrategy = (options: Options) => Promise<VoiceSessionSetupResult>;
|
|
14
|
+
/**
|
|
15
|
+
* Sets up input and output controllers for an existing connection.
|
|
16
|
+
* Shared helper used by platform-specific setup strategies.
|
|
17
|
+
*/
|
|
18
|
+
export declare function setupInputOutput(options: Options, connection: BaseConnection): Promise<Omit<VoiceSessionSetupResult, "connection">>;
|
|
19
|
+
/**
|
|
20
|
+
* Web platform session setup strategy.
|
|
21
|
+
* Creates a connection and sets up input/output based on the connection type.
|
|
22
|
+
*/
|
|
23
|
+
export declare function webSessionSetup(options: Options): Promise<VoiceSessionSetupResult>;
|
|
24
|
+
/**
|
|
25
|
+
* The active session setup strategy.
|
|
26
|
+
* Defaults to web platform strategy.
|
|
27
|
+
* Can be overridden by platform-specific entrypoints (e.g. React Native).
|
|
28
|
+
*/
|
|
29
|
+
export declare let setupStrategy: VoiceSessionSetupStrategy;
|
|
30
|
+
/**
|
|
31
|
+
* Override the voice session setup strategy.
|
|
32
|
+
* Called by platform-specific entrypoints to inject their own setup handling.
|
|
33
|
+
*/
|
|
34
|
+
export declare function setSetupStrategy(strategy: VoiceSessionSetupStrategy): void;
|
|
35
|
+
//# sourceMappingURL=VoiceSessionSetup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VoiceSessionSetup.d.ts","sourceRoot":"","sources":["../../src/platform/VoiceSessionSetup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAqB,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAQ9E,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,EAAE,cAAc,CAAC;IAC3B,KAAK,EAAE,eAAe,CAAC;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB,mBAAmB,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAChD,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,CACtC,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAEtC;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,cAAc,GACzB,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC,CAyCtD;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,uBAAuB,CAAC,CAIlC;AAED;;;;GAIG;AACH,eAAO,IAAI,aAAa,EAAE,yBAA2C,CAAC;AAEtE;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,yBAAyB,QAEnE"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { MediaDeviceOutput } from "../utils/output";
|
|
2
|
+
import { MediaDeviceInput } from "../utils/input";
|
|
3
|
+
import { WebSocketConnection } from "../utils/WebSocketConnection";
|
|
4
|
+
import { WebRTCConnection } from "../utils/WebRTCConnection";
|
|
5
|
+
import { attachInputToConnection } from "../utils/attachInputToConnection";
|
|
6
|
+
import { attachConnectionToOutput } from "../utils/attachConnectionToOutput";
|
|
7
|
+
import { createConnection } from "../utils/ConnectionFactory";
|
|
8
|
+
/**
|
|
9
|
+
* Sets up input and output controllers for an existing connection.
|
|
10
|
+
* Shared helper used by platform-specific setup strategies.
|
|
11
|
+
*/
|
|
12
|
+
export async function setupInputOutput(options, connection) {
|
|
13
|
+
if (connection instanceof WebRTCConnection) {
|
|
14
|
+
return {
|
|
15
|
+
input: connection.input,
|
|
16
|
+
output: connection.output,
|
|
17
|
+
playbackEventTarget: null,
|
|
18
|
+
detach: () => { },
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
else if (connection instanceof WebSocketConnection) {
|
|
22
|
+
const [input, output] = await Promise.all([
|
|
23
|
+
MediaDeviceInput.create({
|
|
24
|
+
...connection.inputFormat,
|
|
25
|
+
preferHeadphonesForIosDevices: options.preferHeadphonesForIosDevices,
|
|
26
|
+
inputDeviceId: options.inputDeviceId,
|
|
27
|
+
workletPaths: options.workletPaths,
|
|
28
|
+
libsampleratePath: options.libsampleratePath,
|
|
29
|
+
}),
|
|
30
|
+
MediaDeviceOutput.create({
|
|
31
|
+
...connection.outputFormat,
|
|
32
|
+
outputDeviceId: options.outputDeviceId,
|
|
33
|
+
workletPaths: options.workletPaths,
|
|
34
|
+
}),
|
|
35
|
+
]);
|
|
36
|
+
const detachInput = attachInputToConnection(input, connection);
|
|
37
|
+
const detachOutput = attachConnectionToOutput(connection, output);
|
|
38
|
+
return {
|
|
39
|
+
input,
|
|
40
|
+
output,
|
|
41
|
+
playbackEventTarget: output,
|
|
42
|
+
detach: () => {
|
|
43
|
+
detachInput();
|
|
44
|
+
detachOutput();
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
throw new Error(`Unsupported connection type: ${connection.constructor.name}`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Web platform session setup strategy.
|
|
54
|
+
* Creates a connection and sets up input/output based on the connection type.
|
|
55
|
+
*/
|
|
56
|
+
export async function webSessionSetup(options) {
|
|
57
|
+
const connection = await createConnection(options);
|
|
58
|
+
const io = await setupInputOutput(options, connection);
|
|
59
|
+
return { connection, ...io };
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* The active session setup strategy.
|
|
63
|
+
* Defaults to web platform strategy.
|
|
64
|
+
* Can be overridden by platform-specific entrypoints (e.g. React Native).
|
|
65
|
+
*/
|
|
66
|
+
export let setupStrategy = webSessionSetup;
|
|
67
|
+
/**
|
|
68
|
+
* Override the voice session setup strategy.
|
|
69
|
+
* Called by platform-specific entrypoints to inject their own setup handling.
|
|
70
|
+
*/
|
|
71
|
+
export function setSetupStrategy(strategy) {
|
|
72
|
+
setupStrategy = strategy;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=VoiceSessionSetup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VoiceSessionSetup.js","sourceRoot":"","sources":["../../src/platform/VoiceSessionSetup.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAA4B,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAc9D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAgB,EAChB,UAA0B;IAE1B,IAAI,UAAU,YAAY,gBAAgB,EAAE,CAAC;QAC3C,OAAO;YACL,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,mBAAmB,EAAE,IAAI;YACzB,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;SACjB,CAAC;IACJ,CAAC;SAAM,IAAI,UAAU,YAAY,mBAAmB,EAAE,CAAC;QACrD,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACxC,gBAAgB,CAAC,MAAM,CAAC;gBACtB,GAAG,UAAU,CAAC,WAAW;gBACzB,6BAA6B,EAAE,OAAO,CAAC,6BAA6B;gBACpE,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;aAC7C,CAAC;YACF,iBAAiB,CAAC,MAAM,CAAC;gBACvB,GAAG,UAAU,CAAC,YAAY;gBAC1B,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,YAAY,EAAE,OAAO,CAAC,YAAY;aACnC,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,uBAAuB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,wBAAwB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAElE,OAAO;YACL,KAAK;YACL,MAAM;YACN,mBAAmB,EAAE,MAAM;YAC3B,MAAM,EAAE,GAAG,EAAE;gBACX,WAAW,EAAE,CAAC;gBACd,YAAY,EAAE,CAAC;YACjB,CAAC;SACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,gCAAgC,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,CAC9D,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAgB;IAEhB,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACvD,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,IAAI,aAAa,GAA8B,eAAe,CAAC;AAEtE;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAmC;IAClE,aAAa,GAAG,QAAQ,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/scribe/connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple EventEmitter implementation for browser compatibility.
|
|
3
|
+
*/
|
|
4
|
+
class EventEmitter {
|
|
5
|
+
listeners = new Map();
|
|
6
|
+
on(event, listener) {
|
|
7
|
+
if (!this.listeners.has(event)) {
|
|
8
|
+
this.listeners.set(event, new Set());
|
|
9
|
+
}
|
|
10
|
+
const eventListeners = this.listeners.get(event);
|
|
11
|
+
if (eventListeners) {
|
|
12
|
+
eventListeners.add(listener);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
off(event, listener) {
|
|
16
|
+
const eventListeners = this.listeners.get(event);
|
|
17
|
+
if (eventListeners) {
|
|
18
|
+
eventListeners.delete(listener);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
emit(event, ...args) {
|
|
22
|
+
const eventListeners = this.listeners.get(event);
|
|
23
|
+
if (eventListeners) {
|
|
24
|
+
eventListeners.forEach(listener => {
|
|
25
|
+
listener(...args);
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Events emitted by the RealtimeConnection.
|
|
32
|
+
*/
|
|
33
|
+
export var RealtimeEvents;
|
|
34
|
+
(function (RealtimeEvents) {
|
|
35
|
+
/** Emitted when the session is successfully started */
|
|
36
|
+
RealtimeEvents["SESSION_STARTED"] = "session_started";
|
|
37
|
+
/** Emitted when a partial (interim) transcript is available */
|
|
38
|
+
RealtimeEvents["PARTIAL_TRANSCRIPT"] = "partial_transcript";
|
|
39
|
+
/** Emitted when a final transcript is available */
|
|
40
|
+
RealtimeEvents["COMMITTED_TRANSCRIPT"] = "committed_transcript";
|
|
41
|
+
/** Emitted when a final transcript with timestamps is available */
|
|
42
|
+
RealtimeEvents["COMMITTED_TRANSCRIPT_WITH_TIMESTAMPS"] = "committed_transcript_with_timestamps";
|
|
43
|
+
/** Emitted when an authentication error occurs */
|
|
44
|
+
RealtimeEvents["AUTH_ERROR"] = "auth_error";
|
|
45
|
+
/** Emitted when an error occurs (also emitted for all specific error types) */
|
|
46
|
+
RealtimeEvents["ERROR"] = "error";
|
|
47
|
+
/** Emitted when the WebSocket connection is opened */
|
|
48
|
+
RealtimeEvents["OPEN"] = "open";
|
|
49
|
+
/** Emitted when the WebSocket connection is closed */
|
|
50
|
+
RealtimeEvents["CLOSE"] = "close";
|
|
51
|
+
/** Emitted when a quota exceeded error occurs */
|
|
52
|
+
RealtimeEvents["QUOTA_EXCEEDED"] = "quota_exceeded";
|
|
53
|
+
/** Emitted when commit is throttled */
|
|
54
|
+
RealtimeEvents["COMMIT_THROTTLED"] = "commit_throttled";
|
|
55
|
+
/** Emitted when a transcriber error occurs */
|
|
56
|
+
RealtimeEvents["TRANSCRIBER_ERROR"] = "transcriber_error";
|
|
57
|
+
/** Emitted when terms have not been accepted */
|
|
58
|
+
RealtimeEvents["UNACCEPTED_TERMS"] = "unaccepted_terms";
|
|
59
|
+
/** Emitted when rate limited */
|
|
60
|
+
RealtimeEvents["RATE_LIMITED"] = "rate_limited";
|
|
61
|
+
/** Emitted when there's an input error */
|
|
62
|
+
RealtimeEvents["INPUT_ERROR"] = "input_error";
|
|
63
|
+
/** Emitted when the queue overflows */
|
|
64
|
+
RealtimeEvents["QUEUE_OVERFLOW"] = "queue_overflow";
|
|
65
|
+
/** Emitted when resources are exhausted */
|
|
66
|
+
RealtimeEvents["RESOURCE_EXHAUSTED"] = "resource_exhausted";
|
|
67
|
+
/** Emitted when session time limit is exceeded */
|
|
68
|
+
RealtimeEvents["SESSION_TIME_LIMIT_EXCEEDED"] = "session_time_limit_exceeded";
|
|
69
|
+
/** Emitted when chunk size is exceeded */
|
|
70
|
+
RealtimeEvents["CHUNK_SIZE_EXCEEDED"] = "chunk_size_exceeded";
|
|
71
|
+
/** Emitted when there's insufficient audio activity */
|
|
72
|
+
RealtimeEvents["INSUFFICIENT_AUDIO_ACTIVITY"] = "insufficient_audio_activity";
|
|
73
|
+
})(RealtimeEvents || (RealtimeEvents = {}));
|
|
74
|
+
/**
|
|
75
|
+
* Manages a real-time transcription WebSocket connection.
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```typescript
|
|
79
|
+
* const connection = await Scribe.connect({
|
|
80
|
+
* token: "...",
|
|
81
|
+
* modelId: "scribe_v2_realtime",
|
|
82
|
+
* audioFormat: AudioFormat.PCM_16000,
|
|
83
|
+
* sampleRate: 16000,
|
|
84
|
+
* });
|
|
85
|
+
*
|
|
86
|
+
* connection.on(RealtimeEvents.SESSION_STARTED, (data) => {
|
|
87
|
+
* console.log("Session started");
|
|
88
|
+
* });
|
|
89
|
+
*
|
|
90
|
+
* connection.on(RealtimeEvents.PARTIAL_TRANSCRIPT, (data) => {
|
|
91
|
+
* console.log("Partial:", data.transcript);
|
|
92
|
+
* });
|
|
93
|
+
*
|
|
94
|
+
* connection.on(RealtimeEvents.COMMITTED_TRANSCRIPT, (data) => {
|
|
95
|
+
* console.log("Final:", data.transcript);
|
|
96
|
+
* connection.close();
|
|
97
|
+
* });
|
|
98
|
+
*
|
|
99
|
+
* // Send audio data
|
|
100
|
+
* connection.send({ audioBase64: base64String });
|
|
101
|
+
*
|
|
102
|
+
* // Commit and close
|
|
103
|
+
* connection.commit();
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
export class RealtimeConnection {
|
|
107
|
+
websocket = null;
|
|
108
|
+
eventEmitter = new EventEmitter();
|
|
109
|
+
currentSampleRate = 16000;
|
|
110
|
+
_audioCleanup;
|
|
111
|
+
constructor(sampleRate) {
|
|
112
|
+
this.currentSampleRate = sampleRate;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* @internal
|
|
116
|
+
* Used internally by ScribeRealtime to attach the WebSocket after connection is created.
|
|
117
|
+
*/
|
|
118
|
+
setWebSocket(websocket) {
|
|
119
|
+
this.websocket = websocket;
|
|
120
|
+
// If WebSocket is already open, emit OPEN event immediately
|
|
121
|
+
if (this.websocket.readyState === WebSocket.OPEN) {
|
|
122
|
+
this.eventEmitter.emit(RealtimeEvents.OPEN);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
// Otherwise, wait for the open event
|
|
126
|
+
this.websocket.addEventListener("open", () => {
|
|
127
|
+
this.eventEmitter.emit(RealtimeEvents.OPEN);
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
this.websocket.addEventListener("message", (event) => {
|
|
131
|
+
try {
|
|
132
|
+
const data = JSON.parse(event.data);
|
|
133
|
+
switch (data.message_type) {
|
|
134
|
+
case "session_started":
|
|
135
|
+
this.eventEmitter.emit(RealtimeEvents.SESSION_STARTED, data);
|
|
136
|
+
break;
|
|
137
|
+
case "partial_transcript":
|
|
138
|
+
this.eventEmitter.emit(RealtimeEvents.PARTIAL_TRANSCRIPT, data);
|
|
139
|
+
break;
|
|
140
|
+
case "committed_transcript":
|
|
141
|
+
this.eventEmitter.emit(RealtimeEvents.COMMITTED_TRANSCRIPT, data);
|
|
142
|
+
break;
|
|
143
|
+
case "committed_transcript_with_timestamps":
|
|
144
|
+
this.eventEmitter.emit(RealtimeEvents.COMMITTED_TRANSCRIPT_WITH_TIMESTAMPS, data);
|
|
145
|
+
break;
|
|
146
|
+
// Error cases - emit both specific event and generic ERROR
|
|
147
|
+
case "auth_error":
|
|
148
|
+
this.eventEmitter.emit(RealtimeEvents.AUTH_ERROR, data);
|
|
149
|
+
this.eventEmitter.emit(RealtimeEvents.ERROR, data);
|
|
150
|
+
break;
|
|
151
|
+
case "quota_exceeded":
|
|
152
|
+
this.eventEmitter.emit(RealtimeEvents.QUOTA_EXCEEDED, data);
|
|
153
|
+
this.eventEmitter.emit(RealtimeEvents.ERROR, data);
|
|
154
|
+
break;
|
|
155
|
+
case "commit_throttled":
|
|
156
|
+
this.eventEmitter.emit(RealtimeEvents.COMMIT_THROTTLED, data);
|
|
157
|
+
this.eventEmitter.emit(RealtimeEvents.ERROR, data);
|
|
158
|
+
break;
|
|
159
|
+
case "transcriber_error":
|
|
160
|
+
this.eventEmitter.emit(RealtimeEvents.TRANSCRIBER_ERROR, data);
|
|
161
|
+
this.eventEmitter.emit(RealtimeEvents.ERROR, data);
|
|
162
|
+
break;
|
|
163
|
+
case "unaccepted_terms":
|
|
164
|
+
this.eventEmitter.emit(RealtimeEvents.UNACCEPTED_TERMS, data);
|
|
165
|
+
this.eventEmitter.emit(RealtimeEvents.ERROR, data);
|
|
166
|
+
break;
|
|
167
|
+
case "rate_limited":
|
|
168
|
+
this.eventEmitter.emit(RealtimeEvents.RATE_LIMITED, data);
|
|
169
|
+
this.eventEmitter.emit(RealtimeEvents.ERROR, data);
|
|
170
|
+
break;
|
|
171
|
+
case "input_error":
|
|
172
|
+
this.eventEmitter.emit(RealtimeEvents.INPUT_ERROR, data);
|
|
173
|
+
this.eventEmitter.emit(RealtimeEvents.ERROR, data);
|
|
174
|
+
break;
|
|
175
|
+
case "queue_overflow":
|
|
176
|
+
this.eventEmitter.emit(RealtimeEvents.QUEUE_OVERFLOW, data);
|
|
177
|
+
this.eventEmitter.emit(RealtimeEvents.ERROR, data);
|
|
178
|
+
break;
|
|
179
|
+
case "resource_exhausted":
|
|
180
|
+
this.eventEmitter.emit(RealtimeEvents.RESOURCE_EXHAUSTED, data);
|
|
181
|
+
this.eventEmitter.emit(RealtimeEvents.ERROR, data);
|
|
182
|
+
break;
|
|
183
|
+
case "session_time_limit_exceeded":
|
|
184
|
+
this.eventEmitter.emit(RealtimeEvents.SESSION_TIME_LIMIT_EXCEEDED, data);
|
|
185
|
+
this.eventEmitter.emit(RealtimeEvents.ERROR, data);
|
|
186
|
+
break;
|
|
187
|
+
case "chunk_size_exceeded":
|
|
188
|
+
this.eventEmitter.emit(RealtimeEvents.CHUNK_SIZE_EXCEEDED, data);
|
|
189
|
+
this.eventEmitter.emit(RealtimeEvents.ERROR, data);
|
|
190
|
+
break;
|
|
191
|
+
case "insufficient_audio_activity":
|
|
192
|
+
this.eventEmitter.emit(RealtimeEvents.INSUFFICIENT_AUDIO_ACTIVITY, data);
|
|
193
|
+
this.eventEmitter.emit(RealtimeEvents.ERROR, data);
|
|
194
|
+
break;
|
|
195
|
+
case "error":
|
|
196
|
+
this.eventEmitter.emit(RealtimeEvents.ERROR, data);
|
|
197
|
+
break;
|
|
198
|
+
default:
|
|
199
|
+
console.warn("Unknown message type:", data);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
catch (error) {
|
|
203
|
+
console.error("Failed to parse WebSocket message:", error, event.data);
|
|
204
|
+
this.eventEmitter.emit(RealtimeEvents.ERROR, new Error(`Failed to parse message: ${error}`));
|
|
205
|
+
}
|
|
206
|
+
});
|
|
207
|
+
this.websocket.addEventListener("error", (error) => {
|
|
208
|
+
console.error("WebSocket error:", error);
|
|
209
|
+
this.eventEmitter.emit(RealtimeEvents.ERROR, error);
|
|
210
|
+
});
|
|
211
|
+
this.websocket.addEventListener("close", (event) => {
|
|
212
|
+
console.log(`WebSocket closed: code=${event.code}, reason="${event.reason}", wasClean=${event.wasClean}`);
|
|
213
|
+
// Emit error if close was not clean or had an error code
|
|
214
|
+
if (!event.wasClean || (event.code !== 1000 && event.code !== 1005)) {
|
|
215
|
+
const errorMessage = `WebSocket closed unexpectedly: ${event.code} - ${event.reason || "No reason provided"}`;
|
|
216
|
+
console.error(errorMessage);
|
|
217
|
+
this.eventEmitter.emit(RealtimeEvents.ERROR, new Error(errorMessage));
|
|
218
|
+
}
|
|
219
|
+
this.eventEmitter.emit(RealtimeEvents.CLOSE, event);
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Attaches an event listener for the specified event.
|
|
224
|
+
*
|
|
225
|
+
* @param event - The event to listen for (use RealtimeEvents enum)
|
|
226
|
+
* @param listener - The callback function to execute when the event fires
|
|
227
|
+
*
|
|
228
|
+
* @example
|
|
229
|
+
* ```typescript
|
|
230
|
+
* connection.on(RealtimeEvents.SESSION_STARTED, (data) => {
|
|
231
|
+
* console.log("Session started", data.session_id);
|
|
232
|
+
* });
|
|
233
|
+
*
|
|
234
|
+
* connection.on(RealtimeEvents.PARTIAL_TRANSCRIPT, (data) => {
|
|
235
|
+
* console.log("Partial:", data.text);
|
|
236
|
+
* });
|
|
237
|
+
*
|
|
238
|
+
* connection.on(RealtimeEvents.COMMITTED_TRANSCRIPT, (data) => {
|
|
239
|
+
* console.log("Final:", data.text);
|
|
240
|
+
* });
|
|
241
|
+
* ```
|
|
242
|
+
*/
|
|
243
|
+
on(event, listener) {
|
|
244
|
+
this.eventEmitter.on(event, listener);
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Removes an event listener for the specified event.
|
|
248
|
+
*
|
|
249
|
+
* @param event - The event to stop listening for
|
|
250
|
+
* @param listener - The callback function to remove
|
|
251
|
+
*
|
|
252
|
+
* @example
|
|
253
|
+
* ```typescript
|
|
254
|
+
* const handler = (data: PartialTranscriptMessage) => console.log(data.text);
|
|
255
|
+
* connection.on(RealtimeEvents.PARTIAL_TRANSCRIPT, handler);
|
|
256
|
+
*
|
|
257
|
+
* // Later, remove the listener
|
|
258
|
+
* connection.off(RealtimeEvents.PARTIAL_TRANSCRIPT, handler);
|
|
259
|
+
* ```
|
|
260
|
+
*/
|
|
261
|
+
off(event, listener) {
|
|
262
|
+
this.eventEmitter.off(event, listener);
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Sends audio data to the transcription service.
|
|
266
|
+
*
|
|
267
|
+
* @param data - Audio data configuration
|
|
268
|
+
* @param data.audioBase64 - Base64-encoded audio data
|
|
269
|
+
* @param data.commit - Whether to commit the transcription after this chunk. You likely want to use connection.commit() instead (default: false)
|
|
270
|
+
* @param data.sampleRate - Sample rate of the audio (default: configured sample rate)
|
|
271
|
+
* @param data.previousText - Send context to the model via base64 encoded audio or text from a previous transcription. Can only be sent alongside the first audio chunk. If sent in a subsequent chunk, an error will be returned.
|
|
272
|
+
*
|
|
273
|
+
* @throws {Error} If the WebSocket connection is not open
|
|
274
|
+
*
|
|
275
|
+
* @example
|
|
276
|
+
* ```typescript
|
|
277
|
+
* // Send audio chunk without committing
|
|
278
|
+
* connection.send({
|
|
279
|
+
* audioBase64: base64EncodedAudio,
|
|
280
|
+
* });
|
|
281
|
+
*
|
|
282
|
+
* // Send audio chunk with custom sample rate and previous text
|
|
283
|
+
* connection.send({
|
|
284
|
+
* audioBase64: base64EncodedAudio,
|
|
285
|
+
* sampleRate: 16000,
|
|
286
|
+
* previousText: "Previous transcription text",
|
|
287
|
+
* });
|
|
288
|
+
* ```
|
|
289
|
+
*/
|
|
290
|
+
send(data) {
|
|
291
|
+
if (!this.websocket || this.websocket.readyState !== WebSocket.OPEN) {
|
|
292
|
+
throw new Error("WebSocket is not connected");
|
|
293
|
+
}
|
|
294
|
+
const message = {
|
|
295
|
+
message_type: "input_audio_chunk",
|
|
296
|
+
audio_base_64: data.audioBase64,
|
|
297
|
+
commit: data.commit ?? false,
|
|
298
|
+
sample_rate: data.sampleRate ?? this.currentSampleRate,
|
|
299
|
+
previous_text: data.previousText,
|
|
300
|
+
};
|
|
301
|
+
this.websocket.send(JSON.stringify(message));
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Commits the transcription, signaling that a segment of audio has been sent. This clears the buffer and triggers a COMMITTED_TRANSCRIPT event. Context from previous segments is kept.
|
|
305
|
+
* Committing a segment triggers a COMMITTED_TRANSCRIPT event.
|
|
306
|
+
*
|
|
307
|
+
* @throws {Error} If the WebSocket connection is not open
|
|
308
|
+
*
|
|
309
|
+
* @remarks
|
|
310
|
+
* Only needed when using CommitStrategy.MANUAL.
|
|
311
|
+
* When using CommitStrategy.VAD, commits are handled automatically by the server.
|
|
312
|
+
*
|
|
313
|
+
* @example
|
|
314
|
+
* ```typescript
|
|
315
|
+
* // Send all audio chunks
|
|
316
|
+
* for (const chunk of audioChunks) {
|
|
317
|
+
* connection.send({ audioBase64: chunk });
|
|
318
|
+
* }
|
|
319
|
+
*
|
|
320
|
+
* // Finalize the transcription
|
|
321
|
+
* connection.commit();
|
|
322
|
+
* ```
|
|
323
|
+
*/
|
|
324
|
+
commit() {
|
|
325
|
+
if (!this.websocket || this.websocket.readyState !== WebSocket.OPEN) {
|
|
326
|
+
throw new Error("WebSocket is not connected");
|
|
327
|
+
}
|
|
328
|
+
const message = {
|
|
329
|
+
message_type: "input_audio_chunk",
|
|
330
|
+
audio_base_64: "",
|
|
331
|
+
commit: true,
|
|
332
|
+
sample_rate: this.currentSampleRate,
|
|
333
|
+
};
|
|
334
|
+
this.websocket.send(JSON.stringify(message));
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Closes the WebSocket connection and cleans up resources.
|
|
338
|
+
* This will terminate any ongoing transcription and stop microphone streaming if active.
|
|
339
|
+
*
|
|
340
|
+
* @remarks
|
|
341
|
+
* After calling close(), this connection cannot be reused.
|
|
342
|
+
* Create a new connection if you need to start transcribing again.
|
|
343
|
+
*
|
|
344
|
+
* @example
|
|
345
|
+
* ```typescript
|
|
346
|
+
* connection.on(RealtimeEvents.COMMITTED_TRANSCRIPT, (data) => {
|
|
347
|
+
* console.log("Segment committed:", data.transcript);
|
|
348
|
+
* connection.close();
|
|
349
|
+
* });
|
|
350
|
+
* ```
|
|
351
|
+
*/
|
|
352
|
+
close() {
|
|
353
|
+
// Cleanup audio resources (microphone stream, audio context)
|
|
354
|
+
if (this._audioCleanup) {
|
|
355
|
+
this._audioCleanup();
|
|
356
|
+
}
|
|
357
|
+
// Close WebSocket connection
|
|
358
|
+
if (this.websocket) {
|
|
359
|
+
this.websocket.close(1000, "User ended session");
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
//# sourceMappingURL=connection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/scribe/connection.ts"],"names":[],"mappings":"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"}
|
package/dist/scribe/index.d.ts
CHANGED
|
@@ -5,3 +5,4 @@ export { RealtimeEvents } from "./connection";
|
|
|
5
5
|
export type { RealtimeEventMap } from "./connection";
|
|
6
6
|
export type { AudioOptions, MicrophoneOptions } from "./scribe";
|
|
7
7
|
export type { WebSocketMessage, SessionStartedMessage, PartialTranscriptMessage, CommittedTranscriptMessage, CommittedTranscriptWithTimestampsMessage, ScribeErrorMessage, ScribeAuthErrorMessage, ScribeQuotaExceededErrorMessage, ScribeCommitThrottledErrorMessage, ScribeTranscriberErrorMessage, ScribeUnacceptedTermsErrorMessage, ScribeRateLimitedErrorMessage, ScribeInputErrorMessage, ScribeQueueOverflowErrorMessage, ScribeResourceExhaustedErrorMessage, ScribeSessionTimeLimitExceededErrorMessage, ScribeChunkSizeExceededErrorMessage, ScribeInsufficientAudioActivityErrorMessage, } from "./connection";
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scribe/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAGpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGlD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGrD,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAChE,YAAY,EACV,gBAAgB,EAChB,qBAAqB,EACrB,wBAAwB,EACxB,0BAA0B,EAC1B,wCAAwC,EACxC,kBAAkB,EAClB,sBAAsB,EACtB,+BAA+B,EAC/B,iCAAiC,EACjC,6BAA6B,EAC7B,iCAAiC,EACjC,6BAA6B,EAC7B,uBAAuB,EACvB,+BAA+B,EAC/B,mCAAmC,EACnC,0CAA0C,EAC1C,mCAAmC,EACnC,2CAA2C,GAC5C,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Export the main Scribe class (renamed from ScribeRealtime)
|
|
2
|
+
export { ScribeRealtime as Scribe } from "./scribe";
|
|
3
|
+
// Export connection class
|
|
4
|
+
export { RealtimeConnection } from "./connection";
|
|
5
|
+
// Export enums
|
|
6
|
+
export { AudioFormat, CommitStrategy } from "./scribe";
|
|
7
|
+
export { RealtimeEvents } from "./connection";
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scribe/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,OAAO,EAAE,cAAc,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAEpD,0BAA0B;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/scribe/scribe.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scribe.d.ts","sourceRoot":"","sources":["../../src/scribe/scribe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGlD,oBAAY,WAAW;IACrB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,SAAS,cAAc;CACxB;AAED,oBAAY,cAAc;IACxB,MAAM,WAAW;IACjB,GAAG,QAAQ;CACZ;AAED,UAAU,WAAW;IACnB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,UAAU,CAAC,EAAE;QACX,QAAQ,CAAC,EAAE,kBAAkB,CAAC;QAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,UAAU,CAAC,EAAE,KAAK,CAAC;CACpB;AAED;;;GAGG;AAGH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAErE,OAAO,CAAC,MAAM,CAAC,eAAe;IAM9B,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAyEhC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;WACW,OAAO,CACnB,OAAO,EAAE,YAAY,GAAG,iBAAiB,GACxC,kBAAkB;mBAgCA,oBAAoB;CAqF1C"}
|