mirror of https://github.com/openclaw/openclaw.git
66 lines
1.8 KiB
TypeScript
66 lines
1.8 KiB
TypeScript
export function normalizeProviderId(provider: string): string {
|
|
const normalized = provider.trim().toLowerCase();
|
|
if (normalized === "z.ai" || normalized === "z-ai") {
|
|
return "zai";
|
|
}
|
|
if (normalized === "opencode-zen") {
|
|
return "opencode";
|
|
}
|
|
if (normalized === "opencode-go-auth") {
|
|
return "opencode-go";
|
|
}
|
|
if (normalized === "qwen") {
|
|
return "qwen-portal";
|
|
}
|
|
if (normalized === "kimi" || normalized === "kimi-code" || normalized === "kimi-coding") {
|
|
return "kimi";
|
|
}
|
|
if (normalized === "bedrock" || normalized === "aws-bedrock") {
|
|
return "amazon-bedrock";
|
|
}
|
|
// Backward compatibility for older provider naming.
|
|
if (normalized === "bytedance" || normalized === "doubao") {
|
|
return "volcengine";
|
|
}
|
|
return normalized;
|
|
}
|
|
|
|
/** Normalize provider ID for auth lookup. Coding-plan variants share auth with base. */
|
|
export function normalizeProviderIdForAuth(provider: string): string {
|
|
const normalized = normalizeProviderId(provider);
|
|
if (normalized === "volcengine-plan") {
|
|
return "volcengine";
|
|
}
|
|
if (normalized === "byteplus-plan") {
|
|
return "byteplus";
|
|
}
|
|
return normalized;
|
|
}
|
|
|
|
export function findNormalizedProviderValue<T>(
|
|
entries: Record<string, T> | undefined,
|
|
provider: string,
|
|
): T | undefined {
|
|
if (!entries) {
|
|
return undefined;
|
|
}
|
|
const providerKey = normalizeProviderId(provider);
|
|
for (const [key, value] of Object.entries(entries)) {
|
|
if (normalizeProviderId(key) === providerKey) {
|
|
return value;
|
|
}
|
|
}
|
|
return undefined;
|
|
}
|
|
|
|
export function findNormalizedProviderKey(
|
|
entries: Record<string, unknown> | undefined,
|
|
provider: string,
|
|
): string | undefined {
|
|
if (!entries) {
|
|
return undefined;
|
|
}
|
|
const providerKey = normalizeProviderId(provider);
|
|
return Object.keys(entries).find((key) => normalizeProviderId(key) === providerKey);
|
|
}
|