UNPKG

@measey/mycoder-agent

Version:

Agent module for mycoder - an AI-powered software development assistant

74 lines 2.15 kB
import { type Page } from '@playwright/test'; import { Logger } from '../../utils/logger.js'; import { BrowserConfig } from './lib/types.js'; export declare enum SessionStatus { RUNNING = "running", COMPLETED = "completed", ERROR = "error", TERMINATED = "terminated" } export interface SessionInfo { sessionId: string; status: SessionStatus; startTime: Date; endTime?: Date; page?: Page; metadata: { url?: string; contentLength?: number; closedExplicitly?: boolean; error?: string; actionType?: string; }; } /** * Creates, manages, and tracks browser sessions */ export declare class SessionTracker { ownerAgentId: string | undefined; private logger?; private sessions; private browser; private readonly defaultConfig; private detectedBrowsers; private browserDetectionPromise; private currentConfig; constructor(ownerAgentId: string | undefined, logger?: Logger | undefined); updateSessionStatus(sessionId: string, status: SessionStatus, metadata?: Record<string, any>): boolean; getSessions(): SessionInfo[]; getSessionById(id: string): SessionInfo | undefined; getSessionsByStatus(status: SessionStatus): SessionInfo[]; /** * Create a new browser session */ createSession(config?: BrowserConfig): Promise<string>; /** * Get a page from a session by ID */ getSessionPage(sessionId: string): Page; /** * Close a specific browser session */ closeSession(sessionId: string): Promise<void>; /** * Cleans up all browser sessions and the browser itself */ cleanup(): Promise<void>; /** * Close all browser sessions */ closeAllSessions(): Promise<void>; /** * Sets up global cleanup handlers for all browser sessions */ /** * Lazily initializes the browser instance */ private initializeBrowser; /** * Launch a browser with a specific executable path */ private launchBrowserWithExecutablePath; private setupOnExitCleanup; } //# sourceMappingURL=SessionTracker.d.ts.map