@j0hanz/fs-context-mcp 2.0.0 → 2.0.1

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 (177) hide show
  1. package/README.md +22 -17
  2. package/dist/config.d.ts +117 -0
  3. package/dist/config.d.ts.map +1 -0
  4. package/dist/config.js +31 -0
  5. package/dist/config.js.map +1 -0
  6. package/dist/index.js +2 -2
  7. package/dist/index.js.map +1 -1
  8. package/dist/lib/constants.d.ts +3 -3
  9. package/dist/lib/constants.d.ts.map +1 -1
  10. package/dist/lib/constants.js +129 -3
  11. package/dist/lib/constants.js.map +1 -1
  12. package/dist/lib/errors.d.ts +1 -1
  13. package/dist/lib/errors.d.ts.map +1 -1
  14. package/dist/lib/errors.js +9 -9
  15. package/dist/lib/errors.js.map +1 -1
  16. package/dist/lib/file-operations/file-info.d.ts +7 -1
  17. package/dist/lib/file-operations/file-info.d.ts.map +1 -1
  18. package/dist/lib/file-operations/file-info.js +84 -8
  19. package/dist/lib/file-operations/file-info.js.map +1 -1
  20. package/dist/lib/file-operations/get-multiple-file-info.d.ts.map +1 -1
  21. package/dist/lib/file-operations/get-multiple-file-info.js +8 -4
  22. package/dist/lib/file-operations/get-multiple-file-info.js.map +1 -1
  23. package/dist/lib/file-operations/glob-engine.d.ts.map +1 -1
  24. package/dist/lib/file-operations/glob-engine.js +46 -19
  25. package/dist/lib/file-operations/glob-engine.js.map +1 -1
  26. package/dist/lib/file-operations/list-directory-entry.d.ts.map +1 -1
  27. package/dist/lib/file-operations/list-directory-entry.js +5 -3
  28. package/dist/lib/file-operations/list-directory-entry.js.map +1 -1
  29. package/dist/lib/file-operations/list-directory-helpers.d.ts.map +1 -1
  30. package/dist/lib/file-operations/list-directory-helpers.js +11 -4
  31. package/dist/lib/file-operations/list-directory-helpers.js.map +1 -1
  32. package/dist/lib/file-operations/list-directory.d.ts +12 -2
  33. package/dist/lib/file-operations/list-directory.d.ts.map +1 -1
  34. package/dist/lib/file-operations/list-directory.js +155 -3
  35. package/dist/lib/file-operations/list-directory.js.map +1 -1
  36. package/dist/lib/file-operations/read-multiple-files-helpers.d.ts.map +1 -1
  37. package/dist/lib/file-operations/read-multiple-files-helpers.js +40 -19
  38. package/dist/lib/file-operations/read-multiple-files-helpers.js.map +1 -1
  39. package/dist/lib/file-operations/read-multiple-files.d.ts +18 -1
  40. package/dist/lib/file-operations/read-multiple-files.d.ts.map +1 -1
  41. package/dist/lib/file-operations/read-multiple-files.js +107 -2
  42. package/dist/lib/file-operations/read-multiple-files.js.map +1 -1
  43. package/dist/lib/file-operations/search/engine.d.ts.map +1 -1
  44. package/dist/lib/file-operations/search/engine.js +7 -2
  45. package/dist/lib/file-operations/search/engine.js.map +1 -1
  46. package/dist/lib/file-operations/search/scan-file.d.ts.map +1 -1
  47. package/dist/lib/file-operations/search/scan-file.js +6 -3
  48. package/dist/lib/file-operations/search/scan-file.js.map +1 -1
  49. package/dist/lib/file-operations/search/scan-runner.d.ts.map +1 -1
  50. package/dist/lib/file-operations/search/scan-runner.js +21 -16
  51. package/dist/lib/file-operations/search/scan-runner.js.map +1 -1
  52. package/dist/lib/file-operations/search-content.d.ts +64 -17
  53. package/dist/lib/file-operations/search-content.d.ts.map +1 -1
  54. package/dist/lib/file-operations/search-content.js +828 -3
  55. package/dist/lib/file-operations/search-content.js.map +1 -1
  56. package/dist/lib/file-operations/search-files-collector.d.ts +2 -2
  57. package/dist/lib/file-operations/search-files-collector.d.ts.map +1 -1
  58. package/dist/lib/file-operations/search-files-collector.js +23 -11
  59. package/dist/lib/file-operations/search-files-collector.js.map +1 -1
  60. package/dist/lib/file-operations/search-files-helpers.d.ts.map +1 -1
  61. package/dist/lib/file-operations/search-files-helpers.js +5 -2
  62. package/dist/lib/file-operations/search-files-helpers.js.map +1 -1
  63. package/dist/lib/file-operations/search-files.d.ts +20 -2
  64. package/dist/lib/file-operations/search-files.d.ts.map +1 -1
  65. package/dist/lib/file-operations/search-files.js +192 -5
  66. package/dist/lib/file-operations/search-files.js.map +1 -1
  67. package/dist/lib/file-operations/search-worker.d.ts +30 -0
  68. package/dist/lib/file-operations/search-worker.d.ts.map +1 -0
  69. package/dist/lib/file-operations/search-worker.js +98 -0
  70. package/dist/lib/file-operations/search-worker.js.map +1 -0
  71. package/dist/lib/fs-helpers/readers/read-modes.d.ts.map +1 -1
  72. package/dist/lib/fs-helpers/readers/read-modes.js +6 -4
  73. package/dist/lib/fs-helpers/readers/read-modes.js.map +1 -1
  74. package/dist/lib/fs-helpers/readers/read-options.d.ts.map +1 -1
  75. package/dist/lib/fs-helpers/readers/read-options.js +8 -3
  76. package/dist/lib/fs-helpers/readers/read-options.js.map +1 -1
  77. package/dist/lib/fs-helpers.d.ts +49 -5
  78. package/dist/lib/fs-helpers.d.ts.map +1 -1
  79. package/dist/lib/fs-helpers.js +479 -5
  80. package/dist/lib/fs-helpers.js.map +1 -1
  81. package/dist/lib/observability/diagnostics-helpers.d.ts +3 -0
  82. package/dist/lib/observability/diagnostics-helpers.d.ts.map +1 -0
  83. package/dist/lib/observability/diagnostics-helpers.js +50 -0
  84. package/dist/lib/observability/diagnostics-helpers.js.map +1 -0
  85. package/dist/lib/observability/diagnostics.d.ts.map +1 -1
  86. package/dist/lib/observability/diagnostics.js +24 -59
  87. package/dist/lib/observability/diagnostics.js.map +1 -1
  88. package/dist/lib/observability.d.ts +15 -0
  89. package/dist/lib/observability.d.ts.map +1 -0
  90. package/dist/lib/observability.js +196 -0
  91. package/dist/lib/observability.js.map +1 -0
  92. package/dist/lib/path-validation/validate-existing.js +1 -1
  93. package/dist/lib/path-validation/validate-existing.js.map +1 -1
  94. package/dist/lib/path-validation.d.ts +22 -5
  95. package/dist/lib/path-validation.d.ts.map +1 -1
  96. package/dist/lib/path-validation.js +340 -5
  97. package/dist/lib/path-validation.js.map +1 -1
  98. package/dist/schemas/inputs/directory.d.ts +1 -1
  99. package/dist/schemas/inputs/directory.d.ts.map +1 -1
  100. package/dist/schemas/inputs/directory.js +1 -12
  101. package/dist/schemas/inputs/directory.js.map +1 -1
  102. package/dist/schemas/inputs/helpers.d.ts +2 -0
  103. package/dist/schemas/inputs/helpers.d.ts.map +1 -0
  104. package/dist/schemas/inputs/helpers.js +13 -0
  105. package/dist/schemas/inputs/helpers.js.map +1 -0
  106. package/dist/schemas/inputs/safe-glob.d.ts +2 -0
  107. package/dist/schemas/inputs/safe-glob.d.ts.map +1 -0
  108. package/dist/schemas/inputs/safe-glob.js +13 -0
  109. package/dist/schemas/inputs/safe-glob.js.map +1 -0
  110. package/dist/schemas/inputs/search.d.ts.map +1 -1
  111. package/dist/schemas/inputs/search.js +2 -13
  112. package/dist/schemas/inputs/search.js.map +1 -1
  113. package/dist/schemas/output-helpers.d.ts +6 -1
  114. package/dist/schemas/output-helpers.d.ts.map +1 -1
  115. package/dist/schemas/output-helpers.js +5 -0
  116. package/dist/schemas/output-helpers.js.map +1 -1
  117. package/dist/schemas/outputs/file-info.d.ts +2 -2
  118. package/dist/schemas/outputs/file-info.d.ts.map +1 -1
  119. package/dist/schemas/outputs/file-info.js +2 -8
  120. package/dist/schemas/outputs/file-info.js.map +1 -1
  121. package/dist/schemas/outputs/read.d.ts.map +1 -1
  122. package/dist/schemas/outputs/read.js +2 -7
  123. package/dist/schemas/outputs/read.js.map +1 -1
  124. package/dist/schemas.d.ts +256 -0
  125. package/dist/schemas.d.ts.map +1 -0
  126. package/dist/schemas.js +379 -0
  127. package/dist/schemas.js.map +1 -0
  128. package/dist/server/roots.d.ts.map +1 -1
  129. package/dist/server/roots.js +19 -15
  130. package/dist/server/roots.js.map +1 -1
  131. package/dist/server.d.ts +11 -2
  132. package/dist/server.d.ts.map +1 -1
  133. package/dist/server.js +212 -10
  134. package/dist/server.js.map +1 -1
  135. package/dist/tools/get-file-info.d.ts.map +1 -1
  136. package/dist/tools/get-file-info.js +5 -1
  137. package/dist/tools/get-file-info.js.map +1 -1
  138. package/dist/tools/get-multiple-file-info.d.ts.map +1 -1
  139. package/dist/tools/get-multiple-file-info.js +6 -3
  140. package/dist/tools/get-multiple-file-info.js.map +1 -1
  141. package/dist/tools/list-directory-formatting.d.ts.map +1 -1
  142. package/dist/tools/list-directory-formatting.js +7 -1
  143. package/dist/tools/list-directory-formatting.js.map +1 -1
  144. package/dist/tools/list-directory.d.ts.map +1 -1
  145. package/dist/tools/list-directory.js +5 -4
  146. package/dist/tools/list-directory.js.map +1 -1
  147. package/dist/tools/read-file.d.ts.map +1 -1
  148. package/dist/tools/read-file.js +9 -4
  149. package/dist/tools/read-file.js.map +1 -1
  150. package/dist/tools/read-multiple-files.d.ts.map +1 -1
  151. package/dist/tools/read-multiple-files.js +9 -4
  152. package/dist/tools/read-multiple-files.js.map +1 -1
  153. package/dist/tools/search-content.d.ts.map +1 -1
  154. package/dist/tools/search-content.js +19 -17
  155. package/dist/tools/search-content.js.map +1 -1
  156. package/dist/tools/search-files.d.ts.map +1 -1
  157. package/dist/tools/search-files.js +15 -12
  158. package/dist/tools/search-files.js.map +1 -1
  159. package/dist/tools/shared/file-info.d.ts +4 -2
  160. package/dist/tools/shared/file-info.d.ts.map +1 -1
  161. package/dist/tools/shared/file-info.js +4 -2
  162. package/dist/tools/shared/file-info.js.map +1 -1
  163. package/dist/tools/shared/resolve-path.d.ts +2 -0
  164. package/dist/tools/shared/resolve-path.d.ts.map +1 -0
  165. package/dist/tools/shared/resolve-path.js +11 -0
  166. package/dist/tools/shared/resolve-path.js.map +1 -0
  167. package/dist/tools/shared/search-formatting.d.ts.map +1 -1
  168. package/dist/tools/shared/search-formatting.js +58 -38
  169. package/dist/tools/shared/search-formatting.js.map +1 -1
  170. package/dist/tools/tool-response.d.ts.map +1 -1
  171. package/dist/tools/tool-response.js +11 -6
  172. package/dist/tools/tool-response.js.map +1 -1
  173. package/dist/tools.d.ts +41 -0
  174. package/dist/tools.d.ts.map +1 -0
  175. package/dist/tools.js +624 -0
  176. package/dist/tools.js.map +1 -0
  177. package/package.json +5 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"roots.d.ts","sourceRoot":"","sources":["../../src/server/roots.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA6BzE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAE7D;AAgBD,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC,CA6BjE;AAsFD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAmB5D;AAED,wBAAgB,6BAA6B,IAAI,IAAI,CAIpD"}
1
+ {"version":3,"file":"roots.d.ts","sourceRoot":"","sources":["../../src/server/roots.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA6BzE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAE7D;AAgBD,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC,CA6BjE;AA0FD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAmB5D;AAED,wBAAgB,6BAA6B,IAAI,IAAI,CAIpD"}
@@ -43,26 +43,30 @@ export async function recomputeAllowedDirectories() {
43
43
  cleanup();
44
44
  }
45
45
  }
46
+ function extractRoots(value) {
47
+ const rawRoots = typeof value === 'object' && value !== null && 'roots' in value
48
+ ? value.roots
49
+ : undefined;
50
+ return Array.isArray(rawRoots) ? rawRoots.filter(isRoot) : [];
51
+ }
52
+ async function resolveRootDirectories(roots) {
53
+ if (roots.length === 0)
54
+ return [];
55
+ const { signal, cleanup } = createTimedAbortSignal(undefined, ROOTS_TIMEOUT_MS);
56
+ try {
57
+ return await getValidRootDirectories(roots, signal);
58
+ }
59
+ finally {
60
+ cleanup();
61
+ }
62
+ }
46
63
  async function updateRootsFromClient(server) {
47
64
  try {
48
65
  const rootsResult = await server.server.listRoots(undefined, {
49
66
  timeout: ROOTS_TIMEOUT_MS,
50
67
  });
51
- const rootsResultUnknown = rootsResult;
52
- const rawRoots = typeof rootsResultUnknown === 'object' &&
53
- rootsResultUnknown !== null &&
54
- 'roots' in rootsResultUnknown
55
- ? rootsResultUnknown.roots
56
- : undefined;
57
- const roots = Array.isArray(rawRoots) ? rawRoots.filter(isRoot) : [];
58
- const { signal, cleanup } = createTimedAbortSignal(undefined, ROOTS_TIMEOUT_MS);
59
- try {
60
- rootDirectories =
61
- roots.length > 0 ? await getValidRootDirectories(roots, signal) : [];
62
- }
63
- finally {
64
- cleanup();
65
- }
68
+ const roots = extractRoots(rootsResult);
69
+ rootDirectories = await resolveRootDirectories(roots);
66
70
  }
67
71
  catch (error) {
68
72
  rootDirectories = [];
@@ -1 +1 @@
1
- {"version":3,"file":"roots.js","sourceRoot":"","sources":["../../src/server/roots.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roots.js","sourceRoot":"","sources":["../../src/server/roots.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -1,6 +1,15 @@
1
1
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import { type ServerOptions } from './server/roots.js';
3
- export { parseArgs } from './server/cli.js';
2
+ export interface ParseArgsResult {
3
+ allowedDirs: string[];
4
+ allowCwd: boolean;
5
+ }
6
+ export declare function normalizeAllowedDirectories(dirs: readonly string[]): string[];
7
+ export declare function parseArgs(): Promise<ParseArgsResult>;
8
+ interface ServerOptions {
9
+ allowCwd?: boolean;
10
+ cliAllowedDirs?: string[];
11
+ }
4
12
  export declare function createServer(options?: ServerOptions): McpServer;
5
13
  export declare function startServer(server: McpServer): Promise<void>;
14
+ export {};
6
15
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOpE,OAAO,EAIL,KAAK,aAAa,EAEnB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAwD5C,wBAAgB,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,SAAS,CAoBnE;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAUlE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA4BpE,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAgED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAK7E;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC,CAkB1D;AAED,UAAU,aAAa;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAqOD,wBAAgB,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,SAAS,CAwBnE;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAUlE"}
package/dist/server.js CHANGED
@@ -1,15 +1,214 @@
1
1
  import * as fs from 'node:fs/promises';
2
2
  import * as path from 'node:path';
3
3
  import { fileURLToPath } from 'node:url';
4
+ import { parseArgs as parseNodeArgs } from 'node:util';
4
5
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
6
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
7
+ import { InitializedNotificationSchema, RootsListChangedNotificationSchema, } from '@modelcontextprotocol/sdk/types.js';
6
8
  import { z } from 'zod';
7
9
  import packageJsonRaw from '../package.json' with { type: 'json' };
8
10
  import { ErrorCode, McpError } from './lib/errors.js';
9
- import { logMissingDirectoriesIfNeeded, recomputeAllowedDirectories, registerRootHandlers, setServerOptions, } from './server/roots.js';
10
- import { registerAllTools } from './tools/index.js';
11
- import { buildToolErrorResponse } from './tools/tool-response.js';
12
- export { parseArgs } from './server/cli.js';
11
+ import { assertNotAborted, createTimedAbortSignal, withAbort, } from './lib/fs-helpers.js';
12
+ import { getAllowedDirectories, getValidRootDirectories, isPathWithinDirectories, normalizePath, RESERVED_DEVICE_NAMES, setAllowedDirectoriesResolved, } from './lib/path-validation.js';
13
+ import { registerAllTools } from './tools.js';
14
+ import { buildToolErrorResponse } from './tools.js';
15
+ function validateCliPath(inputPath) {
16
+ if (inputPath.includes('\0')) {
17
+ throw new Error('Path contains null bytes');
18
+ }
19
+ if (isWindowsDriveRelativePath(inputPath)) {
20
+ throw new Error('Windows drive-relative paths are not allowed. Use C:\\path or C:/path instead of C:path.');
21
+ }
22
+ const reserved = getReservedCliDeviceName(inputPath);
23
+ if (reserved) {
24
+ throw new Error(`Reserved device name not allowed: ${reserved}`);
25
+ }
26
+ }
27
+ function isWindowsDriveRelativePath(inputPath) {
28
+ if (process.platform !== 'win32')
29
+ return false;
30
+ return /^[a-zA-Z]:(?![\\/])/.test(inputPath);
31
+ }
32
+ function getReservedCliDeviceName(inputPath) {
33
+ if (process.platform !== 'win32')
34
+ return undefined;
35
+ const basename = path.basename(inputPath).split('.')[0]?.toUpperCase();
36
+ if (!basename)
37
+ return undefined;
38
+ return RESERVED_DEVICE_NAMES.has(basename) ? basename : undefined;
39
+ }
40
+ async function validateDirectoryPath(inputPath) {
41
+ validateCliPath(inputPath);
42
+ const normalized = normalizePath(inputPath);
43
+ try {
44
+ const stats = await fs.stat(normalized);
45
+ assertDirectory(stats, inputPath);
46
+ return normalized;
47
+ }
48
+ catch (error) {
49
+ throw normalizeDirectoryError(error, inputPath);
50
+ }
51
+ }
52
+ function assertDirectory(stats, inputPath) {
53
+ if (stats.isDirectory())
54
+ return;
55
+ throw new Error(`Error: '${inputPath}' is not a directory`);
56
+ }
57
+ function isCliError(error) {
58
+ return error instanceof Error && error.message.startsWith('Error:');
59
+ }
60
+ function normalizeDirectoryError(error, inputPath) {
61
+ if (isCliError(error))
62
+ return error;
63
+ return new Error(`Error: Cannot access directory '${inputPath}'`);
64
+ }
65
+ async function normalizeCliDirectories(args) {
66
+ return Promise.all(args.map(validateDirectoryPath));
67
+ }
68
+ export function normalizeAllowedDirectories(dirs) {
69
+ return dirs
70
+ .map((dir) => dir.trim())
71
+ .filter((dir) => dir.length > 0)
72
+ .map(normalizePath);
73
+ }
74
+ export async function parseArgs() {
75
+ const { values, positionals } = parseNodeArgs({
76
+ args: process.argv.slice(2),
77
+ strict: true,
78
+ allowPositionals: true,
79
+ options: {
80
+ 'allow-cwd': {
81
+ type: 'boolean',
82
+ default: false,
83
+ },
84
+ },
85
+ });
86
+ const allowCwd = values['allow-cwd'];
87
+ const allowedDirs = positionals.length > 0 ? await normalizeCliDirectories(positionals) : [];
88
+ return { allowedDirs, allowCwd };
89
+ }
90
+ const ROOTS_TIMEOUT_MS = 5000;
91
+ const ROOTS_DEBOUNCE_MS = 100;
92
+ let rootsUpdateTimeout;
93
+ let rootDirectories = [];
94
+ let clientInitialized = false;
95
+ let serverOptions = {};
96
+ function setServerOptions(options) {
97
+ serverOptions = options;
98
+ }
99
+ function logMissingDirectories(options) {
100
+ if (options.allowCwd) {
101
+ console.error('No directories specified. Using current working directory:');
102
+ return;
103
+ }
104
+ console.error('WARNING: No directories configured. Use --allow-cwd flag or specify directories via CLI/roots protocol.');
105
+ console.error('The server will not be able to access any files until directories are configured.');
106
+ }
107
+ async function recomputeAllowedDirectories() {
108
+ const cliAllowedDirs = normalizeAllowedDirectories(serverOptions.cliAllowedDirs ?? []);
109
+ const allowCwd = serverOptions.allowCwd === true;
110
+ const allowCwdDirs = allowCwd ? [normalizePath(process.cwd())] : [];
111
+ const baseline = [...cliAllowedDirs, ...allowCwdDirs];
112
+ const { signal, cleanup } = createTimedAbortSignal(undefined, ROOTS_TIMEOUT_MS);
113
+ try {
114
+ const rootsToInclude = baseline.length > 0
115
+ ? await filterRootsWithinBaseline(rootDirectories, baseline, signal)
116
+ : rootDirectories;
117
+ const combined = [...baseline, ...rootsToInclude];
118
+ if (combined.length === 0 && rootDirectories.length === 0) {
119
+ console.error('No directories configured. Defaulting to current working directory.');
120
+ combined.push(normalizePath(process.cwd()));
121
+ }
122
+ await setAllowedDirectoriesResolved(combined, signal);
123
+ }
124
+ finally {
125
+ cleanup();
126
+ }
127
+ }
128
+ function extractRoots(value) {
129
+ const rawRoots = typeof value === 'object' && value !== null && 'roots' in value
130
+ ? value.roots
131
+ : undefined;
132
+ return Array.isArray(rawRoots) ? rawRoots.filter(isRoot) : [];
133
+ }
134
+ async function resolveRootDirectories(roots) {
135
+ if (roots.length === 0)
136
+ return [];
137
+ const { signal, cleanup } = createTimedAbortSignal(undefined, ROOTS_TIMEOUT_MS);
138
+ try {
139
+ return await getValidRootDirectories(roots, signal);
140
+ }
141
+ finally {
142
+ cleanup();
143
+ }
144
+ }
145
+ async function updateRootsFromClient(server) {
146
+ try {
147
+ const rootsResult = await server.server.listRoots(undefined, {
148
+ timeout: ROOTS_TIMEOUT_MS,
149
+ });
150
+ const roots = extractRoots(rootsResult);
151
+ rootDirectories = await resolveRootDirectories(roots);
152
+ }
153
+ catch (error) {
154
+ rootDirectories = [];
155
+ console.error('[DEBUG] MCP Roots protocol unavailable or failed:', error instanceof Error ? error.message : String(error));
156
+ }
157
+ finally {
158
+ await recomputeAllowedDirectories();
159
+ }
160
+ }
161
+ function isRoot(value) {
162
+ return (value !== null &&
163
+ typeof value === 'object' &&
164
+ 'uri' in value &&
165
+ typeof value.uri === 'string');
166
+ }
167
+ async function filterRootsWithinBaseline(roots, baseline, signal) {
168
+ const normalizedBaseline = normalizeAllowedDirectories(baseline);
169
+ const filtered = [];
170
+ for (const root of roots) {
171
+ const normalizedRoot = normalizePath(root);
172
+ const isValid = await isRootWithinBaseline(normalizedRoot, normalizedBaseline, signal);
173
+ if (isValid)
174
+ filtered.push(normalizedRoot);
175
+ }
176
+ return filtered;
177
+ }
178
+ async function isRootWithinBaseline(normalizedRoot, baseline, signal) {
179
+ if (!isPathWithinDirectories(normalizedRoot, baseline)) {
180
+ return false;
181
+ }
182
+ try {
183
+ assertNotAborted(signal);
184
+ const realPath = await withAbort(fs.realpath(normalizedRoot), signal);
185
+ const normalizedReal = normalizePath(realPath);
186
+ return isPathWithinDirectories(normalizedReal, baseline);
187
+ }
188
+ catch {
189
+ return false;
190
+ }
191
+ }
192
+ function registerRootHandlers(server) {
193
+ server.server.setNotificationHandler(InitializedNotificationSchema, async () => {
194
+ clientInitialized = true;
195
+ await updateRootsFromClient(server);
196
+ });
197
+ server.server.setNotificationHandler(RootsListChangedNotificationSchema, () => {
198
+ if (!clientInitialized)
199
+ return;
200
+ if (rootsUpdateTimeout)
201
+ clearTimeout(rootsUpdateTimeout);
202
+ rootsUpdateTimeout = setTimeout(() => {
203
+ void updateRootsFromClient(server);
204
+ }, ROOTS_DEBOUNCE_MS);
205
+ });
206
+ }
207
+ function logMissingDirectoriesIfNeeded() {
208
+ if (getAllowedDirectories().length === 0) {
209
+ logMissingDirectories(serverOptions);
210
+ }
211
+ }
13
212
  const PackageJsonSchema = z.object({ version: z.string() });
14
213
  const { version: SERVER_VERSION } = PackageJsonSchema.parse(packageJsonRaw);
15
214
  const currentDir = path.dirname(fileURLToPath(import.meta.url));
@@ -52,15 +251,18 @@ function patchToolErrorHandling(server) {
52
251
  }
53
252
  export function createServer(options = {}) {
54
253
  setServerOptions(options);
55
- const server = new McpServer({
56
- name: 'fs-context-mcp',
57
- version: SERVER_VERSION,
58
- }, {
59
- instructions: serverInstructions || undefined,
254
+ const serverConfig = {
60
255
  capabilities: {
61
256
  logging: {},
62
257
  },
63
- });
258
+ };
259
+ if (serverInstructions) {
260
+ serverConfig.instructions = serverInstructions;
261
+ }
262
+ const server = new McpServer({
263
+ name: 'fs-context-mcp',
264
+ version: SERVER_VERSION,
265
+ }, serverConfig);
64
266
  patchToolErrorHandling(server);
65
267
  registerAllTools(server);
66
268
  return server;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-file-info.d.ts","sourceRoot":"","sources":["../../src/tools/get-file-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAkEzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2B/D"}
1
+ {"version":3,"file":"get-file-info.d.ts","sourceRoot":"","sources":["../../src/tools/get-file-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsEzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2B/D"}
@@ -13,7 +13,11 @@ function buildStructuredResult(info) {
13
13
  };
14
14
  }
15
15
  async function handleGetFileInfo({ path, }, signal) {
16
- const info = await getFileInfo(path, { signal });
16
+ const options = {};
17
+ if (signal) {
18
+ options.signal = signal;
19
+ }
20
+ const info = await getFileInfo(path, options);
17
21
  const structured = buildStructuredResult(info);
18
22
  return buildToolResponse(formatFileInfoDetails(info), structured);
19
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-file-info.js","sourceRoot":"","sources":["../../src/tools/get-file-info.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EAGjB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAK5B,SAAS,qBAAqB,CAC5B,IAA6C;IAE7C,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,EACE,IAAI,GAGL,EACD,MAAoB;IAEpB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC/C,OAAO,iBAAiB,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,kBAAkB,GAAG;IACzB,KAAK,EAAE,eAAe;IACtB,WAAW,EACT,iFAAiF;QACjF,wFAAwF;QACxF,4EAA4E;QAC5E,+DAA+D;IACjE,WAAW,EAAE,sBAAsB;IACnC,YAAY,EAAE,uBAAuB;IACrC,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;KACpB;CACO,CAAC;AAEX,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,MAAM,OAAO,GAAG,CACd,IAAqB,EACrB,KAA+B,EACmB,EAAE,CACpD,mBAAmB,CACjB,MAAM,EACN,GAAG,EAAE,CACH,qBAAqB,CACnB,KAAK,IAAI,EAAE;QACT,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAChD,KAAK,CAAC,MAAM,EACZ,yBAAyB,CAC1B,CAAC;QACF,IAAI,CAAC;YACH,OAAO,MAAM,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE,CACR,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAClE,EACH,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CACpB,CAAC;IAEJ,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"get-file-info.js","sourceRoot":"","sources":["../../src/tools/get-file-info.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EAGjB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAK5B,SAAS,qBAAqB,CAC5B,IAA6C;IAE7C,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,EACE,IAAI,GAGL,EACD,MAAoB;IAEpB,MAAM,OAAO,GAA6B,EAAE,CAAC;IAC7C,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IAC1B,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC/C,OAAO,iBAAiB,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,kBAAkB,GAAG;IACzB,KAAK,EAAE,eAAe;IACtB,WAAW,EACT,iFAAiF;QACjF,wFAAwF;QACxF,4EAA4E;QAC5E,+DAA+D;IACjE,WAAW,EAAE,sBAAsB;IACnC,YAAY,EAAE,uBAAuB;IACrC,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;KACpB;CACO,CAAC;AAEX,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,MAAM,OAAO,GAAG,CACd,IAAqB,EACrB,KAA+B,EACmB,EAAE,CACpD,mBAAmB,CACjB,MAAM,EACN,GAAG,EAAE,CACH,qBAAqB,CACnB,KAAK,IAAI,EAAE;QACT,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAChD,KAAK,CAAC,MAAM,EACZ,yBAAyB,CAC1B,CAAC;QACF,IAAI,CAAC;YACH,OAAO,MAAM,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE,CACR,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAClE,EACH,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CACpB,CAAC;IAEJ,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-multiple-file-info.d.ts","sourceRoot":"","sources":["../../src/tools/get-multiple-file-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmGzE,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuBvE"}
1
+ {"version":3,"file":"get-multiple-file-info.d.ts","sourceRoot":"","sources":["../../src/tools/get-multiple-file-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsGzE,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuBvE"}
@@ -37,10 +37,13 @@ function formatFileInfoBlock(item) {
37
37
  }
38
38
  async function handleGetMultipleFileInfo(args, signal) {
39
39
  // Hardcode includeMimeType to true (always want MIME type)
40
- const result = await getMultipleFileInfo(args.paths, {
40
+ const options = {
41
41
  includeMimeType: true,
42
- signal,
43
- });
42
+ };
43
+ if (signal) {
44
+ options.signal = signal;
45
+ }
46
+ const result = await getMultipleFileInfo(args.paths, options);
44
47
  return buildToolResponse(buildTextResult(result), buildStructuredResult(result));
45
48
  }
46
49
  const GET_MULTIPLE_FILE_INFO_TOOL = {
@@ -1 +1 @@
1
- {"version":3,"file":"get-multiple-file-info.js","sourceRoot":"","sources":["../../src/tools/get-multiple-file-info.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-multiple-file-info.js","sourceRoot":"","sources":["../../src/tools/get-multiple-file-info.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"list-directory-formatting.d.ts","sourceRoot":"","sources":["../../src/tools/list-directory-formatting.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAI9E,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC;AA8B5D,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAO1D"}
1
+ {"version":3,"file":"list-directory-formatting.d.ts","sourceRoot":"","sources":["../../src/tools/list-directory-formatting.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAI9E,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC;AA8B5D,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAa1D"}
@@ -23,7 +23,13 @@ function getTruncatedReason(summary) {
23
23
  export function buildTextResult(result) {
24
24
  const { entries, summary, path } = result;
25
25
  const truncatedReason = getTruncatedReason(summary);
26
+ const summaryOptions = {
27
+ truncated: summary.truncated,
28
+ };
29
+ if (truncatedReason !== undefined) {
30
+ summaryOptions.truncatedReason = truncatedReason;
31
+ }
26
32
  return (formatDirectoryListing(entries, path, summary) +
27
- formatOperationSummary({ truncated: summary.truncated, truncatedReason }));
33
+ formatOperationSummary(summaryOptions));
28
34
  }
29
35
  //# sourceMappingURL=list-directory-formatting.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-directory-formatting.js","sourceRoot":"","sources":["../../src/tools/list-directory-formatting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAO5E,SAAS,oBAAoB,CAAC,KAA0B;IACtD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,OAAO,KAAK,KAAK,CAAC,YAAY,GAAG,MAAM,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAAoB,EACpB,QAAgB,EAChB,OAAoB;IAEpB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,KAAK,CAAC,EAAE,CAAC;YAC5D,OAAO,GAAG,QAAQ,UAAU,CAAC;QAC/B,CAAC;QACD,OAAO,GAAG,QAAQ,eAAe,CAAC;IACpC,CAAC;IAED,OAAO,SAAS,CAAC,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAoB;IAC9C,IAAI,CAAC,OAAO,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,IAAI,OAAO,CAAC,aAAa,KAAK,YAAY,EAAE,CAAC;QAC3C,OAAO,gBAAgB,OAAO,CAAC,YAAY,GAAG,CAAC;IACjD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAkB;IAChD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAC1C,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACpD,OAAO,CACL,sBAAsB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC;QAC9C,sBAAsB,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,CAC1E,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"list-directory-formatting.js","sourceRoot":"","sources":["../../src/tools/list-directory-formatting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAO5E,SAAS,oBAAoB,CAAC,KAA0B;IACtD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,OAAO,KAAK,KAAK,CAAC,YAAY,GAAG,MAAM,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAAoB,EACpB,QAAgB,EAChB,OAAoB;IAEpB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,KAAK,CAAC,EAAE,CAAC;YAC5D,OAAO,GAAG,QAAQ,UAAU,CAAC;QAC/B,CAAC;QACD,OAAO,GAAG,QAAQ,eAAe,CAAC;IACpC,CAAC;IAED,OAAO,SAAS,CAAC,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAoB;IAC9C,IAAI,CAAC,OAAO,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,IAAI,OAAO,CAAC,aAAa,KAAK,YAAY,EAAE,CAAC;QAC3C,OAAO,gBAAgB,OAAO,CAAC,YAAY,GAAG,CAAC;IACjD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAkB;IAChD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAC1C,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,cAAc,GAAiD;QACnE,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC;IACF,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,cAAc,CAAC,eAAe,GAAG,eAAe,CAAC;IACnD,CAAC;IACD,OAAO,CACL,sBAAsB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC;QAC9C,sBAAsB,CAAC,cAAc,CAAC,CACvC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"list-directory.d.ts","sourceRoot":"","sources":["../../src/tools/list-directory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmGzE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2BjE"}
1
+ {"version":3,"file":"list-directory.d.ts","sourceRoot":"","sources":["../../src/tools/list-directory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAoGzE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2BjE"}
@@ -50,17 +50,18 @@ function buildStructuredResult(result) {
50
50
  }
51
51
  async function handleListDirectory(args, signal) {
52
52
  const dirPath = resolvePathOrRoot(args.path);
53
- const result = await listDirectory(dirPath, {
53
+ const options = {
54
54
  includeHidden: args.includeHidden,
55
55
  excludePatterns: args.excludePatterns,
56
- pattern: args.pattern,
57
56
  maxDepth: args.maxDepth,
58
57
  maxEntries: args.maxEntries,
59
58
  timeoutMs: args.timeoutMs,
60
59
  sortBy: args.sortBy,
61
60
  includeSymlinkTargets: args.includeSymlinkTargets,
62
- signal,
63
- });
61
+ ...(args.pattern !== undefined ? { pattern: args.pattern } : {}),
62
+ ...(signal ? { signal } : {}),
63
+ };
64
+ const result = await listDirectory(dirPath, options);
64
65
  return buildToolResponse(buildTextResult(result), buildStructuredResult(result));
65
66
  }
66
67
  export function registerListDirectoryTool(server) {
@@ -1 +1 @@
1
- {"version":3,"file":"list-directory.js","sourceRoot":"","sources":["../../src/tools/list-directory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-directory.js","sourceRoot":"","sources":["../../src/tools/list-directory.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"read-file.d.ts","sourceRoot":"","sources":["../../src/tools/read-file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsEzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2B5D"}
1
+ {"version":3,"file":"read-file.d.ts","sourceRoot":"","sources":["../../src/tools/read-file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA2EzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2B5D"}
@@ -15,13 +15,18 @@ function buildStructuredReadResult(result, args) {
15
15
  };
16
16
  }
17
17
  async function handleReadFile(args, signal) {
18
- const result = await readFile(args.path, {
18
+ const options = {
19
19
  encoding: 'utf-8',
20
20
  maxSize: MAX_TEXT_FILE_SIZE,
21
21
  skipBinary: true,
22
- head: args.head,
23
- signal,
24
- });
22
+ };
23
+ if (args.head !== undefined) {
24
+ options.head = args.head;
25
+ }
26
+ if (signal) {
27
+ options.signal = signal;
28
+ }
29
+ const result = await readFile(args.path, options);
25
30
  return buildToolResponse(result.content, buildStructuredReadResult(result, args));
26
31
  }
27
32
  const READ_FILE_TOOL = {
@@ -1 +1 @@
1
- {"version":3,"file":"read-file.js","sourceRoot":"","sources":["../../src/tools/read-file.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EAGjB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAK5B,SAAS,yBAAyB,CAChC,MAA4C,EAC5C,IAAkB;IAElB,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,IAAkB,EAClB,MAAoB;IAEpB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;QACvC,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,kBAAkB;QAC3B,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM;KACP,CAAC,CAAC;IAEH,OAAO,iBAAiB,CACtB,MAAM,CAAC,OAAO,EACd,yBAAyB,CAAC,MAAM,EAAE,IAAI,CAAC,CACxC,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAAG;IACrB,KAAK,EAAE,WAAW;IAClB,WAAW,EACT,oCAAoC;QACpC,kEAAkE;QAClE,mDAAmD;IACrD,WAAW,EAAE,mBAAmB;IAChC,YAAY,EAAE,oBAAoB;IAClC,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;KACpB;CACO,CAAC;AAEX,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,MAAM,OAAO,GAAG,CACd,IAAkB,EAClB,KAA+B,EACgB,EAAE,CACjD,mBAAmB,CACjB,MAAM,EACN,GAAG,EAAE,CACH,qBAAqB,CACnB,KAAK,IAAI,EAAE;QACT,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAChD,KAAK,CAAC,MAAM,EACZ,yBAAyB,CAC1B,CAAC;QACF,IAAI,CAAC;YACH,OAAO,MAAM,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE,CACR,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CACjE,EACH,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CACpB,CAAC;IAEJ,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"read-file.js","sourceRoot":"","sources":["../../src/tools/read-file.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EAGjB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAK5B,SAAS,yBAAyB,CAChC,MAA4C,EAC5C,IAAkB;IAElB,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,IAAkB,EAClB,MAAoB;IAEpB,MAAM,OAAO,GAAmC;QAC9C,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,kBAAkB;QAC3B,UAAU,EAAE,IAAI;KACjB,CAAC;IACF,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IAC3B,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IAC1B,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAElD,OAAO,iBAAiB,CACtB,MAAM,CAAC,OAAO,EACd,yBAAyB,CAAC,MAAM,EAAE,IAAI,CAAC,CACxC,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAAG;IACrB,KAAK,EAAE,WAAW;IAClB,WAAW,EACT,oCAAoC;QACpC,kEAAkE;QAClE,mDAAmD;IACrD,WAAW,EAAE,mBAAmB;IAChC,YAAY,EAAE,oBAAoB;IAClC,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;KACpB;CACO,CAAC;AAEX,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,MAAM,OAAO,GAAG,CACd,IAAkB,EAClB,KAA+B,EACgB,EAAE,CACjD,mBAAmB,CACjB,MAAM,EACN,GAAG,EAAE,CACH,qBAAqB,CACnB,KAAK,IAAI,EAAE;QACT,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAChD,KAAK,CAAC,MAAM,EACZ,yBAAyB,CAC1B,CAAC;QACF,IAAI,CAAC;YACH,OAAO,MAAM,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE,CACR,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CACjE,EACH,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CACpB,CAAC;IAEJ,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;AACvD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"read-multiple-files.d.ts","sourceRoot":"","sources":["../../src/tools/read-multiple-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA+FzE,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuBrE"}
1
+ {"version":3,"file":"read-multiple-files.d.ts","sourceRoot":"","sources":["../../src/tools/read-multiple-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAoGzE,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuBrE"}
@@ -31,13 +31,18 @@ function formatResult(result) {
31
31
  return `--- ${result.path} --- (error: ${result.error ?? 'unknown'})`;
32
32
  }
33
33
  async function handleReadMultipleFiles(args, signal) {
34
- const results = await readMultipleFiles(args.paths, {
34
+ const options = {
35
35
  encoding: 'utf-8',
36
36
  maxSize: MAX_TEXT_FILE_SIZE,
37
37
  maxTotalSize: 100 * 1024 * 1024,
38
- head: args.head,
39
- signal,
40
- });
38
+ };
39
+ if (args.head !== undefined) {
40
+ options.head = args.head;
41
+ }
42
+ if (signal) {
43
+ options.signal = signal;
44
+ }
45
+ const results = await readMultipleFiles(args.paths, options);
41
46
  return buildToolResponse(joinLines(results.map(formatResult)), buildStructuredResult(results));
42
47
  }
43
48
  const READ_MULTIPLE_FILES_TOOL = {