woolball-client
Version:
Client-side library for Woolball enabling secure browser resource sharing for distributed AI task processing
39 lines (38 loc) • 1.07 kB
TypeScript
type TaskStatus = 'started' | 'success' | 'error' | 'node_count';
type TaskEventData = {
id: string;
type: string;
status: TaskStatus;
nodeCount?: number;
};
type EventListener = (data: TaskEventData) => void;
declare class Woolball {
private wsConnection;
private clientId;
private eventListeners;
private workerTypes;
private wsUrl;
private activeWorkers;
constructor(id: string, url?: string);
start(): void;
destroy(): void;
/**
* Establishes WebSocket connection and sets up message handlers
*/
private connectWebSocket;
/**
* Handles incoming WebSocket messages
*/
private handleWebSocketMessage;
/**
* Sends a message to the WebSocket server
*/
private sendWebSocketMessage;
private createWorker;
private terminateWorker;
processEvent(type: string, value: any): Promise<any>;
on(status: TaskStatus, listener: EventListener): void;
off(status: TaskStatus, listener: EventListener): void;
private emitEvent;
}
export default Woolball;