ai_plugin_server / src /worker.js
everydaycats's picture
Upload 3 files
11ae1d4 verified
Raw
History Blame Contribute Delete
856 Bytes
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 });
}