claude-sesh
Version:
Session explorer for Claude Code - find, search, and resume all your past sessions
45 lines • 1.41 kB
TypeScript
import { SessionParser } from './parser.js';
export interface LeaderboardSubmission {
anonymousId: string;
displayName: string;
submittedAt: string;
stats: {
totalSessions: number;
totalTokens: number;
totalHours: number;
languageCount: number;
longestStreak: number;
mostActiveHour: number;
avgSessionLength: number;
};
}
export interface LeaderboardData {
userSubmission: LeaderboardSubmission | null;
lastUpdated: string;
}
export declare class LeaderboardService {
private data;
private parser;
constructor(parser: SessionParser);
private loadData;
private saveData;
private generateAnonymousId;
getUserStats(): LeaderboardSubmission['stats'];
submitStats(displayName: string): LeaderboardSubmission;
removeSubmission(): void;
getSubmission(): LeaderboardSubmission | null;
getLeaderboard(category?: 'tokens' | 'sessions' | 'streak' | 'languages' | 'hours'): {
entries: (LeaderboardSubmission & {
rank: number;
isUser: boolean;
})[];
userRank: number | null;
totalParticipants: number;
};
getPercentile(category?: 'tokens' | 'sessions' | 'streak' | 'languages' | 'hours'): number | null;
getAchievementTitle(): {
title: string;
emoji: string;
};
}
//# sourceMappingURL=leaderboard.d.ts.map