feat: PromptArch v2.1 - Agentic AI Assist 3-Step Flow + Slides Enhancements
- Implemented Plan -> Approve -> Generate workflow in AIAssist - Added Plan Review Card with architecture/tech stack preview - Added Reveal.js Markdown export to SlidesGenerator - Created /api/ai-assist and /api/slides orchestration routes - Fixed all syntax errors and build issues - Maintained premium blue/teal glassmorphism design
This commit is contained in:
37
app/api/slides/route.ts
Normal file
37
app/api/slides/route.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
import { NextRequest, NextResponse } from "next/server";
|
||||
import { z } from "zod";
|
||||
|
||||
const schema = z.object({
|
||||
topic: z.string().min(3),
|
||||
slideCount: z.number().min(3).max(15).default(8),
|
||||
style: z.enum(["professional", "creative", "technical", "pitch"]).default("professional"),
|
||||
});
|
||||
|
||||
export async function POST(req: NextRequest) {
|
||||
try {
|
||||
const body = await req.json();
|
||||
const { topic, slideCount, style } = schema.parse(body);
|
||||
|
||||
const systemPrompt = `You are an elite presentation designer. Create a visually stunning presentation with ${slideCount} slides about "${topic}".
|
||||
|
||||
Style: ${style}
|
||||
|
||||
Output ONLY a sequence of slides separated by "---".
|
||||
Format each slide as:
|
||||
## [Slide Title]
|
||||
- [Bullet Point 1]
|
||||
- [Bullet Point 2]
|
||||
VISUAL: [Detailed description of image/chart/icon]
|
||||
---
|
||||
`;
|
||||
|
||||
// The frontend will handle the actual generation call to keep use of the ModelAdapter,
|
||||
// this route serves as the prompt orchestrator.
|
||||
return NextResponse.json({
|
||||
prompt: systemPrompt,
|
||||
success: true
|
||||
});
|
||||
} catch (error: any) {
|
||||
return NextResponse.json({ success: false, error: error.message }, { status: 400 });
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user