@mediacat/mcp
Version:
A Model Context Protocol (MCP) server for MediaCAT's subtitle generation workflow with XL8.ai integration. Supports local file processing, real-time SSE updates, and dynamic language detection.
62 lines • 1.72 kB
TypeScript
import { SSEManager } from '../utils/sse-manager.js';
export interface SyncOptions {
fileData?: string;
filePath?: string;
filename: string;
mimeType: string;
language: string;
format: 'srt' | 'vtt' | 'ttml' | 'json' | 'xl8.json';
apiKey?: string;
transcriptS3Key?: string;
synchronous?: boolean;
webhook_url?: string;
including_speaker?: boolean | 'never' | 'always' | 'on_change';
}
export interface SyncProgress {
requestId: string;
webhook_url?: string;
status: 'uploading' | 'processing' | 'downloading' | 'completed' | 'error';
progress?: number;
message?: string;
result?: {
format: string;
content: string;
};
error?: string;
}
export interface SyncResult {
requestId: string;
processingPromise?: Promise<{
success: boolean;
requestId: string;
format: string;
content?: string;
filename: string;
language: string;
message: string;
error?: string;
}>;
result?: {
success: boolean;
requestId: string;
format: string;
content?: string;
filename: string;
language: string;
message: string;
error?: string;
};
}
export declare class SyncService {
private sseManager;
private syncProgress;
private serverApiKey?;
constructor(sseManager: SSEManager, serverApiKey?: string);
runSync(options: SyncOptions): Promise<SyncResult>;
private processSync;
private updateProgress;
getActiveSync(requestId: string): SyncProgress | null;
getAllActiveSyncs(): SyncProgress[];
getAvailableLanguages(): Promise<string[]>;
}
//# sourceMappingURL=sync.d.ts.map