import type { AgentConfig } from "./types"; import type { BatchTargetResult, RunbookStepResult } from "./runbooks"; export type JobKind = "run" | "batch"; export type JobStatus = "running" | "ok" | "partial" | "failed"; export interface JobRecord { jobId: string; name: string; kind: JobKind; status: JobStatus; cwd: string; args: string[]; runbookPath: string; targetsPath?: string; varsPath?: string; sessionId?: string; profileId?: string; continueOnError: boolean; runbookDescription?: string; createdAt: string; updatedAt: string; startedAt: string; finishedAt?: string; durationMs?: number; cycleCount?: number; failedCycles?: number; stepCount?: number; failedSteps?: number; targetCount?: number; failedTargets?: number; outputPath: string; error?: string; steps?: RunbookStepResult[]; targets?: BatchTargetResult[]; } export type JobFilters = { kind?: JobKind; status?: JobStatus; search?: string; limit?: number; }; type JobStartInput = { name: string; kind: JobKind; cwd: string; args: string[]; runbookPath: string; targetsPath?: string; varsPath?: string; sessionId?: string; profileId?: string; continueOnError: boolean; runbookDescription?: string; }; type JobCompletionInput = { status: Exclude; durationMs?: number; cycleCount?: number; failedCycles?: number; stepCount?: number; failedSteps?: number; targetCount?: number; failedTargets?: number; output?: string; error?: string; steps?: RunbookStepResult[]; targets?: BatchTargetResult[]; }; export declare function createJob(config: AgentConfig, input: JobStartInput): JobRecord; export declare function finalizeJob(config: AgentConfig, jobId: string, input: JobCompletionInput): JobRecord; export declare function getJob(config: AgentConfig, jobId: string): JobRecord | undefined; export declare function listJobs(config: AgentConfig, filters?: JobFilters): JobRecord[]; export {};