@phren/cli
Version:
Knowledge layer for AI agents - CLI, MCP server, and data layer
18 lines (17 loc) • 900 B
TypeScript
/** Bounded Hook lookups. Invalidated/expired refreshes may finish, but cannot
* repopulate the cache. Failed refreshes retain successes only until maxAge. */
export declare class LookupCache<T> {
private readonly ttl;
private readonly maxAge;
private readonly limit;
private readonly available;
private readonly pendingTimeout;
/** A result that revokes what was cached (lost access), so the old success is never served again. */
private readonly revokes;
private readonly entries;
constructor(ttl: number, maxAge?: number, limit?: number, available?: (value: T) => boolean, pendingTimeout?: number,
/** A result that revokes what was cached (lost access), so the old success is never served again. */
revokes?: (value: T) => boolean);
invalidate(matches: (key: string) => boolean): void;
get(key: string, read: () => Promise<T>): Promise<T>;
}