n8n
Version:
n8n Workflow Automation Tool
37 lines (36 loc) • 1.44 kB
TypeScript
import type { CheckpointStore, SerializableAgentState } from '@n8n/agents';
import { Logger, ModuleRegistry } from '@n8n/backend-common';
import { AgentsConfig } from '@n8n/config';
import { InstanceSettings } from 'n8n-core';
import { AgentCheckpointRepository } from '../repositories/agent-checkpoint.repository';
type CheckpointStatus = {
status: 'expired';
} | {
status: 'not-found';
} | {
status: 'active';
checkpoint: SerializableAgentState;
};
export declare class N8NCheckpointStorage {
private readonly instanceSettings;
private readonly agentCheckpointRepository;
private readonly logger;
private readonly agentsConfig;
private readonly moduleRegistry;
private pruneTimeout;
private isStopping;
private isInitialized;
constructor(instanceSettings: InstanceSettings, agentCheckpointRepository: AgentCheckpointRepository, logger: Logger, agentsConfig: AgentsConfig, moduleRegistry: ModuleRegistry);
getStorage(agentId: string): CheckpointStore;
init(): void;
save(key: string, state: SerializableAgentState, agentId?: string | null): Promise<void>;
load(key: string): Promise<SerializableAgentState | undefined>;
getStatus(key: string): Promise<CheckpointStatus>;
delete(key: string): Promise<void>;
startPruning(): void;
stopPruning(): void;
shutdown(): void;
private scheduleNextPrune;
private pruneStaleSuspensions;
}
export {};