evOo-local/scripts/reclaim-and-continue.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

37 lines
1.1 KiB
TypeScript

import { runContinueJob } from "../packages/adapter-kit/src/background-jobs.js";
import { GraphileJobPublisher } from "../packages/adapters/src/wakeup.js";
import { createDb } from "../packages/db/src/index.js";
async function run() {
const { prisma, pool } = createDb("postgres://ingowagner@127.0.0.1:5432/evoo");
const jobs = new GraphileJobPublisher(pool);
const runIds = [
"cmu7k4dc50016iryyrv036xze", // Security & QA Auditor
"cmu7k4db10012iryyuhfoukpt", // DevOps Engineer
"cmu7k4d9n000yiryy0zz4obmq", // Code Architect
"cmu7k4d8k000uiryy086x000a", // Apex Quant
];
console.log("Expiring old worker leases and setting to queued...");
await prisma.run.updateMany({
where: { id: { in: runIds } },
data: {
leaseExpiresAt: new Date(0),
status: "queued",
leaseOwner: null,
},
});
for (const id of runIds) {
console.log(`Enqueueing run.continue for ${id}...`);
await jobs.enqueue(runContinueJob(id));
}
console.log("Successfully reclaimed and enqueued all 4 specialist runs!");
}
run()
.catch(console.error)
.finally(() => process.exit(0));