/** * Cron API router for /api/cron endpoints */ import { Router } from 'express'; import { CronScheduler, ScheduleStore } from '../scheduler/index.js'; import { type ExecutionLog } from './types.js'; /** * Execution log store interface (to be implemented by S6) */ export interface ExecutionLogStore { /** Get logs for a specific job */ getLogs(jobId: string, limit: number, offset: number): Promise; /** Add a new log entry */ addLog(jobId: string, log: ExecutionLog): Promise; /** Update an existing log entry */ updateLog(logId: string, updates: Partial): Promise; } /** * In-memory execution log store (placeholder until S6) */ export declare class InMemoryLogStore implements ExecutionLogStore { private logs; getLogs(jobId: string, limit: number, offset: number): Promise; addLog(jobId: string, log: ExecutionLog): Promise; updateLog(logId: string, updates: Partial): Promise; } /** * Adapter to use ScheduleStore as ExecutionLogStore * * Wraps ScheduleStore to provide ExecutionLogStore interface. * This allows the API handlers to use persistent SQLite storage. */ export declare class ScheduleStoreAdapter implements ExecutionLogStore { private store; constructor(store: ScheduleStore); getLogs(jobId: string, limit: number, offset: number): Promise; addLog(jobId: string, log: ExecutionLog): Promise; updateLog(logId: string, updates: Partial): Promise; } /** * Create cron API router */ export declare function createCronRouter(scheduler: CronScheduler, logStore?: ExecutionLogStore): Router; //# sourceMappingURL=cron-handler.d.ts.map