


























@@ -402,18 +402,17 @@ export async function modelsStatusCommand(
402402const syntheticProvidersToProbe = new Set(
403403providers.map((provider) => normalizeProviderId(provider)),
404404);
405-const codexRuntimeAuthProviders = new Set<string>();
406-for (const usage of providerUses) {
407-if (
405+const codexProvider = normalizeProviderId(OPENAI_CODEX_PROVIDER_ID);
406+const codexProviderAlias = aliasMap[codexProvider] ?? codexProvider;
407+const codexRuntimeAuthUsages = providerUses.filter(
408+(usage) =>
408409usage.allowCodexRuntimeFallback &&
409-openAIProviderUsesCodexRuntimeByDefault({ provider: usage.provider, config: cfg })
410-) {
411-const codexProvider = normalizeProviderId(OPENAI_CODEX_PROVIDER_ID);
412-codexRuntimeAuthProviders.add(codexProvider);
413-syntheticProvidersToProbe.add(codexProvider);
414-syntheticProvidersToProbe.add(aliasMap[codexProvider] ?? codexProvider);
415-syntheticProvidersToProbe.add("codex");
416-}
410+openAIProviderUsesCodexRuntimeByDefault({ provider: usage.provider, config: cfg }),
411+);
412+if (codexRuntimeAuthUsages.length > 0) {
413+syntheticProvidersToProbe.add(codexProvider);
414+syntheticProvidersToProbe.add(codexProviderAlias);
415+syntheticProvidersToProbe.add("codex");
417416}
418417for (const provider of syntheticProvidersToProbe) {
419418const normalized = normalizeProviderId(provider);
@@ -440,8 +439,7 @@ export async function modelsStatusCommand(
440439expiresAt: resolved.expiresAt,
441440};
442441syntheticAuthByProvider.set(normalized, syntheticAuth);
443-const codexProvider = normalizeProviderId(OPENAI_CODEX_PROVIDER_ID);
444-if (normalized === "codex" || (aliasMap[codexProvider] ?? codexProvider) === normalized) {
442+if (normalized === "codex" || normalized === codexProviderAlias) {
445443syntheticAuthByProvider.set(codexProvider, syntheticAuth);
446444}
447445}
@@ -455,14 +453,14 @@ export async function modelsStatusCommand(
455453const shellFallbackEnabled =
456454shouldEnableShellEnvFallback(process.env) || cfg.env?.shellEnv?.enabled === true;
457455458-const providerAuthProviders = new Set(providers);
459-for (const provider of codexRuntimeAuthProviders) {
460-if (syntheticAuthByProvider.has(provider)) {
461-providerAuthProviders.add(provider);
462-}
463-}
464-465-const providerAuth = Array.from(providerAuthProviders)
456+const providerAuth = Array.from(
457+ new Set([
458+ ...providers,
459+...(codexRuntimeAuthUsages.length > 0 && syntheticAuthByProvider.has(codexProvider)
460+ ? [codexProvider]
461+ : []),
462+ ]),
463+)
466464.toSorted((a, b) => a.localeCompare(b))
467465.map((provider) =>
468466resolveProviderAuthOverview({
@@ -535,29 +533,22 @@ export async function modelsStatusCommand(
535533};
536534const runtimeAuthRoutes = Array.from(
537535new Map(
538-providerUses
539-.filter(
540-(usage) =>
541-usage.allowCodexRuntimeFallback &&
542-openAIProviderUsesCodexRuntimeByDefault({ provider: usage.provider, config: cfg }),
543-)
544-.map((usage) => {
545-const authProvider = normalizeProviderId(OPENAI_CODEX_PROVIDER_ID);
546-const effective = providerAuthMap.get(authProvider)?.effective ?? {
547-kind: "missing" as const,
548-detail: "missing",
549-};
550-return [
551-`${usage.provider}:codex:${authProvider}`,
552-{
553-provider: usage.provider,
554-runtime: "codex",
555- authProvider,
556-status: hasUsableProviderAuth(authProvider) ? "usable" : "missing",
557- effective,
558-},
559-] as const;
560-}),
536+codexRuntimeAuthUsages.map((usage) => {
537+const effective = providerAuthMap.get(codexProvider)?.effective ?? {
538+kind: "missing" as const,
539+detail: "missing",
540+};
541+return [
542+`${usage.provider}:codex:${codexProvider}`,
543+{
544+provider: usage.provider,
545+runtime: "codex",
546+authProvider: codexProvider,
547+status: hasUsableProviderAuth(codexProvider) ? "usable" : "missing",
548+ effective,
549+},
550+] as const;
551+}),
561552).values(),
562553).toSorted((a, b) => a.provider.localeCompare(b.provider));
563554const missingProvidersInUse = Array.from(
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。