import type { AutomationJob } from './jobs.js'; import type { AutomationRun } from './runs.js'; import type { AutomationRunTrigger } from './types.js'; import type { AutomationManagerExecutionContext } from './manager-runtime-execution.js'; /** What a single check-in evaluation decided, the outcome the evaluator returns. */ export interface AutomationCheckinOutcome { /** delivered: contacted the user. quiet: judged nothing warranted contact. skipped: disabled/quiet-hours. error: evaluation failed. */ readonly outcome: 'delivered' | 'quiet' | 'skipped' | 'error'; /** A one-line human summary for the run receipt. */ readonly summary: string; /** The channel delivery id when a message was delivered. */ readonly deliveryId?: string | undefined; /** The error detail when outcome is 'error'. */ readonly error?: string | undefined; } /** The check-in evaluator the CheckinService attaches to the AutomationManager. */ export type AutomationCheckinEvaluator = (job: AutomationJob) => Promise; /** * Run a check-in job to a terminal AutomationRun via the attached evaluator. * Records the run through the same context methods executeAutomationJob uses so * the automation run history, persistence, and events are identical to any * other job, the run is simply terminal on return rather than pending an agent. */ export declare function executeCheckinJob(context: AutomationManagerExecutionContext, evaluator: AutomationCheckinEvaluator, job: AutomationJob, trigger: AutomationRunTrigger, dueRun: boolean, attempt: number): Promise; //# sourceMappingURL=checkin-execution.d.ts.map