import { NextRequest, NextResponse } from 'next/server'; import axios from 'axios'; /** * Handles the POST request to start an agent. * * @param request - The NextRequest object representing the incoming request. * @returns A NextResponse object representing the response to be sent back to the client. */ export async function POST(request: NextRequest) { try { const { AGENT_SERVER_URL } = process.env; // Check if environment variables are available if (!AGENT_SERVER_URL) { throw "Environment variables are not available"; } const body = await request.json(); const { request_id, channel_name, user_uid, graph_name, language, voice_type, properties } = body; // Send a POST request to start the agent const response = await axios.post(`${AGENT_SERVER_URL}/start`, { request_id, channel_name, user_uid, graph_name, // Get the graph properties based on the graph name, language, and voice type properties: properties, }); const responseData = response.data; return NextResponse.json(responseData, { status: response.status }); } catch (error) { if (error instanceof Response) { const errorData = await error.json(); return NextResponse.json(errorData, { status: error.status }); } else { return NextResponse.json({ code: "1", data: null, msg: "Internal Server Error" }, { status: 500 }); } } }