feat: add sub2api codex upstream profiles
This commit is contained in:
@@ -8,6 +8,7 @@ function assertCondition(condition: unknown, message: string, detail: unknown =
|
||||
const configPath = rootPath("config", "platform-infra", "sub2api-codex-pool.yaml");
|
||||
const parsed = Bun.YAML.parse(readFileSync(configPath, "utf8")) as {
|
||||
pool?: {
|
||||
defaultAccountPriority?: number;
|
||||
defaultAccountCapacity?: number;
|
||||
defaultAccountLoadFactor?: number;
|
||||
minOwnerConcurrency?: number;
|
||||
@@ -22,6 +23,7 @@ const parsed = Bun.YAML.parse(readFileSync(configPath, "utf8")) as {
|
||||
|
||||
const entries = parsed.profiles?.entries ?? [];
|
||||
const rules = parsed.pool?.defaultTempUnschedulable?.rules ?? [];
|
||||
const defaultPriority = parsed.pool?.defaultAccountPriority ?? 0;
|
||||
const defaultCapacity = parsed.pool?.defaultAccountCapacity ?? 0;
|
||||
const defaultLoadFactor = parsed.pool?.defaultAccountLoadFactor ?? 0;
|
||||
const desiredCapacity = entries.reduce((total, entry) => total + (entry.capacity ?? defaultCapacity), 0);
|
||||
@@ -30,6 +32,7 @@ const wsEnabledEntries = entries.filter((entry) => entry.openaiResponsesWebSocke
|
||||
const localWsEnabled = parsed.localCodex?.supportsWebSockets === true || parsed.localCodex?.responsesWebSocketsV2 === true;
|
||||
|
||||
assertCondition(entries.length > 0, "Codex pool must declare YAML-managed profile entries", parsed.profiles);
|
||||
assertCondition(Number.isInteger(defaultPriority) && defaultPriority >= 0, "defaultAccountPriority must be a non-negative integer", parsed.pool);
|
||||
assertCondition(Number.isInteger(defaultCapacity) && defaultCapacity > 0, "defaultAccountCapacity must be a positive integer", parsed.pool);
|
||||
assertCondition(Number.isInteger(defaultLoadFactor) && defaultLoadFactor > 0, "defaultAccountLoadFactor must be a positive integer", parsed.pool);
|
||||
assertCondition(entries.every((entry) => typeof entry.profile === "string" && entry.profile.length > 0), "profile entries must declare profile names", entries);
|
||||
|
||||
Reference in New Issue
Block a user