singularity-forge/web/app/api/bridge-terminal/input/route.ts
2026-05-05 14:31:16 +02:00

32 lines
865 B
TypeScript

import {
getProjectBridgeServiceForCwd,
requireProjectCwd,
} from "../../../../../src/web/bridge-service.ts";
export const runtime = "nodejs";
export const dynamic = "force-dynamic";
export async function POST(request: Request): Promise<Response> {
let body: { data?: string };
try {
body = await request.json();
} catch {
return Response.json({ error: "Invalid JSON" }, { status: 400 });
}
if (typeof body.data !== "string") {
return Response.json({ error: "data must be a string" }, { status: 400 });
}
try {
const projectCwd = requireProjectCwd(request);
const bridge = getProjectBridgeServiceForCwd(projectCwd);
await bridge.sendTerminalInput(body.data);
return Response.json({ ok: true });
} catch (error) {
return Response.json(
{ error: error instanceof Error ? error.message : String(error) },
{ status: 503 },
);
}
}