virtue-cli
Version:
Personal character development CLI tool for tracking virtues and philosophical alignment
56 lines • 2.06 kB
TypeScript
import { Database } from './Database.js';
import { VirtueVersion, VirtueVersionComparison, VirtueVersionStats, VirtueVersionWithDetails } from '../types/index.js';
export declare class VirtueVersionRepository {
private database;
constructor(database: Database);
private get db();
/**
* Create a new version for a virtue
*/
createVersion(version: Omit<VirtueVersion, 'id' | 'created_at'>): Promise<VirtueVersion>;
/**
* Get a specific version by ID
*/
getVersion(id: string): VirtueVersion | null;
/**
* Get all versions for a virtue
*/
getVersionsForVirtue(virtueId: string): VirtueVersion[];
/**
* Get the active version for a virtue
*/
getActiveVersion(virtueId: string): VirtueVersion | null;
/**
* Get a specific version by virtue ID and version number
*/
getVersionByNumber(virtueId: string, versionNumber: number): VirtueVersion | null;
/**
* Activate a specific version (deactivates all others)
*/
activateVersion(virtueId: string, versionNumber: number): Promise<boolean>;
/**
* Get the next version number for a virtue
*/
getNextVersionNumber(virtueId: string): Promise<number>;
/**
* Create a version comparison record
*/
createComparison(comparison: Omit<VirtueVersionComparison, 'id' | 'comparison_date'>): Promise<VirtueVersionComparison>;
/**
* Get a comparison by ID
*/
getComparison(id: string): VirtueVersionComparison | null;
/**
* Get usage statistics for a virtue version
*/
getVersionStats(virtueId: string, versionNumber: number): Promise<VirtueVersionStats>;
/**
* Get a version with parsed sub-dimensions and indicators
*/
getVersionWithDetails(virtueId: string, versionNumber: number): Promise<VirtueVersionWithDetails | null>;
/**
* Delete a version (if not the last one)
*/
deleteVersion(virtueId: string, versionNumber: number): Promise<boolean>;
}
//# sourceMappingURL=VirtueVersionRepository.d.ts.map