@shubhamrasal/groundline
Version:
Groundline GraphDB with IPFS persistence
38 lines • 1.69 kB
TypeScript
import * as Y from 'yjs';
import type { Entity, Relation } from './graph-model.js';
export declare const graphDoc: Y.Doc;
export declare const nodes: Y.Map<unknown>;
export declare const edges: Y.Map<unknown>;
export declare function initGraphDoc(): void;
export interface ProvenanceLogEntry {
timestamp: number;
action: 'add' | 'edit' | 'delete';
objectType: 'node' | 'edge';
id: string;
data?: any;
meta?: {
userId?: string;
clientId?: string;
batchId?: string;
parentOpId?: string;
reason?: string;
source?: 'api' | 'ui' | 'batch' | 'sync';
confidence?: number;
dataSource?: string;
validationStatus?: 'valid' | 'pending' | 'invalid';
schemaVersion?: string;
previousStateHash?: string;
namespace?: string;
labels?: string[];
custom?: Record<string, any>;
};
}
export declare function addNode(entity: Entity, metadata?: Partial<ProvenanceLogEntry['meta']>): void;
export declare function editNode(entity: Entity, metadata?: Partial<ProvenanceLogEntry['meta']>): void;
export declare function deleteNode(id: string, metadata?: Partial<ProvenanceLogEntry['meta']>): void;
export declare function addEdge(relation: Relation, metadata?: Partial<ProvenanceLogEntry['meta']>): void;
export declare function editEdge(relation: Relation, metadata?: Partial<ProvenanceLogEntry['meta']>): void;
export declare function deleteEdge(edgeId: string, metadata?: Partial<ProvenanceLogEntry['meta']>): void;
export declare function getProvenanceLog(): ProvenanceLogEntry[];
export declare function clearProvenanceLog(): void;
//# sourceMappingURL=graph-crdt.d.ts.map