import type { PersistedTriggerSetupState, TriggerSetupStateRepository } from "../types"; export class InMemoryTriggerSetupStateRepository implements TriggerSetupStateRepository { private readonly statesByKey = new Map(); async load(trigger: { workflowId: string; nodeId: string }): Promise { return this.statesByKey.get(this.toKey(trigger)); } async save(state: PersistedTriggerSetupState): Promise { this.statesByKey.set(this.toKey(state.trigger), state); } async delete(trigger: { workflowId: string; nodeId: string }): Promise { this.statesByKey.delete(this.toKey(trigger)); } private toKey(trigger: { workflowId: string; nodeId: string }): string { return `${trigger.workflowId}:${trigger.nodeId}`; } }