@juspay/neurolink
Version:
Universal AI Development Platform with working MCP integration, multi-provider support, voice (TTS/STT/realtime), and professional CLI. 58+ external MCP servers discoverable, multimodal file processing, RAG pipelines. Build, test, and deploy AI applicatio
44 lines (43 loc) • 1.7 kB
TypeScript
/**
* 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<void>;
shutdown(): Promise<void>;
save(task: Task): Promise<void>;
get(taskId: string): Promise<Task | null>;
list(filter?: {
status?: TaskStatus;
}): Promise<Task[]>;
update(taskId: string, updates: Partial<Task>): Promise<Task>;
delete(taskId: string): Promise<void>;
appendRun(taskId: string, run: TaskRunResult): Promise<void>;
getRuns(taskId: string, options?: {
limit?: number;
status?: string;
}): Promise<TaskRunResult[]>;
appendHistory(taskId: string, messages: ConversationEntry[]): Promise<void>;
getHistory(taskId: string): Promise<ConversationEntry[]>;
clearHistory(taskId: string): Promise<void>;
private ensureConnected;
private getClient;
/**
* Set Redis TTL on terminal-state tasks so they auto-expire.
* Active and paused tasks never expire.
*/
private applyRetentionTTL;
}