@j0hanz/filesystem-context-mcp 1.0.9 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -5
- package/dist/__tests__/schemas/validators.test.js +32 -5
- package/dist/__tests__/schemas/validators.test.js.map +1 -1
- package/dist/config/types.d.ts +28 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js.map +1 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/constants.d.ts +7 -7
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +24 -37
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/directory-helpers.d.ts +1 -2
- package/dist/lib/directory-helpers.d.ts.map +1 -1
- package/dist/lib/directory-helpers.js +2 -5
- package/dist/lib/directory-helpers.js.map +1 -1
- package/dist/lib/errors.d.ts +2 -0
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +22 -33
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/file-operations.d.ts +2 -1
- package/dist/lib/file-operations.d.ts.map +1 -1
- package/dist/lib/file-operations.js +249 -146
- package/dist/lib/file-operations.js.map +1 -1
- package/dist/lib/formatters.d.ts +1 -12
- package/dist/lib/formatters.d.ts.map +1 -1
- package/dist/lib/formatters.js +11 -14
- package/dist/lib/formatters.js.map +1 -1
- package/dist/lib/fs-helpers.d.ts.map +1 -1
- package/dist/lib/fs-helpers.js +41 -66
- package/dist/lib/fs-helpers.js.map +1 -1
- package/dist/lib/image-parsing.d.ts.map +1 -1
- package/dist/lib/image-parsing.js +27 -19
- package/dist/lib/image-parsing.js.map +1 -1
- package/dist/lib/mcp-logger.d.ts.map +1 -1
- package/dist/lib/mcp-logger.js +16 -12
- package/dist/lib/mcp-logger.js.map +1 -1
- package/dist/lib/path-utils.d.ts.map +1 -1
- package/dist/lib/path-utils.js +0 -2
- package/dist/lib/path-utils.js.map +1 -1
- package/dist/lib/path-validation.d.ts.map +1 -1
- package/dist/lib/path-validation.js +45 -24
- package/dist/lib/path-validation.js.map +1 -1
- package/dist/lib/search-helpers.d.ts +3 -0
- package/dist/lib/search-helpers.d.ts.map +1 -1
- package/dist/lib/search-helpers.js +44 -56
- package/dist/lib/search-helpers.js.map +1 -1
- package/dist/schemas/inputs.d.ts +3 -2
- package/dist/schemas/inputs.d.ts.map +1 -1
- package/dist/schemas/inputs.js +22 -4
- package/dist/schemas/inputs.js.map +1 -1
- package/dist/schemas/outputs.d.ts +31 -12
- package/dist/schemas/outputs.d.ts.map +1 -1
- package/dist/schemas/outputs.js +16 -0
- package/dist/schemas/outputs.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +39 -17
- package/dist/server.js.map +1 -1
- package/dist/tools/analyze-directory.d.ts.map +1 -1
- package/dist/tools/analyze-directory.js +6 -6
- package/dist/tools/analyze-directory.js.map +1 -1
- package/dist/tools/list-allowed-dirs.d.ts.map +1 -1
- package/dist/tools/list-allowed-dirs.js +20 -1
- package/dist/tools/list-allowed-dirs.js.map +1 -1
- package/dist/tools/list-directory.d.ts.map +1 -1
- package/dist/tools/list-directory.js +11 -3
- package/dist/tools/list-directory.js.map +1 -1
- package/dist/tools/read-file.d.ts.map +1 -1
- package/dist/tools/read-file.js +7 -4
- package/dist/tools/read-file.js.map +1 -1
- package/dist/tools/read-multiple-files.d.ts.map +1 -1
- package/dist/tools/read-multiple-files.js +4 -4
- package/dist/tools/read-multiple-files.js.map +1 -1
- package/dist/tools/search-content.d.ts.map +1 -1
- package/dist/tools/search-content.js +5 -10
- package/dist/tools/search-content.js.map +1 -1
- package/dist/tools/search-files.d.ts.map +1 -1
- package/dist/tools/search-files.js +6 -5
- package/dist/tools/search-files.js.map +1 -1
- package/package.json +8 -8
package/dist/lib/errors.js
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import { ErrorCode, } from '../config/types.js';
|
|
2
|
-
// Re-export ErrorCode from centralized location
|
|
3
2
|
export { ErrorCode };
|
|
4
|
-
// Type guard for Node.js ErrnoException
|
|
5
3
|
export function isNodeError(error) {
|
|
6
4
|
return (error instanceof Error &&
|
|
7
5
|
'code' in error &&
|
|
8
6
|
typeof error.code === 'string');
|
|
9
7
|
}
|
|
10
|
-
// Mapping of Node.js error codes to McpError codes
|
|
11
8
|
export const NODE_ERROR_CODE_MAP = {
|
|
12
9
|
ENOENT: ErrorCode.E_NOT_FOUND,
|
|
13
10
|
EACCES: ErrorCode.E_PERMISSION_DENIED,
|
|
@@ -24,7 +21,6 @@ export const NODE_ERROR_CODE_MAP = {
|
|
|
24
21
|
EEXIST: ErrorCode.E_INVALID_INPUT,
|
|
25
22
|
EINVAL: ErrorCode.E_INVALID_INPUT,
|
|
26
23
|
};
|
|
27
|
-
// Custom error class for MCP operations
|
|
28
24
|
export class McpError extends Error {
|
|
29
25
|
code;
|
|
30
26
|
path;
|
|
@@ -35,20 +31,16 @@ export class McpError extends Error {
|
|
|
35
31
|
this.path = path;
|
|
36
32
|
this.details = details;
|
|
37
33
|
this.name = 'McpError';
|
|
38
|
-
// Ensure proper prototype chain for instanceof checks
|
|
39
34
|
Object.setPrototypeOf(this, McpError.prototype);
|
|
40
35
|
}
|
|
41
|
-
// Create McpError from existing error
|
|
42
36
|
static fromError(code, message, originalError, path, details) {
|
|
43
37
|
const mcpError = new McpError(code, message, path, details, originalError);
|
|
44
|
-
// Preserve stack trace if available
|
|
45
38
|
if (originalError instanceof Error && originalError.stack) {
|
|
46
39
|
mcpError.stack = `${String(mcpError.stack)}\nCaused by: ${originalError.stack}`;
|
|
47
40
|
}
|
|
48
41
|
return mcpError;
|
|
49
42
|
}
|
|
50
43
|
}
|
|
51
|
-
// Error code to suggestion mapping
|
|
52
44
|
const ERROR_SUGGESTIONS = {
|
|
53
45
|
[ErrorCode.E_ACCESS_DENIED]: 'Check that the path is within an allowed directory. Use list_allowed_directories to see available paths.',
|
|
54
46
|
[ErrorCode.E_NOT_FOUND]: 'Verify the path exists. Use list_directory to explore available files and directories.',
|
|
@@ -64,26 +56,24 @@ const ERROR_SUGGESTIONS = {
|
|
|
64
56
|
[ErrorCode.E_PATH_TRAVERSAL]: 'Path traversal attempts (../) that escape allowed directories are not permitted.',
|
|
65
57
|
[ErrorCode.E_UNKNOWN]: 'An unexpected error occurred. Check the error message for details.',
|
|
66
58
|
};
|
|
67
|
-
// Classify an unknown error into a standardized ErrorCode
|
|
68
59
|
export function classifyError(error) {
|
|
69
|
-
// 1. Direct McpError classification
|
|
70
60
|
if (error instanceof McpError) {
|
|
71
61
|
return error.code;
|
|
72
62
|
}
|
|
73
|
-
// 2. Node.js ErrnoException code mapping
|
|
74
63
|
if (isNodeError(error) && error.code) {
|
|
75
64
|
const mapped = NODE_ERROR_CODE_MAP[error.code];
|
|
76
65
|
if (mapped)
|
|
77
66
|
return mapped;
|
|
78
67
|
}
|
|
79
|
-
|
|
68
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
69
|
+
if (message.toLowerCase().includes('enoent')) {
|
|
70
|
+
return validateErrorCode(ErrorCode.E_NOT_FOUND);
|
|
71
|
+
}
|
|
80
72
|
return classifyByMessage(error);
|
|
81
73
|
}
|
|
82
|
-
// Assertion function for exhaustive checks
|
|
83
74
|
function assertNever(value) {
|
|
84
75
|
throw new Error(`Unhandled discriminated union member: ${JSON.stringify(value)}`);
|
|
85
76
|
}
|
|
86
|
-
// Validate ErrorCode exhaustiveness at compile time
|
|
87
77
|
function validateErrorCode(code) {
|
|
88
78
|
switch (code) {
|
|
89
79
|
case ErrorCode.E_ACCESS_DENIED:
|
|
@@ -107,19 +97,18 @@ function validateErrorCode(code) {
|
|
|
107
97
|
function classifyByMessage(error) {
|
|
108
98
|
const message = error instanceof Error ? error.message : String(error);
|
|
109
99
|
const lowerMessage = message.toLowerCase();
|
|
110
|
-
// Access/security related
|
|
111
100
|
if (lowerMessage.includes('not within allowed') ||
|
|
112
101
|
lowerMessage.includes('access denied') ||
|
|
113
102
|
lowerMessage.includes('outside allowed')) {
|
|
114
103
|
return validateErrorCode(ErrorCode.E_ACCESS_DENIED);
|
|
115
104
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
lowerMessage.includes('
|
|
119
|
-
lowerMessage.includes('
|
|
105
|
+
if ((lowerMessage.includes('path') ||
|
|
106
|
+
lowerMessage.includes('file') ||
|
|
107
|
+
lowerMessage.includes('directory')) &&
|
|
108
|
+
(lowerMessage.includes('not found') ||
|
|
109
|
+
lowerMessage.includes('does not exist'))) {
|
|
120
110
|
return validateErrorCode(ErrorCode.E_NOT_FOUND);
|
|
121
111
|
}
|
|
122
|
-
// Type mismatches
|
|
123
112
|
if (lowerMessage.includes('not a file') ||
|
|
124
113
|
lowerMessage.includes('is a directory')) {
|
|
125
114
|
return validateErrorCode(ErrorCode.E_NOT_FILE);
|
|
@@ -127,52 +116,42 @@ function classifyByMessage(error) {
|
|
|
127
116
|
if (lowerMessage.includes('not a directory')) {
|
|
128
117
|
return validateErrorCode(ErrorCode.E_NOT_DIRECTORY);
|
|
129
118
|
}
|
|
130
|
-
// Size limits
|
|
131
119
|
if (lowerMessage.includes('too large') || lowerMessage.includes('exceeds')) {
|
|
132
120
|
return validateErrorCode(ErrorCode.E_TOO_LARGE);
|
|
133
121
|
}
|
|
134
|
-
// Binary file
|
|
135
122
|
if (lowerMessage.includes('binary')) {
|
|
136
123
|
return validateErrorCode(ErrorCode.E_BINARY_FILE);
|
|
137
124
|
}
|
|
138
|
-
// Timeout
|
|
139
125
|
if (lowerMessage.includes('timeout') || lowerMessage.includes('timed out')) {
|
|
140
126
|
return validateErrorCode(ErrorCode.E_TIMEOUT);
|
|
141
127
|
}
|
|
142
|
-
// Invalid pattern
|
|
143
128
|
if (lowerMessage.includes('invalid') && lowerMessage.includes('pattern')) {
|
|
144
129
|
return validateErrorCode(ErrorCode.E_INVALID_PATTERN);
|
|
145
130
|
}
|
|
146
131
|
if (lowerMessage.includes('regex') || lowerMessage.includes('regexp')) {
|
|
147
132
|
return validateErrorCode(ErrorCode.E_INVALID_PATTERN);
|
|
148
133
|
}
|
|
149
|
-
// Invalid input
|
|
150
134
|
if (lowerMessage.includes('invalid') ||
|
|
151
135
|
lowerMessage.includes('cannot specify')) {
|
|
152
136
|
return validateErrorCode(ErrorCode.E_INVALID_INPUT);
|
|
153
137
|
}
|
|
154
|
-
// Permission (when no error code available)
|
|
155
138
|
if (lowerMessage.includes('permission denied') ||
|
|
156
139
|
lowerMessage.includes('permission')) {
|
|
157
140
|
return validateErrorCode(ErrorCode.E_PERMISSION_DENIED);
|
|
158
141
|
}
|
|
159
|
-
// Symlink
|
|
160
142
|
if (lowerMessage.includes('symlink')) {
|
|
161
143
|
return validateErrorCode(ErrorCode.E_SYMLINK_NOT_ALLOWED);
|
|
162
144
|
}
|
|
163
|
-
// Path traversal
|
|
164
145
|
if (lowerMessage.includes('traversal')) {
|
|
165
146
|
return validateErrorCode(ErrorCode.E_PATH_TRAVERSAL);
|
|
166
147
|
}
|
|
167
148
|
return validateErrorCode(ErrorCode.E_UNKNOWN);
|
|
168
149
|
}
|
|
169
|
-
// Create detailed error with suggestions
|
|
170
150
|
export function createDetailedError(error, path, additionalDetails) {
|
|
171
151
|
const message = error instanceof Error ? error.message : String(error);
|
|
172
152
|
const code = classifyError(error);
|
|
173
153
|
const suggestion = ERROR_SUGGESTIONS[code];
|
|
174
154
|
const effectivePath = path ?? (error instanceof McpError ? error.path : undefined);
|
|
175
|
-
// Merge details from McpError and additionalDetails
|
|
176
155
|
const mcpDetails = error instanceof McpError ? error.details : undefined;
|
|
177
156
|
const mergedDetails = {
|
|
178
157
|
...mcpDetails,
|
|
@@ -187,7 +166,6 @@ export function createDetailedError(error, path, additionalDetails) {
|
|
|
187
166
|
details: hasDetails ? mergedDetails : undefined,
|
|
188
167
|
};
|
|
189
168
|
}
|
|
190
|
-
// Format error for display
|
|
191
169
|
export function formatDetailedError(error) {
|
|
192
170
|
const lines = [`Error [${error.code}]: ${error.message}`];
|
|
193
171
|
if (error.path) {
|
|
@@ -201,10 +179,8 @@ export function formatDetailedError(error) {
|
|
|
201
179
|
export function getSuggestion(code) {
|
|
202
180
|
return ERROR_SUGGESTIONS[code];
|
|
203
181
|
}
|
|
204
|
-
// Create MCP-compatible error response
|
|
205
182
|
export function createErrorResponse(error, defaultCode, path) {
|
|
206
183
|
const detailed = createDetailedError(error, path);
|
|
207
|
-
// Use more specific code if classified, otherwise use default
|
|
208
184
|
const finalCode = detailed.code === ErrorCode.E_UNKNOWN ? defaultCode : detailed.code;
|
|
209
185
|
detailed.code = finalCode;
|
|
210
186
|
return {
|
|
@@ -221,4 +197,17 @@ export function createErrorResponse(error, defaultCode, path) {
|
|
|
221
197
|
isError: true,
|
|
222
198
|
};
|
|
223
199
|
}
|
|
200
|
+
export function validateMutuallyExclusive(options, optionNames, context) {
|
|
201
|
+
const definedOptions = optionNames.filter((name) => options[name] !== undefined);
|
|
202
|
+
if (definedOptions.length > 1) {
|
|
203
|
+
throw new McpError(ErrorCode.E_INVALID_INPUT, `Cannot specify multiple of: ${definedOptions.join(', ')}`, context);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
export function validateOptionPair(options, optionA, optionB, context) {
|
|
207
|
+
const hasA = options[optionA] !== undefined;
|
|
208
|
+
const hasB = options[optionB] !== undefined;
|
|
209
|
+
if (hasA !== hasB) {
|
|
210
|
+
throw new McpError(ErrorCode.E_INVALID_INPUT, `${optionA} and ${optionB} must be specified together`, context);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
224
213
|
//# sourceMappingURL=errors.js.map
|
package/dist/lib/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,GAEV,MAAM,oBAAoB,CAAC;AAE5B,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ export { readFile };
|
|
|
18
18
|
export declare function readMultipleFiles(filePaths: string[], options?: {
|
|
19
19
|
encoding?: BufferEncoding;
|
|
20
20
|
maxSize?: number;
|
|
21
|
+
maxTotalSize?: number;
|
|
21
22
|
head?: number;
|
|
22
23
|
tail?: number;
|
|
23
24
|
}): Promise<{
|
|
@@ -51,7 +52,7 @@ export declare function getDirectoryTree(dirPath: string, options?: {
|
|
|
51
52
|
includeSize?: boolean;
|
|
52
53
|
maxFiles?: number;
|
|
53
54
|
}): Promise<DirectoryTreeResult>;
|
|
54
|
-
export declare function readMediaFile(filePath: string,
|
|
55
|
+
export declare function readMediaFile(filePath: string, { maxSize }?: {
|
|
55
56
|
maxSize?: number;
|
|
56
57
|
}): Promise<MediaFileResult>;
|
|
57
58
|
//# sourceMappingURL=file-operations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-operations.d.ts","sourceRoot":"","sources":["../../src/lib/file-operations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"file-operations.d.ts","sourceRoot":"","sources":["../../src/lib/file-operations.ts"],"names":[],"mappings":"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"}
|