import type { InstanceAiEvent } from '@n8n/api-types'; import { Logger } from '@n8n/backend-common'; import { GlobalConfig } from '@n8n/config'; import { InstanceSettings } from 'n8n-core'; import { DurableLogMetrics } from './durable-log-metrics'; import { InProcessEventBus } from './in-process-event-bus'; import { InstanceAiCheckpointRepository } from '../repositories/instance-ai-checkpoint.repository'; import { InstanceAiEventLogRepository } from '../repositories/instance-ai-event-log.repository'; export declare const TOOL_INTERRUPTED_MESSAGE = "Interrupted by a process restart \u2014 effect unverified; verify before retrying."; export declare const AGENT_INTERRUPTED_MESSAGE = "Interrupted by a process restart."; interface InFlightToolCall { toolCallId: string; toolName: string; agentId: string; args: Record; } interface OrphanedSpawnedAgent { agentId: string; role: string; } export interface InterruptedRunResumeHost { isRunLive(threadId: string, runId: string): boolean; } export declare class InterruptedRunSweeper { private readonly logger; private readonly eventLogRepo; private readonly checkpointRepo; private readonly eventBus; private readonly metrics; private readonly instanceSettings; static readonly LIVENESS_GRACE_MS: number; private resumeHost; private readonly durableLogEnabled; constructor(logger: Logger, eventLogRepo: InstanceAiEventLogRepository, checkpointRepo: InstanceAiCheckpointRepository, eventBus: InProcessEventBus, metrics: DurableLogMetrics, globalConfig: GlobalConfig, instanceSettings: InstanceSettings); setResumeHost(host: InterruptedRunResumeHost): void; sweep(): Promise; private sweepRun; cancelUnfinishedRuns(threadId: string): Promise; private resolveZombieRun; } export declare function collectOrphanedSpawnedAgents(events: InstanceAiEvent[]): OrphanedSpawnedAgent[]; export declare function collectInFlightToolCalls(events: InstanceAiEvent[]): InFlightToolCall[]; export {};