Spaces:
Runtime error
Runtime error
| "use server"; | |
| import { NextResponse } from "next/server"; | |
| import { requireCliToolsAuth } from "@/lib/api/requireCliToolsAuth"; | |
| import { | |
| CLI_TOOL_IDS, | |
| getCliPrimaryConfigPath, | |
| getCliRuntimeStatus, | |
| } from "@/shared/services/cliRuntime"; | |
| export async function GET(request, { params }) { | |
| const authError = await requireCliToolsAuth(request); | |
| if (authError) return authError; | |
| try { | |
| const { toolId } = await params; | |
| const normalizedToolId = String(toolId || "") | |
| .trim() | |
| .toLowerCase(); | |
| if (!CLI_TOOL_IDS.includes(normalizedToolId)) { | |
| return NextResponse.json({ error: "Unsupported CLI tool" }, { status: 404 }); | |
| } | |
| const runtime = await getCliRuntimeStatus(normalizedToolId); | |
| return NextResponse.json({ | |
| ...runtime, | |
| toolId: normalizedToolId, | |
| configPath: getCliPrimaryConfigPath(normalizedToolId), | |
| message: | |
| runtime.reason === "not_required" | |
| ? "This integration is guide-based and does not require a local CLI binary" | |
| : runtime.installed && runtime.runnable | |
| ? "CLI detected and runnable" | |
| : runtime.installed | |
| ? "CLI detected but not runnable" | |
| : "CLI not detected", | |
| }); | |
| } catch (error) { | |
| console.log("Error checking CLI runtime:", error); | |
| return NextResponse.json({ error: "Failed to check CLI runtime" }, { status: 500 }); | |
| } | |
| } | |