/** * Cloud sync for desktop chat history — the local agent acts as the bridge. * * Identity is the local Base wallet (~/.blockrun). We run the SAME SIWE flow a * browser does against franklin.run (/api/try/auth/nonce → sign → verify), hold * the session, and proxy conversation load/save/delete to the existing * /api/try/conversations API (GCS-backed, per-wallet). So the desktop and the * web share one history keyed by wallet — and the web server needs no changes. * * Everything is best-effort: callers fall back to the local file on any failure * (offline, not-deployed, auth hiccup), so cloud sync never breaks local use. */ export interface CloudConversation { id: string; title: string; createdAt: number; updatedAt: number; messages: unknown[]; } export declare function isCloudSyncEnabled(): boolean; export declare function cloudList(): Promise; /** Reconcile cloud to match the given local list: upsert changed, delete removed. */ export declare function cloudSync(conversations: CloudConversation[]): Promise;