ai-chatbot/lib/worldlabs/key-pool-config-shared.ts
Your Name b3b49b4fe2
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
feat: improve worldlabs admin controls and splat selection
2026-04-05 23:42:37 +08:00

30 lines
723 B
TypeScript

export const WORLDLABS_KEY_POOL_CONFIG_KEY = "worldlabs_key_pool_config";
export type WorldLabsKeyPoolConfig = {
importToken: string;
};
export const defaultWorldLabsKeyPoolConfig: WorldLabsKeyPoolConfig = {
importToken: "",
};
function normalizeImportToken(value: unknown) {
return String(value || "")
.replace(/[\u2028\u2029]/g, "")
.replace(/[\u0000-\u001F\u007F]/g, "")
.trim();
}
export function normalizeWorldLabsKeyPoolConfig(
value: unknown
): WorldLabsKeyPoolConfig {
if (!value || typeof value !== "object") {
return defaultWorldLabsKeyPoolConfig;
}
const raw = value as Partial<WorldLabsKeyPoolConfig>;
return {
importToken: normalizeImportToken(raw.importToken),
};
}