const path = require("path"); const { Engine } = require("node-uci"); require("dotenv").config(); const engine = new Engine(path.join(__dirname, process.env.CHESS_ENGINE_PATH || "engine/stockfish16.exe")); engine .init() .then((eng) => { return eng.setoption("UCI_LimitStrength", true); }) .then((eng) => { eng.setoption("UCI_Elo"); }) .catch((err) => { console.error(err); }); const nextMove = async ({ position }) => { await engine.isready(); console.log("Chess engine ready"); engine.position(position); const result = await engine.go({ depth: 10 }); console.log("Best move or position", position, "is", result.bestmove); return result.bestmove; }; module.exports = { nextMove };