/** * Storage-backed TaskStore implementation. * * Uses `@frontmcp/utils` storage abstractions (memory / Redis / Upstash) with * automatic TTL, key namespacing, and pub/sub for cross-node signalling. * * Key layout (under the store's NamespacedStorage): * - `records:{sessionId}:{taskId}` — the TaskRecord JSON * - Pub/sub channels: * - `terminal:{taskId}` — fires when a task reaches terminal status * - `cancel:{taskId}` — fires when a task is asked to cancel * * @module task/store/storage-task.store */ import { type NamespacedStorage } from '@frontmcp/utils'; import { type FrontMcpLogger } from '../../common'; import { type TaskRecord } from '../task.types'; import type { TaskCancelCallback, TaskListPage, TaskStore, TaskTerminalCallback, TaskUnsubscribe } from './task.store'; export declare class StorageTaskStore implements TaskStore { private readonly storage; private readonly records; private readonly logger?; private readonly terminalCallbacks; private readonly terminalSubs; private readonly cancelCallbacks; private readonly cancelSubs; constructor(storage: NamespacedStorage, logger?: FrontMcpLogger); create(record: TaskRecord): Promise; get(taskId: string, sessionId: string): Promise; update(taskId: string, sessionId: string, patch: Partial): Promise; delete(taskId: string, sessionId: string): Promise; list(sessionId: string, opts?: { cursor?: string; pageSize?: number; }): Promise; subscribeTerminal(taskId: string, _sessionId: string, cb: TaskTerminalCallback): Promise; publishTerminal(record: TaskRecord): Promise; subscribeCancel(taskId: string, _sessionId: string, cb: TaskCancelCallback): Promise; publishCancel(taskId: string, _sessionId: string): Promise; destroy(): Promise; } //# sourceMappingURL=storage-task.store.d.ts.map