vibechk 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,131 @@
1
+ type ActivitySource = 'claude-code' | 'git' | 'manual' | 'git-hook' | 'api' | 'import';
2
+ type CelebrationLevel = 'minimal' | 'normal' | 'enthusiastic';
3
+ interface CloudSyncConfig {
4
+ endpoint: string;
5
+ apiKey: string;
6
+ lastSyncedAt: string | null;
7
+ }
8
+ interface UserPreferences {
9
+ shareOnLeaderboard: boolean;
10
+ notificationsEnabled: boolean;
11
+ notificationTime: string;
12
+ celebrationLevel: CelebrationLevel;
13
+ sessionSources: ActivitySource[];
14
+ weekendsCount: boolean;
15
+ watchedRepos: string[];
16
+ }
17
+ interface UserProfile {
18
+ id: string;
19
+ username: string;
20
+ timezone: string;
21
+ createdAt: string;
22
+ cloudSync: CloudSyncConfig | null;
23
+ preferences: UserPreferences;
24
+ }
25
+
26
+ type StreakStatus = 'active' | 'at_risk' | 'broken' | 'frozen' | 'grace' | 'new';
27
+ interface StreakRecord {
28
+ currentStreak: number;
29
+ longestStreak: number;
30
+ lastActivityDate: string | null;
31
+ lastCheckInAt: string | null;
32
+ freezeTokens: number;
33
+ totalCheckIns: number;
34
+ graceUsedAt: string | null;
35
+ status: StreakStatus;
36
+ }
37
+ type StreakAction = 'continued' | 'started' | 'grace' | 'frozen' | 'already_checked_in' | 'broken';
38
+ interface StreakImpact {
39
+ action: StreakAction;
40
+ newStreak: number;
41
+ previousStreak?: number;
42
+ usedGrace?: boolean;
43
+ usedFreeze?: boolean;
44
+ }
45
+
46
+ interface AgentData {
47
+ sessions: number;
48
+ tokensApprox: number;
49
+ models?: string[];
50
+ }
51
+ interface ActivityEntry {
52
+ date: string;
53
+ checkedInAt: string;
54
+ source: ActivitySource;
55
+ isFrozen: boolean;
56
+ isGrace: boolean;
57
+ sessionId: string;
58
+ agentData?: AgentData;
59
+ notes?: string;
60
+ }
61
+
62
+ type MilestoneRarity = 'common' | 'rare' | 'epic' | 'legendary';
63
+ interface MilestoneDefinition {
64
+ id: string;
65
+ name: string;
66
+ description: string;
67
+ streakRequired: number;
68
+ icon: string;
69
+ rarity: MilestoneRarity;
70
+ freezeTokenReward: number;
71
+ }
72
+ interface EarnedBadge {
73
+ milestoneId: string;
74
+ earnedAt: string;
75
+ streakAtEarning: number;
76
+ }
77
+ interface BadgesRecord {
78
+ earned: EarnedBadge[];
79
+ }
80
+
81
+ interface LeaderboardEntry {
82
+ userId: string;
83
+ displayName: string;
84
+ currentStreak: number;
85
+ longestStreak: number;
86
+ freezesUsed: number;
87
+ badges: string[];
88
+ lastActiveDate: string;
89
+ rank?: number;
90
+ isYou?: boolean;
91
+ }
92
+ interface LeaderboardCache {
93
+ entries: LeaderboardEntry[];
94
+ fetchedAt: string;
95
+ source: string;
96
+ weekStart: string;
97
+ }
98
+
99
+ interface CheckInOptions {
100
+ source?: ActivitySource;
101
+ notes?: string;
102
+ autoFreeze?: boolean;
103
+ dryRun?: boolean;
104
+ }
105
+ interface CheckInResult {
106
+ action: StreakAction;
107
+ streak: number;
108
+ previousStreak?: number;
109
+ newMilestones: MilestoneDefinition[];
110
+ freezeTokensRemaining: number;
111
+ agentData?: AgentData;
112
+ }
113
+
114
+ declare function runCheckIn(options?: CheckInOptions & {
115
+ quiet?: boolean;
116
+ json?: boolean;
117
+ noInteractive?: boolean;
118
+ openDashboard?: boolean;
119
+ }): Promise<CheckInResult>;
120
+
121
+ declare function getStreak(): StreakRecord;
122
+
123
+ declare function getLeaderboard(): LeaderboardCache | null;
124
+
125
+ declare function loadProfile(): UserProfile | null;
126
+
127
+ declare function runExport(options?: {
128
+ format?: 'json' | 'csv';
129
+ }): Promise<void>;
130
+
131
+ export { type ActivityEntry, type ActivitySource, type AgentData, type BadgesRecord, type CelebrationLevel, type CheckInOptions, type CheckInResult, type EarnedBadge, type LeaderboardCache, type LeaderboardEntry, type MilestoneDefinition, type StreakAction, type StreakImpact, type StreakRecord, type StreakStatus, type UserProfile, runCheckIn as checkIn, runExport as exportData, getLeaderboard, loadProfile as getProfile, getStreak };
@@ -0,0 +1,131 @@
1
+ type ActivitySource = 'claude-code' | 'git' | 'manual' | 'git-hook' | 'api' | 'import';
2
+ type CelebrationLevel = 'minimal' | 'normal' | 'enthusiastic';
3
+ interface CloudSyncConfig {
4
+ endpoint: string;
5
+ apiKey: string;
6
+ lastSyncedAt: string | null;
7
+ }
8
+ interface UserPreferences {
9
+ shareOnLeaderboard: boolean;
10
+ notificationsEnabled: boolean;
11
+ notificationTime: string;
12
+ celebrationLevel: CelebrationLevel;
13
+ sessionSources: ActivitySource[];
14
+ weekendsCount: boolean;
15
+ watchedRepos: string[];
16
+ }
17
+ interface UserProfile {
18
+ id: string;
19
+ username: string;
20
+ timezone: string;
21
+ createdAt: string;
22
+ cloudSync: CloudSyncConfig | null;
23
+ preferences: UserPreferences;
24
+ }
25
+
26
+ type StreakStatus = 'active' | 'at_risk' | 'broken' | 'frozen' | 'grace' | 'new';
27
+ interface StreakRecord {
28
+ currentStreak: number;
29
+ longestStreak: number;
30
+ lastActivityDate: string | null;
31
+ lastCheckInAt: string | null;
32
+ freezeTokens: number;
33
+ totalCheckIns: number;
34
+ graceUsedAt: string | null;
35
+ status: StreakStatus;
36
+ }
37
+ type StreakAction = 'continued' | 'started' | 'grace' | 'frozen' | 'already_checked_in' | 'broken';
38
+ interface StreakImpact {
39
+ action: StreakAction;
40
+ newStreak: number;
41
+ previousStreak?: number;
42
+ usedGrace?: boolean;
43
+ usedFreeze?: boolean;
44
+ }
45
+
46
+ interface AgentData {
47
+ sessions: number;
48
+ tokensApprox: number;
49
+ models?: string[];
50
+ }
51
+ interface ActivityEntry {
52
+ date: string;
53
+ checkedInAt: string;
54
+ source: ActivitySource;
55
+ isFrozen: boolean;
56
+ isGrace: boolean;
57
+ sessionId: string;
58
+ agentData?: AgentData;
59
+ notes?: string;
60
+ }
61
+
62
+ type MilestoneRarity = 'common' | 'rare' | 'epic' | 'legendary';
63
+ interface MilestoneDefinition {
64
+ id: string;
65
+ name: string;
66
+ description: string;
67
+ streakRequired: number;
68
+ icon: string;
69
+ rarity: MilestoneRarity;
70
+ freezeTokenReward: number;
71
+ }
72
+ interface EarnedBadge {
73
+ milestoneId: string;
74
+ earnedAt: string;
75
+ streakAtEarning: number;
76
+ }
77
+ interface BadgesRecord {
78
+ earned: EarnedBadge[];
79
+ }
80
+
81
+ interface LeaderboardEntry {
82
+ userId: string;
83
+ displayName: string;
84
+ currentStreak: number;
85
+ longestStreak: number;
86
+ freezesUsed: number;
87
+ badges: string[];
88
+ lastActiveDate: string;
89
+ rank?: number;
90
+ isYou?: boolean;
91
+ }
92
+ interface LeaderboardCache {
93
+ entries: LeaderboardEntry[];
94
+ fetchedAt: string;
95
+ source: string;
96
+ weekStart: string;
97
+ }
98
+
99
+ interface CheckInOptions {
100
+ source?: ActivitySource;
101
+ notes?: string;
102
+ autoFreeze?: boolean;
103
+ dryRun?: boolean;
104
+ }
105
+ interface CheckInResult {
106
+ action: StreakAction;
107
+ streak: number;
108
+ previousStreak?: number;
109
+ newMilestones: MilestoneDefinition[];
110
+ freezeTokensRemaining: number;
111
+ agentData?: AgentData;
112
+ }
113
+
114
+ declare function runCheckIn(options?: CheckInOptions & {
115
+ quiet?: boolean;
116
+ json?: boolean;
117
+ noInteractive?: boolean;
118
+ openDashboard?: boolean;
119
+ }): Promise<CheckInResult>;
120
+
121
+ declare function getStreak(): StreakRecord;
122
+
123
+ declare function getLeaderboard(): LeaderboardCache | null;
124
+
125
+ declare function loadProfile(): UserProfile | null;
126
+
127
+ declare function runExport(options?: {
128
+ format?: 'json' | 'csv';
129
+ }): Promise<void>;
130
+
131
+ export { type ActivityEntry, type ActivitySource, type AgentData, type BadgesRecord, type CelebrationLevel, type CheckInOptions, type CheckInResult, type EarnedBadge, type LeaderboardCache, type LeaderboardEntry, type MilestoneDefinition, type StreakAction, type StreakImpact, type StreakRecord, type StreakStatus, type UserProfile, runCheckIn as checkIn, runExport as exportData, getLeaderboard, loadProfile as getProfile, getStreak };