export type ScheduledTaskType = "cron" | "once" | "interval"; export type ScheduledTaskStatus = "success" | "error" | "running"; export type ScheduledTaskDelivery = "new-session" | "origin-session"; export type ScheduledTaskRunHistoryEntry = { id: string; status: ScheduledTaskStatus | "paused" | "resumed"; createdAt: string; sessionId?: string; message?: string; }; export type ScheduledTaskRunContext = { historyEntryId: string; sessionId: string; startedAt: string; }; export type ScheduledTask = { id: string; name?: string; prompt: string; type: ScheduledTaskType; schedule: string; intervalSeconds: number; enabled: boolean; delivery: ScheduledTaskDelivery; originSessionId?: string; cwd: string; createdAt: string; updatedAt: string; lastRunAt?: string; nextRunAt?: string; runCount: number; timeoutMs?: number; lastStatus?: ScheduledTaskStatus; lastError?: string; runHistory?: ScheduledTaskRunHistoryEntry[]; }; export type ScheduledTaskCreateInput = Omit; export type ScheduledTaskUpdate = Partial> & { name?: string | undefined; originSessionId?: string | undefined; }; export type TaskSchedulerStatus = { active: boolean; pid: number; taskCount: number; scheduledTimerCount: number; scheduledCronCount: number; runningTaskIds: string[]; lock: { path: string; acquired: boolean; holderPid?: number; }; }; export interface TaskScheduler { list(): Promise; get(taskId: string): Promise; status(): Promise; isActive(): boolean; create(input: ScheduledTaskCreateInput): Promise; update(taskId: string, input: ScheduledTaskUpdate): Promise; delete(taskId: string): Promise; runNow(taskId: string): Promise; start(): Promise; stop(): Promise; } export interface ScheduledTaskStore { list(): Promise; get(taskId: string): Promise; create(task: ScheduledTask): Promise; update(taskId: string, task: ScheduledTask): Promise; delete(taskId: string): Promise; } export interface SchedulerLock { readonly path: string; acquire(): boolean; release(): void; isAcquired(): boolean; holderPid(): number | undefined; } export type ScheduledTaskRunner = (task: ScheduledTask, run: ScheduledTaskRunContext) => Promise; //# sourceMappingURL=types.d.ts.map