Files
hermes-agent-mission-control/src/app/api/longform/tweak/route.ts
T

36 lines
1.1 KiB
TypeScript
Raw Normal View History

import { NextRequest, NextResponse } from "next/server";
import fs from "fs";
// TODO: Trigger files written to the local filesystem won't work on Vercel.
// This route needs to be reworked for serverless (e.g., use a database queue,
// Inngest, or a similar job system) when deploying to Vercel.
const TRIGGERS_DIR = "./data/triggers";
export async function POST(req: NextRequest) {
const { id, title, hook, outline, message } = await req.json();
if (!id || !message) {
return NextResponse.json({ error: "id and message required" }, { status: 400 });
}
// Ensure triggers directory exists
if (!fs.existsSync(TRIGGERS_DIR)) {
fs.mkdirSync(TRIGGERS_DIR, { recursive: true });
}
// Write trigger file for Nova to pick up
const trigger = {
type: "longform-tweak",
scriptId: id,
title: title || "",
hook: hook || "",
outline: outline || "",
message,
createdAt: new Date().toISOString(),
};
const filename = `longform-tweak-${id}-${Date.now()}.json`;
fs.writeFileSync(`${TRIGGERS_DIR}/${filename}`, JSON.stringify(trigger, null, 2));
return NextResponse.json({ ok: true, trigger: filename });
}