/** * Darwin — Notification System * * Sends alerts when important evolution events happen. * Currently supports Telegram. Non-blocking — failures are logged, not thrown. * * Env vars: TELEGRAM_BOT_TOKEN, TELEGRAM_ADMIN_CHAT_ID */ export interface NotificationConfig { telegram?: { botToken: string; chatId: string; }; } /** * Load notification config from environment variables. * Returns config with telegram only if both vars are set. */ export declare function loadNotificationConfig(): NotificationConfig; /** * Notify that an A/B test completed and a winner was activated. */ export declare function notifyABTestComplete(config: NotificationConfig, agentName: string, winner: string, loser: string, compositeWinner: number, compositeLoser: number): Promise; /** * Notify that an A/B test was closed by its wall-clock budget * (`evolution.maxTestDays`) without ever reaching `minRuns`. * * Deliberately NOT routed through {@link notifyABTestComplete}: that message * announces a winner and a score delta, and a timeout produced neither. The * incumbent kept its slot because nothing beat it, not because it won. */ export declare function notifyABTestTimeout(config: NotificationConfig, agentName: string, incumbent: string, challenger: string, runsA: number, runsB: number, minRuns: number, maxTestDays: number): Promise; /** * Notify that a new prompt version was generated and A/B test started. */ export declare function notifyEvolutionStarted(config: NotificationConfig, agentName: string, oldVersion: string, newVersion: string, reason: string): Promise; /** * Notify that a rollback happened. */ export declare function notifyRollback(config: NotificationConfig, agentName: string, rolledBackTo: string, failures: number): Promise; //# sourceMappingURL=notifications.d.ts.map