@framers/agentos 0.1.176 → 0.1.177
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/memory/io/facade/Memory.d.ts +7 -6
- package/dist/memory/io/facade/Memory.d.ts.map +1 -1
- package/dist/memory/io/facade/Memory.js +37 -13
- package/dist/memory/io/facade/Memory.js.map +1 -1
- package/dist/voice-pipeline/WebSocketStreamTransport.d.ts +8 -8
- package/dist/voice-pipeline/WebSocketStreamTransport.js +12 -12
- package/dist/voice-pipeline/WebSocketStreamTransport.js.map +1 -1
- package/dist/voice-pipeline/index.d.ts +78 -18
- package/dist/voice-pipeline/index.d.ts.map +1 -1
- package/dist/voice-pipeline/index.js +79 -18
- package/dist/voice-pipeline/index.js.map +1 -1
- package/dist/voice-pipeline/providers/AgentSessionVoiceAdapter.d.ts +63 -0
- package/dist/voice-pipeline/providers/AgentSessionVoiceAdapter.d.ts.map +1 -0
- package/dist/voice-pipeline/providers/AgentSessionVoiceAdapter.js +72 -0
- package/dist/voice-pipeline/providers/AgentSessionVoiceAdapter.js.map +1 -0
- package/dist/voice-pipeline/providers/ElevenLabsStreamingSTT.d.ts +70 -0
- package/dist/voice-pipeline/providers/ElevenLabsStreamingSTT.d.ts.map +1 -0
- package/dist/voice-pipeline/providers/ElevenLabsStreamingSTT.js +248 -0
- package/dist/voice-pipeline/providers/ElevenLabsStreamingSTT.js.map +1 -0
- package/dist/voice-pipeline/providers/index.d.ts +13 -0
- package/dist/voice-pipeline/providers/index.d.ts.map +1 -0
- package/dist/voice-pipeline/providers/index.js +13 -0
- package/dist/voice-pipeline/providers/index.js.map +1 -0
- package/package.json +1 -1
|
@@ -55,8 +55,9 @@ export declare class Memory {
|
|
|
55
55
|
private readonly _brain;
|
|
56
56
|
private readonly _knowledgeGraph;
|
|
57
57
|
private readonly _memoryGraph;
|
|
58
|
-
private
|
|
59
|
-
private
|
|
58
|
+
private _loaderRegistry;
|
|
59
|
+
private _folderScanner;
|
|
60
|
+
private _ingestionToolsPromise;
|
|
60
61
|
private readonly _chunkingEngine;
|
|
61
62
|
private readonly _feedbackSignal;
|
|
62
63
|
private readonly _consolidationLoop;
|
|
@@ -81,10 +82,9 @@ export declare class Memory {
|
|
|
81
82
|
* 3. Check embedding dimension compatibility (warn on mismatch).
|
|
82
83
|
* 4. Create `SqliteKnowledgeGraph(brain)`.
|
|
83
84
|
* 5. Create `SqliteMemoryGraph(brain)` and call `.initialize()`.
|
|
84
|
-
* 6. Create `
|
|
85
|
-
* 7.
|
|
86
|
-
* 8.
|
|
87
|
-
* 9. If `selfImprove`: create `RetrievalFeedbackSignal(brain)` and
|
|
85
|
+
* 6. Create `ChunkingEngine()`.
|
|
86
|
+
* 7. Lazily create ingestion loaders on first `ingest()` call.
|
|
87
|
+
* 8. If `selfImprove`: create `RetrievalFeedbackSignal(brain)` and
|
|
88
88
|
* `ConsolidationLoop(brain, memoryGraph)`.
|
|
89
89
|
*
|
|
90
90
|
* @param config - Optional configuration; see {@link MemoryConfig}.
|
|
@@ -139,6 +139,7 @@ export declare class Memory {
|
|
|
139
139
|
* @returns Summary of the ingestion run.
|
|
140
140
|
*/
|
|
141
141
|
ingest(source: string, options?: IngestOptions): Promise<IngestResult>;
|
|
142
|
+
private _ensureIngestionTools;
|
|
142
143
|
/**
|
|
143
144
|
* Add or update an entity in the knowledge graph.
|
|
144
145
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Memory.d.ts","sourceRoot":"","sources":["../../../../src/memory/io/facade/Memory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAqBH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,aAAa,EACb,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,YAAY,EAEb,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,iBAAiB,EAClB,MAAM,oDAAoD,CAAC;AAiB5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qDAAqD,CAAC;AAgB7F;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,sCAAsC;IACtC,KAAK,EAAE,WAAW,CAAC;IACnB,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;CACf;AAyDD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,MAAM;IAEjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuB;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"Memory.d.ts","sourceRoot":"","sources":["../../../../src/memory/io/facade/Memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,8 +38,6 @@ import { SqliteBrain } from '../../retrieval/store/SqliteBrain.js';
|
|
|
38
38
|
import { buildNaturalLanguageFtsQuery, buildInitialTraceMetadata, parseTraceMetadata, readPersistedDecayState, withPersistedDecayState, } from '../../retrieval/store/tracePersistence.js';
|
|
39
39
|
import { SqliteKnowledgeGraph } from '../../retrieval/store/SqliteKnowledgeGraph.js';
|
|
40
40
|
import { SqliteMemoryGraph } from '../../retrieval/store/SqliteMemoryGraph.js';
|
|
41
|
-
import { LoaderRegistry } from '../ingestion/LoaderRegistry.js';
|
|
42
|
-
import { FolderScanner } from '../ingestion/FolderScanner.js';
|
|
43
41
|
import { ChunkingEngine } from '../ingestion/ChunkingEngine.js';
|
|
44
42
|
import { UrlLoader } from '../ingestion/UrlLoader.js';
|
|
45
43
|
import { RetrievalFeedbackSignal } from '../../retrieval/feedback/RetrievalFeedbackSignal.js';
|
|
@@ -97,6 +95,9 @@ export class Memory {
|
|
|
97
95
|
* pre-computed configuration. Use {@link Memory.create} to instantiate.
|
|
98
96
|
*/
|
|
99
97
|
constructor(brain, config) {
|
|
98
|
+
this._loaderRegistry = null;
|
|
99
|
+
this._folderScanner = null;
|
|
100
|
+
this._ingestionToolsPromise = null;
|
|
100
101
|
/** HNSW sidecar index for O(log n) vector search alongside SQLite. */
|
|
101
102
|
this._hnswSidecar = null;
|
|
102
103
|
this._brain = brain;
|
|
@@ -108,10 +109,6 @@ export class Memory {
|
|
|
108
109
|
// Create SqliteMemoryGraph and initialize.
|
|
109
110
|
this._memoryGraph = new SqliteMemoryGraph(this._brain);
|
|
110
111
|
this._initPromise = this._memoryGraph.initialize();
|
|
111
|
-
// Create LoaderRegistry.
|
|
112
|
-
this._loaderRegistry = new LoaderRegistry();
|
|
113
|
-
// Create FolderScanner.
|
|
114
|
-
this._folderScanner = new FolderScanner(this._loaderRegistry);
|
|
115
112
|
// Create ChunkingEngine.
|
|
116
113
|
this._chunkingEngine = new ChunkingEngine();
|
|
117
114
|
// Self-improvement subsystems.
|
|
@@ -157,10 +154,9 @@ export class Memory {
|
|
|
157
154
|
* 3. Check embedding dimension compatibility (warn on mismatch).
|
|
158
155
|
* 4. Create `SqliteKnowledgeGraph(brain)`.
|
|
159
156
|
* 5. Create `SqliteMemoryGraph(brain)` and call `.initialize()`.
|
|
160
|
-
* 6. Create `
|
|
161
|
-
* 7.
|
|
162
|
-
* 8.
|
|
163
|
-
* 9. If `selfImprove`: create `RetrievalFeedbackSignal(brain)` and
|
|
157
|
+
* 6. Create `ChunkingEngine()`.
|
|
158
|
+
* 7. Lazily create ingestion loaders on first `ingest()` call.
|
|
159
|
+
* 8. If `selfImprove`: create `RetrievalFeedbackSignal(brain)` and
|
|
164
160
|
* `ConsolidationLoop(brain, memoryGraph)`.
|
|
165
161
|
*
|
|
166
162
|
* @param config - Optional configuration; see {@link MemoryConfig}.
|
|
@@ -521,14 +517,15 @@ export class Memory {
|
|
|
521
517
|
chunkSize: this._config.ingestion?.chunkSize ?? 512,
|
|
522
518
|
chunkOverlap: this._config.ingestion?.chunkOverlap ?? 64,
|
|
523
519
|
};
|
|
524
|
-
const
|
|
520
|
+
const { loaderRegistry, folderScanner } = await this._ensureIngestionTools();
|
|
521
|
+
const urlLoader = new UrlLoader(loaderRegistry);
|
|
525
522
|
try {
|
|
526
523
|
// Detect source type.
|
|
527
524
|
const fsModule = await _getFs();
|
|
528
525
|
const stat = await fsModule.stat(source).catch(() => null);
|
|
529
526
|
if (stat?.isDirectory()) {
|
|
530
527
|
// Directory scan.
|
|
531
|
-
const scanResult = await
|
|
528
|
+
const scanResult = await folderScanner.scan(source, {
|
|
532
529
|
recursive: options?.recursive ?? true,
|
|
533
530
|
include: options?.include,
|
|
534
531
|
exclude: options?.exclude,
|
|
@@ -554,7 +551,7 @@ export class Memory {
|
|
|
554
551
|
else if (stat?.isFile()) {
|
|
555
552
|
// Single file.
|
|
556
553
|
try {
|
|
557
|
-
const doc = await
|
|
554
|
+
const doc = await loaderRegistry.loadFile(source);
|
|
558
555
|
result.succeeded.push(source);
|
|
559
556
|
await this._ingestLoadedDocument(source, doc, chunking, result);
|
|
560
557
|
}
|
|
@@ -588,6 +585,33 @@ export class Memory {
|
|
|
588
585
|
}
|
|
589
586
|
return result;
|
|
590
587
|
}
|
|
588
|
+
async _ensureIngestionTools() {
|
|
589
|
+
if (this._loaderRegistry && this._folderScanner) {
|
|
590
|
+
return {
|
|
591
|
+
loaderRegistry: this._loaderRegistry,
|
|
592
|
+
folderScanner: this._folderScanner,
|
|
593
|
+
};
|
|
594
|
+
}
|
|
595
|
+
if (!this._ingestionToolsPromise) {
|
|
596
|
+
this._ingestionToolsPromise = (async () => {
|
|
597
|
+
const [{ LoaderRegistry }, { FolderScanner }] = await Promise.all([
|
|
598
|
+
import('../ingestion/LoaderRegistry.js'),
|
|
599
|
+
import('../ingestion/FolderScanner.js'),
|
|
600
|
+
]);
|
|
601
|
+
const loaderRegistry = this._loaderRegistry ?? new LoaderRegistry();
|
|
602
|
+
const folderScanner = this._folderScanner ?? new FolderScanner(loaderRegistry);
|
|
603
|
+
this._loaderRegistry = loaderRegistry;
|
|
604
|
+
this._folderScanner = folderScanner;
|
|
605
|
+
return { loaderRegistry, folderScanner };
|
|
606
|
+
})();
|
|
607
|
+
}
|
|
608
|
+
try {
|
|
609
|
+
return await this._ingestionToolsPromise;
|
|
610
|
+
}
|
|
611
|
+
finally {
|
|
612
|
+
this._ingestionToolsPromise = null;
|
|
613
|
+
}
|
|
614
|
+
}
|
|
591
615
|
// =========================================================================
|
|
592
616
|
// Knowledge graph
|
|
593
617
|
// =========================================================================
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Memory.js","sourceRoot":"","sources":["../../../../src/memory/io/facade/Memory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Memory.js","sourceRoot":"","sources":["../../../../src/memory/io/facade/Memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -116,8 +116,8 @@ export interface WebSocketStreamTransportConfig {
|
|
|
116
116
|
*
|
|
117
117
|
* | Frame type | Processing |
|
|
118
118
|
* |------------|-----------------------------------------------------------|
|
|
119
|
-
* | Binary | Decoded as `Float32Array` PCM samples, wrapped in an {@link AudioFrame}, emitted as `'
|
|
120
|
-
* | Text | `JSON.parse()`d as {@link ClientTextMessage}, emitted as `'
|
|
119
|
+
* | Binary | Decoded as `Float32Array` PCM samples, wrapped in an {@link AudioFrame}, emitted as `'audio'`. |
|
|
120
|
+
* | Text | `JSON.parse()`d as {@link ClientTextMessage}, emitted as `'message'`. |
|
|
121
121
|
*
|
|
122
122
|
* ## Outbound API
|
|
123
123
|
*
|
|
@@ -130,14 +130,14 @@ export interface WebSocketStreamTransportConfig {
|
|
|
130
130
|
*
|
|
131
131
|
* | WS event | Transport emission |
|
|
132
132
|
* |----------|--------------------|
|
|
133
|
-
* | `open` | `'
|
|
134
|
-
* | `close` | `'
|
|
133
|
+
* | `open` | `'open'` |
|
|
134
|
+
* | `close` | `'close'` |
|
|
135
135
|
* | `error` | `'error'` |
|
|
136
136
|
*
|
|
137
|
-
* @fires
|
|
138
|
-
* @fires
|
|
139
|
-
* @fires
|
|
140
|
-
* @fires
|
|
137
|
+
* @fires audio - `(frame: AudioFrame)` for every inbound binary message.
|
|
138
|
+
* @fires message - `(msg: ClientTextMessage)` for every inbound text message.
|
|
139
|
+
* @fires open - Socket transitioned to OPEN state.
|
|
140
|
+
* @fires close - Socket has been fully closed.
|
|
141
141
|
* @fires error - Socket-level error occurred.
|
|
142
142
|
*
|
|
143
143
|
* @see {@link IStreamTransport} for the interface contract.
|
|
@@ -52,8 +52,8 @@ import { randomUUID } from 'node:crypto';
|
|
|
52
52
|
*
|
|
53
53
|
* | Frame type | Processing |
|
|
54
54
|
* |------------|-----------------------------------------------------------|
|
|
55
|
-
* | Binary | Decoded as `Float32Array` PCM samples, wrapped in an {@link AudioFrame}, emitted as `'
|
|
56
|
-
* | Text | `JSON.parse()`d as {@link ClientTextMessage}, emitted as `'
|
|
55
|
+
* | Binary | Decoded as `Float32Array` PCM samples, wrapped in an {@link AudioFrame}, emitted as `'audio'`. |
|
|
56
|
+
* | Text | `JSON.parse()`d as {@link ClientTextMessage}, emitted as `'message'`. |
|
|
57
57
|
*
|
|
58
58
|
* ## Outbound API
|
|
59
59
|
*
|
|
@@ -66,14 +66,14 @@ import { randomUUID } from 'node:crypto';
|
|
|
66
66
|
*
|
|
67
67
|
* | WS event | Transport emission |
|
|
68
68
|
* |----------|--------------------|
|
|
69
|
-
* | `open` | `'
|
|
70
|
-
* | `close` | `'
|
|
69
|
+
* | `open` | `'open'` |
|
|
70
|
+
* | `close` | `'close'` |
|
|
71
71
|
* | `error` | `'error'` |
|
|
72
72
|
*
|
|
73
|
-
* @fires
|
|
74
|
-
* @fires
|
|
75
|
-
* @fires
|
|
76
|
-
* @fires
|
|
73
|
+
* @fires audio - `(frame: AudioFrame)` for every inbound binary message.
|
|
74
|
+
* @fires message - `(msg: ClientTextMessage)` for every inbound text message.
|
|
75
|
+
* @fires open - Socket transitioned to OPEN state.
|
|
76
|
+
* @fires close - Socket has been fully closed.
|
|
77
77
|
* @fires error - Socket-level error occurred.
|
|
78
78
|
*
|
|
79
79
|
* @see {@link IStreamTransport} for the interface contract.
|
|
@@ -218,7 +218,7 @@ export class WebSocketStreamTransport extends EventEmitter {
|
|
|
218
218
|
// allowing the session to recover from a single bad message.
|
|
219
219
|
try {
|
|
220
220
|
const msg = JSON.parse(data);
|
|
221
|
-
this.emit('
|
|
221
|
+
this.emit('message', msg);
|
|
222
222
|
}
|
|
223
223
|
catch (err) {
|
|
224
224
|
this.emit('error', new Error(`WebSocketStreamTransport: failed to parse inbound text message as JSON: ${String(err)}`));
|
|
@@ -246,18 +246,18 @@ export class WebSocketStreamTransport extends EventEmitter {
|
|
|
246
246
|
sampleRate: this._sampleRate,
|
|
247
247
|
timestamp: Date.now(),
|
|
248
248
|
};
|
|
249
|
-
this.emit('
|
|
249
|
+
this.emit('audio', frame);
|
|
250
250
|
}
|
|
251
251
|
});
|
|
252
252
|
// `open` -- socket handshake complete (fires for late-open connections)
|
|
253
253
|
this._ws.on('open', () => {
|
|
254
254
|
this._state = 'open';
|
|
255
|
-
this.emit('
|
|
255
|
+
this.emit('open');
|
|
256
256
|
});
|
|
257
257
|
// `close` -- socket has been fully closed (either side initiated)
|
|
258
258
|
this._ws.on('close', () => {
|
|
259
259
|
this._state = 'closed';
|
|
260
|
-
this.emit('
|
|
260
|
+
this.emit('close');
|
|
261
261
|
});
|
|
262
262
|
// `error` -- transport-level socket error. Re-emitted verbatim so the
|
|
263
263
|
// orchestrator can log it and decide whether to tear down the session.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocketStreamTransport.js","sourceRoot":"","sources":["../../src/voice-pipeline/WebSocketStreamTransport.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"WebSocketStreamTransport.js","sourceRoot":"","sources":["../../src/voice-pipeline/WebSocketStreamTransport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,39 +1,98 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module @framers/agentos/voice-pipeline
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Real-time streaming voice pipeline for AgentOS.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
6
|
+
* Provides a complete, provider-agnostic voice conversation system with
|
|
7
|
+
* pluggable STT, TTS, endpoint detection, barge-in handling, and transport.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
* ({@link AudioFrame}, {@link IStreamTransport}, {@link IEndpointDetector}, etc.).
|
|
9
|
+
* ## Architecture
|
|
11
10
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
11
|
+
* ```
|
|
12
|
+
* Browser Mic → Transport → STT → Endpoint Detector → Agent → TTS → Transport → Browser Speaker
|
|
13
|
+
* ↑
|
|
14
|
+
* Barge-in Handler
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* All components are injected via `VoicePipelineOverrides`, making the pipeline
|
|
18
|
+
* fully provider-agnostic. Swap Deepgram for ElevenLabs STT, or ElevenLabs for
|
|
19
|
+
* OpenAI TTS, by changing one line.
|
|
20
|
+
*
|
|
21
|
+
* ## Built-in Providers
|
|
22
|
+
*
|
|
23
|
+
* **STT (Speech-to-Text):**
|
|
24
|
+
* - {@link DeepgramStreamingSTT} — WebSocket streaming via Deepgram Nova-2. Lowest latency.
|
|
25
|
+
* - {@link ElevenLabsStreamingSTT} — Chunked REST via ElevenLabs Scribe. Uses same key as TTS.
|
|
15
26
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* - {@link AcousticEndpointDetector}: Purely acoustic (silence-only, no transcript analysis).
|
|
27
|
+
* **TTS (Text-to-Speech):**
|
|
28
|
+
* - {@link ElevenLabsStreamingTTS} — WebSocket streaming via ElevenLabs. High quality voices.
|
|
19
29
|
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
30
|
+
* **Endpoint Detection:**
|
|
31
|
+
* - {@link HeuristicEndpointDetector} — Punctuation + silence timeout. Fast, no model needed.
|
|
32
|
+
* - {@link AcousticEndpointDetector} — Silence-only, no transcript analysis.
|
|
23
33
|
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
34
|
+
* **Barge-in Handling:**
|
|
35
|
+
* - {@link HardCutBargeinHandler} — Immediate TTS cancel above speech threshold.
|
|
36
|
+
* - {@link SoftFadeBargeinHandler} — Three-tier (ignore/pause/cancel) with configurable fade.
|
|
26
37
|
*
|
|
27
|
-
*
|
|
38
|
+
* **Transport:**
|
|
39
|
+
* - {@link WebSocketStreamTransport} — WebSocket bidirectional audio/text.
|
|
40
|
+
* - {@link WebRTCStreamTransport} — WebRTC DataChannel transport.
|
|
41
|
+
*
|
|
42
|
+
* **Agent Adapter:**
|
|
43
|
+
* - {@link AgentSessionVoiceAdapter} — Wraps any AgentOS `AgentSession` as `IVoicePipelineAgentSession`.
|
|
44
|
+
*
|
|
45
|
+
* ## Usage
|
|
28
46
|
*
|
|
29
|
-
* @example
|
|
30
47
|
* ```typescript
|
|
31
48
|
* import {
|
|
32
49
|
* VoicePipelineOrchestrator,
|
|
33
50
|
* HeuristicEndpointDetector,
|
|
34
51
|
* HardCutBargeinHandler,
|
|
35
52
|
* WebSocketStreamTransport,
|
|
53
|
+
* ElevenLabsStreamingSTT,
|
|
54
|
+
* ElevenLabsStreamingTTS,
|
|
55
|
+
* AgentSessionVoiceAdapter,
|
|
36
56
|
* } from '../voice-pipeline';
|
|
57
|
+
* import { agent } from '@framers/agentos';
|
|
58
|
+
*
|
|
59
|
+
* // Create agent and voice adapter
|
|
60
|
+
* const a = agent({ model: 'gpt-4o-mini', instructions: 'You are a voice companion.' });
|
|
61
|
+
* const session = a.session('voice-1');
|
|
62
|
+
* const voiceAdapter = new AgentSessionVoiceAdapter(session);
|
|
63
|
+
*
|
|
64
|
+
* // Create providers (use whichever API keys you have)
|
|
65
|
+
* const stt = new ElevenLabsStreamingSTT({ apiKey: process.env.ELEVENLABS_API_KEY! });
|
|
66
|
+
* const tts = new ElevenLabsStreamingTTS({ apiKey: process.env.ELEVENLABS_API_KEY! });
|
|
67
|
+
*
|
|
68
|
+
* // Create and start the pipeline
|
|
69
|
+
* const orchestrator = new VoicePipelineOrchestrator({
|
|
70
|
+
* stt: 'elevenlabs', tts: 'elevenlabs', language: 'en-US',
|
|
71
|
+
* });
|
|
72
|
+
*
|
|
73
|
+
* const pipelineSession = await orchestrator.startSession(transport, voiceAdapter, {
|
|
74
|
+
* streamingSTT: stt,
|
|
75
|
+
* streamingTTS: tts,
|
|
76
|
+
* endpointDetector: new HeuristicEndpointDetector(),
|
|
77
|
+
* bargeinHandler: new HardCutBargeinHandler(),
|
|
78
|
+
* });
|
|
79
|
+
*
|
|
80
|
+
* // Listen for state changes (idle → listening → processing → speaking → listening)
|
|
81
|
+
* pipelineSession.on('state_change', (state) => console.log('Pipeline:', state));
|
|
82
|
+
* ```
|
|
83
|
+
*
|
|
84
|
+
* ## Custom Providers
|
|
85
|
+
*
|
|
86
|
+
* Implement {@link IStreamingSTT} and {@link IStreamingTTS} to add any provider:
|
|
87
|
+
*
|
|
88
|
+
* ```typescript
|
|
89
|
+
* class MyCustomSTT implements IStreamingSTT {
|
|
90
|
+
* readonly providerId = 'my-custom-stt';
|
|
91
|
+
* readonly isStreaming = true;
|
|
92
|
+
* async startSession(config?: StreamingSTTConfig): Promise<StreamingSTTSession> {
|
|
93
|
+
* // Connect to your STT service, return a session that emits 'transcript' events
|
|
94
|
+
* }
|
|
95
|
+
* }
|
|
37
96
|
* ```
|
|
38
97
|
*/
|
|
39
98
|
export * from './types.js';
|
|
@@ -45,4 +104,5 @@ export { WebSocketStreamTransport } from './WebSocketStreamTransport.js';
|
|
|
45
104
|
export { WebRTCStreamTransport, createWebRTCTransport } from './WebRTCStreamTransport.js';
|
|
46
105
|
export { VoicePipelineOrchestrator } from './VoicePipelineOrchestrator.js';
|
|
47
106
|
export { VoiceInterruptError } from './VoiceInterruptError.js';
|
|
107
|
+
export { DeepgramStreamingSTT, type DeepgramStreamingSTTConfig, ElevenLabsStreamingSTT, type ElevenLabsStreamingSTTConfig, ElevenLabsStreamingTTS, type ElevenLabsStreamingTTSConfig, AgentSessionVoiceAdapter, } from './providers/index.js';
|
|
48
108
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/voice-pipeline/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/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,GACzB,MAAM,sBAAsB,CAAC"}
|
|
@@ -1,39 +1,98 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module @framers/agentos/voice-pipeline
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Real-time streaming voice pipeline for AgentOS.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
6
|
+
* Provides a complete, provider-agnostic voice conversation system with
|
|
7
|
+
* pluggable STT, TTS, endpoint detection, barge-in handling, and transport.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
* ({@link AudioFrame}, {@link IStreamTransport}, {@link IEndpointDetector}, etc.).
|
|
9
|
+
* ## Architecture
|
|
11
10
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
11
|
+
* ```
|
|
12
|
+
* Browser Mic → Transport → STT → Endpoint Detector → Agent → TTS → Transport → Browser Speaker
|
|
13
|
+
* ↑
|
|
14
|
+
* Barge-in Handler
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* All components are injected via `VoicePipelineOverrides`, making the pipeline
|
|
18
|
+
* fully provider-agnostic. Swap Deepgram for ElevenLabs STT, or ElevenLabs for
|
|
19
|
+
* OpenAI TTS, by changing one line.
|
|
20
|
+
*
|
|
21
|
+
* ## Built-in Providers
|
|
22
|
+
*
|
|
23
|
+
* **STT (Speech-to-Text):**
|
|
24
|
+
* - {@link DeepgramStreamingSTT} — WebSocket streaming via Deepgram Nova-2. Lowest latency.
|
|
25
|
+
* - {@link ElevenLabsStreamingSTT} — Chunked REST via ElevenLabs Scribe. Uses same key as TTS.
|
|
15
26
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* - {@link AcousticEndpointDetector}: Purely acoustic (silence-only, no transcript analysis).
|
|
27
|
+
* **TTS (Text-to-Speech):**
|
|
28
|
+
* - {@link ElevenLabsStreamingTTS} — WebSocket streaming via ElevenLabs. High quality voices.
|
|
19
29
|
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
30
|
+
* **Endpoint Detection:**
|
|
31
|
+
* - {@link HeuristicEndpointDetector} — Punctuation + silence timeout. Fast, no model needed.
|
|
32
|
+
* - {@link AcousticEndpointDetector} — Silence-only, no transcript analysis.
|
|
23
33
|
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
34
|
+
* **Barge-in Handling:**
|
|
35
|
+
* - {@link HardCutBargeinHandler} — Immediate TTS cancel above speech threshold.
|
|
36
|
+
* - {@link SoftFadeBargeinHandler} — Three-tier (ignore/pause/cancel) with configurable fade.
|
|
26
37
|
*
|
|
27
|
-
*
|
|
38
|
+
* **Transport:**
|
|
39
|
+
* - {@link WebSocketStreamTransport} — WebSocket bidirectional audio/text.
|
|
40
|
+
* - {@link WebRTCStreamTransport} — WebRTC DataChannel transport.
|
|
41
|
+
*
|
|
42
|
+
* **Agent Adapter:**
|
|
43
|
+
* - {@link AgentSessionVoiceAdapter} — Wraps any AgentOS `AgentSession` as `IVoicePipelineAgentSession`.
|
|
44
|
+
*
|
|
45
|
+
* ## Usage
|
|
28
46
|
*
|
|
29
|
-
* @example
|
|
30
47
|
* ```typescript
|
|
31
48
|
* import {
|
|
32
49
|
* VoicePipelineOrchestrator,
|
|
33
50
|
* HeuristicEndpointDetector,
|
|
34
51
|
* HardCutBargeinHandler,
|
|
35
52
|
* WebSocketStreamTransport,
|
|
53
|
+
* ElevenLabsStreamingSTT,
|
|
54
|
+
* ElevenLabsStreamingTTS,
|
|
55
|
+
* AgentSessionVoiceAdapter,
|
|
36
56
|
* } from '../voice-pipeline/index.js';
|
|
57
|
+
* import { agent } from '@framers/agentos';
|
|
58
|
+
*
|
|
59
|
+
* // Create agent and voice adapter
|
|
60
|
+
* const a = agent({ model: 'gpt-4o-mini', instructions: 'You are a voice companion.' });
|
|
61
|
+
* const session = a.session('voice-1');
|
|
62
|
+
* const voiceAdapter = new AgentSessionVoiceAdapter(session);
|
|
63
|
+
*
|
|
64
|
+
* // Create providers (use whichever API keys you have)
|
|
65
|
+
* const stt = new ElevenLabsStreamingSTT({ apiKey: process.env.ELEVENLABS_API_KEY! });
|
|
66
|
+
* const tts = new ElevenLabsStreamingTTS({ apiKey: process.env.ELEVENLABS_API_KEY! });
|
|
67
|
+
*
|
|
68
|
+
* // Create and start the pipeline
|
|
69
|
+
* const orchestrator = new VoicePipelineOrchestrator({
|
|
70
|
+
* stt: 'elevenlabs', tts: 'elevenlabs', language: 'en-US',
|
|
71
|
+
* });
|
|
72
|
+
*
|
|
73
|
+
* const pipelineSession = await orchestrator.startSession(transport, voiceAdapter, {
|
|
74
|
+
* streamingSTT: stt,
|
|
75
|
+
* streamingTTS: tts,
|
|
76
|
+
* endpointDetector: new HeuristicEndpointDetector(),
|
|
77
|
+
* bargeinHandler: new HardCutBargeinHandler(),
|
|
78
|
+
* });
|
|
79
|
+
*
|
|
80
|
+
* // Listen for state changes (idle → listening → processing → speaking → listening)
|
|
81
|
+
* pipelineSession.on('state_change', (state) => console.log('Pipeline:', state));
|
|
82
|
+
* ```
|
|
83
|
+
*
|
|
84
|
+
* ## Custom Providers
|
|
85
|
+
*
|
|
86
|
+
* Implement {@link IStreamingSTT} and {@link IStreamingTTS} to add any provider:
|
|
87
|
+
*
|
|
88
|
+
* ```typescript
|
|
89
|
+
* class MyCustomSTT implements IStreamingSTT {
|
|
90
|
+
* readonly providerId = 'my-custom-stt';
|
|
91
|
+
* readonly isStreaming = true;
|
|
92
|
+
* async startSession(config?: StreamingSTTConfig): Promise<StreamingSTTSession> {
|
|
93
|
+
* // Connect to your STT service, return a session that emits 'transcript' events
|
|
94
|
+
* }
|
|
95
|
+
* }
|
|
37
96
|
* ```
|
|
38
97
|
*/
|
|
39
98
|
// Re-export all type definitions from the types module.
|
|
@@ -53,4 +112,6 @@ export { WebRTCStreamTransport, createWebRTCTransport } from './WebRTCStreamTran
|
|
|
53
112
|
export { VoicePipelineOrchestrator } from './VoicePipelineOrchestrator.js';
|
|
54
113
|
// Typed error for barge-in interruptions
|
|
55
114
|
export { VoiceInterruptError } from './VoiceInterruptError.js';
|
|
115
|
+
// Streaming provider implementations
|
|
116
|
+
export { DeepgramStreamingSTT, ElevenLabsStreamingSTT, ElevenLabsStreamingTTS, AgentSessionVoiceAdapter, } from './providers/index.js';
|
|
56
117
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/voice-pipeline/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/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,GACzB,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module voice-pipeline/providers/AgentSessionVoiceAdapter
|
|
3
|
+
*
|
|
4
|
+
* Adapts an AgentOS {@link AgentSession} to the {@link IVoicePipelineAgentSession}
|
|
5
|
+
* interface required by {@link VoicePipelineOrchestrator}.
|
|
6
|
+
*
|
|
7
|
+
* The adapter wraps `AgentSession.stream(text)` and yields the resulting
|
|
8
|
+
* `textStream` (an `AsyncIterable<string>` of token deltas) as the return
|
|
9
|
+
* value of `sendText()`.
|
|
10
|
+
*
|
|
11
|
+
* ## Abort Handling
|
|
12
|
+
*
|
|
13
|
+
* The `abort()` method is implemented by setting an internal flag that causes
|
|
14
|
+
* the `sendText()` iterator to stop yielding tokens. Since `StreamTextResult`
|
|
15
|
+
* does not expose a native cancellation mechanism, the underlying provider
|
|
16
|
+
* stream continues but its output is discarded.
|
|
17
|
+
*/
|
|
18
|
+
import type { AgentSession } from '../../api/agent.js';
|
|
19
|
+
import type { IVoicePipelineAgentSession, VoiceTurnMetadata } from '../types.js';
|
|
20
|
+
/**
|
|
21
|
+
* Wraps an AgentOS `AgentSession` as an `IVoicePipelineAgentSession`.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* import { agent } from '@framers/agentos';
|
|
26
|
+
* import { AgentSessionVoiceAdapter } from '../../voice-pipeline';
|
|
27
|
+
*
|
|
28
|
+
* const a = agent({ model: 'gpt-4o' });
|
|
29
|
+
* const session = a.session('voice-session-1');
|
|
30
|
+
* const voiceAdapter = new AgentSessionVoiceAdapter(session);
|
|
31
|
+
*
|
|
32
|
+
* // Use with VoicePipelineOrchestrator
|
|
33
|
+
* orchestrator.startSession(transport, voiceAdapter, overrides);
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare class AgentSessionVoiceAdapter implements IVoicePipelineAgentSession {
|
|
37
|
+
private readonly session;
|
|
38
|
+
/** Internal abort flag. Set by `abort()`, checked by the token iterator. */
|
|
39
|
+
private aborted;
|
|
40
|
+
constructor(session: AgentSession);
|
|
41
|
+
/**
|
|
42
|
+
* Send user text to the agent and yield response tokens as an async iterable.
|
|
43
|
+
*
|
|
44
|
+
* The `metadata` parameter carries voice-specific context (speech duration,
|
|
45
|
+
* endpoint reason, confidence, etc.) that could be injected into the agent's
|
|
46
|
+
* context for more informed responses. Currently the metadata is not forwarded
|
|
47
|
+
* to the agent (the AgentSession API doesn't support metadata injection),
|
|
48
|
+
* but it is available for future enhancement.
|
|
49
|
+
*
|
|
50
|
+
* @param text - Transcribed user speech to send to the agent.
|
|
51
|
+
* @param _metadata - Voice turn metadata (reserved for future use).
|
|
52
|
+
* @returns An async iterable of response token strings.
|
|
53
|
+
*/
|
|
54
|
+
sendText(text: string, _metadata: VoiceTurnMetadata): AsyncIterable<string>;
|
|
55
|
+
/**
|
|
56
|
+
* Abort the current generation.
|
|
57
|
+
* Sets an internal flag causing the active `sendText()` iterator to stop
|
|
58
|
+
* yielding tokens. The underlying LLM stream is not explicitly cancelled
|
|
59
|
+
* but its output is discarded.
|
|
60
|
+
*/
|
|
61
|
+
abort(): void;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=AgentSessionVoiceAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentSessionVoiceAdapter.d.ts","sourceRoot":"","sources":["../../../src/voice-pipeline/providers/AgentSessionVoiceAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEjF;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,wBAAyB,YAAW,0BAA0B;IAI7D,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,4EAA4E;IAC5E,OAAO,CAAC,OAAO,CAAS;gBAEK,OAAO,EAAE,YAAY;IAElD;;;;;;;;;;;;OAYG;IACI,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC;IAWlF;;;;;OAKG;IACH,KAAK,IAAI,IAAI;CAGd"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module voice-pipeline/providers/AgentSessionVoiceAdapter
|
|
3
|
+
*
|
|
4
|
+
* Adapts an AgentOS {@link AgentSession} to the {@link IVoicePipelineAgentSession}
|
|
5
|
+
* interface required by {@link VoicePipelineOrchestrator}.
|
|
6
|
+
*
|
|
7
|
+
* The adapter wraps `AgentSession.stream(text)` and yields the resulting
|
|
8
|
+
* `textStream` (an `AsyncIterable<string>` of token deltas) as the return
|
|
9
|
+
* value of `sendText()`.
|
|
10
|
+
*
|
|
11
|
+
* ## Abort Handling
|
|
12
|
+
*
|
|
13
|
+
* The `abort()` method is implemented by setting an internal flag that causes
|
|
14
|
+
* the `sendText()` iterator to stop yielding tokens. Since `StreamTextResult`
|
|
15
|
+
* does not expose a native cancellation mechanism, the underlying provider
|
|
16
|
+
* stream continues but its output is discarded.
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Wraps an AgentOS `AgentSession` as an `IVoicePipelineAgentSession`.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* import { agent } from '@framers/agentos';
|
|
24
|
+
* import { AgentSessionVoiceAdapter } from '../../voice-pipeline/index.js';
|
|
25
|
+
*
|
|
26
|
+
* const a = agent({ model: 'gpt-4o' });
|
|
27
|
+
* const session = a.session('voice-session-1');
|
|
28
|
+
* const voiceAdapter = new AgentSessionVoiceAdapter(session);
|
|
29
|
+
*
|
|
30
|
+
* // Use with VoicePipelineOrchestrator
|
|
31
|
+
* orchestrator.startSession(transport, voiceAdapter, overrides);
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export class AgentSessionVoiceAdapter {
|
|
35
|
+
constructor(session) {
|
|
36
|
+
this.session = session;
|
|
37
|
+
/** Internal abort flag. Set by `abort()`, checked by the token iterator. */
|
|
38
|
+
this.aborted = false;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Send user text to the agent and yield response tokens as an async iterable.
|
|
42
|
+
*
|
|
43
|
+
* The `metadata` parameter carries voice-specific context (speech duration,
|
|
44
|
+
* endpoint reason, confidence, etc.) that could be injected into the agent's
|
|
45
|
+
* context for more informed responses. Currently the metadata is not forwarded
|
|
46
|
+
* to the agent (the AgentSession API doesn't support metadata injection),
|
|
47
|
+
* but it is available for future enhancement.
|
|
48
|
+
*
|
|
49
|
+
* @param text - Transcribed user speech to send to the agent.
|
|
50
|
+
* @param _metadata - Voice turn metadata (reserved for future use).
|
|
51
|
+
* @returns An async iterable of response token strings.
|
|
52
|
+
*/
|
|
53
|
+
async *sendText(text, _metadata) {
|
|
54
|
+
this.aborted = false;
|
|
55
|
+
const result = this.session.stream(text);
|
|
56
|
+
for await (const token of result.textStream) {
|
|
57
|
+
if (this.aborted)
|
|
58
|
+
break;
|
|
59
|
+
yield token;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Abort the current generation.
|
|
64
|
+
* Sets an internal flag causing the active `sendText()` iterator to stop
|
|
65
|
+
* yielding tokens. The underlying LLM stream is not explicitly cancelled
|
|
66
|
+
* but its output is discarded.
|
|
67
|
+
*/
|
|
68
|
+
abort() {
|
|
69
|
+
this.aborted = true;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=AgentSessionVoiceAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentSessionVoiceAdapter.js","sourceRoot":"","sources":["../../../src/voice-pipeline/providers/AgentSessionVoiceAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,wBAAwB;IAInC,YAA6B,OAAqB;QAArB,YAAO,GAAP,OAAO,CAAc;QAHlD,4EAA4E;QACpE,YAAO,GAAG,KAAK,CAAC;IAE6B,CAAC;IAEtD;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAY,EAAE,SAA4B;QACxD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAC5C,IAAI,IAAI,CAAC,OAAO;gBAAE,MAAM;YACxB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;CACF"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module voice-pipeline/providers/ElevenLabsStreamingSTT
|
|
3
|
+
*
|
|
4
|
+
* Streaming speech-to-text adapter for ElevenLabs' WebSocket STT API.
|
|
5
|
+
* Implements {@link IStreamingSTT} / {@link StreamingSTTSession} for the
|
|
6
|
+
* voice pipeline orchestrator.
|
|
7
|
+
*
|
|
8
|
+
* ## ElevenLabs STT WebSocket Protocol
|
|
9
|
+
*
|
|
10
|
+
* - **Endpoint:** `wss://api.elevenlabs.io/v1/speech-to-text/stream`
|
|
11
|
+
* - **Authentication:** `xi-api-key` header on upgrade
|
|
12
|
+
* - **Inbound (client → ElevenLabs):** Binary PCM frames (16-bit signed LE, 16kHz mono)
|
|
13
|
+
* - **Outbound (ElevenLabs → client):** JSON transcript results
|
|
14
|
+
* - **Close:** Send JSON `{ "type": "close_stream" }` to finalize
|
|
15
|
+
*
|
|
16
|
+
* ## Fallback: Chunked REST
|
|
17
|
+
*
|
|
18
|
+
* If the WebSocket endpoint is unavailable or errors, this adapter falls back
|
|
19
|
+
* to a chunked REST approach: accumulates audio into ~2s chunks and POSTs each
|
|
20
|
+
* to `/v1/speech-to-text` for batch transcription. This provides near-realtime
|
|
21
|
+
* results (2s latency per chunk) using only the REST API.
|
|
22
|
+
*
|
|
23
|
+
* @see https://elevenlabs.io/docs/api-reference/speech-to-text
|
|
24
|
+
*/
|
|
25
|
+
import type { IStreamingSTT, StreamingSTTSession, StreamingSTTConfig } from '../types.js';
|
|
26
|
+
/**
|
|
27
|
+
* Configuration for the {@link ElevenLabsStreamingSTT} provider.
|
|
28
|
+
*/
|
|
29
|
+
export interface ElevenLabsStreamingSTTConfig {
|
|
30
|
+
/** ElevenLabs API key. */
|
|
31
|
+
apiKey: string;
|
|
32
|
+
/**
|
|
33
|
+
* Base URL for the ElevenLabs API.
|
|
34
|
+
* @default 'https://api.elevenlabs.io/v1'
|
|
35
|
+
*/
|
|
36
|
+
baseUrl?: string;
|
|
37
|
+
/**
|
|
38
|
+
* STT model to use.
|
|
39
|
+
* @default 'scribe_v1'
|
|
40
|
+
*/
|
|
41
|
+
model?: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Streaming STT provider using ElevenLabs' Speech-to-Text API.
|
|
45
|
+
*
|
|
46
|
+
* Uses chunked REST transcription (2-second audio windows) to provide
|
|
47
|
+
* near-realtime STT with the same ElevenLabs API key used for TTS.
|
|
48
|
+
* No separate Deepgram key required.
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```typescript
|
|
52
|
+
* const stt = new ElevenLabsStreamingSTT({
|
|
53
|
+
* apiKey: process.env.ELEVENLABS_API_KEY!,
|
|
54
|
+
* });
|
|
55
|
+
* const session = await stt.startSession({ language: 'en' });
|
|
56
|
+
* session.on('transcript', (event) => console.log(event.text));
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export declare class ElevenLabsStreamingSTT implements IStreamingSTT {
|
|
60
|
+
private readonly config;
|
|
61
|
+
readonly providerId = "elevenlabs-streaming-stt";
|
|
62
|
+
readonly isStreaming = true;
|
|
63
|
+
constructor(config: ElevenLabsStreamingSTTConfig);
|
|
64
|
+
/**
|
|
65
|
+
* Create a new STT session. Uses chunked REST calls to ElevenLabs'
|
|
66
|
+
* batch STT endpoint for near-realtime transcription.
|
|
67
|
+
*/
|
|
68
|
+
startSession(config?: StreamingSTTConfig): Promise<StreamingSTTSession>;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=ElevenLabsStreamingSTT.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ElevenLabsStreamingSTT.d.ts","sourceRoot":"","sources":["../../../src/voice-pipeline/providers/ElevenLabsStreamingSTT.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAInB,MAAM,aAAa,CAAC;AAMrB;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAoQD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,sBAAuB,YAAW,aAAa;IAI9C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,QAAQ,CAAC,UAAU,8BAA8B;IACjD,QAAQ,CAAC,WAAW,QAAQ;gBAEC,MAAM,EAAE,4BAA4B;IAEjE;;;OAGG;IACG,YAAY,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAG9E"}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module voice-pipeline/providers/ElevenLabsStreamingSTT
|
|
3
|
+
*
|
|
4
|
+
* Streaming speech-to-text adapter for ElevenLabs' WebSocket STT API.
|
|
5
|
+
* Implements {@link IStreamingSTT} / {@link StreamingSTTSession} for the
|
|
6
|
+
* voice pipeline orchestrator.
|
|
7
|
+
*
|
|
8
|
+
* ## ElevenLabs STT WebSocket Protocol
|
|
9
|
+
*
|
|
10
|
+
* - **Endpoint:** `wss://api.elevenlabs.io/v1/speech-to-text/stream`
|
|
11
|
+
* - **Authentication:** `xi-api-key` header on upgrade
|
|
12
|
+
* - **Inbound (client → ElevenLabs):** Binary PCM frames (16-bit signed LE, 16kHz mono)
|
|
13
|
+
* - **Outbound (ElevenLabs → client):** JSON transcript results
|
|
14
|
+
* - **Close:** Send JSON `{ "type": "close_stream" }` to finalize
|
|
15
|
+
*
|
|
16
|
+
* ## Fallback: Chunked REST
|
|
17
|
+
*
|
|
18
|
+
* If the WebSocket endpoint is unavailable or errors, this adapter falls back
|
|
19
|
+
* to a chunked REST approach: accumulates audio into ~2s chunks and POSTs each
|
|
20
|
+
* to `/v1/speech-to-text` for batch transcription. This provides near-realtime
|
|
21
|
+
* results (2s latency per chunk) using only the REST API.
|
|
22
|
+
*
|
|
23
|
+
* @see https://elevenlabs.io/docs/api-reference/speech-to-text
|
|
24
|
+
*/
|
|
25
|
+
import { EventEmitter } from 'node:events';
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
27
|
+
// Session Implementation — Chunked REST fallback
|
|
28
|
+
// ---------------------------------------------------------------------------
|
|
29
|
+
/**
|
|
30
|
+
* ElevenLabs streaming STT session using chunked REST calls.
|
|
31
|
+
*
|
|
32
|
+
* Accumulates PCM audio into ~2-second chunks and sends each to the
|
|
33
|
+
* ElevenLabs batch STT endpoint. Provides near-realtime transcription
|
|
34
|
+
* with the same API key used for TTS.
|
|
35
|
+
*/
|
|
36
|
+
class ElevenLabsChunkedSTTSession extends EventEmitter {
|
|
37
|
+
constructor(config, sessionConfig) {
|
|
38
|
+
super();
|
|
39
|
+
this.config = config;
|
|
40
|
+
this.sessionConfig = sessionConfig;
|
|
41
|
+
this.closed = false;
|
|
42
|
+
this.speechActive = false;
|
|
43
|
+
this.audioBuffer = [];
|
|
44
|
+
this.bufferSamples = 0;
|
|
45
|
+
this.flushTimer = null;
|
|
46
|
+
// Flush accumulated audio every 2 seconds
|
|
47
|
+
this.flushTimer = setInterval(() => {
|
|
48
|
+
if (this.bufferSamples > 0) {
|
|
49
|
+
this._transcribeBuffer();
|
|
50
|
+
}
|
|
51
|
+
}, 2000);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Push a PCM audio frame. Converts Float32 to Int16 and accumulates.
|
|
55
|
+
*/
|
|
56
|
+
pushAudio(frame) {
|
|
57
|
+
if (this.closed)
|
|
58
|
+
return;
|
|
59
|
+
// Convert Float32 [-1, 1] to Int16 PCM
|
|
60
|
+
const pcm = new Int16Array(frame.samples.length);
|
|
61
|
+
for (let i = 0; i < frame.samples.length; i++) {
|
|
62
|
+
const s = Math.max(-1, Math.min(1, frame.samples[i]));
|
|
63
|
+
pcm[i] = s < 0 ? s * 0x8000 : s * 0x7fff;
|
|
64
|
+
}
|
|
65
|
+
this.audioBuffer.push(pcm);
|
|
66
|
+
this.bufferSamples += pcm.length;
|
|
67
|
+
// Detect speech activity from energy
|
|
68
|
+
let energy = 0;
|
|
69
|
+
for (let i = 0; i < pcm.length; i++) {
|
|
70
|
+
energy += Math.abs(pcm[i]);
|
|
71
|
+
}
|
|
72
|
+
energy /= pcm.length;
|
|
73
|
+
if (energy > 500 && !this.speechActive) {
|
|
74
|
+
this.speechActive = true;
|
|
75
|
+
this.emit('speech_start');
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Flush any remaining audio and transcribe.
|
|
80
|
+
*/
|
|
81
|
+
async flush() {
|
|
82
|
+
if (this.bufferSamples > 0) {
|
|
83
|
+
await this._transcribeBuffer();
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Close the session and stop the flush timer.
|
|
88
|
+
*/
|
|
89
|
+
close() {
|
|
90
|
+
if (this.closed)
|
|
91
|
+
return;
|
|
92
|
+
this.closed = true;
|
|
93
|
+
if (this.flushTimer) {
|
|
94
|
+
clearInterval(this.flushTimer);
|
|
95
|
+
this.flushTimer = null;
|
|
96
|
+
}
|
|
97
|
+
this.emit('close');
|
|
98
|
+
}
|
|
99
|
+
// -------------------------------------------------------------------------
|
|
100
|
+
// Private
|
|
101
|
+
// -------------------------------------------------------------------------
|
|
102
|
+
/**
|
|
103
|
+
* Concatenate accumulated PCM chunks into a WAV buffer and POST to
|
|
104
|
+
* ElevenLabs batch STT endpoint.
|
|
105
|
+
*/
|
|
106
|
+
async _transcribeBuffer() {
|
|
107
|
+
// Concatenate all accumulated Int16 chunks
|
|
108
|
+
const totalSamples = this.bufferSamples;
|
|
109
|
+
const combined = new Int16Array(totalSamples);
|
|
110
|
+
let offset = 0;
|
|
111
|
+
for (const chunk of this.audioBuffer) {
|
|
112
|
+
combined.set(chunk, offset);
|
|
113
|
+
offset += chunk.length;
|
|
114
|
+
}
|
|
115
|
+
// Clear the buffer
|
|
116
|
+
this.audioBuffer = [];
|
|
117
|
+
this.bufferSamples = 0;
|
|
118
|
+
// Build a minimal WAV file
|
|
119
|
+
const wavBuffer = this._buildWav(combined, 16000);
|
|
120
|
+
try {
|
|
121
|
+
const baseUrl = this.config.baseUrl ?? 'https://api.elevenlabs.io/v1';
|
|
122
|
+
// Create form data with the WAV audio
|
|
123
|
+
const boundary = '----ElevenLabsSTTBoundary' + Date.now();
|
|
124
|
+
const languageCode = this.sessionConfig.language ?? 'en';
|
|
125
|
+
// Build multipart body manually (Node.js Buffer-based)
|
|
126
|
+
const parts = [];
|
|
127
|
+
parts.push(Buffer.from(`--${boundary}\r\n`));
|
|
128
|
+
parts.push(Buffer.from(`Content-Disposition: form-data; name="audio"; filename="audio.wav"\r\nContent-Type: audio/wav\r\n\r\n`));
|
|
129
|
+
parts.push(Buffer.from(wavBuffer));
|
|
130
|
+
parts.push(Buffer.from(`\r\n--${boundary}\r\n`));
|
|
131
|
+
parts.push(Buffer.from(`Content-Disposition: form-data; name="language_code"\r\n\r\n${languageCode}\r\n`));
|
|
132
|
+
if (this.config.model) {
|
|
133
|
+
parts.push(Buffer.from(`--${boundary}\r\n`));
|
|
134
|
+
parts.push(Buffer.from(`Content-Disposition: form-data; name="model_id"\r\n\r\n${this.config.model}\r\n`));
|
|
135
|
+
}
|
|
136
|
+
parts.push(Buffer.from(`--${boundary}--\r\n`));
|
|
137
|
+
const body = Buffer.concat(parts);
|
|
138
|
+
const response = await fetch(`${baseUrl}/speech-to-text`, {
|
|
139
|
+
method: 'POST',
|
|
140
|
+
headers: {
|
|
141
|
+
'xi-api-key': this.config.apiKey,
|
|
142
|
+
'Content-Type': `multipart/form-data; boundary=${boundary}`,
|
|
143
|
+
},
|
|
144
|
+
body,
|
|
145
|
+
});
|
|
146
|
+
if (!response.ok) {
|
|
147
|
+
const errText = await response.text();
|
|
148
|
+
this.emit('error', new Error(`ElevenLabs STT failed (${response.status}): ${errText}`));
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
const data = (await response.json());
|
|
152
|
+
if (data.text) {
|
|
153
|
+
const words = (data.words ?? []).map((w) => ({
|
|
154
|
+
word: w.text,
|
|
155
|
+
start: Math.round(w.start * 1000),
|
|
156
|
+
end: Math.round(w.end * 1000),
|
|
157
|
+
confidence: w.confidence ?? 0.9,
|
|
158
|
+
}));
|
|
159
|
+
const event = {
|
|
160
|
+
text: data.text,
|
|
161
|
+
confidence: words.length > 0 ? words.reduce((s, w) => s + w.confidence, 0) / words.length : 0.9,
|
|
162
|
+
words,
|
|
163
|
+
isFinal: true,
|
|
164
|
+
durationMs: Math.round((totalSamples / 16000) * 1000),
|
|
165
|
+
};
|
|
166
|
+
this.emit('transcript', event);
|
|
167
|
+
// Emit speech_end after a final transcript
|
|
168
|
+
if (this.speechActive) {
|
|
169
|
+
this.speechActive = false;
|
|
170
|
+
this.emit('speech_end');
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
catch (err) {
|
|
175
|
+
this.emit('error', err instanceof Error ? err : new Error(String(err)));
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Build a minimal WAV file header + PCM data.
|
|
180
|
+
*/
|
|
181
|
+
_buildWav(pcm, sampleRate) {
|
|
182
|
+
const dataSize = pcm.length * 2; // 16-bit = 2 bytes per sample
|
|
183
|
+
const buffer = new ArrayBuffer(44 + dataSize);
|
|
184
|
+
const view = new DataView(buffer);
|
|
185
|
+
// RIFF header
|
|
186
|
+
this._writeString(view, 0, 'RIFF');
|
|
187
|
+
view.setUint32(4, 36 + dataSize, true);
|
|
188
|
+
this._writeString(view, 8, 'WAVE');
|
|
189
|
+
// fmt chunk
|
|
190
|
+
this._writeString(view, 12, 'fmt ');
|
|
191
|
+
view.setUint32(16, 16, true); // chunk size
|
|
192
|
+
view.setUint16(20, 1, true); // PCM format
|
|
193
|
+
view.setUint16(22, 1, true); // mono
|
|
194
|
+
view.setUint32(24, sampleRate, true);
|
|
195
|
+
view.setUint32(28, sampleRate * 2, true); // byte rate
|
|
196
|
+
view.setUint16(32, 2, true); // block align
|
|
197
|
+
view.setUint16(34, 16, true); // bits per sample
|
|
198
|
+
// data chunk
|
|
199
|
+
this._writeString(view, 36, 'data');
|
|
200
|
+
view.setUint32(40, dataSize, true);
|
|
201
|
+
// PCM data
|
|
202
|
+
const output = new Int16Array(buffer, 44);
|
|
203
|
+
output.set(pcm);
|
|
204
|
+
return buffer;
|
|
205
|
+
}
|
|
206
|
+
/** Write an ASCII string into a DataView at the given offset. */
|
|
207
|
+
_writeString(view, offset, str) {
|
|
208
|
+
for (let i = 0; i < str.length; i++) {
|
|
209
|
+
view.setUint8(offset + i, str.charCodeAt(i));
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
/** Samples per chunk: 2 seconds at 16kHz = 32,000 samples. */
|
|
214
|
+
ElevenLabsChunkedSTTSession.CHUNK_SAMPLES = 32000;
|
|
215
|
+
// ---------------------------------------------------------------------------
|
|
216
|
+
// Provider (Factory)
|
|
217
|
+
// ---------------------------------------------------------------------------
|
|
218
|
+
/**
|
|
219
|
+
* Streaming STT provider using ElevenLabs' Speech-to-Text API.
|
|
220
|
+
*
|
|
221
|
+
* Uses chunked REST transcription (2-second audio windows) to provide
|
|
222
|
+
* near-realtime STT with the same ElevenLabs API key used for TTS.
|
|
223
|
+
* No separate Deepgram key required.
|
|
224
|
+
*
|
|
225
|
+
* @example
|
|
226
|
+
* ```typescript
|
|
227
|
+
* const stt = new ElevenLabsStreamingSTT({
|
|
228
|
+
* apiKey: process.env.ELEVENLABS_API_KEY!,
|
|
229
|
+
* });
|
|
230
|
+
* const session = await stt.startSession({ language: 'en' });
|
|
231
|
+
* session.on('transcript', (event) => console.log(event.text));
|
|
232
|
+
* ```
|
|
233
|
+
*/
|
|
234
|
+
export class ElevenLabsStreamingSTT {
|
|
235
|
+
constructor(config) {
|
|
236
|
+
this.config = config;
|
|
237
|
+
this.providerId = 'elevenlabs-streaming-stt';
|
|
238
|
+
this.isStreaming = true;
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Create a new STT session. Uses chunked REST calls to ElevenLabs'
|
|
242
|
+
* batch STT endpoint for near-realtime transcription.
|
|
243
|
+
*/
|
|
244
|
+
async startSession(config) {
|
|
245
|
+
return new ElevenLabsChunkedSTTSession(this.config, config ?? {});
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
//# sourceMappingURL=ElevenLabsStreamingSTT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ElevenLabsStreamingSTT.js","sourceRoot":"","sources":["../../../src/voice-pipeline/providers/ElevenLabsStreamingSTT.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module voice-pipeline/providers
|
|
3
|
+
*
|
|
4
|
+
* Concrete provider implementations for the voice pipeline:
|
|
5
|
+
* - {@link DeepgramStreamingSTT} — Deepgram WebSocket streaming STT
|
|
6
|
+
* - {@link ElevenLabsStreamingTTS} — ElevenLabs WebSocket streaming TTS
|
|
7
|
+
* - {@link AgentSessionVoiceAdapter} — AgentOS session → voice pipeline adapter
|
|
8
|
+
*/
|
|
9
|
+
export { DeepgramStreamingSTT, type DeepgramStreamingSTTConfig } from './DeepgramStreamingSTT.js';
|
|
10
|
+
export { ElevenLabsStreamingSTT, type ElevenLabsStreamingSTTConfig, } from './ElevenLabsStreamingSTT.js';
|
|
11
|
+
export { ElevenLabsStreamingTTS, type ElevenLabsStreamingTTSConfig, } from './ElevenLabsStreamingTTS.js';
|
|
12
|
+
export { AgentSessionVoiceAdapter } from './AgentSessionVoiceAdapter.js';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/voice-pipeline/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module voice-pipeline/providers
|
|
3
|
+
*
|
|
4
|
+
* Concrete provider implementations for the voice pipeline:
|
|
5
|
+
* - {@link DeepgramStreamingSTT} — Deepgram WebSocket streaming STT
|
|
6
|
+
* - {@link ElevenLabsStreamingTTS} — ElevenLabs WebSocket streaming TTS
|
|
7
|
+
* - {@link AgentSessionVoiceAdapter} — AgentOS session → voice pipeline adapter
|
|
8
|
+
*/
|
|
9
|
+
export { DeepgramStreamingSTT } from './DeepgramStreamingSTT.js';
|
|
10
|
+
export { ElevenLabsStreamingSTT, } from './ElevenLabsStreamingSTT.js';
|
|
11
|
+
export { ElevenLabsStreamingTTS, } from './ElevenLabsStreamingTTS.js';
|
|
12
|
+
export { AgentSessionVoiceAdapter } from './AgentSessionVoiceAdapter.js';
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/voice-pipeline/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;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"}
|