UNPKG

recoder-code

Version:

Complete AI-powered development platform with ML model training, plugin registry, real-time collaboration, monitoring, infrastructure automation, and enterprise deployment capabilities

136 lines (135 loc) 4.36 kB
/** * Operational Transform Implementation * Complete operational transform library for real-time collaborative editing */ export interface Operation { type: 'retain' | 'insert' | 'delete'; length?: number; text?: string; attributes?: Record<string, any>; } export interface TextOperation { ops: Operation[]; baseLength: number; targetLength: number; } /** * Convert TextOperation to JSON */ export declare function textOperationToJSON(operation: TextOperation): any; /** * Add toJSON method to TextOperation objects */ export declare function addToJSONMethod(operation: TextOperation): TextOperation & { toJSON(): any; }; /** * Create a new TextOperation */ export declare function createTextOperation(): TextOperation; /** * Retain operation - keep existing characters */ export declare function retain(operation: TextOperation, length: number, attributes?: Record<string, any>): TextOperation; /** * Insert operation - add new text */ export declare function insert(operation: TextOperation, text: string, attributes?: Record<string, any>): TextOperation; /** * Delete operation - remove existing characters */ export declare function deleteOp(operation: TextOperation, length: number): TextOperation; /** * Apply an operation to a document */ export declare function apply(operation: TextOperation, document: string): string; /** * Transform operation A against operation B (when B was applied first) * Returns the transformed operation A' */ export declare function transform(opA: TextOperation, opB: TextOperation, priority?: 'left' | 'right'): TextOperation; /** * Compose two operations (apply operation B after operation A) */ export declare function compose(opA: TextOperation, opB: TextOperation): TextOperation; /** * Invert an operation (create an operation that undoes this operation) */ export declare function invert(operation: TextOperation, document: string): TextOperation; /** * Create an operation from a simple text diff */ export declare function fromDiff(oldText: string, newText: string): TextOperation; /** * Validate that an operation is well-formed */ export declare function isValid(operation: TextOperation): boolean; export declare class Delta { ops: Operation[]; baseLength: number; targetLength: number; meta?: any; constructor(ops?: Operation[], baseLength?: number, targetLength?: number); static fromJSON(json: any): Delta; toJSON(): any; } export type SelectionRange = { start: { line: number; column: number; }; end: { line: number; column: number; }; }; export interface DocumentStateInterface { content: string; version: number; operations: TextOperation[]; } export declare class DocumentState implements DocumentStateInterface { content: string; version: number; operations: TextOperation[]; constructor(content?: string, version?: number); getContent(): string; getRevision(): number; applyConcurrentOperation(operation: TextOperation, baseRevision: number, userId: string): { success: boolean; newRevision?: number; transformedOperation?: TextOperation; error?: string; }; getOperationsSince(revision: number): TextOperation[]; } export declare class OperationalTransform { static transform: typeof transform; static apply: typeof apply; static compose: typeof compose; static invert: typeof invert; static fromDiff: typeof fromDiff; static isValid: typeof isValid; } export declare class SelectionManager { private selections; updateSelection(userId: string, selection: SelectionRange): void; getSelections(): Map<string, SelectionRange>; transformSelections(operation: TextOperation): void; static transformSelection(selection: SelectionRange, operation: TextOperation): SelectionRange; } declare const _default: { createTextOperation: typeof createTextOperation; retain: typeof retain; insert: typeof insert; delete: typeof deleteOp; apply: typeof apply; transform: typeof transform; compose: typeof compose; invert: typeof invert; fromDiff: typeof fromDiff; isValid: typeof isValid; OperationalTransform: typeof OperationalTransform; SelectionManager: typeof SelectionManager; }; export default _default;