Allow keeping selected calendar pieces/days and regenerating the rest.

Agency can mark good stories, keep only those days, or request a partial v2 for unmarked slots without replacing the whole month.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
4Ventures
2026-10-13 13:57:13 +02:00
parent 714f250eca
commit 2b57b93220
4 changed files with 258 additions and 30 deletions

View File

@@ -41,11 +41,20 @@ export async function POST(req: NextRequest) {
);
}
const body = (await req.json().catch(() => ({}))) as { month?: string };
const body = (await req.json().catch(() => ({}))) as {
month?: string;
avoid_titles?: string[];
};
const month = String(body.month || '').slice(0, 7);
if (!/^\d{4}-\d{2}$/.test(month)) {
return NextResponse.json({ error: 'month YYYY-MM requerido' }, { status: 400 });
}
const avoidTitles = Array.isArray(body.avoid_titles)
? body.avoid_titles
.filter((t): t is string => typeof t === 'string' && t.trim().length > 0)
.map((t) => t.trim().slice(0, 160))
.slice(0, 40)
: [];
let slug = 'cliente';
const t = await restGet<{ slug?: string }[]>(
@@ -122,6 +131,7 @@ export async function POST(req: NextRequest) {
history,
brandbook,
publishedPosts,
avoidTitles,
});
return NextResponse.json({