import type { ModelFitnessReport } from "../research/model-fitness.ts"; import { type HostFingerprint } from "./host-state-store.ts"; /** * Durable, HOST-KEYED storage for model fitness reports. Fitness is a property of a model ON a * host (tok/s and latency-driven failures do not travel between machines), so reports are keyed * by a hardware fingerprint: the same model can be "the heavy lifter" on one machine and * "waiting for better hardware" on another, and pi remembers both without confusing them — * including when settings/dotfiles are synced across machines. */ export interface StoredFitnessReport { model: string; report: ModelFitnessReport; at: string; host: HostFingerprint; } export declare class FitnessStore { private readonly storage; constructor(filePath: string, options?: { fingerprint?: () => HostFingerprint; readOnly?: boolean; }); static forAgentDir(agentDir: string, options?: { fingerprint?: () => HostFingerprint; readOnly?: boolean; }): FitnessStore; /** Persist the latest report for a model on the CURRENT host. Best-effort, returns the entry. */ save(model: string, report: ModelFitnessReport, at?: string): StoredFitnessReport; /** Drop a model's report for the CURRENT host (uninstall cleanup). No-op when absent. */ remove(model: string): void; /** Reports for the current host (default) or an explicit host id. */ getForHost(hostId?: string): StoredFitnessReport[]; /** Every stored report across all hosts (for cross-machine comparisons). */ getAll(): StoredFitnessReport[]; } //# sourceMappingURL=fitness-store.d.ts.map