@j0hanz/filesystem-context-mcp 1.2.8 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/README.md +125 -19
  2. package/dist/__tests__/lib/file-operations/compute-checksums.test.d.ts +2 -0
  3. package/dist/__tests__/lib/file-operations/compute-checksums.test.d.ts.map +1 -0
  4. package/dist/__tests__/lib/file-operations/compute-checksums.test.js +59 -0
  5. package/dist/__tests__/lib/file-operations/compute-checksums.test.js.map +1 -0
  6. package/dist/__tests__/lib/file-operations/get-multiple-file-info.test.d.ts +2 -0
  7. package/dist/__tests__/lib/file-operations/get-multiple-file-info.test.d.ts.map +1 -0
  8. package/dist/__tests__/lib/file-operations/get-multiple-file-info.test.js +46 -0
  9. package/dist/__tests__/lib/file-operations/get-multiple-file-info.test.js.map +1 -0
  10. package/dist/__tests__/lib/file-operations/read-multiple-files-edge-cases.test.js +21 -0
  11. package/dist/__tests__/lib/file-operations/read-multiple-files-edge-cases.test.js.map +1 -1
  12. package/dist/__tests__/lib/file-operations/read-multiple-files.test.js +18 -0
  13. package/dist/__tests__/lib/file-operations/read-multiple-files.test.js.map +1 -1
  14. package/dist/__tests__/lib/file-operations/search-definitions.test.d.ts +2 -0
  15. package/dist/__tests__/lib/file-operations/search-definitions.test.d.ts.map +1 -0
  16. package/dist/__tests__/lib/file-operations/search-definitions.test.js +274 -0
  17. package/dist/__tests__/lib/file-operations/search-definitions.test.js.map +1 -0
  18. package/dist/__tests__/lib/file-operations/sorting.test.d.ts +2 -0
  19. package/dist/__tests__/lib/file-operations/sorting.test.d.ts.map +1 -0
  20. package/dist/__tests__/lib/file-operations/sorting.test.js +47 -0
  21. package/dist/__tests__/lib/file-operations/sorting.test.js.map +1 -0
  22. package/dist/__tests__/lib/fs-helpers/utf8.test.d.ts +2 -0
  23. package/dist/__tests__/lib/fs-helpers/utf8.test.d.ts.map +1 -0
  24. package/dist/__tests__/lib/fs-helpers/utf8.test.js +43 -0
  25. package/dist/__tests__/lib/fs-helpers/utf8.test.js.map +1 -0
  26. package/dist/__tests__/lib/path-validation-errors.test.d.ts +2 -0
  27. package/dist/__tests__/lib/path-validation-errors.test.d.ts.map +1 -0
  28. package/dist/__tests__/lib/path-validation-errors.test.js +35 -0
  29. package/dist/__tests__/lib/path-validation-errors.test.js.map +1 -0
  30. package/dist/__tests__/lib/path-validation-roots.test.d.ts +2 -0
  31. package/dist/__tests__/lib/path-validation-roots.test.d.ts.map +1 -0
  32. package/dist/__tests__/lib/path-validation-roots.test.js +42 -0
  33. package/dist/__tests__/lib/path-validation-roots.test.js.map +1 -0
  34. package/dist/__tests__/lib/path-validation.test.js +5 -0
  35. package/dist/__tests__/lib/path-validation.test.js.map +1 -1
  36. package/dist/__tests__/security/filesystem-boundary.test.js +20 -12
  37. package/dist/__tests__/security/filesystem-boundary.test.js.map +1 -1
  38. package/dist/config/types.d.ts +64 -0
  39. package/dist/config/types.d.ts.map +1 -1
  40. package/dist/config/types.js.map +1 -1
  41. package/dist/instructions.md +93 -28
  42. package/dist/lib/constants.d.ts.map +1 -1
  43. package/dist/lib/constants.js +17 -1
  44. package/dist/lib/constants.js.map +1 -1
  45. package/dist/lib/file-operations/analyze-directory-helpers.d.ts +24 -0
  46. package/dist/lib/file-operations/analyze-directory-helpers.d.ts.map +1 -0
  47. package/dist/lib/file-operations/analyze-directory-helpers.js +50 -0
  48. package/dist/lib/file-operations/analyze-directory-helpers.js.map +1 -0
  49. package/dist/lib/file-operations/analyze-directory.d.ts +1 -0
  50. package/dist/lib/file-operations/analyze-directory.d.ts.map +1 -1
  51. package/dist/lib/file-operations/analyze-directory.js +3 -58
  52. package/dist/lib/file-operations/analyze-directory.js.map +1 -1
  53. package/dist/lib/file-operations/batch-results.d.ts +12 -0
  54. package/dist/lib/file-operations/batch-results.d.ts.map +1 -0
  55. package/dist/lib/file-operations/batch-results.js +23 -0
  56. package/dist/lib/file-operations/batch-results.js.map +1 -0
  57. package/dist/lib/file-operations/compute-checksums.d.ts +9 -0
  58. package/dist/lib/file-operations/compute-checksums.d.ts.map +1 -0
  59. package/dist/lib/file-operations/compute-checksums.js +121 -0
  60. package/dist/lib/file-operations/compute-checksums.js.map +1 -0
  61. package/dist/lib/file-operations/directory-helpers.d.ts.map +1 -1
  62. package/dist/lib/file-operations/directory-helpers.js +18 -10
  63. package/dist/lib/file-operations/directory-helpers.js.map +1 -1
  64. package/dist/lib/file-operations/directory-tree-helpers.d.ts.map +1 -1
  65. package/dist/lib/file-operations/directory-tree-helpers.js +8 -1
  66. package/dist/lib/file-operations/directory-tree-helpers.js.map +1 -1
  67. package/dist/lib/file-operations/directory-tree.d.ts +1 -0
  68. package/dist/lib/file-operations/directory-tree.d.ts.map +1 -1
  69. package/dist/lib/file-operations/directory-tree.js +3 -9
  70. package/dist/lib/file-operations/directory-tree.js.map +1 -1
  71. package/dist/lib/file-operations/get-multiple-file-info.d.ts +7 -0
  72. package/dist/lib/file-operations/get-multiple-file-info.d.ts.map +1 -0
  73. package/dist/lib/file-operations/get-multiple-file-info.js +59 -0
  74. package/dist/lib/file-operations/get-multiple-file-info.js.map +1 -0
  75. package/dist/lib/file-operations/list-directory-entry.d.ts +18 -0
  76. package/dist/lib/file-operations/list-directory-entry.d.ts.map +1 -0
  77. package/dist/lib/file-operations/list-directory-entry.js +90 -0
  78. package/dist/lib/file-operations/list-directory-entry.js.map +1 -0
  79. package/dist/lib/file-operations/list-directory-helpers.d.ts +2 -0
  80. package/dist/lib/file-operations/list-directory-helpers.d.ts.map +1 -1
  81. package/dist/lib/file-operations/list-directory-helpers.js +84 -103
  82. package/dist/lib/file-operations/list-directory-helpers.js.map +1 -1
  83. package/dist/lib/file-operations/list-directory.d.ts +2 -0
  84. package/dist/lib/file-operations/list-directory.d.ts.map +1 -1
  85. package/dist/lib/file-operations/list-directory.js +5 -8
  86. package/dist/lib/file-operations/list-directory.js.map +1 -1
  87. package/dist/lib/file-operations/read-multiple-files.d.ts +2 -0
  88. package/dist/lib/file-operations/read-multiple-files.d.ts.map +1 -1
  89. package/dist/lib/file-operations/read-multiple-files.js +44 -11
  90. package/dist/lib/file-operations/read-multiple-files.js.map +1 -1
  91. package/dist/lib/file-operations/search/engine-options.d.ts.map +1 -1
  92. package/dist/lib/file-operations/search/engine-options.js +1 -8
  93. package/dist/lib/file-operations/search/engine-options.js.map +1 -1
  94. package/dist/lib/file-operations/search/engine.d.ts +1 -1
  95. package/dist/lib/file-operations/search/engine.d.ts.map +1 -1
  96. package/dist/lib/file-operations/search/engine.js +4 -1
  97. package/dist/lib/file-operations/search/engine.js.map +1 -1
  98. package/dist/lib/file-operations/search-content.d.ts +1 -0
  99. package/dist/lib/file-operations/search-content.d.ts.map +1 -1
  100. package/dist/lib/file-operations/search-content.js +1 -1
  101. package/dist/lib/file-operations/search-content.js.map +1 -1
  102. package/dist/lib/file-operations/search-definitions.d.ts +6 -0
  103. package/dist/lib/file-operations/search-definitions.d.ts.map +1 -0
  104. package/dist/lib/file-operations/search-definitions.js +247 -0
  105. package/dist/lib/file-operations/search-definitions.js.map +1 -0
  106. package/dist/lib/file-operations/search-files-helpers.d.ts +2 -24
  107. package/dist/lib/file-operations/search-files-helpers.d.ts.map +1 -1
  108. package/dist/lib/file-operations/search-files-helpers.js +3 -39
  109. package/dist/lib/file-operations/search-files-helpers.js.map +1 -1
  110. package/dist/lib/file-operations/search-files-options.d.ts +31 -0
  111. package/dist/lib/file-operations/search-files-options.d.ts.map +1 -0
  112. package/dist/lib/file-operations/search-files-options.js +33 -0
  113. package/dist/lib/file-operations/search-files-options.js.map +1 -0
  114. package/dist/lib/file-operations/search-files.d.ts +1 -1
  115. package/dist/lib/file-operations/search-files.d.ts.map +1 -1
  116. package/dist/lib/file-operations/search-files.js +3 -2
  117. package/dist/lib/file-operations/search-files.js.map +1 -1
  118. package/dist/lib/file-operations.d.ts +3 -0
  119. package/dist/lib/file-operations.d.ts.map +1 -1
  120. package/dist/lib/file-operations.js +3 -0
  121. package/dist/lib/file-operations.js.map +1 -1
  122. package/dist/lib/fs-helpers/binary-detect.d.ts.map +1 -1
  123. package/dist/lib/fs-helpers/binary-detect.js +13 -16
  124. package/dist/lib/fs-helpers/binary-detect.js.map +1 -1
  125. package/dist/lib/fs-helpers/readers/read-file-content.d.ts +29 -0
  126. package/dist/lib/fs-helpers/readers/read-file-content.d.ts.map +1 -0
  127. package/dist/lib/fs-helpers/readers/read-file-content.js +25 -0
  128. package/dist/lib/fs-helpers/readers/read-file-content.js.map +1 -0
  129. package/dist/lib/fs-helpers/readers/read-file.d.ts +1 -0
  130. package/dist/lib/fs-helpers/readers/read-file.d.ts.map +1 -1
  131. package/dist/lib/fs-helpers/readers/read-file.js +29 -29
  132. package/dist/lib/fs-helpers/readers/read-file.js.map +1 -1
  133. package/dist/lib/merge-defined.d.ts +2 -0
  134. package/dist/lib/merge-defined.d.ts.map +1 -0
  135. package/dist/lib/merge-defined.js +8 -0
  136. package/dist/lib/merge-defined.js.map +1 -0
  137. package/dist/lib/path-validation/validators.d.ts.map +1 -1
  138. package/dist/lib/path-validation/validators.js +8 -0
  139. package/dist/lib/path-validation/validators.js.map +1 -1
  140. package/dist/schemas/common.d.ts +2 -2
  141. package/dist/schemas/index.d.ts +2 -2
  142. package/dist/schemas/index.d.ts.map +1 -1
  143. package/dist/schemas/index.js +2 -2
  144. package/dist/schemas/index.js.map +1 -1
  145. package/dist/schemas/inputs/checksums.d.ts +10 -0
  146. package/dist/schemas/inputs/checksums.d.ts.map +1 -0
  147. package/dist/schemas/inputs/checksums.js +30 -0
  148. package/dist/schemas/inputs/checksums.js.map +1 -0
  149. package/dist/schemas/inputs/directory.d.ts +29 -0
  150. package/dist/schemas/inputs/directory.d.ts.map +1 -0
  151. package/dist/schemas/inputs/directory.js +75 -0
  152. package/dist/schemas/inputs/directory.js.map +1 -0
  153. package/dist/schemas/inputs/file-info.d.ts +9 -0
  154. package/dist/schemas/inputs/file-info.d.ts.map +1 -0
  155. package/dist/schemas/inputs/file-info.js +20 -0
  156. package/dist/schemas/inputs/file-info.js.map +1 -0
  157. package/dist/schemas/inputs/read.d.ts +26 -0
  158. package/dist/schemas/inputs/read.d.ts.map +1 -0
  159. package/dist/schemas/inputs/read.js +54 -0
  160. package/dist/schemas/inputs/read.js.map +1 -0
  161. package/dist/schemas/inputs/search.d.ts +44 -0
  162. package/dist/schemas/inputs/search.d.ts.map +1 -0
  163. package/dist/schemas/inputs/search.js +115 -0
  164. package/dist/schemas/inputs/search.js.map +1 -0
  165. package/dist/schemas/inputs.d.ts +5 -80
  166. package/dist/schemas/inputs.d.ts.map +1 -1
  167. package/dist/schemas/inputs.js +5 -195
  168. package/dist/schemas/inputs.js.map +1 -1
  169. package/dist/schemas/outputs/checksums.d.ts +93 -0
  170. package/dist/schemas/outputs/checksums.d.ts.map +1 -0
  171. package/dist/schemas/outputs/checksums.js +23 -0
  172. package/dist/schemas/outputs/checksums.js.map +1 -0
  173. package/dist/schemas/outputs/directory.d.ts +419 -0
  174. package/dist/schemas/outputs/directory.d.ts.map +1 -0
  175. package/dist/schemas/outputs/directory.js +81 -0
  176. package/dist/schemas/outputs/directory.js.map +1 -0
  177. package/dist/schemas/outputs/file-info.d.ts +270 -0
  178. package/dist/schemas/outputs/file-info.d.ts.map +1 -0
  179. package/dist/schemas/outputs/file-info.js +57 -0
  180. package/dist/schemas/outputs/file-info.js.map +1 -0
  181. package/dist/schemas/outputs/read.d.ts +187 -0
  182. package/dist/schemas/outputs/read.d.ts.map +1 -0
  183. package/dist/schemas/outputs/read.js +39 -0
  184. package/dist/schemas/outputs/read.js.map +1 -0
  185. package/dist/schemas/outputs/search.d.ts +360 -0
  186. package/dist/schemas/outputs/search.d.ts.map +1 -0
  187. package/dist/schemas/outputs/search.js +98 -0
  188. package/dist/schemas/outputs/search.js.map +1 -0
  189. package/dist/schemas/outputs.d.ts +5 -933
  190. package/dist/schemas/outputs.d.ts.map +1 -1
  191. package/dist/schemas/outputs.js +5 -190
  192. package/dist/schemas/outputs.js.map +1 -1
  193. package/dist/server.d.ts.map +1 -1
  194. package/dist/server.js +24 -14
  195. package/dist/server.js.map +1 -1
  196. package/dist/tools/analyze-directory.d.ts.map +1 -1
  197. package/dist/tools/analyze-directory.js +2 -2
  198. package/dist/tools/analyze-directory.js.map +1 -1
  199. package/dist/tools/compute-checksums.d.ts +3 -0
  200. package/dist/tools/compute-checksums.d.ts.map +1 -0
  201. package/dist/tools/compute-checksums.js +77 -0
  202. package/dist/tools/compute-checksums.js.map +1 -0
  203. package/dist/tools/directory-tree.d.ts.map +1 -1
  204. package/dist/tools/directory-tree.js +6 -2
  205. package/dist/tools/directory-tree.js.map +1 -1
  206. package/dist/tools/get-multiple-file-info.d.ts +3 -0
  207. package/dist/tools/get-multiple-file-info.d.ts.map +1 -0
  208. package/dist/tools/get-multiple-file-info.js +95 -0
  209. package/dist/tools/get-multiple-file-info.js.map +1 -0
  210. package/dist/tools/index.d.ts.map +1 -1
  211. package/dist/tools/index.js +6 -0
  212. package/dist/tools/index.js.map +1 -1
  213. package/dist/tools/list-allowed-dirs.d.ts.map +1 -1
  214. package/dist/tools/list-allowed-dirs.js +14 -3
  215. package/dist/tools/list-allowed-dirs.js.map +1 -1
  216. package/dist/tools/list-directory.d.ts.map +1 -1
  217. package/dist/tools/list-directory.js +12 -4
  218. package/dist/tools/list-directory.js.map +1 -1
  219. package/dist/tools/read-file.d.ts.map +1 -1
  220. package/dist/tools/read-file.js +8 -0
  221. package/dist/tools/read-file.js.map +1 -1
  222. package/dist/tools/read-multiple-files.d.ts.map +1 -1
  223. package/dist/tools/read-multiple-files.js +10 -2
  224. package/dist/tools/read-multiple-files.js.map +1 -1
  225. package/dist/tools/search-definitions.d.ts +3 -0
  226. package/dist/tools/search-definitions.d.ts.map +1 -0
  227. package/dist/tools/search-definitions.js +130 -0
  228. package/dist/tools/search-definitions.js.map +1 -0
  229. package/dist/tools/search-files.d.ts.map +1 -1
  230. package/dist/tools/search-files.js +9 -4
  231. package/dist/tools/search-files.js.map +1 -1
  232. package/dist/tools/shared/search-formatting.d.ts.map +1 -1
  233. package/dist/tools/shared/search-formatting.js +4 -1
  234. package/dist/tools/shared/search-formatting.js.map +1 -1
  235. package/package.json +1 -1
@@ -124,6 +124,70 @@ export interface MediaFileResult {
124
124
  size: number;
125
125
  data: string;
126
126
  }
127
+ export type ChecksumAlgorithm = 'md5' | 'sha1' | 'sha256' | 'sha512';
128
+ export type ChecksumEncoding = 'hex' | 'base64';
129
+ export interface ChecksumResult {
130
+ path: string;
131
+ checksum?: string;
132
+ algorithm: ChecksumAlgorithm;
133
+ size?: number;
134
+ error?: string;
135
+ }
136
+ export interface ComputeChecksumsResult {
137
+ results: ChecksumResult[];
138
+ summary: {
139
+ total: number;
140
+ succeeded: number;
141
+ failed: number;
142
+ };
143
+ }
144
+ export interface MultipleFileInfoResult {
145
+ path: string;
146
+ info?: FileInfo;
147
+ error?: string;
148
+ }
149
+ export interface GetMultipleFileInfoResult {
150
+ results: MultipleFileInfoResult[];
151
+ summary: {
152
+ total: number;
153
+ succeeded: number;
154
+ failed: number;
155
+ totalSize: number;
156
+ };
157
+ }
158
+ export type DefinitionType = 'function' | 'class' | 'interface' | 'type' | 'enum' | 'variable';
159
+ export interface SearchDefinitionsOptions {
160
+ path: string;
161
+ name?: string;
162
+ type?: DefinitionType;
163
+ caseSensitive?: boolean;
164
+ maxResults?: number;
165
+ excludePatterns?: string[];
166
+ includeHidden?: boolean;
167
+ contextLines?: number;
168
+ }
169
+ export interface DefinitionMatch {
170
+ file: string;
171
+ line: number;
172
+ definitionType: DefinitionType;
173
+ name: string;
174
+ content: string;
175
+ contextBefore?: string[];
176
+ contextAfter?: string[];
177
+ exported: boolean;
178
+ }
179
+ export interface SearchDefinitionsResult {
180
+ basePath: string;
181
+ searchName?: string;
182
+ searchType?: DefinitionType;
183
+ definitions: DefinitionMatch[];
184
+ summary: {
185
+ filesScanned: number;
186
+ filesMatched: number;
187
+ totalDefinitions: number;
188
+ truncated: boolean;
189
+ };
190
+ }
127
191
  export declare const ErrorCode: {
128
192
  readonly E_ACCESS_DENIED: "E_ACCESS_DENIED";
129
193
  readonly E_NOT_FOUND: "E_NOT_FOUND";
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAqIA,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,eAAe,EAAE,iBAAiB;IAClC,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,YAAY;IACxB,eAAe,EAAE,iBAAiB;IAClC,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;IACtB,iBAAiB,EAAE,mBAAmB;IACtC,eAAe,EAAE,iBAAiB;IAClC,mBAAmB,EAAE,qBAAqB;IAC1C,qBAAqB,EAAE,uBAAuB;IAC9C,SAAS,EAAE,WAAW;CACd,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAoNA,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,eAAe,EAAE,iBAAiB;IAClC,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,YAAY;IACxB,eAAe,EAAE,iBAAiB;IAClC,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;IACtB,iBAAiB,EAAE,mBAAmB;IACtC,eAAe,EAAE,iBAAiB;IAClC,mBAAmB,EAAE,qBAAqB;IAC1C,qBAAqB,EAAE,uBAAuB;IAC9C,SAAS,EAAE,WAAW;CACd,CAAC"}
@@ -16,9 +16,12 @@ This server enables AI assistants to safely explore and analyze filesystem conte
16
16
  | Directory stats | `analyze_directory` | `topN`, `excludePatterns`, `maxEntries` |
17
17
  | Find files | `search_files` | `pattern` (glob), `maxResults` |
18
18
  | Search in files | `search_content` | `pattern` (regex), `contextLines` |
19
+ | Find definitions | `search_definitions` | `name`, `type`, `contextLines` |
19
20
  | Read file | `read_file` | `head`, `tail`, `lineStart/lineEnd` |
20
21
  | Read multiple files | `read_multiple_files` | `paths[]` — **preferred for 2+** |
21
22
  | File metadata | `get_file_info` | `path` |
23
+ | Batch file metadata | `get_multiple_file_info` | `paths[]` — **preferred for 2+** |
24
+ | Compute checksums | `compute_checksums` | `paths[]`, `algorithm` |
22
25
  | Binary/media files | `read_media_file` | `maxSize` |
23
26
 
24
27
  ---
@@ -43,6 +46,13 @@ search_files(pattern="**/*.ts") → read_multiple_files([...results])
43
46
  search_content(pattern="TODO|FIXME", filePattern="**/*.ts", contextLines=2)
44
47
  ```
45
48
 
49
+ ### Find Code Definitions
50
+
51
+ ```text
52
+ search_definitions(path="src/", name="User") → Find classes/functions/types named "User"
53
+ search_definitions(path="src/", type="interface") → Discover all interfaces
54
+ ```
55
+
46
56
  ### Common Glob Patterns
47
57
 
48
58
  | Pattern | Matches |
@@ -87,15 +97,16 @@ JSON tree structure for AI parsing.
87
97
 
88
98
  ### `search_files`
89
99
 
90
- Find files by glob pattern.
100
+ Find files (not directories) by glob pattern.
91
101
 
92
102
  | Parameter | Default | Description |
93
103
  | ----------------- | ------- | ------------------------- |
94
- | `path` | | Base directory |
95
- | `pattern` | | Glob: `**/*.ts`, `src/**` |
104
+ | `path` | - | Base directory |
105
+ | `pattern` | - | Glob: `**/*.ts`, `src/**` |
96
106
  | `excludePatterns` | [] | Patterns to skip |
97
- | `maxResults` | | Limit (up to 10,000) |
107
+ | `maxResults` | - | Limit (up to 10,000) |
98
108
  | `sortBy` | "path" | `name/size/modified/path` |
109
+ | `includeHidden` | false | Include dotfiles |
99
110
 
100
111
  ### `search_content`
101
112
 
@@ -113,45 +124,75 @@ Grep-like regex search in files.
113
124
  | `maxResults` | 100 | Limit matches |
114
125
  | `skipBinary` | true | Skip binary files |
115
126
 
127
+ ### `search_definitions`
128
+
129
+ Find code definitions (classes, functions, interfaces, types, enums, variables) without manual regex construction.
130
+
131
+ | Parameter | Default | Description |
132
+ | ----------------- | ------- | ----------------------------------------------------------------------------- |
133
+ | `path` | - | Base directory to search |
134
+ | `name` | - | Definition name to find |
135
+ | `type` | - | Definition type: `class`, `function`, `interface`, `type`, `enum`, `variable` |
136
+ | `caseSensitive` | true | Case-sensitive name matching |
137
+ | `maxResults` | 100 | Limit matches |
138
+ | `excludePatterns` | [] | Glob patterns to exclude |
139
+ | `includeHidden` | false | Include hidden files and directories |
140
+ | `contextLines` | 0 | Lines of context before/after match (0-10) |
141
+
142
+ **Usage patterns:**
143
+
144
+ - **Find by name:** `search_definitions(path="src/", name="UserService")` — finds class/function/type named UserService
145
+ - **Discovery mode:** `search_definitions(path="src/", type="interface")` — lists all interfaces
146
+ - **Combined:** `search_definitions(path="src/", name="Handler", type="class")` — finds classes named "Handler"
147
+
116
148
  ### `read_file`
117
149
 
118
150
  Read single file with line selection.
119
151
 
120
- | Parameter | Default | Description |
121
- | ----------- | ------- | ------------------------------- |
122
- | `path` | | File path |
123
- | `encoding` | utf-8 | `utf-8/ascii/base64/hex/latin1` |
124
- | `maxSize` | 10MB | Size limit |
125
- | `head` | | First N lines |
126
- | `tail` | | Last N lines |
127
- | `lineStart` | | Start line (1-indexed) |
128
- | `lineEnd` | | End line (inclusive) |
152
+ | Parameter | Default | Description |
153
+ | ------------ | ------- | --------------------------------------------------- |
154
+ | `path` | - | File path |
155
+ | `encoding` | utf-8 | `utf-8/ascii/base64/hex/latin1` |
156
+ | `maxSize` | 10MB | Size limit |
157
+ | `skipBinary` | false | Reject binary files (use `read_media_file` instead) |
158
+ | `head` | - | First N lines |
159
+ | `tail` | - | Last N lines |
160
+ | `lineStart` | - | Start line (1-indexed) |
161
+ | `lineEnd` | - | End line (inclusive) |
129
162
 
130
163
  > ⚠️ Cannot combine `head/tail` with `lineStart/lineEnd`
131
164
 
132
165
  ### `read_multiple_files`
133
166
 
134
- Parallel batch reads failures don't block others.
167
+ Parallel batch reads - failures don't block others.
135
168
 
136
- | Parameter | Default | Description |
137
- | ---------- | ------- | ------------------ |
138
- | `paths` | | Array (max 100) |
139
- | `encoding` | utf-8 | Encoding for all |
140
- | `maxSize` | 10MB | Per-file limit |
141
- | `head` | | First N lines each |
142
- | `tail` | | Last N lines each |
169
+ | Parameter | Default | Description |
170
+ | ----------- | ------- | ------------------------------- |
171
+ | `paths` | - | Array (max 100) |
172
+ | `encoding` | utf-8 | Encoding for all |
173
+ | `maxSize` | 10MB | Per-file limit |
174
+ | `head` | - | First N lines each |
175
+ | `tail` | - | Last N lines each |
176
+ | `lineStart` | - | Start line (1-indexed) per file |
177
+ | `lineEnd` | - | End line (inclusive) per file |
178
+
179
+ > ⚠️ Cannot combine `head/tail` with `lineStart/lineEnd`
143
180
 
144
181
  ### `list_directory`
145
182
 
146
183
  Flat listing with metadata.
147
184
 
148
- | Parameter | Default | Description |
149
- | ------------ | ------- | ------------------------- |
150
- | `path` | | Directory path |
151
- | `recursive` | false | Include subdirs |
152
- | `sortBy` | "name" | `name/size/modified/type` |
153
- | `maxDepth` | 10 | Depth when recursive |
154
- | `maxEntries` | 10000 | Limit (up to 100,000) |
185
+ | Parameter | Default | Description |
186
+ | ----------------- | ------- | ------------------------- |
187
+ | `path` | - | Directory path |
188
+ | `recursive` | false | Include subdirs |
189
+ | `excludePatterns` | [] | Patterns to skip |
190
+ | `pattern` | - | Glob to include |
191
+ | `sortBy` | "name" | `name/size/modified/type` |
192
+ | `maxDepth` | 10 | Depth when recursive |
193
+ | `maxEntries` | 10000 | Limit (up to 100,000) |
194
+
195
+ **Structured output notes:** `entries[].name` is the basename, and `entries[].relativePath` is the path relative to the listed base.
155
196
 
156
197
  ### `analyze_directory`
157
198
 
@@ -184,6 +225,30 @@ Detailed metadata about a file or directory.
184
225
 
185
226
  **Returns:** name, path, type, size, created, modified, accessed, permissions, isHidden, mimeType, symlinkTarget (if applicable).
186
227
 
228
+ ### `get_multiple_file_info`
229
+
230
+ Batch metadata retrieval for multiple files/directories (parallel processing).
231
+
232
+ | Parameter | Default | Description |
233
+ | ----------------- | ------- | --------------------------- |
234
+ | `paths` | — | Array of paths (max 100) |
235
+ | `includeMimeType` | true | Include MIME type detection |
236
+
237
+ **Returns:** Array of file info with individual success/error status, plus summary (total, succeeded, failed, totalSize).
238
+
239
+ ### `compute_checksums`
240
+
241
+ Compute cryptographic hashes for files using streaming (memory-efficient).
242
+
243
+ | Parameter | Default | Description |
244
+ | ------------- | ------- | --------------------------------------- |
245
+ | `paths` | — | Array of file paths (max 50) |
246
+ | `algorithm` | sha256 | Hash: `md5`, `sha1`, `sha256`, `sha512` |
247
+ | `encoding` | hex | Output: `hex` or `base64` |
248
+ | `maxFileSize` | 100MB | Skip files larger than this |
249
+
250
+ **Returns:** Array of checksums with file sizes, plus summary. Useful for integrity checks and duplicate detection.
251
+
187
252
  ---
188
253
 
189
254
  ## Error Codes
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AA+BA,eAAO,MAAM,oBAAoB,QAKhC,CAAC;AACF,eAAO,MAAM,yBAAyB,QAKrC,CAAC;AACF,eAAO,MAAM,sBAAsB,QAKlC,CAAC;AACF,eAAO,MAAM,wBAAwB,QAKpC,CAAC;AACF,eAAO,MAAM,kBAAkB,QAK9B,CAAC;AACF,eAAO,MAAM,mBAAmB,QAK/B,CAAC;AAEF,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C,eAAO,MAAM,iBAAiB,QAA2C,CAAC;AAC1E,eAAO,MAAM,mBAAmB,QAK/B,CAAC;AACF,eAAO,MAAM,wBAAwB,QAKpC,CAAC;AACF,eAAO,MAAM,wBAAwB,QAKpC,CAAC;AACF,eAAO,MAAM,yBAAyB,QAKrC,CAAC;AACF,eAAO,MAAM,aAAa,QAA0C,CAAC;AACrE,eAAO,MAAM,2BAA2B,QAKvC,CAAC;AACF,eAAO,MAAM,kBAAkB,QAAwC,CAAC;AACxE,eAAO,MAAM,sBAAsB,QAKlC,CAAC;AACF,eAAO,MAAM,uBAAuB,aAyClC,CAAC;AAEH,eAAO,MAAM,wBAAwB,UAwBpC,CAAC;AA+DF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG/C"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AA6DA,eAAO,MAAM,oBAAoB,QAGF,CAAC;AAChC,eAAO,MAAM,yBAAyB,QAKrC,CAAC;AACF,eAAO,MAAM,sBAAsB,QAKlC,CAAC;AACF,eAAO,MAAM,wBAAwB,QAKpC,CAAC;AACF,eAAO,MAAM,kBAAkB,QAK9B,CAAC;AACF,eAAO,MAAM,mBAAmB,QAK/B,CAAC;AAEF,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C,eAAO,MAAM,iBAAiB,QAA2C,CAAC;AAC1E,eAAO,MAAM,mBAAmB,QAK/B,CAAC;AACF,eAAO,MAAM,wBAAwB,QAKpC,CAAC;AACF,eAAO,MAAM,wBAAwB,QAKpC,CAAC;AACF,eAAO,MAAM,yBAAyB,QAKrC,CAAC;AACF,eAAO,MAAM,aAAa,QAA0C,CAAC;AACrE,eAAO,MAAM,2BAA2B,QAKvC,CAAC;AACF,eAAO,MAAM,kBAAkB,QAAwC,CAAC;AACxE,eAAO,MAAM,sBAAsB,QAKlC,CAAC;AACF,eAAO,MAAM,uBAAuB,aAyClC,CAAC;AAEH,eAAO,MAAM,wBAAwB,UAwBpC,CAAC;AA+DF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG/C"}
@@ -12,12 +12,28 @@ function parseEnvInt(envVar, defaultValue, min, max) {
12
12
  }
13
13
  return parsed;
14
14
  }
15
+ function parseOptionalEnvInt(envVar, min, max) {
16
+ const value = process.env[envVar];
17
+ if (!value) {
18
+ return undefined;
19
+ }
20
+ const parsed = parseInt(value, 10);
21
+ if (Number.isNaN(parsed) || parsed < min || parsed > max) {
22
+ console.error(`[WARNING] Invalid ${envVar} value: ${value} (must be ${min}-${max}). Ignoring.`);
23
+ return undefined;
24
+ }
25
+ return parsed;
26
+ }
15
27
  // Determine optimal parallelism based on CPU cores
16
28
  function getOptimalParallelism() {
17
29
  const cpuCores = availableParallelism();
18
30
  return Math.min(cpuCores * 2, 50);
19
31
  }
20
- export const PARALLEL_CONCURRENCY = parseEnvInt('FILESYSTEM_CONTEXT_CONCURRENCY', getOptimalParallelism(), 1, 100);
32
+ const UV_THREADPOOL_LIMIT = parseOptionalEnvInt('UV_THREADPOOL_SIZE', 1, 1024);
33
+ const BASE_PARALLEL_CONCURRENCY = parseEnvInt('FILESYSTEM_CONTEXT_CONCURRENCY', getOptimalParallelism(), 1, 100);
34
+ export const PARALLEL_CONCURRENCY = UV_THREADPOOL_LIMIT !== undefined
35
+ ? Math.min(BASE_PARALLEL_CONCURRENCY, UV_THREADPOOL_LIMIT)
36
+ : BASE_PARALLEL_CONCURRENCY;
21
37
  export const DIR_TRAVERSAL_CONCURRENCY = parseEnvInt('TRAVERSAL_JOBS', 8, 1, 50);
22
38
  export const REGEX_MATCH_TIMEOUT_MS = parseEnvInt('REGEX_TIMEOUT', 100, 50, 1000);
23
39
  export const MAX_SEARCHABLE_FILE_SIZE = parseEnvInt('MAX_SEARCH_SIZE', 1024 * 1024, 100 * 1024, 10 * 1024 * 1024);
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { Stats } from 'node:fs';
2
+ import type { DirectoryAnalysis } from '../../config/types.js';
3
+ export interface AnalysisState {
4
+ totalFiles: number;
5
+ totalDirectories: number;
6
+ totalSize: number;
7
+ currentMaxDepth: number;
8
+ skippedInaccessible: number;
9
+ symlinksNotFollowed: number;
10
+ truncated: boolean;
11
+ fileTypes: Record<string, number>;
12
+ largestFiles: {
13
+ path: string;
14
+ size: number;
15
+ }[];
16
+ recentlyModified: {
17
+ path: string;
18
+ modified: Date;
19
+ }[];
20
+ }
21
+ export declare function initAnalysisState(): AnalysisState;
22
+ export declare function updateFileStats(state: AnalysisState, filePath: string, stats: Stats, topN: number): void;
23
+ export declare function finalizeAnalysis(state: AnalysisState, basePath: string): DirectoryAnalysis;
24
+ //# sourceMappingURL=analyze-directory-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-directory-helpers.d.ts","sourceRoot":"","sources":["../../../src/lib/file-operations/analyze-directory-helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/C,gBAAgB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE,EAAE,CAAC;CACtD;AAED,wBAAgB,iBAAiB,IAAI,aAAa,CAajD;AAoBD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,GACX,IAAI,CAmBN;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,MAAM,GACf,iBAAiB,CAgBnB"}
@@ -0,0 +1,50 @@
1
+ import * as path from 'node:path';
2
+ export function initAnalysisState() {
3
+ return {
4
+ totalFiles: 0,
5
+ totalDirectories: 0,
6
+ totalSize: 0,
7
+ currentMaxDepth: 0,
8
+ skippedInaccessible: 0,
9
+ symlinksNotFollowed: 0,
10
+ truncated: false,
11
+ fileTypes: {},
12
+ largestFiles: [],
13
+ recentlyModified: [],
14
+ };
15
+ }
16
+ function pushTopN(arr, item, compare, maxLen) {
17
+ if (maxLen <= 0)
18
+ return;
19
+ arr.push(item);
20
+ if (arr.length <= maxLen)
21
+ return;
22
+ arr.sort(compare);
23
+ arr.length = maxLen;
24
+ }
25
+ function updateFileType(state, filename) {
26
+ const ext = path.extname(filename).toLowerCase() || '(no extension)';
27
+ state.fileTypes[ext] = (state.fileTypes[ext] ?? 0) + 1;
28
+ }
29
+ export function updateFileStats(state, filePath, stats, topN) {
30
+ state.totalFiles++;
31
+ state.totalSize += stats.size;
32
+ updateFileType(state, filePath);
33
+ pushTopN(state.largestFiles, { path: filePath, size: stats.size }, (a, b) => b.size - a.size, topN);
34
+ pushTopN(state.recentlyModified, { path: filePath, modified: stats.mtime }, (a, b) => b.modified.getTime() - a.modified.getTime(), topN);
35
+ }
36
+ export function finalizeAnalysis(state, basePath) {
37
+ state.largestFiles.sort((a, b) => b.size - a.size);
38
+ state.recentlyModified.sort((a, b) => b.modified.getTime() - a.modified.getTime());
39
+ return {
40
+ path: basePath,
41
+ totalFiles: state.totalFiles,
42
+ totalDirectories: state.totalDirectories,
43
+ totalSize: state.totalSize,
44
+ fileTypes: state.fileTypes,
45
+ largestFiles: state.largestFiles,
46
+ recentlyModified: state.recentlyModified,
47
+ maxDepth: state.currentMaxDepth,
48
+ };
49
+ }
50
+ //# sourceMappingURL=analyze-directory-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-directory-helpers.js","sourceRoot":"","sources":["../../../src/lib/file-operations/analyze-directory-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAkBlC,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,UAAU,EAAE,CAAC;QACb,gBAAgB,EAAE,CAAC;QACnB,SAAS,EAAE,CAAC;QACZ,eAAe,EAAE,CAAC;QAClB,mBAAmB,EAAE,CAAC;QACtB,mBAAmB,EAAE,CAAC;QACtB,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,EAAE;QACb,YAAY,EAAE,EAAE;QAChB,gBAAgB,EAAE,EAAE;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CACf,GAAQ,EACR,IAAO,EACP,OAA+B,EAC/B,MAAc;IAEd,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO;IACxB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,IAAI,GAAG,CAAC,MAAM,IAAI,MAAM;QAAE,OAAO;IACjC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClB,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;AACtB,CAAC;AAED,SAAS,cAAc,CAAC,KAAoB,EAAE,QAAgB;IAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,IAAI,gBAAgB,CAAC;IACrE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,KAAoB,EACpB,QAAgB,EAChB,KAAY,EACZ,IAAY;IAEZ,KAAK,CAAC,UAAU,EAAE,CAAC;IACnB,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC;IAE9B,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAEhC,QAAQ,CACN,KAAK,CAAC,YAAY,EAClB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EACpC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EACzB,IAAI,CACL,CAAC;IAEF,QAAQ,CACN,KAAK,CAAC,gBAAgB,EACtB,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,EACzC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,EACrD,IAAI,CACL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,KAAoB,EACpB,QAAgB;IAEhB,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IACnD,KAAK,CAAC,gBAAgB,CAAC,IAAI,CACzB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CACtD,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,QAAQ,EAAE,KAAK,CAAC,eAAe;KAChC,CAAC;AACJ,CAAC"}
@@ -5,5 +5,6 @@ export declare function analyzeDirectory(dirPath: string, options?: {
5
5
  maxEntries?: number;
6
6
  excludePatterns?: string[];
7
7
  includeHidden?: boolean;
8
+ signal?: AbortSignal;
8
9
  }): Promise<AnalyzeDirectoryResult>;
9
10
  //# sourceMappingURL=analyze-directory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"analyze-directory.d.ts","sourceRoot":"","sources":["../../../src/lib/file-operations/analyze-directory.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,sBAAsB,EAEvB,MAAM,uBAAuB,CAAC;AA8O/B,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;CACpB,GACL,OAAO,CAAC,sBAAsB,CAAC,CA4BjC"}
1
+ {"version":3,"file":"analyze-directory.d.ts","sourceRoot":"","sources":["../../../src/lib/file-operations/analyze-directory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAwJpE,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;CACjB,GACL,OAAO,CAAC,sBAAsB,CAAC,CA6BjC"}
@@ -1,43 +1,10 @@
1
1
  import * as fs from 'node:fs/promises';
2
- import * as path from 'node:path';
3
2
  import { DEFAULT_ANALYZE_MAX_ENTRIES, DEFAULT_MAX_DEPTH, DEFAULT_TOP_N, DIR_TRAVERSAL_CONCURRENCY, } from '../constants.js';
4
3
  import { runWorkQueue } from '../fs-helpers.js';
4
+ import { mergeDefined } from '../merge-defined.js';
5
5
  import { validateExistingDirectory, validateExistingPathDetailed, } from '../path-validation.js';
6
+ import { finalizeAnalysis, initAnalysisState, updateFileStats, } from './analyze-directory-helpers.js';
6
7
  import { classifyAccessError, createExcludeMatcher, forEachDirectoryEntry, } from './directory-helpers.js';
7
- function initAnalysisState() {
8
- return {
9
- totalFiles: 0,
10
- totalDirectories: 0,
11
- totalSize: 0,
12
- currentMaxDepth: 0,
13
- skippedInaccessible: 0,
14
- symlinksNotFollowed: 0,
15
- truncated: false,
16
- fileTypes: {},
17
- largestFiles: [],
18
- recentlyModified: [],
19
- };
20
- }
21
- function pushTopN(arr, item, compare, maxLen) {
22
- if (maxLen <= 0)
23
- return;
24
- arr.push(item);
25
- if (arr.length <= maxLen)
26
- return;
27
- arr.sort(compare);
28
- arr.length = maxLen;
29
- }
30
- function updateFileType(state, filename) {
31
- const ext = path.extname(filename).toLowerCase() || '(no extension)';
32
- state.fileTypes[ext] = (state.fileTypes[ext] ?? 0) + 1;
33
- }
34
- function updateFileStats(state, filePath, stats, topN) {
35
- state.totalFiles++;
36
- state.totalSize += stats.size;
37
- updateFileType(state, filePath);
38
- pushTopN(state.largestFiles, { path: filePath, size: stats.size }, (a, b) => b.size - a.size, topN);
39
- pushTopN(state.recentlyModified, { path: filePath, modified: stats.mtime }, (a, b) => b.modified.getTime() - a.modified.getTime(), topN);
40
- }
41
8
  function shouldStop(state, maxEntries) {
42
9
  if (state.truncated)
43
10
  return true;
@@ -111,20 +78,6 @@ async function handleEntry(params, enqueue, state, options) {
111
78
  shouldStop: () => shouldStop(state, options.maxEntries),
112
79
  }, async ({ item, fullPath }) => processDirectoryEntry(params, { item, fullPath }, enqueue, state, options));
113
80
  }
114
- function finalizeAnalysis(state, basePath) {
115
- state.largestFiles.sort((a, b) => b.size - a.size);
116
- state.recentlyModified.sort((a, b) => b.modified.getTime() - a.modified.getTime());
117
- return {
118
- path: basePath,
119
- totalFiles: state.totalFiles,
120
- totalDirectories: state.totalDirectories,
121
- totalSize: state.totalSize,
122
- fileTypes: state.fileTypes,
123
- largestFiles: state.largestFiles,
124
- recentlyModified: state.recentlyModified,
125
- maxDepth: state.currentMaxDepth,
126
- };
127
- }
128
81
  export async function analyzeDirectory(dirPath, options = {}) {
129
82
  const normalized = normalizeAnalyzeOptions(options);
130
83
  const basePath = await validateExistingDirectory(dirPath);
@@ -137,7 +90,7 @@ export async function analyzeDirectory(dirPath, options = {}) {
137
90
  maxEntries: normalized.maxEntries,
138
91
  includeHidden: normalized.includeHidden,
139
92
  shouldExclude,
140
- }), DIR_TRAVERSAL_CONCURRENCY);
93
+ }), DIR_TRAVERSAL_CONCURRENCY, options.signal);
141
94
  return {
142
95
  analysis: finalizeAnalysis(state, basePath),
143
96
  summary: {
@@ -157,12 +110,4 @@ function normalizeAnalyzeOptions(options) {
157
110
  };
158
111
  return mergeDefined(defaults, options);
159
112
  }
160
- function mergeDefined(defaults, overrides) {
161
- const entries = Object.entries(overrides).filter(([, value]) => value !== undefined);
162
- const merged = {
163
- ...defaults,
164
- ...Object.fromEntries(entries),
165
- };
166
- return merged;
167
- }
168
113
  //# sourceMappingURL=analyze-directory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"analyze-directory.js","sourceRoot":"","sources":["../../../src/lib/file-operations/analyze-directory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAOlC,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,EACjB,aAAa,EACb,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAehC,SAAS,iBAAiB;IACxB,OAAO;QACL,UAAU,EAAE,CAAC;QACb,gBAAgB,EAAE,CAAC;QACnB,SAAS,EAAE,CAAC;QACZ,eAAe,EAAE,CAAC;QAClB,mBAAmB,EAAE,CAAC;QACtB,mBAAmB,EAAE,CAAC;QACtB,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,EAAE;QACb,YAAY,EAAE,EAAE;QAChB,gBAAgB,EAAE,EAAE;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CACf,GAAQ,EACR,IAAO,EACP,OAA+B,EAC/B,MAAc;IAEd,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO;IACxB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,IAAI,GAAG,CAAC,MAAM,IAAI,MAAM;QAAE,OAAO;IACjC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClB,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;AACtB,CAAC;AAED,SAAS,cAAc,CAAC,KAAoB,EAAE,QAAgB;IAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,IAAI,gBAAgB,CAAC;IACrE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,eAAe,CACtB,KAAoB,EACpB,QAAgB,EAChB,KAAY,EACZ,IAAY;IAEZ,KAAK,CAAC,UAAU,EAAE,CAAC;IACnB,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC;IAE9B,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAEhC,QAAQ,CACN,KAAK,CAAC,YAAY,EAClB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EACpC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EACzB,IAAI,CACL,CAAC;IAEF,QAAQ,CACN,KAAK,CAAC,gBAAgB,EACtB,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,EACzC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,EACrD,IAAI,CACL,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAoB,EAAE,UAAkB;IAC1D,IAAI,KAAK,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,gBAAgB,IAAI,UAAU,EAAE,CAAC;QAC5D,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,QAAgB,EAChB,IAAuC,EACvC,KAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QAC/D,IAAI,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;YACjD,KAAK,CAAC,mBAAmB,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,SAAS,CAAC,YAAY,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,mBAAmB,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;YAC7C,KAAK,CAAC,mBAAmB,EAAE,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,mBAAmB,EAAE,CAAC;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,YAAoB,EACpB,KAAa,EACb,OAA6B,EAC7B,OAAgE;IAEhE,IAAI,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ;QAAE,OAAO;IACzC,OAAO,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,oBAAoB,CAC3B,YAAoB,EACpB,KAAa,EACb,KAAoB,EACpB,OAAiD,EACjD,OAAgE;IAEhE,KAAK,CAAC,gBAAgB,EAAE,CAAC;IACzB,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC;QAAE,OAAO;IAClD,qBAAqB,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,eAAe,CACtB,YAAoB,EACpB,KAAY,EACZ,KAAoB,EACpB,OAA6C;IAE7C,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;AACxC,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,MAA8C,EAC9C,KAAoE,EACpE,OAAgE,EAChE,KAAoB,EACpB,OAIC;IAED,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC;QAAE,OAAO;IAElD,MAAM,YAAY,GAAG,MAAM,gBAAgB,CACzC,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,IAAI,EACV,KAAK,CACN,CAAC;IACF,IAAI,CAAC,YAAY;QAAE,OAAO;IAE1B,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QACxB,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QACnB,eAAe,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,MAA8C,EAC9C,OAAgE,EAChE,KAAoB,EACpB,OAOC;IAED,IAAI,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,QAAQ;QAAE,OAAO;IAC5C,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC;QAAE,OAAO;IAClD,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtE,MAAM,qBAAqB,CACzB,MAAM,CAAC,WAAW,EAClB,OAAO,CAAC,QAAQ,EAChB;QACE,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,cAAc,EAAE,GAAG,EAAE;YACnB,KAAK,CAAC,mBAAmB,EAAE,CAAC;QAC9B,CAAC;QACD,UAAU,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC;KACxD,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAC3B,qBAAqB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAC7E,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAoB,EACpB,QAAgB;IAEhB,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IACnD,KAAK,CAAC,gBAAgB,CAAC,IAAI,CACzB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CACtD,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,QAAQ,EAAE,KAAK,CAAC,eAAe;KAChC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAe,EACf,UAMI,EAAE;IAEN,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,iBAAiB,EAAE,CAAC;IAClC,MAAM,aAAa,GAAG,oBAAoB,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAEvE,MAAM,YAAY,CAChB,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EACrC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CACxB,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE;QAClC,QAAQ;QACR,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,aAAa,EAAE,UAAU,CAAC,aAAa;QACvC,aAAa;KACd,CAAC,EACJ,yBAAyB,CAC1B,CAAC;IAEF,OAAO;QACL,QAAQ,EAAE,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC;QAC3C,OAAO,EAAE;YACP,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;YAC9C,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;SAC/C;KACF,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,OAMhC;IAOC,MAAM,QAAQ,GAAG;QACf,QAAQ,EAAE,iBAAiB;QAC3B,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,2BAA2B;QACvC,eAAe,EAAE,EAAc;QAC/B,aAAa,EAAE,KAAK;KACrB,CAAC;IACF,OAAO,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,YAAY,CAAmB,QAAW,EAAE,SAAqB;IACxE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CACnC,CAAC;IACF,MAAM,MAAM,GAAM;QAChB,GAAG,QAAQ;QACX,GAAI,MAAM,CAAC,WAAW,CAAC,OAAO,CAAgB;KAC/C,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"analyze-directory.js","sourceRoot":"","sources":["../../../src/lib/file-operations/analyze-directory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export declare function createOutputSkeleton<T>(paths: string[], build: (filePath: string) => T): T[];
2
+ export interface IndexedResult<T> {
3
+ index: number;
4
+ value: T;
5
+ }
6
+ export declare function applyParallelResults<T extends {
7
+ path: string;
8
+ }>(output: T[], results: IndexedResult<T>[], errors: {
9
+ index: number;
10
+ error: Error;
11
+ }[], paths: string[], buildError: (filePath: string, error: Error) => T): void;
12
+ //# sourceMappingURL=batch-results.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-results.d.ts","sourceRoot":"","sources":["../../../src/lib/file-operations/batch-results.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,KAAK,EAAE,MAAM,EAAE,EACf,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,CAAC,GAC7B,CAAC,EAAE,CAEL;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;CACV;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAC7D,MAAM,EAAE,CAAC,EAAE,EACX,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAC3B,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,EAAE,EACzC,KAAK,EAAE,MAAM,EAAE,EACf,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC,GAChD,IAAI,CAGN"}
@@ -0,0 +1,23 @@
1
+ export function createOutputSkeleton(paths, build) {
2
+ return paths.map((filePath) => build(filePath));
3
+ }
4
+ export function applyParallelResults(output, results, errors, paths, buildError) {
5
+ applySuccessResults(output, results);
6
+ applyErrorResults(output, errors, paths, buildError);
7
+ }
8
+ function applySuccessResults(output, results) {
9
+ for (const result of results) {
10
+ if (output[result.index] !== undefined) {
11
+ output[result.index] = result.value;
12
+ }
13
+ }
14
+ }
15
+ function applyErrorResults(output, errors, paths, buildError) {
16
+ for (const failure of errors) {
17
+ const filePath = paths[failure.index] ?? '(unknown)';
18
+ if (output[failure.index] !== undefined) {
19
+ output[failure.index] = buildError(filePath, failure.error);
20
+ }
21
+ }
22
+ }
23
+ //# sourceMappingURL=batch-results.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-results.js","sourceRoot":"","sources":["../../../src/lib/file-operations/batch-results.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,oBAAoB,CAClC,KAAe,EACf,KAA8B;IAE9B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClD,CAAC;AAOD,MAAM,UAAU,oBAAoB,CAClC,MAAW,EACX,OAA2B,EAC3B,MAAyC,EACzC,KAAe,EACf,UAAiD;IAEjD,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAAW,EACX,OAA2B;IAE3B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QACtC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,MAAW,EACX,MAAyC,EACzC,KAAe,EACf,UAAiD;IAEjD,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC;QACrD,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { ChecksumAlgorithm, ChecksumEncoding, ComputeChecksumsResult } from '../../config/types.js';
2
+ interface ComputeChecksumsOptions {
3
+ algorithm?: ChecksumAlgorithm;
4
+ encoding?: ChecksumEncoding;
5
+ maxFileSize?: number;
6
+ }
7
+ export declare function computeChecksums(paths: string[], options?: ComputeChecksumsOptions): Promise<ComputeChecksumsResult>;
8
+ export {};
9
+ //# sourceMappingURL=compute-checksums.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compute-checksums.d.ts","sourceRoot":"","sources":["../../../src/lib/file-operations/compute-checksums.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAEhB,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAO/B,UAAU,uBAAuB;IAC/B,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAoJD,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,sBAAsB,CAAC,CAkCjC"}