@framers/agentos 0.9.31 → 0.9.32
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/io/speech/SpeechProviderResolver.d.ts.map +1 -1
- package/dist/io/speech/SpeechProviderResolver.js +1 -0
- package/dist/io/speech/SpeechProviderResolver.js.map +1 -1
- package/dist/io/speech/index.d.ts +1 -0
- package/dist/io/speech/index.d.ts.map +1 -1
- package/dist/io/speech/index.js +1 -0
- package/dist/io/speech/index.js.map +1 -1
- package/dist/io/speech/providerCatalog.d.ts.map +1 -1
- package/dist/io/speech/providerCatalog.js +12 -0
- package/dist/io/speech/providerCatalog.js.map +1 -1
- package/dist/io/speech/providers/DeepgramTextToSpeechProvider.d.ts +59 -0
- package/dist/io/speech/providers/DeepgramTextToSpeechProvider.d.ts.map +1 -0
- package/dist/io/speech/providers/DeepgramTextToSpeechProvider.js +147 -0
- package/dist/io/speech/providers/DeepgramTextToSpeechProvider.js.map +1 -0
- package/dist/io/voice-pipeline/env-constructor.d.ts +7 -0
- package/dist/io/voice-pipeline/env-constructor.d.ts.map +1 -1
- package/dist/io/voice-pipeline/env-constructor.js +7 -0
- package/dist/io/voice-pipeline/env-constructor.js.map +1 -1
- package/dist/io/voice-pipeline/index.d.ts +1 -1
- package/dist/io/voice-pipeline/index.d.ts.map +1 -1
- package/dist/io/voice-pipeline/index.js +1 -1
- package/dist/io/voice-pipeline/index.js.map +1 -1
- package/dist/io/voice-pipeline/providers/DeepgramAuraBatchTTS.d.ts +68 -0
- package/dist/io/voice-pipeline/providers/DeepgramAuraBatchTTS.d.ts.map +1 -0
- package/dist/io/voice-pipeline/providers/DeepgramAuraBatchTTS.js +157 -0
- package/dist/io/voice-pipeline/providers/DeepgramAuraBatchTTS.js.map +1 -0
- package/dist/io/voice-pipeline/providers/DeepgramAuraStreamingTTS.d.ts +67 -0
- package/dist/io/voice-pipeline/providers/DeepgramAuraStreamingTTS.d.ts.map +1 -0
- package/dist/io/voice-pipeline/providers/DeepgramAuraStreamingTTS.js +230 -0
- package/dist/io/voice-pipeline/providers/DeepgramAuraStreamingTTS.js.map +1 -0
- package/dist/io/voice-pipeline/providers/index.d.ts +2 -0
- package/dist/io/voice-pipeline/providers/index.d.ts.map +1 -1
- package/dist/io/voice-pipeline/providers/index.js +2 -0
- package/dist/io/voice-pipeline/providers/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpeechProviderResolver.d.ts","sourceRoot":"","sources":["../../../src/io/speech/SpeechProviderResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAIpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,qBAAa,sBAAuB,SAAQ,YAAY;IA2BpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG;IA3BtB;;;;OAIG;IACH,OAAO,CAAC,aAAa,CAA2C;IAEhE;;;;;;;;;;;;;;;;;OAiBG;gBAEgB,MAAM,CAAC,EAAE,oBAAoB,YAAA,EAC7B,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe;IAKxE;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,QAAQ,CAAC,GAAG,EAAE,oBAAoB,GAAG,IAAI;IAKzC;;;;;;;;;;;;;;;;OAgBG;IACH,aAAa,CAAC,IAAI,EAAE,kBAAkB,GAAG,oBAAoB,EAAE;IAM/D;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,UAAU,CAAC,YAAY,CAAC,EAAE,oBAAoB,GAAG,oBAAoB;IAiBrE;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,UAAU,CAAC,YAAY,CAAC,EAAE,oBAAoB,GAAG,oBAAoB;IAgBrE;;;;;;;;;;;;;;;OAeG;IACH,UAAU,IAAI,iBAAiB;IAQ/B;;;;;;;;;;;;;;;;OAgBG;IACH,eAAe,IAAI,gBAAgB,GAAG,IAAI;IAS1C;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,OAAO,CAAC,gBAAgB,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAcpD;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,OAAO,CAAC,aAAa;IA2BrB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,qBAAqB;
|
|
1
|
+
{"version":3,"file":"SpeechProviderResolver.d.ts","sourceRoot":"","sources":["../../../src/io/speech/SpeechProviderResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAIpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,qBAAa,sBAAuB,SAAQ,YAAY;IA2BpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG;IA3BtB;;;;OAIG;IACH,OAAO,CAAC,aAAa,CAA2C;IAEhE;;;;;;;;;;;;;;;;;OAiBG;gBAEgB,MAAM,CAAC,EAAE,oBAAoB,YAAA,EAC7B,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe;IAKxE;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,QAAQ,CAAC,GAAG,EAAE,oBAAoB,GAAG,IAAI;IAKzC;;;;;;;;;;;;;;;;OAgBG;IACH,aAAa,CAAC,IAAI,EAAE,kBAAkB,GAAG,oBAAoB,EAAE;IAM/D;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,UAAU,CAAC,YAAY,CAAC,EAAE,oBAAoB,GAAG,oBAAoB;IAiBrE;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,UAAU,CAAC,YAAY,CAAC,EAAE,oBAAoB,GAAG,oBAAoB;IAgBrE;;;;;;;;;;;;;;;OAeG;IACH,UAAU,IAAI,iBAAiB;IAQ/B;;;;;;;;;;;;;;;;OAgBG;IACH,eAAe,IAAI,gBAAgB,GAAG,IAAI;IAS1C;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,OAAO,CAAC,gBAAgB,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAcpD;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,OAAO,CAAC,aAAa;IA2BrB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,qBAAqB;IAmD7B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,0BAA0B;IA6ClC;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,wBAAwB;CAcjC"}
|
|
@@ -405,6 +405,7 @@ export class SpeechProviderResolver extends EventEmitter {
|
|
|
405
405
|
},
|
|
406
406
|
{ id: 'openai-tts', kind: 'tts', envVars: ['OPENAI_API_KEY'] },
|
|
407
407
|
{ id: 'elevenlabs', kind: 'tts', envVars: ['ELEVENLABS_API_KEY'] },
|
|
408
|
+
{ id: 'deepgram-aura', kind: 'tts', envVars: ['DEEPGRAM_API_KEY'] },
|
|
408
409
|
{
|
|
409
410
|
id: 'azure-speech-tts',
|
|
410
411
|
kind: 'tts',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpeechProviderResolver.js","sourceRoot":"","sources":["../../../src/io/speech/SpeechProviderResolver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SpeechProviderResolver.js","sourceRoot":"","sources":["../../../src/io/speech/SpeechProviderResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ export * from './SpeechSession.js';
|
|
|
8
8
|
export * from './SpeechRuntime.js';
|
|
9
9
|
export * from './providers/OpenAITextToSpeechProvider.js';
|
|
10
10
|
export * from './providers/ElevenLabsTextToSpeechProvider.js';
|
|
11
|
+
export * from './providers/DeepgramTextToSpeechProvider.js';
|
|
11
12
|
export * from './providers/AzureSpeechTTSProvider.js';
|
|
12
13
|
export * from '../hearing/providers/OpenAIWhisperSpeechToTextProvider.js';
|
|
13
14
|
export * from '../hearing/providers/BuiltInAdaptiveVadProvider.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/io/speech/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2CAA2C,CAAC;AAC1D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,uCAAuC,CAAC;AAEtD,cAAc,2DAA2D,CAAC;AAC1E,cAAc,oDAAoD,CAAC;AACnE,cAAc,kDAAkD,CAAC;AACjE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,gDAAgD,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/io/speech/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2CAA2C,CAAC;AAC1D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,uCAAuC,CAAC;AAEtD,cAAc,2DAA2D,CAAC;AAC1E,cAAc,oDAAoD,CAAC;AACnE,cAAc,kDAAkD,CAAC;AACjE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,gDAAgD,CAAC"}
|
package/dist/io/speech/index.js
CHANGED
|
@@ -8,6 +8,7 @@ export * from './SpeechSession.js';
|
|
|
8
8
|
export * from './SpeechRuntime.js';
|
|
9
9
|
export * from './providers/OpenAITextToSpeechProvider.js';
|
|
10
10
|
export * from './providers/ElevenLabsTextToSpeechProvider.js';
|
|
11
|
+
export * from './providers/DeepgramTextToSpeechProvider.js';
|
|
11
12
|
export * from './providers/AzureSpeechTTSProvider.js';
|
|
12
13
|
// STT/VAD providers have moved to the hearing/ module
|
|
13
14
|
export * from '../hearing/providers/OpenAIWhisperSpeechToTextProvider.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/io/speech/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2CAA2C,CAAC;AAC1D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,uCAAuC,CAAC;AACtD,sDAAsD;AACtD,cAAc,2DAA2D,CAAC;AAC1E,cAAc,oDAAoD,CAAC;AACnE,cAAc,kDAAkD,CAAC;AACjE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,gDAAgD,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/io/speech/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2CAA2C,CAAC;AAC1D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,uCAAuC,CAAC;AACtD,sDAAsD;AACtD,cAAc,2DAA2D,CAAC;AAC1E,cAAc,oDAAoD,CAAC;AACnE,cAAc,kDAAkD,CAAC;AACjE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,gDAAgD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providerCatalog.d.ts","sourceRoot":"","sources":["../../../src/io/speech/providerCatalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEjF,eAAO,MAAM,uBAAuB,EAAE,SAAS,0BAA0B,
|
|
1
|
+
{"version":3,"file":"providerCatalog.d.ts","sourceRoot":"","sources":["../../../src/io/speech/providerCatalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEjF,eAAO,MAAM,uBAAuB,EAAE,SAAS,0BAA0B,EA2S/D,CAAC;AAEX,wBAAgB,wBAAwB,CACtC,IAAI,CAAC,EAAE,kBAAkB,GACxB,0BAA0B,EAAE,CAG9B;AAED,wBAAgB,sBAAsB,IAAI,kBAAkB,EAAE,CAE7D;AAED,wBAAgB,8BAA8B,CAC5C,EAAE,EAAE,MAAM,GACT,0BAA0B,GAAG,SAAS,CAExC;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,0BAA0B,EACjC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,OAAO,CAET"}
|
|
@@ -143,6 +143,18 @@ export const SPEECH_PROVIDER_CATALOG = [
|
|
|
143
143
|
defaultModel: 'eleven_multilingual_v2',
|
|
144
144
|
features: ['cloud', 'tts', 'voice-cloning'],
|
|
145
145
|
},
|
|
146
|
+
{
|
|
147
|
+
id: 'deepgram-aura',
|
|
148
|
+
kind: 'tts',
|
|
149
|
+
label: 'Deepgram Aura',
|
|
150
|
+
envVars: ['DEEPGRAM_API_KEY'],
|
|
151
|
+
local: false,
|
|
152
|
+
streaming: true,
|
|
153
|
+
description: 'Low-latency neural TTS via Deepgram Aura-2 (REST + WebSocket).',
|
|
154
|
+
defaultModel: 'aura-2',
|
|
155
|
+
defaultVoice: 'aura-2-thalia-en',
|
|
156
|
+
features: ['cloud', 'tts', 'streaming', 'low-latency'],
|
|
157
|
+
},
|
|
146
158
|
{
|
|
147
159
|
id: 'google-cloud-tts',
|
|
148
160
|
kind: 'tts',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providerCatalog.js","sourceRoot":"","sources":["../../../src/io/speech/providerCatalog.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,uBAAuB,GAA0C;IAC5E;QACE,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;QACpD,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,uDAAuD;QACpE,aAAa,EAAE,cAAc;QAC7B,QAAQ,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,eAAe,CAAC;KACrD;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;QACnD,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,iDAAiD;QAC9D,aAAa,EAAE,cAAc;QAC7B,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,eAAe,CAAC;KAChD;IACD;QACE,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,CAAC,eAAe,EAAE,kBAAkB,CAAC;QAC9C,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,iDAAiD;QAC9D,aAAa,EAAE,aAAa;QAC5B,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC;KAC/B;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,gBAAgB;QACvB,OAAO,EAAE,CAAC,gBAAgB,CAAC;QAC3B,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,qEAAqE;QAClF,YAAY,EAAE,WAAW;QACzB,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,eAAe,CAAC;KACnD;IACD;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,CAAC,kBAAkB,CAAC;QAC7B,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,wDAAwD;QACrE,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;KACjC;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,gBAAgB;QACvB,OAAO,EAAE,CAAC,kBAAkB,CAAC;QAC7B,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,6CAA6C;QAC1D,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,CAAC;KACjD;IACD;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,CAAC,oBAAoB,CAAC;QAC/B,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,uDAAuD;QACpE,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC;KAChD;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,kBAAkB;QACzB,OAAO,EAAE,CAAC,wBAAwB,CAAC;QACnC,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,kCAAkC;QAC/C,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;KACjC;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,kBAAkB;QACzB,OAAO,EAAE,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;QACpD,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,4DAA4D;QACzE,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;KACjC;IACD;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,0CAA0C;QACvD,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;KAC/B;IACD;QACE,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,8CAA8C;QAC3D,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC;KAC5C;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,oCAAoC;QACjD,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;QAC9B,SAAS,EAAE,KAAK;KACjB;IACD;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,CAAC,gBAAgB,CAAC;QAC3B,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,mDAAmD;QAChE,YAAY,EAAE,OAAO;QACrB,YAAY,EAAE,MAAM;QACpB,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;KAC3B;IACD;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,CAAC,oBAAoB,CAAC;QAC/B,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,6CAA6C;QAC1D,aAAa,EAAE,iBAAiB;QAChC,YAAY,EAAE,wBAAwB;QACtC,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC;KAC5C;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,kBAAkB;QACzB,OAAO,EAAE,CAAC,wBAAwB,CAAC;QACnC,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,qCAAqC;QAClD,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;KAC3B;IACD;QACE,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,cAAc;QACrB,OAAO,EAAE,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;QACvD,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,qCAAqC;QAClD,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;KAC3B;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,kBAAkB;QACzB,OAAO,EAAE,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;QACpD,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,8BAA8B;QAC3C,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;KAC3B;IACD;QACE,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,8BAA8B;QAC3C,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC;KACtC;IACD;QACE,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,sCAAsC;QACnD,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC;QAC3C,SAAS,EAAE,KAAK;KACjB;IACD;QACE,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,yCAAyC;QACtD,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;QAC1B,SAAS,EAAE,KAAK;KACjB;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,8CAA8C;QAC3D,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;QAC1B,SAAS,EAAE,KAAK;KACjB;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,4DAA4D;QACzE,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC;KACvC;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,CAAC,sBAAsB,CAAC;QACjC,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,8CAA8C;QAC3D,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;KACjC;IACD;QACE,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,cAAc;QACrB,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,uCAAuC;QACpD,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;KACjC;IACD,2EAA2E;IAC3E;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,oBAAoB;QAC3B,OAAO,EAAE,CAAC,kBAAkB,CAAC;QAC7B,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,iGAAiG;QAC9G,aAAa,EAAE,wBAAwB;QACvC,QAAQ,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC;KACxF;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,2BAA2B;QAClC,OAAO,EAAE,CAAC,gBAAgB,CAAC;QAC3B,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,8EAA8E;QAC3F,aAAa,EAAE,uBAAuB;QACtC,QAAQ,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC;KAC3C;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EAAE,CAAC,gBAAgB,CAAC;QAC3B,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,wEAAwE;QACrF,aAAa,EAAE,sBAAsB;QACrC,YAAY,EAAE,MAAM;QACpB,QAAQ,EAAE,CAAC,WAAW,EAAE,mBAAmB,CAAC;KAC7C;IACD;QACE,EAAE,EAAE,0BAA0B;QAC9B,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,0BAA0B;QACjC,OAAO,EAAE,CAAC,oBAAoB,CAAC;QAC/B,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,qEAAqE;QAClF,aAAa,EAAE,0BAA0B;QACzC,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,oBAAoB,CAAC;KAC3D;CACO,CAAC;AAEX,MAAM,UAAU,wBAAwB,CACtC,IAAyB;IAEzB,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,GAAG,uBAAuB,CAAC,CAAC;IAC/C,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,EAAU;IAEV,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,KAAiC,EACjC,MAA0C,OAAO,CAAC,GAAG;IAErD,OAAO,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC"}
|
|
1
|
+
{"version":3,"file":"providerCatalog.js","sourceRoot":"","sources":["../../../src/io/speech/providerCatalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { SpeechSynthesisOptions, SpeechSynthesisResult, SpeechVoice, TextToSpeechProvider } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for the {@link DeepgramTextToSpeechProvider}.
|
|
4
|
+
*
|
|
5
|
+
* @see https://developers.deepgram.com/docs/text-to-speech
|
|
6
|
+
*/
|
|
7
|
+
export interface DeepgramTextToSpeechProviderConfig {
|
|
8
|
+
/** Deepgram API key. Sent as `Authorization: Token <apiKey>`. */
|
|
9
|
+
apiKey: string;
|
|
10
|
+
/**
|
|
11
|
+
* Base URL for the Deepgram API.
|
|
12
|
+
* @default 'https://api.deepgram.com/v1'
|
|
13
|
+
*/
|
|
14
|
+
baseUrl?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Default Aura voice model.
|
|
17
|
+
* @default 'aura-2-thalia-en'
|
|
18
|
+
*/
|
|
19
|
+
voice?: string;
|
|
20
|
+
/** Custom fetch implementation for dependency injection in tests. */
|
|
21
|
+
fetchImpl?: typeof fetch;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Text-to-speech provider backed by the Deepgram Aura `/v1/speak` REST API.
|
|
25
|
+
*
|
|
26
|
+
* ## API Contract
|
|
27
|
+
*
|
|
28
|
+
* - **Endpoint:** `POST {baseUrl}/speak?model={voice}&encoding={enc}`
|
|
29
|
+
* - **Authentication:** `Authorization: Token <apiKey>`
|
|
30
|
+
* - **Request body:** `{ text }`
|
|
31
|
+
* - **Response:** Raw audio bytes (`audio/mpeg` for mp3)
|
|
32
|
+
*
|
|
33
|
+
* Aura caps a request at 2000 characters, so longer text is chunked at
|
|
34
|
+
* sentence boundaries and the audio buffers are concatenated.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```ts
|
|
38
|
+
* const provider = new DeepgramTextToSpeechProvider({
|
|
39
|
+
* apiKey: process.env.DEEPGRAM_API_KEY!,
|
|
40
|
+
* voice: 'aura-2-arcas-en',
|
|
41
|
+
* });
|
|
42
|
+
* const result = await provider.synthesize('Hello there!');
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export declare class DeepgramTextToSpeechProvider implements TextToSpeechProvider {
|
|
46
|
+
private readonly config;
|
|
47
|
+
readonly id = "deepgram-aura";
|
|
48
|
+
readonly displayName = "Deepgram Aura";
|
|
49
|
+
readonly supportsStreaming = true;
|
|
50
|
+
private readonly fetchImpl;
|
|
51
|
+
private readonly keyPool;
|
|
52
|
+
constructor(config: DeepgramTextToSpeechProviderConfig);
|
|
53
|
+
getProviderName(): string;
|
|
54
|
+
synthesize(text: string, options?: SpeechSynthesisOptions): Promise<SpeechSynthesisResult>;
|
|
55
|
+
private synthesizeOne;
|
|
56
|
+
/** Returns the static Aura-2 voice catalog (a shallow copy). */
|
|
57
|
+
listAvailableVoices(): Promise<SpeechVoice[]>;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=DeepgramTextToSpeechProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeepgramTextToSpeechProvider.d.ts","sourceRoot":"","sources":["../../../../src/io/speech/providers/DeepgramTextToSpeechProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACrB,WAAW,EACX,oBAAoB,EACrB,MAAM,aAAa,CAAC;AAIrB;;;;GAIG;AACH,MAAM,WAAW,kCAAkC;IACjD,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AA8DD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,4BAA6B,YAAW,oBAAoB;IAQ3D,OAAO,CAAC,QAAQ,CAAC,MAAM;IAPnC,SAAgB,EAAE,mBAAmB;IACrC,SAAgB,WAAW,mBAAmB;IAC9C,SAAgB,iBAAiB,QAAQ;IAEzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;gBAER,MAAM,EAAE,kCAAkC;IAKvE,eAAe,IAAI,MAAM;IAInB,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,qBAAqB,CAAC;YAwBnB,aAAa;IA6B3B,gEAAgE;IAC1D,mBAAmB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;CAGpD"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { ApiKeyPool } from '../../../core/providers/ApiKeyPool.js';
|
|
2
|
+
import { isQuotaError } from '../../../core/providers/quotaErrors.js';
|
|
3
|
+
/** Aura hard limit: 2000 characters per `/v1/speak` request. */
|
|
4
|
+
const MAX_CHARS = 2000;
|
|
5
|
+
/**
|
|
6
|
+
* Static catalog of the Aura-2 English voices (ids confirmed against the
|
|
7
|
+
* Deepgram TTS models docs). Aura also ships Spanish / Dutch / French /
|
|
8
|
+
* German / Italian / Japanese voices; the English set covers the wilds
|
|
9
|
+
* narrator + companion profiles.
|
|
10
|
+
*/
|
|
11
|
+
const AURA_VOICES = [
|
|
12
|
+
{ id: 'aura-2-thalia-en', name: 'Thalia', gender: 'female', provider: 'deepgram-aura', lang: 'en-US', isDefault: true },
|
|
13
|
+
{ id: 'aura-2-andromeda-en', name: 'Andromeda', gender: 'female', provider: 'deepgram-aura', lang: 'en-US' },
|
|
14
|
+
{ id: 'aura-2-helena-en', name: 'Helena', gender: 'female', provider: 'deepgram-aura', lang: 'en-US' },
|
|
15
|
+
{ id: 'aura-2-iris-en', name: 'Iris', gender: 'female', provider: 'deepgram-aura', lang: 'en-US' },
|
|
16
|
+
{ id: 'aura-2-vesta-en', name: 'Vesta', gender: 'female', provider: 'deepgram-aura', lang: 'en-US' },
|
|
17
|
+
{ id: 'aura-2-apollo-en', name: 'Apollo', gender: 'male', provider: 'deepgram-aura', lang: 'en-US' },
|
|
18
|
+
{ id: 'aura-2-arcas-en', name: 'Arcas', gender: 'male', provider: 'deepgram-aura', lang: 'en-US' },
|
|
19
|
+
{ id: 'aura-2-aries-en', name: 'Aries', gender: 'male', provider: 'deepgram-aura', lang: 'en-US' },
|
|
20
|
+
{ id: 'aura-2-atlas-en', name: 'Atlas', gender: 'male', provider: 'deepgram-aura', lang: 'en-US' },
|
|
21
|
+
{ id: 'aura-2-odysseus-en', name: 'Odysseus', gender: 'male', provider: 'deepgram-aura', lang: 'en-US' },
|
|
22
|
+
{ id: 'aura-2-orpheus-en', name: 'Orpheus', gender: 'male', provider: 'deepgram-aura', lang: 'en-US' },
|
|
23
|
+
{ id: 'aura-2-zeus-en', name: 'Zeus', gender: 'male', provider: 'deepgram-aura', lang: 'en-US' },
|
|
24
|
+
];
|
|
25
|
+
/** Map a synthesis output format to the Deepgram `encoding` + response MIME. */
|
|
26
|
+
function encodingFor(format) {
|
|
27
|
+
switch (format) {
|
|
28
|
+
case 'opus':
|
|
29
|
+
return { encoding: 'opus', mime: 'audio/opus' };
|
|
30
|
+
case 'wav':
|
|
31
|
+
case 'pcm':
|
|
32
|
+
return { encoding: 'linear16', mime: 'audio/L16' };
|
|
33
|
+
case 'flac':
|
|
34
|
+
return { encoding: 'flac', mime: 'audio/flac' };
|
|
35
|
+
default:
|
|
36
|
+
return { encoding: 'mp3', mime: 'audio/mpeg' };
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Split `text` into chunks no longer than `max` characters, preferring a
|
|
41
|
+
* sentence boundary then whitespace then a hard cut. Mirrors `chunkForAura`
|
|
42
|
+
* in the voice-pipeline batch provider; kept local so io/speech stays
|
|
43
|
+
* independent of io/voice-pipeline.
|
|
44
|
+
*/
|
|
45
|
+
function chunkText(text, max = MAX_CHARS) {
|
|
46
|
+
if (text.length <= max)
|
|
47
|
+
return [text];
|
|
48
|
+
const chunks = [];
|
|
49
|
+
let rest = text.trim();
|
|
50
|
+
while (rest.length > max) {
|
|
51
|
+
let cut = rest.lastIndexOf('. ', max);
|
|
52
|
+
if (cut < max * 0.5)
|
|
53
|
+
cut = rest.lastIndexOf(' ', max);
|
|
54
|
+
if (cut <= 0)
|
|
55
|
+
cut = max;
|
|
56
|
+
chunks.push(rest.slice(0, cut + 1).trim());
|
|
57
|
+
rest = rest.slice(cut + 1).trim();
|
|
58
|
+
}
|
|
59
|
+
if (rest)
|
|
60
|
+
chunks.push(rest);
|
|
61
|
+
return chunks;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Text-to-speech provider backed by the Deepgram Aura `/v1/speak` REST API.
|
|
65
|
+
*
|
|
66
|
+
* ## API Contract
|
|
67
|
+
*
|
|
68
|
+
* - **Endpoint:** `POST {baseUrl}/speak?model={voice}&encoding={enc}`
|
|
69
|
+
* - **Authentication:** `Authorization: Token <apiKey>`
|
|
70
|
+
* - **Request body:** `{ text }`
|
|
71
|
+
* - **Response:** Raw audio bytes (`audio/mpeg` for mp3)
|
|
72
|
+
*
|
|
73
|
+
* Aura caps a request at 2000 characters, so longer text is chunked at
|
|
74
|
+
* sentence boundaries and the audio buffers are concatenated.
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```ts
|
|
78
|
+
* const provider = new DeepgramTextToSpeechProvider({
|
|
79
|
+
* apiKey: process.env.DEEPGRAM_API_KEY!,
|
|
80
|
+
* voice: 'aura-2-arcas-en',
|
|
81
|
+
* });
|
|
82
|
+
* const result = await provider.synthesize('Hello there!');
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
export class DeepgramTextToSpeechProvider {
|
|
86
|
+
constructor(config) {
|
|
87
|
+
this.config = config;
|
|
88
|
+
this.id = 'deepgram-aura';
|
|
89
|
+
this.displayName = 'Deepgram Aura';
|
|
90
|
+
this.supportsStreaming = true;
|
|
91
|
+
this.fetchImpl = config.fetchImpl ?? fetch;
|
|
92
|
+
this.keyPool = new ApiKeyPool(config.apiKey);
|
|
93
|
+
}
|
|
94
|
+
getProviderName() {
|
|
95
|
+
return this.displayName;
|
|
96
|
+
}
|
|
97
|
+
async synthesize(text, options = {}) {
|
|
98
|
+
const voice = options.voice ?? this.config.voice ?? 'aura-2-thalia-en';
|
|
99
|
+
const { encoding, mime } = encodingFor(options.outputFormat);
|
|
100
|
+
const baseUrl = this.config.baseUrl ?? 'https://api.deepgram.com/v1';
|
|
101
|
+
const url = `${baseUrl}/speak?model=${encodeURIComponent(voice)}&encoding=${encoding}`;
|
|
102
|
+
const buffers = [];
|
|
103
|
+
for (const chunk of chunkText(text)) {
|
|
104
|
+
buffers.push(await this.synthesizeOne(url, chunk));
|
|
105
|
+
}
|
|
106
|
+
return {
|
|
107
|
+
audioBuffer: Buffer.concat(buffers),
|
|
108
|
+
mimeType: mime,
|
|
109
|
+
cost: 0, // Cost tracking is handled at a higher layer.
|
|
110
|
+
voiceUsed: voice,
|
|
111
|
+
providerName: this.displayName,
|
|
112
|
+
usage: {
|
|
113
|
+
characters: text.length,
|
|
114
|
+
modelUsed: voice,
|
|
115
|
+
},
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
async synthesizeOne(url, text) {
|
|
119
|
+
const doFetch = (key) => this.fetchImpl(url, {
|
|
120
|
+
method: 'POST',
|
|
121
|
+
headers: { Authorization: `Token ${key}`, 'Content-Type': 'application/json' },
|
|
122
|
+
body: JSON.stringify({ text }),
|
|
123
|
+
});
|
|
124
|
+
const key = this.keyPool.next();
|
|
125
|
+
let response = await doFetch(key);
|
|
126
|
+
if (!response.ok && this.keyPool.size > 1) {
|
|
127
|
+
const errBody = await response.text().catch(() => '');
|
|
128
|
+
if (isQuotaError(response.status, errBody)) {
|
|
129
|
+
this.keyPool.markExhausted(key);
|
|
130
|
+
response = await doFetch(this.keyPool.next());
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
throw new Error(`Deepgram Aura synthesis failed (${response.status}): ${errBody}`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
if (!response.ok) {
|
|
137
|
+
const message = await response.text().catch(() => '');
|
|
138
|
+
throw new Error(`Deepgram Aura synthesis failed (${response.status}): ${message}`);
|
|
139
|
+
}
|
|
140
|
+
return Buffer.from(await response.arrayBuffer());
|
|
141
|
+
}
|
|
142
|
+
/** Returns the static Aura-2 voice catalog (a shallow copy). */
|
|
143
|
+
async listAvailableVoices() {
|
|
144
|
+
return [...AURA_VOICES];
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=DeepgramTextToSpeechProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeepgramTextToSpeechProvider.js","sourceRoot":"","sources":["../../../../src/io/speech/providers/DeepgramTextToSpeechProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,13 @@ export interface VoiceProviderEnvConfig {
|
|
|
27
27
|
languageHint?: string;
|
|
28
28
|
/** Target cost tier. Reserved for future per-session routing; not used yet. */
|
|
29
29
|
tier?: 'cheap' | 'standard' | 'premium';
|
|
30
|
+
/**
|
|
31
|
+
* Which TTS vendor to prefer for first-try synthesis. `'deepgram'` (default)
|
|
32
|
+
* ranks Deepgram Aura ahead of ElevenLabs; `'elevenlabs'` ranks ElevenLabs
|
|
33
|
+
* first (used for a paid-tier premium-voice opt-in). Either way the other
|
|
34
|
+
* vendors stay in the chain as automatic fallbacks.
|
|
35
|
+
*/
|
|
36
|
+
ttsPreference?: 'deepgram' | 'elevenlabs';
|
|
30
37
|
/** Whether the STT chain keeps a ring buffer + re-routes mid-utterance.
|
|
31
38
|
* Default true — this is the whole point of the resilience work. */
|
|
32
39
|
enableMidUtteranceFailover?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-constructor.d.ts","sourceRoot":"","sources":["../../../src/io/voice-pipeline/env-constructor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"env-constructor.d.ts","sourceRoot":"","sources":["../../../src/io/voice-pipeline/env-constructor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAIjE,qBAAa,8BAA+B,SAAQ,KAAK;IACvD,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;gBAEtB,OAAO,EAAE,MAAM,EAAE;CAO9B;AAED,MAAM,WAAW,sBAAsB;IACrC,mDAAmD;IACnD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,oEAAoE;IACpE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;kCAG8B;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;IACxC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAC1C;yEACqE;IACrE,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC;iCAC6B;IAC7B,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,iBAAiB,CAAC;IACvB,GAAG,EAAE,iBAAiB,CAAC;IACvB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,OAAO,EAAE,cAAc,CAAC;IACxB;;+BAE2B;IAC3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,wBAAgB,2BAA2B,CACzC,MAAM,GAAE,sBAA2B,GAClC,mBAAmB,CAsFrB"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
import { DeepgramStreamingSTT } from './providers/DeepgramStreamingSTT.js';
|
|
11
11
|
import { ElevenLabsStreamingSTT } from './providers/ElevenLabsStreamingSTT.js';
|
|
12
12
|
import { ElevenLabsStreamingTTS } from './providers/ElevenLabsStreamingTTS.js';
|
|
13
|
+
import { DeepgramAuraStreamingTTS } from './providers/DeepgramAuraStreamingTTS.js';
|
|
13
14
|
import { OpenAIRealtimeTTS } from './providers/OpenAIRealtimeTTS.js';
|
|
14
15
|
import { ElevenLabsBatchTTS } from './providers/ElevenLabsBatchTTS.js';
|
|
15
16
|
import { OpenAIBatchTTS } from './providers/OpenAIBatchTTS.js';
|
|
@@ -47,7 +48,13 @@ export function createVoiceProvidersFromEnv(config = {}) {
|
|
|
47
48
|
if (elevenLabsKey) {
|
|
48
49
|
sttProviders.push(new ElevenLabsStreamingSTT({ apiKey: elevenLabsKey, priority: 20 }));
|
|
49
50
|
}
|
|
51
|
+
// Deepgram Aura is the default first-try TTS (priority 5). An explicit
|
|
52
|
+
// 'elevenlabs' preference drops Aura behind ElevenLabs streaming (15 > 10).
|
|
53
|
+
const prefersDeepgram = (config.ttsPreference ?? 'deepgram') === 'deepgram';
|
|
50
54
|
const ttsProviders = [];
|
|
55
|
+
if (deepgramKey) {
|
|
56
|
+
ttsProviders.push(new DeepgramAuraStreamingTTS({ apiKey: deepgramKey, priority: prefersDeepgram ? 5 : 15 }));
|
|
57
|
+
}
|
|
51
58
|
if (elevenLabsKey) {
|
|
52
59
|
ttsProviders.push(new ElevenLabsStreamingTTS({ apiKey: elevenLabsKey, priority: 10 }));
|
|
53
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-constructor.js","sourceRoot":"","sources":["../../../src/io/voice-pipeline/env-constructor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAIjE,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IAGvD,YAAY,OAAiB;QAC3B,KAAK,CACH,6CAA6C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CACrF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAChC,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"env-constructor.js","sourceRoot":"","sources":["../../../src/io/voice-pipeline/env-constructor.ts"],"names":[],"mappings":"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"}
|
|
@@ -104,7 +104,7 @@ export { WebSocketStreamTransport } from './WebSocketStreamTransport.js';
|
|
|
104
104
|
export { WebRTCStreamTransport, createWebRTCTransport } from './WebRTCStreamTransport.js';
|
|
105
105
|
export { VoicePipelineOrchestrator } from './VoicePipelineOrchestrator.js';
|
|
106
106
|
export { VoiceInterruptError } from './VoiceInterruptError.js';
|
|
107
|
-
export { DeepgramStreamingSTT, type DeepgramStreamingSTTConfig, ElevenLabsStreamingSTT, type ElevenLabsStreamingSTTConfig, ElevenLabsStreamingTTS, type ElevenLabsStreamingTTSConfig, AgentSessionVoiceAdapter, StreamingSTTChain, type StreamingSTTChainOptions, type ProviderSelectedEvent, type ProviderFailedEvent, type ProviderFailoverEvent, StreamingTTSChain, type StreamingTTSChainOptions, type TTSProviderSelectedEvent, type TTSProviderFailedEvent, type TTSProviderFailoverEvent, } from './providers/index.js';
|
|
107
|
+
export { DeepgramStreamingSTT, type DeepgramStreamingSTTConfig, ElevenLabsStreamingSTT, type ElevenLabsStreamingSTTConfig, ElevenLabsStreamingTTS, type ElevenLabsStreamingTTSConfig, DeepgramAuraStreamingTTS, type DeepgramAuraStreamingTTSConfig, AgentSessionVoiceAdapter, StreamingSTTChain, type StreamingSTTChainOptions, type ProviderSelectedEvent, type ProviderFailedEvent, type ProviderFailoverEvent, StreamingTTSChain, type StreamingTTSChainOptions, type TTSProviderSelectedEvent, type TTSProviderFailedEvent, type TTSProviderFailoverEvent, } from './providers/index.js';
|
|
108
108
|
export { VoicePipelineError, AggregateVoiceError, type HealthErrorClass, type VoicePipelineErrorInit, } from './VoicePipelineError.js';
|
|
109
109
|
export { type HealthyProvider, type ProviderCapabilities, type HealthCheckResult, defaultCapabilities, supportsLanguage, } from './HealthyProvider.js';
|
|
110
110
|
export { CircuitBreaker, type BreakerState, type CircuitBreakerOptions, type StateChangeEvent, } from './CircuitBreaker.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/io/voice-pipeline/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgGG;AAIH,cAAc,YAAY,CAAC;AAG3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAG1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAG3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,EACL,oBAAoB,EACpB,KAAK,0BAA0B,EAC/B,sBAAsB,EACtB,KAAK,4BAA4B,EACjC,sBAAsB,EACtB,KAAK,4BAA4B,EACjC,wBAAwB,EACxB,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,GAC9B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EACd,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EACL,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,GACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,GACzB,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/io/voice-pipeline/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgGG;AAIH,cAAc,YAAY,CAAC;AAG3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAG1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAG3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,EACL,oBAAoB,EACpB,KAAK,0BAA0B,EAC/B,sBAAsB,EACtB,KAAK,4BAA4B,EACjC,sBAAsB,EACtB,KAAK,4BAA4B,EACjC,wBAAwB,EACxB,KAAK,8BAA8B,EACnC,wBAAwB,EACxB,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,GAC9B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EACd,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EACL,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,GACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,GACzB,MAAM,sBAAsB,CAAC"}
|
|
@@ -113,7 +113,7 @@ export { VoicePipelineOrchestrator } from './VoicePipelineOrchestrator.js';
|
|
|
113
113
|
// Typed error for barge-in interruptions
|
|
114
114
|
export { VoiceInterruptError } from './VoiceInterruptError.js';
|
|
115
115
|
// Streaming provider implementations
|
|
116
|
-
export { DeepgramStreamingSTT, ElevenLabsStreamingSTT, ElevenLabsStreamingTTS, AgentSessionVoiceAdapter, StreamingSTTChain, StreamingTTSChain, } from './providers/index.js';
|
|
116
|
+
export { DeepgramStreamingSTT, ElevenLabsStreamingSTT, ElevenLabsStreamingTTS, DeepgramAuraStreamingTTS, AgentSessionVoiceAdapter, StreamingSTTChain, StreamingTTSChain, } from './providers/index.js';
|
|
117
117
|
// Resilience primitives
|
|
118
118
|
export { VoicePipelineError, AggregateVoiceError, } from './VoicePipelineError.js';
|
|
119
119
|
export { defaultCapabilities, supportsLanguage, } from './HealthyProvider.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/io/voice-pipeline/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgGG;AAEH,wDAAwD;AACxD,8EAA8E;AAC9E,cAAc,YAAY,CAAC;AAE3B,4CAA4C;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,6CAA6C;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,2CAA2C;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,oDAAoD;AACpD,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAE1F,gDAAgD;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,yCAAyC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,qCAAqC;AACrC,OAAO,EACL,oBAAoB,EAEpB,sBAAsB,EAEtB,sBAAsB,EAEtB,wBAAwB,EACxB,iBAAiB,EAKjB,iBAAiB,GAKlB,MAAM,sBAAsB,CAAC;AAE9B,wBAAwB;AACxB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GAGpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAIL,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,GAIf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAA+B,MAAM,sBAAsB,CAAC;AACpF,OAAO,EACL,gBAAgB,GAGjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,GAGrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,GAG/B,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/io/voice-pipeline/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgGG;AAEH,wDAAwD;AACxD,8EAA8E;AAC9E,cAAc,YAAY,CAAC;AAE3B,4CAA4C;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,6CAA6C;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,2CAA2C;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,oDAAoD;AACpD,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAE1F,gDAAgD;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,yCAAyC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,qCAAqC;AACrC,OAAO,EACL,oBAAoB,EAEpB,sBAAsB,EAEtB,sBAAsB,EAEtB,wBAAwB,EAExB,wBAAwB,EACxB,iBAAiB,EAKjB,iBAAiB,GAKlB,MAAM,sBAAsB,CAAC;AAE9B,wBAAwB;AACxB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GAGpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAIL,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,GAIf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAA+B,MAAM,sBAAsB,CAAC;AACpF,OAAO,EACL,gBAAgB,GAGjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,GAGrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,GAG/B,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module voice-pipeline/providers/DeepgramAuraBatchTTS
|
|
3
|
+
*
|
|
4
|
+
* Batch text-to-speech via Deepgram Aura's REST API (`POST /v1/speak`).
|
|
5
|
+
* Implements {@link IBatchTTS} for one-shot narration synthesis.
|
|
6
|
+
*
|
|
7
|
+
* Aura caps a single request at 2000 characters, so longer text is split
|
|
8
|
+
* at sentence boundaries via {@link chunkForAura} and the returned audio
|
|
9
|
+
* buffers are concatenated. MP3 is frame-based, so naive concatenation of
|
|
10
|
+
* per-chunk MP3 byte streams plays back as one continuous clip.
|
|
11
|
+
*
|
|
12
|
+
* Mirrors {@link OpenAIBatchTTS}: global `fetch`, `ApiKeyPool` rotation with
|
|
13
|
+
* quota failover, a bounded per-request `AbortSignal.timeout`, and an
|
|
14
|
+
* injectable health probe for tests.
|
|
15
|
+
*/
|
|
16
|
+
import type { IBatchTTS, BatchTTSConfig, BatchTTSResult } from '../types.js';
|
|
17
|
+
import { type HealthyProvider, type HealthCheckResult, type ProviderCapabilities } from '../HealthyProvider.js';
|
|
18
|
+
/** Configuration for the Deepgram Aura batch TTS provider. */
|
|
19
|
+
export interface DeepgramAuraBatchTTSConfig {
|
|
20
|
+
/** Deepgram API key. */
|
|
21
|
+
apiKey: string;
|
|
22
|
+
/** Default Aura voice model. @default 'aura-2-thalia-en' */
|
|
23
|
+
voice?: string;
|
|
24
|
+
/** Base URL for the Deepgram API. @default 'https://api.deepgram.com/v1' */
|
|
25
|
+
baseUrl?: string;
|
|
26
|
+
/** Chain priority. Lower values are tried first. @default 70 */
|
|
27
|
+
priority?: number;
|
|
28
|
+
/** Optional capability overrides. */
|
|
29
|
+
capabilities?: Partial<ProviderCapabilities>;
|
|
30
|
+
/** Injectable health probe for tests. */
|
|
31
|
+
healthProbe?: (apiKey: string) => Promise<{
|
|
32
|
+
ok: boolean;
|
|
33
|
+
status: number;
|
|
34
|
+
latencyMs: number;
|
|
35
|
+
}>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Split `text` into chunks no longer than `max` characters, preferring a
|
|
39
|
+
* sentence boundary (`". "`) and falling back to the nearest whitespace,
|
|
40
|
+
* then a hard cut. Short text returns a single-element array unchanged.
|
|
41
|
+
*/
|
|
42
|
+
export declare function chunkForAura(text: string, max?: number): string[];
|
|
43
|
+
/**
|
|
44
|
+
* One-shot TTS provider backed by the Deepgram Aura `/v1/speak` endpoint.
|
|
45
|
+
* Accepts complete text and returns a finished audio buffer.
|
|
46
|
+
*/
|
|
47
|
+
export declare class DeepgramAuraBatchTTS implements IBatchTTS, HealthyProvider {
|
|
48
|
+
readonly providerId = "deepgram-aura";
|
|
49
|
+
readonly priority: number;
|
|
50
|
+
readonly capabilities: ProviderCapabilities;
|
|
51
|
+
private readonly keyPool;
|
|
52
|
+
private readonly voice;
|
|
53
|
+
private readonly baseUrl;
|
|
54
|
+
private readonly healthProbe;
|
|
55
|
+
constructor(config: DeepgramAuraBatchTTSConfig);
|
|
56
|
+
healthCheck(): Promise<HealthCheckResult>;
|
|
57
|
+
/**
|
|
58
|
+
* Synthesize complete text into audio via the Deepgram Aura speak API.
|
|
59
|
+
* Splits text over 2000 chars into multiple requests and concatenates.
|
|
60
|
+
*
|
|
61
|
+
* @param text - The text to synthesize.
|
|
62
|
+
* @param config - Optional voice and format overrides.
|
|
63
|
+
* @returns The synthesized audio buffer with metadata.
|
|
64
|
+
*/
|
|
65
|
+
synthesize(text: string, config?: BatchTTSConfig): Promise<BatchTTSResult>;
|
|
66
|
+
private synthesizeOne;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=DeepgramAuraBatchTTS.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeepgramAuraBatchTTS.d.ts","sourceRoot":"","sources":["../../../../src/io/voice-pipeline/providers/DeepgramAuraBatchTTS.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7E,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EAC1B,MAAM,uBAAuB,CAAC;AAc/B,8DAA8D;AAC9D,MAAM,WAAW,0BAA0B;IACzC,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC7C,yCAAyC;IACzC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/F;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAY,GAAG,MAAM,EAAE,CAapE;AAWD;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,SAAS,EAAE,eAAe;IACrE,QAAQ,CAAC,UAAU,mBAAmB;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyD;gBAEzE,MAAM,EAAE,0BAA0B;IAexC,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC;IA0B/C;;;;;;;OAOG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;YAiBlE,aAAa;CA8B5B"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module voice-pipeline/providers/DeepgramAuraBatchTTS
|
|
3
|
+
*
|
|
4
|
+
* Batch text-to-speech via Deepgram Aura's REST API (`POST /v1/speak`).
|
|
5
|
+
* Implements {@link IBatchTTS} for one-shot narration synthesis.
|
|
6
|
+
*
|
|
7
|
+
* Aura caps a single request at 2000 characters, so longer text is split
|
|
8
|
+
* at sentence boundaries via {@link chunkForAura} and the returned audio
|
|
9
|
+
* buffers are concatenated. MP3 is frame-based, so naive concatenation of
|
|
10
|
+
* per-chunk MP3 byte streams plays back as one continuous clip.
|
|
11
|
+
*
|
|
12
|
+
* Mirrors {@link OpenAIBatchTTS}: global `fetch`, `ApiKeyPool` rotation with
|
|
13
|
+
* quota failover, a bounded per-request `AbortSignal.timeout`, and an
|
|
14
|
+
* injectable health probe for tests.
|
|
15
|
+
*/
|
|
16
|
+
import { ApiKeyPool } from '../../../core/providers/ApiKeyPool.js';
|
|
17
|
+
import { isQuotaError } from '../../../core/providers/quotaErrors.js';
|
|
18
|
+
import { defaultCapabilities, } from '../HealthyProvider.js';
|
|
19
|
+
import { VoicePipelineError } from '../VoicePipelineError.js';
|
|
20
|
+
/** Deepgram REST base. */
|
|
21
|
+
const BASE_URL = 'https://api.deepgram.com/v1';
|
|
22
|
+
/** Default Aura-2 voice (clear, confident feminine American). */
|
|
23
|
+
const DEFAULT_VOICE = 'aura-2-thalia-en';
|
|
24
|
+
/** Aura hard limit: 2000 characters per `/v1/speak` request. */
|
|
25
|
+
const MAX_CHARS = 2000;
|
|
26
|
+
/** Per-request synthesize timeout; caps a hung upstream so the chain can fail over. */
|
|
27
|
+
const SYNTHESIZE_TIMEOUT_MS = 60000;
|
|
28
|
+
/** Approx MP3 bytes/sec at Aura's default bitrate — used only for a duration estimate. */
|
|
29
|
+
const BYTES_PER_SEC_MP3 = 16000;
|
|
30
|
+
/**
|
|
31
|
+
* Split `text` into chunks no longer than `max` characters, preferring a
|
|
32
|
+
* sentence boundary (`". "`) and falling back to the nearest whitespace,
|
|
33
|
+
* then a hard cut. Short text returns a single-element array unchanged.
|
|
34
|
+
*/
|
|
35
|
+
export function chunkForAura(text, max = MAX_CHARS) {
|
|
36
|
+
if (text.length <= max)
|
|
37
|
+
return [text];
|
|
38
|
+
const chunks = [];
|
|
39
|
+
let rest = text.trim();
|
|
40
|
+
while (rest.length > max) {
|
|
41
|
+
let cut = rest.lastIndexOf('. ', max);
|
|
42
|
+
if (cut < max * 0.5)
|
|
43
|
+
cut = rest.lastIndexOf(' ', max);
|
|
44
|
+
if (cut <= 0)
|
|
45
|
+
cut = max;
|
|
46
|
+
chunks.push(rest.slice(0, cut + 1).trim());
|
|
47
|
+
rest = rest.slice(cut + 1).trim();
|
|
48
|
+
}
|
|
49
|
+
if (rest)
|
|
50
|
+
chunks.push(rest);
|
|
51
|
+
return chunks;
|
|
52
|
+
}
|
|
53
|
+
async function defaultDeepgramProbe(apiKey) {
|
|
54
|
+
const start = Date.now();
|
|
55
|
+
const res = await fetch('https://api.deepgram.com/v1/auth/token', {
|
|
56
|
+
headers: { Authorization: `Token ${apiKey}` },
|
|
57
|
+
signal: AbortSignal.timeout(1000),
|
|
58
|
+
});
|
|
59
|
+
return { ok: res.ok, status: res.status, latencyMs: Date.now() - start };
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* One-shot TTS provider backed by the Deepgram Aura `/v1/speak` endpoint.
|
|
63
|
+
* Accepts complete text and returns a finished audio buffer.
|
|
64
|
+
*/
|
|
65
|
+
export class DeepgramAuraBatchTTS {
|
|
66
|
+
constructor(config) {
|
|
67
|
+
this.providerId = 'deepgram-aura';
|
|
68
|
+
this.keyPool = new ApiKeyPool(config.apiKey);
|
|
69
|
+
this.voice = config.voice ?? DEFAULT_VOICE;
|
|
70
|
+
this.baseUrl = config.baseUrl ?? BASE_URL;
|
|
71
|
+
this.priority = config.priority ?? 70;
|
|
72
|
+
this.healthProbe = config.healthProbe ?? defaultDeepgramProbe;
|
|
73
|
+
this.capabilities = defaultCapabilities({
|
|
74
|
+
languages: ['*'],
|
|
75
|
+
streaming: false,
|
|
76
|
+
costTier: 'cheap',
|
|
77
|
+
latencyClass: 'batch',
|
|
78
|
+
...(config.capabilities ?? {}),
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
async healthCheck() {
|
|
82
|
+
if (!this.keyPool.hasKeys) {
|
|
83
|
+
return { ok: false, error: { class: 'auth', message: 'no api key available' } };
|
|
84
|
+
}
|
|
85
|
+
const key = this.keyPool.next();
|
|
86
|
+
try {
|
|
87
|
+
const res = await this.healthProbe(key);
|
|
88
|
+
if (res.ok)
|
|
89
|
+
return { ok: true, latencyMs: res.latencyMs };
|
|
90
|
+
const classified = VoicePipelineError.classifyError(new Error(`HTTP ${res.status}`), {
|
|
91
|
+
kind: 'tts',
|
|
92
|
+
provider: this.providerId,
|
|
93
|
+
});
|
|
94
|
+
return {
|
|
95
|
+
ok: false,
|
|
96
|
+
latencyMs: res.latencyMs,
|
|
97
|
+
error: { class: classified.errorClass, message: `HTTP ${res.status}` },
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
catch (err) {
|
|
101
|
+
const classified = VoicePipelineError.classifyError(err, {
|
|
102
|
+
kind: 'tts',
|
|
103
|
+
provider: this.providerId,
|
|
104
|
+
});
|
|
105
|
+
return { ok: false, error: { class: classified.errorClass, message: classified.message } };
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Synthesize complete text into audio via the Deepgram Aura speak API.
|
|
110
|
+
* Splits text over 2000 chars into multiple requests and concatenates.
|
|
111
|
+
*
|
|
112
|
+
* @param text - The text to synthesize.
|
|
113
|
+
* @param config - Optional voice and format overrides.
|
|
114
|
+
* @returns The synthesized audio buffer with metadata.
|
|
115
|
+
*/
|
|
116
|
+
async synthesize(text, config) {
|
|
117
|
+
const voice = config?.voice ?? this.voice;
|
|
118
|
+
const format = config?.format ?? 'mp3';
|
|
119
|
+
// Aura encodings: mp3, opus, linear16 (raw PCM). Map our format union.
|
|
120
|
+
const encoding = format === 'mp3' ? 'mp3' : format === 'opus' ? 'opus' : 'linear16';
|
|
121
|
+
const chunks = chunkForAura(text);
|
|
122
|
+
const buffers = [];
|
|
123
|
+
for (const chunk of chunks) {
|
|
124
|
+
buffers.push(await this.synthesizeOne(chunk, voice, encoding));
|
|
125
|
+
}
|
|
126
|
+
const audio = Buffer.concat(buffers);
|
|
127
|
+
const durationMs = Math.round((audio.byteLength / BYTES_PER_SEC_MP3) * 1000);
|
|
128
|
+
return { audio, format, durationMs, provider: this.providerId };
|
|
129
|
+
}
|
|
130
|
+
async synthesizeOne(text, voice, encoding) {
|
|
131
|
+
const url = `${this.baseUrl}/speak?model=${encodeURIComponent(voice)}&encoding=${encoding}`;
|
|
132
|
+
const doFetch = (key) => fetch(url, {
|
|
133
|
+
method: 'POST',
|
|
134
|
+
headers: { Authorization: `Token ${key}`, 'Content-Type': 'application/json' },
|
|
135
|
+
body: JSON.stringify({ text }),
|
|
136
|
+
signal: AbortSignal.timeout(SYNTHESIZE_TIMEOUT_MS),
|
|
137
|
+
});
|
|
138
|
+
const key = this.keyPool.next();
|
|
139
|
+
let res = await doFetch(key);
|
|
140
|
+
if (!res.ok && this.keyPool.size > 1) {
|
|
141
|
+
const errBody = await res.text().catch(() => '');
|
|
142
|
+
if (isQuotaError(res.status, errBody)) {
|
|
143
|
+
this.keyPool.markExhausted(key);
|
|
144
|
+
res = await doFetch(this.keyPool.next());
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
throw new Error(`Deepgram Aura TTS failed: ${res.status} ${errBody.slice(0, 200)}`);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
if (!res.ok) {
|
|
151
|
+
const detail = await res.text().catch(() => '');
|
|
152
|
+
throw new Error(`Deepgram Aura TTS failed: ${res.status} ${detail.slice(0, 200)}`);
|
|
153
|
+
}
|
|
154
|
+
return Buffer.from(await res.arrayBuffer());
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=DeepgramAuraBatchTTS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeepgramAuraBatchTTS.js","sourceRoot":"","sources":["../../../../src/io/voice-pipeline/providers/DeepgramAuraBatchTTS.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module voice-pipeline/providers/DeepgramAuraStreamingTTS
|
|
3
|
+
*
|
|
4
|
+
* Streaming text-to-speech adapter for Deepgram Aura over WebSocket,
|
|
5
|
+
* implementing {@link IStreamingTTS} / {@link StreamingTTSSession} for
|
|
6
|
+
* {@link VoicePipelineOrchestrator}.
|
|
7
|
+
*
|
|
8
|
+
* ## Deepgram Aura WebSocket protocol
|
|
9
|
+
*
|
|
10
|
+
* - **Endpoint:** `wss://api.deepgram.com/v1/speak?model={voice}&encoding={enc}`
|
|
11
|
+
* - **Authentication:** `Authorization: Token {apiKey}` header (same as REST).
|
|
12
|
+
* - **Inbound (client → Deepgram):** JSON control frames —
|
|
13
|
+
* `{ "type": "Speak", "text": "..." }`, `{ "type": "Flush" }`, `{ "type": "Clear" }`.
|
|
14
|
+
* - **Outbound (Deepgram → client):** BINARY audio frames, plus text JSON
|
|
15
|
+
* control frames (`{ "type": "Flushed" | "Cleared" | "Metadata" | "Warning" }`).
|
|
16
|
+
*
|
|
17
|
+
* Audio arrives as raw binary (unlike ElevenLabs, which base64-encodes audio
|
|
18
|
+
* inside JSON), so the message handler branches on the `ws` `isBinary` flag.
|
|
19
|
+
*
|
|
20
|
+
* @see https://developers.deepgram.com/docs/tts-websocket
|
|
21
|
+
*/
|
|
22
|
+
import type { IStreamingTTS, StreamingTTSSession, StreamingTTSConfig } from '../types.js';
|
|
23
|
+
import { type HealthyProvider, type HealthCheckResult, type ProviderCapabilities } from '../HealthyProvider.js';
|
|
24
|
+
/** Configuration for the {@link DeepgramAuraStreamingTTS} provider. */
|
|
25
|
+
export interface DeepgramAuraStreamingTTSConfig {
|
|
26
|
+
/** Deepgram API key. */
|
|
27
|
+
apiKey: string;
|
|
28
|
+
/** Base WS URL. @default 'wss://api.deepgram.com/v1/speak' */
|
|
29
|
+
baseUrl?: string;
|
|
30
|
+
/** Default Aura voice model. @default 'aura-2-thalia-en' */
|
|
31
|
+
voice?: string;
|
|
32
|
+
/** Chain priority. Lower values are tried first. @default 5 */
|
|
33
|
+
priority?: number;
|
|
34
|
+
/** Optional capability overrides. */
|
|
35
|
+
capabilities?: Partial<ProviderCapabilities>;
|
|
36
|
+
/** Injectable health probe for tests. */
|
|
37
|
+
healthProbe?: (apiKey: string) => Promise<{
|
|
38
|
+
ok: boolean;
|
|
39
|
+
status: number;
|
|
40
|
+
latencyMs: number;
|
|
41
|
+
}>;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Streaming TTS provider that creates Deepgram Aura WebSocket sessions.
|
|
45
|
+
* Implements {@link IStreamingTTS} for use with {@link VoicePipelineOrchestrator}.
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```typescript
|
|
49
|
+
* const tts = new DeepgramAuraStreamingTTS({ apiKey: process.env.DEEPGRAM_API_KEY! });
|
|
50
|
+
* const session = await tts.startSession({ voice: 'aura-2-arcas-en' });
|
|
51
|
+
* session.on('audio', (chunk) => transport.sendAudio(chunk));
|
|
52
|
+
* session.pushTokens('Hello there!');
|
|
53
|
+
* await session.flush();
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
export declare class DeepgramAuraStreamingTTS implements IStreamingTTS, HealthyProvider {
|
|
57
|
+
private readonly config;
|
|
58
|
+
readonly providerId = "deepgram-aura";
|
|
59
|
+
readonly priority: number;
|
|
60
|
+
readonly capabilities: ProviderCapabilities;
|
|
61
|
+
private readonly keyPool;
|
|
62
|
+
private readonly healthProbe;
|
|
63
|
+
constructor(config: DeepgramAuraStreamingTTSConfig);
|
|
64
|
+
healthCheck(): Promise<HealthCheckResult>;
|
|
65
|
+
startSession(config?: StreamingTTSConfig): Promise<StreamingTTSSession>;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=DeepgramAuraStreamingTTS.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeepgramAuraStreamingTTS.d.ts","sourceRoot":"","sources":["../../../../src/io/voice-pipeline/providers/DeepgramAuraStreamingTTS.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAEnB,MAAM,aAAa,CAAC;AAErB,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EAC1B,MAAM,uBAAuB,CAAC;AAiB/B,uEAAuE;AACvE,MAAM,WAAW,8BAA8B;IAC7C,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC7C,yCAAyC;IACzC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/F;AA8ID;;;;;;;;;;;;GAYG;AACH,qBAAa,wBAAyB,YAAW,aAAa,EAAE,eAAe;IAOjE,OAAO,CAAC,QAAQ,CAAC,MAAM;IANnC,QAAQ,CAAC,UAAU,mBAAmB;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6D;gBAE5D,MAAM,EAAE,8BAA8B;IAa7D,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC;IA0BzC,YAAY,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAM9E"}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module voice-pipeline/providers/DeepgramAuraStreamingTTS
|
|
3
|
+
*
|
|
4
|
+
* Streaming text-to-speech adapter for Deepgram Aura over WebSocket,
|
|
5
|
+
* implementing {@link IStreamingTTS} / {@link StreamingTTSSession} for
|
|
6
|
+
* {@link VoicePipelineOrchestrator}.
|
|
7
|
+
*
|
|
8
|
+
* ## Deepgram Aura WebSocket protocol
|
|
9
|
+
*
|
|
10
|
+
* - **Endpoint:** `wss://api.deepgram.com/v1/speak?model={voice}&encoding={enc}`
|
|
11
|
+
* - **Authentication:** `Authorization: Token {apiKey}` header (same as REST).
|
|
12
|
+
* - **Inbound (client → Deepgram):** JSON control frames —
|
|
13
|
+
* `{ "type": "Speak", "text": "..." }`, `{ "type": "Flush" }`, `{ "type": "Clear" }`.
|
|
14
|
+
* - **Outbound (Deepgram → client):** BINARY audio frames, plus text JSON
|
|
15
|
+
* control frames (`{ "type": "Flushed" | "Cleared" | "Metadata" | "Warning" }`).
|
|
16
|
+
*
|
|
17
|
+
* Audio arrives as raw binary (unlike ElevenLabs, which base64-encodes audio
|
|
18
|
+
* inside JSON), so the message handler branches on the `ws` `isBinary` flag.
|
|
19
|
+
*
|
|
20
|
+
* @see https://developers.deepgram.com/docs/tts-websocket
|
|
21
|
+
*/
|
|
22
|
+
import { EventEmitter } from 'node:events';
|
|
23
|
+
import WebSocket from 'ws';
|
|
24
|
+
import { ApiKeyPool } from '../../../core/providers/ApiKeyPool.js';
|
|
25
|
+
import { defaultCapabilities, } from '../HealthyProvider.js';
|
|
26
|
+
import { VoicePipelineError } from '../VoicePipelineError.js';
|
|
27
|
+
const DEFAULT_VOICE = 'aura-2-thalia-en';
|
|
28
|
+
const DEFAULT_SAMPLE_RATE = 24000;
|
|
29
|
+
/** Approx MP3 bytes/sec at Aura's default bitrate — used only for a duration estimate. */
|
|
30
|
+
const BYTES_PER_SEC_MP3 = 16000;
|
|
31
|
+
async function defaultDeepgramTtsProbe(apiKey) {
|
|
32
|
+
const start = Date.now();
|
|
33
|
+
const res = await fetch('https://api.deepgram.com/v1/auth/token', {
|
|
34
|
+
headers: { Authorization: `Token ${apiKey}` },
|
|
35
|
+
signal: AbortSignal.timeout(1000),
|
|
36
|
+
});
|
|
37
|
+
return { ok: res.ok, status: res.status, latencyMs: Date.now() - start };
|
|
38
|
+
}
|
|
39
|
+
/** Map the pipeline audio-format union to a Deepgram `encoding` value. */
|
|
40
|
+
function toDeepgramEncoding(format) {
|
|
41
|
+
if (format === 'opus')
|
|
42
|
+
return { encoding: 'opus', format: 'opus' };
|
|
43
|
+
if (format === 'pcm')
|
|
44
|
+
return { encoding: 'linear16', format: 'pcm' };
|
|
45
|
+
return { encoding: 'mp3', format: 'mp3' };
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* A live streaming TTS session connected to Deepgram Aura via WebSocket.
|
|
49
|
+
* Emits `audio`, `flush_complete`, `error`, and `close`.
|
|
50
|
+
*/
|
|
51
|
+
class DeepgramAuraStreamingTTSSession extends EventEmitter {
|
|
52
|
+
constructor(config, sessionConfig) {
|
|
53
|
+
super();
|
|
54
|
+
this.config = config;
|
|
55
|
+
this.ws = null;
|
|
56
|
+
this.closed = false;
|
|
57
|
+
this.pendingFlush = false;
|
|
58
|
+
this.accumulatedText = '';
|
|
59
|
+
this.voice = sessionConfig.voice ?? config.voice ?? DEFAULT_VOICE;
|
|
60
|
+
const mapped = toDeepgramEncoding(sessionConfig.format ?? 'mp3');
|
|
61
|
+
this.encoding = mapped.encoding;
|
|
62
|
+
this.format = mapped.format;
|
|
63
|
+
this.sampleRate = sessionConfig.sampleRate ?? DEFAULT_SAMPLE_RATE;
|
|
64
|
+
}
|
|
65
|
+
/** Open the WebSocket. Deepgram needs no beginning-of-stream handshake. */
|
|
66
|
+
async connect() {
|
|
67
|
+
const wsBase = this.config.baseUrl ?? 'wss://api.deepgram.com/v1/speak';
|
|
68
|
+
const params = new URLSearchParams({ model: this.voice, encoding: this.encoding });
|
|
69
|
+
// linear16 (raw PCM) requires an explicit sample_rate; container formats infer it.
|
|
70
|
+
if (this.encoding === 'linear16')
|
|
71
|
+
params.set('sample_rate', String(this.sampleRate));
|
|
72
|
+
const url = `${wsBase}?${params.toString()}`;
|
|
73
|
+
return new Promise((resolve, reject) => {
|
|
74
|
+
this.ws = new WebSocket(url, {
|
|
75
|
+
headers: { Authorization: `Token ${this.config.apiKey}` },
|
|
76
|
+
});
|
|
77
|
+
this.ws.on('open', () => resolve());
|
|
78
|
+
this.ws.on('error', (err) => {
|
|
79
|
+
this.emit('error', err);
|
|
80
|
+
reject(err);
|
|
81
|
+
});
|
|
82
|
+
this.ws.on('message', (data, isBinary) => this._handleMessage(data, isBinary));
|
|
83
|
+
this.ws.on('close', () => {
|
|
84
|
+
this.closed = true;
|
|
85
|
+
this.emit('close');
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
pushTokens(tokens) {
|
|
90
|
+
if (this.closed || !this.ws || this.ws.readyState !== WebSocket.OPEN)
|
|
91
|
+
return;
|
|
92
|
+
this.accumulatedText += tokens;
|
|
93
|
+
this.ws.send(JSON.stringify({ type: 'Speak', text: tokens }));
|
|
94
|
+
}
|
|
95
|
+
async flush() {
|
|
96
|
+
if (this.closed || !this.ws || this.ws.readyState !== WebSocket.OPEN)
|
|
97
|
+
return;
|
|
98
|
+
this.pendingFlush = true;
|
|
99
|
+
this.ws.send(JSON.stringify({ type: 'Flush' }));
|
|
100
|
+
return new Promise((resolve) => {
|
|
101
|
+
const onFlush = () => {
|
|
102
|
+
this.removeListener('_internal_flush', onFlush);
|
|
103
|
+
clearTimeout(timeout);
|
|
104
|
+
resolve();
|
|
105
|
+
};
|
|
106
|
+
// Safety timeout: resolve after 5s even if no Flushed frame arrives.
|
|
107
|
+
const timeout = setTimeout(() => {
|
|
108
|
+
this.removeListener('_internal_flush', onFlush);
|
|
109
|
+
this.pendingFlush = false;
|
|
110
|
+
this.emit('flush_complete');
|
|
111
|
+
resolve();
|
|
112
|
+
}, 5000);
|
|
113
|
+
this.on('_internal_flush', onFlush);
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
cancel() {
|
|
117
|
+
this.pendingFlush = false;
|
|
118
|
+
this.accumulatedText = '';
|
|
119
|
+
if (this.ws && this.ws.readyState === WebSocket.OPEN) {
|
|
120
|
+
// Clear discards server-buffered audio without tearing down the socket.
|
|
121
|
+
this.ws.send(JSON.stringify({ type: 'Clear' }));
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
close() {
|
|
125
|
+
if (this.closed)
|
|
126
|
+
return;
|
|
127
|
+
this.closed = true;
|
|
128
|
+
if (this.ws) {
|
|
129
|
+
if (this.ws.readyState === WebSocket.OPEN)
|
|
130
|
+
this.ws.close(1000, 'session closed');
|
|
131
|
+
this.ws = null;
|
|
132
|
+
}
|
|
133
|
+
this.emit('close');
|
|
134
|
+
}
|
|
135
|
+
_handleMessage(data, isBinary) {
|
|
136
|
+
if (isBinary) {
|
|
137
|
+
const audioBuffer = Buffer.isBuffer(data) ? data : Buffer.from(data);
|
|
138
|
+
const durationMs = Math.round((audioBuffer.byteLength / BYTES_PER_SEC_MP3) * 1000);
|
|
139
|
+
const chunk = {
|
|
140
|
+
audio: audioBuffer,
|
|
141
|
+
format: this.format,
|
|
142
|
+
sampleRate: this.sampleRate,
|
|
143
|
+
durationMs,
|
|
144
|
+
text: this.accumulatedText,
|
|
145
|
+
};
|
|
146
|
+
this.emit('audio', chunk);
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
// Text control frame.
|
|
150
|
+
let msg;
|
|
151
|
+
try {
|
|
152
|
+
msg = JSON.parse(data.toString('utf-8'));
|
|
153
|
+
}
|
|
154
|
+
catch {
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
if (msg.type === 'Flushed') {
|
|
158
|
+
this.accumulatedText = '';
|
|
159
|
+
if (this.pendingFlush) {
|
|
160
|
+
this.pendingFlush = false;
|
|
161
|
+
this.emit('_internal_flush');
|
|
162
|
+
this.emit('flush_complete');
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
// Metadata / Cleared / Warning frames are ignored.
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Streaming TTS provider that creates Deepgram Aura WebSocket sessions.
|
|
170
|
+
* Implements {@link IStreamingTTS} for use with {@link VoicePipelineOrchestrator}.
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
* ```typescript
|
|
174
|
+
* const tts = new DeepgramAuraStreamingTTS({ apiKey: process.env.DEEPGRAM_API_KEY! });
|
|
175
|
+
* const session = await tts.startSession({ voice: 'aura-2-arcas-en' });
|
|
176
|
+
* session.on('audio', (chunk) => transport.sendAudio(chunk));
|
|
177
|
+
* session.pushTokens('Hello there!');
|
|
178
|
+
* await session.flush();
|
|
179
|
+
* ```
|
|
180
|
+
*/
|
|
181
|
+
export class DeepgramAuraStreamingTTS {
|
|
182
|
+
constructor(config) {
|
|
183
|
+
this.config = config;
|
|
184
|
+
this.providerId = 'deepgram-aura';
|
|
185
|
+
this.keyPool = new ApiKeyPool(config.apiKey);
|
|
186
|
+
this.priority = config.priority ?? 5;
|
|
187
|
+
this.capabilities = defaultCapabilities({
|
|
188
|
+
languages: ['*'],
|
|
189
|
+
streaming: true,
|
|
190
|
+
costTier: 'cheap',
|
|
191
|
+
latencyClass: 'realtime',
|
|
192
|
+
...(config.capabilities ?? {}),
|
|
193
|
+
});
|
|
194
|
+
this.healthProbe = config.healthProbe ?? defaultDeepgramTtsProbe;
|
|
195
|
+
}
|
|
196
|
+
async healthCheck() {
|
|
197
|
+
if (!this.keyPool.hasKeys) {
|
|
198
|
+
return { ok: false, error: { class: 'auth', message: 'no api key available' } };
|
|
199
|
+
}
|
|
200
|
+
const key = this.keyPool.next();
|
|
201
|
+
try {
|
|
202
|
+
const res = await this.healthProbe(key);
|
|
203
|
+
if (res.ok)
|
|
204
|
+
return { ok: true, latencyMs: res.latencyMs };
|
|
205
|
+
const classified = VoicePipelineError.classifyError(new Error(`HTTP ${res.status}`), {
|
|
206
|
+
kind: 'tts',
|
|
207
|
+
provider: this.providerId,
|
|
208
|
+
});
|
|
209
|
+
return {
|
|
210
|
+
ok: false,
|
|
211
|
+
latencyMs: res.latencyMs,
|
|
212
|
+
error: { class: classified.errorClass, message: `HTTP ${res.status}` },
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
catch (err) {
|
|
216
|
+
const classified = VoicePipelineError.classifyError(err, {
|
|
217
|
+
kind: 'tts',
|
|
218
|
+
provider: this.providerId,
|
|
219
|
+
});
|
|
220
|
+
return { ok: false, error: { class: classified.errorClass, message: classified.message } };
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
async startSession(config) {
|
|
224
|
+
const resolvedConfig = { ...this.config, apiKey: this.keyPool.next() };
|
|
225
|
+
const session = new DeepgramAuraStreamingTTSSession(resolvedConfig, config ?? {});
|
|
226
|
+
await session.connect();
|
|
227
|
+
return session;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
//# sourceMappingURL=DeepgramAuraStreamingTTS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeepgramAuraStreamingTTS.js","sourceRoot":"","sources":["../../../../src/io/voice-pipeline/providers/DeepgramAuraStreamingTTS.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,9 +12,11 @@
|
|
|
12
12
|
export { DeepgramStreamingSTT, type DeepgramStreamingSTTConfig } from './DeepgramStreamingSTT.js';
|
|
13
13
|
export { ElevenLabsStreamingSTT, type ElevenLabsStreamingSTTConfig, } from './ElevenLabsStreamingSTT.js';
|
|
14
14
|
export { ElevenLabsStreamingTTS, type ElevenLabsStreamingTTSConfig, } from './ElevenLabsStreamingTTS.js';
|
|
15
|
+
export { DeepgramAuraStreamingTTS, type DeepgramAuraStreamingTTSConfig, } from './DeepgramAuraStreamingTTS.js';
|
|
15
16
|
export { AgentSessionVoiceAdapter } from './AgentSessionVoiceAdapter.js';
|
|
16
17
|
export { OpenAIBatchTTS, type OpenAIBatchTTSConfig } from './OpenAIBatchTTS.js';
|
|
17
18
|
export { ElevenLabsBatchTTS, type ElevenLabsBatchTTSConfig } from './ElevenLabsBatchTTS.js';
|
|
19
|
+
export { DeepgramAuraBatchTTS, type DeepgramAuraBatchTTSConfig, chunkForAura, } from './DeepgramAuraBatchTTS.js';
|
|
18
20
|
export { BatchTTSFallback } from './BatchTTSFallback.js';
|
|
19
21
|
export { OpenAIRealtimeTTS, type OpenAIRealtimeTTSConfig } from './OpenAIRealtimeTTS.js';
|
|
20
22
|
export { StreamingSTTChain, type StreamingSTTChainOptions, type ProviderSelectedEvent, type ProviderFailedEvent, type ProviderFailoverEvent, } from './StreamingSTTChain.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/io/voice-pipeline/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,oBAAoB,EAAE,KAAK,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAClG,OAAO,EACL,sBAAsB,EACtB,KAAK,4BAA4B,GAClC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,sBAAsB,EACtB,KAAK,4BAA4B,GAClC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,KAAK,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EACL,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,GAC9B,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/io/voice-pipeline/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,oBAAoB,EAAE,KAAK,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAClG,OAAO,EACL,sBAAsB,EACtB,KAAK,4BAA4B,GAClC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,sBAAsB,EACtB,KAAK,4BAA4B,GAClC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,wBAAwB,EACxB,KAAK,8BAA8B,GACpC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,KAAK,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAC5F,OAAO,EACL,oBAAoB,EACpB,KAAK,0BAA0B,EAC/B,YAAY,GACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EACL,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,GAC9B,MAAM,wBAAwB,CAAC"}
|
|
@@ -12,9 +12,11 @@
|
|
|
12
12
|
export { DeepgramStreamingSTT } from './DeepgramStreamingSTT.js';
|
|
13
13
|
export { ElevenLabsStreamingSTT, } from './ElevenLabsStreamingSTT.js';
|
|
14
14
|
export { ElevenLabsStreamingTTS, } from './ElevenLabsStreamingTTS.js';
|
|
15
|
+
export { DeepgramAuraStreamingTTS, } from './DeepgramAuraStreamingTTS.js';
|
|
15
16
|
export { AgentSessionVoiceAdapter } from './AgentSessionVoiceAdapter.js';
|
|
16
17
|
export { OpenAIBatchTTS } from './OpenAIBatchTTS.js';
|
|
17
18
|
export { ElevenLabsBatchTTS } from './ElevenLabsBatchTTS.js';
|
|
19
|
+
export { DeepgramAuraBatchTTS, chunkForAura, } from './DeepgramAuraBatchTTS.js';
|
|
18
20
|
export { BatchTTSFallback } from './BatchTTSFallback.js';
|
|
19
21
|
export { OpenAIRealtimeTTS } from './OpenAIRealtimeTTS.js';
|
|
20
22
|
export { StreamingSTTChain, } from './StreamingSTTChain.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/io/voice-pipeline/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,oBAAoB,EAAmC,MAAM,2BAA2B,CAAC;AAClG,OAAO,EACL,sBAAsB,GAEvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,sBAAsB,GAEvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,cAAc,EAA6B,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAiC,MAAM,yBAAyB,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAgC,MAAM,wBAAwB,CAAC;AACzF,OAAO,EACL,iBAAiB,GAKlB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,iBAAiB,GAKlB,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/io/voice-pipeline/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,oBAAoB,EAAmC,MAAM,2BAA2B,CAAC;AAClG,OAAO,EACL,sBAAsB,GAEvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,sBAAsB,GAEvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,wBAAwB,GAEzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,cAAc,EAA6B,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAiC,MAAM,yBAAyB,CAAC;AAC5F,OAAO,EACL,oBAAoB,EAEpB,YAAY,GACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAgC,MAAM,wBAAwB,CAAC;AACzF,OAAO,EACL,iBAAiB,GAKlB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,iBAAiB,GAKlB,MAAM,wBAAwB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@framers/agentos",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.32",
|
|
4
4
|
"description": "AgentOS: open-source TypeScript framework for autonomous AI agents. Unified graph orchestration, cognitive memory, runtime tool forging, multi-tier guardrails, voice pipeline, and 11 LLM providers.",
|
|
5
5
|
"homepage": "https://agentos.sh",
|
|
6
6
|
"repository": {
|