@n0zer0d4y/vulcan-file-ops 1.2.0 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -0
- package/dist/tools/filesystem-tools.js +0 -4
- package/package.json +99 -99
package/CHANGELOG.md
CHANGED
|
@@ -2,11 +2,43 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
|
|
5
6
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
7
|
+
|
|
6
8
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
9
|
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## [1.2.2] - 2026-01-17
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- Upgraded `@modelcontextprotocol/sdk` to `^1.25.2`
|
|
17
|
+
- Applied safe dependency updates (patch/minor within existing major versions) including:
|
|
18
|
+
- `diff` to `^8.0.3`
|
|
19
|
+
- `html-to-pdfmake` to `^2.5.32`
|
|
20
|
+
- `jsdom` to `^27.4.0`
|
|
21
|
+
- `minimatch` to `^10.1.1`
|
|
22
|
+
- `pdf-parse` to `^2.4.5`
|
|
23
|
+
- `zod-to-json-schema` to `^3.25.1`
|
|
24
|
+
|
|
25
|
+
### Notes
|
|
26
|
+
|
|
27
|
+
- `npm audit fix --force` was intentionally not used, as it would introduce breaking changes (notably via a `ts-node` downgrade).
|
|
28
|
+
|
|
29
|
+
## [1.2.1] - 2025-12-07
|
|
30
|
+
|
|
31
|
+
### Changed
|
|
32
|
+
|
|
33
|
+
- Strengthened TypeScript types in `filesystem-tools` to eliminate implicit any usage in internal callbacks
|
|
34
|
+
- Added explicit string typing for directory exclude pattern matching
|
|
35
|
+
- Explicitly typed file operation inputs and indices in `file_operations` handling
|
|
36
|
+
- Clarified intermediate result typing for file operation workflows without altering runtime behavior
|
|
37
|
+
- Improved overall type clarity for directory listing and file operations, preparing the codebase for stricter TypeScript configurations
|
|
38
|
+
|
|
8
39
|
## [1.2.0] - 2025-12-07
|
|
9
40
|
|
|
41
|
+
|
|
10
42
|
### Added
|
|
11
43
|
|
|
12
44
|
- Automatic parent directory creation for write tools:
|
|
@@ -158,9 +158,6 @@ async function collectFileEntry(entryPath, dirent) {
|
|
|
158
158
|
};
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
|
-
/**
|
|
162
|
-
* Helper: Filter entries and collect metadata
|
|
163
|
-
*/
|
|
164
161
|
async function filterAndCollectEntries(rawEntries, basePath, args) {
|
|
165
162
|
let excludedByPatterns = 0;
|
|
166
163
|
let excludedByIgnoreRules = 0;
|
|
@@ -171,7 +168,6 @@ async function filterAndCollectEntries(rawEntries, basePath, args) {
|
|
|
171
168
|
excludedByIgnoreRules++;
|
|
172
169
|
continue;
|
|
173
170
|
}
|
|
174
|
-
// Check user exclude patterns
|
|
175
171
|
if (args.excludePatterns && args.excludePatterns.length > 0) {
|
|
176
172
|
const shouldExclude = args.excludePatterns.some((pattern) => {
|
|
177
173
|
return minimatch(dirent.name, pattern, { dot: true });
|
package/package.json
CHANGED
|
@@ -1,99 +1,99 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@n0zer0d4y/vulcan-file-ops",
|
|
3
|
-
"version": "1.2.
|
|
4
|
-
"mcpName": "io.github.n0zer0d4y/vulcan-file-ops",
|
|
5
|
-
"description": "MCP server for AI assistants: read, write, edit, and manage files securely on local filesystem.",
|
|
6
|
-
"license": "MIT",
|
|
7
|
-
"author": "Lloyd Barcatan",
|
|
8
|
-
"homepage": "https://github.com/n0zer0d4y/vulcan-file-ops",
|
|
9
|
-
"repository": {
|
|
10
|
-
"type": "git",
|
|
11
|
-
"url": "git+https://github.com/n0zer0d4y/vulcan-file-ops.git"
|
|
12
|
-
},
|
|
13
|
-
"bugs": {
|
|
14
|
-
"url": "https://github.com/n0zer0d4y/vulcan-file-ops/issues"
|
|
15
|
-
},
|
|
16
|
-
"keywords": [
|
|
17
|
-
"mcp",
|
|
18
|
-
"mcp-server",
|
|
19
|
-
"model-context-protocol",
|
|
20
|
-
"context-engineering",
|
|
21
|
-
"ai",
|
|
22
|
-
"ai-tools",
|
|
23
|
-
"claude",
|
|
24
|
-
"claude-desktop",
|
|
25
|
-
"filesystem",
|
|
26
|
-
"file-operations",
|
|
27
|
-
"file-management",
|
|
28
|
-
"read-files",
|
|
29
|
-
"write-files",
|
|
30
|
-
"edit-files",
|
|
31
|
-
"ai-assistant",
|
|
32
|
-
"llm",
|
|
33
|
-
"llm-tools",
|
|
34
|
-
"pdf",
|
|
35
|
-
"docx",
|
|
36
|
-
"document-parsing",
|
|
37
|
-
"code-editor",
|
|
38
|
-
"typescript",
|
|
39
|
-
"ai-assisted-coding"
|
|
40
|
-
],
|
|
41
|
-
"type": "module",
|
|
42
|
-
"bin": {
|
|
43
|
-
"vulcan-file-ops": "dist/cli.js"
|
|
44
|
-
},
|
|
45
|
-
"files": [
|
|
46
|
-
"dist/cli.js",
|
|
47
|
-
"dist/index.js",
|
|
48
|
-
"dist/server/index.js",
|
|
49
|
-
"dist/tools/*.js",
|
|
50
|
-
"dist/utils/*.js",
|
|
51
|
-
"dist/types/index.js",
|
|
52
|
-
"README.md",
|
|
53
|
-
"LICENSE",
|
|
54
|
-
"CHANGELOG.md"
|
|
55
|
-
],
|
|
56
|
-
"scripts": {
|
|
57
|
-
"build": "tsc && shx chmod +x dist/*.js",
|
|
58
|
-
"prepare": "npm run build",
|
|
59
|
-
"prepublishOnly": "npm test",
|
|
60
|
-
"watch": "tsc --watch",
|
|
61
|
-
"test": "jest --config=jest.config.cjs",
|
|
62
|
-
"test:coverage": "jest --config=jest.config.cjs --coverage",
|
|
63
|
-
"start": "node dist/index.js",
|
|
64
|
-
"lint:json": "node -e \"JSON.parse(require('fs').readFileSync('package.json'))\" && echo \"package.json is valid JSON\"",
|
|
65
|
-
"lint": "npm run lint:json"
|
|
66
|
-
},
|
|
67
|
-
"dependencies": {
|
|
68
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
69
|
-
"@turbodocx/html-to-docx": "^1.16.0",
|
|
70
|
-
"diff": "^8.0.
|
|
71
|
-
"docx": "^9.5.1",
|
|
72
|
-
"dotenv": "^17.2.3",
|
|
73
|
-
"glob": "^11.0.3",
|
|
74
|
-
"html-to-pdfmake": "^2.5.
|
|
75
|
-
"jsdom": "^27.0
|
|
76
|
-
"mammoth": "^1.11.0",
|
|
77
|
-
"minimatch": "^10.
|
|
78
|
-
"officeparser": "^5.2.1",
|
|
79
|
-
"pdf-lib": "^1.17.1",
|
|
80
|
-
"pdf-parse": "^2.
|
|
81
|
-
"pdfmake": "^0.2.20",
|
|
82
|
-
"zod-to-json-schema": "^3.
|
|
83
|
-
},
|
|
84
|
-
"devDependencies": {
|
|
85
|
-
"@jest/globals": "^30.2.0",
|
|
86
|
-
"@types/html-to-docx": "^1.8.0",
|
|
87
|
-
"@types/jest": "^30.0.0",
|
|
88
|
-
"@types/jsdom": "^27.0.0",
|
|
89
|
-
"@types/minimatch": "^5.1.2",
|
|
90
|
-
"@types/node": "^22",
|
|
91
|
-
"@types/pdf-parse": "^1.1.5",
|
|
92
|
-
"@types/pdfmake": "^0.2.12",
|
|
93
|
-
"jest": "^30.2.0",
|
|
94
|
-
"shx": "^0.3.4",
|
|
95
|
-
"ts-jest": "^29.4.5",
|
|
96
|
-
"ts-node": "^10.9.2",
|
|
97
|
-
"typescript": "^5.9.3"
|
|
98
|
-
}
|
|
99
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@n0zer0d4y/vulcan-file-ops",
|
|
3
|
+
"version": "1.2.2",
|
|
4
|
+
"mcpName": "io.github.n0zer0d4y/vulcan-file-ops",
|
|
5
|
+
"description": "MCP server for AI assistants: read, write, edit, and manage files securely on local filesystem.",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"author": "Lloyd Barcatan",
|
|
8
|
+
"homepage": "https://github.com/n0zer0d4y/vulcan-file-ops",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/n0zer0d4y/vulcan-file-ops.git"
|
|
12
|
+
},
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/n0zer0d4y/vulcan-file-ops/issues"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"mcp",
|
|
18
|
+
"mcp-server",
|
|
19
|
+
"model-context-protocol",
|
|
20
|
+
"context-engineering",
|
|
21
|
+
"ai",
|
|
22
|
+
"ai-tools",
|
|
23
|
+
"claude",
|
|
24
|
+
"claude-desktop",
|
|
25
|
+
"filesystem",
|
|
26
|
+
"file-operations",
|
|
27
|
+
"file-management",
|
|
28
|
+
"read-files",
|
|
29
|
+
"write-files",
|
|
30
|
+
"edit-files",
|
|
31
|
+
"ai-assistant",
|
|
32
|
+
"llm",
|
|
33
|
+
"llm-tools",
|
|
34
|
+
"pdf",
|
|
35
|
+
"docx",
|
|
36
|
+
"document-parsing",
|
|
37
|
+
"code-editor",
|
|
38
|
+
"typescript",
|
|
39
|
+
"ai-assisted-coding"
|
|
40
|
+
],
|
|
41
|
+
"type": "module",
|
|
42
|
+
"bin": {
|
|
43
|
+
"vulcan-file-ops": "dist/cli.js"
|
|
44
|
+
},
|
|
45
|
+
"files": [
|
|
46
|
+
"dist/cli.js",
|
|
47
|
+
"dist/index.js",
|
|
48
|
+
"dist/server/index.js",
|
|
49
|
+
"dist/tools/*.js",
|
|
50
|
+
"dist/utils/*.js",
|
|
51
|
+
"dist/types/index.js",
|
|
52
|
+
"README.md",
|
|
53
|
+
"LICENSE",
|
|
54
|
+
"CHANGELOG.md"
|
|
55
|
+
],
|
|
56
|
+
"scripts": {
|
|
57
|
+
"build": "tsc && shx chmod +x dist/*.js",
|
|
58
|
+
"prepare": "npm run build",
|
|
59
|
+
"prepublishOnly": "npm test",
|
|
60
|
+
"watch": "tsc --watch",
|
|
61
|
+
"test": "jest --config=jest.config.cjs",
|
|
62
|
+
"test:coverage": "jest --config=jest.config.cjs --coverage",
|
|
63
|
+
"start": "node dist/index.js",
|
|
64
|
+
"lint:json": "node -e \"JSON.parse(require('fs').readFileSync('package.json'))\" && echo \"package.json is valid JSON\"",
|
|
65
|
+
"lint": "npm run lint:json"
|
|
66
|
+
},
|
|
67
|
+
"dependencies": {
|
|
68
|
+
"@modelcontextprotocol/sdk": "^1.25.2",
|
|
69
|
+
"@turbodocx/html-to-docx": "^1.16.0",
|
|
70
|
+
"diff": "^8.0.3",
|
|
71
|
+
"docx": "^9.5.1",
|
|
72
|
+
"dotenv": "^17.2.3",
|
|
73
|
+
"glob": "^11.0.3",
|
|
74
|
+
"html-to-pdfmake": "^2.5.32",
|
|
75
|
+
"jsdom": "^27.4.0",
|
|
76
|
+
"mammoth": "^1.11.0",
|
|
77
|
+
"minimatch": "^10.1.1",
|
|
78
|
+
"officeparser": "^5.2.1",
|
|
79
|
+
"pdf-lib": "^1.17.1",
|
|
80
|
+
"pdf-parse": "^2.4.5",
|
|
81
|
+
"pdfmake": "^0.2.20",
|
|
82
|
+
"zod-to-json-schema": "^3.25.1"
|
|
83
|
+
},
|
|
84
|
+
"devDependencies": {
|
|
85
|
+
"@jest/globals": "^30.2.0",
|
|
86
|
+
"@types/html-to-docx": "^1.8.0",
|
|
87
|
+
"@types/jest": "^30.0.0",
|
|
88
|
+
"@types/jsdom": "^27.0.0",
|
|
89
|
+
"@types/minimatch": "^5.1.2",
|
|
90
|
+
"@types/node": "^22",
|
|
91
|
+
"@types/pdf-parse": "^1.1.5",
|
|
92
|
+
"@types/pdfmake": "^0.2.12",
|
|
93
|
+
"jest": "^30.2.0",
|
|
94
|
+
"shx": "^0.3.4",
|
|
95
|
+
"ts-jest": "^29.4.5",
|
|
96
|
+
"ts-node": "^10.9.2",
|
|
97
|
+
"typescript": "^5.9.3"
|
|
98
|
+
}
|
|
99
|
+
}
|