UNPKG

@xynehq/jaf

Version:

Juspay Agent Framework - A purely functional agent framework with immutable state and composable tools

76 lines 5.52 kB
/** * JAF ADK Layer - Streaming System * * Functional streaming and live interaction utilities */ import { LiveRequestQueue, Content, AgentEvent, AgentEventType, StreamConfig, ResponseModality, FunctionCall, FunctionResponse } from '../types'; export declare const createLiveRequestQueue: () => LiveRequestQueue; export declare const createAgentEvent: (type: AgentEventType, data?: { content?: Content; functionCall?: FunctionCall; functionResponse?: FunctionResponse; error?: string; metadata?: Record<string, unknown>; }) => AgentEvent; export declare const createMessageStartEvent: (content?: Content) => AgentEvent; export declare const createMessageDeltaEvent: (content: Content) => AgentEvent; export declare const createMessageCompleteEvent: (content?: Content) => AgentEvent; export declare const createFunctionCallStartEvent: (functionCall: FunctionCall) => AgentEvent; export declare const createFunctionCallCompleteEvent: (functionResponse: FunctionResponse) => AgentEvent; export declare const createAgentTransferEvent: (targetAgent: string, metadata?: Record<string, unknown>) => AgentEvent; export declare const createConversationEndEvent: (metadata?: Record<string, unknown>) => AgentEvent; export declare const createErrorEvent: (error: string, metadata?: Record<string, unknown>) => AgentEvent; export declare const streamToQueue: (stream: AsyncGenerator<AgentEvent>, queue: LiveRequestQueue) => Promise<void>; export declare const queueToStream: (queue: LiveRequestQueue) => AsyncGenerator<AgentEvent>; export declare const combineStreams: (...streams: AsyncGenerator<AgentEvent>[]) => AsyncGenerator<AgentEvent>; export declare const filterEventStream: (stream: AsyncGenerator<AgentEvent>, predicate: (event: AgentEvent) => boolean) => AsyncGenerator<AgentEvent>; export declare const mapEventStream: <T>(stream: AsyncGenerator<AgentEvent>, mapper: (event: AgentEvent) => T) => AsyncGenerator<T>; export declare const createStreamConfig: (responseModalities?: ResponseModality[], options?: { bufferSize?: number; timeout?: number; }) => StreamConfig; export declare const createTextStreamConfig: () => StreamConfig; export declare const createAudioStreamConfig: () => StreamConfig; export declare const createMultiModalStreamConfig: () => StreamConfig; export declare const createBufferedStream: (stream: AsyncGenerator<AgentEvent>, bufferSize?: number) => AsyncGenerator<AgentEvent[]>; export declare const createThrottledStream: (stream: AsyncGenerator<AgentEvent>, intervalMs?: number) => AsyncGenerator<AgentEvent>; export declare const createDebouncedStream: (stream: AsyncGenerator<AgentEvent>, delayMs?: number) => AsyncGenerator<AgentEvent>; export declare const collectEvents: (stream: AsyncGenerator<AgentEvent>, predicate?: (event: AgentEvent) => boolean) => Promise<AgentEvent[]>; export declare const findFirstEvent: (stream: AsyncGenerator<AgentEvent>, predicate: (event: AgentEvent) => boolean) => Promise<AgentEvent | null>; export declare const waitForEvent: (stream: AsyncGenerator<AgentEvent>, type: AgentEventType, timeout?: number) => Promise<AgentEvent | null>; export declare const countEvents: (stream: AsyncGenerator<AgentEvent>, predicate?: (event: AgentEvent) => boolean) => Promise<number>; export declare const isMessageEvent: (event: AgentEvent) => boolean; export declare const isFunctionEvent: (event: AgentEvent) => boolean; export declare const isControlEvent: (event: AgentEvent) => boolean; export declare const isErrorEvent: (event: AgentEvent) => boolean; export declare const filterMessageEvents: (stream: AsyncGenerator<AgentEvent>) => AsyncGenerator<AgentEvent, any, any>; export declare const filterFunctionEvents: (stream: AsyncGenerator<AgentEvent>) => AsyncGenerator<AgentEvent, any, any>; export declare const filterControlEvents: (stream: AsyncGenerator<AgentEvent>) => AsyncGenerator<AgentEvent, any, any>; export declare const filterErrorEvents: (stream: AsyncGenerator<AgentEvent>) => AsyncGenerator<AgentEvent, any, any>; export declare const monitorStream: (stream: AsyncGenerator<AgentEvent>, monitor: (event: AgentEvent) => void) => AsyncGenerator<AgentEvent>; export declare const logStream: (prefix?: string) => (event: AgentEvent) => void; export declare const metricsMonitor: () => { monitor: (event: AgentEvent) => void; getMetrics: () => { duration: number; eventsPerSecond: number; eventCount: number; eventsByType: Record<AgentEventType, number>; errors: number; startTime: number; firstEventTime: number | null; lastEventTime: number | null; }; }; export declare const withStreamErrorHandling: (stream: AsyncGenerator<AgentEvent>, errorHandler?: (error: Error) => AgentEvent | null) => AsyncGenerator<AgentEvent>; export declare const retryStream: (streamFactory: () => AsyncGenerator<AgentEvent>, maxRetries?: number, delayMs?: number) => AsyncGenerator<AgentEvent>; export interface BidirectionalStream { send: (message: Content) => Promise<void>; receive: () => AsyncGenerator<AgentEvent>; close: () => void; } export declare const createBidirectionalStream: () => BidirectionalStream; export declare const streamToArray: <T>(stream: AsyncGenerator<T>) => Promise<T[]>; export declare const takeFromStream: <T>(stream: AsyncGenerator<T>, count: number) => AsyncGenerator<T>; export declare const skipFromStream: <T>(stream: AsyncGenerator<T>, count: number) => AsyncGenerator<T>; //# sourceMappingURL=index.d.ts.map