@j0hanz/filesystem-context-mcp 1.0.3 → 1.0.6

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 (116) hide show
  1. package/README.md +27 -26
  2. package/dist/__tests__/lib/formatters.test.js +0 -3
  3. package/dist/__tests__/lib/formatters.test.js.map +1 -1
  4. package/dist/__tests__/lib/image-parsing.test.js +0 -3
  5. package/dist/__tests__/lib/image-parsing.test.js.map +1 -1
  6. package/dist/config/types.d.ts +0 -68
  7. package/dist/config/types.d.ts.map +1 -1
  8. package/dist/config/types.js +0 -7
  9. package/dist/config/types.js.map +1 -1
  10. package/dist/index.js +2 -17
  11. package/dist/index.js.map +1 -1
  12. package/dist/instructions.md +245 -0
  13. package/dist/lib/constants.d.ts +0 -8
  14. package/dist/lib/constants.d.ts.map +1 -1
  15. package/dist/lib/constants.js +14 -19
  16. package/dist/lib/constants.js.map +1 -1
  17. package/dist/lib/errors.d.ts +0 -12
  18. package/dist/lib/errors.d.ts.map +1 -1
  19. package/dist/lib/errors.js +50 -32
  20. package/dist/lib/errors.js.map +1 -1
  21. package/dist/lib/file-operations.d.ts.map +1 -1
  22. package/dist/lib/file-operations.js +50 -12
  23. package/dist/lib/file-operations.js.map +1 -1
  24. package/dist/lib/formatters.d.ts +0 -21
  25. package/dist/lib/formatters.d.ts.map +1 -1
  26. package/dist/lib/formatters.js +6 -32
  27. package/dist/lib/formatters.js.map +1 -1
  28. package/dist/lib/fs-helpers.d.ts +0 -4
  29. package/dist/lib/fs-helpers.d.ts.map +1 -1
  30. package/dist/lib/fs-helpers.js +24 -23
  31. package/dist/lib/fs-helpers.js.map +1 -1
  32. package/dist/lib/image-parsing.d.ts +0 -4
  33. package/dist/lib/image-parsing.d.ts.map +1 -1
  34. package/dist/lib/image-parsing.js +1 -4
  35. package/dist/lib/image-parsing.js.map +1 -1
  36. package/dist/lib/path-utils.d.ts +0 -10
  37. package/dist/lib/path-utils.d.ts.map +1 -1
  38. package/dist/lib/path-utils.js +1 -16
  39. package/dist/lib/path-utils.js.map +1 -1
  40. package/dist/lib/path-validation.d.ts +0 -18
  41. package/dist/lib/path-validation.d.ts.map +1 -1
  42. package/dist/lib/path-validation.js +3 -60
  43. package/dist/lib/path-validation.js.map +1 -1
  44. package/dist/prompts/analyze-codebase.d.ts +3 -0
  45. package/dist/prompts/analyze-codebase.d.ts.map +1 -0
  46. package/dist/prompts/analyze-codebase.js +58 -0
  47. package/dist/prompts/analyze-codebase.js.map +1 -0
  48. package/dist/prompts/filesystem-query.d.ts +3 -0
  49. package/dist/prompts/filesystem-query.d.ts.map +1 -0
  50. package/dist/prompts/filesystem-query.js +113 -0
  51. package/dist/prompts/filesystem-query.js.map +1 -0
  52. package/dist/prompts/find-duplicates.d.ts +3 -0
  53. package/dist/prompts/find-duplicates.d.ts.map +1 -0
  54. package/dist/prompts/find-duplicates.js +68 -0
  55. package/dist/prompts/find-duplicates.js.map +1 -0
  56. package/dist/prompts/index.d.ts +3 -0
  57. package/dist/prompts/index.d.ts.map +1 -0
  58. package/dist/prompts/index.js +13 -0
  59. package/dist/prompts/index.js.map +1 -0
  60. package/dist/prompts/project-overview.d.ts +3 -0
  61. package/dist/prompts/project-overview.d.ts.map +1 -0
  62. package/dist/prompts/project-overview.js +51 -0
  63. package/dist/prompts/project-overview.js.map +1 -0
  64. package/dist/prompts/search-and-replace.d.ts +3 -0
  65. package/dist/prompts/search-and-replace.d.ts.map +1 -0
  66. package/dist/prompts/search-and-replace.js +83 -0
  67. package/dist/prompts/search-and-replace.js.map +1 -0
  68. package/dist/schemas/common.d.ts +0 -4
  69. package/dist/schemas/common.d.ts.map +1 -1
  70. package/dist/schemas/common.js +10 -12
  71. package/dist/schemas/common.js.map +1 -1
  72. package/dist/schemas/index.d.ts +0 -1
  73. package/dist/schemas/index.d.ts.map +1 -1
  74. package/dist/schemas/index.js +0 -3
  75. package/dist/schemas/index.js.map +1 -1
  76. package/dist/schemas/inputs.d.ts +2 -2
  77. package/dist/schemas/inputs.d.ts.map +1 -1
  78. package/dist/schemas/inputs.js +15 -1
  79. package/dist/schemas/inputs.js.map +1 -1
  80. package/dist/schemas/outputs.d.ts +4 -4
  81. package/dist/schemas/validators.js +2 -2
  82. package/dist/schemas/validators.js.map +1 -1
  83. package/dist/server.d.ts.map +1 -1
  84. package/dist/server.js +15 -0
  85. package/dist/server.js.map +1 -1
  86. package/dist/tools/analyze-directory.d.ts.map +1 -1
  87. package/dist/tools/analyze-directory.js +1 -0
  88. package/dist/tools/analyze-directory.js.map +1 -1
  89. package/dist/tools/directory-tree.d.ts.map +1 -1
  90. package/dist/tools/directory-tree.js +1 -0
  91. package/dist/tools/directory-tree.js.map +1 -1
  92. package/dist/tools/get-file-info.d.ts.map +1 -1
  93. package/dist/tools/get-file-info.js +1 -0
  94. package/dist/tools/get-file-info.js.map +1 -1
  95. package/dist/tools/list-allowed-dirs.d.ts.map +1 -1
  96. package/dist/tools/list-allowed-dirs.js +1 -0
  97. package/dist/tools/list-allowed-dirs.js.map +1 -1
  98. package/dist/tools/list-directory.d.ts.map +1 -1
  99. package/dist/tools/list-directory.js +1 -0
  100. package/dist/tools/list-directory.js.map +1 -1
  101. package/dist/tools/read-file.d.ts.map +1 -1
  102. package/dist/tools/read-file.js +1 -0
  103. package/dist/tools/read-file.js.map +1 -1
  104. package/dist/tools/read-media-file.d.ts.map +1 -1
  105. package/dist/tools/read-media-file.js +1 -0
  106. package/dist/tools/read-media-file.js.map +1 -1
  107. package/dist/tools/read-multiple-files.d.ts.map +1 -1
  108. package/dist/tools/read-multiple-files.js +1 -0
  109. package/dist/tools/read-multiple-files.js.map +1 -1
  110. package/dist/tools/search-content.d.ts.map +1 -1
  111. package/dist/tools/search-content.js +1 -0
  112. package/dist/tools/search-content.js.map +1 -1
  113. package/dist/tools/search-files.d.ts.map +1 -1
  114. package/dist/tools/search-files.js +1 -0
  115. package/dist/tools/search-files.js.map +1 -1
  116. package/package.json +3 -2
@@ -0,0 +1,245 @@
1
+ # Filesystem Context MCP Server
2
+
3
+ > **Read-only** filesystem tools for exploring directories, searching files, and analyzing codebases. All operations are safe and idempotent.
4
+
5
+ ---
6
+
7
+ ## Tool Selection Guide
8
+
9
+ ### Which Tool Should I Use?
10
+
11
+ | Goal | Tool | Key Parameters |
12
+ | --------------------------------- | -------------------------- | ------------------------------------------------- |
13
+ | See what directories I can access | `list_allowed_directories` | _(none)_ |
14
+ | Visualize project structure | `directory_tree` | `maxDepth`, `excludePatterns`, `includeSize` |
15
+ | List directory contents | `list_directory` | `recursive`, `sortBy`, `maxEntries` |
16
+ | Get directory statistics | `analyze_directory` | `topN`, `excludePatterns` |
17
+ | Find files by name/pattern | `search_files` | `pattern` (glob), `excludePatterns`, `maxResults` |
18
+ | Search inside file contents | `search_content` | `pattern` (regex), `filePattern`, `contextLines` |
19
+ | Read a single file | `read_file` | `head`, `tail`, `lineStart`/`lineEnd` |
20
+ | Read multiple files | `read_multiple_files` | `paths[]`, `head`, `tail` |
21
+ | Get file metadata | `get_file_info` | _(path only)_ |
22
+ | Read images/binary files | `read_media_file` | `maxSize` |
23
+
24
+ ---
25
+
26
+ ## Quick Start Workflow
27
+
28
+ **Always start here:**
29
+
30
+ ```text
31
+ 1. list_allowed_directories → Know your boundaries
32
+ 2. directory_tree(path, maxDepth=3) → See project structure
33
+ 3. analyze_directory(path) → Get statistics
34
+ ```
35
+
36
+ ---
37
+
38
+ ## Tool Reference
39
+
40
+ ### `list_allowed_directories`
41
+
42
+ Returns all directories this server can access. **Call first** to understand scope.
43
+
44
+ ### `directory_tree`
45
+
46
+ Returns a JSON tree structure—ideal for AI parsing.
47
+
48
+ | Parameter | Type | Default | Description |
49
+ | ----------------- | -------- | ------- | --------------------------- |
50
+ | `path` | string | — | Directory to visualize |
51
+ | `maxDepth` | number | 5 | How deep to traverse (0-50) |
52
+ | `excludePatterns` | string[] | [] | Glob patterns to skip |
53
+ | `includeHidden` | boolean | false | Include dotfiles |
54
+ | `includeSize` | boolean | false | Show file sizes |
55
+ | `maxFiles` | number | — | Limit total files returned |
56
+
57
+ **Example:** `directory_tree(path, maxDepth=3, excludePatterns=["node_modules", "dist"])`
58
+
59
+ ### `list_directory`
60
+
61
+ Flat listing with metadata. Use for detailed file information.
62
+
63
+ | Parameter | Type | Default | Description |
64
+ | --------------- | ------- | ------- | ---------------------------------- |
65
+ | `path` | string | — | Directory to list |
66
+ | `recursive` | boolean | false | Include subdirectories |
67
+ | `sortBy` | enum | "name" | `name`, `size`, `modified`, `type` |
68
+ | `maxDepth` | number | 10 | Depth limit when recursive |
69
+ | `maxEntries` | number | — | Limit results (up to 100,000) |
70
+ | `includeHidden` | boolean | false | Include dotfiles |
71
+
72
+ ### `analyze_directory`
73
+
74
+ Statistics: file counts, sizes, types, largest files, recent changes.
75
+
76
+ | Parameter | Type | Default | Description |
77
+ | ----------------- | -------- | ------- | ------------------------------ |
78
+ | `path` | string | — | Directory to analyze |
79
+ | `maxDepth` | number | 10 | How deep to analyze |
80
+ | `topN` | number | 10 | Number of largest/recent files |
81
+ | `excludePatterns` | string[] | [] | Patterns to skip |
82
+ | `includeHidden` | boolean | false | Include dotfiles |
83
+
84
+ ### `search_files`
85
+
86
+ Find files by glob pattern. Returns paths, sizes, and modification dates.
87
+
88
+ | Parameter | Type | Default | Description |
89
+ | ----------------- | -------- | ------- | -------------------------------------- |
90
+ | `path` | string | — | Base directory |
91
+ | `pattern` | string | — | **Glob**: `**/*.ts`, `src/**/test*.js` |
92
+ | `excludePatterns` | string[] | [] | Patterns to skip |
93
+ | `maxResults` | number | — | Limit results (up to 10,000) |
94
+ | `maxDepth` | number | — | Depth limit |
95
+ | `sortBy` | enum | "path" | `name`, `size`, `modified`, `path` |
96
+
97
+ **Common patterns:**
98
+
99
+ - `**/*.ts` — All TypeScript files
100
+ - `src/**/*.{js,jsx}` — JS/JSX in src
101
+ - `**/test/**` — All test directories
102
+ - `**/*.test.ts` — Test files by convention
103
+
104
+ ### `search_content`
105
+
106
+ Grep-like search inside files. Returns matching lines with context.
107
+
108
+ | Parameter | Type | Default | Description |
109
+ | ----------------- | -------- | ------- | --------------------------------------- |
110
+ | `path` | string | — | Base directory |
111
+ | `pattern` | string | — | **Regex**: `TODO\|FIXME`, `function\s+` |
112
+ | `filePattern` | string | `**/*` | Glob to filter files |
113
+ | `excludePatterns` | string[] | [] | Patterns to skip |
114
+ | `caseSensitive` | boolean | false | Case-sensitive matching |
115
+ | `wholeWord` | boolean | false | Match whole words only |
116
+ | `isLiteral` | boolean | false | Treat pattern as literal (not regex) |
117
+ | `contextLines` | number | 0 | Lines before/after match (0-10) |
118
+ | `maxResults` | number | 100 | Limit matches |
119
+ | `maxFilesScanned` | number | — | Limit files to scan |
120
+ | `maxFileSize` | number | 1MB | Skip files larger than this |
121
+ | `timeoutMs` | number | — | Operation timeout |
122
+ | `skipBinary` | boolean | true | Skip binary files |
123
+
124
+ **Example:** `search_content(path, pattern="export (function|class)", filePattern="**/*.ts", contextLines=2)`
125
+
126
+ ### `read_file`
127
+
128
+ Read a single file with optional line selection.
129
+
130
+ | Parameter | Type | Default | Description |
131
+ | ----------- | ------ | ------- | ------------------------------------------- |
132
+ | `path` | string | — | File to read |
133
+ | `encoding` | enum | "utf-8" | `utf-8`, `ascii`, `base64`, `hex`, `latin1` |
134
+ | `maxSize` | number | 10MB | Maximum file size |
135
+ | `head` | number | — | Read first N lines only |
136
+ | `tail` | number | — | Read last N lines only |
137
+ | `lineStart` | number | — | Start line (1-indexed) |
138
+ | `lineEnd` | number | — | End line (inclusive) |
139
+
140
+ **⚠️ Cannot combine:** `head`/`tail` with `lineStart`/`lineEnd`
141
+
142
+ ### `read_multiple_files`
143
+
144
+ **Preferred for 2+ files** — runs in parallel, individual failures don't block others.
145
+
146
+ | Parameter | Type | Default | Description |
147
+ | ---------- | -------- | ------- | ----------------------- |
148
+ | `paths` | string[] | — | Files to read (max 100) |
149
+ | `encoding` | enum | "utf-8" | Encoding for all files |
150
+ | `maxSize` | number | 10MB | Max size per file |
151
+ | `head` | number | — | First N lines from each |
152
+ | `tail` | number | — | Last N lines from each |
153
+
154
+ ### `get_file_info`
155
+
156
+ Metadata only: size, timestamps, permissions, MIME type.
157
+
158
+ | Parameter | Type | Description |
159
+ | --------- | ------ | ----------------- |
160
+ | `path` | string | File or directory |
161
+
162
+ ### `read_media_file`
163
+
164
+ Returns binary files as base64 with MIME type. Includes image dimensions.
165
+
166
+ | Parameter | Type | Default | Description |
167
+ | --------- | ------ | ------- | ------------------ |
168
+ | `path` | string | — | Path to media file |
169
+ | `maxSize` | number | 50MB | Maximum file size |
170
+
171
+ ---
172
+
173
+ ## Efficiency Best Practices
174
+
175
+ ### ✅ Do
176
+
177
+ - **Batch reads**: Use `read_multiple_files` for 2+ files
178
+ - **Limit scope**: Always set `maxResults`, `maxDepth`, `maxEntries`
179
+ - **Exclude noise**: Use `excludePatterns=["node_modules", ".git", "dist"]`
180
+ - **Preview large files**: Use `head=50` or `tail=50` before full read
181
+ - **Search then read**: `search_files` → `read_multiple_files`
182
+
183
+ ### ❌ Don't
184
+
185
+ - Call `read_file` in a loop — use `read_multiple_files`
186
+ - Use `recursive=true` without `maxDepth` on large directories
187
+ - Search with `maxResults` unset on large codebases
188
+ - Read entire large files when you only need a section
189
+
190
+ ---
191
+
192
+ ## Common Workflows
193
+
194
+ ### Project Discovery
195
+
196
+ ```text
197
+ list_allowed_directories
198
+ directory_tree(path, maxDepth=3, excludePatterns=["node_modules",".git"])
199
+ analyze_directory(path, excludePatterns=["node_modules"])
200
+ read_multiple_files([package.json, README.md, tsconfig.json])
201
+ ```
202
+
203
+ ### Find and Read Code
204
+
205
+ ```text
206
+ search_files(path, pattern="**/*.service.ts")
207
+ read_multiple_files([...results])
208
+ ```
209
+
210
+ ### Search Code Patterns
211
+
212
+ ```text
213
+ search_content(path, pattern="async function", filePattern="**/*.ts", contextLines=2)
214
+ ```
215
+
216
+ ### Investigate Large Files
217
+
218
+ ```text
219
+ analyze_directory(path) → See largestFiles
220
+ get_file_info(largefile) → Check exact size
221
+ read_file(largefile, head=100) → Preview beginning
222
+ ```
223
+
224
+ ---
225
+
226
+ ## Error Recovery
227
+
228
+ | Error Code | Meaning | Solution |
229
+ | ------------------- | ----------------------------- | ------------------------------------------- |
230
+ | `E_ACCESS_DENIED` | Path outside allowed dirs | Run `list_allowed_directories` |
231
+ | `E_NOT_FOUND` | Path doesn't exist | Use `list_directory` to explore |
232
+ | `E_NOT_FILE` | Expected file, got directory | Use `list_directory` or `directory_tree` |
233
+ | `E_NOT_DIRECTORY` | Expected directory, got file | Use `read_file` or `get_file_info` |
234
+ | `E_TOO_LARGE` | File exceeds size limit | Use `head`/`tail` or increase `maxSize` |
235
+ | `E_BINARY_FILE` | Binary file in text operation | Use `read_media_file` instead |
236
+ | `E_TIMEOUT` | Operation too slow | Reduce `maxResults`, `maxDepth`, `maxFiles` |
237
+ | `E_INVALID_PATTERN` | Bad glob/regex syntax | Check pattern syntax |
238
+
239
+ ---
240
+
241
+ ## Security Notes
242
+
243
+ - **Read-only**: No writes, deletes, or modifications possible
244
+ - **Path validation**: Symlinks cannot escape allowed directories
245
+ - **Binary detection**: Prevents accidental large base64 in text output
@@ -12,13 +12,5 @@ export declare const DEFAULT_TOP_N = 10;
12
12
  export declare const DEFAULT_TREE_DEPTH = 5;
13
13
  export declare const KNOWN_TEXT_EXTENSIONS: Set<string>;
14
14
  export declare const KNOWN_BINARY_EXTENSIONS: Set<string>;
15
- /**
16
- * Get the MIME type for a file extension.
17
- * Returns 'application/octet-stream' for unknown extensions.
18
- *
19
- * @param ext - File extension including the dot (e.g., '.png')
20
- * @returns The MIME type string
21
- */
22
15
  export declare function getMimeType(ext: string): string;
23
- export declare const MIME_TYPES: Record<string, string>;
24
16
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAG3C,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAG1C,eAAO,MAAM,wBAAwB,QAAc,CAAC;AACpD,eAAO,MAAM,kBAAkB,QAAmB,CAAC;AACnD,eAAO,MAAM,mBAAmB,QAAmB,CAAC;AACpD,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAG5C,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAGpC,eAAO,MAAM,qBAAqB,aA+IhC,CAAC;AAGH,eAAO,MAAM,uBAAuB,aAwGlC,CAAC;AAEH;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAGD,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAiE7C,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAG3C,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAG1C,eAAO,MAAM,wBAAwB,QAAc,CAAC;AACpD,eAAO,MAAM,kBAAkB,QAAmB,CAAC;AACnD,eAAO,MAAM,mBAAmB,QAAmB,CAAC;AACpD,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAG5C,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAGpC,eAAO,MAAM,qBAAqB,aA+IhC,CAAC;AAGH,eAAO,MAAM,uBAAuB,aAwGlC,CAAC;AAGH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM/C"}
@@ -1,15 +1,15 @@
1
- // Concurrency limits
1
+ // Concurrency Limits
2
2
  export const PARALLEL_CONCURRENCY = 20;
3
3
  export const DIR_TRAVERSAL_CONCURRENCY = 8;
4
- // Timeout limits (in milliseconds)
5
- export const REGEX_MATCH_TIMEOUT_MS = 100; // Per-line regex match timeout to prevent ReDoS hangs
6
- // Size limits (in bytes)
7
- export const MAX_SEARCHABLE_FILE_SIZE = 1024 * 1024; // 1MB
8
- export const MAX_TEXT_FILE_SIZE = 10 * 1024 * 1024; // 10MB default for text files
9
- export const MAX_MEDIA_FILE_SIZE = 50 * 1024 * 1024; // 50MB default for media files
4
+ // Timeout Limits (ms)
5
+ export const REGEX_MATCH_TIMEOUT_MS = 100;
6
+ // Size Limits (bytes)
7
+ export const MAX_SEARCHABLE_FILE_SIZE = 1024 * 1024;
8
+ export const MAX_TEXT_FILE_SIZE = 10 * 1024 * 1024;
9
+ export const MAX_MEDIA_FILE_SIZE = 50 * 1024 * 1024;
10
10
  export const MAX_LINE_CONTENT_LENGTH = 200;
11
- export const BINARY_CHECK_BUFFER_SIZE = 512; // Increased for better accuracy
12
- // Default limits for operations
11
+ export const BINARY_CHECK_BUFFER_SIZE = 512;
12
+ // Default Operation Limits
13
13
  export const DEFAULT_MAX_DEPTH = 10;
14
14
  export const DEFAULT_MAX_RESULTS = 100;
15
15
  export const DEFAULT_TOP_N = 10;
@@ -265,18 +265,13 @@ export const KNOWN_BINARY_EXTENSIONS = new Set([
265
265
  // Source maps (can be large and not useful for text search)
266
266
  '.map',
267
267
  ]);
268
- /**
269
- * Get the MIME type for a file extension.
270
- * Returns 'application/octet-stream' for unknown extensions.
271
- *
272
- * @param ext - File extension including the dot (e.g., '.png')
273
- * @returns The MIME type string
274
- */
268
+ // MIME type lookup
275
269
  export function getMimeType(ext) {
276
- return MIME_TYPES[ext.toLowerCase()] ?? 'application/octet-stream';
270
+ const lowerExt = ext.toLowerCase();
271
+ return (MIME_TYPES[lowerExt] ??
272
+ 'application/octet-stream');
277
273
  }
278
- // MIME type mappings for media files
279
- export const MIME_TYPES = {
274
+ const MIME_TYPES = {
280
275
  // Images
281
276
  '.png': 'image/png',
282
277
  '.jpg': 'image/jpeg',
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,3 @@
1
- /**
2
- * Structured error handling utilities for consistent error responses
3
- */
4
1
  import { type DetailedError, ErrorCode, type ErrorResponse } from '../config/types.js';
5
2
  export { ErrorCode };
6
3
  export declare function isNodeError(error: unknown): error is NodeJS.ErrnoException;
@@ -13,17 +10,8 @@ export declare class McpError extends Error {
13
10
  static fromError(code: ErrorCode, message: string, originalError: unknown, path?: string, details?: Record<string, unknown>): McpError;
14
11
  }
15
12
  export declare function classifyError(error: unknown): ErrorCode;
16
- /**
17
- * Create a detailed error object with suggestions
18
- */
19
13
  export declare function createDetailedError(error: unknown, path?: string, additionalDetails?: Record<string, unknown>): DetailedError;
20
- /**
21
- * Format a detailed error for display
22
- */
23
14
  export declare function formatDetailedError(error: DetailedError): string;
24
- /**
25
- * Get suggestion for an error code
26
- */
27
15
  export declare function getSuggestion(code: ErrorCode): string;
28
16
  export declare function createErrorResponse(error: unknown, defaultCode: ErrorCode, path?: string): ErrorResponse;
29
17
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,KAAK,aAAa,EAClB,SAAS,EACT,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,SAAS,EAAE,CAAC;AAGrB,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,cAAc,CAM1E;AAGD,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAe1D,CAAC;AAEX,qBAAa,QAAS,SAAQ,KAAK;IAExB,IAAI,EAAE,SAAS;IAEf,IAAI,CAAC,EAAE,MAAM;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAHjC,IAAI,EAAE,SAAS,EACtB,OAAO,EAAE,MAAM,EACR,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA,EACxC,KAAK,CAAC,EAAE,OAAO;IASjB,MAAM,CAAC,SAAS,CACd,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,OAAO,EACtB,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,QAAQ;CAQZ;AAmCD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAavD;AAuFD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,IAAI,CAAC,EAAE,MAAM,EACb,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC1C,aAAa,CAmBf;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAYhE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAErD;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,SAAS,EACtB,IAAI,CAAC,EAAE,MAAM,GACZ,aAAa,CAoBf"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,SAAS,EACT,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,SAAS,EAAE,CAAC;AAGrB,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,cAAc,CAM1E;AAGD,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAe1D,CAAC;AAGX,qBAAa,QAAS,SAAQ,KAAK;IAExB,IAAI,EAAE,SAAS;IAEf,IAAI,CAAC,EAAE,MAAM;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAHjC,IAAI,EAAE,SAAS,EACtB,OAAO,EAAE,MAAM,EACR,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA,EACxC,KAAK,CAAC,EAAE,OAAO;IASjB,MAAM,CAAC,SAAS,CACd,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,OAAO,EACtB,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,QAAQ;CAQZ;AAiCD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAavD;AAqHD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,IAAI,CAAC,EAAE,MAAM,EACb,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC1C,aAAa,CAuBf;AAGD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAYhE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAErD;AAGD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,SAAS,EACtB,IAAI,CAAC,EAAE,MAAM,GACZ,aAAa,CAoBf"}
@@ -1,6 +1,3 @@
1
- /**
2
- * Structured error handling utilities for consistent error responses
3
- */
4
1
  import { ErrorCode, } from '../config/types.js';
5
2
  // Re-export ErrorCode from centralized location
6
3
  export { ErrorCode };
@@ -27,6 +24,7 @@ export const NODE_ERROR_CODE_MAP = {
27
24
  EEXIST: ErrorCode.E_INVALID_INPUT,
28
25
  EINVAL: ErrorCode.E_INVALID_INPUT,
29
26
  };
27
+ // Custom error class for MCP operations
30
28
  export class McpError extends Error {
31
29
  code;
32
30
  path;
@@ -50,9 +48,7 @@ export class McpError extends Error {
50
48
  return mcpError;
51
49
  }
52
50
  }
53
- /**
54
- * Mapping of error codes to actionable suggestions for users
55
- */
51
+ // Error code to suggestion mapping
56
52
  const ERROR_SUGGESTIONS = {
57
53
  [ErrorCode.E_ACCESS_DENIED]: 'Check that the path is within an allowed directory. Use list_allowed_directories to see available paths.',
58
54
  [ErrorCode.E_NOT_FOUND]: 'Verify the path exists. Use list_directory to explore available files and directories.',
@@ -83,6 +79,31 @@ export function classifyError(error) {
83
79
  // 3. Message pattern matching (fallback for non-Node errors)
84
80
  return classifyByMessage(error);
85
81
  }
82
+ // Assertion function for exhaustive checks
83
+ function assertNever(value) {
84
+ throw new Error(`Unhandled discriminated union member: ${JSON.stringify(value)}`);
85
+ }
86
+ // Validate ErrorCode exhaustiveness at compile time
87
+ function validateErrorCode(code) {
88
+ switch (code) {
89
+ case ErrorCode.E_ACCESS_DENIED:
90
+ case ErrorCode.E_NOT_FOUND:
91
+ case ErrorCode.E_NOT_FILE:
92
+ case ErrorCode.E_NOT_DIRECTORY:
93
+ case ErrorCode.E_TOO_LARGE:
94
+ case ErrorCode.E_BINARY_FILE:
95
+ case ErrorCode.E_TIMEOUT:
96
+ case ErrorCode.E_INVALID_PATTERN:
97
+ case ErrorCode.E_INVALID_INPUT:
98
+ case ErrorCode.E_PERMISSION_DENIED:
99
+ case ErrorCode.E_SYMLINK_NOT_ALLOWED:
100
+ case ErrorCode.E_PATH_TRAVERSAL:
101
+ case ErrorCode.E_UNKNOWN:
102
+ return code;
103
+ default:
104
+ return assertNever(code);
105
+ }
106
+ }
86
107
  function classifyByMessage(error) {
87
108
  const message = error instanceof Error ? error.message : String(error);
88
109
  const lowerMessage = message.toLowerCase();
@@ -90,84 +111,83 @@ function classifyByMessage(error) {
90
111
  if (lowerMessage.includes('not within allowed') ||
91
112
  lowerMessage.includes('access denied') ||
92
113
  lowerMessage.includes('outside allowed')) {
93
- return ErrorCode.E_ACCESS_DENIED;
114
+ return validateErrorCode(ErrorCode.E_ACCESS_DENIED);
94
115
  }
95
116
  // Not found (including ENOENT message patterns)
96
117
  if (lowerMessage.includes('not found') ||
97
118
  lowerMessage.includes('does not exist') ||
98
119
  lowerMessage.includes('enoent')) {
99
- return ErrorCode.E_NOT_FOUND;
120
+ return validateErrorCode(ErrorCode.E_NOT_FOUND);
100
121
  }
101
122
  // Type mismatches
102
123
  if (lowerMessage.includes('not a file') ||
103
124
  lowerMessage.includes('is a directory')) {
104
- return ErrorCode.E_NOT_FILE;
125
+ return validateErrorCode(ErrorCode.E_NOT_FILE);
105
126
  }
106
127
  if (lowerMessage.includes('not a directory')) {
107
- return ErrorCode.E_NOT_DIRECTORY;
128
+ return validateErrorCode(ErrorCode.E_NOT_DIRECTORY);
108
129
  }
109
130
  // Size limits
110
131
  if (lowerMessage.includes('too large') || lowerMessage.includes('exceeds')) {
111
- return ErrorCode.E_TOO_LARGE;
132
+ return validateErrorCode(ErrorCode.E_TOO_LARGE);
112
133
  }
113
134
  // Binary file
114
135
  if (lowerMessage.includes('binary')) {
115
- return ErrorCode.E_BINARY_FILE;
136
+ return validateErrorCode(ErrorCode.E_BINARY_FILE);
116
137
  }
117
138
  // Timeout
118
139
  if (lowerMessage.includes('timeout') || lowerMessage.includes('timed out')) {
119
- return ErrorCode.E_TIMEOUT;
140
+ return validateErrorCode(ErrorCode.E_TIMEOUT);
120
141
  }
121
142
  // Invalid pattern
122
143
  if (lowerMessage.includes('invalid') && lowerMessage.includes('pattern')) {
123
- return ErrorCode.E_INVALID_PATTERN;
144
+ return validateErrorCode(ErrorCode.E_INVALID_PATTERN);
124
145
  }
125
146
  if (lowerMessage.includes('regex') || lowerMessage.includes('regexp')) {
126
- return ErrorCode.E_INVALID_PATTERN;
147
+ return validateErrorCode(ErrorCode.E_INVALID_PATTERN);
127
148
  }
128
149
  // Invalid input
129
150
  if (lowerMessage.includes('invalid') ||
130
151
  lowerMessage.includes('cannot specify')) {
131
- return ErrorCode.E_INVALID_INPUT;
152
+ return validateErrorCode(ErrorCode.E_INVALID_INPUT);
132
153
  }
133
154
  // Permission (when no error code available)
134
155
  if (lowerMessage.includes('permission denied') ||
135
156
  lowerMessage.includes('permission')) {
136
- return ErrorCode.E_PERMISSION_DENIED;
157
+ return validateErrorCode(ErrorCode.E_PERMISSION_DENIED);
137
158
  }
138
159
  // Symlink
139
160
  if (lowerMessage.includes('symlink')) {
140
- return ErrorCode.E_SYMLINK_NOT_ALLOWED;
161
+ return validateErrorCode(ErrorCode.E_SYMLINK_NOT_ALLOWED);
141
162
  }
142
163
  // Path traversal
143
164
  if (lowerMessage.includes('traversal')) {
144
- return ErrorCode.E_PATH_TRAVERSAL;
165
+ return validateErrorCode(ErrorCode.E_PATH_TRAVERSAL);
145
166
  }
146
- return ErrorCode.E_UNKNOWN;
167
+ return validateErrorCode(ErrorCode.E_UNKNOWN);
147
168
  }
148
- /**
149
- * Create a detailed error object with suggestions
150
- */
169
+ // Create detailed error with suggestions
151
170
  export function createDetailedError(error, path, additionalDetails) {
152
171
  const message = error instanceof Error ? error.message : String(error);
153
172
  const code = classifyError(error);
154
173
  const suggestion = ERROR_SUGGESTIONS[code];
155
174
  const effectivePath = path ?? (error instanceof McpError ? error.path : undefined);
175
+ // Merge details from McpError and additionalDetails
176
+ const mcpDetails = error instanceof McpError ? error.details : undefined;
156
177
  const mergedDetails = {
157
- ...(error instanceof McpError ? error.details : undefined),
158
- ...(additionalDetails ?? undefined),
178
+ ...mcpDetails,
179
+ ...additionalDetails,
159
180
  };
181
+ const hasDetails = Object.keys(mergedDetails).length > 0;
160
182
  return {
161
183
  code,
162
184
  message,
163
185
  path: effectivePath,
164
186
  suggestion,
165
- details: Object.keys(mergedDetails).length > 0 ? mergedDetails : undefined,
187
+ details: hasDetails ? mergedDetails : undefined,
166
188
  };
167
189
  }
168
- /**
169
- * Format a detailed error for display
170
- */
190
+ // Format error for display
171
191
  export function formatDetailedError(error) {
172
192
  const lines = [`Error [${error.code}]: ${error.message}`];
173
193
  if (error.path) {
@@ -178,12 +198,10 @@ export function formatDetailedError(error) {
178
198
  }
179
199
  return lines.join('\n');
180
200
  }
181
- /**
182
- * Get suggestion for an error code
183
- */
184
201
  export function getSuggestion(code) {
185
202
  return ERROR_SUGGESTIONS[code];
186
203
  }
204
+ // Create MCP-compatible error response
187
205
  export function createErrorResponse(error, defaultCode, path) {
188
206
  const detailed = createDetailedError(error, path);
189
207
  // Use more specific code if classified, otherwise use default
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"file-operations.d.ts","sourceRoot":"","sources":["../../src/lib/file-operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-operations.d.ts","sourceRoot":"","sources":["../../src/lib/file-operations.ts"],"names":[],"mappings":"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"}