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.
76 lines
3.0 KiB
TypeScript
76 lines
3.0 KiB
TypeScript
import { createDb } from "../packages/db/src/index.js";
|
|
import { createRepos } from "../packages/db/src/repos.js";
|
|
|
|
async function main() {
|
|
const dbUrl = process.env.DATABASE_URL || "postgres://ingowagner@127.0.0.1:5432/evoo";
|
|
const { prisma } = createDb(dbUrl);
|
|
|
|
const steve = await prisma.bot.findFirst({
|
|
where: { name: "Steve Jobs" },
|
|
});
|
|
if (!steve) throw new Error("Steve Jobs bot not found");
|
|
|
|
const actor = {
|
|
userId: steve.userId,
|
|
spaceId: steve.spaceId,
|
|
email: "ingo.wagner1303@gmail.com",
|
|
isDeploymentOwner: true,
|
|
};
|
|
|
|
const repos = createRepos(prisma);
|
|
|
|
const botsToSpawn = [
|
|
{
|
|
name: "Apex Quant",
|
|
title: "Quantitative Lead",
|
|
instructions:
|
|
"You are the Apex Quant for evOo. You specialize in quantitative analysis, fixed-point arithmetic, and high-frequency trading strategies. You translate market signals into precise mathematical executions. Your focus is on latency reduction and zero-decimal loss. Your goal: Market dominance through mathematical precision.",
|
|
},
|
|
{
|
|
name: "Code Architect",
|
|
title: "Chief Software Architect",
|
|
instructions:
|
|
"You are the Code Architect for evOo. Your focus is on high-performance software design, scalability, and absolute code elegance. You ensure that every line of code is optimized and follows the strict standards set by the CTO. You are responsible for the structural integrity of the codebase. Your goal: Zero technical debt.",
|
|
},
|
|
{
|
|
name: "DevOps Engineer",
|
|
title: "Infrastructure Guardian",
|
|
instructions:
|
|
"You are the DevOps Engineer for evOo. Your focus is on the deployment pipeline, cloud infrastructure, and the self-healing nature of the system. You manage the deploy.sh scripts, CI/CD, and ensure zero-downtime deployments. Your goal: 99.99% uptime and seamless scalability.",
|
|
},
|
|
{
|
|
name: "Security & QA Auditor",
|
|
title: "Chief Security Officer (CSO)",
|
|
instructions:
|
|
"You are the Security & QA Auditor for evOo. Your mission is to find every bug, every vulnerability, and every bottleneck before it reaches production. You are adversarial; you attack the code to make it unassailable. You manage NDAs, access levels, and the absolute anonymity of the Sugar-Rush project. Your goal: Absolute system hardening.",
|
|
},
|
|
];
|
|
|
|
for (const b of botsToSpawn) {
|
|
const existing = await prisma.bot.findFirst({
|
|
where: { name: b.name, spaceId: steve.spaceId, userId: steve.userId },
|
|
});
|
|
if (existing) {
|
|
console.log(`Bot '${b.name}' already exists (ID: ${existing.id})`);
|
|
continue;
|
|
}
|
|
const created = await repos.createBot(actor, {
|
|
name: b.name,
|
|
title: b.title,
|
|
description: "",
|
|
instructions: b.instructions,
|
|
notifyOnFinish: true,
|
|
parentBotId: steve.id,
|
|
modelProvider: steve.modelProvider,
|
|
modelId: steve.modelId,
|
|
});
|
|
console.log(
|
|
`Successfully spawned '${created.name}' (ID: ${created.id}, Thread: ${created.threadId})`,
|
|
);
|
|
}
|
|
}
|
|
|
|
main()
|
|
.catch(console.error)
|
|
.finally(() => process.exit(0));
|