ai-chatbot/lib/worldlabs/key-pool-config.ts

32 lines
849 B
TypeScript

import "server-only";
import { getSystemSetting } from "@/lib/db/queries";
import {
DEFAULT_WORLDLABS_BASE_URL,
defaultWorldLabsKeyPoolConfig,
normalizeWorldLabsKeyPoolConfig,
WORLDLABS_KEY_POOL_CONFIG_KEY,
type WorldLabsKeyPoolConfig,
} from "@/lib/worldlabs/key-pool-config-shared";
export {
DEFAULT_WORLDLABS_BASE_URL,
defaultWorldLabsKeyPoolConfig,
normalizeWorldLabsKeyPoolConfig,
WORLDLABS_KEY_POOL_CONFIG_KEY,
type WorldLabsKeyPoolConfig,
};
export async function getWorldLabsKeyPoolConfig(): Promise<WorldLabsKeyPoolConfig> {
try {
const setting = await getSystemSetting({
key: WORLDLABS_KEY_POOL_CONFIG_KEY,
});
return setting?.value
? normalizeWorldLabsKeyPoolConfig(setting.value)
: defaultWorldLabsKeyPoolConfig;
} catch (_error) {
return defaultWorldLabsKeyPoolConfig;
}
}