modular-voice-agent-sdk 1.2.1 → 1.3.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.
package/README.md CHANGED
@@ -9,10 +9,12 @@ import { createVoiceClient, WebSpeechSTT, WebSpeechTTS } from 'modular-voice-age
9
9
  import { TransformersLLM } from 'modular-voice-agent-sdk';
10
10
 
11
11
  const client = createVoiceClient({
12
- stt: new WebSpeechSTT(),
13
- llm: new TransformersLLM({ model: 'HuggingFaceTB/SmolLM2-360M-Instruct' }),
14
- tts: new WebSpeechTTS(),
15
- systemPrompt: 'You are a helpful assistant.',
12
+ create: (modelStore) => ({
13
+ stt: new WebSpeechSTT(),
14
+ llm: new TransformersLLM({ model: 'HuggingFaceTB/SmolLM2-360M-Instruct' }, modelStore),
15
+ tts: new WebSpeechTTS(),
16
+ systemPrompt: 'You are a helpful assistant.',
17
+ }),
16
18
  });
17
19
 
18
20
  await client.connect();
@@ -10,12 +10,19 @@
10
10
  * for JSON-based tool calling, parsed by VoicePipeline.
11
11
  */
12
12
  import type { LLMPipeline, TransformersLLMConfig, ProgressCallback, Message, LLMGenerateOptions, LLMGenerateResult } from '../../types';
13
+ import type { ModelStore } from '../../voice-pipeline';
13
14
  export declare class TransformersLLM implements LLMPipeline {
14
15
  private config;
16
+ private modelStore;
15
17
  private pipe;
16
18
  private ready;
17
19
  private tracker;
18
- constructor(config: TransformersLLMConfig);
20
+ /**
21
+ * @param config - LLM configuration
22
+ * @param modelStore - Pipeline-scoped model store for caching.
23
+ * Models are cached here and shared across sessions within the same pipeline.
24
+ */
25
+ constructor(config: TransformersLLMConfig, modelStore: ModelStore);
19
26
  initialize(onProgress?: ProgressCallback): Promise<void>;
20
27
  supportsTools(): boolean;
21
28
  generate(messages: Message[], options?: LLMGenerateOptions): Promise<LLMGenerateResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../../src/backends/transformers/llm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EACV,WAAW,EACX,qBAAqB,EACrB,gBAAgB,EAChB,OAAO,EACP,kBAAkB,EAClB,iBAAiB,EAGlB,MAAM,aAAa,CAAC;AAIrB,qBAAa,eAAgB,YAAW,WAAW;IACjD,OAAO,CAAC,MAAM,CAAwB;IAEtC,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAyB;gBAE5B,MAAM,EAAE,qBAAqB;IAKnC,UAAU,CAAC,UAAU,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB9D,aAAa,IAAI,OAAO;IAMlB,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAkC7F;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,IAAI,OAAO;CAGnB"}
1
+ {"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../../src/backends/transformers/llm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EACV,WAAW,EACX,qBAAqB,EACrB,gBAAgB,EAChB,OAAO,EACP,kBAAkB,EAClB,iBAAiB,EAGlB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,qBAAa,eAAgB,YAAW,WAAW;IACjD,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,UAAU,CAAa;IAE/B,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAyB;IAExC;;;;OAIG;gBACS,MAAM,EAAE,qBAAqB,EAAE,UAAU,EAAE,UAAU;IAM3D,UAAU,CAAC,UAAU,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB9D,aAAa,IAAI,OAAO;IAMlB,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAkC7F;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,IAAI,OAAO;CAGnB"}
@@ -11,29 +11,37 @@
11
11
  */
12
12
  import { pipeline } from '@huggingface/transformers';
13
13
  import { LLMLogger, LLMConversationTracker } from '../../services';
14
- import { getCachedOrLoad } from '../../cache-runtime';
15
14
  export class TransformersLLM {
16
15
  config;
16
+ modelStore;
17
17
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
18
18
  pipe = null;
19
19
  ready = false;
20
20
  tracker;
21
- constructor(config) {
21
+ /**
22
+ * @param config - LLM configuration
23
+ * @param modelStore - Pipeline-scoped model store for caching.
24
+ * Models are cached here and shared across sessions within the same pipeline.
25
+ */
26
+ constructor(config, modelStore) {
22
27
  this.config = config;
28
+ this.modelStore = modelStore;
23
29
  this.tracker = new LLMConversationTracker(new LLMLogger());
24
30
  }
25
31
  async initialize(onProgress) {
26
- const cacheKey = `transformers-llm:${this.config.model}:${this.config.dtype}:${this.config.device ?? 'default'}`;
27
- this.pipe = await getCachedOrLoad(cacheKey, async () => {
32
+ if (this.modelStore.has('llm')) {
33
+ this.pipe = this.modelStore.get('llm');
34
+ }
35
+ else {
28
36
  console.log(`Loading LLM model (${this.config.model})...`);
29
- const pipe = await pipeline('text-generation', this.config.model, {
37
+ this.pipe = await pipeline('text-generation', this.config.model, {
30
38
  dtype: this.config.dtype,
31
39
  device: this.config.device,
32
40
  progress_callback: onProgress,
33
41
  });
34
42
  console.log('LLM model loaded.');
35
- return pipe;
36
- });
43
+ this.modelStore.set('llm', this.pipe);
44
+ }
37
45
  this.ready = true;
38
46
  }
39
47
  supportsTools() {
@@ -1 +1 @@
1
- {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../../src/backends/transformers/llm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../../src/backends/transformers/llm.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,18 @@
5
5
  * Supports Whisper, Moonshine, Wav2Vec2, and other ASR models from Hugging Face.
6
6
  */
7
7
  import type { STTPipeline, TransformersSTTConfig, ProgressCallback, TurnContext } from '../../types';
8
+ import type { ModelStore } from '../../voice-pipeline';
8
9
  export declare class TransformersSTT implements STTPipeline {
9
10
  private config;
11
+ private modelStore;
10
12
  private pipe;
11
13
  private ready;
12
- constructor(config: TransformersSTTConfig);
14
+ /**
15
+ * @param config - STT configuration
16
+ * @param modelStore - Pipeline-scoped model store for caching.
17
+ * Models are cached here and shared across sessions within the same pipeline.
18
+ */
19
+ constructor(config: TransformersSTTConfig, modelStore: ModelStore);
13
20
  initialize(onProgress?: ProgressCallback): Promise<void>;
14
21
  transcribe(audio: Float32Array, _turn?: TurnContext): Promise<string>;
15
22
  isReady(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"stt.d.ts","sourceRoot":"","sources":["../../../src/backends/transformers/stt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGrG,qBAAa,eAAgB,YAAW,WAAW;IACjD,OAAO,CAAC,MAAM,CAAwB;IAEtC,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,KAAK,CAAS;gBAEV,MAAM,EAAE,qBAAqB;IAInC,UAAU,CAAC,UAAU,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBxD,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAiB3E,OAAO,IAAI,OAAO;CAGnB"}
1
+ {"version":3,"file":"stt.d.ts","sourceRoot":"","sources":["../../../src/backends/transformers/stt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACrG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,qBAAa,eAAgB,YAAW,WAAW;IACjD,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,UAAU,CAAa;IAE/B,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,KAAK,CAAS;IAEtB;;;;OAIG;gBACS,MAAM,EAAE,qBAAqB,EAAE,UAAU,EAAE,UAAU;IAK3D,UAAU,CAAC,UAAU,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBxD,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAiB3E,OAAO,IAAI,OAAO;CAGnB"}
@@ -5,27 +5,35 @@
5
5
  * Supports Whisper, Moonshine, Wav2Vec2, and other ASR models from Hugging Face.
6
6
  */
7
7
  import { pipeline } from '@huggingface/transformers';
8
- import { getCachedOrLoad } from '../../cache-runtime';
9
8
  export class TransformersSTT {
10
9
  config;
10
+ modelStore;
11
11
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
12
  pipe = null;
13
13
  ready = false;
14
- constructor(config) {
14
+ /**
15
+ * @param config - STT configuration
16
+ * @param modelStore - Pipeline-scoped model store for caching.
17
+ * Models are cached here and shared across sessions within the same pipeline.
18
+ */
19
+ constructor(config, modelStore) {
15
20
  this.config = config;
21
+ this.modelStore = modelStore;
16
22
  }
17
23
  async initialize(onProgress) {
18
- const cacheKey = `transformers-stt:${this.config.model}:${this.config.dtype}:${this.config.device ?? 'default'}`;
19
- this.pipe = await getCachedOrLoad(cacheKey, async () => {
24
+ if (this.modelStore.has('stt')) {
25
+ this.pipe = this.modelStore.get('stt');
26
+ }
27
+ else {
20
28
  console.log(`Loading STT model (${this.config.model})...`);
21
- const pipe = await pipeline('automatic-speech-recognition', this.config.model, {
29
+ this.pipe = await pipeline('automatic-speech-recognition', this.config.model, {
22
30
  dtype: this.config.dtype,
23
31
  device: this.config.device,
24
32
  progress_callback: onProgress,
25
33
  });
26
34
  console.log('STT model loaded.');
27
- return pipe;
28
- });
35
+ this.modelStore.set('stt', this.pipe);
36
+ }
29
37
  this.ready = true;
30
38
  }
31
39
  async transcribe(audio, _turn) {
@@ -1 +1 @@
1
- {"version":3,"file":"stt.js","sourceRoot":"","sources":["../../../src/backends/transformers/stt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,OAAO,eAAe;IAClB,MAAM,CAAwB;IACtC,8DAA8D;IACtD,IAAI,GAAQ,IAAI,CAAC;IACjB,KAAK,GAAG,KAAK,CAAC;IAEtB,YAAY,MAA6B;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAA6B;QAC5C,MAAM,QAAQ,GAAG,oBAAoB,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;QAEjH,IAAI,CAAC,IAAI,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YACrD,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,8BAA8B,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;gBAC7E,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAsC;gBACzD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;gBAC1B,iBAAiB,EAAE,UAAU;aAC9B,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAmB,EAAE,KAAmB;QACvD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ;YAClC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAqB,EAAE;YACjE,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAE/C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACvC,CAAC;QACD,OAAQ,MAA2B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF"}
1
+ {"version":3,"file":"stt.js","sourceRoot":"","sources":["../../../src/backends/transformers/stt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAIrD,MAAM,OAAO,eAAe;IAClB,MAAM,CAAwB;IAC9B,UAAU,CAAa;IAC/B,8DAA8D;IACtD,IAAI,GAAQ,IAAI,CAAC;IACjB,KAAK,GAAG,KAAK,CAAC;IAEtB;;;;OAIG;IACH,YAAY,MAA6B,EAAE,UAAsB;QAC/D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAA6B;QAC5C,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,CAAC;YAC3D,IAAI,CAAC,IAAI,GAAG,MAAM,QAAQ,CAAC,8BAA8B,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;gBAC5E,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAsC;gBACzD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;gBAC1B,iBAAiB,EAAE,UAAU;aAC9B,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACjC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAmB,EAAE,KAAmB;QACvD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ;YAClC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAqB,EAAE;YACjE,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAE/C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACvC,CAAC;QACD,OAAQ,MAA2B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF"}
@@ -5,11 +5,18 @@
5
5
  * Supports SpeechT5 and other TTS models from Hugging Face.
6
6
  */
7
7
  import type { TTSPipeline, TransformersTTSConfig, ProgressCallback, AudioPlayable } from '../../types';
8
+ import type { ModelStore } from '../../voice-pipeline';
8
9
  export declare class TransformersTTS implements TTSPipeline {
9
10
  private config;
11
+ private modelStore;
10
12
  private pipe;
11
13
  private ready;
12
- constructor(config: TransformersTTSConfig);
14
+ /**
15
+ * @param config - TTS configuration
16
+ * @param modelStore - Pipeline-scoped model store for caching.
17
+ * Models are cached here and shared across sessions within the same pipeline.
18
+ */
19
+ constructor(config: TransformersTTSConfig, modelStore: ModelStore);
13
20
  initialize(onProgress?: ProgressCallback): Promise<void>;
14
21
  synthesize(text: string): Promise<AudioPlayable>;
15
22
  isReady(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"tts.d.ts","sourceRoot":"","sources":["../../../src/backends/transformers/tts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIvG,qBAAa,eAAgB,YAAW,WAAW;IACjD,OAAO,CAAC,MAAM,CAAwB;IAEtC,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,KAAK,CAAS;gBAEV,MAAM,EAAE,qBAAqB;IAInC,UAAU,CAAC,UAAU,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBxD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAYtD,OAAO,IAAI,OAAO;CAGnB"}
1
+ {"version":3,"file":"tts.d.ts","sourceRoot":"","sources":["../../../src/backends/transformers/tts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEvG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,qBAAa,eAAgB,YAAW,WAAW;IACjD,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,UAAU,CAAa;IAE/B,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,KAAK,CAAS;IAEtB;;;;OAIG;gBACS,MAAM,EAAE,qBAAqB,EAAE,UAAU,EAAE,UAAU;IAK3D,UAAU,CAAC,UAAU,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBxD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAYtD,OAAO,IAAI,OAAO;CAGnB"}
@@ -6,27 +6,35 @@
6
6
  */
7
7
  import { pipeline } from '@huggingface/transformers';
8
8
  import { BufferedAudioPlayable } from '../../types';
9
- import { getCachedOrLoad } from '../../cache-runtime';
10
9
  export class TransformersTTS {
11
10
  config;
11
+ modelStore;
12
12
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
13
  pipe = null;
14
14
  ready = false;
15
- constructor(config) {
15
+ /**
16
+ * @param config - TTS configuration
17
+ * @param modelStore - Pipeline-scoped model store for caching.
18
+ * Models are cached here and shared across sessions within the same pipeline.
19
+ */
20
+ constructor(config, modelStore) {
16
21
  this.config = config;
22
+ this.modelStore = modelStore;
17
23
  }
18
24
  async initialize(onProgress) {
19
- const cacheKey = `transformers-tts:${this.config.model}:${this.config.dtype}:${this.config.device ?? 'default'}`;
20
- this.pipe = await getCachedOrLoad(cacheKey, async () => {
25
+ if (this.modelStore.has('tts')) {
26
+ this.pipe = this.modelStore.get('tts');
27
+ }
28
+ else {
21
29
  console.log(`Loading TTS model (${this.config.model})...`);
22
- const pipe = await pipeline('text-to-speech', this.config.model, {
30
+ this.pipe = await pipeline('text-to-speech', this.config.model, {
23
31
  dtype: this.config.dtype,
24
32
  device: this.config.device,
25
33
  progress_callback: onProgress,
26
34
  });
27
35
  console.log('TTS model loaded.');
28
- return pipe;
29
- });
36
+ this.modelStore.set('tts', this.pipe);
37
+ }
30
38
  this.ready = true;
31
39
  }
32
40
  async synthesize(text) {
@@ -1 +1 @@
1
- {"version":3,"file":"tts.js","sourceRoot":"","sources":["../../../src/backends/transformers/tts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,OAAO,eAAe;IAClB,MAAM,CAAwB;IACtC,8DAA8D;IACtD,IAAI,GAAQ,IAAI,CAAC;IACjB,KAAK,GAAG,KAAK,CAAC;IAEtB,YAAY,MAA6B;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAA6B;QAC5C,MAAM,QAAQ,GAAG,oBAAoB,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;QAEjH,IAAI,CAAC,IAAI,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YACrD,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;gBAC/D,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAsC;gBACzD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;gBAC1B,iBAAiB,EAAE,UAAU;aAC9B,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY;QAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACnC,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB;SAClD,CAAC,CAAC;QAEH,OAAO,IAAI,qBAAqB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IACvE,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF"}
1
+ {"version":3,"file":"tts.js","sourceRoot":"","sources":["../../../src/backends/transformers/tts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAGpD,MAAM,OAAO,eAAe;IAClB,MAAM,CAAwB;IAC9B,UAAU,CAAa;IAC/B,8DAA8D;IACtD,IAAI,GAAQ,IAAI,CAAC;IACjB,KAAK,GAAG,KAAK,CAAC;IAEtB;;;;OAIG;IACH,YAAY,MAA6B,EAAE,UAAsB;QAC/D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAA6B;QAC5C,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,CAAC;YAC3D,IAAI,CAAC,IAAI,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;gBAC9D,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAsC;gBACzD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;gBAC1B,iBAAiB,EAAE,UAAU;aAC9B,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACjC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY;QAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACnC,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB;SAClD,CAAC,CAAC;QAEH,OAAO,IAAI,qBAAqB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IACvE,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF"}
package/dist/cache.d.ts CHANGED
@@ -3,9 +3,8 @@
3
3
  * Models and binaries are stored in ~/.cache/mvas/ by default
4
4
  *
5
5
  * NOTE: This module uses Node.js APIs (os, path) and is SERVER-ONLY.
6
- * For browser-safe caching, use cache-runtime.ts instead.
6
+ * For browser model caching, use the ModelStore passed to backend constructors.
7
7
  */
8
- export { getCachedOrLoad, isCached, clearCached, clearAllCached, } from './cache-runtime';
9
8
  /**
10
9
  * Get the cache directory for mvas assets.
11
10
  * Default: ~/.cache/mvas
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EACL,eAAe,EACf,QAAQ,EACR,WAAW,EACX,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;GAEG;AACH,eAAO,MAAM,eAAe;;;;CAI3B,CAAC"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;GAEG;AACH,eAAO,MAAM,eAAe;;;;CAI3B,CAAC"}
package/dist/cache.js CHANGED
@@ -3,12 +3,10 @@
3
3
  * Models and binaries are stored in ~/.cache/mvas/ by default
4
4
  *
5
5
  * NOTE: This module uses Node.js APIs (os, path) and is SERVER-ONLY.
6
- * For browser-safe caching, use cache-runtime.ts instead.
6
+ * For browser model caching, use the ModelStore passed to backend constructors.
7
7
  */
8
8
  import { homedir } from 'os';
9
9
  import { join } from 'path';
10
- // Re-export browser-safe runtime cache functions
11
- export { getCachedOrLoad, isCached, clearCached, clearAllCached, } from './cache-runtime';
12
10
  /**
13
11
  * Get the cache directory for mvas assets.
14
12
  * Default: ~/.cache/mvas
package/dist/cache.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,iDAAiD;AACjD,OAAO,EACL,eAAe,EACf,QAAQ,EACR,WAAW,EACX,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB;;;;GAIG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACrE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,UAAU,EAAE,aAAa;IACzB,eAAe,EAAE,kBAAkB;IACnC,aAAa,EAAE,yBAAyB;CACzC,CAAC"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B;;;;GAIG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACrE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,UAAU,EAAE,aAAa;IACzB,eAAe,EAAE,kBAAkB;IACnC,aAAa,EAAE,yBAAyB;CACzC,CAAC"}
@@ -21,7 +21,8 @@
21
21
  * ```
22
22
  */
23
23
  export { VoiceClient, createVoiceClient } from './voice-client';
24
- export type { VoiceClientConfig, VoiceClientEvents, VoiceClientStatus, BrowserSupport } from './voice-client';
24
+ export type { VoiceClientConfig, VoiceClientEvents, VoiceClientStatus, BrowserSupport, ClientComponents, ClientComponentFactory, } from './voice-client';
25
+ export type { ModelStore } from '../voice-pipeline';
25
26
  export { WebSpeechSTT } from './web-speech-stt';
26
27
  export type { WebSpeechSTTConfig, WebSpeechSTTResult } from './web-speech-stt';
27
28
  export { WebSpeechTTS } from './web-speech-tts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAG9G,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE/E,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEhF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,EACL,eAAe,EACf,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,YAAY,GAClB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAChE,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE/E,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEhF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,EACL,eAAe,EACf,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,YAAY,GAClB,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,WAAW;AACX,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGhE,0CAA0C;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,qDAAqD;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,+BAA+B;AAC/B,OAAO,EACL,eAAe,EACf,eAAe,GAYhB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,WAAW;AACX,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAahE,0CAA0C;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,qDAAqD;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,+BAA+B;AAC/B,OAAO,EACL,eAAe,EACf,eAAe,GAYhB,MAAM,YAAY,CAAC"}
@@ -34,28 +34,31 @@ export interface BrowserSupport {
34
34
  webSpeechSTTUsable: boolean;
35
35
  }
36
36
  export type VoiceClientStatus = 'disconnected' | 'connecting' | 'initializing' | 'ready' | 'listening' | 'processing' | 'speaking';
37
- export interface VoiceClientConfig {
37
+ /**
38
+ * Components returned by the client factory
39
+ */
40
+ export interface ClientComponents {
38
41
  /**
39
42
  * STT backend - runs locally in browser
40
43
  * - Provide an STTPipeline (e.g., TransformersSTT) or WebSpeechSTT for local STT
41
44
  * - Set to null to use server-side STT (requires serverUrl)
42
45
  * @default null (server handles)
43
46
  */
44
- stt?: STTPipeline | WebSpeechSTT | null;
47
+ stt: STTPipeline | WebSpeechSTT | null;
45
48
  /**
46
49
  * LLM backend - runs locally in browser
47
50
  * - Provide an LLMPipeline (e.g., TransformersLLM) for local LLM
48
51
  * - Set to null to use server-side LLM (requires serverUrl)
49
52
  * @default null (server handles)
50
53
  */
51
- llm?: LLMPipeline | null;
54
+ llm: LLMPipeline | null;
52
55
  /**
53
56
  * TTS backend - runs locally in browser
54
57
  * - Provide a TTSPipeline (e.g., TransformersTTS) or WebSpeechTTS for local TTS
55
58
  * - Set to null to use server-side TTS (requires serverUrl)
56
59
  * @default null (server handles)
57
60
  */
58
- tts?: TTSPipeline | WebSpeechTTS | null;
61
+ tts: TTSPipeline | WebSpeechTTS | null;
59
62
  /**
60
63
  * System prompt for the LLM (required if llm is provided)
61
64
  */
@@ -64,6 +67,48 @@ export interface VoiceClientConfig {
64
67
  * WebSocket server URL (required if any component is null)
65
68
  */
66
69
  serverUrl?: string;
70
+ }
71
+ import type { ModelStore } from '../voice-pipeline';
72
+ /**
73
+ * Factory function that creates client components.
74
+ *
75
+ * @param modelStore - Pipeline-scoped cache for heavy resources.
76
+ * Backends can use this to cache models across sessions (for fully-local mode).
77
+ * Typically not needed for client-side backends like WebSpeechTTS.
78
+ */
79
+ export type ClientComponentFactory = (modelStore: ModelStore) => ClientComponents;
80
+ export interface VoiceClientConfig {
81
+ /**
82
+ * Factory that creates components.
83
+ * Called once during client construction.
84
+ *
85
+ * The factory receives a `modelStore` for caching heavy resources.
86
+ * This is mainly useful for fully-local mode with Transformers backends.
87
+ *
88
+ * @example
89
+ * ```typescript
90
+ * // Simple: server handles heavy lifting
91
+ * createVoiceClient({
92
+ * create: (modelStore) => ({
93
+ * stt: null,
94
+ * llm: null,
95
+ * tts: new WebSpeechTTS(),
96
+ * serverUrl: 'ws://localhost:3100',
97
+ * }),
98
+ * });
99
+ *
100
+ * // Fully local with Transformers (uses modelStore for caching)
101
+ * createVoiceClient({
102
+ * create: (modelStore) => ({
103
+ * stt: new TransformersSTT(sttConfig, modelStore),
104
+ * llm: new TransformersLLM(llmConfig, modelStore),
105
+ * tts: new TransformersTTS(ttsConfig, modelStore),
106
+ * systemPrompt: 'You are a helpful assistant.',
107
+ * }),
108
+ * });
109
+ * ```
110
+ */
111
+ create: ClientComponentFactory;
67
112
  /**
68
113
  * Audio sample rate for recording (default: 16000)
69
114
  */
@@ -125,6 +170,7 @@ export declare class VoiceClient {
125
170
  private config;
126
171
  private mode;
127
172
  private needsServer;
173
+ private modelStore;
128
174
  private localSTT;
129
175
  private localLLM;
130
176
  private localTTS;
@@ -223,28 +269,45 @@ export declare class VoiceClient {
223
269
  }
224
270
  /**
225
271
  * Create a VoiceClient instance
272
+ *
226
273
  * @example
274
+ * ```typescript
227
275
  * // Fully local
228
276
  * const client = createVoiceClient({
229
- * stt: new TransformersSTT({ model: '...' }),
230
- * llm: new TransformersLLM({ model: '...' }),
231
- * tts: new WebSpeechTTS(),
232
- * systemPrompt: 'You are a helpful assistant.',
277
+ * create: () => ({
278
+ * stt: new TransformersSTT({ model: '...' }),
279
+ * llm: new TransformersLLM({ model: '...' }),
280
+ * tts: new WebSpeechTTS(),
281
+ * systemPrompt: 'You are a helpful assistant.',
282
+ * }),
233
283
  * });
284
+ * ```
234
285
  *
235
286
  * @example
287
+ * ```typescript
236
288
  * // Fully remote
237
289
  * const client = createVoiceClient({
238
- * serverUrl: 'ws://localhost:3000',
290
+ * create: () => ({
291
+ * stt: null,
292
+ * llm: null,
293
+ * tts: null,
294
+ * serverUrl: 'ws://localhost:3000',
295
+ * }),
239
296
  * });
297
+ * ```
240
298
  *
241
299
  * @example
242
- * // Hybrid: local STT/TTS, server LLM
300
+ * ```typescript
301
+ * // Hybrid: local TTS, server STT/LLM
243
302
  * const client = createVoiceClient({
244
- * stt: new WebSpeechSTT(),
245
- * tts: new WebSpeechTTS(),
246
- * serverUrl: 'ws://localhost:3000',
303
+ * create: () => ({
304
+ * stt: null,
305
+ * llm: null,
306
+ * tts: new WebSpeechTTS(),
307
+ * serverUrl: 'ws://localhost:3000',
308
+ * }),
247
309
  * });
310
+ * ```
248
311
  */
249
312
  export declare function createVoiceClient(config: VoiceClientConfig): VoiceClient;
250
313
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"voice-client.d.ts","sourceRoot":"","sources":["../../src/client/voice-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"voice-client.d.ts","sourceRoot":"","sources":["../../src/client/voice-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAmC,MAAM,UAAU,CAAC;AAIvG,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAUhD,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,YAAY,EAAE,OAAO,CAAC;IACtB,sDAAsD;IACtD,YAAY,EAAE,OAAO,CAAC;IACtB,gDAAgD;IAChD,MAAM,EAAE,OAAO,CAAC;IAChB,6CAA6C;IAC7C,YAAY,EAAE,OAAO,CAAC;IACtB,wBAAwB;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,wCAAwC;IACxC,YAAY,EAAE,OAAO,CAAC;IACtB,sEAAsE;IACtE,OAAO,EAAE,OAAO,CAAC;IACjB,iFAAiF;IACjF,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,MAAM,iBAAiB,GACzB,cAAc,GACd,YAAY,GACZ,cAAc,GACd,OAAO,GACP,WAAW,GACX,YAAY,GACZ,UAAU,CAAC;AAEf;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,GAAG,EAAE,WAAW,GAAG,YAAY,GAAG,IAAI,CAAC;IAEvC;;;;;OAKG;IACH,GAAG,EAAE,WAAW,GAAG,IAAI,CAAC;IAExB;;;;;OAKG;IACH,GAAG,EAAE,WAAW,GAAG,YAAY,GAAG,IAAI,CAAC;IAEvC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;;;;GAMG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,UAAU,EAAE,UAAU,KAAK,gBAAgB,CAAC;AAElF,MAAM,WAAW,iBAAiB;IAChC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,MAAM,EAAE,sBAAsB,CAAC;IAE/B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,iBAAiB;IAChC,+CAA+C;IAC/C,MAAM,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC5C,0CAA0C;IAC1C,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,2CAA2C;IAC3C,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,6BAA6B;IAC7B,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,2CAA2C;IAC3C,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IAC3C,gCAAgC;IAChC,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1D,qBAAqB;IACrB,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC9B,gDAAgD;IAChD,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAChF;AAED,KAAK,SAAS,GAAG,MAAM,iBAAiB,CAAC;AAezC,qBAAa,WAAW;IAGtB;;;;;;;;;OASG;IACH,MAAM,CAAC,iBAAiB,IAAI,cAAc;IA0B1C;;;OAGG;IACH,MAAM,CAAC,sBAAsB,IAAI,MAAM,EAAE;IAwBzC,OAAO,CAAC,MAAM,CAMZ;IAGF,OAAO,CAAC,IAAI,CAAgC;IAC5C,OAAO,CAAC,WAAW,CAAU;IAG7B,OAAO,CAAC,UAAU,CAAyB;IAG3C,OAAO,CAAC,QAAQ,CAA2C;IAC3D,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,QAAQ,CAA2C;IAC3D,OAAO,CAAC,aAAa,CAA8B;IAGnD,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,MAAM,CAA4B;IAG1C,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,SAAS,CAAuD;IACxE,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,cAAc,CAAM;IAC5B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,UAAU,CAAS;IAG3B,OAAO,CAAC,OAAO,CAAkF;IAGjG,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAAS;gBAGnB,MAAM,EAAE,iBAAiB;IAmDrC,OAAO,CAAC,eAAe;IAqDvB,OAAO,CAAC,iBAAiB;IAiCzB;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAehB,yBAAyB;YAsCzB,gBAAgB;IAsC9B;;OAEG;IACH,UAAU,IAAI,IAAI;IAiBlB;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAyBrC;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;YAiBtB,kBAAkB;YAclB,iBAAiB;YAMjB,iBAAiB;YAuCjB,kBAAkB;YAYlB,gBAAgB;YAiDhB,WAAW;IA+CzB;;OAEG;IACH,YAAY,IAAI,IAAI;IAcpB;;OAEG;IACH,SAAS,IAAI,iBAAiB;IAI9B;;OAEG;IACH,OAAO,IAAI,OAAO;IAOlB;;OAEG;IACH,WAAW,IAAI,OAAO;IAQtB;;OAEG;IACH,OAAO,IAAI,OAAO,GAAG,QAAQ,GAAG,QAAQ;IAIxC;;OAEG;IACH,kBAAkB,IAAI;QAAE,GAAG,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,OAAO,CAAA;KAAE;IAQlE;;OAEG;IACH,EAAE,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI;IAOvE;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI;IAIxE;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAY9B,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,mBAAmB;IA+D3B,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,aAAa;YASP,oBAAoB;IA2BlC,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,IAAI;IAaZ,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,sBAAsB;CAwD/B;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CAExE"}