@asifkibria/claude-code-toolkit 1.2.0 → 1.3.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 @@
1
+ {"version":3,"file":"alerts.d.ts","sourceRoot":"","sources":["../../src/lib/alerts.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,GAAG,WAAW,CAAC;AAE1F,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAaD,wBAAgB,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAqKvF;AAuBD,wBAAgB,WAAW,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,EAAE,CAuDvF;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CA6B/D;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CA2B/D"}
@@ -0,0 +1,296 @@
1
+ import * as fs from "fs";
2
+ import * as path from "path";
3
+ import * as os from "os";
4
+ import { findAllJsonlFiles } from "./scanner.js";
5
+ const CLAUDE_DIR = path.join(os.homedir(), ".claude");
6
+ const PROJECTS_DIR = path.join(CLAUDE_DIR, "projects");
7
+ const DEFAULT_QUOTAS = {
8
+ maxStorageMB: 500,
9
+ maxSessions: 100,
10
+ maxRetentionDays: 90,
11
+ maxSessionSizeMB: 50,
12
+ };
13
+ function generateAlertId() {
14
+ return Date.now().toString(36) + Math.random().toString(36).slice(2, 6);
15
+ }
16
+ export function checkAlerts(claudeDir, quotaConfig) {
17
+ const projectsDir = path.join(claudeDir || CLAUDE_DIR, "projects");
18
+ const quotas = { ...DEFAULT_QUOTAS, ...quotaConfig };
19
+ const alerts = [];
20
+ if (!fs.existsSync(projectsDir)) {
21
+ return { alerts: [], critical: 0, warning: 0, info: 0, generatedAt: new Date() };
22
+ }
23
+ const files = findAllJsonlFiles(projectsDir);
24
+ let totalSize = 0;
25
+ let largestSession = { path: "", size: 0 };
26
+ let oldestSession = null;
27
+ let corruptedSessions = 0;
28
+ let emptySessions = 0;
29
+ for (const file of files) {
30
+ try {
31
+ const stat = fs.statSync(file);
32
+ totalSize += stat.size;
33
+ if (stat.size > largestSession.size) {
34
+ largestSession = { path: file, size: stat.size };
35
+ }
36
+ if (!oldestSession || stat.mtime < oldestSession) {
37
+ oldestSession = stat.mtime;
38
+ }
39
+ if (stat.size === 0) {
40
+ emptySessions++;
41
+ continue;
42
+ }
43
+ const content = fs.readFileSync(file, "utf-8");
44
+ const firstLine = content.split("\n")[0];
45
+ try {
46
+ JSON.parse(firstLine);
47
+ }
48
+ catch {
49
+ corruptedSessions++;
50
+ }
51
+ }
52
+ catch {
53
+ continue;
54
+ }
55
+ }
56
+ const totalSizeMB = totalSize / (1024 * 1024);
57
+ if (quotas.maxStorageMB && totalSizeMB > quotas.maxStorageMB) {
58
+ alerts.push({
59
+ id: generateAlertId(),
60
+ severity: "critical",
61
+ category: "disk",
62
+ title: "Storage quota exceeded",
63
+ message: `Using ${totalSizeMB.toFixed(1)} MB of ${quotas.maxStorageMB} MB quota.`,
64
+ timestamp: new Date(),
65
+ actionable: true,
66
+ action: "Run 'cct archive' or 'cct retention' to free space.",
67
+ });
68
+ }
69
+ else if (quotas.maxStorageMB && totalSizeMB > quotas.maxStorageMB * 0.8) {
70
+ alerts.push({
71
+ id: generateAlertId(),
72
+ severity: "warning",
73
+ category: "disk",
74
+ title: "Storage approaching limit",
75
+ message: `Using ${totalSizeMB.toFixed(1)} MB of ${quotas.maxStorageMB} MB (${((totalSizeMB / quotas.maxStorageMB) * 100).toFixed(0)}%).`,
76
+ timestamp: new Date(),
77
+ actionable: true,
78
+ action: "Consider running 'cct archive' to free space.",
79
+ });
80
+ }
81
+ if (quotas.maxSessions && files.length > quotas.maxSessions) {
82
+ alerts.push({
83
+ id: generateAlertId(),
84
+ severity: "warning",
85
+ category: "session",
86
+ title: "Session count exceeds limit",
87
+ message: `${files.length} sessions (limit: ${quotas.maxSessions}).`,
88
+ timestamp: new Date(),
89
+ actionable: true,
90
+ action: "Run 'cct retention' to clean old sessions.",
91
+ });
92
+ }
93
+ const largestMB = largestSession.size / (1024 * 1024);
94
+ if (quotas.maxSessionSizeMB && largestMB > quotas.maxSessionSizeMB) {
95
+ alerts.push({
96
+ id: generateAlertId(),
97
+ severity: "warning",
98
+ category: "performance",
99
+ title: "Oversized session detected",
100
+ message: `${path.basename(largestSession.path)} is ${largestMB.toFixed(1)} MB (limit: ${quotas.maxSessionSizeMB} MB).`,
101
+ timestamp: new Date(),
102
+ actionable: true,
103
+ action: "Run 'cct scan' to check for oversized content.",
104
+ });
105
+ }
106
+ if (oldestSession) {
107
+ const ageInDays = (Date.now() - oldestSession.getTime()) / (24 * 60 * 60 * 1000);
108
+ if (quotas.maxRetentionDays && ageInDays > quotas.maxRetentionDays) {
109
+ alerts.push({
110
+ id: generateAlertId(),
111
+ severity: "info",
112
+ category: "retention",
113
+ title: "Old sessions found",
114
+ message: `Sessions up to ${Math.round(ageInDays)} days old (retention limit: ${quotas.maxRetentionDays} days).`,
115
+ timestamp: new Date(),
116
+ actionable: true,
117
+ action: `Run 'cct retention --days ${quotas.maxRetentionDays}' to enforce policy.`,
118
+ });
119
+ }
120
+ }
121
+ if (corruptedSessions > 0) {
122
+ alerts.push({
123
+ id: generateAlertId(),
124
+ severity: "warning",
125
+ category: "session",
126
+ title: "Corrupted sessions detected",
127
+ message: `${corruptedSessions} session(s) appear corrupted.`,
128
+ timestamp: new Date(),
129
+ actionable: true,
130
+ action: "Run 'cct sessions' to identify, then 'cct recover <id> --repair'.",
131
+ });
132
+ }
133
+ if (emptySessions > 3) {
134
+ alerts.push({
135
+ id: generateAlertId(),
136
+ severity: "info",
137
+ category: "session",
138
+ title: "Empty sessions found",
139
+ message: `${emptySessions} empty session files.`,
140
+ timestamp: new Date(),
141
+ actionable: true,
142
+ action: "Run 'cct clean' to remove empty files.",
143
+ });
144
+ }
145
+ const claudeDirStat = analyzeClaudeDirSize(claudeDir || CLAUDE_DIR);
146
+ if (claudeDirStat.totalMB > 1000) {
147
+ alerts.push({
148
+ id: generateAlertId(),
149
+ severity: "critical",
150
+ category: "disk",
151
+ title: ".claude directory is very large",
152
+ message: `${claudeDirStat.totalMB.toFixed(0)} MB total. Check for debug logs and old snapshots.`,
153
+ timestamp: new Date(),
154
+ actionable: true,
155
+ action: "Run 'cct clean --dry-run' to preview cleanup.",
156
+ });
157
+ }
158
+ return {
159
+ alerts: alerts.sort((a, b) => {
160
+ const severityOrder = { critical: 0, warning: 1, info: 2 };
161
+ return severityOrder[a.severity] - severityOrder[b.severity];
162
+ }),
163
+ critical: alerts.filter(a => a.severity === "critical").length,
164
+ warning: alerts.filter(a => a.severity === "warning").length,
165
+ info: alerts.filter(a => a.severity === "info").length,
166
+ generatedAt: new Date(),
167
+ };
168
+ }
169
+ function analyzeClaudeDirSize(claudeDir) {
170
+ let totalSize = 0;
171
+ function walk(dir) {
172
+ try {
173
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
174
+ for (const entry of entries) {
175
+ const full = path.join(dir, entry.name);
176
+ if (entry.isDirectory()) {
177
+ walk(full);
178
+ }
179
+ else if (entry.isFile()) {
180
+ try {
181
+ totalSize += fs.statSync(full).size;
182
+ }
183
+ catch { /* skip */ }
184
+ }
185
+ }
186
+ }
187
+ catch { /* skip */ }
188
+ }
189
+ walk(claudeDir);
190
+ return { totalMB: totalSize / (1024 * 1024) };
191
+ }
192
+ export function checkQuotas(quotaConfig, claudeDir) {
193
+ const projectsDir = path.join(claudeDir || CLAUDE_DIR, "projects");
194
+ const quotas = { ...DEFAULT_QUOTAS, ...quotaConfig };
195
+ const results = [];
196
+ if (!fs.existsSync(projectsDir))
197
+ return results;
198
+ const files = findAllJsonlFiles(projectsDir);
199
+ let totalSize = 0;
200
+ let oldestDate = null;
201
+ for (const file of files) {
202
+ try {
203
+ const stat = fs.statSync(file);
204
+ totalSize += stat.size;
205
+ if (!oldestDate || stat.mtime < oldestDate)
206
+ oldestDate = stat.mtime;
207
+ }
208
+ catch {
209
+ continue;
210
+ }
211
+ }
212
+ const totalMB = totalSize / (1024 * 1024);
213
+ if (quotas.maxStorageMB) {
214
+ results.push({
215
+ name: "Storage",
216
+ current: Math.round(totalMB * 10) / 10,
217
+ limit: quotas.maxStorageMB,
218
+ unit: "MB",
219
+ exceeded: totalMB > quotas.maxStorageMB,
220
+ percentage: Math.round((totalMB / quotas.maxStorageMB) * 100),
221
+ });
222
+ }
223
+ if (quotas.maxSessions) {
224
+ results.push({
225
+ name: "Sessions",
226
+ current: files.length,
227
+ limit: quotas.maxSessions,
228
+ unit: "sessions",
229
+ exceeded: files.length > quotas.maxSessions,
230
+ percentage: Math.round((files.length / quotas.maxSessions) * 100),
231
+ });
232
+ }
233
+ if (quotas.maxRetentionDays && oldestDate) {
234
+ const ageInDays = Math.round((Date.now() - oldestDate.getTime()) / (24 * 60 * 60 * 1000));
235
+ results.push({
236
+ name: "Retention",
237
+ current: ageInDays,
238
+ limit: quotas.maxRetentionDays,
239
+ unit: "days",
240
+ exceeded: ageInDays > quotas.maxRetentionDays,
241
+ percentage: Math.round((ageInDays / quotas.maxRetentionDays) * 100),
242
+ });
243
+ }
244
+ return results;
245
+ }
246
+ export function formatAlertsReport(report) {
247
+ const lines = [];
248
+ lines.push("Alerts & Notifications");
249
+ lines.push("═".repeat(50));
250
+ lines.push("");
251
+ if (report.alerts.length === 0) {
252
+ lines.push("\x1b[32m✓ No alerts. Everything looks good.\x1b[0m\n");
253
+ return lines.join("\n");
254
+ }
255
+ lines.push(`Found ${report.alerts.length} alert(s):`);
256
+ if (report.critical > 0)
257
+ lines.push(` \x1b[31m${report.critical} critical\x1b[0m`);
258
+ if (report.warning > 0)
259
+ lines.push(` \x1b[33m${report.warning} warning\x1b[0m`);
260
+ if (report.info > 0)
261
+ lines.push(` \x1b[36m${report.info} info\x1b[0m`);
262
+ lines.push("");
263
+ for (const alert of report.alerts) {
264
+ const icon = alert.severity === "critical" ? "\x1b[31m✗\x1b[0m" : alert.severity === "warning" ? "\x1b[33m⚠\x1b[0m" : "\x1b[36mℹ\x1b[0m";
265
+ lines.push(`${icon} ${alert.title}`);
266
+ lines.push(` ${alert.message}`);
267
+ if (alert.action) {
268
+ lines.push(` → ${alert.action}`);
269
+ }
270
+ lines.push("");
271
+ }
272
+ return lines.join("\n");
273
+ }
274
+ export function formatQuotasReport(quotas) {
275
+ const lines = [];
276
+ lines.push("Usage Quotas");
277
+ lines.push("═".repeat(50));
278
+ lines.push("");
279
+ if (quotas.length === 0) {
280
+ lines.push("No quotas configured.\n");
281
+ return lines.join("\n");
282
+ }
283
+ for (const quota of quotas) {
284
+ const barLen = 20;
285
+ const filled = Math.min(barLen, Math.round((quota.percentage / 100) * barLen));
286
+ const bar = "█".repeat(filled) + "░".repeat(barLen - filled);
287
+ const color = quota.exceeded ? "\x1b[31m" : quota.percentage > 80 ? "\x1b[33m" : "\x1b[32m";
288
+ const status = quota.exceeded ? " EXCEEDED" : "";
289
+ lines.push(`${quota.name}:`);
290
+ lines.push(` ${color}[${bar}] ${quota.percentage}%${status}\x1b[0m`);
291
+ lines.push(` ${quota.current} / ${quota.limit} ${quota.unit}`);
292
+ lines.push("");
293
+ }
294
+ return lines.join("\n");
295
+ }
296
+ //# sourceMappingURL=alerts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alerts.js","sourceRoot":"","sources":["../../src/lib/alerts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-ui.d.ts","sourceRoot":"","sources":["../../src/lib/dashboard-ui.ts"],"names":[],"mappings":"AAAA,wBAAgB,qBAAqB,IAAI,MAAM,CAyhE9C"}
1
+ {"version":3,"file":"dashboard-ui.d.ts","sourceRoot":"","sources":["../../src/lib/dashboard-ui.ts"],"names":[],"mappings":"AAAA,wBAAgB,qBAAqB,IAAI,MAAM,CAytE9C"}