feat(S3-06): integrate orchestrator in main.js and complete assembly module

This commit is contained in:
Azeufack Noupeu Willy
2025-11-24 19:36:50 +01:00
parent 925eb33eab
commit 173ed90642
3 changed files with 195 additions and 7 deletions
+67
View File
@@ -33,6 +33,73 @@ console.log(`${mapFunctions.size} Function modules loaded`);
console.log("--------------------------------------------------------------------------------");
// ======================== S3-06 : PIPELINE ORCHESTRATOR ========================
// Get audioEvents from ffmpegExtractor module
const ffmpegExtractor = mapFunctions.get("extraction-video-to-audio");
const audioEvents = ffmpegExtractor.audioEvents;
console.log('🎯 [S3-06] Pipeline Orchestrator ready. Listening for audio_ready events...');
audioEvents.on('audio_ready', async (data) => {
const { audioPath, sessionId } = data;
console.log(`✅ [Pipeline] Audio ready: ${sessionId}`);
console.log(`📁 Audio path: ${audioPath}`);
// Send status to UI
if (mainWindow) {
mainWindow.webContents.send('pipeline-status', {
sessionId,
status: 'audio_ready',
message: 'Audio bereit'
});
}
try {
console.log(`🚀 [Pipeline] Starting transcription: ${sessionId}`);
if (mainWindow) {
mainWindow.webContents.send('pipeline-status', {
sessionId,
status: 'transcription_started',
message: 'Transkription gestartet'
});
}
// Get transcription module
const assemblyModule = mapFunctions.get("assembly");
if (assemblyModule && assemblyModule.run) {
await assemblyModule.run(audioPath);
} else {
console.warn('⚠️ Assembly module not found or missing run function');
}
console.log(`✅ [Pipeline] Transcription completed: ${sessionId}`);
if (mainWindow) {
mainWindow.webContents.send('pipeline-status', {
sessionId,
status: 'transcription_completed',
message: 'Transkription abgeschlossen'
});
}
} catch (error) {
console.error(`❌ [Pipeline] Transcription failed: ${sessionId}`);
console.error(` Error:`, error.message);
if (mainWindow) {
mainWindow.webContents.send('pipeline-status', {
sessionId,
status: 'failed_transcription_start',
message: 'Fehler beim Transkriptionsstart',
error: error.message
});
}
}
});
// ===============================================================================
// --------------------------------------------------------- CLI COMMANDS --------------------------------------------------------- //