Files
pi-agent-integrated/pi-web/app/api/sessions/[id]/state/route.ts

24 lines
741 B
TypeScript

import { NextResponse } from "next/server";
import { getRpcSession } from "@/lib/rpc-manager";
import { resolveSessionPath } from "@/lib/session-reader";
export async function GET(
_req: Request,
{ params }: { params: Promise<{ id: string }> },
) {
const { id } = await params;
try {
if (!await resolveSessionPath(id)) {
return NextResponse.json({ error: "Session not found" }, { status: 404 });
}
const rpc = getRpcSession(id);
if (!rpc?.isAlive()) return NextResponse.json({ running: false });
const state = await rpc.send({ type: "get_state" });
return NextResponse.json({ running: true, state });
} catch (error) {
return NextResponse.json({ error: String(error) }, { status: 500 });
}
}