/** * HiveStore — MariaDB CRUD for `vecna_hive`. * * Implements `vecna/spec.md` §4. Connection uses the same `mariadb` * pool conventions as VINES's Ledger so contributors don't context-switch. */ import { type DBConfig } from "../config.js"; import type { ConnectInput, ConnectResult, EvolveInput, EvolveResult, Fragment, RecallOptions } from "./types.js"; export interface HiveStoreOptions { db: DBConfig; /** Dedup window in minutes; see vecna/spec.md §4.1. */ dedupWindowMinutes: number; } export declare class HiveStore { private readonly pool; private readonly dedupWindowMinutes; private closed; constructor(opts: HiveStoreOptions); close(): Promise; /** Lightweight liveness check used by `/v1/healthz`. */ ping(): Promise; connect(input: ConnectInput): Promise; private findRecentDuplicate; /** * Topic-scoped recall. Ranks by: * 1. ticket-tagged fragments first (when `opts.ticket` is given); * 2. importance = 5 always before others; * 3. fragments newer than 6 months above older ones (decay penalty); * 4. importance descending; * 5. created_at descending. * * Non-deprecated fragments only. */ recall(topic: string, opts?: RecallOptions): Promise; search(query: string, limit?: number): Promise; getFragment(id: string): Promise; evolve(id: string, input: EvolveInput): Promise; private requireFragment; private run; private runTransaction; } //# sourceMappingURL=store.d.ts.map