UNPKG

survey-mcp-server

Version:

Survey management server handling survey creation, response collection, analysis, and reporting with database access for data management

55 lines (54 loc) 2.22 kB
import { Page } from 'playwright'; export interface BrowserConfig { headless?: boolean; timeout?: number; viewport?: { width: number; height: number; }; downloadPath?: string; } export interface ClassificationSocietyCredentials { username: string; password: string; email?: string; emailPassword?: string; } export declare class BrowserAutomation { private browserConfig; private browser; private context; private page; protected downloadPath: string; constructor(browserConfig?: BrowserConfig); private ensureDownloadDirectory; initialize(): Promise<void>; cleanup(): Promise<void>; getPage(): Page; waitForDownload(timeout?: number): Promise<string>; solveCaptchaWithOpenAI(captchaImageSelector: string): Promise<string>; handlePopup(action: () => Promise<void>): Promise<Page>; waitForNetworkIdle(timeout?: number): Promise<void>; takeScreenshot(filename?: string): Promise<string>; } export declare class CCSAutomation extends BrowserAutomation { downloadSurveyStatus(vesselName: string, credentials: ClassificationSocietyCredentials): Promise<string>; } export declare class NKAutomation extends BrowserAutomation { downloadSurveyStatus(vesselName: string, credentials: ClassificationSocietyCredentials): Promise<string>; } export declare class KRAutomation extends BrowserAutomation { downloadSurveyStatus(vesselName: string, credentials: ClassificationSocietyCredentials): Promise<string>; } export declare class DNVAutomation extends BrowserAutomation { downloadSurveyStatus(vesselName: string, credentials: ClassificationSocietyCredentials): Promise<string>; } export declare class LRAutomation extends BrowserAutomation { downloadSurveyStatus(vesselName: string, credentials: ClassificationSocietyCredentials): Promise<string>; } export declare class BVAutomation extends BrowserAutomation { downloadSurveyStatus(vesselName: string, credentials: ClassificationSocietyCredentials): Promise<string>; } export declare class ABSAutomation extends BrowserAutomation { downloadSurveyStatus(vesselName: string, credentials: ClassificationSocietyCredentials): Promise<string>; }