feat: add priority demotion controls

This commit is contained in:
2026-05-12 18:43:20 +08:00
parent 3917b84b5d
commit 98abd247d6
22 changed files with 917 additions and 85 deletions
+37
View File
@@ -62,6 +62,8 @@ export interface IntegrationPlatform {
authType: string;
status: 'enabled' | 'disabled' | string;
priority: number;
dynamicPriority?: number;
effectivePriority?: number;
defaultPricingMode: PricingMode;
defaultDiscountFactor: number;
pricingRuleSetId?: string;
@@ -760,11 +762,45 @@ export interface RateLimitMetricStatus {
resetAt?: string;
}
export interface PriorityDemotionRecord {
id: string;
taskId: string;
platformId: string;
platformModelId?: string;
reason?: string;
errorCode?: string;
errorMessage?: string;
category?: string;
statusCode?: number;
policySource?: string;
policy?: string;
policyRule?: string;
matchedValue?: string;
dynamicPriority?: number;
createdAt: string;
}
export interface PlatformDynamicPriorityUpdateRequest {
dynamicPriority?: number;
reset?: boolean;
}
export interface PlatformDynamicPriorityState {
platformId: string;
priority: number;
dynamicPriority?: number;
effectivePriority: number;
updatedAt: string;
}
export interface ModelRateLimitStatus {
platformModelId: string;
platformId: string;
platformName: string;
provider: string;
platformPriority: number;
platformDynamicPriority?: number;
platformEffectivePriority: number;
modelName: string;
providerModelName?: string;
modelAlias?: string;
@@ -779,6 +815,7 @@ export interface ModelRateLimitStatus {
rpm: RateLimitMetricStatus;
tpm: RateLimitMetricStatus;
loadRatio: number;
recentPriorityDemotions?: PriorityDemotionRecord[];
}
export interface GatewayNetworkProxyConfig {