claude-sesh
Version:
Session explorer for Claude Code - find, search, and resume all your past sessions
91 lines • 2.58 kB
TypeScript
export interface StatsCardData {
type: 'summary' | 'languages' | 'rhythm' | 'achievement' | 'wrapped';
title: string;
subtitle: string;
period: string;
stats: Record<string, string | number>;
extras?: Record<string, unknown>;
}
export interface SummaryCardData extends StatsCardData {
type: 'summary';
stats: {
totalSessions: number;
totalTokens: string;
totalCost: string;
totalHours: string;
projectCount: number;
filesChanged: number;
};
}
export interface LanguageCardData extends StatsCardData {
type: 'languages';
stats: {
languageCount: number;
};
extras: {
languages: Array<{
name: string;
percentage: number;
color: string;
}>;
};
}
export interface RhythmCardData extends StatsCardData {
type: 'rhythm';
stats: {
peakHour: string;
peakDay: string;
archetype: string;
archetypeEmoji: string;
};
extras: {
hourlyActivity: number[];
dailyActivity: number[];
};
}
export interface AchievementCardData extends StatsCardData {
type: 'achievement';
stats: {
percentile: number;
totalSessions: number;
totalProjects: number;
totalTokens: string;
};
}
export interface WrappedCardData extends StatsCardData {
type: 'wrapped';
stats: {
sessions: number;
hours: string;
tokens: string;
cost: string;
projects: number;
files: number;
topProject: string;
topModel: string;
achievementTitle: string;
};
}
declare class CardsService {
private formatTokens;
private formatDuration;
private formatHours;
private getSessionsInPeriod;
private getPeriodLabel;
getSummaryCard(period?: 'week' | 'month' | 'year' | 'all'): SummaryCardData;
getLanguagesCard(period?: 'week' | 'month' | 'year' | 'all'): LanguageCardData;
getRhythmCard(period?: 'week' | 'month' | 'year' | 'all'): RhythmCardData;
private formatHourRange;
getAchievementCard(): AchievementCardData;
getWrappedCard(period?: 'week' | 'month' | 'year' | 'all'): WrappedCardData;
getAllCards(period?: 'week' | 'month' | 'year' | 'all'): {
summary: SummaryCardData;
languages: LanguageCardData;
rhythm: RhythmCardData;
achievement: AchievementCardData;
wrapped: WrappedCardData;
};
}
export declare const cardsService: CardsService;
export {};
//# sourceMappingURL=cards.d.ts.map