/** * In-memory store for delegated tool results. * * Stores full tool results that were replaced by summaries, allowing * the agent to recall them via `recall_full_result`. Implements TTL * expiration and LRU eviction. */ import type { StoredResult } from './delegation-types.js'; /** * Statistics about the delegation store. */ export interface DelegatedResultStoreStats { /** Number of currently stored results */ size: number; /** Maximum capacity (LRU limit) */ maxSize: number; /** Total results stored since creation */ totalStored: number; /** Total results evicted (TTL or LRU) */ totalEvicted: number; /** Total results successfully recalled */ totalRecalled: number; } /** * In-memory store for delegated results with TTL expiration and LRU eviction. */ export declare class DelegatedResultStore { private readonly results; private readonly maxSize; private readonly defaultTTL; private counter; private totalStored; private totalEvicted; private totalRecalled; constructor(options?: { maxSize?: number; defaultTTL?: number; }); /** * Generate a unique delegation ID. */ generateId(): string; /** * Store a delegated result. Evicts oldest entries if at capacity. */ add(result: StoredResult): void; /** * Get a stored result by ID. Returns undefined if not found or expired. */ get(id: string): StoredResult | undefined; /** * Remove all expired entries. */ cleanup(): void; /** * Clear all stored results. */ clear(): void; /** * Get the default TTL for this store. */ getDefaultTTL(): number; /** * Get store statistics. */ getStats(): DelegatedResultStoreStats; }