@j0hanz/fs-context-mcp 2.0.0 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/README.md +45 -60
  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/instructions.md +32 -35
  9. package/dist/lib/constants.d.ts +3 -3
  10. package/dist/lib/constants.d.ts.map +1 -1
  11. package/dist/lib/constants.js +130 -4
  12. package/dist/lib/constants.js.map +1 -1
  13. package/dist/lib/errors.d.ts +1 -1
  14. package/dist/lib/errors.d.ts.map +1 -1
  15. package/dist/lib/errors.js +9 -9
  16. package/dist/lib/errors.js.map +1 -1
  17. package/dist/lib/file-operations/file-info.d.ts +7 -1
  18. package/dist/lib/file-operations/file-info.d.ts.map +1 -1
  19. package/dist/lib/file-operations/file-info.js +84 -8
  20. package/dist/lib/file-operations/file-info.js.map +1 -1
  21. package/dist/lib/file-operations/get-multiple-file-info.d.ts.map +1 -1
  22. package/dist/lib/file-operations/get-multiple-file-info.js +8 -4
  23. package/dist/lib/file-operations/get-multiple-file-info.js.map +1 -1
  24. package/dist/lib/file-operations/glob-engine.d.ts.map +1 -1
  25. package/dist/lib/file-operations/glob-engine.js +190 -26
  26. package/dist/lib/file-operations/glob-engine.js.map +1 -1
  27. package/dist/lib/file-operations/list-directory-entry.d.ts.map +1 -1
  28. package/dist/lib/file-operations/list-directory-entry.js +5 -3
  29. package/dist/lib/file-operations/list-directory-entry.js.map +1 -1
  30. package/dist/lib/file-operations/list-directory-helpers.d.ts.map +1 -1
  31. package/dist/lib/file-operations/list-directory-helpers.js +11 -4
  32. package/dist/lib/file-operations/list-directory-helpers.js.map +1 -1
  33. package/dist/lib/file-operations/list-directory.d.ts +12 -2
  34. package/dist/lib/file-operations/list-directory.d.ts.map +1 -1
  35. package/dist/lib/file-operations/list-directory.js +175 -3
  36. package/dist/lib/file-operations/list-directory.js.map +1 -1
  37. package/dist/lib/file-operations/read-multiple-files-helpers.d.ts.map +1 -1
  38. package/dist/lib/file-operations/read-multiple-files-helpers.js +40 -19
  39. package/dist/lib/file-operations/read-multiple-files-helpers.js.map +1 -1
  40. package/dist/lib/file-operations/read-multiple-files.d.ts +18 -1
  41. package/dist/lib/file-operations/read-multiple-files.d.ts.map +1 -1
  42. package/dist/lib/file-operations/read-multiple-files.js +107 -2
  43. package/dist/lib/file-operations/read-multiple-files.js.map +1 -1
  44. package/dist/lib/file-operations/search/engine.d.ts.map +1 -1
  45. package/dist/lib/file-operations/search/engine.js +7 -2
  46. package/dist/lib/file-operations/search/engine.js.map +1 -1
  47. package/dist/lib/file-operations/search/scan-file.d.ts.map +1 -1
  48. package/dist/lib/file-operations/search/scan-file.js +6 -3
  49. package/dist/lib/file-operations/search/scan-file.js.map +1 -1
  50. package/dist/lib/file-operations/search/scan-runner.d.ts.map +1 -1
  51. package/dist/lib/file-operations/search/scan-runner.js +21 -16
  52. package/dist/lib/file-operations/search/scan-runner.js.map +1 -1
  53. package/dist/lib/file-operations/search-content.d.ts +41 -17
  54. package/dist/lib/file-operations/search-content.d.ts.map +1 -1
  55. package/dist/lib/file-operations/search-content.js +855 -3
  56. package/dist/lib/file-operations/search-content.js.map +1 -1
  57. package/dist/lib/file-operations/search-files-collector.d.ts +2 -2
  58. package/dist/lib/file-operations/search-files-collector.d.ts.map +1 -1
  59. package/dist/lib/file-operations/search-files-collector.js +23 -11
  60. package/dist/lib/file-operations/search-files-collector.js.map +1 -1
  61. package/dist/lib/file-operations/search-files-helpers.d.ts.map +1 -1
  62. package/dist/lib/file-operations/search-files-helpers.js +5 -2
  63. package/dist/lib/file-operations/search-files-helpers.js.map +1 -1
  64. package/dist/lib/file-operations/search-files.d.ts +20 -2
  65. package/dist/lib/file-operations/search-files.d.ts.map +1 -1
  66. package/dist/lib/file-operations/search-files.js +192 -5
  67. package/dist/lib/file-operations/search-files.js.map +1 -1
  68. package/dist/lib/file-operations/search-worker.d.ts +30 -0
  69. package/dist/lib/file-operations/search-worker.d.ts.map +1 -0
  70. package/dist/lib/file-operations/search-worker.js +98 -0
  71. package/dist/lib/file-operations/search-worker.js.map +1 -0
  72. package/dist/lib/fs-helpers/readers/read-modes.d.ts.map +1 -1
  73. package/dist/lib/fs-helpers/readers/read-modes.js +6 -4
  74. package/dist/lib/fs-helpers/readers/read-modes.js.map +1 -1
  75. package/dist/lib/fs-helpers/readers/read-options.d.ts.map +1 -1
  76. package/dist/lib/fs-helpers/readers/read-options.js +8 -3
  77. package/dist/lib/fs-helpers/readers/read-options.js.map +1 -1
  78. package/dist/lib/fs-helpers.d.ts +42 -5
  79. package/dist/lib/fs-helpers.d.ts.map +1 -1
  80. package/dist/lib/fs-helpers.js +479 -5
  81. package/dist/lib/fs-helpers.js.map +1 -1
  82. package/dist/lib/observability/diagnostics-helpers.d.ts +3 -0
  83. package/dist/lib/observability/diagnostics-helpers.d.ts.map +1 -0
  84. package/dist/lib/observability/diagnostics-helpers.js +50 -0
  85. package/dist/lib/observability/diagnostics-helpers.js.map +1 -0
  86. package/dist/lib/observability/diagnostics.d.ts.map +1 -1
  87. package/dist/lib/observability/diagnostics.js +24 -59
  88. package/dist/lib/observability/diagnostics.js.map +1 -1
  89. package/dist/lib/observability.d.ts +15 -0
  90. package/dist/lib/observability.d.ts.map +1 -0
  91. package/dist/lib/observability.js +196 -0
  92. package/dist/lib/observability.js.map +1 -0
  93. package/dist/lib/path-validation/validate-existing.js +1 -1
  94. package/dist/lib/path-validation/validate-existing.js.map +1 -1
  95. package/dist/lib/path-validation.d.ts +18 -5
  96. package/dist/lib/path-validation.d.ts.map +1 -1
  97. package/dist/lib/path-validation.js +340 -5
  98. package/dist/lib/path-validation.js.map +1 -1
  99. package/dist/schemas/inputs/directory.d.ts +1 -1
  100. package/dist/schemas/inputs/directory.d.ts.map +1 -1
  101. package/dist/schemas/inputs/directory.js +1 -12
  102. package/dist/schemas/inputs/directory.js.map +1 -1
  103. package/dist/schemas/inputs/helpers.d.ts +2 -0
  104. package/dist/schemas/inputs/helpers.d.ts.map +1 -0
  105. package/dist/schemas/inputs/helpers.js +13 -0
  106. package/dist/schemas/inputs/helpers.js.map +1 -0
  107. package/dist/schemas/inputs/safe-glob.d.ts +2 -0
  108. package/dist/schemas/inputs/safe-glob.d.ts.map +1 -0
  109. package/dist/schemas/inputs/safe-glob.js +13 -0
  110. package/dist/schemas/inputs/safe-glob.js.map +1 -0
  111. package/dist/schemas/inputs/search.d.ts.map +1 -1
  112. package/dist/schemas/inputs/search.js +2 -13
  113. package/dist/schemas/inputs/search.js.map +1 -1
  114. package/dist/schemas/output-helpers.d.ts +6 -1
  115. package/dist/schemas/output-helpers.d.ts.map +1 -1
  116. package/dist/schemas/output-helpers.js +5 -0
  117. package/dist/schemas/output-helpers.js.map +1 -1
  118. package/dist/schemas/outputs/file-info.d.ts +2 -2
  119. package/dist/schemas/outputs/file-info.d.ts.map +1 -1
  120. package/dist/schemas/outputs/file-info.js +2 -8
  121. package/dist/schemas/outputs/file-info.js.map +1 -1
  122. package/dist/schemas/outputs/read.d.ts.map +1 -1
  123. package/dist/schemas/outputs/read.js +2 -7
  124. package/dist/schemas/outputs/read.js.map +1 -1
  125. package/dist/schemas.d.ts +195 -0
  126. package/dist/schemas.d.ts.map +1 -0
  127. package/dist/schemas.js +234 -0
  128. package/dist/schemas.js.map +1 -0
  129. package/dist/server/roots.d.ts.map +1 -1
  130. package/dist/server/roots.js +19 -15
  131. package/dist/server/roots.js.map +1 -1
  132. package/dist/server.d.ts +10 -2
  133. package/dist/server.d.ts.map +1 -1
  134. package/dist/server.js +208 -10
  135. package/dist/server.js.map +1 -1
  136. package/dist/tools/get-file-info.d.ts.map +1 -1
  137. package/dist/tools/get-file-info.js +5 -1
  138. package/dist/tools/get-file-info.js.map +1 -1
  139. package/dist/tools/get-multiple-file-info.d.ts.map +1 -1
  140. package/dist/tools/get-multiple-file-info.js +6 -3
  141. package/dist/tools/get-multiple-file-info.js.map +1 -1
  142. package/dist/tools/list-directory-formatting.d.ts.map +1 -1
  143. package/dist/tools/list-directory-formatting.js +7 -1
  144. package/dist/tools/list-directory-formatting.js.map +1 -1
  145. package/dist/tools/list-directory.d.ts.map +1 -1
  146. package/dist/tools/list-directory.js +5 -4
  147. package/dist/tools/list-directory.js.map +1 -1
  148. package/dist/tools/read-file.d.ts.map +1 -1
  149. package/dist/tools/read-file.js +9 -4
  150. package/dist/tools/read-file.js.map +1 -1
  151. package/dist/tools/read-multiple-files.d.ts.map +1 -1
  152. package/dist/tools/read-multiple-files.js +9 -4
  153. package/dist/tools/read-multiple-files.js.map +1 -1
  154. package/dist/tools/search-content.d.ts.map +1 -1
  155. package/dist/tools/search-content.js +19 -17
  156. package/dist/tools/search-content.js.map +1 -1
  157. package/dist/tools/search-files.d.ts.map +1 -1
  158. package/dist/tools/search-files.js +15 -12
  159. package/dist/tools/search-files.js.map +1 -1
  160. package/dist/tools/shared/file-info.d.ts +4 -2
  161. package/dist/tools/shared/file-info.d.ts.map +1 -1
  162. package/dist/tools/shared/file-info.js +4 -2
  163. package/dist/tools/shared/file-info.js.map +1 -1
  164. package/dist/tools/shared/resolve-path.d.ts +2 -0
  165. package/dist/tools/shared/resolve-path.d.ts.map +1 -0
  166. package/dist/tools/shared/resolve-path.js +11 -0
  167. package/dist/tools/shared/resolve-path.js.map +1 -0
  168. package/dist/tools/shared/search-formatting.d.ts.map +1 -1
  169. package/dist/tools/shared/search-formatting.js +58 -38
  170. package/dist/tools/shared/search-formatting.js.map +1 -1
  171. package/dist/tools/tool-response.d.ts.map +1 -1
  172. package/dist/tools/tool-response.js +11 -6
  173. package/dist/tools/tool-response.js.map +1 -1
  174. package/dist/tools.d.ts +34 -0
  175. package/dist/tools.d.ts.map +1 -0
  176. package/dist/tools.js +550 -0
  177. package/dist/tools.js.map +1 -0
  178. package/package.json +11 -6
package/dist/server.js CHANGED
@@ -1,15 +1,210 @@
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
+ 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
+ await setAllowedDirectoriesResolved(combined, signal);
119
+ }
120
+ finally {
121
+ cleanup();
122
+ }
123
+ }
124
+ function extractRoots(value) {
125
+ const rawRoots = typeof value === 'object' && value !== null && 'roots' in value
126
+ ? value.roots
127
+ : undefined;
128
+ return Array.isArray(rawRoots) ? rawRoots.filter(isRoot) : [];
129
+ }
130
+ async function resolveRootDirectories(roots) {
131
+ if (roots.length === 0)
132
+ return [];
133
+ const { signal, cleanup } = createTimedAbortSignal(undefined, ROOTS_TIMEOUT_MS);
134
+ try {
135
+ return await getValidRootDirectories(roots, signal);
136
+ }
137
+ finally {
138
+ cleanup();
139
+ }
140
+ }
141
+ async function updateRootsFromClient(server) {
142
+ try {
143
+ const rootsResult = await server.server.listRoots(undefined, {
144
+ timeout: ROOTS_TIMEOUT_MS,
145
+ });
146
+ const roots = extractRoots(rootsResult);
147
+ rootDirectories = await resolveRootDirectories(roots);
148
+ }
149
+ catch (error) {
150
+ rootDirectories = [];
151
+ console.error('[DEBUG] MCP Roots protocol unavailable or failed:', error instanceof Error ? error.message : String(error));
152
+ }
153
+ finally {
154
+ await recomputeAllowedDirectories();
155
+ }
156
+ }
157
+ function isRoot(value) {
158
+ return (value !== null &&
159
+ typeof value === 'object' &&
160
+ 'uri' in value &&
161
+ typeof value.uri === 'string');
162
+ }
163
+ async function filterRootsWithinBaseline(roots, baseline, signal) {
164
+ const normalizedBaseline = normalizeAllowedDirectories(baseline);
165
+ const filtered = [];
166
+ for (const root of roots) {
167
+ const normalizedRoot = normalizePath(root);
168
+ const isValid = await isRootWithinBaseline(normalizedRoot, normalizedBaseline, signal);
169
+ if (isValid)
170
+ filtered.push(normalizedRoot);
171
+ }
172
+ return filtered;
173
+ }
174
+ async function isRootWithinBaseline(normalizedRoot, baseline, signal) {
175
+ if (!isPathWithinDirectories(normalizedRoot, baseline)) {
176
+ return false;
177
+ }
178
+ try {
179
+ assertNotAborted(signal);
180
+ const realPath = await withAbort(fs.realpath(normalizedRoot), signal);
181
+ const normalizedReal = normalizePath(realPath);
182
+ return isPathWithinDirectories(normalizedReal, baseline);
183
+ }
184
+ catch {
185
+ return false;
186
+ }
187
+ }
188
+ function registerRootHandlers(server) {
189
+ server.server.setNotificationHandler(InitializedNotificationSchema, async () => {
190
+ clientInitialized = true;
191
+ await updateRootsFromClient(server);
192
+ });
193
+ server.server.setNotificationHandler(RootsListChangedNotificationSchema, () => {
194
+ if (!clientInitialized)
195
+ return;
196
+ if (rootsUpdateTimeout)
197
+ clearTimeout(rootsUpdateTimeout);
198
+ rootsUpdateTimeout = setTimeout(() => {
199
+ void updateRootsFromClient(server);
200
+ }, ROOTS_DEBOUNCE_MS);
201
+ });
202
+ }
203
+ function logMissingDirectoriesIfNeeded() {
204
+ if (getAllowedDirectories().length === 0) {
205
+ logMissingDirectories(serverOptions);
206
+ }
207
+ }
13
208
  const PackageJsonSchema = z.object({ version: z.string() });
14
209
  const { version: SERVER_VERSION } = PackageJsonSchema.parse(packageJsonRaw);
15
210
  const currentDir = path.dirname(fileURLToPath(import.meta.url));
@@ -52,15 +247,18 @@ function patchToolErrorHandling(server) {
52
247
  }
53
248
  export function createServer(options = {}) {
54
249
  setServerOptions(options);
55
- const server = new McpServer({
56
- name: 'fs-context-mcp',
57
- version: SERVER_VERSION,
58
- }, {
59
- instructions: serverInstructions || undefined,
250
+ const serverConfig = {
60
251
  capabilities: {
61
252
  logging: {},
62
253
  },
63
- });
254
+ };
255
+ if (serverInstructions) {
256
+ serverConfig.instructions = serverInstructions;
257
+ }
258
+ const server = new McpServer({
259
+ name: 'fs-context-mcp',
260
+ version: SERVER_VERSION,
261
+ }, serverConfig);
64
262
  patchToolErrorHandling(server);
65
263
  registerAllTools(server);
66
264
  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 = {
@@ -1 +1 @@
1
- {"version":3,"file":"read-multiple-files.js","sourceRoot":"","sources":["../../src/tools/read-multiple-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-multiple-files.js","sourceRoot":"","sources":["../../src/tools/read-multiple-files.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"search-content.d.ts","sourceRoot":"","sources":["../../src/tools/search-content.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmGzE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuBjE"}
1
+ {"version":3,"file":"search-content.d.ts","sourceRoot":"","sources":["../../src/tools/search-content.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAqGzE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuBjE"}
@@ -3,34 +3,31 @@ import { ErrorCode } from '../lib/errors.js';
3
3
  import { searchContent } from '../lib/file-operations/search/engine.js';
4
4
  import { createTimedAbortSignal } from '../lib/fs-helpers/abort.js';
5
5
  import { withToolDiagnostics } from '../lib/observability/diagnostics.js';
6
- import { getAllowedDirectories } from '../lib/path-validation/allowed-directories.js';
7
6
  import { SearchContentInputSchema, SearchContentOutputSchema, } from '../schemas/index.js';
7
+ import { resolvePathOrRoot } from './shared/resolve-path.js';
8
8
  import { buildStructuredResult, buildTextResult, } from './shared/search-formatting.js';
9
9
  import { buildToolErrorResponse, buildToolResponse, withToolErrorHandling, } from './tool-response.js';
10
- function resolvePathOrRoot(path) {
11
- if (path && path.trim().length > 0)
12
- return path;
13
- const firstRoot = getAllowedDirectories()[0];
14
- if (!firstRoot) {
15
- throw new Error('No workspace roots configured. Use roots to check.');
10
+ function resolveExcludePatterns(args) {
11
+ if (args.excludePatterns)
12
+ return args.excludePatterns;
13
+ return args.includeIgnored ? [] : DEFAULT_EXCLUDE_PATTERNS;
14
+ }
15
+ function resolveMaxFileSize(args) {
16
+ if (typeof args.maxFileSize !== 'number') {
17
+ return MAX_SEARCHABLE_FILE_SIZE;
16
18
  }
17
- return firstRoot;
19
+ return Math.min(args.maxFileSize, MAX_SEARCHABLE_FILE_SIZE);
18
20
  }
19
- function buildSearchOptions(args, signal) {
20
- const excludePatterns = args.excludePatterns ??
21
- (args.includeIgnored ? [] : DEFAULT_EXCLUDE_PATTERNS);
21
+ function buildSearchOptionsBase(args) {
22
22
  const includeHidden = args.includeHidden || args.includeIgnored;
23
- const maxFileSize = typeof args.maxFileSize === 'number'
24
- ? Math.min(args.maxFileSize, MAX_SEARCHABLE_FILE_SIZE)
25
- : MAX_SEARCHABLE_FILE_SIZE;
26
23
  return {
27
24
  filePattern: args.filePattern,
28
- excludePatterns,
25
+ excludePatterns: resolveExcludePatterns(args),
29
26
  caseSensitive: args.caseSensitive,
30
27
  isLiteral: args.isLiteral,
31
28
  contextLines: args.contextLines,
32
29
  maxResults: args.maxResults,
33
- maxFileSize,
30
+ maxFileSize: resolveMaxFileSize(args),
34
31
  maxFilesScanned: args.maxFilesScanned,
35
32
  timeoutMs: args.timeoutMs,
36
33
  skipBinary: args.skipBinary,
@@ -38,9 +35,14 @@ function buildSearchOptions(args, signal) {
38
35
  wholeWord: args.wholeWord,
39
36
  baseNameMatch: args.baseNameMatch,
40
37
  caseSensitiveFileMatch: args.caseSensitiveFileMatch,
41
- signal,
42
38
  };
43
39
  }
40
+ function buildSearchOptions(args, signal) {
41
+ const options = buildSearchOptionsBase(args);
42
+ if (signal)
43
+ return { ...options, signal };
44
+ return options;
45
+ }
44
46
  async function handleSearchContent(args, signal) {
45
47
  const basePath = resolvePathOrRoot(args.path);
46
48
  const fullOptions = buildSearchOptions(args, signal);
@@ -1 +1 @@
1
- {"version":3,"file":"search-content.js","sourceRoot":"","sources":["../../src/tools/search-content.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,EACL,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,qBAAqB,EACrB,eAAe,GAChB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EAEjB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAK5B,SAAS,iBAAiB,CAAC,IAAwB;IACjD,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,MAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CACzB,IAAuB,EACvB,MAAoB;IAEpB,MAAM,eAAe,GACnB,IAAI,CAAC,eAAe;QACpB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;IACxD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,CAAC;IAChE,MAAM,WAAW,GACf,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ;QAClC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,wBAAwB,CAAC;QACtD,CAAC,CAAC,wBAAwB,CAAC;IAC/B,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,eAAe;QACf,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,WAAW;QACX,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,aAAa;QACb,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;QACnD,MAAM;KACP,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,IAAuB,EACvB,MAAoB;IAEpB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACxE,OAAO,iBAAiB,CACtB,eAAe,CAAC,MAAM,CAAC,EACvB,qBAAqB,CAAC,MAAM,CAAC,CAC9B,CAAC;AACJ,CAAC;AAED,MAAM,mBAAmB,GAAG;IAC1B,KAAK,EAAE,gBAAgB;IACvB,WAAW,EACT,oDAAoD;QACpD,0BAA0B;QAC1B,uEAAuE;IACzE,WAAW,EAAE,wBAAwB;IACrC,YAAY,EAAE,yBAAyB;IACvC,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;KACpB;CACO,CAAC;AAEX,MAAM,UAAU,yBAAyB,CAAC,MAAiB;IACzD,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC/D,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,IAAI,CAAC,SAAS,CACf,CAAC;QACF,IAAI,CAAC;YACH,OAAO,MAAM,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjD,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE,CACR,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,CACvE,EACH,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,GAAG,EAAE,CAC3B,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"search-content.js","sourceRoot":"","sources":["../../src/tools/search-content.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"search-files.d.ts","sourceRoot":"","sources":["../../src/tools/search-files.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA4GzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgB/D"}
1
+ {"version":3,"file":"search-files.d.ts","sourceRoot":"","sources":["../../src/tools/search-files.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA+GzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgB/D"}