/** * The three `peaks cron` action handlers (init / list / run) — moved VERBATIM * out of `cron-commands.ts` (job strict-remediation-abc, slice * c1-eslint-family-sweep, leaf c3w1-cron-commands) so the registration file * clears the `max-lines-per-function` findings. * * NOTHING was restructured: same predicate order inside the due/nextDueAt * annotation (`e.enabled && (e.lastRunAt === null || now - e.lastRunAt >= * e.intervalMs)`, with `>=` exactly as it was), same `process.exitCode = 1` * points, same emitted message text, same sort. The run action's 66-line body * was further split into `runCronTasks` / `runTargets` / `printRunOutcome` * purely to cross the function-length line; ordering is unchanged. * * One dead local was not copied: `const now = Date.now();` inside the run * action was never read (it carried a `no-unused-vars` baseline ERROR on the * original file). Removing an unread, effect-free assignment changes no branch, * throw, exit code, or emitted byte — and a new sibling must be clean outright. * * ONE thing has since been restructured, and it is not the verbatim move above: * own fold-and-write (a `runTargets` that built the next file from the snapshot * read before the runs, stamping every record including killed ones) with the * scheduler's `persistLastRunAt`, so one rule and one write-time re-read cover * all three `lastRunAt` writers. The `ran` / `records` envelope, the exit-code * branch and every emitted message are unchanged; what changed on disk is that a * killed run no longer advances `lastRunAt` here, and that entries another writer * added mid-run are no longer reverted. The rule is in * `cron-scheduler-persist.ts`. */ import { type ProgramIO } from '../cli-helpers.js'; export declare function handleCronInit(io: ProgramIO, options: { project?: string; json?: boolean; }): void; export declare function handleCronList(io: ProgramIO, options: { project?: string; json?: boolean; }): void; export declare function handleCronRun(io: ProgramIO, options: { id?: string; project?: string; json?: boolean; }): void;