@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
@@ -1,32 +1,196 @@
1
- import fg from 'fast-glob';
2
- import { publishOpsTraceEnd, publishOpsTraceError, publishOpsTraceStart, shouldPublishOpsTrace, } from '../observability/diagnostics.js';
3
- async function* fastGlobEntries(options) {
4
- const stream = fg.stream(options.pattern, {
5
- cwd: options.cwd,
6
- absolute: true,
7
- dot: options.includeHidden,
8
- ignore: [...options.excludePatterns],
9
- followSymbolicLinks: options.followSymbolicLinks,
10
- baseNameMatch: options.baseNameMatch,
11
- caseSensitiveMatch: options.caseSensitiveMatch,
12
- onlyFiles: options.onlyFiles,
13
- stats: options.stats,
14
- objectMode: true,
15
- deep: options.maxDepth ?? Number.POSITIVE_INFINITY,
16
- suppressErrors: options.suppressErrors,
17
- });
18
- for await (const entry of stream) {
19
- if (typeof entry === 'string' || Buffer.isBuffer(entry))
20
- continue;
21
- yield {
22
- path: entry.path,
23
- dirent: entry.dirent,
24
- stats: entry.stats,
1
+ import * as fs from 'node:fs/promises';
2
+ import * as path from 'node:path';
3
+ import { glob as fsGlob } from 'node:fs/promises';
4
+ import { publishOpsTraceEnd, publishOpsTraceError, publishOpsTraceStart, shouldPublishOpsTrace, } from '../observability.js';
5
+ function normalizePattern(pattern, baseNameMatch) {
6
+ const normalized = pattern.replace(/\\/gu, '/');
7
+ if (!baseNameMatch)
8
+ return normalized;
9
+ if (normalized.includes('/'))
10
+ return normalized;
11
+ return `**/${normalized}`;
12
+ }
13
+ function normalizeIgnorePatterns(patterns) {
14
+ return patterns.map((pattern) => pattern.replace(/\\/gu, '/'));
15
+ }
16
+ function hasGlobMagic(segment) {
17
+ return /[*?[\]{}!]/u.test(segment);
18
+ }
19
+ function splitPatternPrefix(normalizedPattern) {
20
+ const segments = normalizedPattern.split('/');
21
+ let splitIndex = segments.length;
22
+ for (let i = 0; i < segments.length; i += 1) {
23
+ if (hasGlobMagic(segments[i] ?? '')) {
24
+ splitIndex = i;
25
+ break;
26
+ }
27
+ }
28
+ if (splitIndex === 0) {
29
+ return { prefix: '', remainder: normalizedPattern };
30
+ }
31
+ if (splitIndex >= segments.length) {
32
+ const last = segments[segments.length - 1] ?? '';
33
+ const prefixSegments = segments.slice(0, Math.max(0, segments.length - 1));
34
+ const prefix = prefixSegments.length > 0 ? `${prefixSegments.join('/')}/` : '';
35
+ return { prefix, remainder: last };
36
+ }
37
+ const prefixSegments = segments.slice(0, splitIndex);
38
+ const remainderSegments = segments.slice(splitIndex);
39
+ return {
40
+ prefix: `${prefixSegments.join('/')}/`,
41
+ remainder: remainderSegments.join('/'),
42
+ };
43
+ }
44
+ function normalizeToPosixPath(filePath) {
45
+ return filePath.replace(/\\/gu, '/');
46
+ }
47
+ function buildHiddenPatterns(normalizedPattern, maxDepth) {
48
+ const patterns = new Set();
49
+ patterns.add(normalizedPattern);
50
+ const { prefix, remainder } = splitPatternPrefix(normalizedPattern);
51
+ const remainderSegments = remainder.length > 0 ? remainder.split('/') : [];
52
+ const dotfileSegments = [...remainderSegments];
53
+ const firstCandidateIndex = dotfileSegments.findIndex((segment) => segment !== '**' && segment.length > 0);
54
+ if (firstCandidateIndex !== -1) {
55
+ const original = dotfileSegments[firstCandidateIndex] ?? '';
56
+ if (!original.startsWith('.')) {
57
+ dotfileSegments[firstCandidateIndex] = `.${original}`;
58
+ patterns.add(`${prefix}${dotfileSegments.join('/')}`);
59
+ }
60
+ }
61
+ if (remainder.startsWith('**/')) {
62
+ const afterGlobstar = remainder.slice('**/'.length);
63
+ for (let depth = 0; depth <= maxDepth; depth += 1) {
64
+ const depthPrefix = depth > 0 ? '*/'.repeat(depth) : '';
65
+ patterns.add(`${prefix}${depthPrefix}.*/**/${afterGlobstar}`);
66
+ if (afterGlobstar.length > 0 && !afterGlobstar.startsWith('.')) {
67
+ patterns.add(`${prefix}${depthPrefix}.${afterGlobstar}`);
68
+ }
69
+ }
70
+ }
71
+ return [...patterns];
72
+ }
73
+ function toAbsolutePath(cwd, match) {
74
+ return path.isAbsolute(match) ? match : path.resolve(cwd, match);
75
+ }
76
+ function toAbsolutePathFromDirent(cwd, dirent) {
77
+ const base = dirent.parentPath && dirent.parentPath.length > 0 ? dirent.parentPath : cwd;
78
+ return path.resolve(base, dirent.name);
79
+ }
80
+ function isGlobDirentLike(value) {
81
+ return (typeof value === 'object' &&
82
+ value !== null &&
83
+ 'name' in value &&
84
+ typeof value.name === 'string');
85
+ }
86
+ function resolveAbsolutePathFromGlobMatch(cwd, match) {
87
+ return typeof match === 'string'
88
+ ? toAbsolutePath(cwd, match)
89
+ : toAbsolutePathFromDirent(cwd, match);
90
+ }
91
+ function isWithinDepthLimit(options, entryPath) {
92
+ if (options.maxDepth === undefined)
93
+ return true;
94
+ return resolveDepth(options.cwd, entryPath) <= options.maxDepth;
95
+ }
96
+ function createGlobIterator(pattern, cwd, exclude, withFileTypes, suppressErrors) {
97
+ try {
98
+ return fsGlob(pattern, {
99
+ cwd,
100
+ exclude,
101
+ withFileTypes,
102
+ });
103
+ }
104
+ catch (error) {
105
+ if (suppressErrors)
106
+ return null;
107
+ throw error;
108
+ }
109
+ }
110
+ function shouldUseGlobDirents(options) {
111
+ return !options.stats && !options.followSymbolicLinks;
112
+ }
113
+ function buildEntryFromGlobDirent(absolutePath, dirent, options) {
114
+ if (options.onlyFiles && !dirent.isFile())
115
+ return null;
116
+ return { path: absolutePath, dirent };
117
+ }
118
+ async function processGlobMatch(match, options, seen, useDirents) {
119
+ const absolutePath = resolveAbsolutePathFromGlobMatch(options.cwd, match);
120
+ if (seen.has(absolutePath))
121
+ return null;
122
+ seen.add(absolutePath);
123
+ if (!isWithinDepthLimit(options, absolutePath))
124
+ return null;
125
+ const entry = useDirents && isGlobDirentLike(match)
126
+ ? buildEntryFromGlobDirent(absolutePath, match, options)
127
+ : await buildEntry(absolutePath, options);
128
+ if (!entry)
129
+ return null;
130
+ if (options.onlyFiles && !entry.dirent.isFile())
131
+ return null;
132
+ return entry;
133
+ }
134
+ async function* scanPattern(pattern, options, exclude, seen) {
135
+ const useDirents = shouldUseGlobDirents(options);
136
+ const iterator = createGlobIterator(pattern, options.cwd, exclude, useDirents, options.suppressErrors ?? false);
137
+ if (!iterator)
138
+ return;
139
+ try {
140
+ for await (const match of iterator) {
141
+ const entry = await processGlobMatch(match, options, seen, useDirents);
142
+ if (entry)
143
+ yield entry;
144
+ }
145
+ }
146
+ catch (error) {
147
+ if (options.suppressErrors)
148
+ return;
149
+ throw error;
150
+ }
151
+ }
152
+ function resolveDepth(cwd, entryPath) {
153
+ const relative = path.relative(cwd, entryPath);
154
+ if (relative.length === 0)
155
+ return 0;
156
+ const normalized = normalizeToPosixPath(relative);
157
+ const parts = normalized.split('/').filter((part) => part.length > 0);
158
+ return parts.length;
159
+ }
160
+ async function buildEntry(entryPath, options) {
161
+ try {
162
+ const stats = options.followSymbolicLinks
163
+ ? await fs.stat(entryPath)
164
+ : await fs.lstat(entryPath);
165
+ const result = {
166
+ path: entryPath,
167
+ dirent: stats,
25
168
  };
169
+ if (options.stats)
170
+ result.stats = stats;
171
+ return result;
172
+ }
173
+ catch (error) {
174
+ if (options.suppressErrors) {
175
+ return null;
176
+ }
177
+ throw error;
178
+ }
179
+ }
180
+ async function* nativeGlobEntries(options) {
181
+ const normalized = normalizePattern(options.pattern, options.baseNameMatch);
182
+ const maxHiddenDepth = options.maxDepth ?? 10;
183
+ const patterns = options.includeHidden
184
+ ? buildHiddenPatterns(normalized, maxHiddenDepth)
185
+ : [normalized];
186
+ const exclude = normalizeIgnorePatterns(options.excludePatterns);
187
+ const seen = new Set();
188
+ for (const pattern of patterns) {
189
+ yield* scanPattern(pattern, options, exclude, seen);
26
190
  }
27
191
  }
28
192
  export async function* globEntries(options) {
29
- const engine = 'fast-glob';
193
+ const engine = 'node:fs/promises.glob';
30
194
  const traceContext = shouldPublishOpsTrace()
31
195
  ? {
32
196
  op: 'globEntries',
@@ -36,7 +200,7 @@ export async function* globEntries(options) {
36
200
  if (traceContext)
37
201
  publishOpsTraceStart(traceContext);
38
202
  try {
39
- yield* fastGlobEntries(options);
203
+ yield* nativeGlobEntries(options);
40
204
  }
41
205
  catch (error) {
42
206
  if (traceContext)
@@ -1 +1 @@
1
- {"version":3,"file":"glob-engine.js","sourceRoot":"","sources":["../../../src/lib/file-operations/glob-engine.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,WAAW,CAAC;AAE3B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AA8BzC,KAAK,SAAS,CAAC,CAAC,eAAe,CAC7B,OAA2B;IAE3B,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE;QACxC,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,QAAQ,EAAE,IAAI;QACd,GAAG,EAAE,OAAO,CAAC,aAAa;QAC1B,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;QACpC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,iBAAiB;QAClD,cAAc,EAAE,OAAO,CAAC,cAAc;KACvC,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAEzB,EAAE,CAAC;QACF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;QAClE,MAAM;YACJ,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,WAAW,CAChC,OAA2B;IAE3B,MAAM,MAAM,GAAG,WAAW,CAAC;IAE3B,MAAM,YAAY,GAAG,qBAAqB,EAAE;QAC1C,CAAC,CAAC;YACE,EAAE,EAAE,aAAa;YACjB,MAAM;SACP;QACH,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,YAAY;QAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAErD,IAAI,CAAC;QACH,KAAK,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,YAAY;YAAE,oBAAoB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,IAAI,YAAY;YAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;IACrD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"glob-engine.js","sourceRoot":"","sources":["../../../src/lib/file-operations/glob-engine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"list-directory-entry.d.ts","sourceRoot":"","sources":["../../../src/lib/file-operations/list-directory-entry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QACN,WAAW,IAAI,OAAO,CAAC;QACvB,cAAc,IAAI,OAAO,CAAC;QAC1B,MAAM,IAAI,OAAO,CAAC;KACnB,CAAC;IACF,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAiDD,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,cAAc,EAAE,GACxB,OAAO,CAAC,IAAI,CAAC,CAWf"}
1
+ {"version":3,"file":"list-directory-entry.d.ts","sourceRoot":"","sources":["../../../src/lib/file-operations/list-directory-entry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QACN,WAAW,IAAI,OAAO,CAAC;QACvB,cAAc,IAAI,OAAO,CAAC;QAC1B,MAAM,IAAI,OAAO,CAAC;KACnB,CAAC;IACF,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAoDD,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,cAAc,EAAE,GACxB,OAAO,CAAC,IAAI,CAAC,CAWf"}
@@ -25,14 +25,16 @@ function updateTotals(type, totals) {
25
25
  totals.directories += 1;
26
26
  }
27
27
  function buildDirectoryEntry(basePath, entry, entryType, needsStats, symlinkTarget) {
28
+ const size = needsStats && entry.stats?.isFile() ? entry.stats.size : undefined;
29
+ const modified = needsStats ? entry.stats?.mtime : undefined;
28
30
  return {
29
31
  name: path.basename(entry.path),
30
32
  path: entry.path,
31
33
  relativePath: resolveRelativePath(basePath, entry.path),
32
34
  type: entryType,
33
- size: needsStats && entry.stats?.isFile() ? entry.stats.size : undefined,
34
- modified: needsStats ? entry.stats?.mtime : undefined,
35
- symlinkTarget,
35
+ ...(size !== undefined ? { size } : {}),
36
+ ...(modified !== undefined ? { modified } : {}),
37
+ ...(symlinkTarget !== undefined ? { symlinkTarget } : {}),
36
38
  };
37
39
  }
38
40
  export async function appendEntry(basePath, entry, options, needsStats, totals, entries) {
@@ -1 +1 @@
1
- {"version":3,"file":"list-directory-entry.js","sourceRoot":"","sources":["../../../src/lib/file-operations/list-directory-entry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAwBlC,SAAS,gBAAgB,CACvB,MAAgC;IAEhC,IAAI,MAAM,CAAC,WAAW,EAAE;QAAE,OAAO,WAAW,CAAC;IAC7C,IAAI,MAAM,CAAC,cAAc,EAAE;QAAE,OAAO,SAAS,CAAC;IAC9C,IAAI,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,MAAM,CAAC;IACnC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB,EAAE,SAAiB;IAC9D,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACxE,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,SAAiC,EACjC,qBAA8B,EAC9B,SAAiB;IAEjB,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACtD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,YAAY,CAAC,IAA4B,EAAE,MAAmB;IACrE,IAAI,IAAI,KAAK,MAAM;QAAE,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;IACvC,IAAI,IAAI,KAAK,WAAW;QAAE,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,mBAAmB,CAC1B,QAAgB,EAChB,KAAsC,EACtC,SAAiC,EACjC,UAAmB,EACnB,aAAiC;IAEjC,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;QAC/B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,YAAY,EAAE,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC;QACvD,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,UAAU,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACxE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS;QACrD,aAAa;KACd,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,QAAgB,EAChB,KAAqB,EACrB,OAAuB,EACvB,UAAmB,EACnB,MAAmB,EACnB,OAAyB;IAEzB,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAC9C,SAAS,EACT,OAAO,CAAC,qBAAqB,EAC7B,KAAK,CAAC,IAAI,CACX,CAAC;IACF,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,IAAI,CACV,mBAAmB,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAC3E,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"list-directory-entry.js","sourceRoot":"","sources":["../../../src/lib/file-operations/list-directory-entry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAwBlC,SAAS,gBAAgB,CACvB,MAAgC;IAEhC,IAAI,MAAM,CAAC,WAAW,EAAE;QAAE,OAAO,WAAW,CAAC;IAC7C,IAAI,MAAM,CAAC,cAAc,EAAE;QAAE,OAAO,SAAS,CAAC;IAC9C,IAAI,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,MAAM,CAAC;IACnC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB,EAAE,SAAiB;IAC9D,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACxE,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,SAAiC,EACjC,qBAA8B,EAC9B,SAAiB;IAEjB,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACtD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,YAAY,CAAC,IAA4B,EAAE,MAAmB;IACrE,IAAI,IAAI,KAAK,MAAM;QAAE,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;IACvC,IAAI,IAAI,KAAK,WAAW;QAAE,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,mBAAmB,CAC1B,QAAgB,EAChB,KAAsC,EACtC,SAAiC,EACjC,UAAmB,EACnB,aAAiC;IAEjC,MAAM,IAAI,GACR,UAAU,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7D,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;QAC/B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,YAAY,EAAE,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC;QACvD,IAAI,EAAE,SAAS;QACf,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,QAAgB,EAChB,KAAqB,EACrB,OAAuB,EACvB,UAAmB,EACnB,MAAmB,EACnB,OAAyB;IAEzB,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAC9C,SAAS,EACT,OAAO,CAAC,qBAAqB,EAC7B,KAAK,CAAC,IAAI,CACX,CAAC;IACF,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,IAAI,CACV,mBAAmB,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAC3E,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"list-directory-helpers.d.ts","sourceRoot":"","sources":["../../../src/lib/file-operations/list-directory-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAa/B,MAAM,WAAW,oBAAoB;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;IAC/C,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CACtC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,GAAG,SAAS,CAAC,CACjD,GAAG;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAOF,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,oBAAoB,GAC5B,iBAAiB,CAWnB;AAsHD,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,iBAAiB,EAC7B,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC;IACT,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,OAAO,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;CACzC,CAAC,CAiBD"}
1
+ {"version":3,"file":"list-directory-helpers.d.ts","sourceRoot":"","sources":["../../../src/lib/file-operations/list-directory-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAa/B,MAAM,WAAW,oBAAoB;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;IAC/C,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CACtC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,GAAG,SAAS,CAAC,CACjD,GAAG;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAOF,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,oBAAoB,GAC5B,iBAAiB,CAenB;AA2HD,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,iBAAiB,EAC7B,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC;IACT,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,OAAO,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;CACzC,CAAC,CAiBD"}
@@ -7,16 +7,20 @@ function normalizePattern(pattern) {
7
7
  return pattern;
8
8
  }
9
9
  export function normalizeOptions(options) {
10
- return {
10
+ const pattern = normalizePattern(options.pattern);
11
+ const normalized = {
11
12
  includeHidden: options.includeHidden ?? false,
12
13
  excludePatterns: options.excludePatterns ?? [],
13
14
  maxDepth: options.maxDepth ?? DEFAULT_MAX_DEPTH,
14
15
  maxEntries: options.maxEntries ?? DEFAULT_LIST_MAX_ENTRIES,
15
16
  sortBy: options.sortBy ?? 'name',
16
17
  includeSymlinkTargets: options.includeSymlinkTargets ?? false,
17
- pattern: normalizePattern(options.pattern),
18
18
  timeoutMs: options.timeoutMs ?? DEFAULT_SEARCH_TIMEOUT_MS,
19
19
  };
20
+ if (pattern !== undefined) {
21
+ normalized.pattern = pattern;
22
+ }
23
+ return normalized;
20
24
  }
21
25
  function sortEntries(entries, sortBy) {
22
26
  const compare = {
@@ -60,7 +64,7 @@ function createEntryStream(basePath, normalized, maxDepth, needsStats) {
60
64
  });
61
65
  }
62
66
  function buildSummary(entries, totals, maxDepth, truncated, stoppedReason) {
63
- return {
67
+ const baseSummary = {
64
68
  totalEntries: entries.length,
65
69
  entriesScanned: entries.length,
66
70
  entriesVisible: entries.length,
@@ -68,10 +72,13 @@ function buildSummary(entries, totals, maxDepth, truncated, stoppedReason) {
68
72
  totalDirectories: totals.directories,
69
73
  maxDepthReached: maxDepth,
70
74
  truncated,
71
- stoppedReason,
72
75
  skippedInaccessible: 0,
73
76
  symlinksNotFollowed: 0,
74
77
  };
78
+ return {
79
+ ...baseSummary,
80
+ ...(stoppedReason !== undefined ? { stoppedReason } : {}),
81
+ };
75
82
  }
76
83
  async function collectEntries(basePath, normalized, signal, needsStats, maxDepth) {
77
84
  const entries = [];
@@ -1 +1 @@
1
- {"version":3,"file":"list-directory-helpers.js","sourceRoot":"","sources":["../../../src/lib/file-operations/list-directory-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-directory-helpers.js","sourceRoot":"","sources":["../../../src/lib/file-operations/list-directory-helpers.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,14 @@
1
- import type { ListDirectoryResult } from '../../config/types.js';
2
- import { type ListDirectoryOptions } from './list-directory-helpers.js';
1
+ import type { ListDirectoryResult } from '../../config.js';
2
+ export interface ListDirectoryOptions {
3
+ includeHidden?: boolean;
4
+ excludePatterns?: readonly string[];
5
+ maxDepth?: number;
6
+ maxEntries?: number;
7
+ sortBy?: 'name' | 'size' | 'modified' | 'type';
8
+ includeSymlinkTargets?: boolean;
9
+ pattern?: string;
10
+ timeoutMs?: number;
11
+ signal?: AbortSignal;
12
+ }
3
13
  export declare function listDirectory(dirPath: string, options?: ListDirectoryOptions): Promise<ListDirectoryResult>;
4
14
  //# sourceMappingURL=list-directory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-directory.d.ts","sourceRoot":"","sources":["../../../src/lib/file-operations/list-directory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAGjE,OAAO,EAEL,KAAK,oBAAoB,EAE1B,MAAM,6BAA6B,CAAC;AAErC,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAkB9B"}
1
+ {"version":3,"file":"list-directory.d.ts","sourceRoot":"","sources":["../../../src/lib/file-operations/list-directory.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAkB,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAW3E,MAAM,WAAW,oBAAoB;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;IAC/C,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAqSD,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAkB9B"}
@@ -1,6 +1,178 @@
1
- import { createTimedAbortSignal } from '../fs-helpers/abort.js';
2
- import { validateExistingDirectory } from '../path-validation/validate-existing.js';
3
- import { executeListDirectory, normalizeOptions, } from './list-directory-helpers.js';
1
+ import * as fsp from 'node:fs/promises';
2
+ import * as path from 'node:path';
3
+ import { DEFAULT_LIST_MAX_ENTRIES, DEFAULT_MAX_DEPTH, DEFAULT_SEARCH_TIMEOUT_MS, PARALLEL_CONCURRENCY, } from '../constants.js';
4
+ import { createTimedAbortSignal } from '../fs-helpers.js';
5
+ import { validateExistingDirectory } from '../path-validation.js';
6
+ import { globEntries } from './glob-engine.js';
7
+ function normalizePattern(pattern) {
8
+ if (!pattern || pattern.length === 0)
9
+ return undefined;
10
+ return pattern;
11
+ }
12
+ function normalizeOptions(options) {
13
+ const pattern = normalizePattern(options.pattern);
14
+ const normalized = {
15
+ includeHidden: options.includeHidden ?? false,
16
+ excludePatterns: options.excludePatterns ?? [],
17
+ maxDepth: options.maxDepth ?? DEFAULT_MAX_DEPTH,
18
+ maxEntries: options.maxEntries ?? DEFAULT_LIST_MAX_ENTRIES,
19
+ sortBy: options.sortBy ?? 'name',
20
+ includeSymlinkTargets: options.includeSymlinkTargets ?? false,
21
+ timeoutMs: options.timeoutMs ?? DEFAULT_SEARCH_TIMEOUT_MS,
22
+ };
23
+ if (pattern !== undefined) {
24
+ normalized.pattern = pattern;
25
+ }
26
+ return normalized;
27
+ }
28
+ function sortEntries(entries, sortBy) {
29
+ const compare = {
30
+ name: (a, b) => a.name.localeCompare(b.name),
31
+ type: (a, b) => a.type.localeCompare(b.type),
32
+ size: (a, b) => (a.size ?? 0) - (b.size ?? 0),
33
+ modified: (a, b) => (a.modified?.getTime() ?? 0) - (b.modified?.getTime() ?? 0),
34
+ }[sortBy];
35
+ entries.sort(compare);
36
+ }
37
+ function needsStatsForSort(sortBy) {
38
+ return sortBy === 'size' || sortBy === 'modified';
39
+ }
40
+ function resolveMaxDepth(normalized) {
41
+ if (!normalized.pattern) {
42
+ return 1;
43
+ }
44
+ return normalized.maxDepth;
45
+ }
46
+ function shouldStopScan(signal, entryCount, maxEntries) {
47
+ if (signal.aborted) {
48
+ return { stop: true, reason: 'aborted' };
49
+ }
50
+ if (entryCount >= maxEntries) {
51
+ return { stop: true, reason: 'maxEntries' };
52
+ }
53
+ return { stop: false };
54
+ }
55
+ function createEntryStream(basePath, normalized, maxDepth, needsStats) {
56
+ return globEntries({
57
+ cwd: basePath,
58
+ pattern: normalized.pattern ?? '*',
59
+ excludePatterns: normalized.excludePatterns,
60
+ includeHidden: normalized.includeHidden,
61
+ baseNameMatch: false,
62
+ caseSensitiveMatch: true,
63
+ maxDepth,
64
+ followSymbolicLinks: false,
65
+ onlyFiles: false,
66
+ stats: needsStats,
67
+ });
68
+ }
69
+ function resolveEntryType(dirent) {
70
+ if (dirent.isDirectory())
71
+ return 'directory';
72
+ if (dirent.isSymbolicLink())
73
+ return 'symlink';
74
+ if (dirent.isFile())
75
+ return 'file';
76
+ return 'other';
77
+ }
78
+ function resolveRelativePath(basePath, entryPath) {
79
+ return path.relative(basePath, entryPath) || path.basename(entryPath);
80
+ }
81
+ async function resolveSymlinkTarget(entryType, includeSymlinkTargets, entryPath) {
82
+ if (entryType !== 'symlink' || !includeSymlinkTargets) {
83
+ return undefined;
84
+ }
85
+ return await fsp.readlink(entryPath).catch(() => undefined);
86
+ }
87
+ function updateTotals(type, totals) {
88
+ if (type === 'file')
89
+ totals.files += 1;
90
+ if (type === 'directory')
91
+ totals.directories += 1;
92
+ }
93
+ function buildDirectoryEntry(basePath, entry, entryType, needsStats, symlinkTarget) {
94
+ const size = needsStats && entry.stats?.isFile() ? entry.stats.size : undefined;
95
+ const modified = needsStats ? entry.stats?.mtime : undefined;
96
+ return {
97
+ name: path.basename(entry.path),
98
+ path: entry.path,
99
+ relativePath: resolveRelativePath(basePath, entry.path),
100
+ type: entryType,
101
+ ...(size !== undefined ? { size } : {}),
102
+ ...(modified !== undefined ? { modified } : {}),
103
+ ...(symlinkTarget !== undefined ? { symlinkTarget } : {}),
104
+ };
105
+ }
106
+ async function appendEntry(basePath, entry, options, needsStats, totals, entries) {
107
+ const entryType = resolveEntryType(entry.dirent);
108
+ const symlinkTarget = await resolveSymlinkTarget(entryType, options.includeSymlinkTargets, entry.path);
109
+ updateTotals(entryType, totals);
110
+ entries.push(buildDirectoryEntry(basePath, entry, entryType, needsStats, symlinkTarget));
111
+ }
112
+ function buildSummary(entries, totals, maxDepth, truncated, stoppedReason) {
113
+ const baseSummary = {
114
+ totalEntries: entries.length,
115
+ entriesScanned: entries.length,
116
+ entriesVisible: entries.length,
117
+ totalFiles: totals.files,
118
+ totalDirectories: totals.directories,
119
+ maxDepthReached: maxDepth,
120
+ truncated,
121
+ skippedInaccessible: 0,
122
+ symlinksNotFollowed: 0,
123
+ };
124
+ return {
125
+ ...baseSummary,
126
+ ...(stoppedReason !== undefined ? { stoppedReason } : {}),
127
+ };
128
+ }
129
+ async function collectEntries(basePath, normalized, signal, needsStats, maxDepth) {
130
+ const entries = [];
131
+ const totals = { files: 0, directories: 0 };
132
+ let truncated = false;
133
+ let stoppedReason;
134
+ const pending = [];
135
+ let scheduledCount = 0;
136
+ const stream = createEntryStream(basePath, normalized, maxDepth, needsStats);
137
+ const flushPending = async () => {
138
+ if (pending.length === 0)
139
+ return;
140
+ await Promise.allSettled(pending.splice(0));
141
+ };
142
+ for await (const entry of stream) {
143
+ const stop = shouldStopScan(signal, scheduledCount, normalized.maxEntries);
144
+ if (stop.stop) {
145
+ truncated = true;
146
+ stoppedReason = stop.reason;
147
+ break;
148
+ }
149
+ scheduledCount += 1;
150
+ const task = appendEntry(basePath, entry, normalized, needsStats, totals, entries);
151
+ if (normalized.includeSymlinkTargets) {
152
+ pending.push(task);
153
+ if (pending.length >= PARALLEL_CONCURRENCY) {
154
+ await flushPending();
155
+ }
156
+ }
157
+ else {
158
+ await task;
159
+ }
160
+ }
161
+ if (normalized.includeSymlinkTargets) {
162
+ await flushPending();
163
+ }
164
+ return { entries, totals, truncated, stoppedReason };
165
+ }
166
+ async function executeListDirectory(basePath, normalized, signal) {
167
+ const needsStats = needsStatsForSort(normalized.sortBy);
168
+ const maxDepth = resolveMaxDepth(normalized);
169
+ const { entries, totals, truncated, stoppedReason } = await collectEntries(basePath, normalized, signal, needsStats, maxDepth);
170
+ sortEntries(entries, normalized.sortBy);
171
+ return {
172
+ entries,
173
+ summary: buildSummary(entries, totals, maxDepth, truncated, stoppedReason),
174
+ };
175
+ }
4
176
  export async function listDirectory(dirPath, options = {}) {
5
177
  const normalized = normalizeOptions(options);
6
178
  const { signal, cleanup } = createTimedAbortSignal(options.signal, normalized.timeoutMs);
@@ -1 +1 @@
1
- {"version":3,"file":"list-directory.js","sourceRoot":"","sources":["../../../src/lib/file-operations/list-directory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EACL,oBAAoB,EAEpB,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AAErC,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAe,EACf,UAAgC,EAAE;IAElC,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAChD,OAAO,CAAC,MAAM,EACd,UAAU,CAAC,SAAS,CACrB,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAElE,IAAI,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,oBAAoB,CACrD,QAAQ,EACR,UAAU,EACV,MAAM,CACP,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC9C,CAAC;YAAS,CAAC;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"list-directory.js","sourceRoot":"","sources":["../../../src/lib/file-operations/list-directory.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"read-multiple-files-helpers.d.ts","sourceRoot":"","sources":["../../../src/lib/file-operations/read-multiple-files-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AASrC,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAyCD,wBAAgB,aAAa,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAE7E;AAED,wBAAsB,mBAAmB,CACvC,cAAc,EAAE,YAAY,EAAE,EAC9B,OAAO,EAAE,6BAA6B,EACtC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;IACT,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,kBAAkB,CAAA;KAAE,EAAE,CAAC;IACxD,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,EAAE,CAAC;CAC3C,CAAC,CAOD;AAgBD,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,EAAE,mBAAmB,GAC3B;IAAE,UAAU,EAAE,6BAA6B,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,CAMrE"}
1
+ {"version":3,"file":"read-multiple-files-helpers.d.ts","sourceRoot":"","sources":["../../../src/lib/file-operations/read-multiple-files-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AASrC,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AA+DD,wBAAgB,aAAa,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAE7E;AAED,wBAAsB,mBAAmB,CACvC,cAAc,EAAE,YAAY,EAAE,EAC9B,OAAO,EAAE,6BAA6B,EACtC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;IACT,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,kBAAkB,CAAA;KAAE,EAAE,CAAC;IACxD,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,EAAE,CAAC;CAC3C,CAAC,CAOD;AAmBD,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,EAAE,mBAAmB,GAC3B;IAAE,UAAU,EAAE,6BAA6B,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,CAUrE"}