@j0hanz/fs-context-mcp 2.1.3 → 2.1.5
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 +46 -29
- package/dist/instructions.md +56 -34
- package/dist/lib/constants.d.ts +3 -0
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +46 -0
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/file-operations/read-multiple-files.d.ts.map +1 -1
- package/dist/lib/file-operations/read-multiple-files.js +15 -3
- package/dist/lib/file-operations/read-multiple-files.js.map +1 -1
- package/dist/lib/file-operations/search-content.d.ts +4 -0
- package/dist/lib/file-operations/search-content.d.ts.map +1 -1
- package/dist/lib/file-operations/search-content.js +67 -15
- package/dist/lib/file-operations/search-content.js.map +1 -1
- package/dist/lib/file-operations/search-worker.d.ts.map +1 -1
- package/dist/lib/file-operations/search-worker.js +9 -1
- package/dist/lib/file-operations/search-worker.js.map +1 -1
- package/dist/lib/fs-helpers.d.ts.map +1 -1
- package/dist/lib/fs-helpers.js +5 -1
- package/dist/lib/fs-helpers.js.map +1 -1
- package/dist/lib/observability.d.ts.map +1 -1
- package/dist/lib/observability.js +42 -1
- package/dist/lib/observability.js.map +1 -1
- package/dist/lib/path-policy.d.ts +3 -0
- package/dist/lib/path-policy.d.ts.map +1 -0
- package/dist/lib/path-policy.js +69 -0
- package/dist/lib/path-policy.js.map +1 -0
- package/dist/lib/path-validation.d.ts +2 -0
- package/dist/lib/path-validation.d.ts.map +1 -1
- package/dist/lib/path-validation.js +18 -4
- package/dist/lib/path-validation.js.map +1 -1
- package/dist/schemas.d.ts +1 -0
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +27 -26
- package/dist/schemas.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +10 -18
- package/dist/server.js.map +1 -1
- package/dist/tools/list-directory.d.ts +4 -0
- package/dist/tools/list-directory.d.ts.map +1 -0
- package/dist/tools/list-directory.js +85 -0
- package/dist/tools/list-directory.js.map +1 -0
- package/dist/tools/read-multiple.d.ts +4 -0
- package/dist/tools/read-multiple.d.ts.map +1 -0
- package/dist/tools/read-multiple.js +109 -0
- package/dist/tools/read-multiple.js.map +1 -0
- package/dist/tools/read.d.ts +4 -0
- package/dist/tools/read.d.ts.map +1 -0
- package/dist/tools/read.js +92 -0
- package/dist/tools/read.js.map +1 -0
- package/dist/tools/roots.d.ts +4 -0
- package/dist/tools/roots.d.ts.map +1 -0
- package/dist/tools/roots.js +41 -0
- package/dist/tools/roots.js.map +1 -0
- package/dist/tools/search-content.d.ts +4 -0
- package/dist/tools/search-content.d.ts.map +1 -0
- package/dist/tools/search-content.js +156 -0
- package/dist/tools/search-content.js.map +1 -0
- package/dist/tools/search-files.d.ts +4 -0
- package/dist/tools/search-files.d.ts.map +1 -0
- package/dist/tools/search-files.js +82 -0
- package/dist/tools/search-files.js.map +1 -0
- package/dist/tools/shared.d.ts +61 -0
- package/dist/tools/shared.d.ts.map +1 -0
- package/dist/tools/shared.js +175 -0
- package/dist/tools/shared.js.map +1 -0
- package/dist/tools/stat-many.d.ts +4 -0
- package/dist/tools/stat-many.d.ts.map +1 -0
- package/dist/tools/stat-many.js +89 -0
- package/dist/tools/stat-many.js.map +1 -0
- package/dist/tools/stat.d.ts +4 -0
- package/dist/tools/stat.d.ts.map +1 -0
- package/dist/tools/stat.js +76 -0
- package/dist/tools/stat.js.map +1 -0
- package/dist/tools/tree.d.ts +4 -0
- package/dist/tools/tree.d.ts.map +1 -0
- package/dist/tools/tree.js +59 -0
- package/dist/tools/tree.js.map +1 -0
- package/dist/tools.d.ts +12 -31
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +19 -839
- package/dist/tools.js.map +1 -1
- package/package.json +16 -15
package/README.md
CHANGED
|
@@ -45,7 +45,7 @@ All operations are restricted to explicitly approved directories, with no write
|
|
|
45
45
|
### Search
|
|
46
46
|
|
|
47
47
|
- Content search across files using `grep`
|
|
48
|
-
- Respects `.gitignore` patterns and common ignore directories
|
|
48
|
+
- Respects root `.gitignore` patterns and common ignore directories
|
|
49
49
|
- Configurable search timeout and worker threads
|
|
50
50
|
|
|
51
51
|
### Security
|
|
@@ -54,6 +54,7 @@ All operations are restricted to explicitly approved directories, with no write
|
|
|
54
54
|
- Access restricted to explicitly approved directories
|
|
55
55
|
- Path traversal protection (blocks `..` and symlink escapes)
|
|
56
56
|
- RE2-based regex engine prevents ReDoS attacks
|
|
57
|
+
- Sensitive files (e.g., `.env`, `.npmrc`) are blocked by default; override via env allowlist
|
|
57
58
|
|
|
58
59
|
## When to Use
|
|
59
60
|
|
|
@@ -148,6 +149,7 @@ Notes:
|
|
|
148
149
|
|
|
149
150
|
- Windows drive-relative paths like `C:path` are rejected. Use `C:\path` or `C:/path`.
|
|
150
151
|
- Reserved Windows device names (e.g., `CON`, `NUL`) are blocked.
|
|
152
|
+
- If multiple roots are configured, tools require an explicit `path` to disambiguate.
|
|
151
153
|
|
|
152
154
|
## Configuration
|
|
153
155
|
|
|
@@ -155,16 +157,30 @@ All configuration is optional. Sizes in bytes, timeouts in milliseconds.
|
|
|
155
157
|
|
|
156
158
|
### Environment Variables
|
|
157
159
|
|
|
158
|
-
| Variable
|
|
159
|
-
|
|
|
160
|
-
| `MAX_FILE_SIZE`
|
|
161
|
-
| `MAX_READ_MANY_TOTAL_SIZE`
|
|
162
|
-
| `MAX_SEARCH_SIZE`
|
|
163
|
-
| `DEFAULT_SEARCH_TIMEOUT`
|
|
164
|
-
| `FS_CONTEXT_SEARCH_WORKERS`
|
|
160
|
+
| Variable | Default | Description |
|
|
161
|
+
| ---------------------------- | ----------------- | ----------------------------------------------------------------- |
|
|
162
|
+
| `MAX_FILE_SIZE` | 10MB | Max file size for read operations (range: 1MB-100MB) |
|
|
163
|
+
| `MAX_READ_MANY_TOTAL_SIZE` | 512KB | Max combined size for `read_many` (range: 10KB-100MB) |
|
|
164
|
+
| `MAX_SEARCH_SIZE` | 1MB | Max file size for content search (range: 100KB-10MB) |
|
|
165
|
+
| `DEFAULT_SEARCH_TIMEOUT` | 30000 | Timeout for search/list operations (range: 100-3600000ms) |
|
|
166
|
+
| `FS_CONTEXT_SEARCH_WORKERS` | min(cpu cores, 8) | Search worker threads (range: 0-16; 0 disables) |
|
|
167
|
+
| `FS_CONTEXT_ALLOW_SENSITIVE` | false | Allow reading sensitive files (set to `true` to disable denylist) |
|
|
168
|
+
| `FS_CONTEXT_DENYLIST` | (empty) | Additional denylist patterns (comma-separated globs) |
|
|
169
|
+
| `FS_CONTEXT_ALLOWLIST` | (empty) | Allowlist patterns that override denylist (comma-separated globs) |
|
|
170
|
+
| `FS_CONTEXT_TOOL_LOG_ERRORS` | false | Log tool failures to stderr with duration |
|
|
165
171
|
|
|
166
172
|
See [CONFIGURATION.md](CONFIGURATION.md) for examples and CLI usage.
|
|
167
173
|
|
|
174
|
+
### Sensitive File Policy
|
|
175
|
+
|
|
176
|
+
By default, reads and content searches are blocked for common secret filenames to reduce accidental leakage. The default denylist includes patterns like `.env`, `.npmrc`, `.aws/credentials`, `*.pem`, and `.mcpregistry_*_token`.
|
|
177
|
+
|
|
178
|
+
You can customize with:
|
|
179
|
+
|
|
180
|
+
- `FS_CONTEXT_ALLOW_SENSITIVE=true` to disable the default denylist.
|
|
181
|
+
- `FS_CONTEXT_DENYLIST` to add extra deny patterns (comma-separated globs using `*`).
|
|
182
|
+
- `FS_CONTEXT_ALLOWLIST` to allow specific paths even if they match the denylist.
|
|
183
|
+
|
|
168
184
|
## Resources
|
|
169
185
|
|
|
170
186
|
This server exposes standard MCP resources to provide static documentation and handle large content efficiently.
|
|
@@ -199,12 +215,12 @@ Returns: Allowed directory paths. Structured output includes `ok` and
|
|
|
199
215
|
### `ls`
|
|
200
216
|
|
|
201
217
|
List the immediate contents of a directory (non-recursive). Omit `path` to use
|
|
202
|
-
the
|
|
218
|
+
the sole allowed root (when only one root is configured).
|
|
203
219
|
|
|
204
|
-
| Parameter | Type | Required | Default
|
|
205
|
-
| --------------- | ------- | -------- |
|
|
206
|
-
| `path` | string | No | `
|
|
207
|
-
| `includeHidden` | boolean | No | `false`
|
|
220
|
+
| Parameter | Type | Required | Default | Description |
|
|
221
|
+
| --------------- | ------- | -------- | ----------- | ------------------------------------------------------- |
|
|
222
|
+
| `path` | string | No | `only root` | Directory path to list (omit when only one root exists) |
|
|
223
|
+
| `includeHidden` | boolean | No | `false` | Include hidden files and directories |
|
|
208
224
|
|
|
209
225
|
Returns: Entries with name, relativePath, type, size, and modified time.
|
|
210
226
|
Structured output includes `ok`, `path`, `entries`, and `totalEntries`.
|
|
@@ -213,21 +229,22 @@ Structured output includes `ok`, `path`, `entries`, and `totalEntries`.
|
|
|
213
229
|
|
|
214
230
|
### `find`
|
|
215
231
|
|
|
216
|
-
Search for files using glob patterns. Omit `path` to search from the
|
|
217
|
-
allowed root. By default, `find` excludes common dependency/build directories
|
|
232
|
+
Search for files using glob patterns. Omit `path` to search from the sole
|
|
233
|
+
allowed root (when only one root is configured). By default, `find` excludes common dependency/build directories
|
|
218
234
|
(node_modules, dist, .git, etc.); set `includeIgnored: true` to include ignored
|
|
219
235
|
directories and disable built-in excludes.
|
|
220
236
|
|
|
221
|
-
| Parameter | Type | Required | Default
|
|
222
|
-
| ---------------- | ------- | -------- |
|
|
223
|
-
| `path` | string | No | `
|
|
224
|
-
| `pattern` | string | Yes | -
|
|
225
|
-
| `includeIgnored` | boolean | No | `false`
|
|
226
|
-
| `maxResults` | number | No | `100`
|
|
237
|
+
| Parameter | Type | Required | Default | Description |
|
|
238
|
+
| ---------------- | ------- | -------- | ----------- | -------------------------------------------------------------- |
|
|
239
|
+
| `path` | string | No | `only root` | Base directory to search from (omit when only one root exists) |
|
|
240
|
+
| `pattern` | string | Yes | - | Glob pattern (e.g., `**/*.ts`, `src/**/*.js`) |
|
|
241
|
+
| `includeIgnored` | boolean | No | `false` | Include ignored dirs and disable built-in excludes |
|
|
242
|
+
| `maxResults` | number | No | `100` | Maximum matches to return (1-10000) |
|
|
227
243
|
|
|
228
244
|
Notes:
|
|
229
245
|
|
|
230
246
|
- When `includeIgnored=false`, results also respect a root `.gitignore` file (if present under the base `path`).
|
|
247
|
+
- Nested `.gitignore` files are not parsed.
|
|
231
248
|
|
|
232
249
|
Returns: Matching paths (relative) with size and modified date. Structured
|
|
233
250
|
output includes `ok`, `results`, `totalMatches`, and `truncated`.
|
|
@@ -236,10 +253,10 @@ output includes `ok`, `results`, `totalMatches`, and `truncated`.
|
|
|
236
253
|
|
|
237
254
|
### `tree`
|
|
238
255
|
|
|
239
|
-
Render a directory tree (bounded recursion). Omit `path` to use the
|
|
240
|
-
allowed root.
|
|
256
|
+
Render a directory tree (bounded recursion). Omit `path` to use the sole
|
|
257
|
+
allowed root (when only one root is configured).
|
|
241
258
|
|
|
242
|
-
- `path` (string, optional; default: `
|
|
259
|
+
- `path` (string, optional; default: `only root`): Base directory to render
|
|
243
260
|
- `maxDepth` (number, optional; default: `5`): Maximum recursion depth (0 = just the root)
|
|
244
261
|
- `maxEntries` (number, optional; default: `1000`): Maximum number of entries before truncating
|
|
245
262
|
- `includeHidden` (boolean, optional; default: `false`): Include hidden files/directories
|
|
@@ -340,11 +357,11 @@ Search for text content within files.
|
|
|
340
357
|
|
|
341
358
|
`pattern` is treated as a literal string and matched case-insensitively.
|
|
342
359
|
|
|
343
|
-
| Parameter | Type | Required | Default
|
|
344
|
-
| --------------- | ------- | -------- |
|
|
345
|
-
| `path` | string | No | `
|
|
346
|
-
| `pattern` | string | Yes | -
|
|
347
|
-
| `includeHidden` | boolean | No | `false`
|
|
360
|
+
| Parameter | Type | Required | Default | Description |
|
|
361
|
+
| --------------- | ------- | -------- | ----------- | ------------------------------------------------------------------------- |
|
|
362
|
+
| `path` | string | No | `only root` | Base directory or file path to search in (omit when only one root exists) |
|
|
363
|
+
| `pattern` | string | Yes | - | Text pattern to search for |
|
|
364
|
+
| `includeHidden` | boolean | No | `false` | Include hidden files and directories |
|
|
348
365
|
|
|
349
366
|
Example (search a single file):
|
|
350
367
|
|
package/dist/instructions.md
CHANGED
|
@@ -1,52 +1,74 @@
|
|
|
1
|
-
#
|
|
1
|
+
# fs-context Instructions
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> Guidance for the Agent: These instructions are available as a resource (`internal://instructions`) or prompt (`get-help`). Load them when you are unsure about tool usage.
|
|
4
4
|
|
|
5
5
|
## 1. Core Capability
|
|
6
6
|
|
|
7
|
-
- **Domain:** Read-only filesystem exploration, search, and inspection within allowed roots.
|
|
8
|
-
- **Primary Resources:**
|
|
9
|
-
- **Available Tools:** `roots`, `ls`, `tree`, `find`, `grep`, `read`, `read_many`, `stat`, `stat_many` (9 read-only tools).
|
|
7
|
+
- **Domain:** Read-only filesystem exploration, search, and inspection within explicitly allowed roots.
|
|
8
|
+
- **Primary Resources:** Directory trees, file content, metadata, and search results.
|
|
10
9
|
|
|
11
10
|
## 2. The "Golden Path" Workflows (Critical)
|
|
12
11
|
|
|
13
|
-
|
|
12
|
+
_Describe the standard order of operations using ONLY tools that exist._
|
|
14
13
|
|
|
15
|
-
### Workflow A:
|
|
14
|
+
### Workflow A: Discovery & Navigation
|
|
16
15
|
|
|
17
|
-
1. Call `roots` to confirm access.
|
|
18
|
-
2. Call `
|
|
19
|
-
|
|
20
|
-
> **Constraint:** Never assume a path; list or tree first.
|
|
16
|
+
1. Call `roots` to confirm designated access points.
|
|
17
|
+
2. Call `ls` (for single directory) or `tree` (for structure) to map layout.
|
|
18
|
+
> Constraint: Never guess paths. Always list first.
|
|
21
19
|
|
|
22
|
-
### Workflow B:
|
|
20
|
+
### Workflow B: Search & Retrieval
|
|
23
21
|
|
|
24
|
-
1. Call `find` to locate files by glob.
|
|
25
|
-
2. Call `grep` to
|
|
26
|
-
3. Call `read` (or `read_many`) to
|
|
27
|
-
>
|
|
22
|
+
1. Call `find` to locate files by name/glob pattern.
|
|
23
|
+
2. Call `grep` to find code by content/regex.
|
|
24
|
+
3. Call `read` (single) or `read_many` (batch) to inspect specific files.
|
|
25
|
+
> Constraint: Large readings return incomplete previews with resource URIs (`fs-context://result/...`).
|
|
28
26
|
|
|
29
|
-
|
|
27
|
+
## 3. Tool Nuances & Gotchas
|
|
30
28
|
|
|
31
|
-
|
|
32
|
-
2. Call `stat_many` for batch operations (up to 100 paths).
|
|
33
|
-
3. Use `tokenEstimate` field to gauge content size before reading.
|
|
34
|
-
> **Constraint:** `stat` does not read file content; use `read` for that.
|
|
29
|
+
_Do NOT repeat JSON schema. Focus on behavior and pitfalls._
|
|
35
30
|
|
|
36
|
-
|
|
31
|
+
- **`ls`**
|
|
32
|
+
- **Purpose:** Non-recursive directory listing.
|
|
33
|
+
- **Inputs:** `path` (relative to root). default: root.
|
|
34
|
+
- **Multi-root:** If multiple roots are configured, you must provide `path`.
|
|
35
|
+
- **Default filters:** Excludes common ignored directories (node_modules, dist, .git, etc). Set `includeIgnored=true` to include them.
|
|
36
|
+
- **Latency:** Fast.
|
|
37
|
+
- **Common failure modes:** `E_NOT_FOUND` if path incorrect.
|
|
37
38
|
|
|
38
|
-
- **`
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
-
-
|
|
45
|
-
|
|
46
|
-
-
|
|
39
|
+
- **`find`**
|
|
40
|
+
- **Purpose:** Recursive file search by globs.
|
|
41
|
+
- **Inputs:** `pattern` (glob like `**/*.ts`), `path` (base dir).
|
|
42
|
+
- **Multi-root:** If multiple roots are configured, you must provide `path`.
|
|
43
|
+
- **Side effects:** None.
|
|
44
|
+
- **Latency:** Scans disk; bounded by `maxResults` (default 100).
|
|
45
|
+
- **Gitignore scope:** Only the root `.gitignore` is applied (nested `.gitignore` is not parsed).
|
|
46
|
+
|
|
47
|
+
- **`grep`**
|
|
48
|
+
- **Purpose:** Content search using RE2 regex.
|
|
49
|
+
- **Inputs:** `pattern` (regex), `path` (base).
|
|
50
|
+
- **Limits:** Skips binaries & files >1MB. Truncates results >50 matches.
|
|
51
|
+
- **Multi-root:** If multiple roots are configured, you must provide `path`.
|
|
52
|
+
- **Sensitive files:** Access to common secret files is blocked by default. Override with `FS_CONTEXT_ALLOW_SENSITIVE=1` or add `FS_CONTEXT_ALLOWLIST`.
|
|
53
|
+
|
|
54
|
+
- **`read` / `read_many`**
|
|
55
|
+
- **Purpose:** Read file contents.
|
|
56
|
+
- **Inputs:** `path`/`paths`. Optional: `head` (first N lines) OR `startLine`/`endLine`.
|
|
57
|
+
- **Gotchas:** `head` is mutually exclusive with `startLine`/`endLine`. Large content returns `resourceUri` link.
|
|
58
|
+
- **Sensitive files:** Access to common secret files (e.g., `.env`, `.npmrc`) is blocked by default. Override with `FS_CONTEXT_ALLOW_SENSITIVE=1` or add `FS_CONTEXT_ALLOWLIST`.
|
|
59
|
+
|
|
60
|
+
- **`stat` / `stat_many`**
|
|
61
|
+
- **Purpose:** Metadata (size, modified, type) without content.
|
|
62
|
+
- **Inputs:** `path`/`paths`.
|
|
63
|
+
|
|
64
|
+
- **`tree`**
|
|
65
|
+
- **Purpose:** ASCII + JSON tree visualization.
|
|
66
|
+
- **Limits:** Max depth/entries apply. Good for high-level "glance".
|
|
67
|
+
- **Multi-root:** If multiple roots are configured, you must provide `path`.
|
|
47
68
|
|
|
48
69
|
## 4. Error Handling Strategy
|
|
49
70
|
|
|
50
|
-
- `E_ACCESS_DENIED`:
|
|
51
|
-
- `
|
|
52
|
-
- `E_TIMEOUT
|
|
71
|
+
- `E_ACCESS_DENIED`: You are trying to access a path outside allowed `roots`.
|
|
72
|
+
- `E_NOT_FOUND`: Re-run `ls` or `find` to verify the path exists.
|
|
73
|
+
- `E_TIMEOUT` / `E_UNKNOWN`: Reduce scope (subdir) or batch size.
|
|
74
|
+
- Resource Links (`fs-context://...`): Content was too large for inline. Read the provided URI to get full content.
|
package/dist/lib/constants.d.ts
CHANGED
|
@@ -14,6 +14,9 @@ export declare const DEFAULT_LIST_MAX_ENTRIES = 10000;
|
|
|
14
14
|
export declare const DEFAULT_SEARCH_MAX_FILES = 20000;
|
|
15
15
|
export declare const MAX_LINE_CONTENT_LENGTH = 200;
|
|
16
16
|
export declare const BINARY_CHECK_BUFFER_SIZE = 512;
|
|
17
|
+
export declare const DEFAULT_SENSITIVE_PATTERNS: readonly [".env", ".env.*", ".npmrc", ".pypirc", ".aws/credentials", ".aws/config", ".mcpregistry_*_token", "*.pem", "*.key", "*.p12", "*.pfx", "*.crt", "*.cer", "*id_rsa*", "*id_dsa*"];
|
|
18
|
+
export declare const SENSITIVE_FILE_DENYLIST: string[];
|
|
19
|
+
export declare const SENSITIVE_FILE_ALLOWLIST: string[];
|
|
17
20
|
export declare const KNOWN_BINARY_EXTENSIONS: Set<string>;
|
|
18
21
|
export declare const DEFAULT_EXCLUDE_PATTERNS: string[];
|
|
19
22
|
export declare function getMimeType(ext: string): string;
|
|
@@ -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":"AAkDA,eAAO,MAAM,oBAAoB,QAA0B,CAAC;AAG5D,eAAO,MAAM,wBAAwB,QAKpC,CAAC;AACF,eAAO,MAAM,kBAAkB,QAK9B,CAAC;AAEF,eAAO,MAAM,gCAAgC,QAK5C,CAAC;AACF,eAAO,MAAM,yBAAyB,QAKrC,CAAC;AAMF;;;;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,0BAA0B,2LAgB7B,CAAC;AAEX,eAAO,MAAM,uBAAuB,UAGnC,CAAC;AAEF,eAAO,MAAM,wBAAwB,UAAqB,CAAC;AAE3D,eAAO,MAAM,uBAAuB,aAyClC,CAAC;AAEH,eAAO,MAAM,wBAAwB,UAwBpC,CAAC;AA6DF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG/C"}
|
package/dist/lib/constants.js
CHANGED
|
@@ -11,6 +11,27 @@ function parseEnvInt(envVar, defaultValue, min, max) {
|
|
|
11
11
|
}
|
|
12
12
|
return parsed;
|
|
13
13
|
}
|
|
14
|
+
function parseEnvBool(envVar, defaultValue) {
|
|
15
|
+
const value = process.env[envVar];
|
|
16
|
+
if (value === undefined)
|
|
17
|
+
return defaultValue;
|
|
18
|
+
const normalized = value.trim().toLowerCase();
|
|
19
|
+
if (['1', 'true', 'yes', 'y', 'on'].includes(normalized))
|
|
20
|
+
return true;
|
|
21
|
+
if (['0', 'false', 'no', 'n', 'off'].includes(normalized))
|
|
22
|
+
return false;
|
|
23
|
+
console.error(`[WARNING] Invalid ${envVar} value: ${value} (must be true/false). Using default: ${String(defaultValue)}`);
|
|
24
|
+
return defaultValue;
|
|
25
|
+
}
|
|
26
|
+
function parseEnvList(envVar) {
|
|
27
|
+
const value = process.env[envVar];
|
|
28
|
+
if (!value)
|
|
29
|
+
return [];
|
|
30
|
+
return value
|
|
31
|
+
.split(/[,\n]/u)
|
|
32
|
+
.map((entry) => entry.trim())
|
|
33
|
+
.filter((entry) => entry.length > 0);
|
|
34
|
+
}
|
|
14
35
|
// Auto-tuned parallelism based on CPU cores (no env override)
|
|
15
36
|
function getOptimalParallelism() {
|
|
16
37
|
const cpuCores = availableParallelism();
|
|
@@ -23,6 +44,9 @@ export const MAX_SEARCHABLE_FILE_SIZE = parseEnvInt('MAX_SEARCH_SIZE', 1024 * 10
|
|
|
23
44
|
export const MAX_TEXT_FILE_SIZE = parseEnvInt('MAX_FILE_SIZE', 10 * 1024 * 1024, 1024 * 1024, 100 * 1024 * 1024);
|
|
24
45
|
export const DEFAULT_READ_MANY_MAX_TOTAL_SIZE = parseEnvInt('MAX_READ_MANY_TOTAL_SIZE', 512 * 1024, 10 * 1024, 100 * 1024 * 1024);
|
|
25
46
|
export const DEFAULT_SEARCH_TIMEOUT_MS = parseEnvInt('DEFAULT_SEARCH_TIMEOUT', 30000, 100, 3600000);
|
|
47
|
+
const ALLOW_SENSITIVE_FILES = parseEnvBool('FS_CONTEXT_ALLOW_SENSITIVE', false);
|
|
48
|
+
const ENV_DENYLIST = parseEnvList('FS_CONTEXT_DENYLIST');
|
|
49
|
+
const ENV_ALLOWLIST = parseEnvList('FS_CONTEXT_ALLOWLIST');
|
|
26
50
|
/**
|
|
27
51
|
* Number of search worker threads to use.
|
|
28
52
|
* Default: CPU cores (capped at 8 for optimal I/O performance).
|
|
@@ -36,6 +60,28 @@ export const DEFAULT_SEARCH_MAX_FILES = 20000;
|
|
|
36
60
|
// Non-configurable constants
|
|
37
61
|
export const MAX_LINE_CONTENT_LENGTH = 200;
|
|
38
62
|
export const BINARY_CHECK_BUFFER_SIZE = 512;
|
|
63
|
+
export const DEFAULT_SENSITIVE_PATTERNS = [
|
|
64
|
+
'.env',
|
|
65
|
+
'.env.*',
|
|
66
|
+
'.npmrc',
|
|
67
|
+
'.pypirc',
|
|
68
|
+
'.aws/credentials',
|
|
69
|
+
'.aws/config',
|
|
70
|
+
'.mcpregistry_*_token',
|
|
71
|
+
'*.pem',
|
|
72
|
+
'*.key',
|
|
73
|
+
'*.p12',
|
|
74
|
+
'*.pfx',
|
|
75
|
+
'*.crt',
|
|
76
|
+
'*.cer',
|
|
77
|
+
'*id_rsa*',
|
|
78
|
+
'*id_dsa*',
|
|
79
|
+
];
|
|
80
|
+
export const SENSITIVE_FILE_DENYLIST = [
|
|
81
|
+
...(ALLOW_SENSITIVE_FILES ? [] : DEFAULT_SENSITIVE_PATTERNS),
|
|
82
|
+
...ENV_DENYLIST,
|
|
83
|
+
];
|
|
84
|
+
export const SENSITIVE_FILE_ALLOWLIST = [...ENV_ALLOWLIST];
|
|
39
85
|
export const KNOWN_BINARY_EXTENSIONS = new Set([
|
|
40
86
|
'.png',
|
|
41
87
|
'.jpg',
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-multiple-files.d.ts","sourceRoot":"","sources":["../../../src/lib/file-operations/read-multiple-files.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAWD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"read-multiple-files.d.ts","sourceRoot":"","sources":["../../../src/lib/file-operations/read-multiple-files.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAWD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AA+TD,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAgC/B"}
|
|
@@ -111,9 +111,22 @@ async function tryValidateFile(filePath, index, signal) {
|
|
|
111
111
|
return undefined;
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
|
+
async function validateFilesInParallel(filePaths, signal) {
|
|
115
|
+
const tasks = filePaths
|
|
116
|
+
.map((filePath, index) => ({ filePath, index }))
|
|
117
|
+
.filter((task) => task.filePath);
|
|
118
|
+
const { results } = await processInParallel(tasks, async (task) => tryValidateFile(task.filePath, task.index, signal), PARALLEL_CONCURRENCY, signal);
|
|
119
|
+
const validated = new Map();
|
|
120
|
+
for (const info of results) {
|
|
121
|
+
if (!info)
|
|
122
|
+
continue;
|
|
123
|
+
validated.set(info.index, info);
|
|
124
|
+
}
|
|
125
|
+
return validated;
|
|
126
|
+
}
|
|
114
127
|
async function collectFileBudget(filePaths, partialRead, maxTotalSize, maxSize, signal) {
|
|
115
128
|
const skippedBudget = new Set();
|
|
116
|
-
const validated =
|
|
129
|
+
const validated = await validateFilesInParallel(filePaths, signal);
|
|
117
130
|
const estimateSize = partialRead
|
|
118
131
|
? (stats) => estimatePartialSize(stats, maxSize)
|
|
119
132
|
: estimateFullSize;
|
|
@@ -122,10 +135,9 @@ async function collectFileBudget(filePaths, partialRead, maxTotalSize, maxSize,
|
|
|
122
135
|
const filePath = filePaths[index];
|
|
123
136
|
if (!filePath)
|
|
124
137
|
continue;
|
|
125
|
-
const info =
|
|
138
|
+
const info = validated.get(index);
|
|
126
139
|
if (!info)
|
|
127
140
|
continue;
|
|
128
|
-
validated.set(index, info);
|
|
129
141
|
const estimatedSize = estimateSize(info.stats);
|
|
130
142
|
if (totalSize + estimatedSize > maxTotalSize) {
|
|
131
143
|
skippedBudget.add(index);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-multiple-files.js","sourceRoot":"","sources":["../../../src/lib/file-operations/read-multiple-files.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"read-multiple-files.js","sourceRoot":"","sources":["../../../src/lib/file-operations/read-multiple-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,10 @@ interface SearchOptions {
|
|
|
18
18
|
}
|
|
19
19
|
export interface SearchContentOptions extends Partial<SearchOptions> {
|
|
20
20
|
signal?: AbortSignal;
|
|
21
|
+
onProgress?: (progress: {
|
|
22
|
+
total?: number;
|
|
23
|
+
current: number;
|
|
24
|
+
}) => void;
|
|
21
25
|
}
|
|
22
26
|
export interface MatcherOptions {
|
|
23
27
|
caseSensitive: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-content.d.ts","sourceRoot":"","sources":["../../../src/lib/file-operations/search-content.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AAUxC,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"search-content.d.ts","sourceRoot":"","sources":["../../../src/lib/file-operations/search-content.ts"],"names":[],"mappings":"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"}
|