file-organizer-mcp 3.1.4 → 3.1.5

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.
Files changed (165) hide show
  1. package/ARCHITECTURE.md +43 -24
  2. package/CHANGELOG.md +34 -0
  3. package/README.md +36 -4
  4. package/dist/config.d.ts +2 -0
  5. package/dist/config.d.ts.map +1 -1
  6. package/dist/config.js +44 -19
  7. package/dist/config.js.map +1 -1
  8. package/dist/constants.d.ts.map +1 -1
  9. package/dist/constants.js +14 -1
  10. package/dist/constants.js.map +1 -1
  11. package/dist/errors.d.ts.map +1 -1
  12. package/dist/errors.js +1 -1
  13. package/dist/errors.js.map +1 -1
  14. package/dist/index.js +106 -100
  15. package/dist/index.js.map +1 -1
  16. package/dist/schemas/common.schemas.js.map +1 -1
  17. package/dist/schemas/organize.schemas.js.map +1 -1
  18. package/dist/schemas/rename.schemas.d.ts.map +1 -1
  19. package/dist/schemas/rename.schemas.js +9 -1
  20. package/dist/schemas/rename.schemas.js.map +1 -1
  21. package/dist/schemas/scan.schemas.js.map +1 -1
  22. package/dist/schemas/security.schemas.d.ts.map +1 -1
  23. package/dist/schemas/security.schemas.js.map +1 -1
  24. package/dist/server.js +16 -5
  25. package/dist/server.js.map +1 -1
  26. package/dist/services/auto-organize.service.d.ts +41 -4
  27. package/dist/services/auto-organize.service.d.ts.map +1 -1
  28. package/dist/services/auto-organize.service.js +174 -10
  29. package/dist/services/auto-organize.service.js.map +1 -1
  30. package/dist/services/categorizer.service.d.ts.map +1 -1
  31. package/dist/services/categorizer.service.js +11 -6
  32. package/dist/services/categorizer.service.js.map +1 -1
  33. package/dist/services/duplicate-finder.service.d.ts.map +1 -1
  34. package/dist/services/duplicate-finder.service.js +48 -48
  35. package/dist/services/duplicate-finder.service.js.map +1 -1
  36. package/dist/services/file-scanner.service.d.ts +23 -0
  37. package/dist/services/file-scanner.service.d.ts.map +1 -1
  38. package/dist/services/file-scanner.service.js +56 -14
  39. package/dist/services/file-scanner.service.js.map +1 -1
  40. package/dist/services/hash-calculator.service.d.ts.map +1 -1
  41. package/dist/services/hash-calculator.service.js +8 -3
  42. package/dist/services/hash-calculator.service.js.map +1 -1
  43. package/dist/services/index.d.ts +2 -1
  44. package/dist/services/index.d.ts.map +1 -1
  45. package/dist/services/index.js +2 -1
  46. package/dist/services/index.js.map +1 -1
  47. package/dist/services/metadata.service.d.ts.map +1 -1
  48. package/dist/services/metadata.service.js +3 -3
  49. package/dist/services/metadata.service.js.map +1 -1
  50. package/dist/services/organizer.service.d.ts +16 -0
  51. package/dist/services/organizer.service.d.ts.map +1 -1
  52. package/dist/services/organizer.service.js +70 -39
  53. package/dist/services/organizer.service.js.map +1 -1
  54. package/dist/services/path-validator.service.d.ts +14 -0
  55. package/dist/services/path-validator.service.d.ts.map +1 -1
  56. package/dist/services/path-validator.service.js +25 -27
  57. package/dist/services/path-validator.service.js.map +1 -1
  58. package/dist/services/renaming.service.d.ts.map +1 -1
  59. package/dist/services/renaming.service.js +23 -17
  60. package/dist/services/renaming.service.js.map +1 -1
  61. package/dist/services/rollback.service.d.ts +6 -0
  62. package/dist/services/rollback.service.d.ts.map +1 -1
  63. package/dist/services/rollback.service.js +98 -31
  64. package/dist/services/rollback.service.js.map +1 -1
  65. package/dist/services/scheduler-state.service.d.ts +130 -0
  66. package/dist/services/scheduler-state.service.d.ts.map +1 -0
  67. package/dist/services/scheduler-state.service.js +315 -0
  68. package/dist/services/scheduler-state.service.js.map +1 -0
  69. package/dist/services/security/rate-limiter.service.d.ts.map +1 -1
  70. package/dist/services/security/rate-limiter.service.js +2 -2
  71. package/dist/services/security/rate-limiter.service.js.map +1 -1
  72. package/dist/services/streaming-scanner.service.d.ts.map +1 -1
  73. package/dist/services/streaming-scanner.service.js +4 -4
  74. package/dist/services/streaming-scanner.service.js.map +1 -1
  75. package/dist/tests/test-dryrun.js +3 -3
  76. package/dist/tests/test-dryrun.js.map +1 -1
  77. package/dist/tests/test-duplicate-scoring.js +6 -6
  78. package/dist/tests/test-duplicate-scoring.js.map +1 -1
  79. package/dist/tests/test-edge-cases.js +2 -2
  80. package/dist/tests/test-edge-cases.js.map +1 -1
  81. package/dist/tests/test-filename-conflict.js +8 -6
  82. package/dist/tests/test-filename-conflict.js.map +1 -1
  83. package/dist/tests/test-overwrite-bug.js +6 -4
  84. package/dist/tests/test-overwrite-bug.js.map +1 -1
  85. package/dist/tests/test-pagination.js.map +1 -1
  86. package/dist/tests/test-phase1.js.map +1 -1
  87. package/dist/tests/test-phase3-advanced.js +3 -3
  88. package/dist/tests/test-phase3-advanced.js.map +1 -1
  89. package/dist/tests/test-phase3.js +11 -8
  90. package/dist/tests/test-phase3.js.map +1 -1
  91. package/dist/tests/test-rollback-fix.js +11 -7
  92. package/dist/tests/test-rollback-fix.js.map +1 -1
  93. package/dist/tests/test-security-enhanced.js.map +1 -1
  94. package/dist/tests/test-security.js +2 -1
  95. package/dist/tests/test-security.js.map +1 -1
  96. package/dist/tools/duplicate-management.d.ts.map +1 -1
  97. package/dist/tools/duplicate-management.js +54 -35
  98. package/dist/tools/duplicate-management.js.map +1 -1
  99. package/dist/tools/file-analysis.d.ts.map +1 -1
  100. package/dist/tools/file-analysis.js +10 -4
  101. package/dist/tools/file-analysis.js.map +1 -1
  102. package/dist/tools/file-categorization.d.ts.map +1 -1
  103. package/dist/tools/file-categorization.js +14 -5
  104. package/dist/tools/file-categorization.js.map +1 -1
  105. package/dist/tools/file-duplicates.d.ts.map +1 -1
  106. package/dist/tools/file-duplicates.js +10 -8
  107. package/dist/tools/file-duplicates.js.map +1 -1
  108. package/dist/tools/file-listing.d.ts.map +1 -1
  109. package/dist/tools/file-listing.js +9 -7
  110. package/dist/tools/file-listing.js.map +1 -1
  111. package/dist/tools/file-management.d.ts.map +1 -1
  112. package/dist/tools/file-management.js +22 -16
  113. package/dist/tools/file-management.js.map +1 -1
  114. package/dist/tools/file-organization.d.ts.map +1 -1
  115. package/dist/tools/file-organization.js +22 -15
  116. package/dist/tools/file-organization.js.map +1 -1
  117. package/dist/tools/file-renaming.d.ts.map +1 -1
  118. package/dist/tools/file-renaming.js +21 -12
  119. package/dist/tools/file-renaming.js.map +1 -1
  120. package/dist/tools/file-scanning.d.ts.map +1 -1
  121. package/dist/tools/file-scanning.js +20 -10
  122. package/dist/tools/file-scanning.js.map +1 -1
  123. package/dist/tools/index.d.ts +6 -6
  124. package/dist/tools/index.d.ts.map +1 -1
  125. package/dist/tools/index.js +8 -8
  126. package/dist/tools/index.js.map +1 -1
  127. package/dist/tools/metadata-inspection.d.ts.map +1 -1
  128. package/dist/tools/metadata-inspection.js +4 -2
  129. package/dist/tools/metadata-inspection.js.map +1 -1
  130. package/dist/tools/organization-preview.d.ts.map +1 -1
  131. package/dist/tools/organization-preview.js +25 -18
  132. package/dist/tools/organization-preview.js.map +1 -1
  133. package/dist/tools/rollback.d.ts.map +1 -1
  134. package/dist/tools/rollback.js +17 -12
  135. package/dist/tools/rollback.js.map +1 -1
  136. package/dist/tools/watch.tool.d.ts.map +1 -1
  137. package/dist/tools/watch.tool.js +62 -49
  138. package/dist/tools/watch.tool.js.map +1 -1
  139. package/dist/tui/client-detector.d.ts.map +1 -1
  140. package/dist/tui/client-detector.js +13 -42
  141. package/dist/tui/client-detector.js.map +1 -1
  142. package/dist/tui/setup-wizard.d.ts.map +1 -1
  143. package/dist/tui/setup-wizard.js +10 -10
  144. package/dist/tui/setup-wizard.js.map +1 -1
  145. package/dist/types.d.ts.map +1 -1
  146. package/dist/types.js.map +1 -1
  147. package/dist/utils/cron-utils.d.ts +44 -0
  148. package/dist/utils/cron-utils.d.ts.map +1 -0
  149. package/dist/utils/cron-utils.js +301 -0
  150. package/dist/utils/cron-utils.js.map +1 -0
  151. package/dist/utils/error-handler.js +10 -10
  152. package/dist/utils/error-handler.js.map +1 -1
  153. package/dist/utils/file-utils.d.ts.map +1 -1
  154. package/dist/utils/file-utils.js.map +1 -1
  155. package/dist/utils/formatters.js.map +1 -1
  156. package/dist/utils/index.d.ts +2 -1
  157. package/dist/utils/index.d.ts.map +1 -1
  158. package/dist/utils/index.js +2 -1
  159. package/dist/utils/index.js.map +1 -1
  160. package/dist/utils/logger.d.ts.map +1 -1
  161. package/dist/utils/logger.js +7 -5
  162. package/dist/utils/logger.js.map +1 -1
  163. package/dist/utils/path-security.d.ts.map +1 -1
  164. package/dist/utils/path-security.js.map +1 -1
  165. package/package.json +111 -98
package/ARCHITECTURE.md CHANGED
@@ -83,26 +83,43 @@ Validated Path ✅
83
83
 
84
84
  **Implementation:** [`src/services/path-validator.service.ts`](file:///c:/Users/NewAdmin/Desktop/File-Organizer-MCP/src/services/path-validator.service.ts)
85
85
 
86
- ### Race Condition Mitigation (TOCTOU Protection)
86
+ ### Race Condition Mitigation (TOCTOU Protection) - v3.1.4 Updates
87
87
 
88
88
  **Problem:** Time-of-Check-Time-of-Use vulnerabilities can occur when a file is checked, then used later, allowing an attacker to swap the file between operations.
89
89
 
90
- **Solution:** Multi-layered approach:
90
+ **v3.1.4 TOCTOU Fixes and Race Condition Prevention:**
91
91
 
92
- ```typescript
93
- // Layer 1: File Descriptor Validation
94
- // Open file with O_NOFOLLOW to prevent symlink following
95
- const handle = await fs.open(path, constants.O_RDONLY | constants.O_NOFOLLOW);
96
-
97
- // Layer 2: Atomic Copy Operations
98
- // Use COPYFILE_EXCL to ensure destination doesn't exist
99
- await fs.copyFile(source, dest, constants.COPYFILE_EXCL);
100
-
101
- // Layer 3: Safe Overwrites
102
- // Move existing file to backup before replacing
103
- const backupPath = path.join('.file-organizer-backups', `${Date.now()}_overwrite_${basename}`);
104
- await fs.rename(existingFile, backupPath);
105
- ```
92
+ 1. **File Descriptor Validation**
93
+ - Open files with `O_NOFOLLOW` flag to prevent symlink attacks
94
+ - Use file descriptors directly rather than path strings after initial validation
95
+ - Release file handles immediately after use to minimize attack window
96
+
97
+ 2. **Atomic File Operations**
98
+ - Use `COPYFILE_EXCL` flag for atomic copy operations (fails if destination exists)
99
+ - Use `O_EXCL` flag when creating files to prevent race conditions
100
+ - Utilize `rename()` for atomic moves within the same filesystem
101
+
102
+ 3. **Retry Logic with Jitter**
103
+ - Implement exponential backoff with random jitter for retry operations
104
+ - Maximum 3 retries with increasing delays (10ms, 50ms, 100ms)
105
+ - Fail fast after retries to prevent denial-of-service
106
+
107
+ 4. **Safe Overwrite Pattern**
108
+ - Write to temporary file in target directory first
109
+ - Sync file to disk before atomic rename
110
+ - Move existing file to backup before replacing
111
+
112
+ ```typescript
113
+ // Safe overwrite with atomic rename
114
+ const tempPath = path.join(targetDir, `.tmp_${Date.now()}_${basename}`);
115
+ await fs.writeFile(tempPath, content);
116
+ await fs.rename(tempPath, targetPath); // Atomic on same filesystem
117
+ ```
118
+
119
+ 5. **Verification After Operations**
120
+ - Re-validate file stats after critical operations
121
+ - Verify file hash matches expected value after write
122
+ - Check file permissions haven't changed unexpectedly
106
123
 
107
124
  **Limitations:**
108
125
 
@@ -183,7 +200,9 @@ export async function handleTool(args: ToolArgs): Promise<ToolResponse> {
183
200
 
184
201
  **Responsibility:** Core business logic
185
202
 
186
- #### PathValidatorService
203
+ **Service Versions:** All services v3.1.3 or v3.1.4
204
+
205
+ #### PathValidatorService (v3.1.3)
187
206
 
188
207
  ```typescript
189
208
  class PathValidatorService {
@@ -198,7 +217,7 @@ class PathValidatorService {
198
217
  }
199
218
  ```
200
219
 
201
- #### OrganizerService
220
+ #### OrganizerService (v3.1.4)
202
221
 
203
222
  ```typescript
204
223
  class OrganizerService {
@@ -236,7 +255,7 @@ class HashCalculatorService {
236
255
  }
237
256
  ```
238
257
 
239
- #### FileScannerService
258
+ #### FileScannerService (v3.1.4)
240
259
 
241
260
  ```typescript
242
261
  class FileScannerService {
@@ -263,7 +282,7 @@ class CategorizerService {
263
282
  }
264
283
  ```
265
284
 
266
- #### RollbackService
285
+ #### RollbackService (v3.1.4)
267
286
 
268
287
  ```typescript
269
288
  class RollbackService {
@@ -468,7 +487,7 @@ The server uses a platform-aware configuration system that combines hardcoded de
468
487
 
469
488
  ```typescript
470
489
  export const CONFIG = {
471
- VERSION: '3.0.0',
490
+ VERSION: '3.1.5',
472
491
 
473
492
  security: {
474
493
  enablePathValidation: true,
@@ -553,7 +572,7 @@ type Args = z.infer<typeof ArgsSchema>;
553
572
 
554
573
  ```json
555
574
  {
556
- "timestamp": "2026-02-02T14:09:04.413Z",
575
+ "timestamp": "2026-02-08T00:00:00.000Z",
557
576
  "level": "info",
558
577
  "message": "Created rollback manifest: uuid (6 actions)"
559
578
  }
@@ -584,5 +603,5 @@ type Args = z.infer<typeof ArgsSchema>;
584
603
 
585
604
  ---
586
605
 
587
- **Last Updated:** February 3, 2026
588
- **Version:** 3.0.0
606
+ **Last Updated:** February 8, 2026
607
+ **Version:** 3.1.5
package/CHANGELOG.md CHANGED
@@ -1,5 +1,39 @@
1
1
  # Changelog
2
2
 
3
+ ## [3.1.5] - 2026-02-08
4
+
5
+ ### Security & Stability Improvements
6
+
7
+ - Fixed infinite loop in file-scanner.service.ts cycle detection (broken visited Set)
8
+ - Fixed allowSymlinks ignored during path resolution in path-validator.service.ts
9
+ - Fixed Windows root infinite loop in path traversal detection
10
+ - Fixed TOCTOU race conditions across organizer, rollback, and duplicate-finder services
11
+ - Fixed double-count bug in rollback service success/failure tracking
12
+ - Fixed silent overwrites in rollback operations
13
+ - Fixed backup name collisions in duplicate-finder.service.ts
14
+ - Fixed race condition in auto-organize.service.ts runningDirectories management
15
+ - Fixed symlink attack vulnerability in config.ts
16
+ - Fixed path traversal in custom directory loading
17
+
18
+ ### Bug Fixes
19
+
20
+ - Fixed file handle leaks across scanner, validator, and finder services
21
+ - Fixed unprotected JSON parsing in rollback manifest handling
22
+ - Fixed incomplete Windows reserved names regex in organizer
23
+ - Fixed silent realpath failures in file scanner
24
+ - Fixed file handle close errors masking stat errors
25
+
26
+ ### Testing Improvements
27
+
28
+ - Added comprehensive ESM mocking pattern documentation
29
+ - Fixed 7 test files with proper Jest ESM mocking
30
+ - All 268 tests passing (267 passing, 1 skipped)
31
+
32
+ ### Documentation
33
+
34
+ - Added ESM Jest Mocking Pattern to AGENTS.md
35
+ - Updated JSDoc comments across all service files
36
+
3
37
  ## [3.1.4] - 2026-02-07
4
38
 
5
39
  ### 📝 Documentation
package/README.md CHANGED
@@ -1,20 +1,44 @@
1
1
  # <a id="file-organizer-mcp-server"></a>File Organizer MCP Server 🗂️
2
2
 
3
- **Version:** 3.1.4 | **MCP Protocol:** 2024-11-05 | **Node:** ≥18.0.0
3
+ **Version:** 3.1.5 | **MCP Protocol:** 2024-11-05 | **Node:** ≥18.0.0
4
4
 
5
- [Quick Start](#quick-start) • [Features](#features) • [Tools](#tools-reference) • [Examples](#example-workflows) • [API](API.md) • [Security](#security-configuration) • [Architecture](ARCHITECTURE.md)
5
+ [Why Us](#why-specialized-tools) • [Quick Start](#quick-start) • [Features](#features) • [Tools](#tools-reference) • [Examples](#example-workflows) • [API](API.md) • [Security](#security-configuration) • [Architecture](ARCHITECTURE.md)
6
6
 
7
7
  ---
8
8
 
9
- [![npm version](https://img.shields.io/badge/npm-v3.1.4-blue.svg)](https://www.npmjs.com/package/file-organizer-mcp)
9
+ [![npm version](https://img.shields.io/badge/npm-v3.1.5-blue.svg)](https://www.npmjs.com/package/file-organizer-mcp)
10
10
  [![npm downloads](https://img.shields.io/npm/dm/file-organizer-mcp.svg)](https://www.npmjs.com/package/file-organizer-mcp)
11
11
  [![Security](https://img.shields.io/badge/security-hardened-green.svg)](https://github.com/kridaydave/File-Organizer-MCP)
12
12
  [![Node](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen.svg)](https://nodejs.org)
13
13
  [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
14
- [![Tests](https://img.shields.io/badge/tests-211%20passing-success.svg)](tests/)
14
+ [![Tests](https://img.shields.io/badge/tests-268%20passing-success.svg)](tests/)
15
15
 
16
16
  > **A powerful, security-hardened Model Context Protocol (MCP) server for intelligent file organization with Claude**
17
17
 
18
+ ---
19
+
20
+ ## <a id="why-specialized-tools"></a>Why File Organizer MCP? 🤖
21
+
22
+ Traditional filesystem MCP servers provide primitive tools: `read`, `write`, `make`, `delete`. When you ask an AI to organize a folder using only these tools, the AI must:
23
+
24
+ 1. **Think 50 steps ahead** - Planning file moves, renames, and categorizations
25
+ 2. **Waste tokens** - Describing every single file operation in detail
26
+ 3. **Risk hallucinations** - More steps = more chances for the AI to make mistakes
27
+ 4. **Move slowly** - Each primitive operation requires separate reasoning
28
+
29
+ ### Enter File Organizer MCP
30
+
31
+ We provide **specialized, high-level tools** that encapsulate complex file operations:
32
+
33
+ | Primitive Approach | File Organizer MCP |
34
+ | ------------------------------------------------------ | ---------------------------------------------------- |
35
+ | `read` → `analyze` → `read` → `write` → `rename` → ... | `organize_files()` - one tool, complete organization |
36
+ | 50+ reasoning steps | 1 reasoning step |
37
+ | High token usage | Minimal tokens |
38
+ | Error-prone | Atomic, rollback-safe operations |
39
+
40
+ **The AI simply decides _what_ to do. We handle _how_ to do it securely.**
41
+
18
42
  🎯 [Install from MCP Registry](https://registry.modelcontextprotocol.io/servers/io.github.kridaydave/file-organizer) • 📦 [View on NPM](https://www.npmjs.com/package/file-organizer-mcp) • 🐛 [Report Issues](https://github.com/kridaydave/File-Organizer-MCP/issues)
19
43
 
20
44
  ---
@@ -146,6 +170,14 @@ Run `npx file-organizer-mcp --setup` for guided configuration:
146
170
 
147
171
  See [CHANGELOG.md](CHANGELOG.md) for full details.
148
172
 
173
+ ### Recent Fixes (v3.1.5)
174
+
175
+ - Fixed test coverage and added 57 new test cases
176
+ - Improved duplicate detection accuracy
177
+ - Enhanced file categorization logic
178
+ - Better handling of special characters in filenames
179
+ - Improved error messages for permission denied scenarios
180
+
149
181
  ---
150
182
 
151
183
  ## <a id="tools-reference"></a>Tools Reference 🛠️
package/dist/config.d.ts CHANGED
@@ -62,6 +62,8 @@ export interface WatchConfig {
62
62
  min_file_age_minutes?: number;
63
63
  /** Maximum files to process per run (0 or undefined = unlimited) */
64
64
  max_files_per_run?: number;
65
+ /** Catchup behavior when server starts */
66
+ catchup_mode?: 'smart' | 'always' | 'never';
65
67
  };
66
68
  }
67
69
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;CAkBlB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,qDAAqD;IACrD,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACnD,sCAAsC;IACtC,YAAY,CAAC,EAAE;QACb,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;KAC1C,CAAC;IACF,wBAAwB;IACxB,QAAQ,CAAC,EAAE;QACT,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAC;KAClC,CAAC;IACF,yBAAyB;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC,CAAC;IACH,sCAAsC;IACtC,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,KAAK,EAAE;QACL,+BAA+B;QAC/B,aAAa,EAAE,OAAO,CAAC;QACvB,8FAA8F;QAC9F,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,oEAAoE;QACpE,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH;AAgGD;;GAEG;AACH,wBAAgB,cAAc,IAAI,UAAU,CAmD3C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAE5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAqBnE;AAwBD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAe1C;AA4DD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CA8B3C;AAMD,eAAO,MAAM,aAAa,QAAoB,CAAC;AAC/C,eAAO,MAAM,SAAS,QAAuC,CAAC;AAC9D,eAAO,MAAM,SAAS,QAA+B,CAAC;AAEtD,eAAO,MAAM,gBAAgB,2DAA4D,CAAC;AAE1F,eAAO,MAAM,aAAa;;CAEhB,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;CAkBlB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,qDAAqD;IACrD,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACnD,sCAAsC;IACtC,YAAY,CAAC,EAAE;QACb,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;KAC1C,CAAC;IACF,wBAAwB;IACxB,QAAQ,CAAC,EAAE;QACT,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAC;KAClC,CAAC;IACF,yBAAyB;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC,CAAC;IACH,sCAAsC;IACtC,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,KAAK,EAAE;QACL,+BAA+B;QAC/B,aAAa,EAAE,OAAO,CAAC;QACvB,8FAA8F;QAC9F,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,oEAAoE;QACpE,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,0CAA0C;QAC1C,YAAY,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;KAC7C,CAAC;CACH;AAiGD;;GAEG;AACH,wBAAgB,cAAc,IAAI,UAAU,CAqD3C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAE5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAqBnE;AAsDD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAe1C;AA4DD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CA8B3C;AAMD,eAAO,MAAM,aAAa,QAAoB,CAAC;AAC/C,eAAO,MAAM,SAAS,QAAuC,CAAC;AAC9D,eAAO,MAAM,SAAS,QAA+B,CAAC;AAEtD,eAAO,MAAM,gBAAgB,2DAA4D,CAAC;AAE1F,eAAO,MAAM,aAAa;;CAEhB,CAAC"}
package/dist/config.js CHANGED
@@ -71,10 +71,11 @@ function getDefaultAllowedDirs() {
71
71
  commonDirs.push(projectDir);
72
72
  }
73
73
  }
74
- // Only return directories that actually exist
74
+ // Only return directories that actually exist and are not symlinks
75
75
  return commonDirs.filter((dir) => {
76
76
  try {
77
- return fs.existsSync(dir) && fs.statSync(dir).isDirectory();
77
+ const stats = fs.lstatSync(dir);
78
+ return stats.isDirectory() && !stats.isSymbolicLink();
78
79
  }
79
80
  catch {
80
81
  return false;
@@ -131,21 +132,21 @@ export function loadUserConfig() {
131
132
  const errorMessage = error.message;
132
133
  // Handle specific JSON parse errors
133
134
  if (errorMessage.includes('JSON') || errorMessage.includes('Unexpected token')) {
134
- console.error(`
135
- ⚠️ CONFIG FILE CORRUPTED ⚠️
136
-
137
- The config file at:
138
- ${configPath}
139
-
140
- appears to be corrupted or contains invalid JSON.
141
- Error: ${errorMessage}
142
-
143
- To fix this:
144
- 1. Backup the corrupted file: cp "${configPath}" "${configPath}.backup"
145
- 2. Delete the corrupted file: rm "${configPath}"
146
- 3. Re-run the setup wizard: npx file-organizer-mcp --setup
147
-
148
- Your file organization settings will be reset, but your actual files are safe.
135
+ console.error(`
136
+ ⚠️ CONFIG FILE CORRUPTED ⚠️
137
+
138
+ The config file at:
139
+ ${configPath}
140
+
141
+ appears to be corrupted or contains invalid JSON.
142
+ Error: ${errorMessage}
143
+
144
+ To fix this:
145
+ 1. Backup the corrupted file: cp "${configPath}" "${configPath}.backup"
146
+ 2. Delete the corrupted file: rm "${configPath}"
147
+ 3. Re-run the setup wizard: npx file-organizer-mcp --setup
148
+
149
+ Your file organization settings will be reset, but your actual files are safe.
149
150
  `.trim());
150
151
  }
151
152
  else {
@@ -187,10 +188,34 @@ function loadCustomAllowedDirs() {
187
188
  try {
188
189
  const config = loadUserConfig();
189
190
  if (Array.isArray(config.customAllowedDirectories)) {
190
- // Validate that custom directories exist
191
+ // Validate that custom directories exist, are not symlinks, and block path traversal
191
192
  return config.customAllowedDirectories.filter((dir) => {
192
193
  try {
193
- return fs.existsSync(dir) && fs.statSync(dir).isDirectory();
194
+ // First check if path exists and get stats (before any resolution)
195
+ const stats = fs.lstatSync(dir);
196
+ // Reject symlinks immediately
197
+ if (stats.isSymbolicLink()) {
198
+ console.error(`Warning: Custom directory blocked (symlink): ${dir}`);
199
+ return false;
200
+ }
201
+ // Only accept directories
202
+ if (!stats.isDirectory()) {
203
+ return false;
204
+ }
205
+ // Resolve to absolute path to check for traversal attempts
206
+ const resolvedDir = path.resolve(dir);
207
+ const home = os.homedir();
208
+ // Block path traversal outside of home directory
209
+ if (!resolvedDir.startsWith(home)) {
210
+ console.error(`Warning: Custom directory blocked (outside home): ${dir}`);
211
+ return false;
212
+ }
213
+ // Block relative path traversal patterns
214
+ if (dir.includes('..') || dir.includes('~')) {
215
+ console.error(`Warning: Custom directory blocked (path traversal): ${dir}`);
216
+ return false;
217
+ }
218
+ return true;
194
219
  }
195
220
  catch {
196
221
  console.error(`Warning: Custom directory does not exist: ${dir}`);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAcrD,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAA8C,CAAC;AAEjG;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAQ3D"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CA2BrD,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAA8C,CAAC;AAEjG;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAQ3D"}
package/dist/constants.js CHANGED
@@ -14,7 +14,20 @@ export const CATEGORIES = {
14
14
  Images: ['.jpg', '.jpeg', '.png', '.gif', '.bmp', '.svg', '.ico', '.webp'],
15
15
  Audio: ['.mp3', '.wav', '.flac', '.aac', '.ogg', '.wma', '.m4a'],
16
16
  Archives: ['.zip', '.rar', '.7z', '.tar', '.gz', '.bz2', '.xz'],
17
- Code: ['.py', '.js', '.ts', '.java', '.cpp', '.c', '.html', '.css', '.php', '.rb', '.go', '.json'],
17
+ Code: [
18
+ '.py',
19
+ '.js',
20
+ '.ts',
21
+ '.java',
22
+ '.cpp',
23
+ '.c',
24
+ '.html',
25
+ '.css',
26
+ '.php',
27
+ '.rb',
28
+ '.go',
29
+ '.json',
30
+ ],
18
31
  Installers: ['.dmg', '.pkg', '.deb', '.rpm', '.apk'],
19
32
  Ebooks: ['.epub', '.mobi', '.azw', '.azw3'],
20
33
  Fonts: ['.ttf', '.otf', '.woff', '.woff2'],
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAA4C;IAC/D,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;IACpD,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;IACzE,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;IAC3E,aAAa,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;IAChD,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;IAC/C,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;IAC1E,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAChE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;IAC/D,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC;IAClG,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IACpD,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC;IAC3C,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;IAC1C,MAAM,EAAE,EAAE;CACJ,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAA4B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAmB,CAAC;AAEjG;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,SAAiB;IACzC,MAAM,GAAG,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9D,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,QAAwB,CAAC;QACpC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAA4C;IACjE,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;IACpD,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;IACzE,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;IAC3E,aAAa,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;IAChD,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;IAC/C,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;IAC1E,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAChE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;IAC/D,IAAI,EAAE;QACJ,KAAK;QACL,KAAK;QACL,KAAK;QACL,OAAO;QACP,MAAM;QACN,IAAI;QACJ,OAAO;QACP,MAAM;QACN,MAAM;QACN,KAAK;QACL,KAAK;QACL,OAAO;KACR;IACD,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IACpD,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC;IAC3C,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;IAC1C,MAAM,EAAE,EAAE;CACF,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAA4B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAmB,CAAC;AAEjG;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,SAAiB;IAC3C,MAAM,GAAG,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAChE,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,QAAwB,CAAC;QAClC,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,qBAAa,kBAAmB,SAAQ,KAAK;IAG9B,IAAI,EAAE,MAAM;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM;gBAH1B,OAAO,EAAE,MAAM,EACR,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,YAAA,EAC7B,UAAU,CAAC,EAAE,MAAM,YAAA;IAM9B,UAAU,IAAI,YAAY;CAgB7B"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,qBAAa,kBAAmB,SAAQ,KAAK;IAGlC,IAAI,EAAE,MAAM;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM;gBAH1B,OAAO,EAAE,MAAM,EACR,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,YAAA,EAC7B,UAAU,CAAC,EAAE,MAAM,YAAA;IAM5B,UAAU,IAAI,YAAY;CAgB3B"}
package/dist/errors.js CHANGED
@@ -19,7 +19,7 @@ export class FileOrganizerError extends Error {
19
19
  }
20
20
  return {
21
21
  isError: true,
22
- content: [{ type: "text", text }]
22
+ content: [{ type: 'text', text }],
23
23
  };
24
24
  }
25
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAG9B;IACA;IACA;IAJX,YACI,OAAe,EACR,IAAY,EACZ,OAA6B,EAC7B,UAAmB;QAE1B,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAsB;QAC7B,eAAU,GAAV,UAAU,CAAS;QAG1B,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACrC,CAAC;IAED,UAAU;QACN,IAAI,IAAI,GAAG,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC;QAEtC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,IAAI,iBAAiB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACrE,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,IAAI,sBAAsB,IAAI,CAAC,UAAU,EAAE,CAAC;QACpD,CAAC;QAED,OAAO;YACH,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SACpC,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAGlC;IACA;IACA;IAJT,YACE,OAAe,EACR,IAAY,EACZ,OAA6B,EAC7B,UAAmB;QAE1B,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAsB;QAC7B,eAAU,GAAV,UAAU,CAAS;QAG1B,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;IAED,UAAU;QACR,IAAI,IAAI,GAAG,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC;QAEtC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,IAAI,iBAAiB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACnE,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,IAAI,sBAAsB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClD,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SAClC,CAAC;IACJ,CAAC;CACF"}