/** * Degenerate-loop breaker for fabric_exec. Identical calls back-to-back are * how lower-tier models burn a session (2026-09-15: 220x `bash echo noop` on * glm-5.3-flash). The fingerprint is the code plus the payload values, since * a wrapper such as `pi.bash({ cmd: π.cmd })` carries its work in payloads. * Payload key order and display names do not count. Any differing * fingerprint resets the count. */ export declare const FABRIC_REPEAT_WARN = 3; export declare const FABRIC_REPEAT_BLOCK = 6; export declare const fabricRepeatWarnText: (count: number, blockAt: number) => string; export declare const fabricRepeatBlockText: (count: number) => string; export declare class FabricRepeatGuard { #private; /** Consecutive identical executions that start producing a warning. */ readonly warnAt: number; /** Consecutive identical executions that get blocked outright. */ readonly blockAt: number; constructor( /** Consecutive identical executions that start producing a warning. */ warnAt: number, /** Consecutive identical executions that get blocked outright. */ blockAt: number); observe(code: string, payloads?: Readonly>): { count: number; blocked: boolean; warn: boolean; }; } //# sourceMappingURL=repeat-guard.d.ts.map