import { type StateFileSystem } from "./fs.js"; export type JobStatus = "pending" | "running" | "exited" | "killed" | "lost"; export interface JobEntry { id: string; env_id: string; env_kind: string; tool: string; argv: string[]; cwd: string; started_at: string; status: JobStatus; exit_code?: number; exited_at?: string; log_file?: string; reattach_context?: Record; } export interface JobListFilter { env_id?: string; env_kind?: string; tool?: string; status?: JobStatus; since?: Date; limit?: number; } export interface JobRegistry { get(id: string): Promise; put(entry: JobEntry): Promise; update(id: string, patch: Partial): Promise; /** Newest first, capped by filter.limit when provided. */ list(filter?: JobListFilter): Promise; remove(id: string): Promise; } export declare function createJobRegistry(homeDir: string, fs?: StateFileSystem): JobRegistry; export type { StateFileSystem } from "./fs.js";