@teamlearners/clawops 0.5.1 → 0.5.3

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.
@@ -142,7 +142,10 @@ interface ClearAudioFn {
142
142
  (): void;
143
143
  }
144
144
  interface HangupFn {
145
- (): void;
145
+ (): void | Promise<void>;
146
+ }
147
+ interface SendDtmfFn {
148
+ (digit: string): Promise<void>;
146
149
  }
147
150
  declare class CallSession {
148
151
  readonly callId: string;
@@ -156,6 +159,11 @@ declare class CallSession {
156
159
  private _sendAudioFn;
157
160
  private _clearAudioFn;
158
161
  private _hangupFn;
162
+ /** @internal */ _sendDtmfFn: SendDtmfFn | null;
163
+ /** @internal */ _isTransportConnected: (() => boolean) | null;
164
+ private _dtmfCollectorActive;
165
+ private _dtmfResolvers;
166
+ private _dtmfBuffer;
159
167
  private _handlers;
160
168
  private _endedPromise;
161
169
  private _resolveEnded;
@@ -170,13 +178,24 @@ declare class CallSession {
170
178
  get status(): CallStatus;
171
179
  get duration(): number;
172
180
  /** Bind transport functions (called internally by the agent). */
173
- _bindTransport(send: SendAudioFn, clear: ClearAudioFn, hangup: HangupFn): void;
181
+ _bindTransport(send: SendAudioFn, clear: ClearAudioFn, hangup: HangupFn, sendDtmf?: SendDtmfFn, isConnected?: () => boolean): void;
174
182
  /** Send PCM16 or ulaw audio to the caller. */
175
183
  sendAudio(audio: Buffer): void;
176
184
  /** Clear any queued outbound audio. */
177
185
  clearAudio(): void;
178
- /** Hang up the call. */
179
- hangup(): void;
186
+ /** Hang up the call, waiting for pending audio to finish. */
187
+ hangup(): Promise<void>;
188
+ /** @internal Route a received DTMF digit to an active collector or buffer. */
189
+ _routeDtmf(digit: string): void;
190
+ /** Collect DTMF digits from the caller. */
191
+ collectDtmf(options: {
192
+ maxDigits: number;
193
+ finishOnKey?: string;
194
+ timeout?: number;
195
+ secure?: boolean;
196
+ }): Promise<string>;
197
+ /** Send a sequence of DTMF digits. */
198
+ sendDtmfSequence(digits: string): Promise<void>;
180
199
  /** Register an event handler. */
181
200
  on(event: string, handler: SessionEventHandler): void;
182
201
  /** Wait for the call to end. */
@@ -187,6 +206,22 @@ declare class CallSession {
187
206
  _emit(event: string, ...args: any[]): void;
188
207
  }
189
208
 
209
+ /**
210
+ * Built-in tool definitions and selection constants.
211
+ */
212
+ declare enum BuiltinTool {
213
+ /** 전화 종료 도구. AI가 대화 완료 시 통화를 종료합니다. */
214
+ HANG_UP = "hang_up",
215
+ /** DTMF 수집 도구. 사용자의 키패드 입력을 수집합니다. */
216
+ COLLECT_DTMF = "collect_dtmf",
217
+ /** DTMF 전송 도구. ARS 탐색이나 내선번호 입력에 사용합니다. */
218
+ SEND_DTMF = "send_dtmf",
219
+ /** 모든 내장 도구를 활성화합니다. (기본값) */
220
+ ALL = "all",
221
+ /** 모든 내장 도구를 비활성화합니다. */
222
+ NONE = "none"
223
+ }
224
+
190
225
  /**
191
226
  * Base interfaces for the voice agent pipeline.
192
227
  */
@@ -224,6 +259,8 @@ interface Session {
224
259
  start(callSession: CallSession, tools?: ToolRegistry): Promise<void>;
225
260
  /** Feed raw audio into the session. */
226
261
  feedAudio(audio: Buffer): void;
262
+ /** Feed DTMF digits into the LLM context and trigger a response. */
263
+ feedDtmf?(digits: string): Promise<void>;
227
264
  /** Stop the session. */
228
265
  stop(): Promise<void>;
229
266
  }
@@ -293,7 +330,7 @@ declare function resetTracingConfig(): void;
293
330
  * ClawOpsAgent - main agent class for handling voice calls.
294
331
  */
295
332
 
296
- type AgentEventType = 'call_start' | 'call_end' | 'call_failed' | 'transcript';
333
+ type AgentEventType = 'call_start' | 'call_end' | 'call_failed' | 'transcript' | 'dtmf';
297
334
  type AgentEventHandler = (...args: any[]) => void | Promise<void>;
298
335
  interface ClawOpsAgentOptions {
299
336
  /** ClawOps API key. Falls back to CLAWOPS_API_KEY env var. */
@@ -314,6 +351,10 @@ interface ClawOpsAgentOptions {
314
351
  mcpServers?: Array<MCPServerStdio | MCPServerHTTP>;
315
352
  /** Tracing configuration. */
316
353
  tracing?: TracingConfig;
354
+ /** 활성화할 내장 도구. Default: BuiltinTool.ALL */
355
+ builtinTools?: BuiltinTool | BuiltinTool[];
356
+ /** Debounce time (ms) for passive DTMF accumulation. Default: 500 */
357
+ passiveDtmfDebounceMs?: number;
317
358
  }
318
359
  declare class ClawOpsAgent {
319
360
  private _apiKey;
@@ -328,6 +369,12 @@ declare class ClawOpsAgent {
328
369
  private _recording;
329
370
  private _recordingPath;
330
371
  private _activeSessions;
372
+ private _builtinTools;
373
+ private _passiveDtmfDebounceMs;
374
+ private _passiveDtmfBuffer;
375
+ private _passiveDtmfTimer;
376
+ private _passiveDtmfCallId;
377
+ private _callSessions;
331
378
  constructor(options: ClawOpsAgentOptions);
332
379
  /**
333
380
  * Register a function tool.
@@ -366,6 +413,7 @@ declare class ClawOpsAgent {
366
413
  private _handleOutboundReady;
367
414
  private _handleRinging;
368
415
  private _handleFailed;
416
+ private _onDtmfEvent;
369
417
  private _startCallSession;
370
418
  }
371
419
 
@@ -436,6 +484,8 @@ declare class OpenAIRealtime implements Session {
436
484
  private _language;
437
485
  private _eagerness;
438
486
  private _greeting;
487
+ private _builtinTools;
488
+ setBuiltinTools(tools: Set<BuiltinTool>): void;
439
489
  private _ws;
440
490
  private _call;
441
491
  private _tools;
@@ -445,12 +495,15 @@ declare class OpenAIRealtime implements Session {
445
495
  private _responseStartTs;
446
496
  private _sentAudioChunks;
447
497
  private _audioRemainder;
498
+ private _responseInProgress;
499
+ private _onResponseDone;
448
500
  constructor(options?: OpenAIRealtimeOptions);
449
501
  /** Inject per-call ToolRegistry. */
450
502
  setToolRegistry(registry: ToolRegistry): void;
451
503
  /** Inject per-call AudioRecorder. */
452
504
  setRecorder(recorder: AudioRecorder): void;
453
505
  start(callSession: CallSession, tools?: ToolRegistry): Promise<void>;
506
+ feedDtmf(digits: string): Promise<void>;
454
507
  feedAudio(audio: Buffer): void;
455
508
  stop(): Promise<void>;
456
509
  private _sendSessionUpdate;
@@ -458,6 +511,7 @@ declare class OpenAIRealtime implements Session {
458
511
  private _handleAudioDelta;
459
512
  private _handleTruncation;
460
513
  private _handleToolCall;
514
+ private _waitForResponseDone;
461
515
  private _send;
462
516
  }
463
517
 
@@ -496,13 +550,17 @@ declare class GeminiRealtime implements Session {
496
550
  private _closed;
497
551
  private _sentAudioChunks;
498
552
  private _audioRemainder;
553
+ private _builtinTools;
554
+ private _toolCallInProgress;
499
555
  constructor(options?: GeminiRealtimeOptions);
500
556
  /** Inject per-call ToolRegistry. */
501
557
  setToolRegistry(registry: ToolRegistry): void;
502
558
  /** Inject per-call AudioRecorder. */
503
559
  setRecorder(recorder: AudioRecorder): void;
560
+ setBuiltinTools(tools: Set<BuiltinTool>): void;
504
561
  start(callSession: CallSession, tools?: ToolRegistry): Promise<void>;
505
562
  feedAudio(audio: Buffer): void;
563
+ feedDtmf(digits: string): Promise<void>;
506
564
  stop(): Promise<void>;
507
565
  private _buildToolSchemas;
508
566
  private _handleMessage;
@@ -556,16 +614,20 @@ declare class PipelineSession implements Session {
556
614
  private _audioBuffer;
557
615
  private _running;
558
616
  private _speaking;
617
+ private _builtinTools;
559
618
  constructor(options: PipelineSessionOptions);
560
619
  setToolRegistry(registry: ToolRegistry): void;
561
620
  setRecorder(recorder: AudioRecorder): void;
621
+ setBuiltinTools(tools: Set<BuiltinTool>): void;
562
622
  start(callSession: CallSession, tools?: ToolRegistry): Promise<void>;
563
623
  feedAudio(audio: Buffer): void;
624
+ feedDtmf(digits: string): Promise<void>;
564
625
  stop(): Promise<void>;
565
626
  private _runSttLoop;
566
627
  private _createAudioStream;
567
628
  private _generateGreeting;
568
629
  private _handleUserSpeech;
630
+ private _buildEffectiveTools;
569
631
  private _respond;
570
632
  private _handleToolCall;
571
633
  private _synthesizeAndSend;
@@ -872,4 +934,4 @@ declare class XaiLLM implements LLM {
872
934
  }): AsyncGenerator<LLMChunk>;
873
935
  }
874
936
 
875
- export { type AgentEventType, AnthropicLLM, type AnthropicLLMOptions, AudioRecorder, type CallDirection, CallSession, type CallStatus, ClawOpsAgent, type ClawOpsAgentOptions, type ConversationMessage, DECODE_TABLE, DeepSeekLLM, type DeepSeekLLMOptions, DeepgramSTT, type DeepgramSTTOptions, ElevenLabsTTS, type ElevenLabsTTSOptions, FireworksLLM, type FireworksLLMOptions, type FunctionTool, GeminiLLM, type GeminiLLMOptions, GeminiRealtime, type GeminiRealtimeOptions, GroqLLM, type GroqLLMOptions, type LLM, type LLMChunk, MCPClient, type MCPServerConfig, type MCPServerHTTP, type MCPServerStdio, MistralLLM, type MistralLLMOptions, OllamaLLM, type OllamaLLMOptions, OpenAICompatLLM, type OpenAICompatLLMOptions, OpenAILLM, type OpenAILLMOptions, OpenAIRealtime, type OpenAIRealtimeOptions, type OpenAIToolDefinition, PerplexityLLM, type PerplexityLLMOptions, PipelineSession, type PipelineSessionOptions, type STT, type Session, type SpeechEvent, type TTS, TogetherLLM, type TogetherLLMOptions, ToolRegistry, type TracingConfig, XaiLLM, type XaiLLMOptions, functionTool, getTracingConfig, mcpServerHTTP, mcpServerStdio, pcm16ToUlaw, resamplePcm16, resetTracingConfig, setTracingConfig, ulawToPcm16, zodToToolParams };
937
+ export { type AgentEventType, AnthropicLLM, type AnthropicLLMOptions, AudioRecorder, BuiltinTool, type CallDirection, CallSession, type CallStatus, ClawOpsAgent, type ClawOpsAgentOptions, type ConversationMessage, DECODE_TABLE, DeepSeekLLM, type DeepSeekLLMOptions, DeepgramSTT, type DeepgramSTTOptions, ElevenLabsTTS, type ElevenLabsTTSOptions, FireworksLLM, type FireworksLLMOptions, type FunctionTool, GeminiLLM, type GeminiLLMOptions, GeminiRealtime, type GeminiRealtimeOptions, GroqLLM, type GroqLLMOptions, type LLM, type LLMChunk, MCPClient, type MCPServerConfig, type MCPServerHTTP, type MCPServerStdio, MistralLLM, type MistralLLMOptions, OllamaLLM, type OllamaLLMOptions, OpenAICompatLLM, type OpenAICompatLLMOptions, OpenAILLM, type OpenAILLMOptions, OpenAIRealtime, type OpenAIRealtimeOptions, type OpenAIToolDefinition, PerplexityLLM, type PerplexityLLMOptions, PipelineSession, type PipelineSessionOptions, type STT, type Session, type SpeechEvent, type TTS, TogetherLLM, type TogetherLLMOptions, ToolRegistry, type TracingConfig, XaiLLM, type XaiLLMOptions, functionTool, getTracingConfig, mcpServerHTTP, mcpServerStdio, pcm16ToUlaw, resamplePcm16, resetTracingConfig, setTracingConfig, ulawToPcm16, zodToToolParams };
@@ -142,7 +142,10 @@ interface ClearAudioFn {
142
142
  (): void;
143
143
  }
144
144
  interface HangupFn {
145
- (): void;
145
+ (): void | Promise<void>;
146
+ }
147
+ interface SendDtmfFn {
148
+ (digit: string): Promise<void>;
146
149
  }
147
150
  declare class CallSession {
148
151
  readonly callId: string;
@@ -156,6 +159,11 @@ declare class CallSession {
156
159
  private _sendAudioFn;
157
160
  private _clearAudioFn;
158
161
  private _hangupFn;
162
+ /** @internal */ _sendDtmfFn: SendDtmfFn | null;
163
+ /** @internal */ _isTransportConnected: (() => boolean) | null;
164
+ private _dtmfCollectorActive;
165
+ private _dtmfResolvers;
166
+ private _dtmfBuffer;
159
167
  private _handlers;
160
168
  private _endedPromise;
161
169
  private _resolveEnded;
@@ -170,13 +178,24 @@ declare class CallSession {
170
178
  get status(): CallStatus;
171
179
  get duration(): number;
172
180
  /** Bind transport functions (called internally by the agent). */
173
- _bindTransport(send: SendAudioFn, clear: ClearAudioFn, hangup: HangupFn): void;
181
+ _bindTransport(send: SendAudioFn, clear: ClearAudioFn, hangup: HangupFn, sendDtmf?: SendDtmfFn, isConnected?: () => boolean): void;
174
182
  /** Send PCM16 or ulaw audio to the caller. */
175
183
  sendAudio(audio: Buffer): void;
176
184
  /** Clear any queued outbound audio. */
177
185
  clearAudio(): void;
178
- /** Hang up the call. */
179
- hangup(): void;
186
+ /** Hang up the call, waiting for pending audio to finish. */
187
+ hangup(): Promise<void>;
188
+ /** @internal Route a received DTMF digit to an active collector or buffer. */
189
+ _routeDtmf(digit: string): void;
190
+ /** Collect DTMF digits from the caller. */
191
+ collectDtmf(options: {
192
+ maxDigits: number;
193
+ finishOnKey?: string;
194
+ timeout?: number;
195
+ secure?: boolean;
196
+ }): Promise<string>;
197
+ /** Send a sequence of DTMF digits. */
198
+ sendDtmfSequence(digits: string): Promise<void>;
180
199
  /** Register an event handler. */
181
200
  on(event: string, handler: SessionEventHandler): void;
182
201
  /** Wait for the call to end. */
@@ -187,6 +206,22 @@ declare class CallSession {
187
206
  _emit(event: string, ...args: any[]): void;
188
207
  }
189
208
 
209
+ /**
210
+ * Built-in tool definitions and selection constants.
211
+ */
212
+ declare enum BuiltinTool {
213
+ /** 전화 종료 도구. AI가 대화 완료 시 통화를 종료합니다. */
214
+ HANG_UP = "hang_up",
215
+ /** DTMF 수집 도구. 사용자의 키패드 입력을 수집합니다. */
216
+ COLLECT_DTMF = "collect_dtmf",
217
+ /** DTMF 전송 도구. ARS 탐색이나 내선번호 입력에 사용합니다. */
218
+ SEND_DTMF = "send_dtmf",
219
+ /** 모든 내장 도구를 활성화합니다. (기본값) */
220
+ ALL = "all",
221
+ /** 모든 내장 도구를 비활성화합니다. */
222
+ NONE = "none"
223
+ }
224
+
190
225
  /**
191
226
  * Base interfaces for the voice agent pipeline.
192
227
  */
@@ -224,6 +259,8 @@ interface Session {
224
259
  start(callSession: CallSession, tools?: ToolRegistry): Promise<void>;
225
260
  /** Feed raw audio into the session. */
226
261
  feedAudio(audio: Buffer): void;
262
+ /** Feed DTMF digits into the LLM context and trigger a response. */
263
+ feedDtmf?(digits: string): Promise<void>;
227
264
  /** Stop the session. */
228
265
  stop(): Promise<void>;
229
266
  }
@@ -293,7 +330,7 @@ declare function resetTracingConfig(): void;
293
330
  * ClawOpsAgent - main agent class for handling voice calls.
294
331
  */
295
332
 
296
- type AgentEventType = 'call_start' | 'call_end' | 'call_failed' | 'transcript';
333
+ type AgentEventType = 'call_start' | 'call_end' | 'call_failed' | 'transcript' | 'dtmf';
297
334
  type AgentEventHandler = (...args: any[]) => void | Promise<void>;
298
335
  interface ClawOpsAgentOptions {
299
336
  /** ClawOps API key. Falls back to CLAWOPS_API_KEY env var. */
@@ -314,6 +351,10 @@ interface ClawOpsAgentOptions {
314
351
  mcpServers?: Array<MCPServerStdio | MCPServerHTTP>;
315
352
  /** Tracing configuration. */
316
353
  tracing?: TracingConfig;
354
+ /** 활성화할 내장 도구. Default: BuiltinTool.ALL */
355
+ builtinTools?: BuiltinTool | BuiltinTool[];
356
+ /** Debounce time (ms) for passive DTMF accumulation. Default: 500 */
357
+ passiveDtmfDebounceMs?: number;
317
358
  }
318
359
  declare class ClawOpsAgent {
319
360
  private _apiKey;
@@ -328,6 +369,12 @@ declare class ClawOpsAgent {
328
369
  private _recording;
329
370
  private _recordingPath;
330
371
  private _activeSessions;
372
+ private _builtinTools;
373
+ private _passiveDtmfDebounceMs;
374
+ private _passiveDtmfBuffer;
375
+ private _passiveDtmfTimer;
376
+ private _passiveDtmfCallId;
377
+ private _callSessions;
331
378
  constructor(options: ClawOpsAgentOptions);
332
379
  /**
333
380
  * Register a function tool.
@@ -366,6 +413,7 @@ declare class ClawOpsAgent {
366
413
  private _handleOutboundReady;
367
414
  private _handleRinging;
368
415
  private _handleFailed;
416
+ private _onDtmfEvent;
369
417
  private _startCallSession;
370
418
  }
371
419
 
@@ -436,6 +484,8 @@ declare class OpenAIRealtime implements Session {
436
484
  private _language;
437
485
  private _eagerness;
438
486
  private _greeting;
487
+ private _builtinTools;
488
+ setBuiltinTools(tools: Set<BuiltinTool>): void;
439
489
  private _ws;
440
490
  private _call;
441
491
  private _tools;
@@ -445,12 +495,15 @@ declare class OpenAIRealtime implements Session {
445
495
  private _responseStartTs;
446
496
  private _sentAudioChunks;
447
497
  private _audioRemainder;
498
+ private _responseInProgress;
499
+ private _onResponseDone;
448
500
  constructor(options?: OpenAIRealtimeOptions);
449
501
  /** Inject per-call ToolRegistry. */
450
502
  setToolRegistry(registry: ToolRegistry): void;
451
503
  /** Inject per-call AudioRecorder. */
452
504
  setRecorder(recorder: AudioRecorder): void;
453
505
  start(callSession: CallSession, tools?: ToolRegistry): Promise<void>;
506
+ feedDtmf(digits: string): Promise<void>;
454
507
  feedAudio(audio: Buffer): void;
455
508
  stop(): Promise<void>;
456
509
  private _sendSessionUpdate;
@@ -458,6 +511,7 @@ declare class OpenAIRealtime implements Session {
458
511
  private _handleAudioDelta;
459
512
  private _handleTruncation;
460
513
  private _handleToolCall;
514
+ private _waitForResponseDone;
461
515
  private _send;
462
516
  }
463
517
 
@@ -496,13 +550,17 @@ declare class GeminiRealtime implements Session {
496
550
  private _closed;
497
551
  private _sentAudioChunks;
498
552
  private _audioRemainder;
553
+ private _builtinTools;
554
+ private _toolCallInProgress;
499
555
  constructor(options?: GeminiRealtimeOptions);
500
556
  /** Inject per-call ToolRegistry. */
501
557
  setToolRegistry(registry: ToolRegistry): void;
502
558
  /** Inject per-call AudioRecorder. */
503
559
  setRecorder(recorder: AudioRecorder): void;
560
+ setBuiltinTools(tools: Set<BuiltinTool>): void;
504
561
  start(callSession: CallSession, tools?: ToolRegistry): Promise<void>;
505
562
  feedAudio(audio: Buffer): void;
563
+ feedDtmf(digits: string): Promise<void>;
506
564
  stop(): Promise<void>;
507
565
  private _buildToolSchemas;
508
566
  private _handleMessage;
@@ -556,16 +614,20 @@ declare class PipelineSession implements Session {
556
614
  private _audioBuffer;
557
615
  private _running;
558
616
  private _speaking;
617
+ private _builtinTools;
559
618
  constructor(options: PipelineSessionOptions);
560
619
  setToolRegistry(registry: ToolRegistry): void;
561
620
  setRecorder(recorder: AudioRecorder): void;
621
+ setBuiltinTools(tools: Set<BuiltinTool>): void;
562
622
  start(callSession: CallSession, tools?: ToolRegistry): Promise<void>;
563
623
  feedAudio(audio: Buffer): void;
624
+ feedDtmf(digits: string): Promise<void>;
564
625
  stop(): Promise<void>;
565
626
  private _runSttLoop;
566
627
  private _createAudioStream;
567
628
  private _generateGreeting;
568
629
  private _handleUserSpeech;
630
+ private _buildEffectiveTools;
569
631
  private _respond;
570
632
  private _handleToolCall;
571
633
  private _synthesizeAndSend;
@@ -872,4 +934,4 @@ declare class XaiLLM implements LLM {
872
934
  }): AsyncGenerator<LLMChunk>;
873
935
  }
874
936
 
875
- export { type AgentEventType, AnthropicLLM, type AnthropicLLMOptions, AudioRecorder, type CallDirection, CallSession, type CallStatus, ClawOpsAgent, type ClawOpsAgentOptions, type ConversationMessage, DECODE_TABLE, DeepSeekLLM, type DeepSeekLLMOptions, DeepgramSTT, type DeepgramSTTOptions, ElevenLabsTTS, type ElevenLabsTTSOptions, FireworksLLM, type FireworksLLMOptions, type FunctionTool, GeminiLLM, type GeminiLLMOptions, GeminiRealtime, type GeminiRealtimeOptions, GroqLLM, type GroqLLMOptions, type LLM, type LLMChunk, MCPClient, type MCPServerConfig, type MCPServerHTTP, type MCPServerStdio, MistralLLM, type MistralLLMOptions, OllamaLLM, type OllamaLLMOptions, OpenAICompatLLM, type OpenAICompatLLMOptions, OpenAILLM, type OpenAILLMOptions, OpenAIRealtime, type OpenAIRealtimeOptions, type OpenAIToolDefinition, PerplexityLLM, type PerplexityLLMOptions, PipelineSession, type PipelineSessionOptions, type STT, type Session, type SpeechEvent, type TTS, TogetherLLM, type TogetherLLMOptions, ToolRegistry, type TracingConfig, XaiLLM, type XaiLLMOptions, functionTool, getTracingConfig, mcpServerHTTP, mcpServerStdio, pcm16ToUlaw, resamplePcm16, resetTracingConfig, setTracingConfig, ulawToPcm16, zodToToolParams };
937
+ export { type AgentEventType, AnthropicLLM, type AnthropicLLMOptions, AudioRecorder, BuiltinTool, type CallDirection, CallSession, type CallStatus, ClawOpsAgent, type ClawOpsAgentOptions, type ConversationMessage, DECODE_TABLE, DeepSeekLLM, type DeepSeekLLMOptions, DeepgramSTT, type DeepgramSTTOptions, ElevenLabsTTS, type ElevenLabsTTSOptions, FireworksLLM, type FireworksLLMOptions, type FunctionTool, GeminiLLM, type GeminiLLMOptions, GeminiRealtime, type GeminiRealtimeOptions, GroqLLM, type GroqLLMOptions, type LLM, type LLMChunk, MCPClient, type MCPServerConfig, type MCPServerHTTP, type MCPServerStdio, MistralLLM, type MistralLLMOptions, OllamaLLM, type OllamaLLMOptions, OpenAICompatLLM, type OpenAICompatLLMOptions, OpenAILLM, type OpenAILLMOptions, OpenAIRealtime, type OpenAIRealtimeOptions, type OpenAIToolDefinition, PerplexityLLM, type PerplexityLLMOptions, PipelineSession, type PipelineSessionOptions, type STT, type Session, type SpeechEvent, type TTS, TogetherLLM, type TogetherLLMOptions, ToolRegistry, type TracingConfig, XaiLLM, type XaiLLMOptions, functionTool, getTracingConfig, mcpServerHTTP, mcpServerStdio, pcm16ToUlaw, resamplePcm16, resetTracingConfig, setTracingConfig, ulawToPcm16, zodToToolParams };