//#region extensions/crypto/src/services/evolution-mode.d.ts /** * Evolution Mode Service — stable vs evolving agent behavior. * * Two modes: * stable — default. The agent uses only static skills and does not * modify any learned knowledge. Memory and skill tools are * registered but return "disabled in stable mode" errors. * evolving — full self-improvement. Memory writes, skill creation, * skill patching, session recall, and periodic nudges. * * The mode is per-user and persisted to disk. A global default can be * set via OPENCLAWNCH_EVOLUTION_MODE env var. * * Nudge system: * Every N turns, inject a system message reminder about: * - Persisting important discoveries to agent memory * - Creating skills from complex workflows * The nudge intervals are configurable via env vars. */ type EvolutionMode = 'stable' | 'evolving'; interface EvolutionConfig { /** Default mode for new users. Default: 'stable'. */ defaultMode?: EvolutionMode; /** Turns between memory persistence nudges. Default: 10. */ memoryNudgeInterval?: number; /** Turns between skill creation nudges. Default: 15. */ skillNudgeInterval?: number; /** Minimum turns before first nudge. Default: 5. */ minTurnsBeforeNudge?: number; } declare class EvolutionModeService { private config; private users; constructor(config?: EvolutionConfig); getMode(userId: string): EvolutionMode; setMode(userId: string, mode: EvolutionMode): void; isEvolving(userId: string): boolean; /** * Record a turn and return any nudge messages that should be injected. * Call this from after_tool_call or message_received. * Returns null if no nudge is needed. */ recordTurn(userId: string): string | null; /** * Get the current turn count for a user. */ getTurnCount(userId: string): number; private getState; private getStateDir; private getStatePath; private loadState; private persistState; getStatus(): { defaultMode: EvolutionMode; memoryNudgeInterval: number; skillNudgeInterval: number; trackedUsers: number; config: Required; }; } declare function getEvolutionMode(config?: EvolutionConfig): EvolutionModeService; declare function resetEvolutionMode(): void; //#endregion export { EvolutionConfig, EvolutionMode, getEvolutionMode, resetEvolutionMode }; //# sourceMappingURL=evolution-mode.d.mts.map