felona-voice 0.2.0 → 0.2.5

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 (59) hide show
  1. package/LICENSE +19 -4
  2. package/README.md +19 -8
  3. package/dist/agent.d.ts +33 -1
  4. package/dist/agent.d.ts.map +1 -1
  5. package/dist/agent.js +96 -6
  6. package/dist/agent.js.map +1 -1
  7. package/dist/analytics/logger.d.ts +1 -1
  8. package/dist/analytics/logger.d.ts.map +1 -1
  9. package/dist/analytics/logger.js +5 -4
  10. package/dist/analytics/logger.js.map +1 -1
  11. package/dist/builder.d.ts +51 -1
  12. package/dist/builder.d.ts.map +1 -1
  13. package/dist/builder.js +52 -0
  14. package/dist/builder.js.map +1 -1
  15. package/dist/graph/visualize.d.ts +0 -1
  16. package/dist/graph/visualize.d.ts.map +1 -1
  17. package/dist/graph/visualize.js +0 -1
  18. package/dist/graph/visualize.js.map +1 -1
  19. package/dist/graph/voice-graph.d.ts +4 -4
  20. package/dist/graph/voice-graph.js +4 -4
  21. package/dist/index.d.ts +4 -0
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +5 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/pipeline.d.ts +4 -0
  26. package/dist/pipeline.d.ts.map +1 -1
  27. package/dist/pipeline.js +18 -6
  28. package/dist/pipeline.js.map +1 -1
  29. package/dist/session/index.d.ts +3 -0
  30. package/dist/session/index.d.ts.map +1 -0
  31. package/dist/session/index.js +3 -0
  32. package/dist/session/index.js.map +1 -0
  33. package/dist/session/manager.d.ts +100 -0
  34. package/dist/session/manager.d.ts.map +1 -0
  35. package/dist/session/manager.js +208 -0
  36. package/dist/session/manager.js.map +1 -0
  37. package/dist/session/memory-store.d.ts +34 -0
  38. package/dist/session/memory-store.d.ts.map +1 -0
  39. package/dist/session/memory-store.js +97 -0
  40. package/dist/session/memory-store.js.map +1 -0
  41. package/dist/telephony/codec.d.ts +35 -0
  42. package/dist/telephony/codec.d.ts.map +1 -0
  43. package/dist/telephony/codec.js +143 -0
  44. package/dist/telephony/codec.js.map +1 -0
  45. package/dist/telephony/index.d.ts +4 -0
  46. package/dist/telephony/index.d.ts.map +1 -0
  47. package/dist/telephony/index.js +4 -0
  48. package/dist/telephony/index.js.map +1 -0
  49. package/dist/telephony/twilio-transport.d.ts +80 -0
  50. package/dist/telephony/twilio-transport.d.ts.map +1 -0
  51. package/dist/telephony/twilio-transport.js +321 -0
  52. package/dist/telephony/twilio-transport.js.map +1 -0
  53. package/dist/telephony/twiml.d.ts +71 -0
  54. package/dist/telephony/twiml.d.ts.map +1 -0
  55. package/dist/telephony/twiml.js +79 -0
  56. package/dist/telephony/twiml.js.map +1 -0
  57. package/dist/types.d.ts +70 -3
  58. package/dist/types.d.ts.map +1 -1
  59. package/package.json +4 -3
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
- MIT License
1
+ MIT License with Attribution Requirement
2
2
 
3
- Copyright (c) 2026 Felona Voice Contributors
3
+ Copyright (c) 2026 Mohit & Felona Voice Contributors (https://github.com/felona-voice/felona-voice)
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -9,8 +9,23 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
9
  copies of the Software, and to permit persons to whom the Software is
10
10
  furnished to do so, subject to the following conditions:
11
11
 
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
12
+ 1. The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ 2. ATTRIBUTION REQUIREMENT:
16
+ Any product, application, service, website, software, documentation, or marketing
17
+ material that uses, incorporates, embeds, or is derived from this Software must
18
+ prominently display visible attribution to the author.
19
+
20
+ The attribution must clearly display:
21
+ "Powered by Felona Voice" or "Built with Felona Voice"
22
+ accompanied by an active, clickable hyperlink back to the official repository:
23
+ https://github.com/felona-voice/felona-voice
24
+
25
+ This credit must be visible in at least one of the following locations:
26
+ - The user interface of the product/application (e.g., footer, about dialog, or settings screen)
27
+ - The official public documentation or README of the product/service
28
+ - The marketing website or public landing page of the offering
14
29
 
15
30
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
31
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
package/README.md CHANGED
@@ -1,10 +1,18 @@
1
- # 🎙️ Felona Voice (`felona-voice`)
1
+ <p align="center">
2
+ <img src="https://raw.githubusercontent.com/felona-voice/felona-voice/main/public/logo.png" alt="Felona Voice" width="280" />
3
+ </p>
2
4
 
3
- [![npm version](https://img.shields.io/npm/v/felona-voice.svg?style=flat-square&color=3b82f6)](https://www.npmjs.com/package/felona-voice)
4
- [![License: MIT](https://img.shields.io/badge/License-MIT-emerald.svg?style=flat-square)](./LICENSE)
5
- [![TypeScript](https://img.shields.io/badge/TypeScript-5.5-blue.svg?style=flat-square)](https://www.typescriptlang.org/)
5
+ <p align="center">
6
+ <strong>Sub-10ms Voice Agent Framework powered by Joint Embedding Vectors (JEV)</strong>
7
+ </p>
6
8
 
7
- **Open-source, ultra-low-latency voice agent framework powered by JEV (Joint Embedding Vectors) with LangGraph-style state machines.**
9
+ <p align="center">
10
+ <a href="https://www.npmjs.com/package/felona-voice"><img src="https://img.shields.io/npm/v/felona-voice.svg?style=flat-square&color=3b82f6" alt="npm version" /></a>
11
+ <a href="./LICENSE"><img src="https://img.shields.io/badge/License-MIT-emerald.svg?style=flat-square" alt="License: MIT" /></a>
12
+ <a href="https://www.typescriptlang.org/"><img src="https://img.shields.io/badge/TypeScript-5.5-blue.svg?style=flat-square" alt="TypeScript" /></a>
13
+ </p>
14
+
15
+ **Open-source, ultra-low-latency voice agent framework powered by JEV (Joint Embedding Vectors) with stateful conversational graphs.**
8
16
 
9
17
  ## Installation
10
18
 
@@ -37,7 +45,7 @@ console.log(reply.action.id); // "room_service"
37
45
  - **STT**: Deepgram Nova-2, OpenAI Whisper, AssemblyAI, Azure Speech, Google Cloud Speech.
38
46
  - **TTS**: Cartesia Sonic (<100ms), Deepgram Aura, ElevenLabs, OpenAI Speech, Azure Speech, Amazon Polly, LMNT.
39
47
  - **VAD**: Zero-dependency energy-based speech boundary detection.
40
- - **LangGraph-Style State Machines**: `VoiceGraph` with `.addNode()`, `.addEdge()`, `.compile()`, and `.invoke()`.
48
+ - **Stateful Conversational Graphs**: `VoiceGraph` with `.addNode()`, `.addEdge()`, `.compile()`, and `.invoke()`.
41
49
  - **Markdown & Mermaid Visualization**: Automatic generation of architectural diagrams and transition tables.
42
50
 
43
51
  ## Documentation & Repository
@@ -45,6 +53,9 @@ console.log(reply.action.id); // "room_service"
45
53
  For complete documentation, guides, and architectural overviews:
46
54
  👉 [https://github.com/felona-voice/felona-voice](https://github.com/felona-voice/felona-voice#readme)
47
55
 
48
- ## License
56
+ ## License & Attribution
57
+
58
+ MIT License with Attribution Requirement. See [LICENSE](./LICENSE) for details.
59
+ Any product or service powered by Felona Voice must display "Powered by Felona Voice" linking to https://github.com/felona-voice/felona-voice.
49
60
 
50
- MIT © Felona Voice Contributors
61
+ © 2026 Mohit & Felona Voice Contributors
package/dist/agent.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  import { EventEmitter } from "node:events";
2
- import type { FelAgentConfig, AgentAction, InteractOptions, InteractResult } from "./types.js";
2
+ import type { FelAgentConfig, AgentAction, InteractOptions, InteractResult, Transport } from "./types.js";
3
+ import { type TwilioStreamTwiMLOptions } from "./telephony/twiml.js";
4
+ import { SessionManager } from "./session/index.js";
3
5
  import { JEVEngine } from "./jev/engine.js";
4
6
  import { ConversationMemory } from "./memory/context.js";
5
7
  import { type GraphData, type VisualizeOptions, type VisualizeResult } from "./graph/visualize.js";
@@ -31,17 +33,47 @@ export declare class FelAgent extends EventEmitter {
31
33
  private readonly sttProvider;
32
34
  private readonly ttsProvider;
33
35
  private readonly vadProvider;
36
+ /** Session manager for scaling, multi-turn state persistence, and concurrency limits */
37
+ readonly sessions: SessionManager;
34
38
  private pipelines;
35
39
  private sessionMap;
36
40
  private initialized;
37
41
  constructor(config: FelAgentConfig);
42
+ /**
43
+ * Set a custom transport instance (e.g., TwilioTransport).
44
+ */
45
+ setTransport(transport: Transport): this;
38
46
  /**
39
47
  * Start the agent — initialize JEV, start the transport, begin accepting calls.
40
48
  */
41
49
  listen(options?: {
42
50
  port?: number;
43
51
  host?: string;
52
+ path?: string;
53
+ server?: import("http").Server | import("https").Server;
44
54
  }): Promise<void>;
55
+ /**
56
+ * Start a dedicated Twilio Telephony media stream server.
57
+ * Automatically handles bidirectional audio and serves TwiML for phone number webhooks.
58
+ */
59
+ listenTwilio(options?: {
60
+ port?: number;
61
+ host?: string;
62
+ path?: string;
63
+ webhookPath?: string | null;
64
+ streamUrl?: string;
65
+ greeting?: string;
66
+ server?: import("http").Server;
67
+ }): Promise<void>;
68
+ /**
69
+ * Handle an existing WebSocket connection using the Twilio telephony pipeline.
70
+ * Ideal for integrating phone agents into an existing Express/Fastify/Next.js/Hono server.
71
+ */
72
+ handleTwilioWebSocket(ws: import("ws").WebSocket, req?: import("http").IncomingMessage): void;
73
+ /**
74
+ * Generate standard TwiML XML connecting an incoming or outgoing Twilio call to a media stream.
75
+ */
76
+ createTwilioTwiML(options: TwilioStreamTwiMLOptions): string;
45
77
  /**
46
78
  * Stop the agent — shut down all pipelines and the transport.
47
79
  */
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
package/dist/agent.js CHANGED
@@ -1,5 +1,8 @@
1
1
  import { EventEmitter } from "node:events";
2
2
  import { WebSocketTransport } from "./transport/websocket.js";
3
+ import { TwilioTransport } from "./telephony/twilio-transport.js";
4
+ import { createTwilioStreamTwiML } from "./telephony/twiml.js";
5
+ import { createSessionManager } from "./session/index.js";
3
6
  import { JEVEngine } from "./jev/engine.js";
4
7
  import { OpenAIEmbeddingProvider } from "./jev/embeddings.js";
5
8
  import { FastSemanticEmbeddingProvider } from "./jev/fast-embeddings.js";
@@ -50,6 +53,8 @@ export class FelAgent extends EventEmitter {
50
53
  sttProvider;
51
54
  ttsProvider;
52
55
  vadProvider;
56
+ /** Session manager for scaling, multi-turn state persistence, and concurrency limits */
57
+ sessions;
53
58
  // Active pipelines (one per session)
54
59
  pipelines = new Map();
55
60
  // Session tracking for direct interactions
@@ -59,11 +64,11 @@ export class FelAgent extends EventEmitter {
59
64
  super();
60
65
  this.config = config;
61
66
  this.hooks = config.hooks ?? {};
62
- // Initialize logger
67
+ // Initialize logger (only writes to disk if logDir is explicitly provided by user)
63
68
  this.logger = new CallLogger({
64
69
  logDir: config.logging?.logDir,
65
70
  level: config.logging?.level,
66
- enabled: config.logging?.enabled ?? true,
71
+ enabled: config.logging?.enabled ?? Boolean(config.logging?.logDir),
67
72
  });
68
73
  // Initialize tools
69
74
  this.tools = new ToolRegistry();
@@ -92,15 +97,42 @@ export class FelAgent extends EventEmitter {
92
97
  embeddingProvider,
93
98
  confidenceThreshold: config.jev?.confidenceThreshold ?? 0.35,
94
99
  });
100
+ // Initialize session manager
101
+ this.sessions = createSessionManager(config.sessions);
102
+ this.sessions.on("sessionCreated", (s) => this.emit("sessionCreated", s));
103
+ this.sessions.on("sessionEnded", (s) => this.emit("sessionEnded", s));
104
+ this.sessions.on("concurrencyLimitReached", (active, max) => this.emit("concurrencyLimitReached", { active, max }));
95
105
  // Initialize transport
96
- this.transport = new WebSocketTransport();
106
+ if (config.transport && typeof config.transport.start === "function") {
107
+ this.transport = config.transport;
108
+ }
109
+ else if (typeof config.transport === "object" &&
110
+ config.transport.type === "twilio") {
111
+ const opts = config.transport;
112
+ this.transport = new TwilioTransport(opts);
113
+ }
114
+ else {
115
+ this.transport = new WebSocketTransport();
116
+ }
117
+ }
118
+ /**
119
+ * Set a custom transport instance (e.g., TwilioTransport).
120
+ */
121
+ setTransport(transport) {
122
+ this.transport = transport;
123
+ return this;
97
124
  }
98
125
  /**
99
126
  * Start the agent — initialize JEV, start the transport, begin accepting calls.
100
127
  */
101
128
  async listen(options) {
102
- const port = options?.port ?? this.config.transport?.port ?? 8080;
103
- const host = options?.host ?? this.config.transport?.host;
129
+ const transportConfig = typeof this.config.transport === "object" && !("start" in this.config.transport)
130
+ ? this.config.transport
131
+ : undefined;
132
+ const port = options?.port ?? transportConfig?.port ?? 8080;
133
+ const host = options?.host ?? transportConfig?.host;
134
+ const path = options?.path ?? transportConfig?.path;
135
+ const server = options?.server;
104
136
  this.logger.log("info", `Starting Felona Voice agent: "${this.config.name}"`);
105
137
  // Step 1: Initialize JEV — embed all action descriptions
106
138
  this.logger.log("info", "Initializing JEV engine...");
@@ -115,7 +147,7 @@ export class FelAgent extends EventEmitter {
115
147
  this.transport.onDisconnect((session) => this.handleDisconnect(session));
116
148
  this.transport.onAudioChunk((sessionId, chunk) => this.handleAudio(sessionId, chunk));
117
149
  // Step 4: Start the transport server
118
- await this.transport.start({ port, host });
150
+ await this.transport.start({ port, host, path, server });
119
151
  this.initialized = true;
120
152
  this.logger.log("info", `Agent "${this.config.name}" ready on port ${port}`);
121
153
  this.logger.log("info", ` STT: ${this.sttProvider.name}`);
@@ -124,6 +156,44 @@ export class FelAgent extends EventEmitter {
124
156
  this.logger.log("info", ` Actions: ${this.config.actions.map((a) => a.id).join(", ")}`);
125
157
  this.emit("ready", { port, host });
126
158
  }
159
+ /**
160
+ * Start a dedicated Twilio Telephony media stream server.
161
+ * Automatically handles bidirectional audio and serves TwiML for phone number webhooks.
162
+ */
163
+ async listenTwilio(options) {
164
+ const port = options?.port ?? 8080;
165
+ const host = options?.host ?? "0.0.0.0";
166
+ const path = options?.path ?? "/media";
167
+ this.transport = new TwilioTransport({
168
+ port,
169
+ host,
170
+ path,
171
+ webhookPath: options?.webhookPath,
172
+ streamUrl: options?.streamUrl,
173
+ greeting: options?.greeting,
174
+ server: options?.server,
175
+ });
176
+ await this.listen({ port, host, path, server: options?.server });
177
+ }
178
+ /**
179
+ * Handle an existing WebSocket connection using the Twilio telephony pipeline.
180
+ * Ideal for integrating phone agents into an existing Express/Fastify/Next.js/Hono server.
181
+ */
182
+ handleTwilioWebSocket(ws, req) {
183
+ if (!(this.transport instanceof TwilioTransport)) {
184
+ this.transport = new TwilioTransport();
185
+ this.transport.onConnect((session) => this.handleConnect(session));
186
+ this.transport.onDisconnect((session) => this.handleDisconnect(session));
187
+ this.transport.onAudioChunk((sessionId, chunk) => this.handleAudio(sessionId, chunk));
188
+ }
189
+ this.transport.handleWebSocket(ws, req);
190
+ }
191
+ /**
192
+ * Generate standard TwiML XML connecting an incoming or outgoing Twilio call to a media stream.
193
+ */
194
+ createTwilioTwiML(options) {
195
+ return createTwilioStreamTwiML(options);
196
+ }
127
197
  /**
128
198
  * Stop the agent — shut down all pipelines and the transport.
129
199
  */
@@ -136,6 +206,8 @@ export class FelAgent extends EventEmitter {
136
206
  this.pipelines.clear();
137
207
  // Stop transport
138
208
  await this.transport.stop();
209
+ // Close session manager
210
+ await this.sessions.close();
139
211
  this.initialized = false;
140
212
  this.logger.log("info", "Agent stopped");
141
213
  this.emit("stopped");
@@ -145,6 +217,20 @@ export class FelAgent extends EventEmitter {
145
217
  */
146
218
  async handleConnect(session) {
147
219
  this.logger.log("info", `New call: ${session.id}`);
220
+ // Check concurrency limit before accepting new session
221
+ if (!(await this.sessions.canAcceptSession())) {
222
+ const stats = await this.sessions.getStats();
223
+ this.logger.log("warn", `Session concurrency limit reached (${stats.activeCount}/${stats.maxConcurrent}). Cannot accept call: ${session.id}`);
224
+ this.emit("concurrencyLimitReached", stats);
225
+ session.state = "ended";
226
+ return;
227
+ }
228
+ // Register session with SessionManager
229
+ await this.sessions.createSession({
230
+ id: session.id,
231
+ metadata: session.metadata,
232
+ ttlMs: this.config.sessions?.ttlMs,
233
+ });
148
234
  // Create per-session memory
149
235
  const memory = new ConversationMemory();
150
236
  // Create a new VAD instance per session (has internal state)
@@ -164,6 +250,8 @@ export class FelAgent extends EventEmitter {
164
250
  systemPrompt: this.config.systemPrompt ??
165
251
  "You are a helpful, conversational AI voice assistant.",
166
252
  sendAudio: (chunk) => this.transport.sendAudio(session.id, chunk),
253
+ clearAudio: () => this.transport.clearAudio ? this.transport.clearAudio(session.id) : Promise.resolve(),
254
+ sessionManager: this.sessions,
167
255
  });
168
256
  // Forward pipeline events
169
257
  pipeline.on("transcript", (data) => this.emit("transcript", { sessionId: session.id, ...data }));
@@ -183,6 +271,8 @@ export class FelAgent extends EventEmitter {
183
271
  await pipeline.stop();
184
272
  this.pipelines.delete(session.id);
185
273
  }
274
+ // Mark session as ended in session manager
275
+ await this.sessions.endSession(session.id);
186
276
  this.emit("callEnded", session);
187
277
  }
188
278
  /**
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ export declare class CallLogger {
21
21
  });
22
22
  /**
23
23
  * Log a complete call session.
24
- * This is called when a call ends.
24
+ * Only saves to disk if the user explicitly provided a logDir location.
25
25
  */
26
26
  logCall(data: CallLogEntry): Promise<string | null>;
27
27
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/analytics/logger.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAe,MAAM,aAAa,CAAC;AAE1E;;;;;;;;;;GAUG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsC;IAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAEtB,OAAO,CAAC,EAAE;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;QAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB;IAMD;;;OAGG;IACG,OAAO,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA0BzD;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAQ3C,0BAA0B;IAC1B,GAAG,CACD,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,EAC1C,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,IAAI;CAaR;AAED,mCAAmC;AACnC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,mCAAmC;AACnC,MAAM,WAAW,cAAc;IAC7B,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,UAAU,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,yBAAyB;AACzB,MAAM,WAAW,WAAW;IAC1B,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,eAAe,EAAE,MAAM,CAAC;IACxB,+BAA+B;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+BAA+B;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gCAAgC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,mCAAmC;AACnC,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,UAAU,CAEb"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/analytics/logger.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAe,MAAM,aAAa,CAAC;AAE1E;;;;;;;;;;GAUG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsC;IAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAEtB,OAAO,CAAC,EAAE;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;QAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB;IAOD;;;OAGG;IACG,OAAO,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA0BzD;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAQ3C,0BAA0B;IAC1B,GAAG,CACD,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,EAC1C,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,IAAI;CAaR;AAED,mCAAmC;AACnC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,mCAAmC;AACnC,MAAM,WAAW,cAAc;IAC7B,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,UAAU,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,yBAAyB;AACzB,MAAM,WAAW,WAAW;IAC1B,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,eAAe,EAAE,MAAM,CAAC;IACxB,+BAA+B;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+BAA+B;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gCAAgC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,mCAAmC;AACnC,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,UAAU,CAEb"}
@@ -16,16 +16,17 @@ export class CallLogger {
16
16
  level;
17
17
  enabled;
18
18
  constructor(options) {
19
- this.logDir = options?.logDir ?? "./call-logs";
19
+ this.logDir = options?.logDir ?? "";
20
20
  this.level = options?.level ?? "info";
21
- this.enabled = options?.enabled ?? true;
21
+ // Never persist call logs to disk unless user explicitly provided a log directory
22
+ this.enabled = options?.enabled !== undefined ? options.enabled : Boolean(options?.logDir);
22
23
  }
23
24
  /**
24
25
  * Log a complete call session.
25
- * This is called when a call ends.
26
+ * Only saves to disk if the user explicitly provided a logDir location.
26
27
  */
27
28
  async logCall(data) {
28
- if (!this.enabled)
29
+ if (!this.enabled || !this.logDir)
29
30
  return null;
30
31
  await mkdir(this.logDir, { recursive: true });
31
32
  const filename = `${data.session.id}_${Date.now()}.json`;
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/analytics/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/analytics/logger.ts"],"names":[],"mappings":"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"}
package/dist/builder.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { FelAgent } from "./agent.js";
2
- import type { ActionContext, EmbeddingProvider, InteractOptions, InteractResult, STTProvider, TTSProvider } from "./types.js";
2
+ import type { ActionContext, EmbeddingProvider, InteractOptions, InteractResult, STTProvider, TTSProvider, Transport, SessionManagerOptions, SessionStore } from "./types.js";
3
3
  import type { GraphData, VisualizeOptions, VisualizeResult } from "./graph/visualize.js";
4
4
  export type ActionHandlerFn = (ctx: ActionContext) => Promise<string> | string;
5
5
  export declare class AgentBuilder {
@@ -11,6 +11,8 @@ export declare class AgentBuilder {
11
11
  private ttsConfig?;
12
12
  private customEmbeddingProvider?;
13
13
  private confidenceThreshold;
14
+ private transportConfig?;
15
+ private sessionConfig?;
14
16
  private builtAgent?;
15
17
  constructor(name?: string);
16
18
  /** Set the agent's name */
@@ -114,7 +116,55 @@ export declare class AgentBuilder {
114
116
  listen(options?: {
115
117
  port?: number;
116
118
  host?: string;
119
+ path?: string;
117
120
  }): Promise<void>;
121
+ /**
122
+ * Configure agent to connect with Twilio Media Streams and mobile phone carriers.
123
+ */
124
+ twilio(options?: {
125
+ port?: number;
126
+ host?: string;
127
+ path?: string;
128
+ webhookPath?: string | null;
129
+ streamUrl?: string;
130
+ greeting?: string;
131
+ }): this;
132
+ /**
133
+ * Set custom Transport instance or transport options.
134
+ */
135
+ transport(config: Transport | {
136
+ type?: "websocket" | "twilio" | "webrtc";
137
+ port?: number;
138
+ host?: string;
139
+ path?: string;
140
+ streamUrl?: string;
141
+ [k: string]: unknown;
142
+ }): this;
143
+ /**
144
+ * Configure session concurrency, TTL, and scaling.
145
+ * By default, sessions remain ephemeral in memory during the active call only.
146
+ * If you provide an external store/database (e.g. Redis), session history is persisted.
147
+ */
148
+ sessions(config: SessionManagerOptions): this;
149
+ /**
150
+ * Limit maximum concurrent active calls/sessions to scale and prevent node overload.
151
+ */
152
+ maxConcurrent(limit: number): this;
153
+ /**
154
+ * Attach an external database or key-value store for session persistence.
155
+ */
156
+ sessionStore(store: SessionStore): this;
157
+ /**
158
+ * Start a dedicated Twilio Telephony media stream server directly from the builder.
159
+ */
160
+ listenTwilio(options?: {
161
+ port?: number;
162
+ host?: string;
163
+ path?: string;
164
+ webhookPath?: string | null;
165
+ streamUrl?: string;
166
+ greeting?: string;
167
+ }): Promise<FelAgent>;
118
168
  /**
119
169
  * Get graph data representing the agent's action space.
120
170
  */
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
package/dist/builder.js CHANGED
@@ -8,6 +8,8 @@ export class AgentBuilder {
8
8
  ttsConfig;
9
9
  customEmbeddingProvider;
10
10
  confidenceThreshold = 0.35;
11
+ transportConfig;
12
+ sessionConfig;
11
13
  builtAgent;
12
14
  constructor(name = "Felona Agent") {
13
15
  this.agentName = name;
@@ -205,6 +207,8 @@ export class AgentBuilder {
205
207
  embeddingProvider: this.customEmbeddingProvider,
206
208
  confidenceThreshold: this.confidenceThreshold,
207
209
  },
210
+ transport: this.transportConfig,
211
+ sessions: this.sessionConfig,
208
212
  });
209
213
  // Populate initial slots into agent memory
210
214
  for (const [k, v] of Object.entries(this.slots)) {
@@ -221,6 +225,54 @@ export class AgentBuilder {
221
225
  async listen(options) {
222
226
  return this.build().listen(options);
223
227
  }
228
+ /**
229
+ * Configure agent to connect with Twilio Media Streams and mobile phone carriers.
230
+ */
231
+ twilio(options) {
232
+ this.transportConfig = {
233
+ type: "twilio",
234
+ ...options,
235
+ };
236
+ return this;
237
+ }
238
+ /**
239
+ * Set custom Transport instance or transport options.
240
+ */
241
+ transport(config) {
242
+ this.transportConfig = config;
243
+ return this;
244
+ }
245
+ /**
246
+ * Configure session concurrency, TTL, and scaling.
247
+ * By default, sessions remain ephemeral in memory during the active call only.
248
+ * If you provide an external store/database (e.g. Redis), session history is persisted.
249
+ */
250
+ sessions(config) {
251
+ this.sessionConfig = { ...this.sessionConfig, ...config };
252
+ return this;
253
+ }
254
+ /**
255
+ * Limit maximum concurrent active calls/sessions to scale and prevent node overload.
256
+ */
257
+ maxConcurrent(limit) {
258
+ this.sessionConfig = { ...this.sessionConfig, maxConcurrent: limit };
259
+ return this;
260
+ }
261
+ /**
262
+ * Attach an external database or key-value store for session persistence.
263
+ */
264
+ sessionStore(store) {
265
+ this.sessionConfig = { ...this.sessionConfig, store };
266
+ return this;
267
+ }
268
+ /**
269
+ * Start a dedicated Twilio Telephony media stream server directly from the builder.
270
+ */
271
+ async listenTwilio(options) {
272
+ const agent = this.build();
273
+ await agent.listenTwilio(options);
274
+ return agent;
275
+ }
224
276
  /**
225
277
  * Get graph data representing the agent's action space.
226
278
  */