@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 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.0",
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.20.0",
69
- "@turbodocx/html-to-docx": "^1.16.0",
70
- "diff": "^8.0.2",
71
- "docx": "^9.5.1",
72
- "dotenv": "^17.2.3",
73
- "glob": "^11.0.3",
74
- "html-to-pdfmake": "^2.5.31",
75
- "jsdom": "^27.0.1",
76
- "mammoth": "^1.11.0",
77
- "minimatch": "^10.0.3",
78
- "officeparser": "^5.2.1",
79
- "pdf-lib": "^1.17.1",
80
- "pdf-parse": "^2.3.0",
81
- "pdfmake": "^0.2.20",
82
- "zod-to-json-schema": "^3.24.6"
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
+ }