





















@@ -10,8 +10,7 @@ import { resolveEffectiveOAuthCredential } from "./auth-profiles/effective-oauth
1010import { resolveAuthProfileOrder } from "./auth-profiles/order.js";
1111import type { AuthProfileCredential, AuthProfileStore } from "./auth-profiles/types.js";
1212import { resolveProviderIdForAuth } from "./provider-auth-aliases.js";
13-import { findNormalizedProviderValue } from "./provider-id.js";
14-import { normalizeProviderId } from "./provider-id.js";
13+import { findNormalizedProviderValue, normalizeProviderId } from "./provider-id.js";
15141615type AuthProfileSource = "store";
1716@@ -36,6 +35,11 @@ export type AuthProviderHealth = {
3635status: AuthProviderHealthStatus;
3736expiresAt?: number;
3837remainingMs?: number;
38+/**
39+ * Full credential inventory stays in `profiles`; provider rollups use this
40+ * effective subset after auth order, aliases, and explicit exclusions apply.
41+ */
42+effectiveProfiles?: AuthProfileHealth[];
3943profiles: AuthProfileHealth[];
4044};
4145@@ -298,8 +302,9 @@ export function buildAuthHealthSummary(params: {
298302};
299303300304for (const provider of providersMap.values()) {
301-const statusProfiles = resolveProviderStatusProfiles(provider);
302-if (statusProfiles.length === 0) {
305+const effectiveProfiles = resolveProviderStatusProfiles(provider);
306+provider.effectiveProfiles = effectiveProfiles;
307+if (effectiveProfiles.length === 0) {
303308provider.status = "missing";
304309provider.expiresAt = undefined;
305310provider.remainingMs = undefined;
@@ -311,7 +316,7 @@ export function buildAuthHealthSummary(params: {
311316let hasExpiredOrMissing = false;
312317let hasExpiring = false;
313318let earliestExpiry: number | undefined;
314-for (const profile of statusProfiles) {
319+for (const profile of effectiveProfiles) {
315320if (profile.type === "api_key") {
316321hasApiKeyProfile = true;
317322continue;
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。