svn-agent-mcp 1.1.0 → 1.1.3

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 (218) hide show
  1. package/CHANGELOG.md +91 -0
  2. package/README.md +110 -83
  3. package/SECURITY.md +22 -1
  4. package/THIRD_PARTY_CHECKSUMS.txt +74 -45
  5. package/THIRD_PARTY_NOTICES.md +39 -46
  6. package/bin/api-ms-win-core-console-l1-1-0.dll +0 -0
  7. package/bin/api-ms-win-core-console-l1-2-0.dll +0 -0
  8. package/bin/api-ms-win-core-datetime-l1-1-0.dll +0 -0
  9. package/bin/api-ms-win-core-debug-l1-1-0.dll +0 -0
  10. package/bin/api-ms-win-core-errorhandling-l1-1-0.dll +0 -0
  11. package/bin/api-ms-win-core-file-l1-1-0.dll +0 -0
  12. package/bin/api-ms-win-core-file-l1-2-0.dll +0 -0
  13. package/bin/api-ms-win-core-file-l2-1-0.dll +0 -0
  14. package/bin/api-ms-win-core-handle-l1-1-0.dll +0 -0
  15. package/bin/api-ms-win-core-heap-l1-1-0.dll +0 -0
  16. package/bin/api-ms-win-core-interlocked-l1-1-0.dll +0 -0
  17. package/bin/api-ms-win-core-libraryloader-l1-1-0.dll +0 -0
  18. package/bin/api-ms-win-core-localization-l1-2-0.dll +0 -0
  19. package/bin/api-ms-win-core-memory-l1-1-0.dll +0 -0
  20. package/bin/api-ms-win-core-namedpipe-l1-1-0.dll +0 -0
  21. package/bin/api-ms-win-core-processenvironment-l1-1-0.dll +0 -0
  22. package/bin/api-ms-win-core-processthreads-l1-1-0.dll +0 -0
  23. package/bin/api-ms-win-core-processthreads-l1-1-1.dll +0 -0
  24. package/bin/api-ms-win-core-profile-l1-1-0.dll +0 -0
  25. package/bin/api-ms-win-core-rtlsupport-l1-1-0.dll +0 -0
  26. package/bin/api-ms-win-core-string-l1-1-0.dll +0 -0
  27. package/bin/api-ms-win-core-synch-l1-1-0.dll +0 -0
  28. package/bin/api-ms-win-core-synch-l1-2-0.dll +0 -0
  29. package/bin/api-ms-win-core-sysinfo-l1-1-0.dll +0 -0
  30. package/bin/api-ms-win-core-timezone-l1-1-0.dll +0 -0
  31. package/bin/api-ms-win-core-util-l1-1-0.dll +0 -0
  32. package/bin/api-ms-win-core-xstate-l2-1-0.dll +0 -0
  33. package/bin/api-ms-win-crt-conio-l1-1-0.dll +0 -0
  34. package/bin/api-ms-win-crt-convert-l1-1-0.dll +0 -0
  35. package/bin/api-ms-win-crt-environment-l1-1-0.dll +0 -0
  36. package/bin/api-ms-win-crt-filesystem-l1-1-0.dll +0 -0
  37. package/bin/api-ms-win-crt-heap-l1-1-0.dll +0 -0
  38. package/bin/api-ms-win-crt-locale-l1-1-0.dll +0 -0
  39. package/bin/api-ms-win-crt-math-l1-1-0.dll +0 -0
  40. package/bin/api-ms-win-crt-multibyte-l1-1-0.dll +0 -0
  41. package/bin/api-ms-win-crt-private-l1-1-0.dll +0 -0
  42. package/bin/api-ms-win-crt-process-l1-1-0.dll +0 -0
  43. package/bin/api-ms-win-crt-runtime-l1-1-0.dll +0 -0
  44. package/bin/api-ms-win-crt-stdio-l1-1-0.dll +0 -0
  45. package/bin/api-ms-win-crt-string-l1-1-0.dll +0 -0
  46. package/bin/api-ms-win-crt-time-l1-1-0.dll +0 -0
  47. package/bin/api-ms-win-crt-utility-l1-1-0.dll +0 -0
  48. package/bin/concrt140.dll +0 -0
  49. package/bin/libapr-1.dll +0 -0
  50. package/bin/libaprutil-1.dll +0 -0
  51. package/bin/libsvn_client-1.dll +0 -0
  52. package/bin/libsvn_delta-1.dll +0 -0
  53. package/bin/libsvn_diff-1.dll +0 -0
  54. package/bin/libsvn_fs-1.dll +0 -0
  55. package/bin/libsvn_fs_fs-1.dll +0 -0
  56. package/bin/libsvn_fs_util-1.dll +0 -0
  57. package/bin/libsvn_fs_x-1.dll +0 -0
  58. package/bin/libsvn_ra-1.dll +0 -0
  59. package/bin/libsvn_repos-1.dll +0 -0
  60. package/bin/libsvn_subr-1.dll +0 -0
  61. package/bin/libsvn_wc-1.dll +0 -0
  62. package/bin/msvcp140.dll +0 -0
  63. package/bin/msvcp140_1.dll +0 -0
  64. package/bin/msvcp140_2.dll +0 -0
  65. package/bin/msvcp140_codecvt_ids.dll +0 -0
  66. package/bin/svn.exe +0 -0
  67. package/bin/svnadmin.exe +0 -0
  68. package/bin/svnbench.exe +0 -0
  69. package/bin/svndumpfilter.exe +0 -0
  70. package/bin/svnfsfs.exe +0 -0
  71. package/bin/svnlook.exe +0 -0
  72. package/bin/svnmucc.exe +0 -0
  73. package/bin/svnrdump.exe +0 -0
  74. package/bin/svnserve.exe +0 -0
  75. package/bin/svnsync.exe +0 -0
  76. package/bin/svnversion.exe +0 -0
  77. package/bin/ucrtbase.dll +0 -0
  78. package/bin/vcruntime140.dll +0 -0
  79. package/dist/envelope.d.ts.map +1 -1
  80. package/dist/envelope.js +5 -2
  81. package/dist/envelope.js.map +1 -1
  82. package/dist/guards.d.ts +2 -0
  83. package/dist/guards.d.ts.map +1 -1
  84. package/dist/guards.js +61 -17
  85. package/dist/guards.js.map +1 -1
  86. package/dist/index.d.ts +1 -1
  87. package/dist/index.d.ts.map +1 -1
  88. package/dist/index.js +28 -20
  89. package/dist/index.js.map +1 -1
  90. package/dist/parse/diffText.d.ts +1 -1
  91. package/dist/parse/diffText.d.ts.map +1 -1
  92. package/dist/parse/diffText.js +21 -16
  93. package/dist/parse/diffText.js.map +1 -1
  94. package/dist/parse/infoXml.d.ts.map +1 -1
  95. package/dist/parse/infoXml.js +3 -1
  96. package/dist/parse/infoXml.js.map +1 -1
  97. package/dist/parse/logXml.d.ts.map +1 -1
  98. package/dist/parse/logXml.js +3 -1
  99. package/dist/parse/logXml.js.map +1 -1
  100. package/dist/parse/statusXml.d.ts.map +1 -1
  101. package/dist/parse/statusXml.js +4 -2
  102. package/dist/parse/statusXml.js.map +1 -1
  103. package/dist/parse/xmlOptions.d.ts +9 -0
  104. package/dist/parse/xmlOptions.d.ts.map +1 -0
  105. package/dist/parse/xmlOptions.js +9 -0
  106. package/dist/parse/xmlOptions.js.map +1 -0
  107. package/dist/response.d.ts.map +1 -1
  108. package/dist/response.js +46 -16
  109. package/dist/response.js.map +1 -1
  110. package/dist/runner.d.ts +13 -0
  111. package/dist/runner.d.ts.map +1 -1
  112. package/dist/runner.js +101 -28
  113. package/dist/runner.js.map +1 -1
  114. package/dist/tools/composite.d.ts.map +1 -1
  115. package/dist/tools/composite.js +15 -12
  116. package/dist/tools/composite.js.map +1 -1
  117. package/dist/tools/diagnose.js +5 -5
  118. package/dist/tools/diagnose.js.map +1 -1
  119. package/dist/tools/mutating.d.ts +2 -0
  120. package/dist/tools/mutating.d.ts.map +1 -1
  121. package/dist/tools/mutating.js +74 -27
  122. package/dist/tools/mutating.js.map +1 -1
  123. package/dist/tools/readonly.d.ts.map +1 -1
  124. package/dist/tools/readonly.js +53 -35
  125. package/dist/tools/readonly.js.map +1 -1
  126. package/dist/tools/selfcheck.d.ts +14 -1
  127. package/dist/tools/selfcheck.d.ts.map +1 -1
  128. package/dist/tools/selfcheck.js +103 -31
  129. package/dist/tools/selfcheck.js.map +1 -1
  130. package/dist/types.d.ts +2 -0
  131. package/dist/types.d.ts.map +1 -1
  132. package/package.json +26 -5
  133. package/third_party_licenses/apache-subversion-windows/APR License.txt +297 -0
  134. package/third_party_licenses/apache-subversion-windows/APR Util License.txt +404 -0
  135. package/third_party_licenses/apache-subversion-windows/OpenSSL License.txt +177 -0
  136. package/third_party_licenses/apache-subversion-windows/Subversion License.txt +262 -0
  137. package/third_party_licenses/apache-subversion-windows/Subversion NOTICE.txt +34 -0
  138. package/third_party_licenses/apache-subversion-windows/ZLib License.txt +33 -0
  139. package/third_party_licenses/dos2unix/COPYING.txt +26 -0
  140. package/.editorconfig +0 -12
  141. package/.gitattributes +0 -7
  142. package/.github/workflows/ci.yml +0 -39
  143. package/.svn-mcp-policy.json +0 -9
  144. package/CONTRIBUTING.md +0 -49
  145. package/bin/SlikSvn-DB44-20-x64.dll +0 -0
  146. package/bin/SlikSvn-libapr-1.dll +0 -0
  147. package/bin/SlikSvn-libaprutil-1.dll +0 -0
  148. package/bin/SlikSvn-libcrypto-3-x64.dll +0 -0
  149. package/bin/SlikSvn-libintl.dll +0 -0
  150. package/bin/SlikSvn-libsasl21.dll +0 -0
  151. package/bin/SlikSvn-libssl-3-x64.dll +0 -0
  152. package/bin/SlikSvn-libsvn_client-1.dll +0 -0
  153. package/bin/SlikSvn-libsvn_delta-1.dll +0 -0
  154. package/bin/SlikSvn-libsvn_diff-1.dll +0 -0
  155. package/bin/SlikSvn-libsvn_fs-1.dll +0 -0
  156. package/bin/SlikSvn-libsvn_fs_base-1.dll +0 -0
  157. package/bin/SlikSvn-libsvn_fs_fs-1.dll +0 -0
  158. package/bin/SlikSvn-libsvn_fs_util-1.dll +0 -0
  159. package/bin/SlikSvn-libsvn_fs_x-1.dll +0 -0
  160. package/bin/SlikSvn-libsvn_ra-1.dll +0 -0
  161. package/bin/SlikSvn-libsvn_repos-1.dll +0 -0
  162. package/bin/SlikSvn-libsvn_subr-1.dll +0 -0
  163. package/bin/SlikSvn-libsvn_wc-1.dll +0 -0
  164. package/bin/System64/concrt140.dll +0 -0
  165. package/bin/System64/msvcp140.dll +0 -0
  166. package/bin/System64/msvcp140_1.dll +0 -0
  167. package/bin/System64/msvcp140_2.dll +0 -0
  168. package/bin/System64/msvcp140_atomic_wait.dll +0 -0
  169. package/bin/System64/msvcp140_codecvt_ids.dll +0 -0
  170. package/bin/System64/vccorlib140.dll +0 -0
  171. package/bin/System64/vcruntime140.dll +0 -0
  172. package/bin/System64/vcruntime140_1.dll +0 -0
  173. package/bin/engines/capi.dll +0 -0
  174. package/bin/libsvnjavahl-1.dll +0 -0
  175. package/bin/svn-populate-node-origins-index.exe +0 -0
  176. package/bin/svnauthz-validate.exe +0 -0
  177. package/bin/svnauthz.exe +0 -0
  178. package/docs/README.md +0 -12
  179. package/docs/SPEC.md +0 -1009
  180. package/docs/decisions/ADR-001-use-spec-v1-architecture.md +0 -25
  181. package/docs/decisions/ADR-002-use-capability-based-generic-svn-policy.md +0 -31
  182. package/docs/decisions/ADR-003-use-plug-and-play-global-registration.md +0 -39
  183. package/docs/decisions/ADR-004-borrow-diagnostics-not-external-mcp-surface.md +0 -39
  184. package/docs/decisions/ADR-005-use-bounded-public-response-modes.md +0 -29
  185. package/docs/svnrules.md +0 -84
  186. package/docs/toolrules.md +0 -34
  187. package/jest.config.cjs +0 -14
  188. package/scripts/benchmark-responses.mjs +0 -128
  189. package/scripts/clean.mjs +0 -27
  190. package/scripts/prepare-release.mjs +0 -84
  191. package/src/envelope.ts +0 -168
  192. package/src/eol.ts +0 -137
  193. package/src/guards.ts +0 -362
  194. package/src/index.ts +0 -438
  195. package/src/parse/commitText.ts +0 -9
  196. package/src/parse/diffText.ts +0 -83
  197. package/src/parse/infoXml.ts +0 -51
  198. package/src/parse/logXml.ts +0 -69
  199. package/src/parse/statusXml.ts +0 -89
  200. package/src/parse/updateText.ts +0 -76
  201. package/src/response.ts +0 -759
  202. package/src/runner.ts +0 -344
  203. package/src/tools/composite.ts +0 -293
  204. package/src/tools/diagnose.ts +0 -150
  205. package/src/tools/mutating.ts +0 -694
  206. package/src/tools/readonly.ts +0 -798
  207. package/src/tools/selfcheck.ts +0 -97
  208. package/src/types.ts +0 -77
  209. package/tests/README.md +0 -9
  210. package/tests/diff-redaction.test.ts +0 -209
  211. package/tests/entrypoint.test.ts +0 -49
  212. package/tests/guards-eol.test.ts +0 -170
  213. package/tests/integration-svn.test.ts +0 -718
  214. package/tests/parsers.test.ts +0 -137
  215. package/tests/response.test.ts +0 -716
  216. package/tests/runner.test.ts +0 -159
  217. package/tests/selfcheck.test.ts +0 -22
  218. package/tsconfig.json +0 -30
package/CHANGELOG.md CHANGED
@@ -2,6 +2,97 @@
2
2
 
3
3
  All notable changes to the SVN MCP are recorded here.
4
4
 
5
+ ## [Unreleased]
6
+
7
+ ## [1.1.3] - 2026-07-20
8
+
9
+ ### Security
10
+
11
+ - Replaced the SlikSVN payload and its outdated OpenSSL 3.0.16 DLLs with the July 2026
12
+ redistributable VisualSVN Apache Subversion 1.14.5 command-line package.
13
+ - Added complete upstream license and Subversion notice files for the bundled Windows runtime.
14
+ - Redacted secret-like URL values from parsed fields in standard and full MCP responses.
15
+ - Rejected repository policy files larger than 64 KiB and non-regular policy paths before reading
16
+ or parsing them.
17
+ - Made `.git`, `.hg`, `.svn`, and `.ssh` directory contents immutable never-commit paths.
18
+ - Bounded XML entity expansion in all SVN XML parsers and continued to reject external entities.
19
+ - Pinned GitHub Actions to immutable commit hashes.
20
+
21
+ ### Fixed
22
+
23
+ - Treated literal `@` characters safely according to each SVN subcommand's operand semantics,
24
+ including VisualSVN's distinct move and copy destination parsing.
25
+ - Refused symbolic links and Windows directory junctions in recursive import/add scans so SVN
26
+ cannot follow them into unscanned external content.
27
+ - Made batched EOL property writes skip already-correct paths while updating the remaining paths.
28
+ - Allowed `eol_fix_verified` dry runs in read-only mode because they do not modify the working copy.
29
+ - Redacted identity-like URL query values including usernames, email addresses, and client IDs.
30
+ - Reported unknown future SVN status values explicitly instead of synthesizing a potentially
31
+ misleading known status code.
32
+ - Required self-check package-root discovery to match the `svn-agent-mcp` package name.
33
+ - Replaced inline benchmark commit messages with temporary `-F` message files.
34
+ - Derived the MCP server version from `package.json` so release version bumps cannot leave the
35
+ running server on stale metadata.
36
+ - Prevented compact self-check from reporting an incomplete runtime layout as available.
37
+ - Removed the per-file fallback process fan-out when a batched EOL property query returns partial
38
+ XML alongside SVN's expected missing-property exit code.
39
+ - Failed EOL checks on genuine property-query errors or malformed XML rather than treating them as
40
+ paths without an EOL property.
41
+ - Built `dist/` automatically before npm packing and made the packed-install smoke test launch the
42
+ installed `svn-agent-mcp` command shim.
43
+
44
+ ### Performance
45
+
46
+ - Ran independent startup tool probes concurrently.
47
+
48
+ ## [1.1.2] - 2026-07-20
49
+
50
+ ### Fixed
51
+
52
+ - Prevented repository policy allow rules from overriding private-key, `.env*`, and `.npmrc`
53
+ never-commit guards.
54
+ - Bounded individual streamed diff lines and per-file summaries, with explicit truncation signals.
55
+ - Mapped buffered SVN output overflow to a scoped diagnostic instead of a generic failure.
56
+ - Added consistent `--` operand separators to SVN commands as defense in depth.
57
+ - Added finite public limits for path arrays, path strings, repository locations, messages, and cursors.
58
+ - Accepted npm 12 and newer without an engine warning while keeping npm 11.16.0 as the minimum.
59
+ - Required `externalDestAck:true` before exporting outside a working copy.
60
+ - Checked mixed revisions at the working-copy root during precommit and commit flows.
61
+ - Based EOL repair proof on complete per-file summaries and applied never-commit guards to EOL props.
62
+ - Skipped `.svn` administrative directories during recursive add/import guard scans.
63
+
64
+ ### Documentation
65
+
66
+ - Documented import/export filesystem reach, immutable credential guards, and output-size limits.
67
+
68
+ ## [1.1.1] - 2026-07-20
69
+
70
+ ### Added
71
+
72
+ - Added macOS and Linux support through native SVN and dos2unix tools resolved from `PATH`, while
73
+ retaining the bundled Windows toolchain.
74
+ - Added Windows, macOS, and Linux CI coverage.
75
+ - Added an isolated packed-npm installation smoke test on every CI platform.
76
+ - Added an MCP protocol handshake and tool-health check to the packed-install smoke test.
77
+ - Added a disposable-repository MCP client smoke test covering guarded read and write workflows.
78
+ - Standardized development and CI on Node.js 24.18.0 LTS with npm 11.16.0.
79
+ - Added strict, version-pinned npm install-script approvals so new dependency lifecycle scripts fail
80
+ CI until reviewed.
81
+
82
+ ### Fixed
83
+
84
+ - Fixed `svn_self_check` for global and local npm installations, where the valid runtime lives in
85
+ root `bin/` and `dist/` without a generated `current` junction or `releases/` directory.
86
+ - Kept unprepared source checkouts invalid while reporting the active runtime layout explicitly.
87
+ - Removed Windows-only `.exe` assumptions from explicit SVN and EOL tool overrides.
88
+ - Updated compatible dependencies within the Node 24 LTS line and corrected the release label in
89
+ the bundled binary checksum manifest.
90
+ - Protected export, import, and generic property operands from being parsed as SVN options.
91
+ - Redacted credentials and sensitive query values from compact mutation receipts.
92
+ - Returned working-copy-relative paths in compact diff summaries.
93
+ - Normalized compact relative paths to forward slashes across operating systems.
94
+ - Hardened self-check against running/package version drift and incomplete runtime payloads.
95
+
5
96
  ## [1.1.0] - 2026-07-20
6
97
 
7
98
  ### Added
package/README.md CHANGED
@@ -1,35 +1,50 @@
1
- # svn-agent MCP
2
-
3
- Strict SVN Model Context Protocol server for agent-safe status, diff, EOL diagnosis, precommit checks, and guarded SVN mutations.
4
-
5
- The implementation contract lives in `docs/SPEC.md`. The current release is `1.1.0`; each clone can prepare a self-contained local runtime bundle under `releases/v1.1.0`.
6
-
7
- Requirements: Windows, Node.js 20 or newer, Git, and access to the public npm registry. The bundled
8
- SlikSVN and dos2unix runtime payload is Windows-only.
9
-
10
- ## Quick Start
11
-
12
- ```powershell
13
- git clone https://github.com/shrishailrana-maker/svn-agent-mcp-v1.git
14
- cd svn-agent-mcp-v1
15
- npm install
16
- npm run prepare:local
17
- npm test
18
- ```
19
-
1
+ # svn-agent MCP
2
+
3
+ Strict SVN Model Context Protocol server for agent-safe status, diff, EOL diagnosis, precommit checks, and guarded SVN mutations.
4
+
5
+ The implementation contract lives in `docs/SPEC.md`. The current source release is `1.1.3`; each source clone can prepare a local runtime under `releases/v1.1.3`, while npm installations run directly from package-root `dist/`.
6
+
7
+ Requirements: Node.js 24.18.0 or newer within the Node 24 LTS line, npm 11.16.0 or newer, Git, and access to the public npm registry. Windows uses the
8
+ bundled VisualSVN Apache Subversion command-line package and dos2unix payload. On macOS and Linux, `svn`, `svnversion`, `svnadmin`,
9
+ `dos2unix`, and `unix2dos` must be available on `PATH`.
10
+
11
+ ## Quick Start
12
+
13
+ ```shell
14
+ git clone https://github.com/shrishailrana-maker/svn-agent-mcp-v1.git
15
+ cd svn-agent-mcp-v1
16
+ npm install
17
+ npm run prepare:local
18
+ npm test
19
+ ```
20
+
21
+ ## Agent-Managed Global Install
22
+
23
+ Give this prompt to Codex, Claude, or another local coding agent:
24
+
25
+ ```text
26
+ Install or update the SVN MCP globally with: npm install -g svn-agent-mcp@latest
27
+ Verify the package with: npm list -g svn-agent-mcp --depth=0
28
+ Resolve the executable with the platform command lookup: where.exe svn-agent-mcp on Windows, or command -v svn-agent-mcp on macOS/Linux.
29
+ On macOS/Linux, verify that svn, svnversion, svnadmin, dos2unix, and unix2dos are available on PATH. If any are missing, install Subversion and dos2unix with the host package manager.
30
+ Ensure the MCP client entry is named "svn" and uses command "svn-agent-mcp", never a source checkout, junction, current pointer, or dist path. Do not add --readonly.
31
+ Preserve existing SVN_AGENT_* environment overrides without printing sensitive values, then restart the MCP client.
32
+ After restarting, run svn_self_check and report the installed version, executable path, runtime layout, and MCP health. The expected latest release is 1.1.3; report the installed version instead of relying on a remembered version.
33
+ ```
34
+
20
35
  ## Agent Setup From GitHub
21
36
 
22
37
  Tell an agent:
23
38
 
24
39
  ```text
25
- Get the SVN MCP from https://github.com/shrishailrana-maker/svn-agent-mcp-v1, clone it to C:\MCP\svn-agent-mcp-v1, run npm install, run npm run prepare:local, then configure the MCP command as node C:\MCP\svn-agent-mcp-v1\current\dist\index.js.
40
+ Get the SVN MCP from https://github.com/shrishailrana-maker/svn-agent-mcp-v1, clone it to a stable absolute path, run npm install, run npm run prepare:local, then configure the MCP command as node <absolute-clone-path>/current/dist/index.js. Use the host platform's native path syntax.
26
41
  ```
27
42
 
28
43
  The setup commands are:
29
44
 
30
- ```powershell
31
- git clone https://github.com/shrishailrana-maker/svn-agent-mcp-v1.git C:\MCP\svn-agent-mcp-v1
32
- cd C:\MCP\svn-agent-mcp-v1
45
+ ```shell
46
+ git clone https://github.com/shrishailrana-maker/svn-agent-mcp-v1.git
47
+ cd svn-agent-mcp-v1
33
48
  npm install
34
49
  npm run prepare:local
35
50
  ```
@@ -37,7 +52,7 @@ npm run prepare:local
37
52
  Then configure the MCP client to run:
38
53
 
39
54
  ```text
40
- node C:\MCP\svn-agent-mcp-v1\current\dist\index.js
55
+ node <absolute-clone-path>/current/dist/index.js
41
56
  ```
42
57
 
43
58
  ### Claude Desktop Config Example
@@ -49,7 +64,7 @@ Add this under `mcpServers`:
49
64
  "mcpServers": {
50
65
  "svn": {
51
66
  "command": "node",
52
- "args": ["C:\\MCP\\svn-agent-mcp-v1\\current\\dist\\index.js"]
67
+ "args": ["<absolute-clone-path>/current/dist/index.js"]
53
68
  }
54
69
  }
55
70
  }
@@ -60,28 +75,33 @@ Add this under `mcpServers`:
60
75
  ```toml
61
76
  [mcp_servers.svn]
62
77
  command = "node"
63
- args = ["C:\\MCP\\svn-agent-mcp-v1\\current\\dist\\index.js"]
78
+ args = ["<absolute-clone-path>/current/dist/index.js"]
64
79
  startup_timeout_sec = 120
65
80
  ```
66
81
 
67
82
  Restart the MCP client after changing the config.
68
-
69
- ## Start The MCP
70
-
71
- For development from this working copy:
72
-
73
- ```powershell
74
- cd <path-to-svn-agent-mcp-v1>
75
- npm install
76
- npm run prepare:local
77
- node .\current\dist\index.js
78
- ```
79
-
80
- The source tree includes `bin/` with the full SlikSVN `bin` payload plus the full dos2unix `bin` payload. Releases copy that folder to `current/bin`, so normal Windows clients do not need to locate or install `svn`, `svnversion`, `svnadmin`, `dos2unix`, `unix2dos`, or their required DLLs. See `THIRD_PARTY_NOTICES.md` and `THIRD_PARTY_CHECKSUMS.txt` for bundled binary notices and SHA256 hashes.
81
-
83
+
84
+ ## Start The MCP
85
+
86
+ For development from this working copy:
87
+
88
+ ```shell
89
+ cd <path-to-svn-agent-mcp-v1>
90
+ npm install
91
+ npm run prepare:local
92
+ node ./current/dist/index.js
93
+ ```
94
+
95
+ The source tree includes `bin/` with the Windows VisualSVN Apache Subversion and dos2unix payload. Releases copy that
96
+ folder to `current/bin`, so Windows clients do not need separate tool installations. On macOS and
97
+ Linux, the server ignores those `.exe` files and resolves the native tools from `PATH`. See
98
+ `THIRD_PARTY_NOTICES.md`, `THIRD_PARTY_CHECKSUMS.txt`, and `third_party_licenses/` for bundled
99
+ binary notices, hashes, and complete license texts.
100
+
82
101
  ## Plug-And-Play Client Config
83
102
 
84
- Register the MCP once globally. Do not set `cwd` and do not set environment variables:
103
+ After `npm install -g svn-agent-mcp@latest`, register the MCP once. Do not set `cwd` or add
104
+ environment variables unless an existing installation already needs an explicit override:
85
105
 
86
106
  Generic client example:
87
107
 
@@ -89,18 +109,18 @@ Generic client example:
89
109
  {
90
110
  "mcpServers": {
91
111
  "svn": {
92
- "command": "node",
93
- "args": ["C:\\MCP\\svn-agent-mcp-v1\\current\\dist\\index.js"]
112
+ "command": "svn-agent-mcp"
94
113
  }
95
114
  }
96
115
  }
97
116
  ```
98
117
 
99
118
  The MCP is not tied to one SVN checkout. If a tool call supplies absolute paths and omits `cwd`, the server finds the nearest SVN working copy for those paths. Relative paths require explicit per-call `cwd`.
100
-
101
- Client registration is static: configure the MCP once, and working-copy discovery happens per tool call. The server does not rewrite client configuration at runtime.
102
-
103
- Environment variables are not required for normal use. `SVN_MCP_RESPONSE_MODE` selects `compact`
119
+
120
+ Client registration is static: configure the MCP once, and working-copy discovery happens per tool call. The server does not rewrite client configuration at runtime.
121
+
122
+ Environment variables are not required when the toolchain is bundled or available on `PATH`.
123
+ `SVN_MCP_RESPONSE_MODE` selects `compact`
104
124
  (default), `standard`, or `full` responses. Compact mode returns bounded structured results and
105
125
  short text receipts; use `responseMode: "full"` on a call when bounded raw SVN diagnostics are needed.
106
126
  Errors retain bounded stdout/stderr diagnostics in every mode. Other development/test escape
@@ -110,46 +130,53 @@ hatches are `SVN_AGENT_BIN_DIR`, `SVN_AGENT_SVN_PATH`, `SVN_AGENT_DOS2UNIX_DIR`,
110
130
  High-volume reads are bounded by default. Log messages and changed paths are capped and opt-in
111
131
  where appropriate. Diff collection defaults to 200 lines, compact excerpts are capped at 3,000
112
132
  characters, and large file/property/status/EOL collections expose explicit continuation cursors.
133
+ Buffered SVN commands fail with a scoped diagnostic above 20 MB. Streamed diff lines are capped at
134
+ 1 MiB each, and per-file diff summaries are capped at 20,000 entries; either truncation is reported.
135
+ Public path arrays accept at most 500 entries, and individual filesystem paths are capped at 4,096
136
+ characters.
113
137
  Compact mode changes response size only; path containment, mutation guards, EOL checks,
114
138
  mixed-revision checks, and commit verification run unchanged.
115
-
116
- ## Commands
117
-
118
- | Command | Description |
119
- | --- | --- |
120
- | `npm run dev` | Run the TypeScript entry point during development |
121
- | `npm run typecheck` | Check TypeScript without emitting build output |
122
- | `npm run build` | Compile `src/` into `dist/` |
139
+
140
+ ## Commands
141
+
142
+ | Command | Description |
143
+ | --- | --- |
144
+ | `npm run dev` | Run the TypeScript entry point during development |
145
+ | `npm run check:runtime` | Verify the supported Node 24 LTS and minimum npm version |
146
+ | `npm run typecheck` | Check TypeScript without emitting build output |
147
+ | `npm run build` | Compile `src/` into `dist/` |
123
148
  | `npm test` | Run the Jest test suite |
149
+ | `npm run test:package` | Pack, install, and self-check the real npm artifact in isolation |
124
150
  | `npm run benchmark:responses` | Compare compact MCP, full MCP, and equivalent raw SVN output sizes |
125
- | `npm run prepare:local` | Build and prepare the local `current` runtime |
126
- | `npm run release:prepare` | Copy `dist/` and `bin/` into `releases/v<version>` and repoint `current` |
127
- | `npm run clean` | Remove root `dist/` with the Node clean script |
128
-
129
- ## Operator Diagnostics
130
-
131
- Use `svn_self_check` to verify the MCP package, `current` release pointer, bundled binaries, and release scripts. Use `svn_diagnose` on a working-copy path when SVN itself is acting strange; it checks local status, remote status, HEAD info, latest log reachability, and returns actionable notes for authentication, network, lock, and working-copy database failures.
132
-
133
- For SVN property work, use `svn_propget` and guarded `svn_propset` instead of raw `svn propget`/`svn propset`. `svn_propset_eol_style` remains the safer shortcut for `svn:eol-style` normalization.
134
-
135
- ## Changelog
136
-
137
- Release history is maintained in `CHANGELOG.md`.
138
-
139
- ## Layout
140
-
141
- | Path | Purpose |
142
- | --- | --- |
143
- | `src/` | MCP server implementation |
144
- | `src/parse/` | SVN XML/text parsers |
145
- | `src/tools/` | MCP tool families |
146
- | `tests/` | Unit and temp-repository integration tests |
147
- | `.svn-mcp-policy.json` | Repo-local guard exceptions for this MCP's intentional runtime payloads |
148
- | `bin/` | Versioned Windows SVN and EOL converter runtime binaries |
149
- | `THIRD_PARTY_NOTICES.md` | Notices for bundled binary payloads |
150
- | `docs/` | Spec, local rules, and decisions |
151
- | `releases/` | Generated versioned runtime release payloads, ignored by Git |
152
-
151
+ | `npm run prepare:local` | Build and prepare the local `current` runtime |
152
+ | `npm run release:prepare` | Copy `dist/` and `bin/` into `releases/v<version>` and repoint `current` |
153
+ | `npm run clean` | Remove root `dist/` with the Node clean script |
154
+
155
+ ## Operator Diagnostics
156
+
157
+ Use `svn_self_check` to verify the MCP package, runtime layout, resolved native or bundled tools, and release scripts. Use `svn_diagnose` on a working-copy path when SVN itself is acting strange; it checks local status, remote status, HEAD info, latest log reachability, and returns actionable notes for authentication, network, lock, and working-copy database failures.
158
+
159
+ For SVN property work, use `svn_propget` and guarded `svn_propset` instead of raw `svn propget`/`svn propset`. `svn_propset_eol_style` remains the safer shortcut for `svn:eol-style` normalization.
160
+
161
+ ## Changelog
162
+
163
+ Release history is maintained in `CHANGELOG.md`.
164
+
165
+ ## Layout
166
+
167
+ | Path | Purpose |
168
+ | --- | --- |
169
+ | `src/` | MCP server implementation |
170
+ | `src/parse/` | SVN XML/text parsers |
171
+ | `src/tools/` | MCP tool families |
172
+ | `tests/` | Unit and temp-repository integration tests |
173
+ | `.svn-mcp-policy.json` | Repo-local guard exceptions for this MCP's intentional runtime payloads |
174
+ | `bin/` | Versioned Windows SVN and EOL converter runtime binaries |
175
+ | `third_party_licenses/` | License and notice texts shipped with the bundled runtime |
176
+ | `THIRD_PARTY_NOTICES.md` | Notices for bundled binary payloads |
177
+ | `docs/` | Spec, local rules, and decisions |
178
+ | `releases/` | Generated versioned runtime release payloads, ignored by Git |
179
+
153
180
  ## Usage Model
154
181
 
155
182
  Register one global MCP server and use explicit paths or per-call `cwd` values when working across SVN checkouts. The server does not assume a product name, project name, or fixed working copy.
package/SECURITY.md CHANGED
@@ -18,4 +18,25 @@ Useful reports include:
18
18
  - Reproduction steps or proof of concept
19
19
  - Whether the issue affects read-only, mutating, or release-packaging behavior
20
20
 
21
- Please do not publish exploit details until a fix or mitigation is available.
21
+ Please do not publish exploit details until a fix or mitigation is available.
22
+
23
+ ## Security Boundaries
24
+
25
+ - Repository policy `allow` rules may override generated-output guards for intentional runtime
26
+ payloads. They cannot permit credential-like files such as private keys, `.env*`, `.npmrc`,
27
+ `.ssh` content, or VCS administration directories.
28
+ - `svn_export` may write to an explicit destination outside a working copy only when the caller sets
29
+ `externalDestAck:true`, and `svn_import` may read an explicit source outside one. Both are refused
30
+ in read-only mode; import scans its source for never-commit paths and refuses symbolic links or
31
+ directory junctions before invoking SVN.
32
+ - Buffered SVN output is limited to 20 MB. Streamed diff lines are limited to 1 MiB, and diff file
33
+ summaries are limited to 20,000 entries. Truncation and over-limit failures are reported rather
34
+ than silently discarded.
35
+ - Response redaction covers credential-bearing URLs and common secret query parameters, but it is
36
+ not a substitute for keeping credentials out of versioned file content and commit messages.
37
+ - SVN and conversion processes inherit the host environment so native credential caches, proxy
38
+ settings, home directories, and configured SSH transports continue to work. Treat MCP process
39
+ environment variables as trusted operator configuration and do not place secrets in debug logs.
40
+ - The bundled Windows Subversion runtime is the redistributable VisualSVN command-line package.
41
+ Its source archive hash, individual file hashes, and upstream license texts are retained in the
42
+ repository. The package does not ship separate OpenSSL runtime DLLs.
@@ -1,52 +1,81 @@
1
1
  # SHA256 checksums for bundled third-party binaries
2
2
  #
3
- # Generated from the files under bin/ for release v1.0.0.
3
+ # Generated from the files under bin/ for release v1.1.3.
4
4
 
5
+ 213cdeffc15c734e42565c90512491113652de9e52694ae335131d0e24f91df7 bin/api-ms-win-core-console-l1-1-0.dll
6
+ 45a155e9b60f068fbc3ea8dd73552905afeae49270bea6bbccb4aad0aa696f2d bin/api-ms-win-core-console-l1-2-0.dll
7
+ 05baccf67fc6360068a9836a1a5ebf0e62697e92990665a6b73ce6c8a4a1b633 bin/api-ms-win-core-datetime-l1-1-0.dll
8
+ 1c2705257c272c7736ef10b81d65f28fc76b4d34412b8db72f5a23b530d847e8 bin/api-ms-win-core-debug-l1-1-0.dll
9
+ 8b3669326bb61770fb013e4d9a9e1722a1c6e4699be4eb61a620bdb64871cb78 bin/api-ms-win-core-errorhandling-l1-1-0.dll
10
+ 6ff3ebd6589cc824e00a9fc548cfcaf8221e046a07f9fb822900d288b9010a2d bin/api-ms-win-core-file-l1-1-0.dll
11
+ 62a4810420d997c7fdd9e86a42917a44b78fb367a9d3c0a204e44b3ff05de6d4 bin/api-ms-win-core-file-l1-2-0.dll
12
+ 6572965fd3909af60310db1e00c8820b2deef4864612e757d3babab896f59ed7 bin/api-ms-win-core-file-l2-1-0.dll
13
+ cd5c2a10518023d9238f526af78d2fda8265cd10db0edd97be29049ed7aa331c bin/api-ms-win-core-handle-l1-1-0.dll
14
+ ff80c5e44535b1b623a0320df677a6c6dd106f8a5e14cfee49cd3c9d47589646 bin/api-ms-win-core-heap-l1-1-0.dll
15
+ 4c1e732b43efec26d8cc467a5ffc13f062b3e3111cf369a8c94253711c77c330 bin/api-ms-win-core-interlocked-l1-1-0.dll
16
+ bbdffc7563c7e4eabce9fc8ff8a3160c7e4d75d5bd50786cc6621e131f668d40 bin/api-ms-win-core-libraryloader-l1-1-0.dll
17
+ 3dd2e16b6f135cdd45bce4065f6493540ebbaf2f7f1553085a2442ea2cf80a10 bin/api-ms-win-core-localization-l1-2-0.dll
18
+ 031b58e1621211ed8f41aed863e5e4c05c271d5fdf8abd51aa8e9d5eb3536511 bin/api-ms-win-core-memory-l1-1-0.dll
19
+ 1920e3afa821558badeaba7bda9b8fe4ed5a5e7bdbb9f85b31d92fc0452030f4 bin/api-ms-win-core-namedpipe-l1-1-0.dll
20
+ 5009391754032b93bc3f950b5e17d4ed7bfd37941170f97f65c596d9ecdf8e75 bin/api-ms-win-core-processenvironment-l1-1-0.dll
21
+ d7716ba9db032b306be6b48e93b379b4e0a9e763a12671441422507236abecb5 bin/api-ms-win-core-processthreads-l1-1-0.dll
22
+ 3a5d176b1f2c97bca7d4e7a52590b84b726796191ae892d38ad757fd595f414d bin/api-ms-win-core-processthreads-l1-1-1.dll
23
+ 49e587c970471a29bc49b8ace18510b4bd2b1a561484314cddddd10fbf5334da bin/api-ms-win-core-profile-l1-1-0.dll
24
+ 0d365a06fad099cfa98dc2ddf0ca16dabbc5319b99c29b49be25f3c9809da2d9 bin/api-ms-win-core-rtlsupport-l1-1-0.dll
25
+ 3c48d059b21126a3755e676758df54b6779c975d13cfd10990a3c29ccfd95571 bin/api-ms-win-core-string-l1-1-0.dll
26
+ c8925ee61e3135aca8b56498c0304bf0db981930d1e3d36ccae2f84791c86908 bin/api-ms-win-core-synch-l1-1-0.dll
27
+ 42367b6b7285bddc185c0badefe49e883646f574b1d7d832c226f2d1ce489c5b bin/api-ms-win-core-synch-l1-2-0.dll
28
+ 77b5019d54aa05ad70d0c1bec4a7ea5f3ba499b493c03ea198b27ceb8509d1af bin/api-ms-win-core-sysinfo-l1-1-0.dll
29
+ 4f77abb5c5014769f907a194fd2e43b3c977df1fb87f8c98dd15a7b950d1e092 bin/api-ms-win-core-timezone-l1-1-0.dll
30
+ 8c2d5915b436c2848cefac33ae47e5ba1e96eba0310b9836f069bb5c767a7d42 bin/api-ms-win-core-util-l1-1-0.dll
31
+ 8594d0eda4e4367bc3473032552c5d0f9931c283e6c4cb8d7c1e7d9f61e13506 bin/api-ms-win-core-xstate-l2-1-0.dll
32
+ 687be4f560dc3fb96bcda9332617a2d4b1d587411dd1c31ad088146ac0b24a76 bin/api-ms-win-crt-conio-l1-1-0.dll
33
+ 347ceeb26c97124fb49add1e773e24883e84bf9e23204291066855cd0baea173 bin/api-ms-win-crt-convert-l1-1-0.dll
34
+ cf601a7b883bb4fb87c28b4a1d9f823d2454b298cdbcb4da4f508db8bd1278ba bin/api-ms-win-crt-environment-l1-1-0.dll
35
+ 6cc23b34f63ba8861742c207f0020f7b89530d6cdd8469c567246a5879d62b82 bin/api-ms-win-crt-filesystem-l1-1-0.dll
36
+ a3f13fa93131a17e05ad0c4253c34b4db30d15eae2b43c9d7ec56fdc6709d371 bin/api-ms-win-crt-heap-l1-1-0.dll
37
+ 4615ec9effc0c27fc0cfd23ad9d87534cbe745998b7d318ae84ece5ea1338551 bin/api-ms-win-crt-locale-l1-1-0.dll
38
+ 190a2cc8c8e47fcd4d07b4e260e247fb3b5fb4661aa50f7b05158cd062d80762 bin/api-ms-win-crt-math-l1-1-0.dll
39
+ b05a5303c9c1059216787e878884b96474480ae5505dc60be97095f8cdf876d5 bin/api-ms-win-crt-multibyte-l1-1-0.dll
40
+ e5799a718cfa39b0b6ccdc88f3732cd5dd13c5e4a64de6cff4ed4eba20de3371 bin/api-ms-win-crt-private-l1-1-0.dll
41
+ 194f04516084785a9650eac58777ae7acebd90d5fabc3e21cebdf705cc0d34b6 bin/api-ms-win-crt-process-l1-1-0.dll
42
+ 078d2551f53ca55715f5c6a045de1260ce331b97fd6d047f8455e06d97ef88dc bin/api-ms-win-crt-runtime-l1-1-0.dll
43
+ e6bab87156c9e7ae14ce36a754eb6891891a22ddfff584b706538152017fbb0f bin/api-ms-win-crt-stdio-l1-1-0.dll
44
+ d343529d2a49cbb89d644deafce573b873ab45e0bf57e2d906b2f2a964d7bd9a bin/api-ms-win-crt-string-l1-1-0.dll
45
+ 704ad27cab084be488b5757395ad5129e28f57a7c6680976af0f096b3d536e66 bin/api-ms-win-crt-time-l1-1-0.dll
46
+ 340ced80fbcfca804925ff680da1929f68b95959fd7e4d0c9f67322bb5fe2155 bin/api-ms-win-crt-utility-l1-1-0.dll
47
+ 63e8fa14f386b8249503e689aa8e7c701138f2f4bc4d4d29ca128f8f10934545 bin/concrt140.dll
5
48
  95bbe265f53f94d60a99bd5660bcdd97de96045cddf508ae43482f91bfdb4755 bin/dos2unix.exe
6
- 0f369ba0c0807a79216ad641a63c16b8f3d5ed1248d9db5a2447082f4cd984cd bin/engines/capi.dll
7
- 9139acb63399e18ab72fca074a622e8ace829fee8db8682bb4bca7b34e8b380a bin/libsvnjavahl-1.dll
49
+ e8a31e25669d6b538c0b2263c46baeb201ac322f0fba4bf3ebb045bc239f174a bin/libapr-1.dll
50
+ 6ad15f040b98db34e7ba2545ea70329c13a07509a425d8b1205f26cdf034c3de bin/libaprutil-1.dll
51
+ ffe53b1fd0316d0f7cb2fd08a13d9d7d0bc135aba1dabc00872091960fda5aca bin/libsvn_client-1.dll
52
+ 9e3cbe1fd9c3eebe0c1161bb5754e9eb8a13e95b5b4ed5293d6d5905d4f92b7c bin/libsvn_delta-1.dll
53
+ 51bb3aacbc1f9ceffa7bf51c6ce97137328fe1e9dd1fd3dc660392375f7a6757 bin/libsvn_diff-1.dll
54
+ 383d816c941086065e7514217ef02191778974987b8124f885e6dc46625d9a19 bin/libsvn_fs_fs-1.dll
55
+ bcc347a52726e139d3cfec484503dd178859ad3d6d47771dda3dbbc61766ebfc bin/libsvn_fs_util-1.dll
56
+ 532e85d89591475f1c90c0b0092291a980d0df890321f0f7275f511636eeb8d5 bin/libsvn_fs_x-1.dll
57
+ 97b924fe3a2aff8198b8ce23379bd4a5708a2de3ce1f37a7aa33ef9b95bbd30e bin/libsvn_fs-1.dll
58
+ 79be0d047f75dbf39925d25c381c24473fd4d4cd36f43faeb5d1d0b42b269284 bin/libsvn_ra-1.dll
59
+ 0b74a283195f66ff0d03c94a91187eb228286c8f94d936138a7748d39536b7d3 bin/libsvn_repos-1.dll
60
+ 8c0ebcd5f569f1ae74067dfa4a275312ab768112c762a354f89c01b4e268ab52 bin/libsvn_subr-1.dll
61
+ 7aaaf26d79ba17201051e93ba93bd6a4db1ea4135ea20d683f49e8066a7e1b53 bin/libsvn_wc-1.dll
8
62
  95bbe265f53f94d60a99bd5660bcdd97de96045cddf508ae43482f91bfdb4755 bin/mac2unix.exe
9
- b129bfd13bd5670df96bf0397d177efa9ad5b9fa91621c97c90004812414becb bin/SlikSvn-DB44-20-x64.dll
10
- 9cbfed910b3fb430eb4b61291789bde267f4d3092a2208802c2767a3aac63949 bin/SlikSvn-libapr-1.dll
11
- 2bd71134611e9272da9c1ff6092b2165985bd532d76bcc4ad505eb3c8b0951c3 bin/SlikSvn-libaprutil-1.dll
12
- 716e5f8c8d8137c011d00a1f6523889c196818397bc52eea14aa78e422eea1c3 bin/SlikSvn-libcrypto-3-x64.dll
13
- 0c4157d7baeba7f86f77fc328e8a691532e6a4ec36a36da51b2373e67653624c bin/SlikSvn-libintl.dll
14
- 6e4dbf1efbb79809b251b7c52969c884d610a9543ccd1f16781e7e58480ab510 bin/SlikSvn-libsasl21.dll
15
- ab5efd7d65de64dcc6c4e2e95132b4121f172db9732896f3504579682884420a bin/SlikSvn-libssl-3-x64.dll
16
- 858250c5c29c55c65e07cccd9967352af0bc7c309b7395aee6c7f2a6e50d9de4 bin/SlikSvn-libsvn_client-1.dll
17
- 975effba24809ad1f147177185b0c9c63a40b1061470f4f7f834e55503a323fe bin/SlikSvn-libsvn_delta-1.dll
18
- c54cedfb3f1eadd6041f33c4c3cfba02db6159eccfc78a5ce050a7fb16f37a8b bin/SlikSvn-libsvn_diff-1.dll
19
- 372ebba0d4d5accb10740a7fe9663e3c8665dc5259dbbc9728004996c0ebfb68 bin/SlikSvn-libsvn_fs_base-1.dll
20
- 5d8c506a7eb80cb213b7ecd3561ca95fb76744fb58909fa89495978ccda84a90 bin/SlikSvn-libsvn_fs_fs-1.dll
21
- 9d4d5a58c9bbc5e69e9fe01a2d8178d4bc4c9028175fce2686c869866705bae7 bin/SlikSvn-libsvn_fs_util-1.dll
22
- 48b75956165dbe942490cede7892dab6bb52670acee9027f44d4a899031668e9 bin/SlikSvn-libsvn_fs_x-1.dll
23
- e634ee8a101ba346fb247a6372a991686a687061b87c09624d3992efec17ef77 bin/SlikSvn-libsvn_fs-1.dll
24
- a9ffe2294a096e67b3d0d2efc4863620ad22fe85f531259105ca5c2a733af8da bin/SlikSvn-libsvn_ra-1.dll
25
- 58a5785830ded90a25dc5adb31762ac7517024e508849b7d8aa8b3e99fb2e02a bin/SlikSvn-libsvn_repos-1.dll
26
- 8110c65db3b6aedcd7493a20d0c738a1c3bfb53f14c184d06629228606a253b3 bin/SlikSvn-libsvn_subr-1.dll
27
- 2e06518de783feb649b58bc9c133f06ee44da36881e0d875f371ef4c800461ff bin/SlikSvn-libsvn_wc-1.dll
28
- f38a7ca7b76928629041a384fddc0848adfa5afb8df1bb98b38a4202561790df bin/svn-populate-node-origins-index.exe
29
- 916151f9bb570efe36000cfab907c6737f83e7c82b915044b48b2d616dbe437a bin/svn.exe
30
- 4a3505693ebc84aaa873c13b78cdea450abf83ec6d4912987c043b925e43756b bin/svnadmin.exe
31
- 26c66fd3f576c158102df4039a67c9e7f07e6e2ff47a1a107a28a23efe943082 bin/svnauthz-validate.exe
32
- 385ed3e415755e2fb8e4950ced1f9e14d5970057b97e4bbcde15f3e11153c5b5 bin/svnauthz.exe
33
- d3aecf83ec9fd28c05de7fcedd0570fda2ee7cce33fd0f060ee86cf2933f69db bin/svnbench.exe
34
- c3142577dae6ee2fbb97a9bc0f0cc550574dc61960c5222d7a0567cd95a01fc8 bin/svndumpfilter.exe
35
- 1f23f8cb3b6b601edf1af6ad20923aa1ce3ee0b653e50083f250d2ce289eb663 bin/svnfsfs.exe
36
- cbf19f684a206816bc7b51e01764b946ffcb4df6e54904c1dea8ff59b487faed bin/svnlook.exe
37
- ee7564335c8400393e894d8eab697dcd85c53e96ac4cf4e14a2e85c2e1aa997e bin/svnmucc.exe
38
- 0500e301dbc811a230fa95a0680241595ebedb302f6c456adb03d6945c060244 bin/svnrdump.exe
39
- 19a6eefde4c0aa6634e17dc591f4b5d4e9e051831268a65fc78538e8455fc1e5 bin/svnserve.exe
40
- 414cd24d79f4b6a9c045e951af4376d9bc17d473efbf690daefa8977d58299db bin/svnsync.exe
41
- 1a17ddd90872494fafb37118c7e8a5bcd49d8198f763590c46ec2a7b73143c25 bin/svnversion.exe
42
- 50d513a4e954b157b773f3419ef736c41529e782c3dc5bf2894d3be905b25183 bin/System64/concrt140.dll
43
- 2c03cf78553689ca0523a3ef7c3161939b8f4a2fe246d9e90efa9cfef95c59a7 bin/System64/msvcp140_1.dll
44
- b583a041271b247c61676396640e7e455388fda580d13a35c1cca592ee4c8080 bin/System64/msvcp140_2.dll
45
- 5d547fd143b5d399f9fe69fe759543e69a140e3a999aae3cde361e7912a0e5e4 bin/System64/msvcp140_atomic_wait.dll
46
- e763bd3f595d7869190b799cdb23eff7951c6ed224492c40ff9d7b2f7f843050 bin/System64/msvcp140_codecvt_ids.dll
47
- 256492fbbcf3dc63987318f83e5f49eaacdbb6a9a5be54e403f0ddb437582881 bin/System64/msvcp140.dll
48
- 64cc19775dd40aee09ca8b35326a113892b0f251d3e7ea03b0ca7e3045464e60 bin/System64/vccorlib140.dll
49
- 0d719fbe25194e3faa037bd736e07ec9184ab68e521ebbd72c2b13aed89b47a9 bin/System64/vcruntime140_1.dll
50
- c51c64dfb7c445ecf0001f69c27e13299ddcfba0780efa72b866a7487b7491c7 bin/System64/vcruntime140.dll
63
+ 581876dda93a6c91d231149a4c1ae59946a44ea03f61d864fcd2ecda1b0b7fd8 bin/msvcp140_1.dll
64
+ 1c95f7db69e732b995122b12502387867c8c13dd9574f8b0e5a12d10c2da4930 bin/msvcp140_2.dll
65
+ f8a381e45f6f3dcab092b5e256c8304906b3c523dc721bcc126dd899167e0ba6 bin/msvcp140_codecvt_ids.dll
66
+ faaa4870bf745444022f409bd494095b7b3796637cf9994ad9faf7a43f393b88 bin/msvcp140.dll
67
+ 514bbd1a03109aba979b9ecb7fad46a43e3f29da6741adb827d36cabf0690b6d bin/svn.exe
68
+ 553f415884b3868b0054d9050bd47892762e25f2b78a4570d61ae7f139b05308 bin/svnadmin.exe
69
+ 7b35859f7e653a02c3e11a0ee126d7c27c4380ad4467301554f00677a0d85587 bin/svnbench.exe
70
+ 59791853f1151233ad774ef1814bffaefbe5b72fe0dfb52360869bd28daac541 bin/svndumpfilter.exe
71
+ 646ef34bdabd0c54bb178a1a1afe4eaf98b7630201f35ddb6e5e101c8d41112c bin/svnfsfs.exe
72
+ 966f4d55f12b3a883473e51887b34d29af732ab34a4e464900d9cb82072bac6f bin/svnlook.exe
73
+ 0ccb25d53a8a9fd8dfa6b9e167feae5e362d85fb9a0e037e42288b5cddb37d54 bin/svnmucc.exe
74
+ 56a8c32770f6cd11ed98c3e917dee2d0ccef7b4922588f54fbd813c55b67dc8d bin/svnrdump.exe
75
+ 1112ff169002e5fda8c2def2596807fdd4d47a6f4f40d2641e93453ed1d9cd66 bin/svnserve.exe
76
+ 9de006ddcbb5355ae50dc967ab41a89cf22d8e17aab0094cf50b22ac9e042bb2 bin/svnsync.exe
77
+ 01cc886d6ecb93d60a8acf97d681d01a01a0600c3ec8c2a4e3471c112261069f bin/svnversion.exe
78
+ 10f8f24aa678db8e38e6917748c52bbcd219161b9a07286d6f8093ab1d0318fa bin/ucrtbase.dll
51
79
  192e3735de62e8488a474b63087544879d8c37522a76c79fb717b250082137d6 bin/unix2dos.exe
52
80
  192e3735de62e8488a474b63087544879d8c37522a76c79fb717b250082137d6 bin/unix2mac.exe
81
+ a088131e8eb4e2178789af49b646ab463cf9a1f48da51698448206df21db5c95 bin/vcruntime140.dll
@@ -1,46 +1,39 @@
1
- # Third-Party Notices
2
-
3
- This project includes a bundled Windows runtime payload in `bin/` so MCP clients can run without
4
- end-user SVN or EOL-converter installation. The project source is licensed under Apache-2.0; the
5
- bundled third-party binaries remain under their upstream licenses.
6
-
7
- ## SlikSVN / Apache Subversion
8
-
9
- - Files: `bin/svn*.exe`, `bin/svnauthz*.exe`, `bin/SlikSvn-*.dll`, `bin/libsvn*.dll`,
10
- `bin/engines/**`, `bin/System64/**`
11
- - Bundled version observed by `bin/svn.exe --version --quiet`: `1.14.5-SlikSvn`
12
- - Upstream: https://sliksvn.com/ and https://subversion.apache.org/
13
- - License: Apache License, Version 2.0
14
-
15
- SlikSVN packages Apache Subversion command-line tools for Windows. Apache Subversion is an Apache
16
- Software Foundation project licensed under Apache-2.0. Keep upstream license and notice obligations
17
- in mind when redistributing the binary payload.
18
-
19
- ### OpenSSL runtime DLLs included by SlikSVN
20
-
21
- - Files: `bin/SlikSvn-libssl-3-x64.dll`, `bin/SlikSvn-libcrypto-3-x64.dll`,
22
- `bin/engines/capi.dll`
23
- - Observed DLL product version: `3.0.16`
24
- - Upstream: https://openssl-library.org/
25
- - License: Apache License, Version 2.0
26
-
27
- ### Microsoft Visual C++ runtime support files included by SlikSVN
28
-
29
- - Files: `bin/System64/*.dll`
30
- - These files are copied unmodified from the SlikSVN Windows installer payload.
31
- - Microsoft redistributable runtime license terms apply to these files.
32
-
33
- ## dos2unix / unix2dos
34
-
35
- - Files: `bin/dos2unix.exe`, `bin/unix2dos.exe`, `bin/mac2unix.exe`, `bin/unix2mac.exe`,
36
- as shipped by the upstream Windows 64-bit package
37
- - Bundled version observed by `bin/dos2unix.exe --version`: `7.5.6`
38
- - Upstream: https://dos2unix.sourceforge.io/ and https://waterlander.net/dos2unix/
39
- - License: FreeBSD-style license, GPL-compatible
40
-
41
- dos2unix is maintained by Erwin Waterlander. The upstream project publishes its distribution
42
- license as `COPYING.txt`; consult the upstream source distribution for the complete text.
43
-
44
- ## Binary checksums
45
-
46
- SHA256 checksums for the bundled files are recorded in `THIRD_PARTY_CHECKSUMS.txt`.
1
+ # Third-Party Notices
2
+
3
+ This project includes a bundled Windows runtime payload in `bin/` so MCP clients can run without
4
+ end-user SVN or EOL-converter installation. The project source is licensed under Apache-2.0; the
5
+ bundled third-party binaries remain under their upstream licenses.
6
+
7
+ ## VisualSVN Apache Subversion Command-Line Package
8
+
9
+ - Files: `bin/svn*.exe`, `bin/libsvn*.dll`, `bin/libapr*.dll`, Microsoft runtime support DLLs,
10
+ and related dependencies from the upstream archive
11
+ - Bundled SVN version: `1.14.5` (`r1922182`), compiled June 26, 2026
12
+ - Distribution build: `Apache-Subversion-1.14.5-4.zip`, published July 6, 2026
13
+ - Executable architecture: Windows x86
14
+ - Distribution archive SHA256: `1801DC76910BF196948EAF4B4A9A8E0178E39DA6A5339C11413B5E6DCB32E39D`
15
+ - Distributor: https://www.visualsvn.com/downloads/
16
+ - Upstream: https://subversion.apache.org/
17
+ - License: Apache License, Version 2.0, with separately licensed subcomponents
18
+
19
+ VisualSVN describes this command-line-only package as redistributable. The archive's complete APR,
20
+ APR Util, OpenSSL, Subversion, and Zlib license files are reproduced under
21
+ `third_party_licenses/apache-subversion-windows/`. The Apache Subversion 1.14.5 `NOTICE` file is
22
+ included there as well. The package contains no separate OpenSSL runtime DLLs.
23
+
24
+ Microsoft Visual C++ runtime support files in `bin/` are copied unmodified from the VisualSVN
25
+ archive. Microsoft redistributable runtime license terms apply to those files.
26
+
27
+ ## dos2unix / unix2dos
28
+
29
+ - Files: `bin/dos2unix.exe`, `bin/unix2dos.exe`, `bin/mac2unix.exe`, and `bin/unix2mac.exe`
30
+ - Bundled version: `7.5.6` (May 28, 2026)
31
+ - Upstream: https://dos2unix.sourceforge.io/ and https://waterlander.net/dos2unix/
32
+ - License: FreeBSD-style license, GPL-compatible
33
+
34
+ dos2unix is maintained by Erwin Waterlander. Its complete distribution license is reproduced at
35
+ `third_party_licenses/dos2unix/COPYING.txt`.
36
+
37
+ ## Binary Checksums
38
+
39
+ SHA256 checksums for every bundled file are recorded in `THIRD_PARTY_CHECKSUMS.txt`.