/** * RedisTaskStore — Redis-backed persistence for TaskManager. * Used automatically when backend is "bullmq". * * Key patterns: * neurolink:tasks (Hash) — all task definitions * neurolink:task:{id}:runs (List) — run log entries (newest first) * neurolink:task:{id}:history (List) — continuation mode conversation history */ import { type Task, type TaskStatus, type TaskRunResult, type TaskStore, type TaskManagerConfig, type ConversationEntry } from "../../types/index.js"; export declare class RedisTaskStore implements TaskStore { private config; readonly type: "redis"; private client; private maxRunLogs; private maxHistoryEntries; private retentionConfig; constructor(config: TaskManagerConfig); initialize(): Promise; shutdown(): Promise; save(task: Task): Promise; get(taskId: string): Promise; list(filter?: { status?: TaskStatus; }): Promise; update(taskId: string, updates: Partial): Promise; delete(taskId: string): Promise; appendRun(taskId: string, run: TaskRunResult): Promise; getRuns(taskId: string, options?: { limit?: number; status?: string; }): Promise; appendHistory(taskId: string, messages: ConversationEntry[]): Promise; getHistory(taskId: string): Promise; clearHistory(taskId: string): Promise; private ensureConnected; private getClient; /** * Set Redis TTL on terminal-state tasks so they auto-expire. * Active and paused tasks never expire. */ private applyRetentionTTL; }