All MicroEvals
============================================================...
Create MicroEval
Header image for ============================================================...

============================================================...

Prompt

================================================================ Directory Structure ================================================================ activities/ checkpoints.ts/ checkpoints.ts context.ts/ context.ts files.ts/ files.ts models.ts/ models.ts notifications.ts/ notifications.ts permissions.ts/ permissions.ts research.ts/ research.ts review.ts/ review.ts runtime.ts/ runtime.ts tests.ts/ tests.ts tools.ts/ tools.ts worker.ts/ worker.ts workflows/ agent-run.ts/ agent-run.ts automation-build.ts/ automation-build.ts design-build.ts/ design-build.ts fast-build.ts/ fast-build.ts full-build.ts/ full-build.ts general-build.ts/ general-build.ts mobile-build.ts/ mobile-build.ts quick-edit.ts/ quick-edit.ts ================================================================ Files ================================================================ ================ File: activities/checkpoints.ts/checkpoints.ts ================ import { CheckpointRepository } from "@platform/database"; import crypto from "crypto"; export async function createCheckpointActivity(projectId: string, reason: string): Promise<string> { const cpId = crypto.randomUUID(); await CheckpointRepository.create({ id: cpId, projectId, branchName: "main", reason, fileSnapshotRef: `snapshot-${cpId}`, environmentSnapshotRef: `env-${cpId}`, contentHash: crypto.createHash("sha256").update(reason + Date.now()).digest("hex"), creatorId: "u-dev-1" }); return cpId; } ================ File: activities/context.ts/context.ts ================ import { ProjectFileRepository, AgentRepository } from "@platform/database"; export async function assembleContextActivity(projectId: string): Promise<string> { const files = await ProjectFileRepository.listByProject(projectId); const convs = await AgentRepository.listConversationsByProject(projectId); const fileSummary = files.map(f => `File: ${f.path} (${f.size_bytes} bytes)`).join("\n"); const convSummary = convs.map(c => `Conversation: ${c.title}`).join("\n"); return `=== Project Context ===\n${fileSummary}\n=== Recent Conversations ===\n${convSummary}`; } ================ File: activities/files.ts/files.ts ================ import { ProjectFileRepository } from "@platform/database"; import crypto from "crypto"; export async function updateFilesActivity(projectId: string, files: Array<{ path: string; content: string }>): Promise<number> { let count = 0; for (const f of files) { const hash = crypto.createHash("sha256").update(f.content).digest("hex"); await ProjectFileRepository.upsert({ id: crypto.randomUUID(), projectId, path: f.path, fileType: "file", sizeBytes: Buffer.byteLength(f.content, "utf-8"), contentHash: hash, mimeType: f.path.endsWith(".tsx") ? "text/typescript-jsx" : "text/plain", content: f.content }); count++; } return count; } ================ File: activities/models.ts/models.ts ================ import { ModelRouter, ModelRegistry } from "@platform/model-gateway"; export async function queryModelActivity(prompt: string): Promise<string> { const registry = new ModelRegistry(); const router = new ModelRouter(registry); const resp = await router.route({ messages: [{ role: "user", content: prompt }] }); return resp.content; } ================ File: activities/notifications.ts/notifications.ts ================ import { NotificationRepository } from "@platform/database"; import { query } from "@platform/database"; export async function sendNotificationActivity(userId: string, title: string, message = ""): Promise<void> { await query( "INSERT INTO notifications (id, user_id, title, message, type, is_read, created_at) VALUES ($1, $2, $3, $4, 'agent_update', false, NOW())", [crypto.randomUUID(), userId, title, message] ); } ================ File: activities/permissions.ts/permissions.ts ================ import { hasPermission } from "@platform/security"; export async function verifyActionPermissionActivity(action: string, role = "owner"): Promise<boolean> { return hasPermission(role as "owner" | "admin" | "member" | "auditor", action as any); } ================ File: activities/research.ts/research.ts ================ import { WebResearchRepository } from "@platform/database"; export async function searchDocsActivity(queryText: string): Promise<string[]> { const docs = [ `Reference guide for ${queryText}`, `Architecture and best practices for ${queryText}` ]; await WebResearchRepository.logSearch(queryText, docs.length); return docs; } ================ File: activities/review.ts/review.ts ================ import { reviewSourceChanges } from "@platform/agent-core"; export async function reviewChangesActivity(files: string[]): Promise<boolean> { const res = reviewSourceChanges(files); return res.approved; } ================ File: activities/runtime.ts/runtime.ts ================ import { RuntimeRepository } from "@platform/database"; export async function restartRuntimeActivity(projectId: string): Promise<boolean> { const runtime = await RuntimeRepository.findByProjectId(projectId); if (!runtime) return false; await RuntimeRepository.updateState(runtime.id, "ready"); return true; } ================ File: activities/tests.ts/tests.ts ================ export async function runTestsActivity(projectId: string): Promise<{ passed: boolean; testCount: number }> { return { passed: true, testCount: 5 }; } ================ File: activities/tools.ts/tools.ts ================ import { ToolRegistryRepository } from "@platform/database"; export async function executeToolActivity(name: string, args: Record<string, unknown>): Promise<Record<string, unknown>> { const tools = await ToolRegistryRepository.listAllTools(); const found = tools.find(t => t.name === name); return { tool: name, found: Boolean(found), args, executedAt: new Date().toISOString() }; } ================ File: worker.ts/worker.ts ================ import { Logger } from "@platform/observability"; import { fetchPendingOutboxEvents, markOutboxEventProcessed } from "@platform/database"; const logger = new Logger("agent-worker"); export async function start() { logger.info("Agent Worker started. Polling outbox events loop..."); while (true) { try { const events = await fetchPendingOutboxEvents(10); for (const e of events) { logger.info(`Processing event ${e.eventType}`, e.traceId); await markOutboxEventProcessed(e.id); } } catch (err) { logger.error("Outbox polling error", undefined, { error: String(err) }); } await new Promise(r => setTimeout(r, 2000)); } } if (process.env["NODE_ENV"] !== "test") { start().catch(err => { console.error("Worker fatal error:", err); process.exit(1); }); } ================ File: workflows/agent-run.ts/agent-run.ts ================ import { assembleContextActivity } from "../activities/context.js"; import { queryModelActivity } from "../activities/models.js"; import { updateFilesActivity } from "../activities/files.js"; import { createCheckpointActivity } from "../activities/checkpoints.js"; export async function runAgentWorkflow(projectId: string, prompt: string): Promise<boolean> { const context = await assembleContextActivity(projectId); const planResponse = await queryModelActivity(`Create plan for: ${prompt}\n${context}`); await updateFilesActivity(projectId, [ { path: "src/App.tsx", content: "export function App() { return <div>Generated Application</div>; }" } ]); await createCheckpointActivity(projectId, `Executed: ${prompt}`); return Boolean(planResponse); } ================ File: workflows/automation-build.ts/automation-build.ts ================ import { updateFilesActivity } from "../activities/files.js"; import { createCheckpointActivity } from "../activities/checkpoints.js"; export async function runAutomationBuildWorkflow(projectId: string): Promise<boolean> { await updateFilesActivity(projectId, [ { path: "src/workflows/event-handler.ts", content: "export async function handleEvent() { return true; }" } ]); await createCheckpointActivity(projectId, "Automation workflow created"); return true; } ================ File: workflows/design-build.ts/design-build.ts ================ import { updateFilesActivity } from "../activities/files.js"; import { createCheckpointActivity } from "../activities/checkpoints.js"; export async function runDesignBuildWorkflow(projectId: string, prompt: string): Promise<boolean> { await updateFilesActivity(projectId, [ { path: "src/App.tsx", content: "export function App() { return <div style={{ color: '#3b82f6' }}>Visual Design View</div>; }" } ]); await createCheckpointActivity(projectId, `Design generated: ${prompt}`); return true; } ================ File: workflows/fast-build.ts/fast-build.ts ================ import { queryModelActivity } from "../activities/models.js"; import { updateFilesActivity } from "../activities/files.js"; import { createCheckpointActivity } from "../activities/checkpoints.js"; export async function runFastBuildWorkflow(projectId: string, goal: string): Promise<boolean> { const code = await queryModelActivity(`Fast prototype for: ${goal}`); await updateFilesActivity(projectId, [ { path: "src/App.tsx", content: "export function App() { return <div>Fast Prototype</div>; }" } ]); await createCheckpointActivity(projectId, `Fast build: ${goal}`); return Boolean(code); } ================ File: workflows/full-build.ts/full-build.ts ================ import { assembleContextActivity } from "../activities/context.js"; import { queryModelActivity } from "../activities/models.js"; import { updateFilesActivity } from "../activities/files.js"; import { runTestsActivity } from "../activities/tests.js"; import { createCheckpointActivity } from "../activities/checkpoints.js"; export async function runFullBuildWorkflow(projectId: string, goal: string): Promise<boolean> { const context = await assembleContextActivity(projectId); const plan = await queryModelActivity(`Full build plan for goal: ${goal}\n${context}`); await updateFilesActivity(projectId, [ { path: "src/App.tsx", content: "export function App() { return <div>Full Build Feature</div>; }" }, { path: "package.json", content: JSON.stringify({ name: "app", version: "1.0.0" }, null, 2) } ]); const testRes = await runTestsActivity(projectId); if (!testRes.passed) return false; await createCheckpointActivity(projectId, `Full build complete: ${goal}`); return Boolean(plan); } ================ File: workflows/general-build.ts/general-build.ts ================ import { assembleContextActivity } from "../activities/context.js"; import { createCheckpointActivity } from "../activities/checkpoints.js"; export async function runGeneralBuildWorkflow(projectId: string): Promise<boolean> { await assembleContextActivity(projectId); await createCheckpointActivity(projectId, "General build synchronized"); return true; } ================ File: workflows/mobile-build.ts/mobile-build.ts ================ import { updateFilesActivity } from "../activities/files.js"; import { createCheckpointActivity } from "../activities/checkpoints.js"; export async function runMobileBuildWorkflow(projectId: string): Promise<boolean> { await updateFilesActivity(projectId, [ { path: "src/App.native.tsx", content: "export function MobileApp() { return <View><Text>Mobile Framework</Text></View>; }" } ]); await createCheckpointActivity(projectId, "Mobile framework configured"); return true; } ================ File: workflows/quick-edit.ts/quick-edit.ts ================ import { updateFilesActivity } from "../activities/files.js"; import { createCheckpointActivity } from "../activities/checkpoints.js"; export async function runQuickEditWorkflow(projectId: string, file: string, instruction: string): Promise<boolean> { await updateFilesActivity(projectId, [ { path: file, content: `// Edited according to: ${instruction}\nexport const updated = true;` } ]); await createCheckpointActivity(projectId, `Quick edit: ${file}`); return true; } ================================================================ End of Codebase ================================================================ Send back the complete code files with all fixes applied. Fix all of the listed errors one by one, actually fixing them. Keep the original imports, because the files exist. Write out every single character, do not shorten anything. Fix every error. Do not write anything else, only the complete code files, and there must not be any comments in them. I never allow any simplified mock, placeholder, dummy, simulated, or fake crap, and write the complete files as unshortened production-ready code in a code block. They must be 100% error-free, and send them as downloadable files.