feat: add multi-key auth profile rotation for model providers

This commit is contained in:
William Valentin
2026-02-18 10:29:54 -08:00
parent f341149ac7
commit 8e3cd2e0ba
10 changed files with 271 additions and 39 deletions
+20 -1
View File
@@ -5264,6 +5264,25 @@
"docs/plans/state.json"
],
"test_status": "pnpm test:run src/automation/reactions.test.ts src/config/schema.test.ts src/daemon/routing.test.ts + pnpm typecheck passing"
},
"model-auth-profile-rotation-tier-a5": {
"status": "completed",
"date": "2026-02-18",
"updated": "2026-02-18",
"summary": "Implemented Tier A5 auth-profile rotation with optional `api_keys` pools on model tiers/providers. Added rotating sticky-success client behavior (`RotatingModelClient`) and wired multi-key fallback for Anthropic/OpenAI/OpenRouter/xAI/MiniMax/Moonshot client creation, with schema/factory/model tests and docs updates.",
"files_modified": [
"src/models/rotating.ts",
"src/models/rotating.test.ts",
"src/models/index.ts",
"src/config/schema.ts",
"src/config/schema.test.ts",
"src/daemon/models.ts",
"src/daemon/clientFactory.test.ts",
"README.md",
"config/default.yaml",
"docs/plans/state.json"
],
"test_status": "pnpm test:run src/models/rotating.test.ts src/daemon/clientFactory.test.ts src/config/schema.test.ts + pnpm typecheck passing"
}
},
"overall_progress": {
@@ -5287,7 +5306,7 @@
"gmail_auth_cli": "flynn gmail-auth command implemented with OAuth2 flow, doctor check, config routed to Telegram",
"native_audio_support": "completed — smart routing for native audio (Gemini/OpenAI/GitHub) vs Whisper transcription fallback",
"remaining_phases_completion": "Phase 1: 3/3 (100%) — context levels, command registry, memory structure. Phase 2: 3/3 (100%) — component registry, confidence routing, history index. Phase 3: 2/2 (100%) — adaptive memory/compaction, truthfulness/autonomy hardening",
"next_up": "Implement Tier A5 model auth-profile rotation (multiple API keys per provider with session stickiness)"
"next_up": "Implement Tier B2 workflow approval gates (await-approval pattern across channels)"
},
"soul_md_and_cron_create": {
"date": "2026-02-11",