Files
openclaw/extensions/qwen/provider-catalog.ts
Oliver Mee ae11ea5ba9 feat(qwen): add Token Plan (Team Edition) provider (#94419)
* feat(qwen): add Token Plan provider

Co-authored-by: Oliver Mee <102673257+Omee11@users.noreply.github.com>

* docs: regenerate documentation map

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
Co-authored-by: Oliver Mee <102673257+Omee11@users.noreply.github.com>
2026-07-09 22:07:01 +01:00

39 lines
1.2 KiB
TypeScript

// Qwen provider module implements model/runtime integration.
import type { ModelProviderConfig } from "openclaw/plugin-sdk/provider-model-shared";
import {
buildQwenModelCatalogForBaseUrl,
buildQwenOAuthModelCatalog,
QWEN_BASE_URL,
QWEN_OAUTH_BASE_URL,
QWEN_TOKEN_PLAN_GLOBAL_BASE_URL,
QWEN_TOKEN_PLAN_MODEL_CATALOG,
} from "./models.js";
export function buildQwenProvider(params?: { baseUrl?: string }): ModelProviderConfig {
const baseUrl = params?.baseUrl ?? QWEN_BASE_URL;
return {
baseUrl,
api: "openai-completions",
models: buildQwenModelCatalogForBaseUrl(baseUrl).map((model) => Object.assign({}, model)),
};
}
export function buildQwenOAuthProvider(): ModelProviderConfig {
return {
baseUrl: QWEN_OAUTH_BASE_URL,
api: "openai-completions",
models: buildQwenOAuthModelCatalog().map((model) => Object.assign({}, model)),
};
}
export function buildQwenTokenPlanProvider(params?: { baseUrl?: string }): ModelProviderConfig {
const baseUrl = params?.baseUrl ?? QWEN_TOKEN_PLAN_GLOBAL_BASE_URL;
return {
baseUrl,
api: "openai-completions",
models: QWEN_TOKEN_PLAN_MODEL_CATALOG.map((model) => Object.assign({}, model)),
};
}
export const buildModelStudioProvider = buildQwenProvider;