navflow-browser-server
Version:
Standalone Playwright browser server for NavFlow - enables browser automation with API key authentication, workspace device management, session sync, LLM discovery tools, and requires Node.js v22+
32 lines • 1.16 kB
TypeScript
import { EventEmitter } from 'events';
import { BrowserSession } from './types';
import wrtc from '@roamhq/wrtc';
export interface ScreenShareSession {
sessionId: string;
peerConnection: wrtc.RTCPeerConnection;
stream?: wrtc.MediaStream;
cdpSession?: any;
isActive: boolean;
createdAt: Date;
}
export declare class ScreenShareService extends EventEmitter {
private screenSessions;
private readonly iceServers;
private tunnelWebSocket?;
constructor();
setTunnelWebSocket(ws: any): void;
startScreenShare(sessionId: string, browserSession: BrowserSession): Promise<void>;
stopScreenShare(sessionId: string): Promise<void>;
createOffer(sessionId: string): Promise<any>;
handleAnswer(sessionId: string, answer: any): Promise<void>;
addIceCandidate(sessionId: string, candidate: any): Promise<void>;
getScreenShareStatus(sessionId: string): {
isActive: boolean;
connectionState?: string;
};
private capturePageStream;
getActiveSessions(): string[];
getActiveSessionCount(): number;
cleanup(): Promise<void>;
}
//# sourceMappingURL=ScreenShareService.d.ts.map