/**
* Базовый смоук через агентный мост: новая игра, шаги, снапшот, скриншот.
* Запуск: node tools/smoke.mjs [url] [файл-скриншота]
*/
import { openGame } from './agent-lib.mjs';
const url = process.argv[2] ?? 'http://localhost:5199/';
const shot = process.argv[3] ?? '/tmp/rpg_smoke.png';
const { browser, page, agent } = await openGame({ url, newGame: true });
// 300 фиксированных шагов без ошибок инвариантов.
await agent.step(300);
const inv = await agent.invariants();
const errs = inv.filter((i) => i.severity === 'error');
if (errs.length) console.log(' ! инварианты:', JSON.stringify(errs));
const snap = await agent.snapshot();
console.log('снапшот:', JSON.stringify({ area: snap.area, hero: snap.hero?.tile, hp: snap.hero?.hp }));
await page.screenshot({ path: shot });
console.log(`Скриншот: ${shot}`);
await browser.close();