import type { SessionOptimizationEntry, SessionOutcomeEntry, SessionSignal } from './types.js'; import type { Category } from '../config/categories.js'; import type { Intent } from './types.js'; export interface OutcomeRecord extends SessionOutcomeEntry { /** Cached pointer back to the optimization this outcome is about. */ optimization?: SessionOptimizationEntry; } export declare class SessionStore { private sessions; private capacity; constructor(capacity?: number); get(sessionId: string): SessionSignal; recordOptimization(sessionId: string, entry: SessionOptimizationEntry): void; recordOutcome(sessionId: string, entry: SessionOutcomeEntry): void; /** * Pass-D retrieval: find the most similar ACCEPTED optimizations in this * session whose category (and optionally intent) match the current request. * Similarity is a cheap token-overlap score — proper embedding retrieval * arrives in Day 2 with the persistent memory layer. */ findAcceptedExamples(sessionId: string, query: { prompt: string; category: Category; intent?: Intent; limit?: number; }): SessionOptimizationEntry[]; /** Which sessions exist (diagnostic). */ listSessions(): string[]; reset(sessionId?: string): void; private ensure; } export declare function getSessionStore(): SessionStore; export declare function generateSessionId(): string;