import { join } from "@std/path"; export interface PollerState { lastEventTimestamp: string | null; } export async function loadPollerState(dataDir: string): Promise { const path = join(dataDir, "poller-state.json"); try { const text = await Deno.readTextFile(path); return JSON.parse(text) as PollerState; } catch { return { lastEventTimestamp: null }; } } export async function savePollerState( dataDir: string, state: PollerState, ): Promise { const path = join(dataDir, "poller-state.json"); await Deno.mkdir(dataDir, { recursive: true }); await Deno.writeTextFile(path, JSON.stringify(state, null, 2)); }