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
TypeScript
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>;
}