@framers/agentos 0.1.75 → 0.1.77
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +148 -38
- package/dist/api/agent.d.ts +13 -3
- package/dist/api/agent.d.ts.map +1 -1
- package/dist/api/agent.js +1 -0
- package/dist/api/agent.js.map +1 -1
- package/dist/api/generateImage.d.ts +11 -2
- package/dist/api/generateImage.d.ts.map +1 -1
- package/dist/api/generateImage.js +2 -2
- package/dist/api/generateImage.js.map +1 -1
- package/dist/api/generateText.d.ts +13 -3
- package/dist/api/generateText.d.ts.map +1 -1
- package/dist/api/generateText.js +2 -2
- package/dist/api/generateText.js.map +1 -1
- package/dist/api/model.d.ts +53 -0
- package/dist/api/model.d.ts.map +1 -1
- package/dist/api/model.js +58 -0
- package/dist/api/model.js.map +1 -1
- package/dist/api/provider-defaults.d.ts +40 -0
- package/dist/api/provider-defaults.d.ts.map +1 -0
- package/dist/api/provider-defaults.js +73 -0
- package/dist/api/provider-defaults.js.map +1 -0
- package/dist/api/streamText.js +2 -2
- package/dist/api/streamText.js.map +1 -1
- package/dist/core/agency/AgentCommunicationBus.d.ts +1 -0
- package/dist/core/agency/AgentCommunicationBus.d.ts.map +1 -1
- package/dist/core/agency/AgentCommunicationBus.js +62 -8
- package/dist/core/agency/AgentCommunicationBus.js.map +1 -1
- package/dist/core/agency/IAgentCommunicationBus.d.ts +1 -1
- package/dist/core/agency/IAgentCommunicationBus.d.ts.map +1 -1
- package/dist/orchestration/runtime/LoopController.d.ts +10 -10
- package/dist/orchestration/runtime/LoopController.d.ts.map +1 -1
- package/dist/orchestration/runtime/LoopController.js +1 -1
- package/dist/orchestration/runtime/LoopController.js.map +1 -1
- package/dist/orchestration/runtime/index.d.ts +1 -1
- package/dist/orchestration/runtime/index.d.ts.map +1 -1
- package/dist/orchestration/runtime/index.js.map +1 -1
- package/dist/speech/FallbackProxy.d.ts +104 -0
- package/dist/speech/FallbackProxy.d.ts.map +1 -0
- package/dist/speech/FallbackProxy.js +151 -0
- package/dist/speech/FallbackProxy.js.map +1 -0
- package/dist/speech/SpeechProviderResolver.d.ts +103 -0
- package/dist/speech/SpeechProviderResolver.d.ts.map +1 -0
- package/dist/speech/SpeechProviderResolver.js +256 -0
- package/dist/speech/SpeechProviderResolver.js.map +1 -0
- package/dist/speech/SpeechRuntime.d.ts +23 -1
- package/dist/speech/SpeechRuntime.d.ts.map +1 -1
- package/dist/speech/SpeechRuntime.js +82 -8
- package/dist/speech/SpeechRuntime.js.map +1 -1
- package/dist/speech/index.d.ts +6 -0
- package/dist/speech/index.d.ts.map +1 -1
- package/dist/speech/index.js +6 -0
- package/dist/speech/index.js.map +1 -1
- package/dist/speech/providerCatalog.d.ts.map +1 -1
- package/dist/speech/providerCatalog.js +15 -1
- package/dist/speech/providerCatalog.js.map +1 -1
- package/dist/speech/providers/AssemblyAISTTProvider.d.ts +49 -0
- package/dist/speech/providers/AssemblyAISTTProvider.d.ts.map +1 -0
- package/dist/speech/providers/AssemblyAISTTProvider.js +151 -0
- package/dist/speech/providers/AssemblyAISTTProvider.js.map +1 -0
- package/dist/speech/providers/AzureSpeechSTTProvider.d.ts +48 -0
- package/dist/speech/providers/AzureSpeechSTTProvider.d.ts.map +1 -0
- package/dist/speech/providers/AzureSpeechSTTProvider.js +90 -0
- package/dist/speech/providers/AzureSpeechSTTProvider.js.map +1 -0
- package/dist/speech/providers/AzureSpeechTTSProvider.d.ts +60 -0
- package/dist/speech/providers/AzureSpeechTTSProvider.d.ts.map +1 -0
- package/dist/speech/providers/AzureSpeechTTSProvider.js +127 -0
- package/dist/speech/providers/AzureSpeechTTSProvider.js.map +1 -0
- package/dist/speech/providers/DeepgramBatchSTTProvider.d.ts +55 -0
- package/dist/speech/providers/DeepgramBatchSTTProvider.d.ts.map +1 -0
- package/dist/speech/providers/DeepgramBatchSTTProvider.js +102 -0
- package/dist/speech/providers/DeepgramBatchSTTProvider.js.map +1 -0
- package/dist/speech/types.d.ts +35 -0
- package/dist/speech/types.d.ts.map +1 -1
- package/dist/voice/CallManager.d.ts +1 -1
- package/dist/voice/CallManager.d.ts.map +1 -1
- package/dist/voice/CallManager.js +9 -0
- package/dist/voice/CallManager.js.map +1 -1
- package/dist/voice/MediaStreamParser.d.ts +83 -0
- package/dist/voice/MediaStreamParser.d.ts.map +1 -0
- package/dist/voice/MediaStreamParser.js +2 -0
- package/dist/voice/MediaStreamParser.js.map +1 -0
- package/dist/voice/TelephonyStreamTransport.d.ts +112 -0
- package/dist/voice/TelephonyStreamTransport.d.ts.map +1 -0
- package/dist/voice/TelephonyStreamTransport.js +208 -0
- package/dist/voice/TelephonyStreamTransport.js.map +1 -0
- package/dist/voice/index.d.ts +10 -0
- package/dist/voice/index.d.ts.map +1 -1
- package/dist/voice/index.js +11 -0
- package/dist/voice/index.js.map +1 -1
- package/dist/voice/parsers/PlivoMediaStreamParser.d.ts +43 -0
- package/dist/voice/parsers/PlivoMediaStreamParser.d.ts.map +1 -0
- package/dist/voice/parsers/PlivoMediaStreamParser.js +92 -0
- package/dist/voice/parsers/PlivoMediaStreamParser.js.map +1 -0
- package/dist/voice/parsers/TelnyxMediaStreamParser.d.ts +51 -0
- package/dist/voice/parsers/TelnyxMediaStreamParser.d.ts.map +1 -0
- package/dist/voice/parsers/TelnyxMediaStreamParser.js +103 -0
- package/dist/voice/parsers/TelnyxMediaStreamParser.js.map +1 -0
- package/dist/voice/parsers/TwilioMediaStreamParser.d.ts +50 -0
- package/dist/voice/parsers/TwilioMediaStreamParser.d.ts.map +1 -0
- package/dist/voice/parsers/TwilioMediaStreamParser.js +144 -0
- package/dist/voice/parsers/TwilioMediaStreamParser.js.map +1 -0
- package/dist/voice/providers/plivo.d.ts +77 -0
- package/dist/voice/providers/plivo.d.ts.map +1 -0
- package/dist/voice/providers/plivo.js +180 -0
- package/dist/voice/providers/plivo.js.map +1 -0
- package/dist/voice/providers/telnyx.d.ts +93 -0
- package/dist/voice/providers/telnyx.d.ts.map +1 -0
- package/dist/voice/providers/telnyx.js +193 -0
- package/dist/voice/providers/telnyx.js.map +1 -0
- package/dist/voice/providers/twilio.d.ts +79 -0
- package/dist/voice/providers/twilio.d.ts.map +1 -0
- package/dist/voice/providers/twilio.js +191 -0
- package/dist/voice/providers/twilio.js.map +1 -0
- package/dist/voice/twiml.d.ts +69 -0
- package/dist/voice/twiml.d.ts.map +1 -0
- package/dist/voice/twiml.js +92 -0
- package/dist/voice/twiml.js.map +1 -0
- package/dist/voice/types.d.ts +9 -1
- package/dist/voice/types.d.ts.map +1 -1
- package/dist/voice-pipeline/AcousticEndpointDetector.d.ts +90 -0
- package/dist/voice-pipeline/AcousticEndpointDetector.d.ts.map +1 -0
- package/dist/voice-pipeline/AcousticEndpointDetector.js +123 -0
- package/dist/voice-pipeline/AcousticEndpointDetector.js.map +1 -0
- package/dist/voice-pipeline/HardCutBargeinHandler.d.ts +67 -0
- package/dist/voice-pipeline/HardCutBargeinHandler.d.ts.map +1 -0
- package/dist/voice-pipeline/HardCutBargeinHandler.js +55 -0
- package/dist/voice-pipeline/HardCutBargeinHandler.js.map +1 -0
- package/dist/voice-pipeline/HeuristicEndpointDetector.d.ts +128 -0
- package/dist/voice-pipeline/HeuristicEndpointDetector.d.ts.map +1 -0
- package/dist/voice-pipeline/HeuristicEndpointDetector.js +240 -0
- package/dist/voice-pipeline/HeuristicEndpointDetector.js.map +1 -0
- package/dist/voice-pipeline/SoftFadeBargeinHandler.d.ts +96 -0
- package/dist/voice-pipeline/SoftFadeBargeinHandler.d.ts.map +1 -0
- package/dist/voice-pipeline/SoftFadeBargeinHandler.js +69 -0
- package/dist/voice-pipeline/SoftFadeBargeinHandler.js.map +1 -0
- package/dist/voice-pipeline/VoicePipelineOrchestrator.d.ts +122 -0
- package/dist/voice-pipeline/VoicePipelineOrchestrator.d.ts.map +1 -0
- package/dist/voice-pipeline/VoicePipelineOrchestrator.js +317 -0
- package/dist/voice-pipeline/VoicePipelineOrchestrator.js.map +1 -0
- package/dist/voice-pipeline/WebSocketStreamTransport.d.ts +148 -0
- package/dist/voice-pipeline/WebSocketStreamTransport.d.ts.map +1 -0
- package/dist/voice-pipeline/WebSocketStreamTransport.js +207 -0
- package/dist/voice-pipeline/WebSocketStreamTransport.js.map +1 -0
- package/dist/voice-pipeline/index.d.ts +13 -0
- package/dist/voice-pipeline/index.d.ts.map +1 -0
- package/dist/voice-pipeline/index.js +13 -0
- package/dist/voice-pipeline/index.js.map +1 -0
- package/dist/voice-pipeline/types.d.ts +905 -0
- package/dist/voice-pipeline/types.d.ts.map +1 -0
- package/dist/voice-pipeline/types.js +23 -0
- package/dist/voice-pipeline/types.js.map +1 -0
- package/package.json +6 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CallManager.js","sourceRoot":"","sources":["../../src/voice/CallManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CallManager.js","sourceRoot":"","sources":["../../src/voice/CallManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interface for parsing provider-specific WebSocket media stream messages.
|
|
3
|
+
*
|
|
4
|
+
* Each telephony provider (Twilio, Telnyx, Plivo, etc.) sends audio data
|
|
5
|
+
* over WebSocket in its own proprietary JSON or binary format. Implementations
|
|
6
|
+
* of this interface normalise the provider wire format into the shared
|
|
7
|
+
* {@link MediaStreamIncoming} discriminated union so the rest of the voice
|
|
8
|
+
* pipeline never needs to know which provider is in use.
|
|
9
|
+
*/
|
|
10
|
+
export interface MediaStreamParser {
|
|
11
|
+
/**
|
|
12
|
+
* Parse a raw WebSocket message received from the telephony provider.
|
|
13
|
+
*
|
|
14
|
+
* @param data - Raw message bytes or string as delivered by the WS frame.
|
|
15
|
+
* @returns A normalised {@link MediaStreamIncoming} event, or `null` if the
|
|
16
|
+
* message should be silently ignored (e.g. unknown event type, outbound
|
|
17
|
+
* audio track, heartbeat frames, etc.).
|
|
18
|
+
*/
|
|
19
|
+
parseIncoming(data: Buffer | string): MediaStreamIncoming | null;
|
|
20
|
+
/**
|
|
21
|
+
* Encode mu-law audio for transmission back to the telephony provider.
|
|
22
|
+
*
|
|
23
|
+
* @param audio - Raw mu-law PCM bytes to send to the caller.
|
|
24
|
+
* @param streamSid - Provider stream identifier required by some formats.
|
|
25
|
+
* @returns A `Buffer` (for providers that accept raw binary) or a JSON
|
|
26
|
+
* `string` (for providers that wrap audio in an envelope).
|
|
27
|
+
*/
|
|
28
|
+
formatOutgoing(audio: Buffer, streamSid: string): Buffer | string;
|
|
29
|
+
/**
|
|
30
|
+
* Generate the initial connection acknowledgment message, if the provider
|
|
31
|
+
* requires one immediately after the WebSocket handshake.
|
|
32
|
+
*
|
|
33
|
+
* @param streamSid - The stream identifier established during the handshake.
|
|
34
|
+
* @returns A JSON string to send as the first WS message, or `null` if the
|
|
35
|
+
* provider does not need an explicit acknowledgment.
|
|
36
|
+
*/
|
|
37
|
+
formatConnected?(streamSid: string): string | null;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Discriminated union of all normalised events that can arrive on a media
|
|
41
|
+
* stream WebSocket connection, regardless of the underlying telephony provider.
|
|
42
|
+
*/
|
|
43
|
+
export type MediaStreamIncoming = {
|
|
44
|
+
/** Inbound audio chunk encoded as mu-law 8-bit 8 kHz PCM. */
|
|
45
|
+
type: 'audio';
|
|
46
|
+
/** Raw mu-law bytes decoded from whatever encoding the provider uses. */
|
|
47
|
+
payload: Buffer;
|
|
48
|
+
/** Provider-assigned stream identifier. */
|
|
49
|
+
streamSid: string;
|
|
50
|
+
/** Monotonically increasing sequence number, when provided. */
|
|
51
|
+
sequenceNumber?: number;
|
|
52
|
+
} | {
|
|
53
|
+
/** DTMF tone detected by the provider during the call. */
|
|
54
|
+
type: 'dtmf';
|
|
55
|
+
/** Single character digit pressed by the caller (0-9, *, #, A-D). */
|
|
56
|
+
digit: string;
|
|
57
|
+
/** Provider-assigned stream identifier. */
|
|
58
|
+
streamSid: string;
|
|
59
|
+
/** Duration the key was held, in milliseconds, when reported. */
|
|
60
|
+
durationMs?: number;
|
|
61
|
+
} | {
|
|
62
|
+
/** Stream successfully started; metadata about the call is available. */
|
|
63
|
+
type: 'start';
|
|
64
|
+
/** Provider-assigned stream identifier. */
|
|
65
|
+
streamSid: string;
|
|
66
|
+
/** Provider call-leg identifier (e.g. Twilio CallSid, Telnyx call_control_id). */
|
|
67
|
+
callSid: string;
|
|
68
|
+
/** Additional provider-specific metadata attached to the start event. */
|
|
69
|
+
metadata?: Record<string, unknown>;
|
|
70
|
+
} | {
|
|
71
|
+
/** Call ended or stream was explicitly stopped. */
|
|
72
|
+
type: 'stop';
|
|
73
|
+
/** Provider-assigned stream identifier. */
|
|
74
|
+
streamSid: string;
|
|
75
|
+
} | {
|
|
76
|
+
/** Named marker injected into the audio stream for synchronisation. */
|
|
77
|
+
type: 'mark';
|
|
78
|
+
/** The label assigned to this mark point. */
|
|
79
|
+
name: string;
|
|
80
|
+
/** Provider-assigned stream identifier. */
|
|
81
|
+
streamSid: string;
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=MediaStreamParser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaStreamParser.d.ts","sourceRoot":"","sources":["../../src/voice/MediaStreamParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;OAOG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAAC;IAEjE;;;;;;;OAOG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAElE;;;;;;;OAOG;IACH,eAAe,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CACpD;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IACE,6DAA6D;IAC7D,IAAI,EAAE,OAAO,CAAC;IACd,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GACD;IACE,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACD;IACE,yEAAyE;IACzE,IAAI,EAAE,OAAO,CAAC;IACd,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GACD;IACE,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaStreamParser.js","sourceRoot":"","sources":["../../src/voice/MediaStreamParser.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview TelephonyStreamTransport — bridges a telephony WebSocket media
|
|
3
|
+
* stream to the AgentOS streaming voice pipeline.
|
|
4
|
+
*
|
|
5
|
+
* Incoming mu-law 8 kHz audio from the phone network is decoded to Int16 PCM,
|
|
6
|
+
* resampled to the pipeline's preferred sample rate, normalised to Float32, and
|
|
7
|
+
* emitted as {@link AudioFrame} events. Outbound {@link EncodedAudioChunk}
|
|
8
|
+
* payloads are resampled from the pipeline's sample rate back to 8 kHz, encoded
|
|
9
|
+
* to mu-law, and forwarded through the provider-specific {@link MediaStreamParser}.
|
|
10
|
+
*
|
|
11
|
+
* @module @framers/agentos/voice/TelephonyStreamTransport
|
|
12
|
+
*/
|
|
13
|
+
import { EventEmitter } from 'node:events';
|
|
14
|
+
import type { MediaStreamParser } from './MediaStreamParser.js';
|
|
15
|
+
import type { EncodedAudioChunk, IStreamTransport, ServerTextMessage } from '../voice-pipeline/types.js';
|
|
16
|
+
/**
|
|
17
|
+
* Optional construction-time configuration for {@link TelephonyStreamTransport}.
|
|
18
|
+
*/
|
|
19
|
+
export interface TelephonyStreamTransportConfig {
|
|
20
|
+
/**
|
|
21
|
+
* Sample rate the pipeline expects for inbound {@link AudioFrame} events.
|
|
22
|
+
* Incoming 8 kHz telephony audio is upsampled to this rate.
|
|
23
|
+
* @defaultValue 16000
|
|
24
|
+
*/
|
|
25
|
+
outputSampleRate?: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Adapts a telephony provider WebSocket media stream to the
|
|
29
|
+
* {@link IStreamTransport} interface consumed by the AgentOS voice pipeline.
|
|
30
|
+
*
|
|
31
|
+
* ## Inbound path (phone → pipeline)
|
|
32
|
+
* 1. Provider WebSocket frames arrive as raw `Buffer` or JSON `string`.
|
|
33
|
+
* 2. {@link MediaStreamParser.parseIncoming} normalises them to
|
|
34
|
+
* {@link MediaStreamIncoming} events.
|
|
35
|
+
* 3. `'audio'` events: mu-law 8 kHz → Int16 PCM → resample → Float32 → `'audio'` emit.
|
|
36
|
+
* 4. `'dtmf'` / `'mark'` events are re-emitted as-is for higher-layer handling.
|
|
37
|
+
* 5. `'start'` transitions the transport to `'open'` and sends the optional
|
|
38
|
+
* connection acknowledgment from the parser.
|
|
39
|
+
* 6. `'stop'` or WebSocket close transitions to `'closed'` and emits `'close'`.
|
|
40
|
+
*
|
|
41
|
+
* ## Outbound path (pipeline → phone)
|
|
42
|
+
* 1. {@link sendAudio} receives an {@link EncodedAudioChunk} (PCM Int16 format assumed).
|
|
43
|
+
* 2. Chunk is resampled from `chunk.sampleRate` → 8 kHz via linear interpolation.
|
|
44
|
+
* 3. Resampled PCM is mu-law encoded via {@link convertPcmToMulaw8k}.
|
|
45
|
+
* 4. {@link MediaStreamParser.formatOutgoing} wraps the bytes for the provider.
|
|
46
|
+
* 5. The formatted payload is sent over the WebSocket.
|
|
47
|
+
*
|
|
48
|
+
* Emits:
|
|
49
|
+
* - `'audio'` ({@link AudioFrame}) — inbound decoded audio for STT / VAD.
|
|
50
|
+
* - `'dtmf'` (`{ digit: string; durationMs?: number }`) — caller key-press.
|
|
51
|
+
* - `'mark'` (`{ name: string }`) — named stream marker.
|
|
52
|
+
* - `'close'` () — transport has been fully closed.
|
|
53
|
+
* - `'error'` (Error) — unrecoverable WebSocket or parsing error.
|
|
54
|
+
*/
|
|
55
|
+
export declare class TelephonyStreamTransport extends EventEmitter implements IStreamTransport {
|
|
56
|
+
private readonly ws;
|
|
57
|
+
private readonly parser;
|
|
58
|
+
/** Stable UUID for this transport connection. */
|
|
59
|
+
readonly id: string;
|
|
60
|
+
private _state;
|
|
61
|
+
/** Current connection lifecycle state. */
|
|
62
|
+
get state(): 'connecting' | 'open' | 'closing' | 'closed';
|
|
63
|
+
/** Provider-assigned stream identifier; populated on the 'start' event. */
|
|
64
|
+
private streamSid;
|
|
65
|
+
/** Target sample rate for emitted AudioFrames (pipeline input requirement). */
|
|
66
|
+
private readonly outputSampleRate;
|
|
67
|
+
/**
|
|
68
|
+
* @param ws - WebSocket-like object (must emit `'message'`, `'close'`, `'error'`
|
|
69
|
+
* and expose `send(data)` and `close(code?, reason?)` methods).
|
|
70
|
+
* @param parser - Provider-specific message parser/formatter.
|
|
71
|
+
* @param config - Optional configuration overrides.
|
|
72
|
+
*/
|
|
73
|
+
constructor(ws: any, // WebSocket-like; typed `any` to avoid hard dep on ws package
|
|
74
|
+
parser: MediaStreamParser, config?: TelephonyStreamTransportConfig);
|
|
75
|
+
/**
|
|
76
|
+
* Send synthesised audio to the caller.
|
|
77
|
+
*
|
|
78
|
+
* Assumes `chunk.format === 'pcm'` and that `chunk.audio` contains raw
|
|
79
|
+
* signed 16-bit little-endian PCM samples at `chunk.sampleRate`. The audio
|
|
80
|
+
* is resampled to 8 kHz, mu-law encoded, and forwarded via the parser.
|
|
81
|
+
*
|
|
82
|
+
* @param chunk - Encoded audio chunk from the TTS pipeline.
|
|
83
|
+
*/
|
|
84
|
+
sendAudio(chunk: EncodedAudioChunk): Promise<void>;
|
|
85
|
+
/**
|
|
86
|
+
* Send a JSON control message over the WebSocket.
|
|
87
|
+
*
|
|
88
|
+
* @param message - Server-to-client pipeline protocol message.
|
|
89
|
+
*/
|
|
90
|
+
sendControl(message: ServerTextMessage): Promise<void>;
|
|
91
|
+
/**
|
|
92
|
+
* Initiate graceful closure of the transport.
|
|
93
|
+
*
|
|
94
|
+
* @param code - Optional WebSocket close code (default 1000).
|
|
95
|
+
* @param reason - Optional human-readable close reason.
|
|
96
|
+
*/
|
|
97
|
+
close(code?: number, reason?: string): void;
|
|
98
|
+
/**
|
|
99
|
+
* Linear interpolation resampler for 16-bit signed PCM.
|
|
100
|
+
*
|
|
101
|
+
* Not studio-quality but sufficient for narrow-band voice telephony. The
|
|
102
|
+
* output length is computed as `round(input.length * toRate / fromRate)` to
|
|
103
|
+
* avoid cumulative rounding drift across many small frames.
|
|
104
|
+
*
|
|
105
|
+
* @param input - Source samples as a signed 16-bit integer array.
|
|
106
|
+
* @param fromRate - Sample rate of the input, in Hz.
|
|
107
|
+
* @param toRate - Desired sample rate of the output, in Hz.
|
|
108
|
+
* @returns A new Int16Array at `toRate`.
|
|
109
|
+
*/
|
|
110
|
+
private resample;
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=TelephonyStreamTransport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TelephonyStreamTransport.d.ts","sourceRoot":"","sources":["../../src/voice/TelephonyStreamTransport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,KAAK,EAEV,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AAMpC;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,wBAAyB,SAAQ,YAAa,YAAW,gBAAgB;IAoClF,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAhCzB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAgB;IAEnC,OAAO,CAAC,MAAM,CAA8D;IAE5E,0CAA0C;IAC1C,IAAI,KAAK,IAAI,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAExD;IAMD,2EAA2E;IAC3E,OAAO,CAAC,SAAS,CAAuB;IAExC,+EAA+E;IAC/E,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAM1C;;;;;OAKG;gBAEgB,EAAE,EAAE,GAAG,EAAE,8DAA8D;IACvE,MAAM,EAAE,iBAAiB,EAC1C,MAAM,CAAC,EAAE,8BAA8B;IA6EzC;;;;;;;;OAQG;IACG,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBxD;;;;OAIG;IACG,WAAW,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5D;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAS3C;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,QAAQ;CAkBjB"}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview TelephonyStreamTransport — bridges a telephony WebSocket media
|
|
3
|
+
* stream to the AgentOS streaming voice pipeline.
|
|
4
|
+
*
|
|
5
|
+
* Incoming mu-law 8 kHz audio from the phone network is decoded to Int16 PCM,
|
|
6
|
+
* resampled to the pipeline's preferred sample rate, normalised to Float32, and
|
|
7
|
+
* emitted as {@link AudioFrame} events. Outbound {@link EncodedAudioChunk}
|
|
8
|
+
* payloads are resampled from the pipeline's sample rate back to 8 kHz, encoded
|
|
9
|
+
* to mu-law, and forwarded through the provider-specific {@link MediaStreamParser}.
|
|
10
|
+
*
|
|
11
|
+
* @module @framers/agentos/voice/TelephonyStreamTransport
|
|
12
|
+
*/
|
|
13
|
+
import { EventEmitter } from 'node:events';
|
|
14
|
+
import { randomUUID } from 'node:crypto';
|
|
15
|
+
import { convertPcmToMulaw8k, convertMulawToPcm16 } from './telephony-audio.js';
|
|
16
|
+
/**
|
|
17
|
+
* Adapts a telephony provider WebSocket media stream to the
|
|
18
|
+
* {@link IStreamTransport} interface consumed by the AgentOS voice pipeline.
|
|
19
|
+
*
|
|
20
|
+
* ## Inbound path (phone → pipeline)
|
|
21
|
+
* 1. Provider WebSocket frames arrive as raw `Buffer` or JSON `string`.
|
|
22
|
+
* 2. {@link MediaStreamParser.parseIncoming} normalises them to
|
|
23
|
+
* {@link MediaStreamIncoming} events.
|
|
24
|
+
* 3. `'audio'` events: mu-law 8 kHz → Int16 PCM → resample → Float32 → `'audio'` emit.
|
|
25
|
+
* 4. `'dtmf'` / `'mark'` events are re-emitted as-is for higher-layer handling.
|
|
26
|
+
* 5. `'start'` transitions the transport to `'open'` and sends the optional
|
|
27
|
+
* connection acknowledgment from the parser.
|
|
28
|
+
* 6. `'stop'` or WebSocket close transitions to `'closed'` and emits `'close'`.
|
|
29
|
+
*
|
|
30
|
+
* ## Outbound path (pipeline → phone)
|
|
31
|
+
* 1. {@link sendAudio} receives an {@link EncodedAudioChunk} (PCM Int16 format assumed).
|
|
32
|
+
* 2. Chunk is resampled from `chunk.sampleRate` → 8 kHz via linear interpolation.
|
|
33
|
+
* 3. Resampled PCM is mu-law encoded via {@link convertPcmToMulaw8k}.
|
|
34
|
+
* 4. {@link MediaStreamParser.formatOutgoing} wraps the bytes for the provider.
|
|
35
|
+
* 5. The formatted payload is sent over the WebSocket.
|
|
36
|
+
*
|
|
37
|
+
* Emits:
|
|
38
|
+
* - `'audio'` ({@link AudioFrame}) — inbound decoded audio for STT / VAD.
|
|
39
|
+
* - `'dtmf'` (`{ digit: string; durationMs?: number }`) — caller key-press.
|
|
40
|
+
* - `'mark'` (`{ name: string }`) — named stream marker.
|
|
41
|
+
* - `'close'` () — transport has been fully closed.
|
|
42
|
+
* - `'error'` (Error) — unrecoverable WebSocket or parsing error.
|
|
43
|
+
*/
|
|
44
|
+
export class TelephonyStreamTransport extends EventEmitter {
|
|
45
|
+
/** Current connection lifecycle state. */
|
|
46
|
+
get state() {
|
|
47
|
+
return this._state;
|
|
48
|
+
}
|
|
49
|
+
// ---------------------------------------------------------------------------
|
|
50
|
+
// Constructor
|
|
51
|
+
// ---------------------------------------------------------------------------
|
|
52
|
+
/**
|
|
53
|
+
* @param ws - WebSocket-like object (must emit `'message'`, `'close'`, `'error'`
|
|
54
|
+
* and expose `send(data)` and `close(code?, reason?)` methods).
|
|
55
|
+
* @param parser - Provider-specific message parser/formatter.
|
|
56
|
+
* @param config - Optional configuration overrides.
|
|
57
|
+
*/
|
|
58
|
+
constructor(ws, // WebSocket-like; typed `any` to avoid hard dep on ws package
|
|
59
|
+
parser, config) {
|
|
60
|
+
super();
|
|
61
|
+
this.ws = ws;
|
|
62
|
+
this.parser = parser;
|
|
63
|
+
// ---------------------------------------------------------------------------
|
|
64
|
+
// IStreamTransport — identity & state
|
|
65
|
+
// ---------------------------------------------------------------------------
|
|
66
|
+
/** Stable UUID for this transport connection. */
|
|
67
|
+
this.id = randomUUID();
|
|
68
|
+
this._state = 'connecting';
|
|
69
|
+
// ---------------------------------------------------------------------------
|
|
70
|
+
// Private fields
|
|
71
|
+
// ---------------------------------------------------------------------------
|
|
72
|
+
/** Provider-assigned stream identifier; populated on the 'start' event. */
|
|
73
|
+
this.streamSid = null;
|
|
74
|
+
this.outputSampleRate = config?.outputSampleRate ?? 16000;
|
|
75
|
+
this.ws.on('message', (data) => {
|
|
76
|
+
const parsed = this.parser.parseIncoming(data);
|
|
77
|
+
if (!parsed)
|
|
78
|
+
return;
|
|
79
|
+
switch (parsed.type) {
|
|
80
|
+
case 'start': {
|
|
81
|
+
this.streamSid = parsed.streamSid;
|
|
82
|
+
this._state = 'open';
|
|
83
|
+
// Send connection acknowledgment if the provider requires one.
|
|
84
|
+
const connMsg = this.parser.formatConnected?.(parsed.streamSid);
|
|
85
|
+
if (connMsg)
|
|
86
|
+
this.ws.send(connMsg);
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
case 'audio': {
|
|
90
|
+
// mu-law 8 kHz → Int16 PCM buffer (2 bytes per sample).
|
|
91
|
+
const pcm16Buf = convertMulawToPcm16(parsed.payload);
|
|
92
|
+
// Convert Buffer to Int16Array (shared memory, no copy).
|
|
93
|
+
const int16 = new Int16Array(pcm16Buf.buffer, pcm16Buf.byteOffset, pcm16Buf.byteLength / 2);
|
|
94
|
+
// Resample 8 kHz → outputSampleRate.
|
|
95
|
+
const resampled = this.resample(int16, 8000, this.outputSampleRate);
|
|
96
|
+
// Normalise Int16 → Float32 [-1, 1].
|
|
97
|
+
const float32 = new Float32Array(resampled.length);
|
|
98
|
+
for (let i = 0; i < resampled.length; i++) {
|
|
99
|
+
float32[i] = resampled[i] / 32768;
|
|
100
|
+
}
|
|
101
|
+
const frame = {
|
|
102
|
+
samples: float32,
|
|
103
|
+
sampleRate: this.outputSampleRate,
|
|
104
|
+
timestamp: Date.now(),
|
|
105
|
+
};
|
|
106
|
+
this.emit('audio', frame);
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
case 'dtmf':
|
|
110
|
+
this.emit('dtmf', { digit: parsed.digit, durationMs: parsed.durationMs });
|
|
111
|
+
break;
|
|
112
|
+
case 'stop':
|
|
113
|
+
this._state = 'closed';
|
|
114
|
+
this.emit('close');
|
|
115
|
+
break;
|
|
116
|
+
case 'mark':
|
|
117
|
+
this.emit('mark', { name: parsed.name });
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
this.ws.on('close', () => {
|
|
122
|
+
if (this._state !== 'closed') {
|
|
123
|
+
this._state = 'closed';
|
|
124
|
+
this.emit('close');
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
this.ws.on('error', (err) => this.emit('error', err));
|
|
128
|
+
}
|
|
129
|
+
// ---------------------------------------------------------------------------
|
|
130
|
+
// IStreamTransport — outbound methods
|
|
131
|
+
// ---------------------------------------------------------------------------
|
|
132
|
+
/**
|
|
133
|
+
* Send synthesised audio to the caller.
|
|
134
|
+
*
|
|
135
|
+
* Assumes `chunk.format === 'pcm'` and that `chunk.audio` contains raw
|
|
136
|
+
* signed 16-bit little-endian PCM samples at `chunk.sampleRate`. The audio
|
|
137
|
+
* is resampled to 8 kHz, mu-law encoded, and forwarded via the parser.
|
|
138
|
+
*
|
|
139
|
+
* @param chunk - Encoded audio chunk from the TTS pipeline.
|
|
140
|
+
*/
|
|
141
|
+
async sendAudio(chunk) {
|
|
142
|
+
if (!this.streamSid || this._state !== 'open')
|
|
143
|
+
return;
|
|
144
|
+
// Interpret raw bytes as Int16 samples.
|
|
145
|
+
const int16 = new Int16Array(chunk.audio.buffer, chunk.audio.byteOffset, chunk.audio.byteLength / 2);
|
|
146
|
+
// Resample to 8 kHz, write into a Buffer for convertPcmToMulaw8k.
|
|
147
|
+
const resampled8k = this.resample(int16, chunk.sampleRate, 8000);
|
|
148
|
+
const pcm8kBuf = Buffer.from(resampled8k.buffer, resampled8k.byteOffset, resampled8k.byteLength);
|
|
149
|
+
// Encode to mu-law. convertPcmToMulaw8k already handles resampling, but
|
|
150
|
+
// we pre-resample here to avoid a second pass; pass sampleRate=8000 so
|
|
151
|
+
// the function's internal resampler is a no-op.
|
|
152
|
+
const mulaw = convertPcmToMulaw8k(pcm8kBuf, 8000);
|
|
153
|
+
const formatted = this.parser.formatOutgoing(mulaw, this.streamSid);
|
|
154
|
+
this.ws.send(formatted);
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Send a JSON control message over the WebSocket.
|
|
158
|
+
*
|
|
159
|
+
* @param message - Server-to-client pipeline protocol message.
|
|
160
|
+
*/
|
|
161
|
+
async sendControl(message) {
|
|
162
|
+
if (this._state !== 'open')
|
|
163
|
+
return;
|
|
164
|
+
this.ws.send(JSON.stringify(message));
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Initiate graceful closure of the transport.
|
|
168
|
+
*
|
|
169
|
+
* @param code - Optional WebSocket close code (default 1000).
|
|
170
|
+
* @param reason - Optional human-readable close reason.
|
|
171
|
+
*/
|
|
172
|
+
close(code, reason) {
|
|
173
|
+
this._state = 'closing';
|
|
174
|
+
this.ws.close(code, reason);
|
|
175
|
+
}
|
|
176
|
+
// ---------------------------------------------------------------------------
|
|
177
|
+
// Private helpers
|
|
178
|
+
// ---------------------------------------------------------------------------
|
|
179
|
+
/**
|
|
180
|
+
* Linear interpolation resampler for 16-bit signed PCM.
|
|
181
|
+
*
|
|
182
|
+
* Not studio-quality but sufficient for narrow-band voice telephony. The
|
|
183
|
+
* output length is computed as `round(input.length * toRate / fromRate)` to
|
|
184
|
+
* avoid cumulative rounding drift across many small frames.
|
|
185
|
+
*
|
|
186
|
+
* @param input - Source samples as a signed 16-bit integer array.
|
|
187
|
+
* @param fromRate - Sample rate of the input, in Hz.
|
|
188
|
+
* @param toRate - Desired sample rate of the output, in Hz.
|
|
189
|
+
* @returns A new Int16Array at `toRate`.
|
|
190
|
+
*/
|
|
191
|
+
resample(input, fromRate, toRate) {
|
|
192
|
+
if (fromRate === toRate)
|
|
193
|
+
return input;
|
|
194
|
+
const ratio = fromRate / toRate;
|
|
195
|
+
const outputLen = Math.round(input.length / ratio);
|
|
196
|
+
const output = new Int16Array(outputLen);
|
|
197
|
+
for (let i = 0; i < outputLen; i++) {
|
|
198
|
+
const srcIdx = i * ratio;
|
|
199
|
+
const idx = Math.floor(srcIdx);
|
|
200
|
+
const frac = srcIdx - idx;
|
|
201
|
+
const a = input[idx] ?? 0;
|
|
202
|
+
const b = input[Math.min(idx + 1, input.length - 1)] ?? 0;
|
|
203
|
+
output[i] = Math.round(a + frac * (b - a));
|
|
204
|
+
}
|
|
205
|
+
return output;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=TelephonyStreamTransport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TelephonyStreamTransport.js","sourceRoot":"","sources":["../../src/voice/TelephonyStreamTransport.ts"],"names":[],"mappings":"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"}
|
package/dist/voice/index.d.ts
CHANGED
|
@@ -8,4 +8,14 @@ export type { IVoiceCallProvider, InitiateCallInput, InitiateCallResult, HangupC
|
|
|
8
8
|
export { CallManager } from './CallManager.js';
|
|
9
9
|
export type { CallManagerEventType, CallManagerEvent, CallManagerEventHandler, } from './CallManager.js';
|
|
10
10
|
export { convertPcmToMulaw8k, convertMulawToPcm16, escapeXml, validateE164, } from './telephony-audio.js';
|
|
11
|
+
export type { MediaStreamParser, MediaStreamIncoming } from './MediaStreamParser.js';
|
|
12
|
+
export { TwilioMediaStreamParser } from './parsers/TwilioMediaStreamParser.js';
|
|
13
|
+
export { TelnyxMediaStreamParser } from './parsers/TelnyxMediaStreamParser.js';
|
|
14
|
+
export { PlivoMediaStreamParser } from './parsers/PlivoMediaStreamParser.js';
|
|
15
|
+
export { TelephonyStreamTransport } from './TelephonyStreamTransport.js';
|
|
16
|
+
export type { TelephonyStreamTransportConfig } from './TelephonyStreamTransport.js';
|
|
17
|
+
export { TwilioVoiceProvider } from './providers/twilio.js';
|
|
18
|
+
export { TelnyxVoiceProvider } from './providers/telnyx.js';
|
|
19
|
+
export { PlivoVoiceProvider } from './providers/plivo.js';
|
|
20
|
+
export { twilioConversationTwiml, twilioNotifyTwiml, telnyxStreamXml, plivoStreamXml, plivoNotifyXml, } from './twiml.js';
|
|
11
21
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/voice/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,YAAY,GACb,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/voice/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,YAAY,GACb,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAG7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,YAAY,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAGpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,cAAc,GACf,MAAM,YAAY,CAAC"}
|
package/dist/voice/index.js
CHANGED
|
@@ -6,4 +6,15 @@
|
|
|
6
6
|
export * from './types.js';
|
|
7
7
|
export { CallManager } from './CallManager.js';
|
|
8
8
|
export { convertPcmToMulaw8k, convertMulawToPcm16, escapeXml, validateE164, } from './telephony-audio.js';
|
|
9
|
+
export { TwilioMediaStreamParser } from './parsers/TwilioMediaStreamParser.js';
|
|
10
|
+
export { TelnyxMediaStreamParser } from './parsers/TelnyxMediaStreamParser.js';
|
|
11
|
+
export { PlivoMediaStreamParser } from './parsers/PlivoMediaStreamParser.js';
|
|
12
|
+
// ── Telephony stream transport ────────────────────────────────────────────────
|
|
13
|
+
export { TelephonyStreamTransport } from './TelephonyStreamTransport.js';
|
|
14
|
+
// ── Voice call providers ──────────────────────────────────────────────────────
|
|
15
|
+
export { TwilioVoiceProvider } from './providers/twilio.js';
|
|
16
|
+
export { TelnyxVoiceProvider } from './providers/telnyx.js';
|
|
17
|
+
export { PlivoVoiceProvider } from './providers/plivo.js';
|
|
18
|
+
// ── TwiML / XML helpers ───────────────────────────────────────────────────────
|
|
19
|
+
export { twilioConversationTwiml, twilioNotifyTwiml, telnyxStreamXml, plivoStreamXml, plivoNotifyXml, } from './twiml.js';
|
|
9
20
|
//# sourceMappingURL=index.js.map
|
package/dist/voice/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/voice/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAU3B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAM/C,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,YAAY,GACb,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/voice/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAU3B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAM/C,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,YAAY,GACb,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,iFAAiF;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,iFAAiF;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,iFAAiF;AACjF,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,cAAc,GACf,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { MediaStreamParser, MediaStreamIncoming } from '../MediaStreamParser.js';
|
|
2
|
+
/**
|
|
3
|
+
* Parses the Plivo Audio Stream WebSocket protocol.
|
|
4
|
+
*
|
|
5
|
+
* Plivo sends JSON-encoded messages for stream lifecycle events (`start`,
|
|
6
|
+
* `stop`) and audio chunks (`media`). The audio payload is base64-encoded
|
|
7
|
+
* mu-law PCM, delivered in a `payload` field inside the `media` object.
|
|
8
|
+
*
|
|
9
|
+
* Outgoing audio is wrapped in a `playAudio` JSON envelope, which is the
|
|
10
|
+
* format Plivo expects when the server streams audio back to the caller.
|
|
11
|
+
* No explicit connection acknowledgment is required after the handshake.
|
|
12
|
+
*
|
|
13
|
+
* @see {@link https://www.plivo.com/docs/voice/xml/stream}
|
|
14
|
+
*/
|
|
15
|
+
export declare class PlivoMediaStreamParser implements MediaStreamParser {
|
|
16
|
+
/**
|
|
17
|
+
* Parse a raw WebSocket frame from Plivo's audio stream.
|
|
18
|
+
*
|
|
19
|
+
* Supported Plivo event types:
|
|
20
|
+
* - `start` — stream established; `stream_id` maps to `streamSid`,
|
|
21
|
+
* `call_uuid` maps to `callSid`.
|
|
22
|
+
* - `media` — audio chunk; `media.payload` contains base64-encoded mu-law.
|
|
23
|
+
* - `stop` — stream ended.
|
|
24
|
+
*
|
|
25
|
+
* @param data - Raw WebSocket frame payload (JSON string or Buffer from Plivo).
|
|
26
|
+
* @returns Normalised {@link MediaStreamIncoming} event, or `null` for
|
|
27
|
+
* unknown event types or malformed messages.
|
|
28
|
+
*/
|
|
29
|
+
parseIncoming(data: Buffer | string): MediaStreamIncoming | null;
|
|
30
|
+
/**
|
|
31
|
+
* Encode mu-law audio for transmission back to Plivo.
|
|
32
|
+
*
|
|
33
|
+
* Plivo requires audio to be base64-encoded and wrapped in a `playAudio`
|
|
34
|
+
* JSON envelope.
|
|
35
|
+
*
|
|
36
|
+
* @param audio - Raw mu-law PCM bytes to send to the caller.
|
|
37
|
+
* @param _streamSid - Unused by Plivo's `playAudio` format (accepted for
|
|
38
|
+
* interface parity with other parsers).
|
|
39
|
+
* @returns JSON string conforming to the Plivo `playAudio` envelope.
|
|
40
|
+
*/
|
|
41
|
+
formatOutgoing(audio: Buffer, _streamSid: string): string;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=PlivoMediaStreamParser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlivoMediaStreamParser.d.ts","sourceRoot":"","sources":["../../../src/voice/parsers/PlivoMediaStreamParser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEtF;;;;;;;;;;;;GAYG;AACH,qBAAa,sBAAuB,YAAW,iBAAiB;IAC9D;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,mBAAmB,GAAG,IAAI;IAqDhE;;;;;;;;;;OAUG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;CAM1D"}
|