@radaros/core 0.3.7 → 0.3.8
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/dist/index.d.ts +268 -131
- package/dist/index.js +2628 -2364
- package/dist/tools/sandbox-worker.d.ts +2 -0
- package/dist/tools/sandbox-worker.js +21 -0
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -151,6 +151,23 @@ interface ToolCacheConfig {
|
|
|
151
151
|
/** Time-to-live in milliseconds. Cached results expire after this duration. */
|
|
152
152
|
ttl: number;
|
|
153
153
|
}
|
|
154
|
+
interface SandboxConfig {
|
|
155
|
+
/** Explicit on/off toggle. Defaults to true when config object is provided. */
|
|
156
|
+
enabled?: boolean;
|
|
157
|
+
/** Execution timeout in milliseconds. Default: 30000 (30s). */
|
|
158
|
+
timeout?: number;
|
|
159
|
+
/** Maximum heap memory in MB. Default: 256. */
|
|
160
|
+
maxMemoryMB?: number;
|
|
161
|
+
/** Allow outbound network from the sandbox. Default: false. */
|
|
162
|
+
allowNetwork?: boolean;
|
|
163
|
+
/** Allow filesystem access. Default: false. */
|
|
164
|
+
allowFS?: boolean | {
|
|
165
|
+
readOnly?: string[];
|
|
166
|
+
readWrite?: string[];
|
|
167
|
+
};
|
|
168
|
+
/** Whitelisted environment variables forwarded to the sandbox. */
|
|
169
|
+
env?: Record<string, string>;
|
|
170
|
+
}
|
|
154
171
|
interface ToolDef {
|
|
155
172
|
name: string;
|
|
156
173
|
description: string;
|
|
@@ -160,6 +177,10 @@ interface ToolDef {
|
|
|
160
177
|
rawJsonSchema?: Record<string, unknown>;
|
|
161
178
|
/** Enable result caching for this tool. */
|
|
162
179
|
cache?: ToolCacheConfig;
|
|
180
|
+
/** Run this tool in a sandboxed subprocess. Off by default. */
|
|
181
|
+
sandbox?: boolean | SandboxConfig;
|
|
182
|
+
/** Require human approval before executing this tool. */
|
|
183
|
+
requiresApproval?: boolean | ((args: Record<string, unknown>) => boolean);
|
|
163
184
|
}
|
|
164
185
|
interface ToolCallResult {
|
|
165
186
|
toolCallId: string;
|
|
@@ -304,6 +325,44 @@ interface RetryConfig {
|
|
|
304
325
|
}
|
|
305
326
|
declare function withRetry<T>(fn: () => Promise<T>, config?: Partial<RetryConfig>): Promise<T>;
|
|
306
327
|
|
|
328
|
+
interface ApprovalRequest {
|
|
329
|
+
requestId: string;
|
|
330
|
+
toolName: string;
|
|
331
|
+
args: unknown;
|
|
332
|
+
agentName: string;
|
|
333
|
+
runId: string;
|
|
334
|
+
}
|
|
335
|
+
interface ApprovalDecision {
|
|
336
|
+
approved: boolean;
|
|
337
|
+
reason?: string;
|
|
338
|
+
}
|
|
339
|
+
interface ApprovalConfig {
|
|
340
|
+
/** Which tools require approval: "none" (default), "all", or an array of tool names. */
|
|
341
|
+
policy: "none" | "all" | string[];
|
|
342
|
+
/** Callback invoked when approval is needed. Return a decision. */
|
|
343
|
+
onApproval?: (request: ApprovalRequest) => Promise<ApprovalDecision>;
|
|
344
|
+
/** Timeout in ms for waiting on human response. Default: 300000 (5 min). Auto-deny on timeout. */
|
|
345
|
+
timeout?: number;
|
|
346
|
+
}
|
|
347
|
+
declare class ApprovalManager {
|
|
348
|
+
private policy;
|
|
349
|
+
private onApproval?;
|
|
350
|
+
private timeout;
|
|
351
|
+
private eventBus?;
|
|
352
|
+
private pending;
|
|
353
|
+
constructor(config: ApprovalConfig & {
|
|
354
|
+
eventBus?: EventBus;
|
|
355
|
+
});
|
|
356
|
+
needsApproval(toolName: string, args: Record<string, unknown>, toolRequiresApproval?: boolean | ((args: Record<string, unknown>) => boolean)): boolean;
|
|
357
|
+
check(toolName: string, args: unknown, ctx: RunContext, agentName: string): Promise<ApprovalDecision>;
|
|
358
|
+
/** Externally approve a pending request (for event-driven mode). */
|
|
359
|
+
approve(requestId: string, reason?: string): void;
|
|
360
|
+
/** Externally deny a pending request (for event-driven mode). */
|
|
361
|
+
deny(requestId: string, reason?: string): void;
|
|
362
|
+
private callbackMode;
|
|
363
|
+
private eventMode;
|
|
364
|
+
}
|
|
365
|
+
|
|
307
366
|
interface AgentConfig {
|
|
308
367
|
name: string;
|
|
309
368
|
model: ModelProvider;
|
|
@@ -334,6 +393,10 @@ interface AgentConfig {
|
|
|
334
393
|
retry?: Partial<RetryConfig>;
|
|
335
394
|
/** Maximum context window tokens. History is auto-trimmed to fit. */
|
|
336
395
|
maxContextTokens?: number;
|
|
396
|
+
/** Default sandbox config applied to ALL tools unless the tool explicitly sets sandbox: false. Off by default. */
|
|
397
|
+
sandbox?: boolean | SandboxConfig;
|
|
398
|
+
/** Human-in-the-loop approval configuration for tool calls. */
|
|
399
|
+
approval?: ApprovalConfig;
|
|
337
400
|
}
|
|
338
401
|
interface RunOpts {
|
|
339
402
|
sessionId?: string;
|
|
@@ -440,6 +503,38 @@ type AgentEventMap = {
|
|
|
440
503
|
"voice.disconnected": {
|
|
441
504
|
agentName: string;
|
|
442
505
|
};
|
|
506
|
+
"browser.screenshot": {
|
|
507
|
+
data: Buffer;
|
|
508
|
+
};
|
|
509
|
+
"browser.action": {
|
|
510
|
+
action: unknown;
|
|
511
|
+
};
|
|
512
|
+
"browser.step": {
|
|
513
|
+
index: number;
|
|
514
|
+
action: unknown;
|
|
515
|
+
pageUrl: string;
|
|
516
|
+
screenshot: Buffer;
|
|
517
|
+
};
|
|
518
|
+
"browser.done": {
|
|
519
|
+
result: string;
|
|
520
|
+
success: boolean;
|
|
521
|
+
steps: unknown[];
|
|
522
|
+
};
|
|
523
|
+
"browser.error": {
|
|
524
|
+
error: Error;
|
|
525
|
+
};
|
|
526
|
+
"tool.approval.request": {
|
|
527
|
+
requestId: string;
|
|
528
|
+
toolName: string;
|
|
529
|
+
args: unknown;
|
|
530
|
+
agentName: string;
|
|
531
|
+
runId: string;
|
|
532
|
+
};
|
|
533
|
+
"tool.approval.response": {
|
|
534
|
+
requestId: string;
|
|
535
|
+
approved: boolean;
|
|
536
|
+
reason?: string;
|
|
537
|
+
};
|
|
443
538
|
};
|
|
444
539
|
|
|
445
540
|
type EventKey = keyof AgentEventMap;
|
|
@@ -462,10 +557,12 @@ declare class Agent {
|
|
|
462
557
|
private llmLoop;
|
|
463
558
|
private logger;
|
|
464
559
|
private storageInitPromise;
|
|
560
|
+
private _toolExecutor;
|
|
465
561
|
get tools(): ToolDef[];
|
|
466
562
|
get modelId(): string;
|
|
467
563
|
get providerId(): string;
|
|
468
564
|
get hasStructuredOutput(): boolean;
|
|
565
|
+
get approvalManager(): ApprovalManager | null;
|
|
469
566
|
get structuredOutputSchema(): zod.ZodSchema | undefined;
|
|
470
567
|
constructor(config: AgentConfig);
|
|
471
568
|
run(input: MessageContent, opts?: RunOpts): Promise<RunOutput>;
|
|
@@ -475,12 +572,24 @@ declare class Agent {
|
|
|
475
572
|
private trimHistoryByTokens;
|
|
476
573
|
}
|
|
477
574
|
|
|
575
|
+
interface ToolExecutorConfig {
|
|
576
|
+
concurrency?: number;
|
|
577
|
+
sandbox?: boolean | SandboxConfig;
|
|
578
|
+
approval?: ApprovalConfig & {
|
|
579
|
+
eventBus?: EventBus;
|
|
580
|
+
};
|
|
581
|
+
agentName?: string;
|
|
582
|
+
}
|
|
478
583
|
declare class ToolExecutor {
|
|
479
584
|
private tools;
|
|
480
585
|
private concurrency;
|
|
481
586
|
private cache;
|
|
482
587
|
private cachedDefs;
|
|
483
|
-
|
|
588
|
+
private agentSandbox?;
|
|
589
|
+
private approvalManager?;
|
|
590
|
+
private agentName;
|
|
591
|
+
constructor(tools: ToolDef[], configOrConcurrency?: number | ToolExecutorConfig);
|
|
592
|
+
getApprovalManager(): ApprovalManager | undefined;
|
|
484
593
|
clearCache(): void;
|
|
485
594
|
private getCacheKey;
|
|
486
595
|
private getCached;
|
|
@@ -609,6 +718,135 @@ declare class Workflow<TState extends Record<string, unknown> = Record<string, u
|
|
|
609
718
|
}): Promise<WorkflowResult<TState>>;
|
|
610
719
|
}
|
|
611
720
|
|
|
721
|
+
type AudioFormat = "pcm16" | "g711_ulaw" | "g711_alaw";
|
|
722
|
+
interface TurnDetectionConfig {
|
|
723
|
+
/** Server-side VAD type. */
|
|
724
|
+
type: "server_vad";
|
|
725
|
+
/** Activation threshold (0-1). Lower = more sensitive. */
|
|
726
|
+
threshold?: number;
|
|
727
|
+
/** Duration of speech (ms) required to open the turn. */
|
|
728
|
+
prefixPaddingMs?: number;
|
|
729
|
+
/** Duration of silence (ms) required to close the turn. */
|
|
730
|
+
silenceDurationMs?: number;
|
|
731
|
+
}
|
|
732
|
+
interface RealtimeSessionConfig {
|
|
733
|
+
instructions?: string;
|
|
734
|
+
voice?: string;
|
|
735
|
+
tools?: ToolDefinition[];
|
|
736
|
+
inputAudioFormat?: AudioFormat;
|
|
737
|
+
outputAudioFormat?: AudioFormat;
|
|
738
|
+
turnDetection?: TurnDetectionConfig | null;
|
|
739
|
+
temperature?: number;
|
|
740
|
+
maxResponseOutputTokens?: number | "inf";
|
|
741
|
+
apiKey?: string;
|
|
742
|
+
}
|
|
743
|
+
interface RealtimeToolCall {
|
|
744
|
+
id: string;
|
|
745
|
+
name: string;
|
|
746
|
+
arguments: string;
|
|
747
|
+
}
|
|
748
|
+
type RealtimeEventMap = {
|
|
749
|
+
audio: {
|
|
750
|
+
data: Buffer;
|
|
751
|
+
mimeType?: string;
|
|
752
|
+
};
|
|
753
|
+
text: {
|
|
754
|
+
text: string;
|
|
755
|
+
};
|
|
756
|
+
transcript: {
|
|
757
|
+
text: string;
|
|
758
|
+
role: "user" | "assistant";
|
|
759
|
+
};
|
|
760
|
+
tool_call: RealtimeToolCall;
|
|
761
|
+
interrupted: {};
|
|
762
|
+
error: {
|
|
763
|
+
error: Error;
|
|
764
|
+
};
|
|
765
|
+
connected: {};
|
|
766
|
+
disconnected: {};
|
|
767
|
+
};
|
|
768
|
+
type RealtimeEvent = keyof RealtimeEventMap;
|
|
769
|
+
interface RealtimeConnection {
|
|
770
|
+
sendAudio(data: Buffer): void;
|
|
771
|
+
sendText(text: string): void;
|
|
772
|
+
sendToolResult(callId: string, result: string): void;
|
|
773
|
+
interrupt(): void;
|
|
774
|
+
close(): Promise<void>;
|
|
775
|
+
on<K extends RealtimeEvent>(event: K, handler: (data: RealtimeEventMap[K]) => void): void;
|
|
776
|
+
off<K extends RealtimeEvent>(event: K, handler: (data: RealtimeEventMap[K]) => void): void;
|
|
777
|
+
}
|
|
778
|
+
interface RealtimeProvider {
|
|
779
|
+
readonly providerId: string;
|
|
780
|
+
readonly modelId: string;
|
|
781
|
+
connect(config: RealtimeSessionConfig): Promise<RealtimeConnection>;
|
|
782
|
+
}
|
|
783
|
+
interface VoiceAgentConfig {
|
|
784
|
+
name: string;
|
|
785
|
+
provider: RealtimeProvider;
|
|
786
|
+
instructions?: string;
|
|
787
|
+
tools?: ToolDef[];
|
|
788
|
+
voice?: string;
|
|
789
|
+
turnDetection?: TurnDetectionConfig | null;
|
|
790
|
+
inputAudioFormat?: AudioFormat;
|
|
791
|
+
outputAudioFormat?: AudioFormat;
|
|
792
|
+
temperature?: number;
|
|
793
|
+
maxResponseOutputTokens?: number | "inf";
|
|
794
|
+
eventBus?: EventBus;
|
|
795
|
+
logLevel?: LogLevel;
|
|
796
|
+
/** User-scoped memory — persists facts about a user across sessions. */
|
|
797
|
+
userMemory?: UserMemory;
|
|
798
|
+
/** LLM model used for auto-extracting user facts from transcripts (required if userMemory is set). */
|
|
799
|
+
model?: ModelProvider;
|
|
800
|
+
/** Default session ID (can be overridden per connect()). */
|
|
801
|
+
sessionId?: string;
|
|
802
|
+
/** Default user ID (can be overridden per connect()). */
|
|
803
|
+
userId?: string;
|
|
804
|
+
}
|
|
805
|
+
type VoiceSessionEventMap = RealtimeEventMap & {
|
|
806
|
+
tool_call_start: {
|
|
807
|
+
name: string;
|
|
808
|
+
args: unknown;
|
|
809
|
+
};
|
|
810
|
+
tool_result: {
|
|
811
|
+
name: string;
|
|
812
|
+
result: string;
|
|
813
|
+
};
|
|
814
|
+
};
|
|
815
|
+
type VoiceSessionEvent = keyof VoiceSessionEventMap;
|
|
816
|
+
interface VoiceSession {
|
|
817
|
+
sendAudio(data: Buffer): void;
|
|
818
|
+
sendText(text: string): void;
|
|
819
|
+
interrupt(): void;
|
|
820
|
+
close(): Promise<void>;
|
|
821
|
+
on<K extends VoiceSessionEvent>(event: K, handler: (data: VoiceSessionEventMap[K]) => void): void;
|
|
822
|
+
off<K extends VoiceSessionEvent>(event: K, handler: (data: VoiceSessionEventMap[K]) => void): void;
|
|
823
|
+
}
|
|
824
|
+
|
|
825
|
+
interface OpenAIRealtimeConfig {
|
|
826
|
+
apiKey?: string;
|
|
827
|
+
baseURL?: string;
|
|
828
|
+
}
|
|
829
|
+
declare class OpenAIRealtimeProvider implements RealtimeProvider {
|
|
830
|
+
readonly providerId = "openai-realtime";
|
|
831
|
+
readonly modelId: string;
|
|
832
|
+
private apiKey?;
|
|
833
|
+
private baseURL?;
|
|
834
|
+
constructor(modelId?: string, config?: OpenAIRealtimeConfig);
|
|
835
|
+
connect(config: RealtimeSessionConfig): Promise<RealtimeConnection>;
|
|
836
|
+
private buildSessionPayload;
|
|
837
|
+
}
|
|
838
|
+
|
|
839
|
+
interface GoogleLiveConfig {
|
|
840
|
+
apiKey?: string;
|
|
841
|
+
}
|
|
842
|
+
declare class GoogleLiveProvider implements RealtimeProvider {
|
|
843
|
+
readonly providerId = "google-live";
|
|
844
|
+
readonly modelId: string;
|
|
845
|
+
private apiKey?;
|
|
846
|
+
constructor(modelId?: string, config?: GoogleLiveConfig);
|
|
847
|
+
connect(config: RealtimeSessionConfig): Promise<RealtimeConnection>;
|
|
848
|
+
}
|
|
849
|
+
|
|
612
850
|
type ProviderFactory = (modelId: string, config?: Record<string, unknown>) => ModelProvider;
|
|
613
851
|
declare class ModelRegistry {
|
|
614
852
|
private factories;
|
|
@@ -635,6 +873,24 @@ declare function vertex(modelId: string, config?: {
|
|
|
635
873
|
location?: string;
|
|
636
874
|
credentials?: string;
|
|
637
875
|
}): ModelProvider;
|
|
876
|
+
/**
|
|
877
|
+
* Shorthand for `new OpenAIRealtimeProvider(modelId, config)`.
|
|
878
|
+
*
|
|
879
|
+
* @example
|
|
880
|
+
* const agent = new VoiceAgent({
|
|
881
|
+
* provider: openaiRealtime("gpt-4o-realtime-preview"),
|
|
882
|
+
* });
|
|
883
|
+
*/
|
|
884
|
+
declare function openaiRealtime(modelId?: string, config?: OpenAIRealtimeConfig): RealtimeProvider;
|
|
885
|
+
/**
|
|
886
|
+
* Shorthand for `new GoogleLiveProvider(modelId, config)`.
|
|
887
|
+
*
|
|
888
|
+
* @example
|
|
889
|
+
* const agent = new VoiceAgent({
|
|
890
|
+
* provider: googleLive(),
|
|
891
|
+
* });
|
|
892
|
+
*/
|
|
893
|
+
declare function googleLive(modelId?: string, config?: GoogleLiveConfig): RealtimeProvider;
|
|
638
894
|
|
|
639
895
|
interface OpenAIConfig {
|
|
640
896
|
apiKey?: string;
|
|
@@ -770,8 +1026,18 @@ declare function defineTool<T extends z.ZodObject<any>>(config: {
|
|
|
770
1026
|
parameters: T;
|
|
771
1027
|
execute: (args: z.infer<T>, ctx: RunContext) => Promise<string | ToolResult>;
|
|
772
1028
|
cache?: ToolCacheConfig;
|
|
1029
|
+
sandbox?: boolean | SandboxConfig;
|
|
1030
|
+
requiresApproval?: boolean | ((args: Record<string, unknown>) => boolean);
|
|
773
1031
|
}): ToolDef;
|
|
774
1032
|
|
|
1033
|
+
declare function resolveSandboxConfig(toolLevel?: boolean | SandboxConfig, agentLevel?: boolean | SandboxConfig): SandboxConfig | null;
|
|
1034
|
+
declare class Sandbox {
|
|
1035
|
+
private config;
|
|
1036
|
+
constructor(config: SandboxConfig);
|
|
1037
|
+
execute(toolExecuteFn: (args: Record<string, unknown>, ctx: RunContext) => Promise<string | ToolResult>, args: Record<string, unknown>, ctx: RunContext): Promise<string | ToolResult>;
|
|
1038
|
+
private getWorkerPath;
|
|
1039
|
+
}
|
|
1040
|
+
|
|
775
1041
|
declare class InMemoryStorage implements StorageDriver {
|
|
776
1042
|
private store;
|
|
777
1043
|
private makeKey;
|
|
@@ -1392,110 +1658,6 @@ declare class A2ARemoteAgent {
|
|
|
1392
1658
|
private partsToText;
|
|
1393
1659
|
}
|
|
1394
1660
|
|
|
1395
|
-
type AudioFormat = "pcm16" | "g711_ulaw" | "g711_alaw";
|
|
1396
|
-
interface TurnDetectionConfig {
|
|
1397
|
-
/** Server-side VAD type. */
|
|
1398
|
-
type: "server_vad";
|
|
1399
|
-
/** Activation threshold (0-1). Lower = more sensitive. */
|
|
1400
|
-
threshold?: number;
|
|
1401
|
-
/** Duration of speech (ms) required to open the turn. */
|
|
1402
|
-
prefixPaddingMs?: number;
|
|
1403
|
-
/** Duration of silence (ms) required to close the turn. */
|
|
1404
|
-
silenceDurationMs?: number;
|
|
1405
|
-
}
|
|
1406
|
-
interface RealtimeSessionConfig {
|
|
1407
|
-
instructions?: string;
|
|
1408
|
-
voice?: string;
|
|
1409
|
-
tools?: ToolDefinition[];
|
|
1410
|
-
inputAudioFormat?: AudioFormat;
|
|
1411
|
-
outputAudioFormat?: AudioFormat;
|
|
1412
|
-
turnDetection?: TurnDetectionConfig | null;
|
|
1413
|
-
temperature?: number;
|
|
1414
|
-
maxResponseOutputTokens?: number | "inf";
|
|
1415
|
-
apiKey?: string;
|
|
1416
|
-
}
|
|
1417
|
-
interface RealtimeToolCall {
|
|
1418
|
-
id: string;
|
|
1419
|
-
name: string;
|
|
1420
|
-
arguments: string;
|
|
1421
|
-
}
|
|
1422
|
-
type RealtimeEventMap = {
|
|
1423
|
-
audio: {
|
|
1424
|
-
data: Buffer;
|
|
1425
|
-
mimeType?: string;
|
|
1426
|
-
};
|
|
1427
|
-
text: {
|
|
1428
|
-
text: string;
|
|
1429
|
-
};
|
|
1430
|
-
transcript: {
|
|
1431
|
-
text: string;
|
|
1432
|
-
role: "user" | "assistant";
|
|
1433
|
-
};
|
|
1434
|
-
tool_call: RealtimeToolCall;
|
|
1435
|
-
interrupted: {};
|
|
1436
|
-
error: {
|
|
1437
|
-
error: Error;
|
|
1438
|
-
};
|
|
1439
|
-
connected: {};
|
|
1440
|
-
disconnected: {};
|
|
1441
|
-
};
|
|
1442
|
-
type RealtimeEvent = keyof RealtimeEventMap;
|
|
1443
|
-
interface RealtimeConnection {
|
|
1444
|
-
sendAudio(data: Buffer): void;
|
|
1445
|
-
sendText(text: string): void;
|
|
1446
|
-
sendToolResult(callId: string, result: string): void;
|
|
1447
|
-
interrupt(): void;
|
|
1448
|
-
close(): Promise<void>;
|
|
1449
|
-
on<K extends RealtimeEvent>(event: K, handler: (data: RealtimeEventMap[K]) => void): void;
|
|
1450
|
-
off<K extends RealtimeEvent>(event: K, handler: (data: RealtimeEventMap[K]) => void): void;
|
|
1451
|
-
}
|
|
1452
|
-
interface RealtimeProvider {
|
|
1453
|
-
readonly providerId: string;
|
|
1454
|
-
readonly modelId: string;
|
|
1455
|
-
connect(config: RealtimeSessionConfig): Promise<RealtimeConnection>;
|
|
1456
|
-
}
|
|
1457
|
-
interface VoiceAgentConfig {
|
|
1458
|
-
name: string;
|
|
1459
|
-
provider: RealtimeProvider;
|
|
1460
|
-
instructions?: string;
|
|
1461
|
-
tools?: ToolDef[];
|
|
1462
|
-
voice?: string;
|
|
1463
|
-
turnDetection?: TurnDetectionConfig | null;
|
|
1464
|
-
inputAudioFormat?: AudioFormat;
|
|
1465
|
-
outputAudioFormat?: AudioFormat;
|
|
1466
|
-
temperature?: number;
|
|
1467
|
-
maxResponseOutputTokens?: number | "inf";
|
|
1468
|
-
eventBus?: EventBus;
|
|
1469
|
-
logLevel?: LogLevel;
|
|
1470
|
-
/** User-scoped memory — persists facts about a user across sessions. */
|
|
1471
|
-
userMemory?: UserMemory;
|
|
1472
|
-
/** LLM model used for auto-extracting user facts from transcripts (required if userMemory is set). */
|
|
1473
|
-
model?: ModelProvider;
|
|
1474
|
-
/** Default session ID (can be overridden per connect()). */
|
|
1475
|
-
sessionId?: string;
|
|
1476
|
-
/** Default user ID (can be overridden per connect()). */
|
|
1477
|
-
userId?: string;
|
|
1478
|
-
}
|
|
1479
|
-
type VoiceSessionEventMap = RealtimeEventMap & {
|
|
1480
|
-
tool_call_start: {
|
|
1481
|
-
name: string;
|
|
1482
|
-
args: unknown;
|
|
1483
|
-
};
|
|
1484
|
-
tool_result: {
|
|
1485
|
-
name: string;
|
|
1486
|
-
result: string;
|
|
1487
|
-
};
|
|
1488
|
-
};
|
|
1489
|
-
type VoiceSessionEvent = keyof VoiceSessionEventMap;
|
|
1490
|
-
interface VoiceSession {
|
|
1491
|
-
sendAudio(data: Buffer): void;
|
|
1492
|
-
sendText(text: string): void;
|
|
1493
|
-
interrupt(): void;
|
|
1494
|
-
close(): Promise<void>;
|
|
1495
|
-
on<K extends VoiceSessionEvent>(event: K, handler: (data: VoiceSessionEventMap[K]) => void): void;
|
|
1496
|
-
off<K extends VoiceSessionEvent>(event: K, handler: (data: VoiceSessionEventMap[K]) => void): void;
|
|
1497
|
-
}
|
|
1498
|
-
|
|
1499
1661
|
declare class VoiceAgent {
|
|
1500
1662
|
readonly name: string;
|
|
1501
1663
|
private config;
|
|
@@ -1519,31 +1681,6 @@ declare class VoiceAgent {
|
|
|
1519
1681
|
private handleToolCall;
|
|
1520
1682
|
}
|
|
1521
1683
|
|
|
1522
|
-
interface OpenAIRealtimeConfig {
|
|
1523
|
-
apiKey?: string;
|
|
1524
|
-
baseURL?: string;
|
|
1525
|
-
}
|
|
1526
|
-
declare class OpenAIRealtimeProvider implements RealtimeProvider {
|
|
1527
|
-
readonly providerId = "openai-realtime";
|
|
1528
|
-
readonly modelId: string;
|
|
1529
|
-
private apiKey?;
|
|
1530
|
-
private baseURL?;
|
|
1531
|
-
constructor(modelId?: string, config?: OpenAIRealtimeConfig);
|
|
1532
|
-
connect(config: RealtimeSessionConfig): Promise<RealtimeConnection>;
|
|
1533
|
-
private buildSessionPayload;
|
|
1534
|
-
}
|
|
1535
|
-
|
|
1536
|
-
interface GoogleLiveConfig {
|
|
1537
|
-
apiKey?: string;
|
|
1538
|
-
}
|
|
1539
|
-
declare class GoogleLiveProvider implements RealtimeProvider {
|
|
1540
|
-
readonly providerId = "google-live";
|
|
1541
|
-
readonly modelId: string;
|
|
1542
|
-
private apiKey?;
|
|
1543
|
-
constructor(modelId?: string, config?: GoogleLiveConfig);
|
|
1544
|
-
connect(config: RealtimeSessionConfig): Promise<RealtimeConnection>;
|
|
1545
|
-
}
|
|
1546
|
-
|
|
1547
1684
|
/**
|
|
1548
1685
|
* Base class for all RadarOS Toolkits.
|
|
1549
1686
|
* A Toolkit is a collection of related tools that share configuration.
|
|
@@ -1708,4 +1845,4 @@ declare class DuckDuckGoToolkit extends Toolkit {
|
|
|
1708
1845
|
private searchNews;
|
|
1709
1846
|
}
|
|
1710
1847
|
|
|
1711
|
-
export { type A2AAgentCard, type A2AArtifact, type A2ADataPart, type A2AFilePart, type A2AJsonRpcRequest, type A2AJsonRpcResponse, type A2AMessage, type A2APart, A2ARemoteAgent, type A2ARemoteAgentConfig, type A2ASendParams, type A2ASkill, type A2ATask, type A2ATaskQueryParams, type A2ATaskState, type A2ATextPart, Agent, type AgentConfig, type AgentEventMap, type AgentHooks, type AgentStep, AnthropicProvider, type AppendResult, type Artifact, type AudioFormat, type AudioPart, type BM25Document, BM25Index, type BM25Result, BaseVectorStore, type ChatMessage, type ConditionStep, type ContentPart, type DuckDuckGoConfig, DuckDuckGoToolkit, type EmbeddingProvider, EventBus, type FilePart, type FunctionStep, type GmailConfig, GmailToolkit, GoogleEmbedding, type GoogleEmbeddingConfig, type GoogleLiveConfig, GoogleLiveProvider, GoogleProvider, type GuardrailResult, type HackerNewsConfig, HackerNewsToolkit, type HybridSearchConfig, type ImagePart, InMemoryStorage, InMemoryVectorStore, type InputGuardrail, KnowledgeBase, type KnowledgeBaseConfig, type KnowledgeBaseToolConfig, LLMLoop, type LogLevel, Logger, type LoggerConfig, MCPToolProvider, type MCPToolProviderConfig, Memory, type MemoryConfig, type MemoryEntry, type MessageContent, type MessageRole, type ModelConfig, type ModelProvider, ModelRegistry, type ModelResponse, MongoDBStorage, type MongoDBVectorConfig, MongoDBVectorStore, OllamaProvider, OpenAIEmbedding, type OpenAIEmbeddingConfig, OpenAIProvider, type OpenAIRealtimeConfig, OpenAIRealtimeProvider, type OutputGuardrail, type ParallelStep, type PgVectorConfig, PgVectorStore, PostgresStorage, type QdrantConfig, QdrantVectorStore, type RRFOptions, type RankedItem, type RealtimeConnection, type RealtimeEvent, type RealtimeEventMap, type RealtimeProvider, type RealtimeSessionConfig, type RealtimeToolCall, type ReasoningConfig, type RetryConfig, RunContext, type RunOpts, type RunOutput, type SearchMode, type Session, SessionManager, type SessionManagerConfig, SqliteStorage, type StepDef, type StepResult, type StorageDriver, type StreamChunk, Team, type TeamConfig, TeamMode, type TextPart, type TokenUsage, type ToolCacheConfig, type ToolCall, type ToolCallResult, type ToolDef, type ToolDefinition, ToolExecutor, type ToolResult, Toolkit, type TurnDetectionConfig, type UserFact, UserMemory, type UserMemoryConfig, type VectorDocument, type VectorSearchOptions, type VectorSearchResult, type VectorStore, type VertexAIConfig, VertexAIProvider, VoiceAgent, type VoiceAgentConfig, type VoiceSession, type VoiceSessionEvent, type VoiceSessionEventMap, type WebSearchConfig, WebSearchToolkit, type WhatsAppConfig, WhatsAppToolkit, Workflow, type WorkflowConfig, type WorkflowResult, anthropic, defineTool, getTextContent, google, isMultiModal, ollama, openai, reciprocalRankFusion, registry, vertex, withRetry };
|
|
1848
|
+
export { type A2AAgentCard, type A2AArtifact, type A2ADataPart, type A2AFilePart, type A2AJsonRpcRequest, type A2AJsonRpcResponse, type A2AMessage, type A2APart, A2ARemoteAgent, type A2ARemoteAgentConfig, type A2ASendParams, type A2ASkill, type A2ATask, type A2ATaskQueryParams, type A2ATaskState, type A2ATextPart, Agent, type AgentConfig, type AgentEventMap, type AgentHooks, type AgentStep, AnthropicProvider, type AppendResult, type ApprovalConfig, type ApprovalDecision, ApprovalManager, type ApprovalRequest, type Artifact, type AudioFormat, type AudioPart, type BM25Document, BM25Index, type BM25Result, BaseVectorStore, type ChatMessage, type ConditionStep, type ContentPart, type DuckDuckGoConfig, DuckDuckGoToolkit, type EmbeddingProvider, EventBus, type FilePart, type FunctionStep, type GmailConfig, GmailToolkit, GoogleEmbedding, type GoogleEmbeddingConfig, type GoogleLiveConfig, GoogleLiveProvider, GoogleProvider, type GuardrailResult, type HackerNewsConfig, HackerNewsToolkit, type HybridSearchConfig, type ImagePart, InMemoryStorage, InMemoryVectorStore, type InputGuardrail, KnowledgeBase, type KnowledgeBaseConfig, type KnowledgeBaseToolConfig, LLMLoop, type LogLevel, Logger, type LoggerConfig, MCPToolProvider, type MCPToolProviderConfig, Memory, type MemoryConfig, type MemoryEntry, type MessageContent, type MessageRole, type ModelConfig, type ModelProvider, ModelRegistry, type ModelResponse, MongoDBStorage, type MongoDBVectorConfig, MongoDBVectorStore, OllamaProvider, OpenAIEmbedding, type OpenAIEmbeddingConfig, OpenAIProvider, type OpenAIRealtimeConfig, OpenAIRealtimeProvider, type OutputGuardrail, type ParallelStep, type PgVectorConfig, PgVectorStore, PostgresStorage, type QdrantConfig, QdrantVectorStore, type RRFOptions, type RankedItem, type RealtimeConnection, type RealtimeEvent, type RealtimeEventMap, type RealtimeProvider, type RealtimeSessionConfig, type RealtimeToolCall, type ReasoningConfig, type RetryConfig, RunContext, type RunOpts, type RunOutput, Sandbox, type SandboxConfig, type SearchMode, type Session, SessionManager, type SessionManagerConfig, SqliteStorage, type StepDef, type StepResult, type StorageDriver, type StreamChunk, Team, type TeamConfig, TeamMode, type TextPart, type TokenUsage, type ToolCacheConfig, type ToolCall, type ToolCallResult, type ToolDef, type ToolDefinition, ToolExecutor, type ToolResult, Toolkit, type TurnDetectionConfig, type UserFact, UserMemory, type UserMemoryConfig, type VectorDocument, type VectorSearchOptions, type VectorSearchResult, type VectorStore, type VertexAIConfig, VertexAIProvider, VoiceAgent, type VoiceAgentConfig, type VoiceSession, type VoiceSessionEvent, type VoiceSessionEventMap, type WebSearchConfig, WebSearchToolkit, type WhatsAppConfig, WhatsAppToolkit, Workflow, type WorkflowConfig, type WorkflowResult, anthropic, defineTool, getTextContent, google, googleLive, isMultiModal, ollama, openai, openaiRealtime, reciprocalRankFusion, registry, resolveSandboxConfig, vertex, withRetry };
|