svn-agent-mcp 1.8.3 → 1.9.0
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/README.md +25 -9
- package/THIRD_PARTY_CHECKSUMS.txt +4 -4
- package/THIRD_PARTY_NOTICES.md +4 -2
- package/bin/dos2unix.exe +0 -0
- package/bin/mac2unix.exe +0 -0
- package/bin/unix2dos.exe +0 -0
- package/bin/unix2mac.exe +0 -0
- package/dist/capabilities.d.ts +17 -0
- package/dist/capabilities.d.ts.map +1 -0
- package/dist/capabilities.js +24 -0
- package/dist/capabilities.js.map +1 -0
- package/dist/eol.d.ts.map +1 -1
- package/dist/eol.js +50 -11
- package/dist/eol.js.map +1 -1
- package/dist/help.d.ts +6 -0
- package/dist/help.d.ts.map +1 -0
- package/dist/help.js +191 -0
- package/dist/help.js.map +1 -0
- package/dist/index.d.ts +3 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +71 -39
- package/dist/index.js.map +1 -1
- package/dist/response.js +77 -24
- package/dist/response.js.map +1 -1
- package/dist/runner.js +7 -2
- package/dist/runner.js.map +1 -1
- package/dist/tools/composite.d.ts.map +1 -1
- package/dist/tools/composite.js +72 -8
- package/dist/tools/composite.js.map +1 -1
- package/dist/tools/mutating.d.ts +2 -1
- package/dist/tools/mutating.d.ts.map +1 -1
- package/dist/tools/mutating.js +14 -2
- package/dist/tools/mutating.js.map +1 -1
- package/dist/types.d.ts +6 -0
- package/dist/types.d.ts.map +1 -1
- package/docs/MCP_API.json +237 -31
- package/docs/SPEC.md +34 -6
- package/package.json +9 -9
- package/third_party_licenses/dos2unix/COPYING.txt +30 -26
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,38 @@ All notable changes to the SVN MCP are recorded here.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [1.9.0] - 2026-09-11
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- EOL checks identify the first control byte with its hexadecimal value, byte offset, line, and
|
|
12
|
+
1-based byte column. NUL remains a binary refusal; other controls are advisory.
|
|
13
|
+
- Precommit receipts expose the stored diff operation ID, expiry, and continuation cursor so a
|
|
14
|
+
truncated diff can be paged through `svn_diff` without rerunning native SVN.
|
|
15
|
+
- Commit receipts now separate `trackedClean` from `untrackedCount`; untracked scratch files no
|
|
16
|
+
longer produce a misleading tracked-changes warning.
|
|
17
|
+
- Added `svn_help(tool)`, available in every profile, to load one tool's extended rules on demand. EOL help
|
|
18
|
+
leads with automatic added-file repair and includes defaults, refusal fixes, and examples. Core
|
|
19
|
+
descriptions point agents to help, and truncated precommit results include a copy-ready diff action.
|
|
20
|
+
- The full profile now advertises every runtime-supported advanced input, including paging,
|
|
21
|
+
filtering, evidence-token, and operation-ID controls. Focused profiles remain trimmed and
|
|
22
|
+
`svn_help` generates their advanced-input lists from the same capability registry.
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
|
|
26
|
+
- Unix SVN subprocesses now use a stable UTF-8 English locale, preserving Unicode paths on Linux
|
|
27
|
+
and macOS while keeping parseable output. Cross-platform tests no longer use Windows-only paths.
|
|
28
|
+
- Refreshed the bundled 64-bit dos2unix/unix2dos tools from 7.5.6 to 7.5.7 and updated their
|
|
29
|
+
license and SHA256 records. VisualSVN's current command-line package remains SVN 1.14.5, so the
|
|
30
|
+
SVN runtime was verified but not replaced.
|
|
31
|
+
- Non-NUL C0/DEL control bytes are advisory text diagnostics rather than binary classification;
|
|
32
|
+
NUL remains the binary refusal trigger used before this release.
|
|
33
|
+
- Commit summaries distinguish tracked residue from untracked scratch paths. Consumers should read
|
|
34
|
+
`trackedClean` and `untrackedCount`; the legacy strict `workingCopyClean` field remains available.
|
|
35
|
+
- The full/docs/review tool counts are now 30/9/12 because `svn_help` is available in every profile.
|
|
36
|
+
- EOL converter failures now direct agents to `svn_self_check` and document the
|
|
37
|
+
`SVN_AGENT_DOS2UNIX_DIR` -> bundled runtime -> `PATH` resolution order.
|
|
38
|
+
|
|
7
39
|
## [1.8.3] - 2026-09-07
|
|
8
40
|
|
|
9
41
|
### Fixed
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Strict SVN Model Context Protocol server for agent-safe status, diff, EOL diagnosis, precommit checks, and guarded SVN mutations.
|
|
4
4
|
|
|
5
|
-
The implementation contract lives in `docs/SPEC.md`. The current source release is `1.
|
|
5
|
+
The implementation contract lives in `docs/SPEC.md`. The current source release is `1.9.0`; each source clone can prepare a local runtime under `releases/v1.9.0`, while npm installations run directly from package-root `dist/`.
|
|
6
6
|
|
|
7
7
|
Requirements: Node.js 24.18.0 or newer, npm 11.16.0 or newer, Git, and access to the public npm registry. Windows uses the
|
|
8
8
|
bundled VisualSVN Apache Subversion command-line package and dos2unix payload. On macOS and Linux, `svn`, `svnversion`, `svnadmin`,
|
|
@@ -154,9 +154,9 @@ The completed historical project backlog was migrated as issues
|
|
|
154
154
|
vulnerabilities through the private process in `SECURITY.md`, not a public issue.
|
|
155
155
|
|
|
156
156
|
Environment variables are not required when the toolchain is bundled or available on `PATH`.
|
|
157
|
-
`SVN_MCP_TOOL_PROFILE` controls the advertised schema surface: `full` (default) exposes
|
|
158
|
-
canonical tools, `docs` exposes the
|
|
159
|
-
cat, and blame for
|
|
157
|
+
`SVN_MCP_TOOL_PROFILE` controls the advertised schema surface: `full` (default) exposes 30
|
|
158
|
+
canonical tools, `docs` exposes the 9-tool edit/commit workflow, and `review` adds bounded diff,
|
|
159
|
+
cat, and blame for 12 tools total. Focused profiles reduce tool-definition context without changing
|
|
160
160
|
any guard. A call to a hidden tool returns a typed `TOOL_PROFILE` refusal; use `full` when the
|
|
161
161
|
workflow needs another operation.
|
|
162
162
|
`SVN_MCP_RESPONSE_MODE` selects `compact` (default), `receipt`, `structured-only`, `standard`, or
|
|
@@ -265,10 +265,10 @@ If bounded SVN metadata cannot classify every target, the result uses `scopeKind
|
|
|
265
265
|
not authoritative for an unknown scope.
|
|
266
266
|
|
|
267
267
|
`svn_commit` keeps `postStatusClean` for compatibility, but it applies only to the committed path
|
|
268
|
-
scope. Read `postStatusScope:"committed-paths"` and `postStatusPaths` to identify that scope.
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
268
|
+
scope. Read `postStatusScope:"committed-paths"` and `postStatusPaths` to identify that scope.
|
|
269
|
+
`trackedClean` reports whether tracked changes remain, while `untrackedCount` reports unknown
|
|
270
|
+
scratch paths separately. The legacy `workingCopyClean` field remains the strict whole-working-copy
|
|
271
|
+
check. Do not infer whole-working-copy cleanliness from `postStatusClean`.
|
|
272
272
|
|
|
273
273
|
`svn_commit operation:"prepare"` performs a pinned update of explicit intended paths with conflicts
|
|
274
274
|
postponed, checks an optional expected remote HEAD, refuses any path touched outside that scope, and
|
|
@@ -285,7 +285,8 @@ paths, and UUID `operationId`. Without a token it captures the current explicit-
|
|
|
285
285
|
update, keeping the common workflow to one call. Its normal response is a compact receipt. Use
|
|
286
286
|
`operation:"detail"` with the returned `detailOperationId` and cursor to
|
|
287
287
|
page bounded stage evidence only when an audit needs it. This adds no advertised tool schema; the
|
|
288
|
-
full profile advertises
|
|
288
|
+
full profile advertises 30 canonical tools. The focused `docs` and `review` profiles include
|
|
289
|
+
`svn_help` so agents can load one tool's extended rules on demand.
|
|
289
290
|
|
|
290
291
|
Scheduled-added files are not valid `svn update` operands, so safe mode omits only those files from
|
|
291
292
|
the pinned update while still verifying the expected repository HEAD. They remain in the exact
|
|
@@ -396,6 +397,21 @@ precommit diff: total added/removed lines and up to 25 paths / 4 KiB of file ent
|
|
|
396
397
|
scopes report `filesTruncated:true`; full output includes all available entries. Statistics
|
|
397
398
|
describe the checked content diff, ignoring EOL, and `complete:false` means counts are partial.
|
|
398
399
|
|
|
400
|
+
Precommit returns a copy-ready `svn_diff` `nextAction` when captured diff evidence has another
|
|
401
|
+
page. Permanently capped evidence reports `diffEvidenceCapped:true` without a retry loop. NUL keeps
|
|
402
|
+
the historical binary refusal. Other C0/DEL controls remain text and are reported as advisories
|
|
403
|
+
with hexadecimal value, byte offset, line, and 1-based byte column.
|
|
404
|
+
|
|
405
|
+
Agents do not need to discover these workflows in this README first. The advertised tool
|
|
406
|
+
descriptions state the normal defaults, and exceptional results provide a copy-ready `nextAction`.
|
|
407
|
+
Advanced fields remain out of focused schemas where possible so discovery does not increase the
|
|
408
|
+
token cost of every session. See
|
|
409
|
+
[`ADR-015`](docs/decisions/ADR-015-keep-agent-workflows-discoverable-within-schema-budgets.md).
|
|
410
|
+
The `full` profile advertises every runtime-supported advanced input. Focused profiles keep those
|
|
411
|
+
fields out of their always-loaded schemas, while `svn_help` lists the exact names from the same
|
|
412
|
+
capability registry. EOL help also identifies the real `dos2unix`/`unix2dos` converters and the
|
|
413
|
+
`SVN_AGENT_DOS2UNIX_DIR`, bundled-runtime, then `PATH` lookup order.
|
|
414
|
+
|
|
399
415
|
## Commands
|
|
400
416
|
|
|
401
417
|
| Command | Description |
|
|
@@ -45,7 +45,7 @@ d343529d2a49cbb89d644deafce573b873ab45e0bf57e2d906b2f2a964d7bd9a bin/api-ms-win
|
|
|
45
45
|
704ad27cab084be488b5757395ad5129e28f57a7c6680976af0f096b3d536e66 bin/api-ms-win-crt-time-l1-1-0.dll
|
|
46
46
|
340ced80fbcfca804925ff680da1929f68b95959fd7e4d0c9f67322bb5fe2155 bin/api-ms-win-crt-utility-l1-1-0.dll
|
|
47
47
|
63e8fa14f386b8249503e689aa8e7c701138f2f4bc4d4d29ca128f8f10934545 bin/concrt140.dll
|
|
48
|
-
|
|
48
|
+
98ce6d01bb0fc3b7c2b81830377e1f1f94b0ab6bb4f0d6669786687ac43fb92b bin/dos2unix.exe
|
|
49
49
|
e8a31e25669d6b538c0b2263c46baeb201ac322f0fba4bf3ebb045bc239f174a bin/libapr-1.dll
|
|
50
50
|
6ad15f040b98db34e7ba2545ea70329c13a07509a425d8b1205f26cdf034c3de bin/libaprutil-1.dll
|
|
51
51
|
ffe53b1fd0316d0f7cb2fd08a13d9d7d0bc135aba1dabc00872091960fda5aca bin/libsvn_client-1.dll
|
|
@@ -59,7 +59,7 @@ bcc347a52726e139d3cfec484503dd178859ad3d6d47771dda3dbbc61766ebfc bin/libsvn_fs_
|
|
|
59
59
|
0b74a283195f66ff0d03c94a91187eb228286c8f94d936138a7748d39536b7d3 bin/libsvn_repos-1.dll
|
|
60
60
|
8c0ebcd5f569f1ae74067dfa4a275312ab768112c762a354f89c01b4e268ab52 bin/libsvn_subr-1.dll
|
|
61
61
|
7aaaf26d79ba17201051e93ba93bd6a4db1ea4135ea20d683f49e8066a7e1b53 bin/libsvn_wc-1.dll
|
|
62
|
-
|
|
62
|
+
98ce6d01bb0fc3b7c2b81830377e1f1f94b0ab6bb4f0d6669786687ac43fb92b bin/mac2unix.exe
|
|
63
63
|
581876dda93a6c91d231149a4c1ae59946a44ea03f61d864fcd2ecda1b0b7fd8 bin/msvcp140_1.dll
|
|
64
64
|
1c95f7db69e732b995122b12502387867c8c13dd9574f8b0e5a12d10c2da4930 bin/msvcp140_2.dll
|
|
65
65
|
f8a381e45f6f3dcab092b5e256c8304906b3c523dc721bcc126dd899167e0ba6 bin/msvcp140_codecvt_ids.dll
|
|
@@ -76,6 +76,6 @@ faaa4870bf745444022f409bd494095b7b3796637cf9994ad9faf7a43f393b88 bin/msvcp140.d
|
|
|
76
76
|
9de006ddcbb5355ae50dc967ab41a89cf22d8e17aab0094cf50b22ac9e042bb2 bin/svnsync.exe
|
|
77
77
|
01cc886d6ecb93d60a8acf97d681d01a01a0600c3ec8c2a4e3471c112261069f bin/svnversion.exe
|
|
78
78
|
10f8f24aa678db8e38e6917748c52bbcd219161b9a07286d6f8093ab1d0318fa bin/ucrtbase.dll
|
|
79
|
-
|
|
80
|
-
|
|
79
|
+
01189312dd4f9df78f8fe9d6e25e7a222cce52a6d1638bae32ea7d205ec9c8aa bin/unix2dos.exe
|
|
80
|
+
01189312dd4f9df78f8fe9d6e25e7a222cce52a6d1638bae32ea7d205ec9c8aa bin/unix2mac.exe
|
|
81
81
|
a088131e8eb4e2178789af49b646ab463cf9a1f48da51698448206df21db5c95 bin/vcruntime140.dll
|
package/THIRD_PARTY_NOTICES.md
CHANGED
|
@@ -31,11 +31,13 @@ archive. Microsoft redistributable runtime license terms apply to those files.
|
|
|
31
31
|
## dos2unix / unix2dos
|
|
32
32
|
|
|
33
33
|
- Files: `bin/dos2unix.exe`, `bin/unix2dos.exe`, `bin/mac2unix.exe`, and `bin/unix2mac.exe`
|
|
34
|
-
- Bundled version: `7.5.
|
|
34
|
+
- Bundled version: `7.5.7` (August 27, 2026)
|
|
35
|
+
- Distribution archive: `dos2unix-7.5.7-win64.zip`
|
|
36
|
+
- Distribution archive SHA256: `8C1AF6E366E641A859A1D58457663AEDD1F3B4AAE37E67621449BEEF145CF934`
|
|
35
37
|
- Upstream: https://dos2unix.sourceforge.io/ and https://waterlander.net/dos2unix/
|
|
36
38
|
- License: FreeBSD-style license, GPL-compatible
|
|
37
39
|
|
|
38
|
-
dos2unix is maintained by Erwin Waterlander. Its complete distribution license is reproduced at
|
|
40
|
+
dos2unix is maintained by Erwin Waterlander. Its complete 7.5.7 distribution license is reproduced at
|
|
39
41
|
`third_party_licenses/dos2unix/COPYING.txt`.
|
|
40
42
|
|
|
41
43
|
## Binary Checksums
|
package/bin/dos2unix.exe
CHANGED
|
Binary file
|
package/bin/mac2unix.exe
CHANGED
|
Binary file
|
package/bin/unix2dos.exe
CHANGED
|
Binary file
|
package/bin/unix2mac.exe
CHANGED
|
Binary file
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare const advancedInputNames: {
|
|
2
|
+
readonly svn_status: readonly ["afterCursor", "conflictCursor"];
|
|
3
|
+
readonly svn_snapshot: readonly ["afterCursor", "conflictCursor", "captureBaseline"];
|
|
4
|
+
readonly svn_diff: readonly ["file", "operationId"];
|
|
5
|
+
readonly eol_fix_verified: readonly ["operationId"];
|
|
6
|
+
readonly svn_precommit: readonly ["baselineToken", "autoFixEol"];
|
|
7
|
+
readonly svn_log: readonly ["changedPathsSummary", "maxTopLevelDirectories", "messageContains", "messageCaseSensitive", "scanLimit"];
|
|
8
|
+
readonly svn_update: readonly ["maxItems", "cursor", "conflictCursor", "taskPaths", "targetOverlapOnly", "operationId", "baselineToken"];
|
|
9
|
+
readonly svn_commit: readonly ["operation", "revision", "expectedRemoteHead", "lineLimit", "requireUniformRevision", "expandDescendants", "allowRoot", "allowDirectoryTargets", "operationId", "precommitToken", "baselineToken", "detailOperationId", "cursor", "maxChars"];
|
|
10
|
+
readonly svn_resolve: readonly ["operationId"];
|
|
11
|
+
readonly svn_lock: readonly ["operationId"];
|
|
12
|
+
readonly svn_unlock: readonly ["operationId"];
|
|
13
|
+
readonly svn_needs_lock: readonly ["operationId"];
|
|
14
|
+
};
|
|
15
|
+
export type AdvancedInputTool = keyof typeof advancedInputNames;
|
|
16
|
+
export declare function advancedInputsFor(tool: string): readonly string[];
|
|
17
|
+
//# sourceMappingURL=capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;aAC7B,UAAU,YAAG,aAAa,EAAE,gBAAgB;aAC5C,YAAY,YAAG,aAAa,EAAE,gBAAgB,EAAE,iBAAiB;aACjE,QAAQ,YAAG,MAAM,EAAE,aAAa;aAChC,gBAAgB,YAAG,aAAa;aAChC,aAAa,YAAG,eAAe,EAAE,YAAY;aAC7C,OAAO,YAAG,qBAAqB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,WAAW;aACjH,UAAU,YAAG,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,mBAAmB,EAAE,aAAa,EAAE,eAAe;aACrH,UAAU,YACR,WAAW,EAAE,UAAU,EAAE,oBAAoB,EAAE,WAAW,EAAE,wBAAwB,EACpF,mBAAmB,EAAE,WAAW,EAAE,uBAAuB,EAAE,aAAa,EAAE,gBAAgB,EAC1F,eAAe,EAAE,mBAAmB,EAAE,QAAQ,EAAE,UAAU;aAE5D,WAAW,YAAG,aAAa;aAC3B,QAAQ,YAAG,aAAa;aACxB,UAAU,YAAG,aAAa;aAC1B,cAAc,YAAG,aAAa;CACtB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,kBAAkB,CAAC;AAEhE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAIjE"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export const advancedInputNames = {
|
|
2
|
+
svn_status: ["afterCursor", "conflictCursor"],
|
|
3
|
+
svn_snapshot: ["afterCursor", "conflictCursor", "captureBaseline"],
|
|
4
|
+
svn_diff: ["file", "operationId"],
|
|
5
|
+
eol_fix_verified: ["operationId"],
|
|
6
|
+
svn_precommit: ["baselineToken", "autoFixEol"],
|
|
7
|
+
svn_log: ["changedPathsSummary", "maxTopLevelDirectories", "messageContains", "messageCaseSensitive", "scanLimit"],
|
|
8
|
+
svn_update: ["maxItems", "cursor", "conflictCursor", "taskPaths", "targetOverlapOnly", "operationId", "baselineToken"],
|
|
9
|
+
svn_commit: [
|
|
10
|
+
"operation", "revision", "expectedRemoteHead", "lineLimit", "requireUniformRevision",
|
|
11
|
+
"expandDescendants", "allowRoot", "allowDirectoryTargets", "operationId", "precommitToken",
|
|
12
|
+
"baselineToken", "detailOperationId", "cursor", "maxChars"
|
|
13
|
+
],
|
|
14
|
+
svn_resolve: ["operationId"],
|
|
15
|
+
svn_lock: ["operationId"],
|
|
16
|
+
svn_unlock: ["operationId"],
|
|
17
|
+
svn_needs_lock: ["operationId"]
|
|
18
|
+
};
|
|
19
|
+
export function advancedInputsFor(tool) {
|
|
20
|
+
return tool in advancedInputNames
|
|
21
|
+
? advancedInputNames[tool]
|
|
22
|
+
: [];
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=capabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,UAAU,EAAE,CAAC,aAAa,EAAE,gBAAgB,CAAC;IAC7C,YAAY,EAAE,CAAC,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,CAAC;IAClE,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;IACjC,gBAAgB,EAAE,CAAC,aAAa,CAAC;IACjC,aAAa,EAAE,CAAC,eAAe,EAAE,YAAY,CAAC;IAC9C,OAAO,EAAE,CAAC,qBAAqB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,WAAW,CAAC;IAClH,UAAU,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,mBAAmB,EAAE,aAAa,EAAE,eAAe,CAAC;IACtH,UAAU,EAAE;QACV,WAAW,EAAE,UAAU,EAAE,oBAAoB,EAAE,WAAW,EAAE,wBAAwB;QACpF,mBAAmB,EAAE,WAAW,EAAE,uBAAuB,EAAE,aAAa,EAAE,gBAAgB;QAC1F,eAAe,EAAE,mBAAmB,EAAE,QAAQ,EAAE,UAAU;KAC3D;IACD,WAAW,EAAE,CAAC,aAAa,CAAC;IAC5B,QAAQ,EAAE,CAAC,aAAa,CAAC;IACzB,UAAU,EAAE,CAAC,aAAa,CAAC;IAC3B,cAAc,EAAE,CAAC,aAAa,CAAC;CACvB,CAAC;AAIX,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,IAAI,IAAI,kBAAkB;QAC/B,CAAC,CAAC,kBAAkB,CAAC,IAAyB,CAAC;QAC/C,CAAC,CAAC,EAAE,CAAC;AACT,CAAC"}
|
package/dist/eol.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eol.d.ts","sourceRoot":"","sources":["../src/eol.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAK/E,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,QAAQ,GAAG,iBAAiB,CAAC;IACvC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,IAAI;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,SAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"eol.d.ts","sourceRoot":"","sources":["../src/eol.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAK/E,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,QAAQ,GAAG,iBAAiB,CAAC;IACvC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,IAAI;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,SAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAyClG;AAED,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,CASrG;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,OAAO,CAAC,SAAS,CAAC,CAIrB;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IACnD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;CACzC,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAmHpC;AAMD,wBAAsB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA2CjF;AAED,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC,CAS5C;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM3D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAE5G;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,UAAU,GAAG,UAAU,CAEpF;AAED,wBAAgB,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAe9E;AAMD,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAEnD;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAGjE"}
|
package/dist/eol.js
CHANGED
|
@@ -33,7 +33,8 @@ export async function sniffEol(filePath, limitBytes = SNIFF_LIMIT_BYTES) {
|
|
|
33
33
|
kind: "binary",
|
|
34
34
|
has_bom: scan.hasBom,
|
|
35
35
|
size: stat.size,
|
|
36
|
-
sniff: "ok"
|
|
36
|
+
sniff: "ok",
|
|
37
|
+
...(scan.nonTextByte ? { non_text_byte: scan.nonTextByte } : {})
|
|
37
38
|
};
|
|
38
39
|
}
|
|
39
40
|
return {
|
|
@@ -41,7 +42,8 @@ export async function sniffEol(filePath, limitBytes = SNIFF_LIMIT_BYTES) {
|
|
|
41
42
|
kind: classifyEolCounts(scan.crlf, scan.lf, scan.crOnly),
|
|
42
43
|
has_bom: scan.hasBom,
|
|
43
44
|
size: stat.size,
|
|
44
|
-
sniff: "ok"
|
|
45
|
+
sniff: "ok",
|
|
46
|
+
...(scan.nonTextByte ? { non_text_byte: scan.nonTextByte } : {})
|
|
45
47
|
};
|
|
46
48
|
}
|
|
47
49
|
export async function makeEolCheck(filePath, eolStyle) {
|
|
@@ -323,26 +325,59 @@ async function scanEolFile(filePath) {
|
|
|
323
325
|
let lf = 0;
|
|
324
326
|
let crOnly = 0;
|
|
325
327
|
let pendingCr = false;
|
|
328
|
+
let byteOffset = 0;
|
|
329
|
+
let line = 1;
|
|
330
|
+
let column = 1;
|
|
331
|
+
let nonTextByte;
|
|
326
332
|
for await (const chunkValue of stream) {
|
|
327
333
|
const chunk = chunkValue;
|
|
328
334
|
for (const byte of chunk) {
|
|
329
335
|
if (prefix.length < 3)
|
|
330
336
|
prefix.push(byte);
|
|
331
|
-
|
|
332
|
-
|
|
337
|
+
const followsCr = pendingCr;
|
|
338
|
+
if (followsCr && byte !== 0x0a) {
|
|
339
|
+
line += 1;
|
|
340
|
+
column = 1;
|
|
341
|
+
}
|
|
342
|
+
if (scanned < BINARY_SCAN_BYTES && isNonTextControlByte(byte) && !nonTextByte) {
|
|
343
|
+
// Preserve the historical classification contract: only NUL marks a
|
|
344
|
+
// file binary. Other controls are advisory because form feed, vertical
|
|
345
|
+
// tab, and ESC can be intentional in versioned text.
|
|
346
|
+
if (byte === 0)
|
|
347
|
+
binary = true;
|
|
348
|
+
nonTextByte = {
|
|
349
|
+
byte_offset: byteOffset,
|
|
350
|
+
line,
|
|
351
|
+
column,
|
|
352
|
+
byte_hex: `0x${byte.toString(16).padStart(2, "0").toUpperCase()}`
|
|
353
|
+
};
|
|
354
|
+
}
|
|
333
355
|
scanned += 1;
|
|
356
|
+
let countedAsCrlf = false;
|
|
334
357
|
if (pendingCr) {
|
|
335
358
|
pendingCr = false;
|
|
336
359
|
if (byte === 0x0a) {
|
|
337
360
|
crlf += 1;
|
|
338
|
-
|
|
361
|
+
countedAsCrlf = true;
|
|
362
|
+
}
|
|
363
|
+
else {
|
|
364
|
+
crOnly += 1;
|
|
339
365
|
}
|
|
340
|
-
crOnly += 1;
|
|
341
366
|
}
|
|
342
|
-
if (
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
367
|
+
if (!countedAsCrlf) {
|
|
368
|
+
if (byte === 0x0d)
|
|
369
|
+
pendingCr = true;
|
|
370
|
+
else if (byte === 0x0a)
|
|
371
|
+
lf += 1;
|
|
372
|
+
}
|
|
373
|
+
if (byte === 0x0a) {
|
|
374
|
+
line += 1;
|
|
375
|
+
column = 1;
|
|
376
|
+
}
|
|
377
|
+
else if (byte !== 0x0d) {
|
|
378
|
+
column += 1;
|
|
379
|
+
}
|
|
380
|
+
byteOffset += 1;
|
|
346
381
|
}
|
|
347
382
|
}
|
|
348
383
|
if (pendingCr)
|
|
@@ -352,9 +387,13 @@ async function scanEolFile(filePath) {
|
|
|
352
387
|
binary,
|
|
353
388
|
crlf,
|
|
354
389
|
lf,
|
|
355
|
-
crOnly
|
|
390
|
+
crOnly,
|
|
391
|
+
...(nonTextByte ? { nonTextByte } : {})
|
|
356
392
|
};
|
|
357
393
|
}
|
|
394
|
+
function isNonTextControlByte(byte) {
|
|
395
|
+
return (byte < 0x20 && byte !== 0x09 && byte !== 0x0a && byte !== 0x0d) || byte === 0x7f;
|
|
396
|
+
}
|
|
358
397
|
function rawContentHashSync(filePath) {
|
|
359
398
|
try {
|
|
360
399
|
return createHash("sha256").update(fs.readFileSync(filePath)).digest("hex");
|
package/dist/eol.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eol.js","sourceRoot":"","sources":["../src/eol.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eol.js","sourceRoot":"","sources":["../src/eol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,gCAAgC,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG5E,MAAM,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAC1C,MAAM,iBAAiB,GAAG,CAAC,GAAG,IAAI,CAAC;AAqBnC,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,QAAgB,EAAE,UAAU,GAAG,iBAAiB;IAC7E,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACnB,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,YAAY;SACpB,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,GAAG,UAAU,EAAE,CAAC;QAC3B,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,mBAAmB;SAC3B,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,IAAI,CAAC,MAAM;YACpB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI;YACX,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjE,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC;QACxD,OAAO,EAAE,IAAI,CAAC,MAAM;QACpB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI;QACX,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAgB,EAAE,QAAuB;IAC1E,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;IAC5G,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO;QACL,GAAG,KAAK;QACR,SAAS,EAAE,QAAQ;QACnB,QAAQ,EAAE,MAAM,IAAI,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;KAC1F,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAKhC;IACC,MAAM,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/F,OAAO,WAAW,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,KAK7C;IACC,MAAM,OAAO,GAA6B,EAAE,CAAC;IAC7C,MAAM,UAAU,GAA0E,EAAE,CAAC;IAE7F,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;YAC7D,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzE,SAAS;QACX,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAChH,OAAO,iBAAiB,CAAC,OAAO,EAAE,uCAAuC,QAAQ,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,qBAAqB,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1G,CAAC;IAED,MAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC;IACvG,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACnD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACrC,CAAC;QACD,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,IAAI,kBAAkB,CAAC,QAAQ,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC3D,OAAO,IAAI,CAAC,CAAC;gBACb,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;gBAC9D,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;oBACxB,MAAM,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,+DAA+D,CAAC;yBAC/F,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC;gBACD,SAAS;YACX,CAAC;YACD,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAClC,QAAQ,IAAI,CAAC,CAAC;QAChB,CAAC;QACD,OAAO,GAAG,IAAI,CAAC;QACf,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC/B,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,OAAO,GAAG,IAAI,CAAC;QACf,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YACtD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,KAAK,MAAM,CAAC,CAAC;YACpD,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACxC,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO;mBAC3C,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC;YAClF,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC;oBAClC,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,SAAS,EAAE,IAAI;oBACf,GAAG,EAAE,KAAK,CAAC,GAAG;iBACf,CAAC,CAAC;gBACH,IAAI,UAAU,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;oBAC9B,MAAM,eAAe,GAAG,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;oBAC/D,IAAI,eAAe;wBAAE,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;oBAC/E,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,SAAS,CAAC,QAAQ;wBACxB,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI;wBAC7B,SAAS,EAAE,KAAK;wBAChB,QAAQ,EAAE,KAAK;wBACf,OAAO,EAAE,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,IAAI,sBAAsB;qBAC1E,CAAC,CAAC;oBACH,QAAQ,EAAE,CAAC;oBACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,6BAA6B,SAAS,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;gBAC5G,CAAC;YACH,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACjD,MAAM,eAAe,GAAG,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC/D,IAAI,eAAe;gBAAE,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YAC/E,MAAM,SAAS,GAAG,qBAAqB,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7E,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;mBAClE,CAAC,KAAK,CAAC,OAAO;mBACd,SAAS,KAAK,SAAS,CAAC,cAAc,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,SAAS,CAAC,QAAQ;gBACxB,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI;gBAC7B,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,SAAS,EAAE,eAAe;gBAC1B,QAAQ;gBACR,uBAAuB,EAAE,SAAS;gBAClC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,+CAA+C,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnF,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,4BAA4B,SAAS,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;YAC3G,CAAC;QACH,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,EAAE,CAAC;QACX,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO;YACP,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,0BAA0B;YACxG,QAAQ;YACR,OAAO;SACR,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAiC,EAAE,IAAY;IACxE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;AAC/G,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,QAAgB;IAC9D,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE;QAC3C,aAAa,EAAE,IAAI,GAAG,IAAI;QAC1B,GAAG,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,gCAAgC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9F,CAAC,CAAC;IACH,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,MAAM,IAAI,GAAG,CAAC,KAAiB,EAAE,EAAE;QACjC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClB,SAAS,GAAG,KAAK,CAAC;gBAClB,IAAI,IAAI,KAAK,IAAI;oBAAE,SAAS;YAC9B,CAAC;YACD,IAAI,IAAI,KAAK,IAAI;gBAAE,SAAS,GAAG,IAAI,CAAC;;gBAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC;IACF,IAAI,KAAK,EAAE,MAAM,UAAU,IAAI,MAAM,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,UAAoB,CAAC;QACnC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBAClD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChC,MAAM,IAAI,CAAC,CAAC;YACd,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI;oBAClF,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,MAAM,CAAC;gBACX,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;gBACrC,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;QACH,CAAC;QACD,IAAI,aAAa,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM;YAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,CAAC,aAAa;QAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,IAAI,SAAS;QAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,QAAgB,EAChB,MAAuB,EACvB,mBAA2B;IAE3B,IAAI,CAAC;QACH,IAAI,MAAM,UAAU,CAAC,QAAQ,EAAE,gCAAgC,EAAE,CAAC,KAAK,mBAAmB;YAAE,OAAO,SAAS,CAAC;QAC7G,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;;YACtE,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClD,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;QACjG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnB,CAAC,CAAC,KAAK,CAAC;IACV,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC/F,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAgC,EAAE,QAAwB;IAC3F,OAAO,KAAK,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,uBAAuB,EAAE,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAqB;IACzD,OAAO,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAwB;IACtD,MAAM,UAAU,GAAG,QAAQ,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,uBAAuB,EAAE,CAAC;IACnC,CAAC;IACD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB;IAC9B,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAa;IACxC,OAAO,IAAI,KAAK,QAAQ,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAgB,EAAE,GAAW;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC9C,OAAO,QAAQ,IAAI,GAAG,CAAC;AACzB,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;YAC1B,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC9B,IAAI,IAAI,CAAC,CAAC;gBACV,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,CAAC;YACd,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;YACjC,EAAE,IAAI,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,OAAO,iBAAiB,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY,EAAE,EAAU,EAAE,MAAc;IACjE,MAAM,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IACpE,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAClC,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,QAAgB;IAazC,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE;QAC3C,aAAa,EAAE,IAAI,GAAG,IAAI;QAC1B,GAAG,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,gCAAgC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9F,CAAC,CAAC;IACH,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,WAAgG,CAAC;IACrG,IAAI,KAAK,EAAE,MAAM,UAAU,IAAI,MAAM,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,UAAoB,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,SAAS,GAAG,SAAS,CAAC;YAC5B,IAAI,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,CAAC;gBACV,MAAM,GAAG,CAAC,CAAC;YACb,CAAC;YACD,IAAI,OAAO,GAAG,iBAAiB,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC9E,oEAAoE;gBACpE,uEAAuE;gBACvE,qDAAqD;gBACrD,IAAI,IAAI,KAAK,CAAC;oBAAE,MAAM,GAAG,IAAI,CAAC;gBAC9B,WAAW,GAAG;oBACZ,WAAW,EAAE,UAAU;oBACvB,IAAI;oBACJ,MAAM;oBACN,QAAQ,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;iBAClE,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC,CAAC;YACb,IAAI,aAAa,GAAG,KAAK,CAAC;YAC1B,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,GAAG,KAAK,CAAC;gBAClB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAClB,IAAI,IAAI,CAAC,CAAC;oBACV,aAAa,GAAG,IAAI,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,CAAC,CAAC;gBACd,CAAC;YACH,CAAC;YACD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,IAAI,IAAI,KAAK,IAAI;oBAAE,SAAS,GAAG,IAAI,CAAC;qBAC/B,IAAI,IAAI,KAAK,IAAI;oBAAE,EAAE,IAAI,CAAC,CAAC;YAClC,CAAC;YACD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,IAAI,IAAI,CAAC,CAAC;gBACV,MAAM,GAAG,CAAC,CAAC;YACb,CAAC;iBAAM,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,CAAC;YACd,CAAC;YACD,UAAU,IAAI,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,IAAI,SAAS;QAAE,MAAM,IAAI,CAAC,CAAC;IAC3B,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI;QACtE,MAAM;QACN,IAAI;QACJ,EAAE;QACF,MAAM;QACN,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY;IACxC,OAAO,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,CAAC;AAC3F,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,IAAI,CAAC;QACH,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/dist/help.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAyD/C,wBAAgB,OAAO,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,CA0B3E"}
|
package/dist/help.js
ADDED
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import { createEnvelope, failEnvelope } from "./envelope.js";
|
|
2
|
+
import { advancedInputsFor } from "./capabilities.js";
|
|
3
|
+
const knownTools = new Set([
|
|
4
|
+
"eol", "eol_check", "eol_fix_verified", "svn_add", "svn_blame", "svn_cat", "svn_cleanup",
|
|
5
|
+
"svn_commit", "svn_delete", "svn_diagnose", "svn_diff", "svn_export", "svn_help", "svn_import",
|
|
6
|
+
"svn_info", "svn_lock", "svn_lock_status", "svn_log", "svn_needs_lock", "svn_path_change",
|
|
7
|
+
"svn_precommit", "svn_propget", "svn_propset", "svn_propset_eol_style", "svn_resolve", "svn_revert",
|
|
8
|
+
"svn_self_check", "svn_snapshot", "svn_status", "svn_unlock", "svn_update"
|
|
9
|
+
]);
|
|
10
|
+
const pathRules = [
|
|
11
|
+
"Relative paths resolve from cwd; cwd must be an absolute working-copy directory.",
|
|
12
|
+
"Use explicit paths. eol_fix_verified accepts regular files only.",
|
|
13
|
+
"Commit directories with expandDescendants:true; a directory-node-only commit needs allowDirectoryTargets:true.",
|
|
14
|
+
"A working-copy-root commit needs allowRoot:true. Prefer scoped paths over a blanket root operation."
|
|
15
|
+
];
|
|
16
|
+
const responseModes = {
|
|
17
|
+
compact: "Default small structured result; omits raw output, large excerpts, and commit hashes.",
|
|
18
|
+
receipt: "Small audit receipt for mutations; use after commit/update/add and other writes.",
|
|
19
|
+
standard: "Normalized structured detail without full raw output.",
|
|
20
|
+
full: "Largest diagnostic result; use only when compact evidence is insufficient.",
|
|
21
|
+
"structured-only": "Compact structured data with no human text block."
|
|
22
|
+
};
|
|
23
|
+
const eolContract = {
|
|
24
|
+
normalFlow: [
|
|
25
|
+
"Run svn_precommit normally. autoFixEol defaults to safe; do not call eol_fix_verified first.",
|
|
26
|
+
"Added text with declared svn:eol-style or repository policy is normalized and rechecked automatically.",
|
|
27
|
+
"Modified files are auto-repaired only when ignored-EOL proof shows no real content/property change.",
|
|
28
|
+
"Real content changes are never silently accepted. Follow the returned refusal or nextAction."
|
|
29
|
+
],
|
|
30
|
+
fixDefaults: {
|
|
31
|
+
target: "Explicit target, else svn:eol-style, else platform native EOL.",
|
|
32
|
+
removeBom: true,
|
|
33
|
+
sizeLimit: "5 MiB unless allowLarge:true.",
|
|
34
|
+
binary: "NUL in the first 8 KiB; never converted. Other C0/DEL controls are advisory only."
|
|
35
|
+
},
|
|
36
|
+
converter: {
|
|
37
|
+
executables: "unix2dos for CRLF and dos2unix for LF; both run with --remove-bom -q by default.",
|
|
38
|
+
resolutionOrder: "SVN_AGENT_DOS2UNIX_DIR, then bundled binary, then PATH.",
|
|
39
|
+
unavailable: "Run svn_self_check. Set SVN_AGENT_DOS2UNIX_DIR to the converter directory or install dos2unix/unix2dos on PATH."
|
|
40
|
+
},
|
|
41
|
+
refusals: {
|
|
42
|
+
mixedEol: "Use default svn_precommit first; for manual repair run eol_fix_verified on the exact files.",
|
|
43
|
+
controlByte: "Inspect the reported byte, line, 1-based byte column, and offset. Non-NUL controls are advisory; NUL means binary and is refused.",
|
|
44
|
+
largeFile: "Review the file, then retry eol_fix_verified with allowLarge:true.",
|
|
45
|
+
realContentChange: "Review the content diff. Use explicit eol_fix_verified only after deciding the rewrite is intended.",
|
|
46
|
+
converterFailed: "Run svn_self_check; repair SVN_AGENT_DOS2UNIX_DIR, bundled runtime, or PATH before retrying the file.",
|
|
47
|
+
truncatedDiff: "Call the copy-ready svn_diff nextAction returned by precommit; continue until no cursor remains."
|
|
48
|
+
},
|
|
49
|
+
examples: [
|
|
50
|
+
{ tool: "svn_precommit", args: { cwd: "C:\\work\\project", paths: ["src/new.cs"] } },
|
|
51
|
+
{ tool: "eol_fix_verified", args: { cwd: "C:\\work\\project", paths: ["src/new.cs"], target: "crlf" } }
|
|
52
|
+
]
|
|
53
|
+
};
|
|
54
|
+
export function svnHelp(input) {
|
|
55
|
+
const tool = input.tool.trim().toLowerCase();
|
|
56
|
+
const cwd = input.cwd ?? process.cwd();
|
|
57
|
+
if (!knownTools.has(tool)) {
|
|
58
|
+
return {
|
|
59
|
+
...failEnvelope("svn_help", cwd, `unknown help topic: ${input.tool}`),
|
|
60
|
+
available_topics: [...knownTools].sort()
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
...createEnvelope({ ok: true, command: "svn_help", cwd, note: `help for ${tool}` }),
|
|
65
|
+
tool,
|
|
66
|
+
path_rules: pathRules,
|
|
67
|
+
response_modes: responseModes,
|
|
68
|
+
contract: {
|
|
69
|
+
...contractFor(tool),
|
|
70
|
+
...(advancedInputsFor(tool).length > 0
|
|
71
|
+
? {
|
|
72
|
+
extendedContract: true,
|
|
73
|
+
advancedInputs: [...advancedInputsFor(tool)],
|
|
74
|
+
advancedInputAvailability: "Advertised by the full profile; focused profiles keep schemas trimmed but svn_help lists them."
|
|
75
|
+
}
|
|
76
|
+
: {})
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function contractFor(tool) {
|
|
81
|
+
if (tool === "svn_add") {
|
|
82
|
+
return {
|
|
83
|
+
...eolContract,
|
|
84
|
+
add: {
|
|
85
|
+
files: "Explicit files are added directly, then normal svn_precommit performs safe EOL checks.",
|
|
86
|
+
directories: "Set allowRecursive:true. Descendants are scanned for never-commit paths before mutation.",
|
|
87
|
+
order: "svn_add -> svn_precommit (default autoFixEol:safe) -> svn_commit"
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
if (tool === "eol" || tool === "eol_check" || tool === "eol_fix_verified") {
|
|
92
|
+
return eolContract;
|
|
93
|
+
}
|
|
94
|
+
if (tool === "svn_precommit") {
|
|
95
|
+
return {
|
|
96
|
+
...eolContract,
|
|
97
|
+
tokens: {
|
|
98
|
+
baselineToken: "Optional token from svn_snapshot captureBaseline:true; detects path or remote-HEAD changes by another writer.",
|
|
99
|
+
precommitToken: "Returned on READY and bound to exact paths/content/policy/HEAD. TTL is 10 minutes, but bounded-store eviction can remove it sooner.",
|
|
100
|
+
expired: "On EVIDENCE_NOT_FOUND or EVIDENCE_EXPIRED, rerun svn_precommit. svn_commit also runs precommit internally when no reusable token is supplied."
|
|
101
|
+
},
|
|
102
|
+
resultFields: ["verdict", "precommitToken", "remoteHeadRevision", "diffOperationId", "nextAction"]
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
if (tool === "svn_commit") {
|
|
106
|
+
return {
|
|
107
|
+
preferred: "Use operation:safe for scoped update, writer collision check, safe EOL repair, precommit, commit, and verification.",
|
|
108
|
+
messageContract: "Subject, blank second line, then one or more '- ' bullets.",
|
|
109
|
+
messageExample: "Update parser\n\n- Verified: 270 tests passed\n- State: requested paths clean",
|
|
110
|
+
precommitToken: "Optional. Default commit creates fresh precommit evidence. Supplied tokens are exact-state bound and process-local; TTL is 10 minutes but bounded-store eviction can remove them sooner. Rerun precommit on EVIDENCE_NOT_FOUND or EVIDENCE_EXPIRED.",
|
|
111
|
+
riskAckTriggers: ["more than 8 paths", "delete-scheduled path", "version file touched", "build-system file touched"],
|
|
112
|
+
separateGuards: [
|
|
113
|
+
"Directory scope uses expandDescendants:true or allowDirectoryTargets:true; it is not inferred from riskAck.",
|
|
114
|
+
"Mixed revisions are normal unless requireUniformRevision:true; stale paths are separate failures.",
|
|
115
|
+
"Property riskAck is separate: svn:ignore/global-ignores, svn:externals, and svn:auto-props."
|
|
116
|
+
],
|
|
117
|
+
refusalFixes: {
|
|
118
|
+
eol: "Use the returned EOL diagnostic or nextAction.",
|
|
119
|
+
stalePath: "Run svn_update only on the reported path or containing directory when companion additions are reported.",
|
|
120
|
+
expiredToken: "Rerun svn_precommit, then retry commit."
|
|
121
|
+
},
|
|
122
|
+
requiredResultFields: ["revision", "committedPaths", "postStatusClean"]
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
if (tool === "svn_update") {
|
|
126
|
+
return {
|
|
127
|
+
guard: "Use explicit paths. No blanket update by default; updateAll:true is the explicit whole-working-copy choice.",
|
|
128
|
+
root: "Prefer paths below the working-copy root. Exact-file updates may omit new companion files and will recommend the containing directory.",
|
|
129
|
+
stalePath: "Update only the reported stale path; use the containing directory only when scopeComplete:false reports omitted additions.",
|
|
130
|
+
multiWriter: "Pass baselineToken from svn_snapshot captureBaseline:true to receive collisionPaths. Conflicts are postponed.",
|
|
131
|
+
filters: {
|
|
132
|
+
maxItems: "Bound the returned change page.",
|
|
133
|
+
cursor: "Continue the previous change page.",
|
|
134
|
+
conflictCursor: "Continue the conflict page.",
|
|
135
|
+
taskPaths: "Declare edited paths for overlap reporting.",
|
|
136
|
+
targetOverlapOnly: "Return only changes overlapping taskPaths."
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
if (tool === "svn_snapshot") {
|
|
141
|
+
return {
|
|
142
|
+
captureBaseline: "Set true before editing explicit paths; returns baselineToken for svn_precommit, svn_update, or safe commit.",
|
|
143
|
+
afterCursor: "Snapshot token from the previous result; reports whether state changed without repeating all details.",
|
|
144
|
+
conflictCursor: "Continue a bounded conflict page."
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
if (tool === "svn_status") {
|
|
148
|
+
return {
|
|
149
|
+
afterCursor: "Snapshot token from the previous status result; reports change without repeating all details.",
|
|
150
|
+
conflictCursor: "Continue a bounded conflict page."
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
if (tool === "svn_propset") {
|
|
154
|
+
return {
|
|
155
|
+
riskAckTriggers: ["svn:ignore or svn:global-ignores", "svn:externals", "svn:auto-props"],
|
|
156
|
+
note: "These property guards are separate from svn_commit riskAck. Other property names do not require riskAck by default."
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
if (tool === "svn_diff") {
|
|
160
|
+
return {
|
|
161
|
+
revisionRange: "Use revision:'4801:4850' for an audit range. A single revision is also accepted.",
|
|
162
|
+
paging: "Use operationId and cursor from precommit's copy-ready nextAction to read captured evidence.",
|
|
163
|
+
compact: "Use counts/summary first; request full content only for the exact file or range needed."
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
if (tool === "svn_log") {
|
|
167
|
+
return {
|
|
168
|
+
revisionRange: "Use revision:'4801:4850' for an audit range. A single revision is also accepted.",
|
|
169
|
+
paging: "Use the returned cursor until it is absent.",
|
|
170
|
+
filters: {
|
|
171
|
+
changedPathsSummary: "Return bounded top-level changed-path counts.",
|
|
172
|
+
maxTopLevelDirectories: "Limit changed-path summary groups to 1..50.",
|
|
173
|
+
messageContains: "Return revisions whose commit message contains this text.",
|
|
174
|
+
messageCaseSensitive: "Make messageContains matching case-sensitive.",
|
|
175
|
+
scanLimit: "Bound revisions inspected for message filtering to 1..500."
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
const advancedInputs = advancedInputsFor(tool);
|
|
180
|
+
return advancedInputs.length > 0
|
|
181
|
+
? {
|
|
182
|
+
extendedContract: true,
|
|
183
|
+
note: "This tool has advanced inputs; see advancedInputs generated from the runtime capability registry."
|
|
184
|
+
}
|
|
185
|
+
: {
|
|
186
|
+
extendedContract: false,
|
|
187
|
+
note: "No extended tool-specific contract; the advertised schema is complete for this tool.",
|
|
188
|
+
commonRules: "Use the pathRules and responseModes returned with this help result."
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=help.js.map
|
package/dist/help.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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"}
|