38 lines · 1.2 KB · TypeScript
RawDownload
// CRITICALimport { existsSync } from "node:fs";import { DEFAULT_CANONICAL_PYTHON_PATH } from "./configs"; const getExplicitPythonOverride = (): string | null => {  const explicit = process.env["VLLM_STUDIO_RUNTIME_PYTHON"]?.trim();  if (!explicit) {    return null;  }  return explicit;}; /** * Resolve the first valid vLLM python path in precedence order. * @returns Resolved Python executable path or null. */export const resolveVllmPythonPath = (): string | null => {  const candidates = [getExplicitPythonOverride(), DEFAULT_CANONICAL_PYTHON_PATH];  for (const candidate of candidates) {    if (candidate && existsSync(candidate)) {      return candidate;    }  }  return null;}; /** * Resolve a recipe python path to a usable vLLM python path. * If the recipe path is missing/invalid, falls back to the canonical runtime path. * @param recipePythonPath - Recipe configured python path. * @returns Normalized python path to use. */export const resolveVllmRecipePythonPath = (recipePythonPath: string | null | undefined): string | null => {  if (recipePythonPath && existsSync(recipePythonPath)) {    return recipePythonPath;  }  return resolveVllmPythonPath();};