feat(openai): port /responses/compact account support flow (PR #1555)

vansour/sub2api#1555 的 OpenAI compact 能力建模手工移植到当前 main:账号
级 compact 状态/auto-force_on-force_off 模式、compact-only 模型映射、调度器
tier 分层(已支持 > 未知 > 已知不支持)、管理后台 compact 主动探测,以及对应
i18n/状态徽章。普通 /responses 流量行为不变,无数据库迁移。
This commit is contained in:
shaw
2026-04-25 14:40:03 +08:00
parent b95ffce244
commit 095f457c57
32 changed files with 2534 additions and 189 deletions

View File

@@ -767,8 +767,8 @@ export interface Account {
platform: AccountPlatform
type: AccountType
credentials?: Record<string, unknown>
// Extra fields including Codex usage and model-level rate limits (Antigravity smart retry)
extra?: (CodexUsageSnapshot & {
// Extra fields including Codex usage, OpenAI compact capability, and model-level rate limits.
extra?: (CodexUsageSnapshot & OpenAICompactState & {
model_rate_limits?: Record<string, { rate_limited_at: string; rate_limit_reset_at: string }>
antigravity_credits_overages?: Record<string, { activated_at: string; active_until: string }>
} & Record<string, unknown>)
@@ -940,6 +940,16 @@ export interface CodexUsageSnapshot {
codex_usage_updated_at?: string // Last update timestamp
}
export type OpenAICompactMode = 'auto' | 'force_on' | 'force_off'
export interface OpenAICompactState {
openai_compact_mode?: OpenAICompactMode
openai_compact_supported?: boolean
openai_compact_checked_at?: string
openai_compact_last_status?: number
openai_compact_last_error?: string
}
export interface CreateAccountRequest {
name: string
notes?: string | null