53 lines · 1.9 KB · TypeScript
RawDownload
// CRITICALimport type { Hono } from "hono";import type { AppContext } from "../types/context";import { badRequest } from "../core/errors";import { getLlamacppConfigHelp } from "../services/llamacpp-runtime";import { getVllmConfigHelp, getVllmRuntimeInfo, upgradeVllmRuntime } from "../services/vllm-runtime";import { Event } from "../services/event-manager";import { getSystemRuntimeInfo } from "../services/runtime-info";import { probeGpuMonitoring } from "../services/compatibility-report"; export const registerRuntimeRoutes = (app: Hono, context: AppContext): void => {  app.get("/runtime/vllm", async (ctx) => {    const info = await getVllmRuntimeInfo();    return ctx.json(info);  });   app.get("/runtime/vllm/config", async (ctx) => {    const config = await getVllmConfigHelp();    return ctx.json(config);  });   app.get("/runtime/llamacpp/config", async (ctx) => {    const config = await getLlamacppConfigHelp(context.config);    return ctx.json(config);  });   app.post("/runtime/vllm/upgrade", async (ctx) => {    const body = await ctx.req.json().catch(() => ({}));    if (body && typeof body !== "object") {      throw badRequest("Invalid payload");    }    const preferBundled = body?.prefer_bundled !== false;    const result = await upgradeVllmRuntime(preferBundled);    await context.eventManager.publish(new Event("runtime_vllm_upgraded", {      success: result.success,      version: result.version,      used_wheel: result.used_wheel,    }));     try {      const runtime = await getSystemRuntimeInfo(context.config);      const gpuMonitoring = probeGpuMonitoring(runtime.platform.kind, runtime.platform.rocm?.smi_tool ?? null);      await context.eventManager.publishRuntimeSummary({        platform: runtime.platform,        gpu_monitoring: gpuMonitoring,        backends: runtime.backends,      });    } catch {      // best-effort    }    return ctx.json(result);  });};

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t