| 1 | import type { TaskEvent, TaskSnapshot } from "./types"; |
| 2 | |
| 3 | export interface TaskPageRequest { |
| 4 | scope: "session" | "project" | "all" | string; tabId: string; projectKey: string; states: string[]; query: string; cursor: string; limit: number; |
| 5 | } |
| 6 | export interface TaskCatalogStatus { |
| 7 | state: string; mode: "disk" | "memory" | string; path?: string; revision: number; |
| 8 | indexed: number; total: number; pending: number; failed: number; lastError?: string; |
| 9 | } |
| 10 | export interface TaskCatalogItem { projectKey: string; projectLabel: string; task: TaskSnapshot } |
| 11 | export interface TaskPage { items: TaskCatalogItem[]; nextCursor: string; revision: number; partial: boolean; staleCursor: boolean; status: TaskCatalogStatus } |
| 12 | export interface TaskEventPageRequest { projectKey: string; taskId: string; after: number; limit: number } |
| 13 | export interface TaskEventPage { items: TaskEvent[]; nextSequence: number; partial: boolean } |
| 14 | export interface TaskActionRequest { projectKey: string; taskId: string; expectedVersion: number; reason: string; idempotencyKey: string } |
| 15 |