fix: promote selected auth profile order

This commit is contained in:
Peter Steinberger
2026-01-09 05:36:14 +00:00
parent 8e35ad5484
commit 48a1b07097
2 changed files with 43 additions and 4 deletions

View File

@@ -53,6 +53,7 @@ export function applyAuthProfileConfig(
provider: string;
mode: "api_key" | "oauth";
email?: string;
preferProfileFirst?: boolean;
},
): ClawdbotConfig {
const profiles = {
@@ -67,13 +68,23 @@ export function applyAuthProfileConfig(
// Only maintain `auth.order` when the user explicitly configured it.
// Default behavior: no explicit order -> resolveAuthProfileOrder can round-robin by lastUsed.
const existingProviderOrder = cfg.auth?.order?.[params.provider];
const preferProfileFirst = params.preferProfileFirst ?? true;
const reorderedProviderOrder =
existingProviderOrder && preferProfileFirst
? [
params.profileId,
...existingProviderOrder.filter(
(profileId) => profileId !== params.profileId,
),
]
: existingProviderOrder;
const order =
existingProviderOrder !== undefined
? {
...cfg.auth?.order,
[params.provider]: existingProviderOrder.includes(params.profileId)
? existingProviderOrder
: [...existingProviderOrder, params.profileId],
[params.provider]: reorderedProviderOrder?.includes(params.profileId)
? reorderedProviderOrder
: [...(reorderedProviderOrder ?? []), params.profileId],
}
: cfg.auth?.order;
return {