evOo-local/scripts/check-specialists-responses.ts
cynarAI 6c7eed7580 Initial clean evOo-local from f00577b
Fresh history cut from cynarAI/evoo antigravity-handoff/project-timeline
(Voice First + project timeline). Brand docs/titles as evOo; keep @rakazo/*
packages as tech debt. Excludes node_modules, caches, secrets, voice blobs.
2026-09-20 17:15:16 +02:00

56 lines
1.5 KiB
TypeScript

import { createDb } from "../packages/db/src/index.js";
async function run() {
const { prisma } = createDb("postgres://ingowagner@127.0.0.1:5432/evoo");
const runs = await prisma.run.findMany({
where: {
bot: {
name: { in: ["Apex Quant", "Code Architect", "DevOps Engineer", "Security & QA Auditor"] },
},
},
orderBy: { createdAt: "desc" },
take: 4,
include: {
bot: true,
thread: {
include: {
messages: {
orderBy: { seq: "desc" },
take: 1,
},
},
},
},
});
for (const r of runs) {
const lastMsg = r.thread?.messages[0];
console.log(`\n======================================================`);
console.log(
`Bot: ${r.bot?.name.padEnd(25)} | Run Status: ${r.status} | Last Msg: ${lastMsg?.role}`,
);
if (lastMsg?.role === "bot") {
console.log(JSON.stringify(lastMsg.blocks, null, 2));
}
}
const events = await prisma.event.findMany({
where: {
type: { in: ["agent.tool.called", "agent.tool.completed", "thread.message.created"] },
createdAt: { gte: new Date(Date.now() - 30_000) },
},
orderBy: { createdAt: "desc" },
take: 5,
});
console.log(`\nEvents in last 30s: ${events.length}`);
for (const e of events) {
console.log(
`[${e.createdAt.toISOString()}] ${e.type} | Bot: ${e.botId} | Data: ${JSON.stringify(e.payload || e.data).slice(0, 100)}`,
);
}
}
run()
.catch(console.error)
.finally(() => process.exit(0));