@j0hanz/fs-context-mcp 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/README.md +22 -17
  2. package/dist/config.d.ts +117 -0
  3. package/dist/config.d.ts.map +1 -0
  4. package/dist/config.js +31 -0
  5. package/dist/config.js.map +1 -0
  6. package/dist/index.js +2 -2
  7. package/dist/index.js.map +1 -1
  8. package/dist/lib/constants.d.ts +3 -3
  9. package/dist/lib/constants.d.ts.map +1 -1
  10. package/dist/lib/constants.js +129 -3
  11. package/dist/lib/constants.js.map +1 -1
  12. package/dist/lib/errors.d.ts +1 -1
  13. package/dist/lib/errors.d.ts.map +1 -1
  14. package/dist/lib/errors.js +9 -9
  15. package/dist/lib/errors.js.map +1 -1
  16. package/dist/lib/file-operations/file-info.d.ts +7 -1
  17. package/dist/lib/file-operations/file-info.d.ts.map +1 -1
  18. package/dist/lib/file-operations/file-info.js +84 -8
  19. package/dist/lib/file-operations/file-info.js.map +1 -1
  20. package/dist/lib/file-operations/get-multiple-file-info.d.ts.map +1 -1
  21. package/dist/lib/file-operations/get-multiple-file-info.js +8 -4
  22. package/dist/lib/file-operations/get-multiple-file-info.js.map +1 -1
  23. package/dist/lib/file-operations/glob-engine.d.ts.map +1 -1
  24. package/dist/lib/file-operations/glob-engine.js +46 -19
  25. package/dist/lib/file-operations/glob-engine.js.map +1 -1
  26. package/dist/lib/file-operations/list-directory-entry.d.ts.map +1 -1
  27. package/dist/lib/file-operations/list-directory-entry.js +5 -3
  28. package/dist/lib/file-operations/list-directory-entry.js.map +1 -1
  29. package/dist/lib/file-operations/list-directory-helpers.d.ts.map +1 -1
  30. package/dist/lib/file-operations/list-directory-helpers.js +11 -4
  31. package/dist/lib/file-operations/list-directory-helpers.js.map +1 -1
  32. package/dist/lib/file-operations/list-directory.d.ts +12 -2
  33. package/dist/lib/file-operations/list-directory.d.ts.map +1 -1
  34. package/dist/lib/file-operations/list-directory.js +155 -3
  35. package/dist/lib/file-operations/list-directory.js.map +1 -1
  36. package/dist/lib/file-operations/read-multiple-files-helpers.d.ts.map +1 -1
  37. package/dist/lib/file-operations/read-multiple-files-helpers.js +40 -19
  38. package/dist/lib/file-operations/read-multiple-files-helpers.js.map +1 -1
  39. package/dist/lib/file-operations/read-multiple-files.d.ts +18 -1
  40. package/dist/lib/file-operations/read-multiple-files.d.ts.map +1 -1
  41. package/dist/lib/file-operations/read-multiple-files.js +107 -2
  42. package/dist/lib/file-operations/read-multiple-files.js.map +1 -1
  43. package/dist/lib/file-operations/search/engine.d.ts.map +1 -1
  44. package/dist/lib/file-operations/search/engine.js +7 -2
  45. package/dist/lib/file-operations/search/engine.js.map +1 -1
  46. package/dist/lib/file-operations/search/scan-file.d.ts.map +1 -1
  47. package/dist/lib/file-operations/search/scan-file.js +6 -3
  48. package/dist/lib/file-operations/search/scan-file.js.map +1 -1
  49. package/dist/lib/file-operations/search/scan-runner.d.ts.map +1 -1
  50. package/dist/lib/file-operations/search/scan-runner.js +21 -16
  51. package/dist/lib/file-operations/search/scan-runner.js.map +1 -1
  52. package/dist/lib/file-operations/search-content.d.ts +64 -17
  53. package/dist/lib/file-operations/search-content.d.ts.map +1 -1
  54. package/dist/lib/file-operations/search-content.js +828 -3
  55. package/dist/lib/file-operations/search-content.js.map +1 -1
  56. package/dist/lib/file-operations/search-files-collector.d.ts +2 -2
  57. package/dist/lib/file-operations/search-files-collector.d.ts.map +1 -1
  58. package/dist/lib/file-operations/search-files-collector.js +23 -11
  59. package/dist/lib/file-operations/search-files-collector.js.map +1 -1
  60. package/dist/lib/file-operations/search-files-helpers.d.ts.map +1 -1
  61. package/dist/lib/file-operations/search-files-helpers.js +5 -2
  62. package/dist/lib/file-operations/search-files-helpers.js.map +1 -1
  63. package/dist/lib/file-operations/search-files.d.ts +20 -2
  64. package/dist/lib/file-operations/search-files.d.ts.map +1 -1
  65. package/dist/lib/file-operations/search-files.js +192 -5
  66. package/dist/lib/file-operations/search-files.js.map +1 -1
  67. package/dist/lib/file-operations/search-worker.d.ts +30 -0
  68. package/dist/lib/file-operations/search-worker.d.ts.map +1 -0
  69. package/dist/lib/file-operations/search-worker.js +98 -0
  70. package/dist/lib/file-operations/search-worker.js.map +1 -0
  71. package/dist/lib/fs-helpers/readers/read-modes.d.ts.map +1 -1
  72. package/dist/lib/fs-helpers/readers/read-modes.js +6 -4
  73. package/dist/lib/fs-helpers/readers/read-modes.js.map +1 -1
  74. package/dist/lib/fs-helpers/readers/read-options.d.ts.map +1 -1
  75. package/dist/lib/fs-helpers/readers/read-options.js +8 -3
  76. package/dist/lib/fs-helpers/readers/read-options.js.map +1 -1
  77. package/dist/lib/fs-helpers.d.ts +49 -5
  78. package/dist/lib/fs-helpers.d.ts.map +1 -1
  79. package/dist/lib/fs-helpers.js +479 -5
  80. package/dist/lib/fs-helpers.js.map +1 -1
  81. package/dist/lib/observability/diagnostics-helpers.d.ts +3 -0
  82. package/dist/lib/observability/diagnostics-helpers.d.ts.map +1 -0
  83. package/dist/lib/observability/diagnostics-helpers.js +50 -0
  84. package/dist/lib/observability/diagnostics-helpers.js.map +1 -0
  85. package/dist/lib/observability/diagnostics.d.ts.map +1 -1
  86. package/dist/lib/observability/diagnostics.js +24 -59
  87. package/dist/lib/observability/diagnostics.js.map +1 -1
  88. package/dist/lib/observability.d.ts +15 -0
  89. package/dist/lib/observability.d.ts.map +1 -0
  90. package/dist/lib/observability.js +196 -0
  91. package/dist/lib/observability.js.map +1 -0
  92. package/dist/lib/path-validation/validate-existing.js +1 -1
  93. package/dist/lib/path-validation/validate-existing.js.map +1 -1
  94. package/dist/lib/path-validation.d.ts +22 -5
  95. package/dist/lib/path-validation.d.ts.map +1 -1
  96. package/dist/lib/path-validation.js +340 -5
  97. package/dist/lib/path-validation.js.map +1 -1
  98. package/dist/schemas/inputs/directory.d.ts +1 -1
  99. package/dist/schemas/inputs/directory.d.ts.map +1 -1
  100. package/dist/schemas/inputs/directory.js +1 -12
  101. package/dist/schemas/inputs/directory.js.map +1 -1
  102. package/dist/schemas/inputs/helpers.d.ts +2 -0
  103. package/dist/schemas/inputs/helpers.d.ts.map +1 -0
  104. package/dist/schemas/inputs/helpers.js +13 -0
  105. package/dist/schemas/inputs/helpers.js.map +1 -0
  106. package/dist/schemas/inputs/safe-glob.d.ts +2 -0
  107. package/dist/schemas/inputs/safe-glob.d.ts.map +1 -0
  108. package/dist/schemas/inputs/safe-glob.js +13 -0
  109. package/dist/schemas/inputs/safe-glob.js.map +1 -0
  110. package/dist/schemas/inputs/search.d.ts.map +1 -1
  111. package/dist/schemas/inputs/search.js +2 -13
  112. package/dist/schemas/inputs/search.js.map +1 -1
  113. package/dist/schemas/output-helpers.d.ts +6 -1
  114. package/dist/schemas/output-helpers.d.ts.map +1 -1
  115. package/dist/schemas/output-helpers.js +5 -0
  116. package/dist/schemas/output-helpers.js.map +1 -1
  117. package/dist/schemas/outputs/file-info.d.ts +2 -2
  118. package/dist/schemas/outputs/file-info.d.ts.map +1 -1
  119. package/dist/schemas/outputs/file-info.js +2 -8
  120. package/dist/schemas/outputs/file-info.js.map +1 -1
  121. package/dist/schemas/outputs/read.d.ts.map +1 -1
  122. package/dist/schemas/outputs/read.js +2 -7
  123. package/dist/schemas/outputs/read.js.map +1 -1
  124. package/dist/schemas.d.ts +256 -0
  125. package/dist/schemas.d.ts.map +1 -0
  126. package/dist/schemas.js +379 -0
  127. package/dist/schemas.js.map +1 -0
  128. package/dist/server/roots.d.ts.map +1 -1
  129. package/dist/server/roots.js +19 -15
  130. package/dist/server/roots.js.map +1 -1
  131. package/dist/server.d.ts +11 -2
  132. package/dist/server.d.ts.map +1 -1
  133. package/dist/server.js +212 -10
  134. package/dist/server.js.map +1 -1
  135. package/dist/tools/get-file-info.d.ts.map +1 -1
  136. package/dist/tools/get-file-info.js +5 -1
  137. package/dist/tools/get-file-info.js.map +1 -1
  138. package/dist/tools/get-multiple-file-info.d.ts.map +1 -1
  139. package/dist/tools/get-multiple-file-info.js +6 -3
  140. package/dist/tools/get-multiple-file-info.js.map +1 -1
  141. package/dist/tools/list-directory-formatting.d.ts.map +1 -1
  142. package/dist/tools/list-directory-formatting.js +7 -1
  143. package/dist/tools/list-directory-formatting.js.map +1 -1
  144. package/dist/tools/list-directory.d.ts.map +1 -1
  145. package/dist/tools/list-directory.js +5 -4
  146. package/dist/tools/list-directory.js.map +1 -1
  147. package/dist/tools/read-file.d.ts.map +1 -1
  148. package/dist/tools/read-file.js +9 -4
  149. package/dist/tools/read-file.js.map +1 -1
  150. package/dist/tools/read-multiple-files.d.ts.map +1 -1
  151. package/dist/tools/read-multiple-files.js +9 -4
  152. package/dist/tools/read-multiple-files.js.map +1 -1
  153. package/dist/tools/search-content.d.ts.map +1 -1
  154. package/dist/tools/search-content.js +19 -17
  155. package/dist/tools/search-content.js.map +1 -1
  156. package/dist/tools/search-files.d.ts.map +1 -1
  157. package/dist/tools/search-files.js +15 -12
  158. package/dist/tools/search-files.js.map +1 -1
  159. package/dist/tools/shared/file-info.d.ts +4 -2
  160. package/dist/tools/shared/file-info.d.ts.map +1 -1
  161. package/dist/tools/shared/file-info.js +4 -2
  162. package/dist/tools/shared/file-info.js.map +1 -1
  163. package/dist/tools/shared/resolve-path.d.ts +2 -0
  164. package/dist/tools/shared/resolve-path.d.ts.map +1 -0
  165. package/dist/tools/shared/resolve-path.js +11 -0
  166. package/dist/tools/shared/resolve-path.js.map +1 -0
  167. package/dist/tools/shared/search-formatting.d.ts.map +1 -1
  168. package/dist/tools/shared/search-formatting.js +58 -38
  169. package/dist/tools/shared/search-formatting.js.map +1 -1
  170. package/dist/tools/tool-response.d.ts.map +1 -1
  171. package/dist/tools/tool-response.js +11 -6
  172. package/dist/tools/tool-response.js.map +1 -1
  173. package/dist/tools.d.ts +41 -0
  174. package/dist/tools.d.ts.map +1 -0
  175. package/dist/tools.js +624 -0
  176. package/dist/tools.js.map +1 -0
  177. package/package.json +5 -2
package/README.md CHANGED
@@ -8,7 +8,7 @@ A secure, read-only MCP server for filesystem scanning, searching, and analysis
8
8
  [![License](https://img.shields.io/npm/l/@j0hanz/fs-context-mcp)](LICENSE)
9
9
  [![Node.js](https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen)](https://nodejs.org)
10
10
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.9.3-blue)](https://www.typescriptlang.org/)
11
- [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-1.25.1-purple)](https://modelcontextprotocol.io)
11
+ [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-1.25.2-purple)](https://modelcontextprotocol.io)
12
12
 
13
13
  ## One-Click Install
14
14
 
@@ -19,7 +19,7 @@ A secure, read-only MCP server for filesystem scanning, searching, and analysis
19
19
  ## Features
20
20
 
21
21
  - Directory listing (immediate contents)
22
- - Path search with glob patterns (files and directories)
22
+ - File search with glob patterns
23
23
  - Content search with regex and context lines
24
24
  - File reading with head previews (first N lines)
25
25
  - Batch reads and metadata lookups in parallel
@@ -30,7 +30,7 @@ A secure, read-only MCP server for filesystem scanning, searching, and analysis
30
30
  | Task | Tool |
31
31
  | ------------------------------- | ----------- |
32
32
  | Explore project structure | `ls` |
33
- | Find files or directories | `find` |
33
+ | Find files | `find` |
34
34
  | Search for code patterns/text | `grep` |
35
35
  | Read source code | `read` |
36
36
  | Batch read multiple files | `read_many` |
@@ -149,7 +149,8 @@ Returns: Allowed directory paths. Structured output includes `ok` and
149
149
  ### `ls`
150
150
 
151
151
  List the immediate contents of a directory (non-recursive). Omit `path` to use
152
- the first allowed root.
152
+ the first allowed root. If `pattern` is provided, listing is recursive up to
153
+ `maxDepth`.
153
154
 
154
155
  | Parameter | Type | Required | Default | Description |
155
156
  | ----------------------- | -------- | -------- | ------------ | -------------------------------------------------------- |
@@ -170,9 +171,9 @@ Structured output includes `ok`, `path`, `entries`, and `totalEntries`.
170
171
 
171
172
  ### `find`
172
173
 
173
- Search for files using glob patterns. Automatically excludes common dependency/build
174
- directories (node_modules, dist, .git, etc.). Omit `path` to search from the
175
- first allowed root.
174
+ Search for files using glob patterns. Omit `path` to search from the first
175
+ allowed root. `find` does not apply a built-in exclude list; scope your pattern
176
+ to avoid dependency/build directories (e.g., `src/**/*.ts`).
176
177
 
177
178
  | Parameter | Type | Required | Default | Description |
178
179
  | ------------ | ------ | -------- | ------------ | ------------------------------------------------------ |
@@ -197,7 +198,8 @@ Read the contents of a text file.
197
198
  Notes:
198
199
 
199
200
  - Reads are UTF-8 text only; binary files are rejected.
200
- - Max file size is capped by `MAX_FILE_SIZE` (default 10MB).
201
+ - Full reads are capped by `MAX_FILE_SIZE` (default 10MB). When `head` is set,
202
+ output stops at the line limit or size budget, whichever comes first.
201
203
 
202
204
  Returns: File content plus structured metadata (`ok`, `path`, `content`,
203
205
  `truncated`, `totalLines`).
@@ -284,10 +286,11 @@ Matched line content is trimmed to 200 characters.
284
286
 
285
287
  ---
286
288
 
287
- Built-in exclude list includes common dependency/build/output directories and
288
- files: `node_modules`, `dist`, `build`, `coverage`, `.git`, `.vscode`, `.idea`,
289
- `.DS_Store`, `.next`, `.nuxt`, `.output`, `.svelte-kit`, `.cache`, `.yarn`,
290
- `jspm_packages`, `bower_components`, `out`, `tmp`, `.temp`,
289
+ Built-in exclude list (used by `grep` when `excludePatterns` is not provided and
290
+ `includeIgnored` is false) includes common dependency/build/output directories
291
+ and files: `node_modules`, `dist`, `build`, `coverage`, `.git`, `.vscode`,
292
+ `.idea`, `.DS_Store`, `.next`, `.nuxt`, `.output`, `.svelte-kit`, `.cache`,
293
+ `.yarn`, `jspm_packages`, `bower_components`, `out`, `tmp`, `.temp`,
291
294
  `npm-debug.log`, `yarn-debug.log`, `yarn-error.log`, `Thumbs.db`. Pass
292
295
  `excludePatterns: []` or `includeIgnored: true` to disable it.
293
296
 
@@ -442,13 +445,15 @@ This server implements multiple layers of security:
442
445
  src/
443
446
  index.ts # CLI entry point
444
447
  server.ts # MCP server wiring and roots handling
448
+ tools.ts # MCP tool registration + response helpers
449
+ schemas.ts # Zod input/output schemas
450
+ config.ts # Shared types and formatting helpers
445
451
  instructions.md # Tool usage instructions (bundled in dist)
446
- config/ # Shared types and formatting helpers
447
452
  lib/ # Core logic and filesystem operations
448
- schemas/ # Zod input/output schemas
449
- tools/ # MCP tool registration
450
453
  __tests__/ # node:test + tsx tests
451
- node-tests/ # Isolated Node.js checks
454
+ node-tests/ # Additional Node.js checks
455
+ docs/ # Static docs assets
456
+ dist/ # Build output (generated)
452
457
  ```
453
458
 
454
459
  ## Troubleshooting
@@ -469,7 +474,7 @@ Contributions are welcome! Please follow these steps:
469
474
 
470
475
  1. Fork the repository
471
476
  2. Create a feature branch (`git checkout -b feature/amazing-feature`)
472
- 3. Run tests and linting (`npm run lint && npm run test`)
477
+ 3. Run format, lint, type-check, build, and tests (`npm run format && npm run lint && npm run type-check && npm run build && npm run test`)
473
478
  4. Commit your changes (`git commit -m 'Add amazing feature'`)
474
479
  5. Push to the branch (`git push origin feature/amazing-feature`)
475
480
  6. Open a Pull Request
@@ -0,0 +1,117 @@
1
+ export type FileType = 'file' | 'directory' | 'symlink' | 'other';
2
+ export interface FileInfo {
3
+ readonly name: string;
4
+ readonly path: string;
5
+ readonly type: FileType;
6
+ readonly size: number;
7
+ readonly created: Date;
8
+ readonly modified: Date;
9
+ readonly accessed: Date;
10
+ readonly permissions: string;
11
+ readonly isHidden: boolean;
12
+ readonly mimeType?: string;
13
+ readonly symlinkTarget?: string;
14
+ }
15
+ export interface DirectoryEntry {
16
+ readonly name: string;
17
+ readonly path: string;
18
+ readonly relativePath: string;
19
+ readonly type: FileType;
20
+ readonly size?: number;
21
+ readonly modified?: Date;
22
+ readonly symlinkTarget?: string;
23
+ }
24
+ export interface ListDirectoryResult {
25
+ readonly path: string;
26
+ readonly entries: readonly DirectoryEntry[];
27
+ readonly summary: {
28
+ readonly totalEntries: number;
29
+ readonly entriesScanned?: number;
30
+ readonly entriesVisible?: number;
31
+ readonly totalFiles: number;
32
+ readonly totalDirectories: number;
33
+ readonly maxDepthReached: number;
34
+ readonly truncated: boolean;
35
+ readonly stoppedReason?: 'maxEntries' | 'aborted';
36
+ readonly skippedInaccessible: number;
37
+ readonly symlinksNotFollowed: number;
38
+ };
39
+ }
40
+ export interface SearchResult {
41
+ readonly path: string;
42
+ readonly type: FileType;
43
+ readonly size?: number;
44
+ readonly modified?: Date;
45
+ }
46
+ export interface SearchFilesResult {
47
+ readonly basePath: string;
48
+ readonly pattern: string;
49
+ readonly results: readonly SearchResult[];
50
+ readonly summary: {
51
+ readonly matched: number;
52
+ readonly truncated: boolean;
53
+ readonly skippedInaccessible: number;
54
+ readonly filesScanned: number;
55
+ readonly stoppedReason?: 'maxResults' | 'maxFiles' | 'timeout';
56
+ };
57
+ }
58
+ export interface ContentMatch {
59
+ readonly file: string;
60
+ readonly line: number;
61
+ readonly content: string;
62
+ readonly contextBefore?: readonly string[];
63
+ readonly contextAfter?: readonly string[];
64
+ readonly matchCount: number;
65
+ }
66
+ export interface SearchContentResult {
67
+ readonly basePath: string;
68
+ readonly pattern: string;
69
+ readonly filePattern: string;
70
+ readonly matches: readonly ContentMatch[];
71
+ readonly summary: {
72
+ readonly filesScanned: number;
73
+ readonly filesMatched: number;
74
+ readonly matches: number;
75
+ readonly truncated: boolean;
76
+ readonly skippedTooLarge: number;
77
+ readonly skippedBinary: number;
78
+ readonly skippedInaccessible: number;
79
+ readonly linesSkippedDueToRegexTimeout: number;
80
+ readonly stoppedReason?: 'maxResults' | 'maxFiles' | 'timeout';
81
+ };
82
+ }
83
+ export interface MultipleFileInfoResult {
84
+ readonly path: string;
85
+ readonly info?: FileInfo;
86
+ readonly error?: string;
87
+ }
88
+ export interface GetMultipleFileInfoResult {
89
+ readonly results: readonly MultipleFileInfoResult[];
90
+ readonly summary: {
91
+ readonly total: number;
92
+ readonly succeeded: number;
93
+ readonly failed: number;
94
+ readonly totalSize: number;
95
+ };
96
+ }
97
+ export declare const ErrorCode: {
98
+ readonly E_ACCESS_DENIED: "E_ACCESS_DENIED";
99
+ readonly E_NOT_FOUND: "E_NOT_FOUND";
100
+ readonly E_NOT_FILE: "E_NOT_FILE";
101
+ readonly E_NOT_DIRECTORY: "E_NOT_DIRECTORY";
102
+ readonly E_TOO_LARGE: "E_TOO_LARGE";
103
+ readonly E_TIMEOUT: "E_TIMEOUT";
104
+ readonly E_INVALID_PATTERN: "E_INVALID_PATTERN";
105
+ readonly E_INVALID_INPUT: "E_INVALID_INPUT";
106
+ readonly E_PERMISSION_DENIED: "E_PERMISSION_DENIED";
107
+ readonly E_SYMLINK_NOT_ALLOWED: "E_SYMLINK_NOT_ALLOWED";
108
+ readonly E_UNKNOWN: "E_UNKNOWN";
109
+ };
110
+ export type ErrorCode = (typeof ErrorCode)[keyof typeof ErrorCode];
111
+ export declare function formatBytes(bytes: number): string;
112
+ export declare function joinLines(lines: readonly string[]): string;
113
+ export declare function formatOperationSummary(summary: {
114
+ truncated?: boolean;
115
+ truncatedReason?: string;
116
+ }): string;
117
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/config.js ADDED
@@ -0,0 +1,31 @@
1
+ export const ErrorCode = {
2
+ E_ACCESS_DENIED: 'E_ACCESS_DENIED',
3
+ E_NOT_FOUND: 'E_NOT_FOUND',
4
+ E_NOT_FILE: 'E_NOT_FILE',
5
+ E_NOT_DIRECTORY: 'E_NOT_DIRECTORY',
6
+ E_TOO_LARGE: 'E_TOO_LARGE',
7
+ E_TIMEOUT: 'E_TIMEOUT',
8
+ E_INVALID_PATTERN: 'E_INVALID_PATTERN',
9
+ E_INVALID_INPUT: 'E_INVALID_INPUT',
10
+ E_PERMISSION_DENIED: 'E_PERMISSION_DENIED',
11
+ E_SYMLINK_NOT_ALLOWED: 'E_SYMLINK_NOT_ALLOWED',
12
+ E_UNKNOWN: 'E_UNKNOWN',
13
+ };
14
+ const BYTE_UNIT_LABELS = ['B', 'KB', 'MB', 'GB', 'TB'];
15
+ export function formatBytes(bytes) {
16
+ if (bytes === 0)
17
+ return '0 B';
18
+ const unitIndex = Math.floor(Math.log(bytes) / Math.log(1024));
19
+ const unit = BYTE_UNIT_LABELS[unitIndex] ?? 'B';
20
+ const value = bytes / Math.pow(1024, unitIndex);
21
+ return `${parseFloat(value.toFixed(2))} ${unit}`;
22
+ }
23
+ export function joinLines(lines) {
24
+ return lines.join('\n');
25
+ }
26
+ export function formatOperationSummary(summary) {
27
+ if (!summary.truncated)
28
+ return '';
29
+ return `\n[truncated: ${summary.truncatedReason ?? 'limit reached'}]`;
30
+ }
31
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AA0GA,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;AAIX,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAEhE,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,gBAAgB,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC;IAChD,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAChD,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAwB;IAChD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAGtC;IACC,IAAI,CAAC,OAAO,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAClC,OAAO,iBAAiB,OAAO,CAAC,eAAe,IAAI,eAAe,GAAG,CAAC;AACxE,CAAC"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { DEFAULT_SEARCH_TIMEOUT_MS } from './lib/constants.js';
3
- import { createTimedAbortSignal } from './lib/fs-helpers/abort.js';
4
- import { setAllowedDirectoriesResolved } from './lib/path-validation/allowed-directories.js';
3
+ import { createTimedAbortSignal } from './lib/fs-helpers.js';
4
+ import { setAllowedDirectoriesResolved } from './lib/path-validation.js';
5
5
  import { createServer, parseArgs, startServer } from './server.js';
6
6
  const SHUTDOWN_TIMEOUT_MS = 5000;
7
7
  let activeServer;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export declare const DEFAULT_LIST_MAX_ENTRIES = 10000;
13
13
  export declare const DEFAULT_SEARCH_MAX_FILES = 20000;
14
14
  export declare const MAX_LINE_CONTENT_LENGTH = 200;
15
15
  export declare const BINARY_CHECK_BUFFER_SIZE = 512;
16
- export { KNOWN_BINARY_EXTENSIONS } from './constants/binary-extensions.js';
17
- export { DEFAULT_EXCLUDE_PATTERNS } from './constants/exclude-patterns.js';
18
- export { getMimeType } from './constants/mime-types.js';
16
+ export declare const KNOWN_BINARY_EXTENSIONS: Set<string>;
17
+ export declare const DEFAULT_EXCLUDE_PATTERNS: string[];
18
+ export declare function getMimeType(ext: string): string;
19
19
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AA6BA,eAAO,MAAM,oBAAoB,QAA0B,CAAC;AAG5D,eAAO,MAAM,wBAAwB,QAKpC,CAAC;AACF,eAAO,MAAM,kBAAkB,QAK9B,CAAC;AACF,eAAO,MAAM,yBAAyB,QAKrC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,QAK1B,CAAC;AAGF,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAC9C,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAG9C,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AA6BA,eAAO,MAAM,oBAAoB,QAA0B,CAAC;AAG5D,eAAO,MAAM,wBAAwB,QAKpC,CAAC;AACF,eAAO,MAAM,kBAAkB,QAK9B,CAAC;AACF,eAAO,MAAM,yBAAyB,QAKrC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,QAK1B,CAAC;AAGF,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAC9C,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAG9C,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C,eAAO,MAAM,uBAAuB,aAyClC,CAAC;AAEH,eAAO,MAAM,wBAAwB,UAwBpC,CAAC;AA6DF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG/C"}
@@ -35,7 +35,133 @@ export const DEFAULT_SEARCH_MAX_FILES = 20000;
35
35
  // Non-configurable constants
36
36
  export const MAX_LINE_CONTENT_LENGTH = 200;
37
37
  export const BINARY_CHECK_BUFFER_SIZE = 512;
38
- export { KNOWN_BINARY_EXTENSIONS } from './constants/binary-extensions.js';
39
- export { DEFAULT_EXCLUDE_PATTERNS } from './constants/exclude-patterns.js';
40
- export { getMimeType } from './constants/mime-types.js';
38
+ export const KNOWN_BINARY_EXTENSIONS = new Set([
39
+ '.png',
40
+ '.jpg',
41
+ '.jpeg',
42
+ '.gif',
43
+ '.webp',
44
+ '.bmp',
45
+ '.ico',
46
+ '.mp3',
47
+ '.wav',
48
+ '.flac',
49
+ '.mp4',
50
+ '.mov',
51
+ '.avi',
52
+ '.mkv',
53
+ '.webm',
54
+ '.zip',
55
+ '.tar',
56
+ '.gz',
57
+ '.7z',
58
+ '.rar',
59
+ '.exe',
60
+ '.dll',
61
+ '.so',
62
+ '.dylib',
63
+ '.ttf',
64
+ '.otf',
65
+ '.woff',
66
+ '.woff2',
67
+ '.pdf',
68
+ '.doc',
69
+ '.docx',
70
+ '.xls',
71
+ '.xlsx',
72
+ '.ppt',
73
+ '.pptx',
74
+ '.sqlite',
75
+ '.db',
76
+ '.wasm',
77
+ '.bin',
78
+ '.dat',
79
+ ]);
80
+ export const DEFAULT_EXCLUDE_PATTERNS = [
81
+ '**/node_modules/**',
82
+ '**/dist/**',
83
+ '**/build/**',
84
+ '**/coverage/**',
85
+ '**/.git/**',
86
+ '**/.vscode/**',
87
+ '**/.idea/**',
88
+ '**/.DS_Store',
89
+ '**/.next/**',
90
+ '**/.nuxt/**',
91
+ '**/.output/**',
92
+ '**/.svelte-kit/**',
93
+ '**/.cache/**',
94
+ '**/.yarn/**',
95
+ '**/jspm_packages/**',
96
+ '**/bower_components/**',
97
+ '**/out/**',
98
+ '**/tmp/**',
99
+ '**/.temp/**',
100
+ '**/npm-debug.log',
101
+ '**/yarn-debug.log',
102
+ '**/yarn-error.log',
103
+ '**/Thumbs.db',
104
+ ];
105
+ const MIME_TYPES = new Map([
106
+ ['.png', 'image/png'],
107
+ ['.jpg', 'image/jpeg'],
108
+ ['.jpeg', 'image/jpeg'],
109
+ ['.gif', 'image/gif'],
110
+ ['.webp', 'image/webp'],
111
+ ['.svg', 'image/svg+xml'],
112
+ ['.ico', 'image/x-icon'],
113
+ ['.bmp', 'image/bmp'],
114
+ ['.tiff', 'image/tiff'],
115
+ ['.tif', 'image/tiff'],
116
+ ['.avif', 'image/avif'],
117
+ ['.heic', 'image/heic'],
118
+ ['.heif', 'image/heif'],
119
+ ['.mp3', 'audio/mpeg'],
120
+ ['.wav', 'audio/wav'],
121
+ ['.ogg', 'audio/ogg'],
122
+ ['.flac', 'audio/flac'],
123
+ ['.aac', 'audio/aac'],
124
+ ['.m4a', 'audio/mp4'],
125
+ ['.wma', 'audio/x-ms-wma'],
126
+ ['.opus', 'audio/opus'],
127
+ ['.mp4', 'video/mp4'],
128
+ ['.webm', 'video/webm'],
129
+ ['.avi', 'video/x-msvideo'],
130
+ ['.mov', 'video/quicktime'],
131
+ ['.wmv', 'video/x-ms-wmv'],
132
+ ['.mkv', 'video/x-matroska'],
133
+ ['.flv', 'video/x-flv'],
134
+ ['.pdf', 'application/pdf'],
135
+ ['.txt', 'text/plain'],
136
+ ['.log', 'text/plain'],
137
+ ['.md', 'text/markdown'],
138
+ ['.markdown', 'text/markdown'],
139
+ ['.json', 'application/json'],
140
+ ['.jsonc', 'application/json'],
141
+ ['.xml', 'application/xml'],
142
+ ['.yaml', 'text/yaml'],
143
+ ['.yml', 'text/yaml'],
144
+ ['.html', 'text/html'],
145
+ ['.htm', 'text/html'],
146
+ ['.css', 'text/css'],
147
+ ['.js', 'text/javascript'],
148
+ ['.mjs', 'text/javascript'],
149
+ ['.cjs', 'text/javascript'],
150
+ ['.ts', 'text/typescript'],
151
+ ['.tsx', 'text/typescript'],
152
+ ['.zip', 'application/zip'],
153
+ ['.tar', 'application/x-tar'],
154
+ ['.gz', 'application/gzip'],
155
+ ['.7z', 'application/x-7z-compressed'],
156
+ ['.rar', 'application/vnd.rar'],
157
+ ['.ttf', 'font/ttf'],
158
+ ['.otf', 'font/otf'],
159
+ ['.woff', 'font/woff'],
160
+ ['.woff2', 'font/woff2'],
161
+ ['.wasm', 'application/wasm'],
162
+ ]);
163
+ export function getMimeType(ext) {
164
+ const lowerExt = ext.toLowerCase();
165
+ return MIME_TYPES.get(lowerExt) ?? 'application/octet-stream';
166
+ }
41
167
  //# sourceMappingURL=constants.js.map
@@ -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,+EAA+E;AAC/E,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;QAAE,OAAO,YAAY,CAAC;IAEhC,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,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,YAAY,CAAC,EAAE,CAC9H,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8DAA8D;AAC9D,SAAS,qBAAqB;IAC5B,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;IACxC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,oDAAoD;AACpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,qBAAqB,EAAE,CAAC;AAE5D,yCAAyC;AACzC,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CACjD,iBAAiB,EACjB,IAAI,GAAG,IAAI,EACX,GAAG,GAAG,IAAI,EACV,EAAE,GAAG,IAAI,GAAG,IAAI,CACjB,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAC3C,eAAe,EACf,EAAE,GAAG,IAAI,GAAG,IAAI,EAChB,IAAI,GAAG,IAAI,EACX,GAAG,GAAG,IAAI,GAAG,IAAI,CAClB,CAAC;AACF,MAAM,CAAC,MAAM,yBAAyB,GAAG,WAAW,CAClD,wBAAwB,EACxB,KAAK,EACL,GAAG,EACH,OAAO,CACR,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CACvC,2BAA2B,EAC3B,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,EACnC,CAAC,EACD,EAAE,CACH,CAAC;AAEF,qBAAqB;AACrB,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAC9C,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAE9C,6BAA6B;AAC7B,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAC3C,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAE5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ErrorCode } from '../config/types.js';
1
+ import { ErrorCode } from '../config.js';
2
2
  export { ErrorCode };
3
3
  interface DetailedError {
4
4
  code: ErrorCode;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,UAAU,aAAa;IACrB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,cAAc,CAK1E;AA6BD,qBAAa,QAAS,SAAQ,KAAK;IAExB,IAAI,EAAE,SAAS;IAEf,IAAI,CAAC,EAAE,MAAM;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAHjC,IAAI,EAAE,SAAS,EACtB,OAAO,EAAE,MAAM,EACR,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA,EACxC,KAAK,CAAC,EAAE,OAAO;IAOjB,MAAM,CAAC,SAAS,CACd,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,OAAO,EACtB,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,QAAQ;CAOZ;AA8DD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,IAAI,CAAC,EAAE,MAAM,EACb,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC1C,aAAa,CAYf;AAqBD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAYhE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAErD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAa,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,UAAU,aAAa;IACrB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,cAAc,CAK1E;AA6BD,qBAAa,QAAS,SAAQ,KAAK;IAExB,IAAI,EAAE,SAAS;IAEf,IAAI,CAAC,EAAE,MAAM;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAHjC,IAAI,EAAE,SAAS,EACtB,OAAO,EAAE,MAAM,EACR,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA,EACxC,KAAK,CAAC,EAAE,OAAO;IAOjB,MAAM,CAAC,SAAS,CACd,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,OAAO,EACtB,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,QAAQ;CAOZ;AA8DD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,IAAI,CAAC,EAAE,MAAM,EACb,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC1C,aAAa,CAWf;AAqBD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAYhE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAErD"}
@@ -1,5 +1,4 @@
1
- import { joinLines } from '../config/formatting.js';
2
- import { ErrorCode } from '../config/types.js';
1
+ import { ErrorCode, joinLines } from '../config.js';
3
2
  export { ErrorCode };
4
3
  export function isNodeError(error) {
5
4
  if (!(error instanceof Error))
@@ -100,13 +99,14 @@ export function createDetailedError(error, path, additionalDetails) {
100
99
  const message = error instanceof Error ? error.message : String(error);
101
100
  const code = classifyError(error);
102
101
  const suggestion = ERROR_SUGGESTIONS[code];
103
- return {
104
- code,
105
- message,
106
- path: resolveErrorPath(error, path),
107
- suggestion,
108
- details: mergeErrorDetails(error, additionalDetails),
109
- };
102
+ const resolvedPath = resolveErrorPath(error, path);
103
+ const details = mergeErrorDetails(error, additionalDetails);
104
+ const result = { code, message, suggestion };
105
+ if (resolvedPath)
106
+ result.path = resolvedPath;
107
+ if (details)
108
+ result.details = details;
109
+ return result;
110
110
  }
111
111
  function resolveErrorPath(error, path) {
112
112
  if (path)
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,12 @@
1
- import type { FileInfo } from '../../config/types.js';
1
+ import type { FileInfo, GetMultipleFileInfoResult } from '../../config.js';
2
2
  export declare function getFileInfo(filePath: string, options?: {
3
3
  includeMimeType?: boolean;
4
4
  signal?: AbortSignal;
5
5
  }): Promise<FileInfo>;
6
+ interface GetMultipleFileInfoOptions {
7
+ includeMimeType?: boolean;
8
+ signal?: AbortSignal;
9
+ }
10
+ export declare function getMultipleFileInfo(paths: readonly string[], options?: GetMultipleFileInfoOptions): Promise<GetMultipleFileInfoResult>;
11
+ export {};
6
12
  //# sourceMappingURL=file-info.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-info.d.ts","sourceRoot":"","sources":["../../../src/lib/file-operations/file-info.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAqEtD,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,GAChE,OAAO,CAAC,QAAQ,CAAC,CA0BnB"}
1
+ {"version":3,"file":"file-info.d.ts","sourceRoot":"","sources":["../../../src/lib/file-operations/file-info.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,QAAQ,EACR,yBAAyB,EAE1B,MAAM,iBAAiB,CAAC;AA2EzB,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,GAChE,OAAO,CAAC,QAAQ,CAAC,CA0BnB;AAqBD,UAAU,0BAA0B;IAClC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAsGD,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,yBAAyB,CAAC,CAYpC"}