@iyulab/oops
Version:
Core SDK for Oops - Safe text file editing with automatic backup
64 lines • 1.68 kB
TypeScript
/**
* Simple Version Management System
* Implements Git-style version numbering without Git dependency
*/
export interface VersionInfo {
version: number;
message: string;
timestamp: Date;
checksum: string;
content: string;
}
export interface CommitResult {
version: number;
message: string;
previousVersion?: number;
}
export declare class SimpleVersionManager {
private versionsPath;
private filePath;
constructor(workspacePath: string, filePath: string);
/**
* Initialize version system for a file
*/
initialize(): Promise<void>;
/**
* Create initial version (1)
*/
createInitialVersion(message?: string): Promise<VersionInfo>;
/**
* Commit changes as new version
*/
commitVersion(message: string): Promise<CommitResult>;
/**
* Get all versions in chronological order
*/
getAllVersions(): Promise<VersionInfo[]>;
/**
* Get specific version
*/
getVersion(version: number): Promise<VersionInfo | null>;
/**
* Checkout specific version
*/
checkoutVersion(version: number): Promise<void>;
/**
* Get current version
*/
getCurrentVersion(): Promise<number | null>;
/**
* Get diff between versions
*/
getDiff(fromVersion?: number, toVersion?: number): Promise<string>;
/**
* Check if file has changes since last version
*/
hasChanges(): Promise<boolean>;
private saveVersion;
private setCurrentVersion;
private getNextVersion;
private generateFileHash;
private generateChecksum;
private generateSimpleDiff;
}
//# sourceMappingURL=simple-version.d.ts.map