in app/routes/api.config.execution-mode.tsx [39:80]
export async function action({ request }: ActionFunctionArgs) {
if (request.method !== "POST") {
return json({ error: "Method not allowed" }, { status: 405 });
}
try {
const { mode } = await request.json();
// Validate mode
if (!mode || (mode !== "api" && mode !== "docker")) {
return json(
{
error: {
code: "INVALID_MODE",
message: "Mode must be either 'api' or 'docker'",
},
},
{ status: 400 }
);
}
const jobProcessor = getJobProcessor();
jobProcessor.switchExecutionMode(mode);
const newMode = jobProcessor.getExecutionMode();
return json({
message: `Execution mode switched to '${newMode}'`,
mode: newMode,
});
} catch (error) {
console.error("Error switching execution mode:", error);
return json(
{
error: {
code: "INTERNAL_ERROR",
message: "Failed to switch execution mode",
},
},
{ status: 500 }
);
}
}