/** * Proactive Agent — enables the agent to initiate conversations * rather than only responding to user messages. * * Triggers: * 1. Scheduled check-ins (morning summary, task follow-ups) * 2. Event-driven (pending task deadlines, reminder triggers) * 3. Idle detection (offer help after period of inactivity) */ export interface ProactiveConfig { enabled: boolean; /** Morning summary cron (default: 9:00) */ morningCheckIn?: string; /** Evening wrap-up cron (default: 18:00) */ eveningWrapUp?: string; /** Idle timeout in minutes before offering help */ idleTimeoutMinutes?: number; /** Max proactive messages per day */ maxDailyMessages?: number; /** Channels to send proactive messages to */ channels?: string[]; } export interface ProactiveMessage { type: 'check-in' | 'follow-up' | 'reminder' | 'idle-offer' | 'insight'; content: string; timestamp: number; channel?: string; } export declare class ProactiveAgent { private config; private dailyMessageCount; private lastResetDate; private lastUserActivity; private pendingTasks; private stateFile; private messageHandler?; constructor(config?: Partial, stateDir?: string); /** Register handler for outgoing proactive messages */ onMessage(handler: (msg: ProactiveMessage) => void | Promise): void; /** Call when user sends a message (resets idle timer) */ recordUserActivity(): void; /** Add a pending task for follow-up */ addPendingTask(task: string): void; /** Remove completed task */ completeTask(task: string): void; /** Generate morning check-in message */ generateMorningCheckIn(): Promise; /** Generate evening wrap-up message */ generateEveningWrapUp(): Promise; /** Check if idle and should offer help */ checkIdle(): Promise; /** Send a proactive message through the registered handler */ send(msg: ProactiveMessage): Promise; /** Check if we can send more proactive messages today */ private canSend; private loadState; private saveState; getConfig(): ProactiveConfig; getPendingTasks(): string[]; getDailyMessageCount(): number; } //# sourceMappingURL=proactive.d.ts.map