Initial WallMuse project
This commit is contained in:
19
scripts/run-mock-generation.ts
Normal file
19
scripts/run-mock-generation.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
import { JsonWallMuseDb } from "../packages/db/src/json-store.js";
|
||||
import type { GenerationWorkerJobData } from "../packages/db/src/json-store.js";
|
||||
import { GenerationProcessor } from "../apps/worker-generation/src/processor.js";
|
||||
const db = JsonWallMuseDb.fromEnv();
|
||||
const processor = new GenerationProcessor(db);
|
||||
const jobData: GenerationWorkerJobData = { groupId: crypto.randomUUID(), taskId: crypto.randomUUID(), userId: "user_mock", mode: "text_to_image", prompt: "futuristic city at sunrise, clean wallpaper composition", negativePrompt: "text, logo, watermark", resolution: "2k", providerId: "00000000-0000-4000-8000-000000000001", providerSlug: "mock", modelId: "00000000-0000-4000-8000-000000000101", modelSlug: "mock-wallpaper-v1", seed: 42 };
|
||||
await db.seedQueuedGeneration(jobData);
|
||||
console.log(`queued group=${jobData.groupId} task=${jobData.taskId}`);
|
||||
await processor.process({ data: jobData, updateProgress: async (progress: number) => console.log(`progress=${progress}`) } as never);
|
||||
const state = await db.read();
|
||||
const group = state.generationGroups.find((item) => item.id === jobData.groupId);
|
||||
const assets = group?.assets ?? [];
|
||||
const logs = state.providerCallLogs.filter((item) => item.groupId === jobData.groupId);
|
||||
console.log(`final status=${group?.status}`);
|
||||
console.log(`assets=${assets.map((asset) => `${asset.kind}:${asset.status}`).join(",")}`);
|
||||
console.log(`provider_call_logs=${logs.length}`);
|
||||
if (group?.status !== "succeeded") throw new Error(`Expected succeeded, received ${group?.status ?? "missing"}`);
|
||||
if (!["master", "landscape", "portrait"].every((kind) => assets.some((asset) => asset.kind === kind && asset.status === "active"))) throw new Error("Expected active master, landscape and portrait assets");
|
||||
if (logs.length < 3 || !logs.every((log) => log.status === "succeeded")) throw new Error("Expected succeeded provider_call_logs for each generated asset");
|
||||
Reference in New Issue
Block a user