@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.
- package/README.md +9 -0
- package/dist/agent/index.cjs +575 -25
- package/dist/agent/index.cjs.map +1 -1
- package/dist/agent/index.d.cts +68 -6
- package/dist/agent/index.d.ts +68 -6
- package/dist/agent/index.js +575 -26
- package/dist/agent/index.js.map +1 -1
- package/dist/index.cjs +2 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +8 -5
- package/dist/index.d.ts +8 -5
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/package.json +36 -11
package/dist/agent/index.d.cts
CHANGED
|
@@ -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 };
|
package/dist/agent/index.d.ts
CHANGED
|
@@ -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 };
|