/** * Deriver Queue — Status Reads * * Read-only query functions for inspecting the deriver_queue state. * Used by `cleo brain deriver status` CLI and monitoring. * * @task T1145 * @epic T1145 */ import type { DatabaseSync } from 'node:sqlite'; import type { DeriverQueueStatus } from '../store/schema/memory-schema.js'; /** Count of queue items per status bucket. */ export interface DeriverQueueStatusCounts { pending: number; in_progress: number; done: number; failed: number; total: number; } /** A single deriver queue item row (for display / monitoring). */ export interface DeriverQueueItem { id: string; itemType: string; itemId: string; priority: number; status: DeriverQueueStatus; claimedAt: string | null; claimedBy: string | null; errorMsg: string | null; retryCount: number; createdAt: string; completedAt: string | null; } /** Options for {@link getQueueStatus}. */ export interface GetQueueStatusOptions { /** Inject a DatabaseSync for testing. */ db?: DatabaseSync | null; } /** * Return counts of deriver queue items per status bucket. * * @param options - Optional db injection for tests. * @returns Status counts (all zeros if queue is empty or DB unavailable). * * @task T1145 */ export declare function getQueueStatus(options?: GetQueueStatusOptions): DeriverQueueStatusCounts; /** * Return the N most recent deriver queue items for a given status. * * @param status - Filter by status (or 'all' for all statuses). * @param limit - Maximum rows to return. Default 20. * @param options - Optional db injection for tests. * @returns Array of queue items. * * @task T1145 */ export declare function listQueueItems(status?: DeriverQueueStatus | 'all', limit?: number, options?: GetQueueStatusOptions): DeriverQueueItem[]; /** * Check whether the queue has any pending work. * * @param options - Optional db injection for tests. * @returns true if there is at least one pending item. * * @task T1145 */ export declare function hasQueuePending(options?: GetQueueStatusOptions): boolean; //# sourceMappingURL=status.d.ts.map