UNPKG

lorehub

Version:

Capture and surface the collective wisdom of your codebase

54 lines 1.49 kB
import type { Workspace } from '../core/types.js'; import { Database } from '../db/database.js'; export interface SyncManifest { version: '1.0.0'; workspaceId: string; workspaceName: string; created: Date; lastSync: Date; deviceId: string; syncProtocol: 'git-v1'; } export interface ChangeEvent { id: string; timestamp: Date; deviceId: string; operation: 'create' | 'update' | 'delete' | 'archive'; entity: 'lore' | 'realm' | 'relation'; entityId: string; data?: any; metadata?: { realmId?: string; workspaceId?: string; }; } export interface SyncResult { pulled: number; pushed: number; conflicts: number; errors: string[]; } export declare class GitSyncAdapter { private git; private syncPath; private workspace; private deviceId; private db; constructor(workspace: Workspace, db: Database); initialize(): Promise<void>; recordChange(change: Omit<ChangeEvent, 'id' | 'timestamp' | 'deviceId'>): Promise<void>; push(): Promise<SyncResult>; pull(): Promise<SyncResult>; sync(): Promise<SyncResult>; exportWorkspaceData(): Promise<void>; private combineExportChunks; private getChangesSince; private applyChange; private applyLoreChange; private applyRealmChange; private applyRelationChange; private getOrCreateDeviceId; private readJsonFile; private writeJsonFile; } //# sourceMappingURL=git-sync-adapter.d.ts.map