@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.
- package/README.md +125 -19
- package/dist/__tests__/lib/file-operations/compute-checksums.test.d.ts +2 -0
- package/dist/__tests__/lib/file-operations/compute-checksums.test.d.ts.map +1 -0
- package/dist/__tests__/lib/file-operations/compute-checksums.test.js +59 -0
- package/dist/__tests__/lib/file-operations/compute-checksums.test.js.map +1 -0
- package/dist/__tests__/lib/file-operations/get-multiple-file-info.test.d.ts +2 -0
- package/dist/__tests__/lib/file-operations/get-multiple-file-info.test.d.ts.map +1 -0
- package/dist/__tests__/lib/file-operations/get-multiple-file-info.test.js +46 -0
- package/dist/__tests__/lib/file-operations/get-multiple-file-info.test.js.map +1 -0
- package/dist/__tests__/lib/file-operations/read-multiple-files-edge-cases.test.js +21 -0
- package/dist/__tests__/lib/file-operations/read-multiple-files-edge-cases.test.js.map +1 -1
- package/dist/__tests__/lib/file-operations/read-multiple-files.test.js +18 -0
- package/dist/__tests__/lib/file-operations/read-multiple-files.test.js.map +1 -1
- package/dist/__tests__/lib/file-operations/search-definitions.test.d.ts +2 -0
- package/dist/__tests__/lib/file-operations/search-definitions.test.d.ts.map +1 -0
- package/dist/__tests__/lib/file-operations/search-definitions.test.js +274 -0
- package/dist/__tests__/lib/file-operations/search-definitions.test.js.map +1 -0
- package/dist/__tests__/lib/file-operations/sorting.test.d.ts +2 -0
- package/dist/__tests__/lib/file-operations/sorting.test.d.ts.map +1 -0
- package/dist/__tests__/lib/file-operations/sorting.test.js +47 -0
- package/dist/__tests__/lib/file-operations/sorting.test.js.map +1 -0
- package/dist/__tests__/lib/fs-helpers/utf8.test.d.ts +2 -0
- package/dist/__tests__/lib/fs-helpers/utf8.test.d.ts.map +1 -0
- package/dist/__tests__/lib/fs-helpers/utf8.test.js +43 -0
- package/dist/__tests__/lib/fs-helpers/utf8.test.js.map +1 -0
- package/dist/__tests__/lib/path-validation-errors.test.d.ts +2 -0
- package/dist/__tests__/lib/path-validation-errors.test.d.ts.map +1 -0
- package/dist/__tests__/lib/path-validation-errors.test.js +35 -0
- package/dist/__tests__/lib/path-validation-errors.test.js.map +1 -0
- package/dist/__tests__/lib/path-validation-roots.test.d.ts +2 -0
- package/dist/__tests__/lib/path-validation-roots.test.d.ts.map +1 -0
- package/dist/__tests__/lib/path-validation-roots.test.js +42 -0
- package/dist/__tests__/lib/path-validation-roots.test.js.map +1 -0
- package/dist/__tests__/lib/path-validation.test.js +5 -0
- package/dist/__tests__/lib/path-validation.test.js.map +1 -1
- package/dist/__tests__/security/filesystem-boundary.test.js +20 -12
- package/dist/__tests__/security/filesystem-boundary.test.js.map +1 -1
- package/dist/config/types.d.ts +64 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js.map +1 -1
- package/dist/instructions.md +93 -28
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +17 -1
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/file-operations/analyze-directory-helpers.d.ts +24 -0
- package/dist/lib/file-operations/analyze-directory-helpers.d.ts.map +1 -0
- package/dist/lib/file-operations/analyze-directory-helpers.js +50 -0
- package/dist/lib/file-operations/analyze-directory-helpers.js.map +1 -0
- package/dist/lib/file-operations/analyze-directory.d.ts +1 -0
- package/dist/lib/file-operations/analyze-directory.d.ts.map +1 -1
- package/dist/lib/file-operations/analyze-directory.js +3 -58
- package/dist/lib/file-operations/analyze-directory.js.map +1 -1
- package/dist/lib/file-operations/batch-results.d.ts +12 -0
- package/dist/lib/file-operations/batch-results.d.ts.map +1 -0
- package/dist/lib/file-operations/batch-results.js +23 -0
- package/dist/lib/file-operations/batch-results.js.map +1 -0
- package/dist/lib/file-operations/compute-checksums.d.ts +9 -0
- package/dist/lib/file-operations/compute-checksums.d.ts.map +1 -0
- package/dist/lib/file-operations/compute-checksums.js +121 -0
- package/dist/lib/file-operations/compute-checksums.js.map +1 -0
- package/dist/lib/file-operations/directory-helpers.d.ts.map +1 -1
- package/dist/lib/file-operations/directory-helpers.js +18 -10
- package/dist/lib/file-operations/directory-helpers.js.map +1 -1
- package/dist/lib/file-operations/directory-tree-helpers.d.ts.map +1 -1
- package/dist/lib/file-operations/directory-tree-helpers.js +8 -1
- package/dist/lib/file-operations/directory-tree-helpers.js.map +1 -1
- package/dist/lib/file-operations/directory-tree.d.ts +1 -0
- package/dist/lib/file-operations/directory-tree.d.ts.map +1 -1
- package/dist/lib/file-operations/directory-tree.js +3 -9
- package/dist/lib/file-operations/directory-tree.js.map +1 -1
- package/dist/lib/file-operations/get-multiple-file-info.d.ts +7 -0
- package/dist/lib/file-operations/get-multiple-file-info.d.ts.map +1 -0
- package/dist/lib/file-operations/get-multiple-file-info.js +59 -0
- package/dist/lib/file-operations/get-multiple-file-info.js.map +1 -0
- package/dist/lib/file-operations/list-directory-entry.d.ts +18 -0
- package/dist/lib/file-operations/list-directory-entry.d.ts.map +1 -0
- package/dist/lib/file-operations/list-directory-entry.js +90 -0
- package/dist/lib/file-operations/list-directory-entry.js.map +1 -0
- package/dist/lib/file-operations/list-directory-helpers.d.ts +2 -0
- package/dist/lib/file-operations/list-directory-helpers.d.ts.map +1 -1
- package/dist/lib/file-operations/list-directory-helpers.js +84 -103
- package/dist/lib/file-operations/list-directory-helpers.js.map +1 -1
- package/dist/lib/file-operations/list-directory.d.ts +2 -0
- package/dist/lib/file-operations/list-directory.d.ts.map +1 -1
- package/dist/lib/file-operations/list-directory.js +5 -8
- package/dist/lib/file-operations/list-directory.js.map +1 -1
- package/dist/lib/file-operations/read-multiple-files.d.ts +2 -0
- package/dist/lib/file-operations/read-multiple-files.d.ts.map +1 -1
- package/dist/lib/file-operations/read-multiple-files.js +44 -11
- package/dist/lib/file-operations/read-multiple-files.js.map +1 -1
- package/dist/lib/file-operations/search/engine-options.d.ts.map +1 -1
- package/dist/lib/file-operations/search/engine-options.js +1 -8
- package/dist/lib/file-operations/search/engine-options.js.map +1 -1
- package/dist/lib/file-operations/search/engine.d.ts +1 -1
- package/dist/lib/file-operations/search/engine.d.ts.map +1 -1
- package/dist/lib/file-operations/search/engine.js +4 -1
- package/dist/lib/file-operations/search/engine.js.map +1 -1
- package/dist/lib/file-operations/search-content.d.ts +1 -0
- package/dist/lib/file-operations/search-content.d.ts.map +1 -1
- package/dist/lib/file-operations/search-content.js +1 -1
- package/dist/lib/file-operations/search-content.js.map +1 -1
- package/dist/lib/file-operations/search-definitions.d.ts +6 -0
- package/dist/lib/file-operations/search-definitions.d.ts.map +1 -0
- package/dist/lib/file-operations/search-definitions.js +247 -0
- package/dist/lib/file-operations/search-definitions.js.map +1 -0
- package/dist/lib/file-operations/search-files-helpers.d.ts +2 -24
- package/dist/lib/file-operations/search-files-helpers.d.ts.map +1 -1
- package/dist/lib/file-operations/search-files-helpers.js +3 -39
- package/dist/lib/file-operations/search-files-helpers.js.map +1 -1
- package/dist/lib/file-operations/search-files-options.d.ts +31 -0
- package/dist/lib/file-operations/search-files-options.d.ts.map +1 -0
- package/dist/lib/file-operations/search-files-options.js +33 -0
- package/dist/lib/file-operations/search-files-options.js.map +1 -0
- package/dist/lib/file-operations/search-files.d.ts +1 -1
- package/dist/lib/file-operations/search-files.d.ts.map +1 -1
- package/dist/lib/file-operations/search-files.js +3 -2
- package/dist/lib/file-operations/search-files.js.map +1 -1
- package/dist/lib/file-operations.d.ts +3 -0
- package/dist/lib/file-operations.d.ts.map +1 -1
- package/dist/lib/file-operations.js +3 -0
- package/dist/lib/file-operations.js.map +1 -1
- package/dist/lib/fs-helpers/binary-detect.d.ts.map +1 -1
- package/dist/lib/fs-helpers/binary-detect.js +13 -16
- package/dist/lib/fs-helpers/binary-detect.js.map +1 -1
- package/dist/lib/fs-helpers/readers/read-file-content.d.ts +29 -0
- package/dist/lib/fs-helpers/readers/read-file-content.d.ts.map +1 -0
- package/dist/lib/fs-helpers/readers/read-file-content.js +25 -0
- package/dist/lib/fs-helpers/readers/read-file-content.js.map +1 -0
- package/dist/lib/fs-helpers/readers/read-file.d.ts +1 -0
- package/dist/lib/fs-helpers/readers/read-file.d.ts.map +1 -1
- package/dist/lib/fs-helpers/readers/read-file.js +29 -29
- package/dist/lib/fs-helpers/readers/read-file.js.map +1 -1
- package/dist/lib/merge-defined.d.ts +2 -0
- package/dist/lib/merge-defined.d.ts.map +1 -0
- package/dist/lib/merge-defined.js +8 -0
- package/dist/lib/merge-defined.js.map +1 -0
- package/dist/lib/path-validation/validators.d.ts.map +1 -1
- package/dist/lib/path-validation/validators.js +8 -0
- package/dist/lib/path-validation/validators.js.map +1 -1
- package/dist/schemas/common.d.ts +2 -2
- package/dist/schemas/index.d.ts +2 -2
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +2 -2
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/inputs/checksums.d.ts +10 -0
- package/dist/schemas/inputs/checksums.d.ts.map +1 -0
- package/dist/schemas/inputs/checksums.js +30 -0
- package/dist/schemas/inputs/checksums.js.map +1 -0
- package/dist/schemas/inputs/directory.d.ts +29 -0
- package/dist/schemas/inputs/directory.d.ts.map +1 -0
- package/dist/schemas/inputs/directory.js +75 -0
- package/dist/schemas/inputs/directory.js.map +1 -0
- package/dist/schemas/inputs/file-info.d.ts +9 -0
- package/dist/schemas/inputs/file-info.d.ts.map +1 -0
- package/dist/schemas/inputs/file-info.js +20 -0
- package/dist/schemas/inputs/file-info.js.map +1 -0
- package/dist/schemas/inputs/read.d.ts +26 -0
- package/dist/schemas/inputs/read.d.ts.map +1 -0
- package/dist/schemas/inputs/read.js +54 -0
- package/dist/schemas/inputs/read.js.map +1 -0
- package/dist/schemas/inputs/search.d.ts +44 -0
- package/dist/schemas/inputs/search.d.ts.map +1 -0
- package/dist/schemas/inputs/search.js +115 -0
- package/dist/schemas/inputs/search.js.map +1 -0
- package/dist/schemas/inputs.d.ts +5 -80
- package/dist/schemas/inputs.d.ts.map +1 -1
- package/dist/schemas/inputs.js +5 -195
- package/dist/schemas/inputs.js.map +1 -1
- package/dist/schemas/outputs/checksums.d.ts +93 -0
- package/dist/schemas/outputs/checksums.d.ts.map +1 -0
- package/dist/schemas/outputs/checksums.js +23 -0
- package/dist/schemas/outputs/checksums.js.map +1 -0
- package/dist/schemas/outputs/directory.d.ts +419 -0
- package/dist/schemas/outputs/directory.d.ts.map +1 -0
- package/dist/schemas/outputs/directory.js +81 -0
- package/dist/schemas/outputs/directory.js.map +1 -0
- package/dist/schemas/outputs/file-info.d.ts +270 -0
- package/dist/schemas/outputs/file-info.d.ts.map +1 -0
- package/dist/schemas/outputs/file-info.js +57 -0
- package/dist/schemas/outputs/file-info.js.map +1 -0
- package/dist/schemas/outputs/read.d.ts +187 -0
- package/dist/schemas/outputs/read.d.ts.map +1 -0
- package/dist/schemas/outputs/read.js +39 -0
- package/dist/schemas/outputs/read.js.map +1 -0
- package/dist/schemas/outputs/search.d.ts +360 -0
- package/dist/schemas/outputs/search.d.ts.map +1 -0
- package/dist/schemas/outputs/search.js +98 -0
- package/dist/schemas/outputs/search.js.map +1 -0
- package/dist/schemas/outputs.d.ts +5 -933
- package/dist/schemas/outputs.d.ts.map +1 -1
- package/dist/schemas/outputs.js +5 -190
- package/dist/schemas/outputs.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +24 -14
- package/dist/server.js.map +1 -1
- package/dist/tools/analyze-directory.d.ts.map +1 -1
- package/dist/tools/analyze-directory.js +2 -2
- package/dist/tools/analyze-directory.js.map +1 -1
- package/dist/tools/compute-checksums.d.ts +3 -0
- package/dist/tools/compute-checksums.d.ts.map +1 -0
- package/dist/tools/compute-checksums.js +77 -0
- package/dist/tools/compute-checksums.js.map +1 -0
- package/dist/tools/directory-tree.d.ts.map +1 -1
- package/dist/tools/directory-tree.js +6 -2
- package/dist/tools/directory-tree.js.map +1 -1
- package/dist/tools/get-multiple-file-info.d.ts +3 -0
- package/dist/tools/get-multiple-file-info.d.ts.map +1 -0
- package/dist/tools/get-multiple-file-info.js +95 -0
- package/dist/tools/get-multiple-file-info.js.map +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +6 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/list-allowed-dirs.d.ts.map +1 -1
- package/dist/tools/list-allowed-dirs.js +14 -3
- package/dist/tools/list-allowed-dirs.js.map +1 -1
- package/dist/tools/list-directory.d.ts.map +1 -1
- package/dist/tools/list-directory.js +12 -4
- package/dist/tools/list-directory.js.map +1 -1
- package/dist/tools/read-file.d.ts.map +1 -1
- package/dist/tools/read-file.js +8 -0
- package/dist/tools/read-file.js.map +1 -1
- package/dist/tools/read-multiple-files.d.ts.map +1 -1
- package/dist/tools/read-multiple-files.js +10 -2
- package/dist/tools/read-multiple-files.js.map +1 -1
- package/dist/tools/search-definitions.d.ts +3 -0
- package/dist/tools/search-definitions.d.ts.map +1 -0
- package/dist/tools/search-definitions.js +130 -0
- package/dist/tools/search-definitions.js.map +1 -0
- package/dist/tools/search-files.d.ts.map +1 -1
- package/dist/tools/search-files.js +9 -4
- package/dist/tools/search-files.js.map +1 -1
- package/dist/tools/shared/search-formatting.d.ts.map +1 -1
- package/dist/tools/shared/search-formatting.js +4 -1
- package/dist/tools/shared/search-formatting.js.map +1 -1
- package/package.json +1 -1
package/dist/config/types.d.ts
CHANGED
|
@@ -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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"}
|
package/dist/config/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/instructions.md
CHANGED
|
@@ -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` |
|
|
95
|
-
| `pattern` |
|
|
104
|
+
| `path` | - | Base directory |
|
|
105
|
+
| `pattern` | - | Glob: `**/*.ts`, `src/**` |
|
|
96
106
|
| `excludePatterns` | [] | Patterns to skip |
|
|
97
|
-
| `maxResults` |
|
|
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
|
|
121
|
-
|
|
|
122
|
-
| `path`
|
|
123
|
-
| `encoding`
|
|
124
|
-
| `maxSize`
|
|
125
|
-
| `
|
|
126
|
-
| `
|
|
127
|
-
| `
|
|
128
|
-
| `
|
|
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
|
|
167
|
+
Parallel batch reads - failures don't block others.
|
|
135
168
|
|
|
136
|
-
| Parameter
|
|
137
|
-
|
|
|
138
|
-
| `paths`
|
|
139
|
-
| `encoding`
|
|
140
|
-
| `maxSize`
|
|
141
|
-
| `head`
|
|
142
|
-
| `tail`
|
|
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
|
|
149
|
-
|
|
|
150
|
-
| `path`
|
|
151
|
-
| `recursive`
|
|
152
|
-
| `
|
|
153
|
-
| `
|
|
154
|
-
| `
|
|
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":"
|
|
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"}
|
package/dist/lib/constants.js
CHANGED
|
@@ -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
|
-
|
|
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":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,2EAA2E;AAC3E,SAAS,WAAW,CAClB,MAAc,EACd,YAAoB,EACpB,GAAW,EACX,GAAW;IAEX,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,GAAG,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;QACzD,OAAO,CAAC,KAAK,CACX,qBAAqB,MAAM,WAAW,KAAK,aAAa,GAAG,IAAI,GAAG,qBAAqB,YAAY,EAAE,CACtG,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,mDAAmD;AACnD,SAAS,qBAAqB;IAC5B,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;IACxC,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,MAAM,
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze-directory.d.ts","sourceRoot":"","sources":["../../../src/lib/file-operations/analyze-directory.ts"],"names":[],"mappings":"
|
|
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;
|
|
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"}
|