import { parentPort, workerData } from 'worker_threads'; import { Pipeline } from './core/Pipeline.js'; import { ScoutStage } from './stages/scoutStage.js'; import { GenerateStage } from './stages/generateStage.js'; import { ScoreStage } from './stages/scoreStage.js'; import { BuildStage } from './stages/buildStage.js'; const seed = workerData.seed; const pipeline = new Pipeline( [new ScoutStage(), new GenerateStage(), new ScoreStage(), new BuildStage()], { onStageComplete: (r) => { parentPort.postMessage({ type: 'progress', seedId: workerData.id, stage: r.stage, spentUsd: r.spentUsd }); }, } ); try { const result = await pipeline.run(seed); parentPort.postMessage({ type: 'done', seedId: workerData.id, result }); } catch (err) { parentPort.postMessage({ type: 'error', seedId: workerData.id, error: err.message }); }