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.
- package/LICENSE +19 -4
- package/README.md +19 -8
- package/dist/agent.d.ts +33 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +96 -6
- package/dist/agent.js.map +1 -1
- package/dist/analytics/logger.d.ts +1 -1
- package/dist/analytics/logger.d.ts.map +1 -1
- package/dist/analytics/logger.js +5 -4
- package/dist/analytics/logger.js.map +1 -1
- package/dist/builder.d.ts +51 -1
- package/dist/builder.d.ts.map +1 -1
- package/dist/builder.js +52 -0
- package/dist/builder.js.map +1 -1
- package/dist/graph/visualize.d.ts +0 -1
- package/dist/graph/visualize.d.ts.map +1 -1
- package/dist/graph/visualize.js +0 -1
- package/dist/graph/visualize.js.map +1 -1
- package/dist/graph/voice-graph.d.ts +4 -4
- package/dist/graph/voice-graph.js +4 -4
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/pipeline.d.ts +4 -0
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +18 -6
- package/dist/pipeline.js.map +1 -1
- package/dist/session/index.d.ts +3 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +3 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/manager.d.ts +100 -0
- package/dist/session/manager.d.ts.map +1 -0
- package/dist/session/manager.js +208 -0
- package/dist/session/manager.js.map +1 -0
- package/dist/session/memory-store.d.ts +34 -0
- package/dist/session/memory-store.d.ts.map +1 -0
- package/dist/session/memory-store.js +97 -0
- package/dist/session/memory-store.js.map +1 -0
- package/dist/telephony/codec.d.ts +35 -0
- package/dist/telephony/codec.d.ts.map +1 -0
- package/dist/telephony/codec.js +143 -0
- package/dist/telephony/codec.js.map +1 -0
- package/dist/telephony/index.d.ts +4 -0
- package/dist/telephony/index.d.ts.map +1 -0
- package/dist/telephony/index.js +4 -0
- package/dist/telephony/index.js.map +1 -0
- package/dist/telephony/twilio-transport.d.ts +80 -0
- package/dist/telephony/twilio-transport.d.ts.map +1 -0
- package/dist/telephony/twilio-transport.js +321 -0
- package/dist/telephony/twilio-transport.js.map +1 -0
- package/dist/telephony/twiml.d.ts +71 -0
- package/dist/telephony/twiml.d.ts.map +1 -0
- package/dist/telephony/twiml.js +79 -0
- package/dist/telephony/twiml.js.map +1 -0
- package/dist/types.d.ts +70 -3
- package/dist/types.d.ts.map +1 -1
- 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
|
-
|
|
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
|
-
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
<p align="center">
|
|
6
|
+
<strong>Sub-10ms Voice Agent Framework powered by Joint Embedding Vectors (JEV)</strong>
|
|
7
|
+
</p>
|
|
6
8
|
|
|
7
|
-
|
|
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
|
-
- **
|
|
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
|
-
|
|
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
|
*/
|
package/dist/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EACV,cAAc,EAGd,WAAW,EAKX,eAAe,EACf,cAAc,
|
|
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 ??
|
|
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
|
-
|
|
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
|
|
103
|
-
|
|
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
|
-
*
|
|
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;
|
|
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"}
|
package/dist/analytics/logger.js
CHANGED
|
@@ -16,16 +16,17 @@ export class CallLogger {
|
|
|
16
16
|
level;
|
|
17
17
|
enabled;
|
|
18
18
|
constructor(options) {
|
|
19
|
-
this.logDir = options?.logDir ?? "
|
|
19
|
+
this.logDir = options?.logDir ?? "";
|
|
20
20
|
this.level = options?.level ?? "info";
|
|
21
|
-
|
|
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
|
-
*
|
|
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":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC;;;;;;;;;;GAUG;AACH,MAAM,OAAO,UAAU;IACJ,MAAM,CAAS;IACf,KAAK,CAAsC;IAC3C,OAAO,CAAU;IAElC,YAAY,OAIX;QACC,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,
|
|
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
|
*/
|
package/dist/builder.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAgB,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAEV,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,WAAW,EACX,WAAW,
|
|
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
|
*/
|