export async function action()

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 }
    );
  }
}