import type { OpenClawConfig } from "openclaw/plugin-sdk/config-runtime"; import { discoverOpenAICompatibleLocalModels } from "openclaw/plugin-sdk/provider-setup"; import { SGLANG_DEFAULT_BASE_URL, SGLANG_PROVIDER_LABEL } from "./defaults.js"; type ModelsConfig = NonNullable; type ProviderConfig = NonNullable[string]; export async function buildSglangProvider(params?: { baseUrl?: string; apiKey?: string; }): Promise { const baseUrl = (params?.baseUrl?.trim() || SGLANG_DEFAULT_BASE_URL).replace(/\/+$/, ""); const models = await discoverOpenAICompatibleLocalModels({ baseUrl, apiKey: params?.apiKey, label: SGLANG_PROVIDER_LABEL, }); return { baseUrl, api: "openai-completions", models, }; }