modular-voice-agent-sdk 1.0.0 → 1.2.0

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 (64) hide show
  1. package/README.md +5 -2
  2. package/dist/backends/cloud/audio-llm.d.ts +72 -0
  3. package/dist/backends/cloud/audio-llm.d.ts.map +1 -0
  4. package/dist/backends/cloud/audio-llm.js +366 -0
  5. package/dist/backends/cloud/audio-llm.js.map +1 -0
  6. package/dist/backends/cloud/index.d.ts +2 -0
  7. package/dist/backends/cloud/index.d.ts.map +1 -1
  8. package/dist/backends/cloud/index.js +2 -0
  9. package/dist/backends/cloud/index.js.map +1 -1
  10. package/dist/backends/cloud/llm.d.ts.map +1 -1
  11. package/dist/backends/cloud/llm.js +31 -18
  12. package/dist/backends/cloud/llm.js.map +1 -1
  13. package/dist/backends/native/audio-llm.d.ts +126 -0
  14. package/dist/backends/native/audio-llm.d.ts.map +1 -0
  15. package/dist/backends/native/audio-llm.js +680 -0
  16. package/dist/backends/native/audio-llm.js.map +1 -0
  17. package/dist/backends/native/llm.d.ts.map +1 -1
  18. package/dist/backends/native/llm.js +5 -7
  19. package/dist/backends/native/llm.js.map +1 -1
  20. package/dist/backends/native/stt.d.ts +2 -2
  21. package/dist/backends/native/stt.d.ts.map +1 -1
  22. package/dist/backends/native/stt.js +1 -1
  23. package/dist/backends/native/stt.js.map +1 -1
  24. package/dist/backends/transformers/llm.d.ts.map +1 -1
  25. package/dist/backends/transformers/llm.js +13 -10
  26. package/dist/backends/transformers/llm.js.map +1 -1
  27. package/dist/backends/transformers/stt.d.ts +2 -2
  28. package/dist/backends/transformers/stt.d.ts.map +1 -1
  29. package/dist/backends/transformers/stt.js +12 -7
  30. package/dist/backends/transformers/stt.js.map +1 -1
  31. package/dist/backends/transformers/tts.d.ts.map +1 -1
  32. package/dist/backends/transformers/tts.js +11 -6
  33. package/dist/backends/transformers/tts.js.map +1 -1
  34. package/dist/cache.d.ts +19 -0
  35. package/dist/cache.d.ts.map +1 -1
  36. package/dist/cache.js +39 -0
  37. package/dist/cache.js.map +1 -1
  38. package/dist/cli.js +47 -7
  39. package/dist/cli.js.map +1 -1
  40. package/dist/client/voice-client.d.ts +4 -2
  41. package/dist/client/voice-client.d.ts.map +1 -1
  42. package/dist/client/voice-client.js +15 -13
  43. package/dist/client/voice-client.js.map +1 -1
  44. package/dist/client/web-speech-stt.d.ts +12 -1
  45. package/dist/client/web-speech-stt.d.ts.map +1 -1
  46. package/dist/client/web-speech-stt.js +49 -4
  47. package/dist/client/web-speech-stt.js.map +1 -1
  48. package/dist/server/handler.d.ts +12 -7
  49. package/dist/server/handler.d.ts.map +1 -1
  50. package/dist/server/handler.js +20 -20
  51. package/dist/server/handler.js.map +1 -1
  52. package/dist/services/llm-logger.d.ts +7 -18
  53. package/dist/services/llm-logger.d.ts.map +1 -1
  54. package/dist/services/llm-logger.js +22 -41
  55. package/dist/services/llm-logger.js.map +1 -1
  56. package/dist/types.d.ts +27 -5
  57. package/dist/types.d.ts.map +1 -1
  58. package/dist/voice-pipeline.d.ts +48 -10
  59. package/dist/voice-pipeline.d.ts.map +1 -1
  60. package/dist/voice-pipeline.js +138 -40
  61. package/dist/voice-pipeline.js.map +1 -1
  62. package/package.json +1 -1
  63. package/scripts/setup.sh +23 -0
  64. package/USAGE.md +0 -567
@@ -17,19 +17,26 @@ const DEFAULT_TOOL_FILLER_PHRASES = [
17
17
  'Let me look that up.',
18
18
  ];
19
19
  export class VoicePipeline {
20
- stt;
21
- llm;
22
- tts;
20
+ // Factories for creating per-session instances
21
+ sttFactory;
22
+ llmFactory;
23
+ ttsFactory;
24
+ // Internal backends for pipeline's own use (e.g., local/browser mode)
25
+ stt = null;
26
+ llm = null;
27
+ tts = null;
23
28
  systemPrompt;
24
29
  textNormalizer = new TextNormalizer();
25
30
  tools = new Map();
26
31
  toolDefinitions = [];
27
32
  toolFillerPhrases;
28
33
  fillerPhraseIndex = 0;
34
+ // Track if cache has been warmed
35
+ initialized = false;
29
36
  constructor(config) {
30
- this.stt = config.stt ?? null;
31
- this.llm = config.llm;
32
- this.tts = config.tts ?? null;
37
+ this.sttFactory = config.stt ?? null;
38
+ this.llmFactory = config.llm;
39
+ this.ttsFactory = config.tts ?? null;
33
40
  this.systemPrompt = config.systemPrompt;
34
41
  this.toolFillerPhrases = config.toolFillerPhrases ?? DEFAULT_TOOL_FILLER_PHRASES;
35
42
  // Register tools
@@ -75,43 +82,115 @@ export class VoicePipeline {
75
82
  createInitialHistory() {
76
83
  return [{ role: 'system', content: this.systemPrompt }];
77
84
  }
85
+ /**
86
+ * Initialize the pipeline by warming the model cache.
87
+ * Creates instances and initializes them, which loads models into cache.
88
+ * These instances are also stored for the pipeline's own use (local/browser mode).
89
+ * Subsequent session instances will initialize instantly from cache.
90
+ */
78
91
  async initialize(onProgress) {
92
+ // Create instances - these warm the cache and are kept for pipeline's own use
93
+ // Handle special case: if stt and llm use the same factory (e.g., CloudAudioLLM),
94
+ // create one instance and use it for both
95
+ if (this.hasSameSTTAndLLM()) {
96
+ const sharedInstance = this.llmFactory();
97
+ this.stt = sharedInstance;
98
+ this.llm = sharedInstance;
99
+ }
100
+ else {
101
+ this.stt = this.sttFactory?.() ?? null;
102
+ this.llm = this.llmFactory();
103
+ }
104
+ this.tts = this.ttsFactory?.() ?? null;
79
105
  const promises = [this.llm.initialize(onProgress)];
80
- if (this.stt) {
106
+ // Only initialize STT separately if it's a different instance
107
+ if (this.stt && !this.hasSameSTTAndLLM()) {
81
108
  promises.push(this.stt.initialize(onProgress));
82
109
  }
83
110
  if (this.tts) {
84
111
  promises.push(this.tts.initialize(onProgress));
85
112
  }
86
113
  await Promise.all(promises);
114
+ this.initialized = true;
87
115
  }
116
+ /**
117
+ * Check if the pipeline has been initialized (cache warmed).
118
+ */
88
119
  isReady() {
89
- const sttReady = this.stt ? this.stt.isReady() : true;
90
- const ttsReady = this.tts ? this.tts.isReady() : true;
91
- return sttReady && this.llm.isReady() && ttsReady;
120
+ return this.initialized;
121
+ }
122
+ /**
123
+ * Create per-session backend instances.
124
+ * Call this when a new session (e.g., WebSocket connection) starts.
125
+ * Returns initialized backends ready for use.
126
+ */
127
+ async createSessionBackends() {
128
+ if (!this.initialized) {
129
+ throw new Error('VoicePipeline not initialized. Call initialize() first.');
130
+ }
131
+ // Create fresh instances for this session
132
+ // Handle special case: if stt and llm use the same factory, share the instance
133
+ let stt;
134
+ let llm;
135
+ if (this.hasSameSTTAndLLM()) {
136
+ const sharedInstance = this.llmFactory();
137
+ stt = sharedInstance;
138
+ llm = sharedInstance;
139
+ }
140
+ else {
141
+ stt = this.sttFactory?.() ?? null;
142
+ llm = this.llmFactory();
143
+ }
144
+ const tts = this.ttsFactory?.() ?? null;
145
+ // Initialize (fast - uses cache)
146
+ const promises = [llm.initialize()];
147
+ // Only initialize STT separately if it's a different instance
148
+ if (stt && !this.hasSameSTTAndLLM()) {
149
+ promises.push(stt.initialize());
150
+ }
151
+ if (tts)
152
+ promises.push(tts.initialize());
153
+ await Promise.all(promises);
154
+ return { stt, llm, tts };
155
+ }
156
+ /**
157
+ * Check if this pipeline has the same factory for STT and LLM.
158
+ * Used by handlers to detect CloudAudioLLM pattern where one instance serves both roles.
159
+ */
160
+ hasSameSTTAndLLM() {
161
+ return this.sttFactory !== null && this.sttFactory === this.llmFactory;
92
162
  }
93
163
  /**
94
164
  * Check if pipeline has STT configured
95
165
  */
96
166
  hasSTT() {
97
- return this.stt !== null;
167
+ return this.sttFactory !== null;
98
168
  }
99
169
  /**
100
170
  * Check if pipeline has TTS configured
101
171
  */
102
172
  hasTTS() {
103
- return this.tts !== null;
173
+ return this.ttsFactory !== null;
104
174
  }
105
175
  /**
106
176
  * Process text input through LLM (and optionally TTS)
107
177
  * Returns new messages to append to history
178
+ * @param backends - Optional per-session backends. If not provided, uses pipeline's internal backends.
108
179
  */
109
- async processText(text, context, callbacks) {
180
+ async processText(text, context, callbacks, backends) {
181
+ const llm = backends?.llm ?? this.llm;
182
+ const tts = backends?.tts ?? this.tts;
183
+ if (!llm) {
184
+ callbacks.onError(new Error('Pipeline not initialized. Call initialize() first.'));
185
+ return [];
186
+ }
110
187
  try {
188
+ // Create a fresh TurnContext for this turn
189
+ const turn = this.createTurnContext(context);
111
190
  const newMessages = await this.processTranscript(text, context, {
112
191
  ...callbacks,
113
192
  onTranscript: () => { },
114
- });
193
+ }, llm, tts, turn);
115
194
  callbacks.onComplete();
116
195
  return newMessages;
117
196
  }
@@ -120,23 +199,42 @@ export class VoicePipeline {
120
199
  return [];
121
200
  }
122
201
  }
202
+ /**
203
+ * Create a TurnContext for a single turn through the pipeline
204
+ */
205
+ createTurnContext(context) {
206
+ return {
207
+ history: context.history,
208
+ tools: this.toolDefinitions.length > 0 ? this.toolDefinitions : undefined,
209
+ };
210
+ }
123
211
  /**
124
212
  * Process audio input through STT → LLM → TTS
125
213
  * Returns new messages to append to history
214
+ * @param backends - Optional per-session backends. If not provided, uses pipeline's internal backends.
126
215
  */
127
- async processAudio(audio, context, callbacks) {
128
- if (!this.stt) {
216
+ async processAudio(audio, context, callbacks, backends) {
217
+ const stt = backends?.stt ?? this.stt;
218
+ const llm = backends?.llm ?? this.llm;
219
+ const tts = backends?.tts ?? this.tts;
220
+ if (!this.sttFactory) {
129
221
  callbacks.onError(new Error('No STT backend configured. Use processText() instead.'));
130
222
  return [];
131
223
  }
224
+ if (!stt || !llm) {
225
+ callbacks.onError(new Error('Pipeline not initialized. Call initialize() first.'));
226
+ return [];
227
+ }
132
228
  try {
133
- const transcript = await this.stt.transcribe(audio);
229
+ // Create a fresh TurnContext for this turn
230
+ const turn = this.createTurnContext(context);
231
+ const transcript = await stt.transcribe(audio, turn);
134
232
  if (!transcript.trim()) {
135
233
  callbacks.onError(new Error('Could not transcribe audio'));
136
234
  return [];
137
235
  }
138
236
  callbacks.onTranscript(transcript);
139
- const newMessages = await this.processTranscript(transcript, context, callbacks);
237
+ const newMessages = await this.processTranscript(transcript, context, callbacks, llm, tts, turn);
140
238
  callbacks.onComplete();
141
239
  return newMessages;
142
240
  }
@@ -148,23 +246,23 @@ export class VoicePipeline {
148
246
  /**
149
247
  * Internal: Process transcript through LLM
150
248
  */
151
- async processTranscript(transcript, context, callbacks) {
249
+ async processTranscript(transcript, context, callbacks, llm, tts, turn) {
152
250
  const newMessages = [];
153
251
  // Add user message to context history
154
252
  const userMessage = { role: 'user', content: transcript };
155
253
  context.history.push(userMessage);
156
254
  newMessages.push(userMessage);
157
255
  // Generate response with context
158
- const responseMessages = await this.generateResponse(context, callbacks);
256
+ const responseMessages = await this.generateResponse(context, callbacks, llm, tts, turn);
159
257
  newMessages.push(...responseMessages);
160
258
  return newMessages;
161
259
  }
162
260
  /**
163
261
  * Internal: Generate LLM response (with tool loop)
164
262
  */
165
- async generateResponse(context, callbacks) {
263
+ async generateResponse(context, callbacks, llm, tts, turn) {
166
264
  const newMessages = [];
167
- const useNativeTools = (this.llm.supportsTools?.() ?? false) && this.toolDefinitions.length > 0;
265
+ const useNativeTools = (llm.supportsTools?.() ?? false) && this.toolDefinitions.length > 0;
168
266
  const hasTools = this.toolDefinitions.length > 0;
169
267
  // Tool execution loop
170
268
  for (let iteration = 0; iteration < MAX_TOOL_ITERATIONS; iteration++) {
@@ -172,8 +270,8 @@ export class VoicePipeline {
172
270
  // Native tools now support streaming (via <text_response> format)
173
271
  // So we can stream whenever it's appropriate
174
272
  const shouldStream = !isToolCheckTurn || useNativeTools;
175
- const result = await this.generateLLMResponse(context, callbacks, useNativeTools, shouldStream // Enable streaming for native tools too
176
- );
273
+ const result = await this.generateLLMResponse(context, callbacks, useNativeTools, shouldStream, // Enable streaming for native tools too
274
+ llm, tts, turn);
177
275
  const toolCalls = useNativeTools
178
276
  ? result.toolCalls
179
277
  : this.parsePromptBasedToolCalls(result.content);
@@ -181,7 +279,7 @@ export class VoicePipeline {
181
279
  // Only call streamResponse if we didn't stream during generation
182
280
  // Native tools stream during generation, so skip here
183
281
  if (!shouldStream) {
184
- await this.streamResponse(result.content, callbacks);
282
+ await this.streamResponse(result.content, callbacks, tts);
185
283
  }
186
284
  const assistantMsg = { role: 'assistant', content: result.content };
187
285
  context.history.push(assistantMsg);
@@ -192,7 +290,7 @@ export class VoicePipeline {
192
290
  if (this.toolFillerPhrases.length > 0) {
193
291
  const fillerPhrase = this.toolFillerPhrases[this.fillerPhraseIndex % this.toolFillerPhrases.length];
194
292
  this.fillerPhraseIndex++;
195
- await this.streamResponse(fillerPhrase + ' ', callbacks);
293
+ await this.streamResponse(fillerPhrase + ' ', callbacks, tts);
196
294
  }
197
295
  const assistantContent = useNativeTools ? result.content : '';
198
296
  const assistantMsg = {
@@ -247,16 +345,16 @@ export class VoicePipeline {
247
345
  /**
248
346
  * Stream a response to the client with optional TTS
249
347
  */
250
- async streamResponse(content, callbacks) {
348
+ async streamResponse(content, callbacks, tts) {
251
349
  if (!content)
252
350
  return;
253
351
  // Stream text chunks
254
352
  callbacks.onResponseChunk(content);
255
353
  // TTS if available
256
- if (this.tts) {
354
+ if (tts) {
257
355
  const normalizedText = this.textNormalizer.normalize(content);
258
356
  if (normalizedText) {
259
- const playable = await this.tts.synthesize(normalizedText);
357
+ const playable = await tts.synthesize(normalizedText);
260
358
  callbacks.onAudio(playable);
261
359
  }
262
360
  }
@@ -264,29 +362,29 @@ export class VoicePipeline {
264
362
  /**
265
363
  * Generate LLM response
266
364
  */
267
- async generateLLMResponse(context, callbacks, useNativeTools, shouldStream) {
365
+ async generateLLMResponse(context, callbacks, useNativeTools, shouldStream, llm, tts, turn) {
268
366
  const tools = this.toolDefinitions.length > 0 ? this.toolDefinitions : undefined;
269
- if (shouldStream && this.tts) {
270
- return this.generateWithStreamingTTS(context, callbacks, useNativeTools);
367
+ if (shouldStream && tts) {
368
+ return this.generateWithStreamingTTS(context, callbacks, useNativeTools, llm, tts, turn);
271
369
  }
272
370
  if (shouldStream) {
273
- const result = await this.llm.generate(context.history, {
371
+ const result = await llm.generate(context.history, {
274
372
  tools,
275
- conversationId: context.conversationId,
276
373
  onToken: (token) => callbacks.onResponseChunk(token),
374
+ turn,
277
375
  });
278
376
  return { content: result.content, toolCalls: result.toolCalls };
279
377
  }
280
- const result = await this.llm.generate(context.history, {
378
+ const result = await llm.generate(context.history, {
281
379
  tools,
282
- conversationId: context.conversationId,
380
+ turn,
283
381
  });
284
382
  return { content: result.content, toolCalls: result.toolCalls };
285
383
  }
286
384
  /**
287
385
  * Generate with streaming TTS (sentence by sentence)
288
386
  */
289
- async generateWithStreamingTTS(context, callbacks, _useNativeTools) {
387
+ async generateWithStreamingTTS(context, callbacks, _useNativeTools, llm, tts, turn) {
290
388
  const tools = this.toolDefinitions.length > 0 ? this.toolDefinitions : undefined;
291
389
  let sentenceBuffer = '';
292
390
  const sentenceEnders = /[.!?]/;
@@ -304,7 +402,7 @@ export class VoicePipeline {
304
402
  };
305
403
  const queueTTS = (sentence, index) => {
306
404
  const normalizedText = this.textNormalizer.normalize(sentence);
307
- const promise = this.tts
405
+ const promise = tts
308
406
  .synthesize(normalizedText)
309
407
  .then((playable) => {
310
408
  playableQueue.set(index, playable);
@@ -316,9 +414,9 @@ export class VoicePipeline {
316
414
  });
317
415
  ttsPromises.push(promise);
318
416
  };
319
- const result = await this.llm.generate(context.history, {
417
+ const result = await llm.generate(context.history, {
320
418
  tools,
321
- conversationId: context.conversationId,
419
+ turn,
322
420
  onToken: (token) => {
323
421
  callbacks.onResponseChunk(token);
324
422
  sentenceBuffer += token;
@@ -1 +1 @@
1
- {"version":3,"file":"voice-pipeline.js","sourceRoot":"","sources":["../src/voice-pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"voice-pipeline.js","sourceRoot":"","sources":["../src/voice-pipeline.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "modular-voice-agent-sdk",
3
- "version": "1.0.0",
3
+ "version": "1.2.0",
4
4
  "description": "Modular isomorphic STT → LLM → TTS pipeline library for AI voice agents and voice assistants",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
package/scripts/setup.sh CHANGED
@@ -110,6 +110,29 @@ else
110
110
  fi
111
111
  fi
112
112
 
113
+ # --- llama.cpp (llama-mtmd-cli for multimodal audio) ---
114
+ echo ""
115
+ echo "==> Setting up llama-mtmd-cli (for audio LLMs)..."
116
+ if [ -L "llama-mtmd-cli" ] || [ -f "llama-mtmd-cli" ]; then
117
+ echo " Already exists, skipping."
118
+ else
119
+ # Try to find llama-mtmd-cli from PATH or common locations
120
+ if command -v llama-mtmd-cli &> /dev/null; then
121
+ MTMD_PATH="$(command -v llama-mtmd-cli)"
122
+ ln -s "$MTMD_PATH" llama-mtmd-cli
123
+ echo " Linked to $MTMD_PATH"
124
+ elif [ -f "/opt/homebrew/bin/llama-mtmd-cli" ]; then
125
+ ln -s /opt/homebrew/bin/llama-mtmd-cli llama-mtmd-cli
126
+ echo " Linked to /opt/homebrew/bin/llama-mtmd-cli"
127
+ elif [ -f "/usr/local/bin/llama-mtmd-cli" ]; then
128
+ ln -s /usr/local/bin/llama-mtmd-cli llama-mtmd-cli
129
+ echo " Linked to /usr/local/bin/llama-mtmd-cli"
130
+ else
131
+ echo " ⚠️ llama-mtmd-cli not found (optional - for audio LLMs)."
132
+ echo " Install with: brew install llama.cpp"
133
+ fi
134
+ fi
135
+
113
136
  # --- sherpa-onnx (TTS) ---
114
137
  echo ""
115
138
  echo "==> Setting up sherpa-onnx for $OS/$ARCH..."