gpt-research
Version:
Autonomous AI research agent that conducts comprehensive research on any topic and generates detailed reports with citations
108 lines • 3.08 kB
TypeScript
/**
* Streaming utilities for handling real-time data
*/
/**
* Parse Server-Sent Events stream
*/
export declare function parseSSEStream(data: string): string[];
/**
* Stream processor for handling chunked data
*/
export declare class StreamProcessor {
private buffer;
private decoder;
/**
* Process a chunk of data
*/
processChunk(chunk: Uint8Array): string[];
/**
* Get any remaining buffered data
*/
flush(): string[];
/**
* Reset the processor
*/
reset(): void;
}
/**
* Create a readable stream from async generator
*/
export declare function createReadableStream<T>(generator: AsyncGenerator<T>): ReadableStream<T>;
/**
* Convert async iterator to array
*/
export declare function iteratorToArray<T>(iterator: AsyncIterator<T>): Promise<T[]>;
/**
* Merge multiple async iterators
*/
export declare function mergeAsyncIterators<T>(...iterators: AsyncIterator<T>[]): AsyncGenerator<T>;
/**
* Transform stream with backpressure support
*/
export declare class TransformStream<T, R> {
private transformer;
constructor(transformer: (value: T) => Promise<R> | R);
transform(source: AsyncIterable<T>): AsyncGenerator<R>;
}
/**
* Batch stream items
*/
export declare function batchStream<T>(source: AsyncIterable<T>, batchSize: number): AsyncGenerator<T[]>;
/**
* Rate limit stream
*/
export declare function rateLimitStream<T>(source: AsyncIterable<T>, itemsPerSecond: number): AsyncGenerator<T>;
/**
* Filter stream
*/
export declare function filterStream<T>(source: AsyncIterable<T>, predicate: (value: T) => boolean | Promise<boolean>): AsyncGenerator<T>;
/**
* Map stream
*/
export declare function mapStream<T, R>(source: AsyncIterable<T>, mapper: (value: T) => R | Promise<R>): AsyncGenerator<R>;
/**
* Reduce stream
*/
export declare function reduceStream<T, R>(source: AsyncIterable<T>, reducer: (acc: R, value: T) => R | Promise<R>, initialValue: R): Promise<R>;
/**
* Timeout for async iterators
*/
export declare function timeoutStream<T>(source: AsyncIterable<T>, timeout: number): AsyncGenerator<T>;
/**
* Buffer stream items
*/
export declare class StreamBuffer<T> {
private buffer;
private maxSize;
constructor(maxSize?: number);
push(item: T): void;
getAll(): T[];
getLast(n: number): T[];
clear(): void;
get size(): number;
}
/**
* Progress tracking for long-running operations
*/
export interface ProgressInfo {
current: number;
total: number;
percentage: number;
message?: string;
eta?: number;
}
export declare class ProgressTracker {
private current;
private total;
private startTime;
private lastUpdate;
private onProgress?;
constructor(total: number, onProgress?: (progress: ProgressInfo) => void);
update(current: number, message?: string): void;
updateProgress(percentage: number, message?: string): void;
increment(message?: string): void;
reset(): void;
getProgress(): ProgressInfo;
getLastUpdate(): number;
}
//# sourceMappingURL=stream.d.ts.map