@framers/agentos 0.1.75 → 0.1.76

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/README.md +139 -34
  2. package/dist/core/agency/AgentCommunicationBus.d.ts +1 -0
  3. package/dist/core/agency/AgentCommunicationBus.d.ts.map +1 -1
  4. package/dist/core/agency/AgentCommunicationBus.js +62 -8
  5. package/dist/core/agency/AgentCommunicationBus.js.map +1 -1
  6. package/dist/core/agency/IAgentCommunicationBus.d.ts +1 -1
  7. package/dist/core/agency/IAgentCommunicationBus.d.ts.map +1 -1
  8. package/dist/orchestration/runtime/LoopController.d.ts +10 -10
  9. package/dist/orchestration/runtime/LoopController.d.ts.map +1 -1
  10. package/dist/orchestration/runtime/LoopController.js +1 -1
  11. package/dist/orchestration/runtime/LoopController.js.map +1 -1
  12. package/dist/orchestration/runtime/index.d.ts +1 -1
  13. package/dist/orchestration/runtime/index.d.ts.map +1 -1
  14. package/dist/orchestration/runtime/index.js.map +1 -1
  15. package/dist/speech/FallbackProxy.d.ts +104 -0
  16. package/dist/speech/FallbackProxy.d.ts.map +1 -0
  17. package/dist/speech/FallbackProxy.js +151 -0
  18. package/dist/speech/FallbackProxy.js.map +1 -0
  19. package/dist/speech/SpeechProviderResolver.d.ts +103 -0
  20. package/dist/speech/SpeechProviderResolver.d.ts.map +1 -0
  21. package/dist/speech/SpeechProviderResolver.js +256 -0
  22. package/dist/speech/SpeechProviderResolver.js.map +1 -0
  23. package/dist/speech/SpeechRuntime.d.ts +23 -1
  24. package/dist/speech/SpeechRuntime.d.ts.map +1 -1
  25. package/dist/speech/SpeechRuntime.js +82 -8
  26. package/dist/speech/SpeechRuntime.js.map +1 -1
  27. package/dist/speech/index.d.ts +6 -0
  28. package/dist/speech/index.d.ts.map +1 -1
  29. package/dist/speech/index.js +6 -0
  30. package/dist/speech/index.js.map +1 -1
  31. package/dist/speech/providerCatalog.d.ts.map +1 -1
  32. package/dist/speech/providerCatalog.js +15 -1
  33. package/dist/speech/providerCatalog.js.map +1 -1
  34. package/dist/speech/providers/AssemblyAISTTProvider.d.ts +49 -0
  35. package/dist/speech/providers/AssemblyAISTTProvider.d.ts.map +1 -0
  36. package/dist/speech/providers/AssemblyAISTTProvider.js +151 -0
  37. package/dist/speech/providers/AssemblyAISTTProvider.js.map +1 -0
  38. package/dist/speech/providers/AzureSpeechSTTProvider.d.ts +48 -0
  39. package/dist/speech/providers/AzureSpeechSTTProvider.d.ts.map +1 -0
  40. package/dist/speech/providers/AzureSpeechSTTProvider.js +90 -0
  41. package/dist/speech/providers/AzureSpeechSTTProvider.js.map +1 -0
  42. package/dist/speech/providers/AzureSpeechTTSProvider.d.ts +60 -0
  43. package/dist/speech/providers/AzureSpeechTTSProvider.d.ts.map +1 -0
  44. package/dist/speech/providers/AzureSpeechTTSProvider.js +127 -0
  45. package/dist/speech/providers/AzureSpeechTTSProvider.js.map +1 -0
  46. package/dist/speech/providers/DeepgramBatchSTTProvider.d.ts +55 -0
  47. package/dist/speech/providers/DeepgramBatchSTTProvider.d.ts.map +1 -0
  48. package/dist/speech/providers/DeepgramBatchSTTProvider.js +102 -0
  49. package/dist/speech/providers/DeepgramBatchSTTProvider.js.map +1 -0
  50. package/dist/speech/types.d.ts +35 -0
  51. package/dist/speech/types.d.ts.map +1 -1
  52. package/dist/voice/CallManager.d.ts +1 -1
  53. package/dist/voice/CallManager.d.ts.map +1 -1
  54. package/dist/voice/CallManager.js +9 -0
  55. package/dist/voice/CallManager.js.map +1 -1
  56. package/dist/voice/MediaStreamParser.d.ts +83 -0
  57. package/dist/voice/MediaStreamParser.d.ts.map +1 -0
  58. package/dist/voice/MediaStreamParser.js +2 -0
  59. package/dist/voice/MediaStreamParser.js.map +1 -0
  60. package/dist/voice/TelephonyStreamTransport.d.ts +112 -0
  61. package/dist/voice/TelephonyStreamTransport.d.ts.map +1 -0
  62. package/dist/voice/TelephonyStreamTransport.js +208 -0
  63. package/dist/voice/TelephonyStreamTransport.js.map +1 -0
  64. package/dist/voice/index.d.ts +10 -0
  65. package/dist/voice/index.d.ts.map +1 -1
  66. package/dist/voice/index.js +11 -0
  67. package/dist/voice/index.js.map +1 -1
  68. package/dist/voice/parsers/PlivoMediaStreamParser.d.ts +43 -0
  69. package/dist/voice/parsers/PlivoMediaStreamParser.d.ts.map +1 -0
  70. package/dist/voice/parsers/PlivoMediaStreamParser.js +92 -0
  71. package/dist/voice/parsers/PlivoMediaStreamParser.js.map +1 -0
  72. package/dist/voice/parsers/TelnyxMediaStreamParser.d.ts +51 -0
  73. package/dist/voice/parsers/TelnyxMediaStreamParser.d.ts.map +1 -0
  74. package/dist/voice/parsers/TelnyxMediaStreamParser.js +103 -0
  75. package/dist/voice/parsers/TelnyxMediaStreamParser.js.map +1 -0
  76. package/dist/voice/parsers/TwilioMediaStreamParser.d.ts +50 -0
  77. package/dist/voice/parsers/TwilioMediaStreamParser.d.ts.map +1 -0
  78. package/dist/voice/parsers/TwilioMediaStreamParser.js +144 -0
  79. package/dist/voice/parsers/TwilioMediaStreamParser.js.map +1 -0
  80. package/dist/voice/providers/plivo.d.ts +77 -0
  81. package/dist/voice/providers/plivo.d.ts.map +1 -0
  82. package/dist/voice/providers/plivo.js +180 -0
  83. package/dist/voice/providers/plivo.js.map +1 -0
  84. package/dist/voice/providers/telnyx.d.ts +93 -0
  85. package/dist/voice/providers/telnyx.d.ts.map +1 -0
  86. package/dist/voice/providers/telnyx.js +193 -0
  87. package/dist/voice/providers/telnyx.js.map +1 -0
  88. package/dist/voice/providers/twilio.d.ts +79 -0
  89. package/dist/voice/providers/twilio.d.ts.map +1 -0
  90. package/dist/voice/providers/twilio.js +191 -0
  91. package/dist/voice/providers/twilio.js.map +1 -0
  92. package/dist/voice/twiml.d.ts +69 -0
  93. package/dist/voice/twiml.d.ts.map +1 -0
  94. package/dist/voice/twiml.js +92 -0
  95. package/dist/voice/twiml.js.map +1 -0
  96. package/dist/voice/types.d.ts +9 -1
  97. package/dist/voice/types.d.ts.map +1 -1
  98. package/dist/voice-pipeline/AcousticEndpointDetector.d.ts +90 -0
  99. package/dist/voice-pipeline/AcousticEndpointDetector.d.ts.map +1 -0
  100. package/dist/voice-pipeline/AcousticEndpointDetector.js +123 -0
  101. package/dist/voice-pipeline/AcousticEndpointDetector.js.map +1 -0
  102. package/dist/voice-pipeline/HardCutBargeinHandler.d.ts +67 -0
  103. package/dist/voice-pipeline/HardCutBargeinHandler.d.ts.map +1 -0
  104. package/dist/voice-pipeline/HardCutBargeinHandler.js +55 -0
  105. package/dist/voice-pipeline/HardCutBargeinHandler.js.map +1 -0
  106. package/dist/voice-pipeline/HeuristicEndpointDetector.d.ts +128 -0
  107. package/dist/voice-pipeline/HeuristicEndpointDetector.d.ts.map +1 -0
  108. package/dist/voice-pipeline/HeuristicEndpointDetector.js +240 -0
  109. package/dist/voice-pipeline/HeuristicEndpointDetector.js.map +1 -0
  110. package/dist/voice-pipeline/SoftFadeBargeinHandler.d.ts +96 -0
  111. package/dist/voice-pipeline/SoftFadeBargeinHandler.d.ts.map +1 -0
  112. package/dist/voice-pipeline/SoftFadeBargeinHandler.js +69 -0
  113. package/dist/voice-pipeline/SoftFadeBargeinHandler.js.map +1 -0
  114. package/dist/voice-pipeline/VoicePipelineOrchestrator.d.ts +122 -0
  115. package/dist/voice-pipeline/VoicePipelineOrchestrator.d.ts.map +1 -0
  116. package/dist/voice-pipeline/VoicePipelineOrchestrator.js +317 -0
  117. package/dist/voice-pipeline/VoicePipelineOrchestrator.js.map +1 -0
  118. package/dist/voice-pipeline/WebSocketStreamTransport.d.ts +148 -0
  119. package/dist/voice-pipeline/WebSocketStreamTransport.d.ts.map +1 -0
  120. package/dist/voice-pipeline/WebSocketStreamTransport.js +207 -0
  121. package/dist/voice-pipeline/WebSocketStreamTransport.js.map +1 -0
  122. package/dist/voice-pipeline/index.d.ts +13 -0
  123. package/dist/voice-pipeline/index.d.ts.map +1 -0
  124. package/dist/voice-pipeline/index.js +13 -0
  125. package/dist/voice-pipeline/index.js.map +1 -0
  126. package/dist/voice-pipeline/types.d.ts +905 -0
  127. package/dist/voice-pipeline/types.d.ts.map +1 -0
  128. package/dist/voice-pipeline/types.js +23 -0
  129. package/dist/voice-pipeline/types.js.map +1 -0
  130. 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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=MediaStreamParser.js.map
@@ -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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"}
@@ -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"}
@@ -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
@@ -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"}