gitdb-database
Version:
A production-ready CLI tool for managing a NoSQL database using GitHub repositories as storage
75 lines • 2.08 kB
TypeScript
export interface DatabaseSummary {
collections: CollectionSummary[];
recentActivity: ActivitySummary[];
performanceMetrics: PerformanceMetrics;
recommendations: string[];
anomalies: string[];
}
export interface CollectionSummary {
name: string;
documentCount: number;
lastModified: string;
sizeEstimate: string;
schemaComplexity: 'simple' | 'moderate' | 'complex';
accessPattern: 'read-heavy' | 'write-heavy' | 'balanced';
}
export interface ActivitySummary {
type: 'insert' | 'update' | 'delete' | 'query' | 'rollback';
collection: string;
timestamp: string;
impact: 'low' | 'medium' | 'high';
description: string;
}
export interface PerformanceMetrics {
totalDocuments: number;
totalCollections: number;
averageQueryTime: number;
cacheHitRate: number;
compressionRatio: number;
storageEfficiency: number;
}
export declare class AISummarizer {
private octokit;
private owner;
private repo;
constructor(token: string, owner: string, repo: string);
/**
* Generate comprehensive database summary
*/
generateSummary(): Promise<DatabaseSummary>;
/**
* Get collection summaries
*/
private getCollections;
/**
* Get data for a specific collection
*/
private getCollectionData;
/**
* Get recent activity from commits
*/
private getRecentActivity;
/**
* Calculate performance metrics
*/
private calculatePerformanceMetrics;
/**
* Generate recommendations based on analysis
*/
private generateRecommendations;
/**
* Detect anomalies in the database
*/
private detectAnomalies;
private estimateSize;
private assessSchemaComplexity;
private determineAccessPattern;
private determineActivityType;
private extractCollectionFromMessage;
private assessImpact;
private estimateQueryTime;
private estimateCacheHitRate;
private estimateCompressionRatio;
private calculateStorageEfficiency;
}
//# sourceMappingURL=summarizer.d.ts.map