refactor: extract shared error detection and token rotation utilities (SSOT)
- Create agent-error-detection.ts: single source for error classification (isClaudeUsageExhaustedMessage, isClaudeAuthExpiredMessage, classifyAgentError, etc.) - Create token-rotation-base.ts: shared rotation algorithm (parseRetryAfterFromError, computeCooldownUntil, findNextAvailable) - Remove 6 duplicated functions from message-agent-executor and task-scheduler - Delegate detectFallbackTrigger/detectCodexRotationTrigger to shared classifiers - Split canFallback into isClaudeAgent/canRotateToken/canFallback (3-way separation) - Cache env.ts with getEnv() to eliminate repeated disk I/O - Migrate config, discord, provider-fallback, token-rotation, memento-client to getEnv() Net: -146 lines, 0 new dependencies, 354/354 tests passing
This commit is contained in:
@@ -70,8 +70,7 @@ export const STATUS_UPDATE_INTERVAL = 10000; // 10s
|
||||
export const USAGE_UPDATE_INTERVAL = 300000; // 5 minutes
|
||||
export const STATUS_SHOW_ROOMS =
|
||||
(getEnv('STATUS_SHOW_ROOMS') || 'true') !== 'false';
|
||||
export const USAGE_DASHBOARD_ENABLED =
|
||||
getEnv('USAGE_DASHBOARD') === 'true';
|
||||
export const USAGE_DASHBOARD_ENABLED = getEnv('USAGE_DASHBOARD') === 'true';
|
||||
|
||||
// Timezone for scheduled tasks (cron expressions, etc.)
|
||||
// Uses system timezone by default
|
||||
|
||||
Reference in New Issue
Block a user