/** * adapters/pailot/message-queue.ts — Persistent message queue for PAILot. * * Circular buffer of content messages (text, voice, image) saved to disk. * Each message gets a monotonic sequence number that survives daemon restarts. * The app tracks its lastSeq and requests catch_up on reconnect. * * Only content messages are queued — typing indicators, status updates, * session lists, and other ephemeral messages are not persisted. */ export interface QueuedMessage { seq: number; sessionId: string; type: string; payload: Record; ts: number; } /** Load the queue from disk. Call once at daemon startup. */ export declare function loadQueue(maxMessages?: number, maxQueueBytes?: number): void; /** Force an immediate save (call on daemon shutdown). */ export declare function flushQueue(): void; /** * Enqueue a content message. Returns the assigned sequence number. * Only call this for content messages (text, voice, image). */ export declare function enqueue(sessionId: string, type: string, payload: Record): number; /** * Get all messages with seq > afterSeq. * Optionally filter by sessionId (returns all sessions if not specified). */ export declare function getAfter(afterSeq: number, sessionId?: string): QueuedMessage[]; /** Get the current latest sequence number (nextSeq - 1). */ export declare function getLatestSeq(): number; /** Check if a message type should be queued. */ export declare function isContentType(type: string): boolean; //# sourceMappingURL=message-queue.d.ts.map