@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.
Files changed (35) hide show
  1. package/dist/io/speech/SpeechProviderResolver.d.ts.map +1 -1
  2. package/dist/io/speech/SpeechProviderResolver.js +1 -0
  3. package/dist/io/speech/SpeechProviderResolver.js.map +1 -1
  4. package/dist/io/speech/index.d.ts +1 -0
  5. package/dist/io/speech/index.d.ts.map +1 -1
  6. package/dist/io/speech/index.js +1 -0
  7. package/dist/io/speech/index.js.map +1 -1
  8. package/dist/io/speech/providerCatalog.d.ts.map +1 -1
  9. package/dist/io/speech/providerCatalog.js +12 -0
  10. package/dist/io/speech/providerCatalog.js.map +1 -1
  11. package/dist/io/speech/providers/DeepgramTextToSpeechProvider.d.ts +59 -0
  12. package/dist/io/speech/providers/DeepgramTextToSpeechProvider.d.ts.map +1 -0
  13. package/dist/io/speech/providers/DeepgramTextToSpeechProvider.js +147 -0
  14. package/dist/io/speech/providers/DeepgramTextToSpeechProvider.js.map +1 -0
  15. package/dist/io/voice-pipeline/env-constructor.d.ts +7 -0
  16. package/dist/io/voice-pipeline/env-constructor.d.ts.map +1 -1
  17. package/dist/io/voice-pipeline/env-constructor.js +7 -0
  18. package/dist/io/voice-pipeline/env-constructor.js.map +1 -1
  19. package/dist/io/voice-pipeline/index.d.ts +1 -1
  20. package/dist/io/voice-pipeline/index.d.ts.map +1 -1
  21. package/dist/io/voice-pipeline/index.js +1 -1
  22. package/dist/io/voice-pipeline/index.js.map +1 -1
  23. package/dist/io/voice-pipeline/providers/DeepgramAuraBatchTTS.d.ts +68 -0
  24. package/dist/io/voice-pipeline/providers/DeepgramAuraBatchTTS.d.ts.map +1 -0
  25. package/dist/io/voice-pipeline/providers/DeepgramAuraBatchTTS.js +157 -0
  26. package/dist/io/voice-pipeline/providers/DeepgramAuraBatchTTS.js.map +1 -0
  27. package/dist/io/voice-pipeline/providers/DeepgramAuraStreamingTTS.d.ts +67 -0
  28. package/dist/io/voice-pipeline/providers/DeepgramAuraStreamingTTS.d.ts.map +1 -0
  29. package/dist/io/voice-pipeline/providers/DeepgramAuraStreamingTTS.js +230 -0
  30. package/dist/io/voice-pipeline/providers/DeepgramAuraStreamingTTS.js.map +1 -0
  31. package/dist/io/voice-pipeline/providers/index.d.ts +2 -0
  32. package/dist/io/voice-pipeline/providers/index.d.ts.map +1 -1
  33. package/dist/io/voice-pipeline/providers/index.js +2 -0
  34. package/dist/io/voice-pipeline/providers/index.js.map +1 -1
  35. 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;IAkD7B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,0BAA0B;IA6ClC;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,wBAAwB;CAcjC"}
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"}
@@ -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,EA+R/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"}
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":"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"}
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;AAQH,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;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,CA8ErB"}
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":"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"}
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.31",
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": {