import { createDb } from "../packages/db/src/index.js"; async function run() { const { prisma } = createDb("postgres://ingowagner@127.0.0.1:5432/evoo"); const session = await prisma.session.findFirst({ orderBy: { createdAt: "desc" } }); if (!session) throw new Error("No session"); const quant = await prisma.bot.findFirst({ where: { name: "Apex Quant" } }); const architect = await prisma.bot.findFirst({ where: { name: "Code Architect" } }); const devops = await prisma.bot.findFirst({ where: { name: "DevOps Engineer" } }); const auditor = await prisma.bot.findFirst({ where: { name: "Security & QA Auditor" } }); const tasks = [ { bot: quant, text: "Sprint 1 (Quantitative Validation):\nPrüfe mit dem shell-Tool die mathematische Präzision in `apex-trading/src/engine/trader.py`. Führe `python3 -m unittest discover -s apex-trading/tests` im Terminal aus. Aktualisiere anschließend deine `TODO.md` mit den Ergebnissen.", }, { bot: architect, text: "Sprint 1 (Architecture Blueprint):\nUntersuche mit dem shell- oder file-Tool die Projektstruktur in `apex-trading/` und `evoo-platform/`. Prüfe die saubere Trennung und dokumentiere den Modulaufbau in `ARCHITECTURE.md`. Aktualisiere deine `TODO.md`.", }, { bot: devops, text: "Sprint 1 (Infrastructure & Healthcheck):\nPrüfe mit dem shell-Tool die Umgebung: Python-Version, Node-Version und das Script `deploy.sh`. Teste, ob alle Abhängigkeiten vorhanden sind und aktualisiere deine `TODO.md`.", }, { bot: auditor, text: "Sprint 1 (Security & Edge Cases):\nAnalysiere `apex-trading/` auf potenzielle Division-by-Zero-Risiken, Typkonvertierungsfehler und Edge-Cases. Erstelle eine `BUGS.md` und aktualisiere deine `TODO.md`.", }, ]; for (const t of tasks) { if (!t.bot) continue; console.log(`Sending Sprint 1 task to ${t.bot.name}...`); const res = await fetch("http://127.0.0.1:3100/rpc/threads/send", { method: "POST", headers: { "Content-Type": "application/json", Authorization: `Bearer ${session.token}`, }, body: JSON.stringify({ json: { botId: t.bot.id, text: t.text, }, }), }); console.log(` ${t.bot.name} send status: ${res.status}`); } } run() .catch(console.error) .finally(() => process.exit(0));