@asifkibria/claude-code-toolkit 1.0.0 → 1.0.2

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.
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * MCP Server: Claude Code Image Fixer
4
- * Fixes the "image dimensions exceed max allowed size" error that poisons conversation context.
3
+ * MCP Server: Claude Code Toolkit
4
+ * Fixes oversized content (images, PDFs, documents) that poison conversation context.
5
5
  * See: https://github.com/anthropics/claude-code/issues/2939
6
6
  */
7
7
  import { Server } from "@modelcontextprotocol/sdk/server/index.js";
@@ -23,9 +23,18 @@ function formatBytes(bytes) {
23
23
  function formatDate(date) {
24
24
  return date.toISOString().replace("T", " ").slice(0, 19);
25
25
  }
26
+ function formatContentType(type) {
27
+ switch (type) {
28
+ case "image": return "🖼️ Image";
29
+ case "pdf": return "📄 PDF";
30
+ case "document": return "📎 Document";
31
+ case "large_text": return "📝 Large text";
32
+ default: return "❓ Unknown";
33
+ }
34
+ }
26
35
  const server = new Server({
27
36
  name: "claude-code-toolkit",
28
- version: "1.0.0",
37
+ version: "1.0.1",
29
38
  }, {
30
39
  capabilities: {
31
40
  tools: {},
@@ -185,19 +194,20 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
185
194
  content: [
186
195
  {
187
196
  type: "text",
188
- text: `✅ Scanned ${files.length} file(s). No oversized images found.`,
197
+ text: `✅ Scanned ${files.length} file(s). No oversized content found.`,
189
198
  },
190
199
  ],
191
200
  };
192
201
  }
193
202
  let output = `🔍 **Scan Results**\n\n`;
194
- output += `Found **${totalIssues}** oversized image(s) in **${results.length}** file(s)\n\n`;
203
+ output += `Found **${totalIssues}** issue(s) in **${results.length}** file(s)\n\n`;
195
204
  for (const result of results) {
196
205
  const relPath = path.relative(PROJECTS_DIR, result.file);
197
206
  output += `### ${relPath}\n`;
198
207
  for (const issue of result.issues) {
199
208
  const sizeStr = formatBytes(issue.estimatedSize);
200
- output += `- Line ${issue.line}: ${issue.type} (~${sizeStr})\n`;
209
+ const typeStr = formatContentType(issue.contentType);
210
+ output += `- Line ${issue.line}: ${typeStr} (~${sizeStr})\n`;
201
211
  }
202
212
  output += "\n";
203
213
  }
@@ -242,11 +252,14 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
242
252
  };
243
253
  }
244
254
  let output = `🔧 **Fix Results**\n\n`;
245
- output += `Fixed **${totalFixed}** oversized image(s) in **${results.length}** file(s)\n\n`;
255
+ output += `Fixed **${totalFixed}** issue(s) in **${results.length}** file(s)\n\n`;
246
256
  for (const result of results) {
247
257
  const relPath = path.relative(PROJECTS_DIR, result.file);
248
258
  output += `### ${relPath}\n`;
249
- output += `- Fixed ${result.issues.length} issue(s)\n`;
259
+ for (const issue of result.issues) {
260
+ const typeStr = formatContentType(issue.contentType);
261
+ output += `- ${typeStr} removed\n`;
262
+ }
250
263
  if (result.backupPath) {
251
264
  output += `- Backup: \`${path.basename(result.backupPath)}\`\n`;
252
265
  }
@@ -299,13 +312,14 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
299
312
  const totalSize = allStats.reduce((sum, s) => sum + s.fileSizeBytes, 0);
300
313
  const totalMessages = allStats.reduce((sum, s) => sum + s.totalMessages, 0);
301
314
  const totalImages = allStats.reduce((sum, s) => sum + s.imageCount, 0);
302
- const totalProblematic = allStats.reduce((sum, s) => sum + s.problematicImages, 0);
315
+ const totalDocs = allStats.reduce((sum, s) => sum + s.documentCount, 0);
316
+ const totalProblematic = allStats.reduce((sum, s) => sum + s.problematicContent, 0);
303
317
  let output = `📊 **Conversation Statistics**\n\n`;
304
318
  output += `**Summary** (${allStats.length} conversations)\n`;
305
319
  output += `- Total size: ${formatBytes(totalSize)}\n`;
306
320
  output += `- Total messages: ${totalMessages.toLocaleString()}\n`;
307
- output += `- Total images: ${totalImages}\n`;
308
- output += `- Problematic images: ${totalProblematic}\n\n`;
321
+ output += `- Images: ${totalImages}, Documents: ${totalDocs}\n`;
322
+ output += `- Problematic content: ${totalProblematic}\n\n`;
309
323
  output += `**Top ${displayed.length} by ${sortBy}:**\n\n`;
310
324
  for (const stats of displayed) {
311
325
  const relPath = path.relative(PROJECTS_DIR, stats.file);
@@ -314,7 +328,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
314
328
  output += `- Size: ${formatBytes(stats.fileSizeBytes)}\n`;
315
329
  output += `- Messages: ${stats.totalMessages} (${stats.userMessages} user, ${stats.assistantMessages} assistant)\n`;
316
330
  output += `- Tool uses: ${stats.toolUses}\n`;
317
- output += `- Images: ${stats.imageCount}${stats.problematicImages > 0 ? ` (⚠️ ${stats.problematicImages} oversized)` : ""}\n`;
331
+ output += `- Media: ${stats.imageCount} images, ${stats.documentCount} docs${stats.problematicContent > 0 ? ` (⚠️ ${stats.problematicContent} oversized)` : ""}\n`;
318
332
  output += `- Modified: ${formatDate(stats.lastModified)}\n\n`;
319
333
  }
320
334
  return { content: [{ type: "text", text: output }] };
@@ -442,6 +456,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
442
456
  let totalSize = 0;
443
457
  let largestFile = { path: "", size: 0 };
444
458
  const filesWithIssues = [];
459
+ const issueTypes = {};
445
460
  for (const file of files) {
446
461
  try {
447
462
  const stat = fs.statSync(file);
@@ -453,6 +468,9 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
453
468
  if (scanResult.issues.length > 0) {
454
469
  issueCount += scanResult.issues.length;
455
470
  filesWithIssues.push(file);
471
+ for (const issue of scanResult.issues) {
472
+ issueTypes[issue.contentType] = (issueTypes[issue.contentType] || 0) + 1;
473
+ }
456
474
  }
457
475
  }
458
476
  catch {
@@ -463,7 +481,10 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
463
481
  const recommendations = [];
464
482
  if (issueCount > 0) {
465
483
  status = "⚠️ Issues Found";
466
- recommendations.push(`Run \`fix_image_issues\` to fix ${issueCount} oversized image(s)`);
484
+ const typeBreakdown = Object.entries(issueTypes)
485
+ .map(([type, count]) => `${count} ${type}`)
486
+ .join(", ");
487
+ recommendations.push(`Run \`fix_image_issues\` to fix ${issueCount} issue(s) (${typeBreakdown})`);
467
488
  }
468
489
  if (largestFile.size > 50 * 1024 * 1024) {
469
490
  recommendations.push(`Large conversation file detected (${formatBytes(largestFile.size)}). Consider using /compact`);
@@ -476,7 +497,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
476
497
  output += `- Conversation files: ${files.length}\n`;
477
498
  output += `- Total size: ${formatBytes(totalSize)}\n`;
478
499
  output += `- Backup files: ${backups.length}\n`;
479
- output += `- Oversized images: ${issueCount}\n`;
500
+ output += `- Problematic content: ${issueCount}\n`;
480
501
  output += `- Files with issues: ${filesWithIssues.length}\n\n`;
481
502
  if (largestFile.path) {
482
503
  output += `**Largest conversation**\n`;
@@ -508,7 +529,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
508
529
  async function main() {
509
530
  const transport = new StdioServerTransport();
510
531
  await server.connect(transport);
511
- console.error("Claude Code Toolkit MCP Server v1.0.0 running on stdio");
532
+ console.error("Claude Code Toolkit MCP Server v1.0.1 running on stdio");
512
533
  }
513
534
  main().catch(console.error);
514
535
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,16 @@
1
1
  export declare const MIN_PROBLEMATIC_BASE64_SIZE = 100000;
2
- export interface ImageIssue {
2
+ export declare const MIN_PROBLEMATIC_TEXT_SIZE = 500000;
3
+ export type IssueType = "image" | "document" | "pdf" | "large_text" | "unknown";
4
+ export interface ContentIssue {
3
5
  line: number;
4
6
  indices: (number | [number, number])[];
5
- type: "message_content" | "toolUseResult";
7
+ location: "message_content" | "toolUseResult";
8
+ contentType: IssueType;
6
9
  estimatedSize: number;
7
10
  }
8
11
  export interface ScanResult {
9
12
  file: string;
10
- issues: ImageIssue[];
13
+ issues: ContentIssue[];
11
14
  totalLines: number;
12
15
  scannedAt: Date;
13
16
  }
@@ -23,18 +26,22 @@ export interface ConversationStats {
23
26
  assistantMessages: number;
24
27
  toolUses: number;
25
28
  imageCount: number;
26
- problematicImages: number;
29
+ documentCount: number;
30
+ problematicContent: number;
27
31
  fileSizeBytes: number;
28
32
  lastModified: Date;
29
33
  }
30
34
  export declare function findAllJsonlFiles(dir: string): string[];
31
35
  export declare function findBackupFiles(dir: string): string[];
32
- export declare function checkContentForImages(content: unknown): {
36
+ export declare function checkContentForIssues(content: unknown): {
33
37
  hasProblems: boolean;
34
38
  indices: (number | [number, number])[];
35
39
  totalSize: number;
40
+ contentType: IssueType;
36
41
  };
37
- export declare function fixImageInContent(content: unknown[], indices: (number | [number, number])[]): unknown[];
42
+ export declare const checkContentForImages: typeof checkContentForIssues;
43
+ export declare function fixContentInMessage(content: unknown[], indices: (number | [number, number])[], contentType?: IssueType): unknown[];
44
+ export declare const fixImageInContent: typeof fixContentInMessage;
38
45
  export declare function scanFile(filePath: string): ScanResult;
39
46
  export declare function fixFile(filePath: string, createBackup?: boolean): FixResult;
40
47
  export declare function getConversationStats(filePath: string): ConversationStats;
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../src/lib/scanner.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,2BAA2B,SAAS,CAAC;AAElD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;IACvC,IAAI,EAAE,iBAAiB,GAAG,eAAe,CAAC;IAC1C,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,SAAU,SAAQ,UAAU;IAC3C,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,IAAI,CAAC;CACpB;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAyBvD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAqBrD;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,GACf;IAAE,WAAW,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAqDrF;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,EAAE,EAClB,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,GACrC,OAAO,EAAE,CAsBX;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CA8DrD;AAED,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,UAAO,GAAG,SAAS,CAiExE;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CA6FxE;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAkBhH;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAqB5G"}
1
+ {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../src/lib/scanner.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,2BAA2B,SAAS,CAAC;AAClD,eAAO,MAAM,yBAAyB,SAAS,CAAC;AAEhD,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,KAAK,GAAG,YAAY,GAAG,SAAS,CAAC;AAEhF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;IACvC,QAAQ,EAAE,iBAAiB,GAAG,eAAe,CAAC;IAC9C,WAAW,EAAE,SAAS,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,SAAU,SAAQ,UAAU;IAC3C,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,IAAI,CAAC;CACpB;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAyBvD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAqBrD;AAqED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,GACf;IAAE,WAAW,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,SAAS,CAAA;CAAE,CAiD7G;AAGD,eAAO,MAAM,qBAAqB,8BAAwB,CAAC;AAiB3D,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAAE,EAClB,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,EACtC,WAAW,GAAE,SAAqB,GACjC,OAAO,EAAE,CAuBX;AAGD,eAAO,MAAM,iBAAiB,4BAAsB,CAAC;AAErD,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAgErD;AAED,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,UAAO,GAAG,SAAS,CAyExE;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAkGxE;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAkBhH;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAqB5G"}
@@ -1,6 +1,7 @@
1
1
  import * as fs from "fs";
2
2
  import * as path from "path";
3
- export const MIN_PROBLEMATIC_BASE64_SIZE = 100000;
3
+ export const MIN_PROBLEMATIC_BASE64_SIZE = 100000; // ~100KB base64 ≈ 75KB file
4
+ export const MIN_PROBLEMATIC_TEXT_SIZE = 500000; // ~500KB for large text content
4
5
  export function findAllJsonlFiles(dir) {
5
6
  const files = [];
6
7
  function walkDir(currentDir) {
@@ -47,59 +48,127 @@ export function findBackupFiles(dir) {
47
48
  walkDir(dir);
48
49
  return backups;
49
50
  }
50
- export function checkContentForImages(content) {
51
+ function detectContentType(item) {
52
+ const type = item.type;
53
+ if (type === "image")
54
+ return "image";
55
+ if (type === "document") {
56
+ const source = item.source;
57
+ const mediaType = source?.media_type;
58
+ if (mediaType?.includes("pdf"))
59
+ return "pdf";
60
+ return "document";
61
+ }
62
+ if (type === "text") {
63
+ const text = item.text;
64
+ if (text && text.length > MIN_PROBLEMATIC_TEXT_SIZE)
65
+ return "large_text";
66
+ }
67
+ return "unknown";
68
+ }
69
+ function getContentSize(item) {
70
+ const type = item.type;
71
+ if (type === "image" || type === "document") {
72
+ const source = item.source;
73
+ if (source?.type === "base64") {
74
+ const data = source.data;
75
+ return data?.length || 0;
76
+ }
77
+ }
78
+ if (type === "text") {
79
+ const text = item.text;
80
+ return text?.length || 0;
81
+ }
82
+ return 0;
83
+ }
84
+ function isProblematicContent(item) {
85
+ const type = item.type;
86
+ // Check images
87
+ if (type === "image") {
88
+ const source = item.source;
89
+ if (source?.type === "base64") {
90
+ const data = source.data;
91
+ return (data?.length || 0) > MIN_PROBLEMATIC_BASE64_SIZE;
92
+ }
93
+ }
94
+ // Check documents (PDFs, etc.)
95
+ if (type === "document") {
96
+ const source = item.source;
97
+ if (source?.type === "base64") {
98
+ const data = source.data;
99
+ return (data?.length || 0) > MIN_PROBLEMATIC_BASE64_SIZE;
100
+ }
101
+ }
102
+ // Check large text content
103
+ if (type === "text") {
104
+ const text = item.text;
105
+ return (text?.length || 0) > MIN_PROBLEMATIC_TEXT_SIZE;
106
+ }
107
+ return false;
108
+ }
109
+ export function checkContentForIssues(content) {
51
110
  if (!Array.isArray(content)) {
52
- return { hasProblems: false, indices: [], totalSize: 0 };
111
+ return { hasProblems: false, indices: [], totalSize: 0, contentType: "unknown" };
53
112
  }
54
113
  const problematicIndices = [];
55
114
  let totalSize = 0;
115
+ let detectedType = "unknown";
56
116
  for (let i = 0; i < content.length; i++) {
57
117
  const item = content[i];
58
118
  if (typeof item !== "object" || item === null)
59
119
  continue;
60
120
  const itemObj = item;
61
- if (itemObj.type === "image") {
62
- const source = itemObj.source;
63
- if (source?.type === "base64") {
64
- const base64Data = source.data;
65
- if (base64Data) {
66
- const size = base64Data.length;
67
- totalSize += size;
68
- if (size > MIN_PROBLEMATIC_BASE64_SIZE) {
69
- problematicIndices.push(i);
70
- }
71
- }
72
- }
121
+ const size = getContentSize(itemObj);
122
+ totalSize += size;
123
+ if (isProblematicContent(itemObj)) {
124
+ problematicIndices.push(i);
125
+ detectedType = detectContentType(itemObj);
73
126
  }
74
- else if (itemObj.type === "tool_result") {
127
+ // Check nested content in tool_result
128
+ if (itemObj.type === "tool_result") {
75
129
  const innerContent = itemObj.content;
76
130
  if (Array.isArray(innerContent)) {
77
131
  for (let j = 0; j < innerContent.length; j++) {
78
132
  const innerItem = innerContent[j];
79
133
  if (typeof innerItem === "object" && innerItem !== null) {
80
134
  const innerObj = innerItem;
81
- if (innerObj.type === "image") {
82
- const source = innerObj.source;
83
- if (source?.type === "base64") {
84
- const base64Data = source.data;
85
- if (base64Data) {
86
- const size = base64Data.length;
87
- totalSize += size;
88
- if (size > MIN_PROBLEMATIC_BASE64_SIZE) {
89
- problematicIndices.push([i, j]);
90
- }
91
- }
92
- }
135
+ const innerSize = getContentSize(innerObj);
136
+ totalSize += innerSize;
137
+ if (isProblematicContent(innerObj)) {
138
+ problematicIndices.push([i, j]);
139
+ detectedType = detectContentType(innerObj);
93
140
  }
94
141
  }
95
142
  }
96
143
  }
97
144
  }
98
145
  }
99
- return { hasProblems: problematicIndices.length > 0, indices: problematicIndices, totalSize };
146
+ return {
147
+ hasProblems: problematicIndices.length > 0,
148
+ indices: problematicIndices,
149
+ totalSize,
150
+ contentType: detectedType
151
+ };
152
+ }
153
+ // Keep old function name for backwards compatibility
154
+ export const checkContentForImages = checkContentForIssues;
155
+ function getReplacementText(contentType) {
156
+ switch (contentType) {
157
+ case "image":
158
+ return "[Image removed - exceeded size limit]";
159
+ case "pdf":
160
+ return "[PDF removed - exceeded size limit]";
161
+ case "document":
162
+ return "[Document removed - exceeded size limit]";
163
+ case "large_text":
164
+ return "[Large text content removed - exceeded size limit]";
165
+ default:
166
+ return "[Content removed - exceeded size limit]";
167
+ }
100
168
  }
101
- export function fixImageInContent(content, indices) {
169
+ export function fixContentInMessage(content, indices, contentType = "unknown") {
102
170
  const result = JSON.parse(JSON.stringify(content));
171
+ const replacementText = getReplacementText(contentType);
103
172
  for (const idx of indices) {
104
173
  if (Array.isArray(idx)) {
105
174
  const [i, j] = idx;
@@ -107,19 +176,21 @@ export function fixImageInContent(content, indices) {
107
176
  if (Array.isArray(item.content)) {
108
177
  item.content[j] = {
109
178
  type: "text",
110
- text: "[Image removed - exceeded size limit]",
179
+ text: replacementText,
111
180
  };
112
181
  }
113
182
  }
114
183
  else {
115
184
  result[idx] = {
116
185
  type: "text",
117
- text: "[Image removed - exceeded size limit]",
186
+ text: replacementText,
118
187
  };
119
188
  }
120
189
  }
121
190
  return result;
122
191
  }
192
+ // Keep old function name for backwards compatibility
193
+ export const fixImageInContent = fixContentInMessage;
123
194
  export function scanFile(filePath) {
124
195
  const issues = [];
125
196
  let content;
@@ -144,12 +215,13 @@ export function scanFile(filePath) {
144
215
  const message = data.message;
145
216
  const messageContent = message?.content;
146
217
  if (messageContent) {
147
- const { hasProblems, indices, totalSize } = checkContentForImages(messageContent);
218
+ const { hasProblems, indices, totalSize, contentType } = checkContentForIssues(messageContent);
148
219
  if (hasProblems) {
149
220
  issues.push({
150
221
  line: lineNum + 1,
151
222
  indices,
152
- type: "message_content",
223
+ location: "message_content",
224
+ contentType,
153
225
  estimatedSize: totalSize,
154
226
  });
155
227
  }
@@ -157,14 +229,15 @@ export function scanFile(filePath) {
157
229
  if (data.toolUseResult) {
158
230
  const toolResult = data.toolUseResult;
159
231
  const resultContent = toolResult.content;
160
- const { hasProblems, indices, totalSize } = checkContentForImages(resultContent);
232
+ const { hasProblems, indices, totalSize, contentType } = checkContentForIssues(resultContent);
161
233
  if (hasProblems) {
162
234
  const existingIssue = issues.find((i) => i.line === lineNum + 1);
163
235
  if (!existingIssue) {
164
236
  issues.push({
165
237
  line: lineNum + 1,
166
238
  indices,
167
- type: "toolUseResult",
239
+ location: "toolUseResult",
240
+ contentType,
168
241
  estimatedSize: totalSize,
169
242
  });
170
243
  }
@@ -209,18 +282,18 @@ export function fixFile(filePath, createBackup = true) {
209
282
  continue;
210
283
  try {
211
284
  const data = JSON.parse(line);
212
- if (issue.type === "message_content") {
285
+ if (issue.location === "message_content") {
213
286
  const message = data.message;
214
287
  if (message?.content) {
215
- message.content = fixImageInContent(message.content, issue.indices);
288
+ message.content = fixContentInMessage(message.content, issue.indices, issue.contentType);
216
289
  }
217
290
  }
218
- if (issue.type === "toolUseResult" || data.toolUseResult) {
291
+ if (issue.location === "toolUseResult" || data.toolUseResult) {
219
292
  const toolResult = data.toolUseResult;
220
293
  if (toolResult?.content) {
221
- const { indices } = checkContentForImages(toolResult.content);
294
+ const { indices, contentType } = checkContentForIssues(toolResult.content);
222
295
  if (indices.length > 0) {
223
- toolResult.content = fixImageInContent(toolResult.content, indices);
296
+ toolResult.content = fixContentInMessage(toolResult.content, indices, contentType);
224
297
  }
225
298
  }
226
299
  }
@@ -246,7 +319,8 @@ export function getConversationStats(filePath) {
246
319
  assistantMessages: 0,
247
320
  toolUses: 0,
248
321
  imageCount: 0,
249
- problematicImages: 0,
322
+ documentCount: 0,
323
+ problematicContent: 0,
250
324
  fileSizeBytes: 0,
251
325
  lastModified: new Date(),
252
326
  };
@@ -293,12 +367,14 @@ export function getConversationStats(filePath) {
293
367
  stats.toolUses++;
294
368
  if (itemObj.type === "image") {
295
369
  stats.imageCount++;
296
- const source = itemObj.source;
297
- if (source?.type === "base64") {
298
- const data = source.data;
299
- if (data && data.length > MIN_PROBLEMATIC_BASE64_SIZE) {
300
- stats.problematicImages++;
301
- }
370
+ if (isProblematicContent(itemObj)) {
371
+ stats.problematicContent++;
372
+ }
373
+ }
374
+ if (itemObj.type === "document") {
375
+ stats.documentCount++;
376
+ if (isProblematicContent(itemObj)) {
377
+ stats.problematicContent++;
302
378
  }
303
379
  }
304
380
  }
@@ -314,12 +390,14 @@ export function getConversationStats(filePath) {
314
390
  const itemObj = item;
315
391
  if (itemObj.type === "image") {
316
392
  stats.imageCount++;
317
- const source = itemObj.source;
318
- if (source?.type === "base64") {
319
- const data = source.data;
320
- if (data && data.length > MIN_PROBLEMATIC_BASE64_SIZE) {
321
- stats.problematicImages++;
322
- }
393
+ if (isProblematicContent(itemObj)) {
394
+ stats.problematicContent++;
395
+ }
396
+ }
397
+ if (itemObj.type === "document") {
398
+ stats.documentCount++;
399
+ if (isProblematicContent(itemObj)) {
400
+ stats.problematicContent++;
323
401
  }
324
402
  }
325
403
  }