Skip to content

ResolvedPipeline

A fully resolved 5-role pipeline with a provider assigned to each slot.

Defined in: src/core/types/providers.ts:1495

A fully resolved 5-role pipeline with a provider assigned to each slot.

Remarks

ResolvedPipeline is the output of the provider resolution algorithm (resolveProviders()). It guarantees that every pipeline stage has exactly one provider assigned. Multi-role providers may appear in multiple slots (e.g. NativeSTT fills both input and stt).

[input] -> InputQueue -> [stt] -> [llm] -> [tts] -> OutputQueue -> [output]
   |                       |        |        |                        |
   v                       v        v        v                        v
AudioInputProvider   STTProvider  LLMProvider  TTSProvider   AudioOutputProvider

Example

import { resolveProviders } from 'composite-voice';
import type { ResolvedPipeline } from 'composite-voice';

const pipeline: ResolvedPipeline = resolveProviders([
  new MicrophoneInput(),
  new DeepgramSTT({ apiKey: '...' }),
  new AnthropicLLM({ model: 'claude-sonnet-4-20250514', apiKey: '...' }),
  new DeepgramTTS({ apiKey: '...' }),
  new BrowserAudioOutput(),
]);

console.log(pipeline.input);  // MicrophoneInput
console.log(pipeline.stt);    // DeepgramSTT
console.log(pipeline.llm);    // AnthropicLLM
console.log(pipeline.tts);    // DeepgramTTS
console.log(pipeline.output); // BrowserAudioOutput

See

Properties

PropertyTypeDescriptionDefined in
inputAudioInputProviderProvider handling the 'input' role (audio capture).src/core/types/providers.ts:1497
llmLLMProviderProvider handling the 'llm' role (language model).src/core/types/providers.ts:1503
outputAudioOutputProviderProvider handling the 'output' role (audio playback).src/core/types/providers.ts:1509
sttSTTProviderProvider handling the 'stt' role (speech-to-text).src/core/types/providers.ts:1500
ttsTTSProviderProvider handling the 'tts' role (text-to-speech).src/core/types/providers.ts:1506

© 2026 CompositeVoice. All rights reserved.

Font size
Contrast
Motion
Transparency