svn-agent-mcp 1.0.0 → 1.1.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 +31 -3
- package/README.md +15 -3
- package/dist/envelope.d.ts +0 -7
- package/dist/envelope.d.ts.map +1 -1
- package/dist/envelope.js +4 -13
- package/dist/envelope.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +147 -75
- package/dist/index.js.map +1 -1
- package/dist/parse/diffText.d.ts +1 -1
- package/dist/parse/diffText.d.ts.map +1 -1
- package/dist/parse/diffText.js +21 -5
- package/dist/parse/diffText.js.map +1 -1
- package/dist/parse/logXml.d.ts.map +1 -1
- package/dist/parse/logXml.js +10 -6
- package/dist/parse/logXml.js.map +1 -1
- package/dist/parse/statusXml.d.ts.map +1 -1
- package/dist/parse/statusXml.js +2 -0
- package/dist/parse/statusXml.js.map +1 -1
- package/dist/response.d.ts +17 -0
- package/dist/response.d.ts.map +1 -0
- package/dist/response.js +659 -0
- package/dist/response.js.map +1 -0
- package/dist/tools/composite.d.ts.map +1 -1
- package/dist/tools/composite.js +4 -0
- package/dist/tools/composite.js.map +1 -1
- package/dist/tools/readonly.d.ts +3 -0
- package/dist/tools/readonly.d.ts.map +1 -1
- package/dist/tools/readonly.js +14 -5
- package/dist/tools/readonly.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/docs/README.md +3 -2
- package/docs/SPEC.md +83 -38
- package/docs/decisions/ADR-005-use-bounded-public-response-modes.md +29 -0
- package/package.json +2 -1
- package/scripts/benchmark-responses.mjs +128 -0
- package/src/envelope.ts +17 -31
- package/src/index.ts +217 -143
- package/src/parse/diffText.ts +36 -19
- package/src/parse/logXml.ts +28 -23
- package/src/parse/statusXml.ts +4 -2
- package/src/response.ts +759 -0
- package/src/tools/composite.ts +12 -8
- package/src/tools/readonly.ts +47 -35
- package/src/types.ts +7 -6
- package/tests/diff-redaction.test.ts +72 -9
- package/tests/integration-svn.test.ts +13 -4
- package/tests/parsers.test.ts +27 -9
- package/tests/response.test.ts +716 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,36 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
All notable changes to the SVN MCP are recorded here.
|
|
4
|
-
|
|
5
|
-
## [1.
|
|
3
|
+
All notable changes to the SVN MCP are recorded here.
|
|
4
|
+
|
|
5
|
+
## [1.1.0] - 2026-07-20
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Added `compact`, `standard`, and `full` MCP response modes with a compact default and the
|
|
10
|
+
`SVN_MCP_RESPONSE_MODE` server override.
|
|
11
|
+
- Added bounded status results, diff continuation, log revision cursors, opt-in log changed paths,
|
|
12
|
+
field projection for info/property reads, failure-oriented EOL output, and compact mutation and
|
|
13
|
+
precommit receipts.
|
|
14
|
+
- Added response-size coverage for large status/log/diff payloads and compact safety receipts.
|
|
15
|
+
- Added a repeatable live MCP protocol response benchmark backed by a disposable local repository
|
|
16
|
+
and equivalent raw SVN commands.
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- Successful compact/standard calls no longer duplicate raw SVN stdout when parsed fields already
|
|
21
|
+
represent it; failures keep bounded diagnostics.
|
|
22
|
+
- Changed `svn_log` changed-path collection from opt-out to opt-in and reduced the default diff
|
|
23
|
+
excerpt from 800 to 200 lines, with a hard 2,000-line maximum.
|
|
24
|
+
- Capped stdout/stderr summaries at 16,000 characters in addition to the existing 200-line cap.
|
|
25
|
+
- Bounded opt-in log details, diff file summaries, property reads, conflicts, and precommit failure
|
|
26
|
+
lists with explicit truncation or continuation metadata.
|
|
27
|
+
- Compact precommit now distinguishes an evaluated guard refusal from an early diagnostic failure.
|
|
28
|
+
- Compact precommit diff totals count only paths with content, binary, or property changes.
|
|
29
|
+
- Preserved numeric-looking log authors/messages as strings and named ignored, external, and
|
|
30
|
+
property-only statuses consistently.
|
|
31
|
+
- Redacted credential-like URL content in compact log/property values and projected repository URLs.
|
|
32
|
+
|
|
33
|
+
## [1.0.0] - 2026-07-08
|
|
6
34
|
|
|
7
35
|
### Changed
|
|
8
36
|
|
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`.
|
|
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
6
|
|
|
7
7
|
Requirements: Windows, Node.js 20 or newer, Git, and access to the public npm registry. The bundled
|
|
8
8
|
SlikSVN and dos2unix runtime payload is Windows-only.
|
|
@@ -100,7 +100,18 @@ The MCP is not tied to one SVN checkout. If a tool call supplies absolute paths
|
|
|
100
100
|
|
|
101
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
102
|
|
|
103
|
-
Environment variables are not required for normal use.
|
|
103
|
+
Environment variables are not required for normal use. `SVN_MCP_RESPONSE_MODE` selects `compact`
|
|
104
|
+
(default), `standard`, or `full` responses. Compact mode returns bounded structured results and
|
|
105
|
+
short text receipts; use `responseMode: "full"` on a call when bounded raw SVN diagnostics are needed.
|
|
106
|
+
Errors retain bounded stdout/stderr diagnostics in every mode. Other development/test escape
|
|
107
|
+
hatches are `SVN_AGENT_BIN_DIR`, `SVN_AGENT_SVN_PATH`, `SVN_AGENT_DOS2UNIX_DIR`,
|
|
108
|
+
`SVN_AGENT_TIMEOUT_MS`, and `SVN_AGENT_MAX_DIFF_LINES`.
|
|
109
|
+
|
|
110
|
+
High-volume reads are bounded by default. Log messages and changed paths are capped and opt-in
|
|
111
|
+
where appropriate. Diff collection defaults to 200 lines, compact excerpts are capped at 3,000
|
|
112
|
+
characters, and large file/property/status/EOL collections expose explicit continuation cursors.
|
|
113
|
+
Compact mode changes response size only; path containment, mutation guards, EOL checks,
|
|
114
|
+
mixed-revision checks, and commit verification run unchanged.
|
|
104
115
|
|
|
105
116
|
## Commands
|
|
106
117
|
|
|
@@ -109,7 +120,8 @@ Environment variables are not required for normal use. They are development/test
|
|
|
109
120
|
| `npm run dev` | Run the TypeScript entry point during development |
|
|
110
121
|
| `npm run typecheck` | Check TypeScript without emitting build output |
|
|
111
122
|
| `npm run build` | Compile `src/` into `dist/` |
|
|
112
|
-
| `npm test` | Run the Jest test suite |
|
|
123
|
+
| `npm test` | Run the Jest test suite |
|
|
124
|
+
| `npm run benchmark:responses` | Compare compact MCP, full MCP, and equivalent raw SVN output sizes |
|
|
113
125
|
| `npm run prepare:local` | Build and prepare the local `current` runtime |
|
|
114
126
|
| `npm run release:prepare` | Copy `dist/` and `bin/` into `releases/v<version>` and repoint `current` |
|
|
115
127
|
| `npm run clean` | Remove root `dist/` with the Node clean script |
|
package/dist/envelope.d.ts
CHANGED
|
@@ -29,11 +29,4 @@ export declare function envelopeFromRun(input: {
|
|
|
29
29
|
}): Envelope;
|
|
30
30
|
export declare function failEnvelope(command: string, cwd: string, note: string, extra?: Partial<Envelope>): Envelope;
|
|
31
31
|
export declare function noteFromRun(run: RunResult): string;
|
|
32
|
-
export declare function toToolResult<T extends Envelope>(payload: T): {
|
|
33
|
-
content: Array<{
|
|
34
|
-
type: "text";
|
|
35
|
-
text: string;
|
|
36
|
-
}>;
|
|
37
|
-
structuredContent: T;
|
|
38
|
-
};
|
|
39
32
|
//# sourceMappingURL=envelope.d.ts.map
|
package/dist/envelope.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../src/envelope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../src/envelope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAK7E,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAkBrE;AACD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAUtD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMhD;AAMD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAwB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAgBlH;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,aAAa,CAAC,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;IAC1C,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,GAAG,QAAQ,CAgBX;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE;IACrC,EAAE,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACzB,GAAG,EAAE,SAAS,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,aAAa,CAAC,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;IAC1C,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACjC,GAAG,QAAQ,CAaX;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAc5G;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAiClD"}
|
package/dist/envelope.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
const DEFAULT_SUMMARY_LINES = 200;
|
|
2
|
+
const DEFAULT_SUMMARY_CHARS = 16000;
|
|
2
3
|
export function redactArgv(executable, args) {
|
|
3
4
|
const redacted = [executable, ...args];
|
|
4
5
|
for (let index = 0; index < redacted.length; index += 1) {
|
|
@@ -39,11 +40,12 @@ export function summarizeText(text, maxLines = DEFAULT_SUMMARY_LINES) {
|
|
|
39
40
|
}
|
|
40
41
|
const normalized = text.replace(/\r\n/g, "\n").replace(/\r/g, "\n");
|
|
41
42
|
const lines = normalized.split("\n");
|
|
42
|
-
if (lines.length <= maxLines) {
|
|
43
|
+
if (lines.length <= maxLines && normalized.length <= DEFAULT_SUMMARY_CHARS) {
|
|
43
44
|
return { text: normalized, truncated: false };
|
|
44
45
|
}
|
|
46
|
+
const lineLimited = lines.slice(0, maxLines).join("\n");
|
|
45
47
|
return {
|
|
46
|
-
text:
|
|
48
|
+
text: lineLimited.slice(0, DEFAULT_SUMMARY_CHARS),
|
|
47
49
|
truncated: true
|
|
48
50
|
};
|
|
49
51
|
}
|
|
@@ -123,15 +125,4 @@ export function noteFromRun(run) {
|
|
|
123
125
|
}
|
|
124
126
|
return run.exitCode === 0 ? "" : "svn command failed";
|
|
125
127
|
}
|
|
126
|
-
export function toToolResult(payload) {
|
|
127
|
-
return {
|
|
128
|
-
content: [
|
|
129
|
-
{
|
|
130
|
-
type: "text",
|
|
131
|
-
text: JSON.stringify(payload, null, 2)
|
|
132
|
-
}
|
|
133
|
-
],
|
|
134
|
-
structuredContent: payload
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
128
|
//# sourceMappingURL=envelope.js.map
|
package/dist/envelope.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope.js","sourceRoot":"","sources":["../src/envelope.ts"],"names":[],"mappings":"AAEA,MAAM,qBAAqB,GAAG,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"envelope.js","sourceRoot":"","sources":["../src/envelope.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
3
|
export declare const serverName = "svn";
|
|
4
|
-
export declare const serverVersion = "1.
|
|
4
|
+
export declare const serverVersion = "1.1.0";
|
|
5
5
|
export declare const readonlyMode: boolean;
|
|
6
6
|
export declare function createServer(): McpServer;
|
|
7
7
|
export declare function main(): Promise<void>;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA6BpE,eAAO,MAAM,UAAU,QAAQ,CAAC;AAChC,eAAO,MAAM,aAAa,UAAU,CAAC;AACrC,eAAO,MAAM,YAAY,SAAmB,CAAC;AAE7C,wBAAgB,YAAY,IAAI,SAAS,CAqVxC;AAuBD,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAY1C"}
|
package/dist/index.js
CHANGED
|
@@ -4,8 +4,8 @@ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
|
|
|
4
4
|
import fs from "node:fs";
|
|
5
5
|
import { pathToFileURL } from "node:url";
|
|
6
6
|
import * as z from "zod/v4";
|
|
7
|
-
import { toToolResult } from "./envelope.js";
|
|
8
7
|
import { readonlyMode as isReadonlyMode } from "./guards.js";
|
|
8
|
+
import { toToolResult } from "./response.js";
|
|
9
9
|
import { startupProbe } from "./runner.js";
|
|
10
10
|
import { eolFixVerified, svnPrecommit } from "./tools/composite.js";
|
|
11
11
|
import { svnDiagnose } from "./tools/diagnose.js";
|
|
@@ -13,171 +13,243 @@ import { eolCheck, svnDiff, svnInfo, svnLog, svnPropget, svnStatus } from "./too
|
|
|
13
13
|
import { svnSelfCheck } from "./tools/selfcheck.js";
|
|
14
14
|
import { svnAdd, svnCleanup, svnCommit, svnCopy, svnExport, svnImport, svnMove, svnPropset, svnPropsetEolStyle, svnRename, svnResolved, svnRevert, svnUpdate } from "./tools/mutating.js";
|
|
15
15
|
export const serverName = "svn";
|
|
16
|
-
export const serverVersion = "1.
|
|
16
|
+
export const serverVersion = "1.1.0";
|
|
17
17
|
export const readonlyMode = isReadonlyMode();
|
|
18
18
|
export function createServer() {
|
|
19
19
|
const server = new McpServer({
|
|
20
20
|
name: serverName,
|
|
21
21
|
version: serverVersion
|
|
22
22
|
});
|
|
23
|
-
const cwd = z.string().optional().describe("Absolute
|
|
24
|
-
const paths = z.array(z.string()).describe("Explicit paths
|
|
25
|
-
const optionalPaths = z.array(z.string()).optional().describe("Optional paths
|
|
23
|
+
const cwd = z.string().optional().describe("Absolute WC directory; required for relative paths.");
|
|
24
|
+
const paths = z.array(z.string()).describe("Explicit paths inside one WC.");
|
|
25
|
+
const optionalPaths = z.array(z.string()).optional().describe("Optional paths inside one WC.");
|
|
26
26
|
const revision = z.string().regex(/^(?:\d+|HEAD|BASE|COMMITTED|PREV|\{[^}\r\n]+\})$/i).optional();
|
|
27
27
|
const propertyName = z.string().regex(/^[A-Za-z_][A-Za-z0-9_.:-]{0,127}$/);
|
|
28
|
+
const responseMode = z.enum(["compact", "standard", "full"]).optional();
|
|
29
|
+
const response = { responseMode };
|
|
30
|
+
const cursor = z.string().regex(/^\d+$/).optional();
|
|
31
|
+
const infoField = z.enum([
|
|
32
|
+
"root", "revision", "url", "repositoryRoot", "mixedRevision", "revisionRange",
|
|
33
|
+
"localModifications", "switched", "partial", "remoteHeadRevision", "staleBase"
|
|
34
|
+
]);
|
|
35
|
+
const propertyField = z.enum(["path", "name", "value"]);
|
|
28
36
|
server.registerTool("svn_self_check", {
|
|
29
|
-
description: "
|
|
30
|
-
inputSchema: { cwd }
|
|
31
|
-
}, async (args) =>
|
|
37
|
+
description: "Check package and bundled runtime health.",
|
|
38
|
+
inputSchema: { cwd, detailed: z.boolean().optional(), ...response }
|
|
39
|
+
}, async (args) => publicToolResult("svn_self_check", await svnSelfCheck(compactArgs(args)), args));
|
|
32
40
|
server.registerTool("svn_diagnose", {
|
|
33
|
-
description: "
|
|
34
|
-
inputSchema: { cwd, paths: optionalPaths }
|
|
35
|
-
}, async (args) =>
|
|
41
|
+
description: "Diagnose local and remote working-copy health.",
|
|
42
|
+
inputSchema: { cwd, paths: optionalPaths, ...response }
|
|
43
|
+
}, async (args) => publicToolResult("svn_diagnose", await svnDiagnose(compactArgs(args)), args));
|
|
36
44
|
server.registerTool("svn_status", {
|
|
37
|
-
description: "
|
|
38
|
-
inputSchema: {
|
|
39
|
-
|
|
45
|
+
description: "Return scoped status, counts, and conflicts.",
|
|
46
|
+
inputSchema: {
|
|
47
|
+
cwd,
|
|
48
|
+
paths: optionalPaths,
|
|
49
|
+
includeIgnored: z.boolean().optional(),
|
|
50
|
+
hideNoise: z.boolean().optional(),
|
|
51
|
+
statuses: z.array(z.string()).max(16).optional(),
|
|
52
|
+
includeUnversioned: z.boolean().optional(),
|
|
53
|
+
countOnly: z.boolean().optional(),
|
|
54
|
+
maxItems: z.number().int().min(1).max(500).optional(),
|
|
55
|
+
cursor,
|
|
56
|
+
...response
|
|
57
|
+
}
|
|
58
|
+
}, async (args) => publicToolResult("svn_status", await svnStatus(compactArgs(args)), args));
|
|
40
59
|
server.registerTool("svn_info", {
|
|
41
|
-
description: "
|
|
42
|
-
inputSchema: {
|
|
43
|
-
|
|
60
|
+
description: "Return WC revision and mixed-revision state.",
|
|
61
|
+
inputSchema: {
|
|
62
|
+
cwd,
|
|
63
|
+
paths: optionalPaths,
|
|
64
|
+
fields: z.array(infoField).max(11).optional(),
|
|
65
|
+
...response
|
|
66
|
+
}
|
|
67
|
+
}, async (args) => publicToolResult("svn_info", await svnInfo(compactArgs(args)), args));
|
|
44
68
|
server.registerTool("svn_diff", {
|
|
45
|
-
description: "
|
|
69
|
+
description: "Return a bounded scoped diff and per-file counts.",
|
|
46
70
|
inputSchema: {
|
|
47
71
|
cwd,
|
|
48
72
|
paths,
|
|
49
73
|
ignoreEol: z.boolean().optional(),
|
|
50
|
-
lineLimit: z.number().int().
|
|
74
|
+
lineLimit: z.number().int().min(1).max(2000).optional(),
|
|
75
|
+
diffMode: z.enum(["summary", "compact", "full"]).optional(),
|
|
76
|
+
maxChars: z.number().int().min(256).max(64000).optional(),
|
|
77
|
+
maxHunksPerFile: z.number().int().min(1).max(20).optional(),
|
|
78
|
+
maxFiles: z.number().int().min(1).max(500).optional(),
|
|
79
|
+
fileCursor: cursor,
|
|
80
|
+
cursor,
|
|
81
|
+
...response
|
|
51
82
|
}
|
|
52
|
-
}, async (args) =>
|
|
83
|
+
}, async (args) => publicToolResult("svn_diff", await svnDiff(compactArgs(args)), args));
|
|
53
84
|
server.registerTool("svn_log", {
|
|
54
|
-
description: "
|
|
85
|
+
description: "Return bounded structured history.",
|
|
55
86
|
inputSchema: {
|
|
56
87
|
cwd,
|
|
57
88
|
paths: optionalPaths,
|
|
58
|
-
limit: z.number().int().
|
|
59
|
-
verbose: z.boolean().optional()
|
|
89
|
+
limit: z.number().int().min(1).max(100).optional(),
|
|
90
|
+
verbose: z.boolean().optional(),
|
|
91
|
+
fullMessage: z.boolean().optional(),
|
|
92
|
+
changedPaths: z.boolean().optional(),
|
|
93
|
+
maxMessageChars: z.number().int().min(32).max(8000).optional(),
|
|
94
|
+
maxChangedPaths: z.number().int().min(1).max(500).optional(),
|
|
95
|
+
cursor,
|
|
96
|
+
...response
|
|
60
97
|
}
|
|
61
|
-
}, async (args) =>
|
|
98
|
+
}, async (args) => publicToolResult("svn_log", await svnLog(compactArgs(args)), args));
|
|
62
99
|
server.registerTool("eol_check", {
|
|
63
|
-
description: "
|
|
64
|
-
inputSchema: {
|
|
65
|
-
|
|
100
|
+
description: "Check EOL, BOM, and svn:eol-style.",
|
|
101
|
+
inputSchema: {
|
|
102
|
+
cwd,
|
|
103
|
+
paths,
|
|
104
|
+
includePassing: z.boolean().optional(),
|
|
105
|
+
countOnly: z.boolean().optional(),
|
|
106
|
+
maxItems: z.number().int().min(1).max(500).optional(),
|
|
107
|
+
cursor,
|
|
108
|
+
...response
|
|
109
|
+
}
|
|
110
|
+
}, async (args) => publicToolResult("eol_check", await eolCheck(compactArgs(args)), args));
|
|
66
111
|
server.registerTool("svn_propget", {
|
|
67
|
-
description: "Read one
|
|
112
|
+
description: "Read one property from explicit paths.",
|
|
68
113
|
inputSchema: {
|
|
69
114
|
cwd,
|
|
70
115
|
paths,
|
|
71
|
-
name: propertyName
|
|
116
|
+
name: propertyName,
|
|
117
|
+
fields: z.array(propertyField).max(3).optional(),
|
|
118
|
+
maxValueChars: z.number().int().min(256).max(64000).optional(),
|
|
119
|
+
countOnly: z.boolean().optional(),
|
|
120
|
+
maxItems: z.number().int().min(1).max(500).optional(),
|
|
121
|
+
cursor,
|
|
122
|
+
...response
|
|
72
123
|
}
|
|
73
|
-
}, async (args) =>
|
|
124
|
+
}, async (args) => publicToolResult("svn_propget", await svnPropget(compactArgs(args)), args));
|
|
74
125
|
server.registerTool("svn_precommit", {
|
|
75
|
-
description: "
|
|
126
|
+
description: "Run guarded status, diff, EOL, and revision checks.",
|
|
76
127
|
inputSchema: {
|
|
77
128
|
cwd,
|
|
78
129
|
paths,
|
|
79
|
-
lineLimit: z.number().int().
|
|
130
|
+
lineLimit: z.number().int().min(1).max(2000).optional(),
|
|
131
|
+
includeDiff: z.boolean().optional(),
|
|
132
|
+
maxChars: z.number().int().min(256).max(64000).optional(),
|
|
133
|
+
...response
|
|
80
134
|
}
|
|
81
|
-
}, async (args) =>
|
|
135
|
+
}, async (args) => publicToolResult("svn_precommit", await svnPrecommit(compactArgs(args)), args));
|
|
82
136
|
server.registerTool("eol_fix_verified", {
|
|
83
|
-
description: "
|
|
137
|
+
description: "Normalize and verify one file's EOL.",
|
|
84
138
|
inputSchema: {
|
|
85
139
|
cwd,
|
|
86
140
|
path: z.string(),
|
|
87
141
|
target: z.enum(["crlf", "lf"]).optional(),
|
|
88
142
|
removeBom: z.boolean().optional(),
|
|
89
143
|
dryRun: z.boolean().optional(),
|
|
90
|
-
allowLarge: z.boolean().optional()
|
|
144
|
+
allowLarge: z.boolean().optional(),
|
|
145
|
+
...response
|
|
91
146
|
}
|
|
92
|
-
}, async (args) =>
|
|
147
|
+
}, async (args) => publicToolResult("eol_fix_verified", await eolFixVerified(compactArgs(args)), args));
|
|
93
148
|
server.registerTool("svn_add", {
|
|
94
|
-
description: "Guarded
|
|
95
|
-
inputSchema: { cwd, paths, allowRecursive: z.boolean().optional() }
|
|
96
|
-
}, async (args) =>
|
|
149
|
+
description: "Guarded add for explicit paths.",
|
|
150
|
+
inputSchema: { cwd, paths, allowRecursive: z.boolean().optional(), ...response }
|
|
151
|
+
}, async (args) => publicToolResult("svn_add", await svnAdd(compactArgs(args)), args));
|
|
97
152
|
server.registerTool("svn_commit", {
|
|
98
|
-
description: "Guarded
|
|
153
|
+
description: "Guarded commit with explicit paths and message.",
|
|
99
154
|
inputSchema: {
|
|
100
155
|
cwd,
|
|
101
156
|
paths,
|
|
102
157
|
message: z.string(),
|
|
103
|
-
riskAck: z.boolean().optional()
|
|
158
|
+
riskAck: z.boolean().optional(),
|
|
159
|
+
...response
|
|
104
160
|
}
|
|
105
|
-
}, async (args) =>
|
|
161
|
+
}, async (args) => publicToolResult("svn_commit", await svnCommit(compactArgs(args)), args));
|
|
106
162
|
server.registerTool("svn_move", {
|
|
107
|
-
description: "Guarded working-copy
|
|
108
|
-
inputSchema: { cwd, src: z.string(), dest: z.string() }
|
|
109
|
-
}, async (args) =>
|
|
163
|
+
description: "Guarded working-copy move.",
|
|
164
|
+
inputSchema: { cwd, src: z.string(), dest: z.string(), ...response }
|
|
165
|
+
}, async (args) => publicToolResult("svn_move", await svnMove(compactArgs(args)), args));
|
|
110
166
|
server.registerTool("svn_rename", {
|
|
111
|
-
description: "Alias for guarded working-copy
|
|
112
|
-
inputSchema: { cwd, src: z.string(), dest: z.string() }
|
|
113
|
-
}, async (args) =>
|
|
167
|
+
description: "Alias for guarded working-copy move.",
|
|
168
|
+
inputSchema: { cwd, src: z.string(), dest: z.string(), ...response }
|
|
169
|
+
}, async (args) => publicToolResult("svn_rename", await svnRename(compactArgs(args)), args));
|
|
114
170
|
server.registerTool("svn_copy", {
|
|
115
|
-
description: "Guarded working-copy
|
|
116
|
-
inputSchema: { cwd, src: z.string(), dest: z.string() }
|
|
117
|
-
}, async (args) =>
|
|
171
|
+
description: "Guarded working-copy copy.",
|
|
172
|
+
inputSchema: { cwd, src: z.string(), dest: z.string(), ...response }
|
|
173
|
+
}, async (args) => publicToolResult("svn_copy", await svnCopy(compactArgs(args)), args));
|
|
118
174
|
server.registerTool("svn_update", {
|
|
119
|
-
description: "Guarded
|
|
120
|
-
inputSchema: { cwd, paths: optionalPaths, updateAll: z.boolean().optional() }
|
|
121
|
-
}, async (args) =>
|
|
175
|
+
description: "Guarded update with conflicts postponed.",
|
|
176
|
+
inputSchema: { cwd, paths: optionalPaths, updateAll: z.boolean().optional(), ...response }
|
|
177
|
+
}, async (args) => publicToolResult("svn_update", await svnUpdate(compactArgs(args)), args));
|
|
122
178
|
server.registerTool("svn_revert", {
|
|
123
|
-
description: "Preview or perform guarded
|
|
179
|
+
description: "Preview or perform a guarded revert.",
|
|
124
180
|
inputSchema: {
|
|
125
181
|
cwd,
|
|
126
182
|
paths,
|
|
127
183
|
allowRecursive: z.boolean().optional(),
|
|
128
|
-
dryRun: z.boolean().optional()
|
|
184
|
+
dryRun: z.boolean().optional(),
|
|
185
|
+
...response
|
|
129
186
|
}
|
|
130
|
-
}, async (args) =>
|
|
187
|
+
}, async (args) => publicToolResult("svn_revert", await svnRevert(compactArgs(args)), args));
|
|
131
188
|
server.registerTool("svn_resolved", {
|
|
132
|
-
description: "Resolve one
|
|
189
|
+
description: "Resolve one conflict with an explicit mode.",
|
|
133
190
|
inputSchema: {
|
|
134
191
|
cwd,
|
|
135
192
|
path: z.string(),
|
|
136
|
-
accept: z.enum(["working", "mine-full", "theirs-full", "base"])
|
|
193
|
+
accept: z.enum(["working", "mine-full", "theirs-full", "base"]),
|
|
194
|
+
...response
|
|
137
195
|
}
|
|
138
|
-
}, async (args) =>
|
|
196
|
+
}, async (args) => publicToolResult("svn_resolved", await svnResolved(compactArgs(args)), args));
|
|
139
197
|
server.registerTool("svn_cleanup", {
|
|
140
|
-
description: "Run
|
|
141
|
-
inputSchema: { cwd, path: z.string().optional() }
|
|
142
|
-
}, async (args) =>
|
|
198
|
+
description: "Run non-destructive WC cleanup.",
|
|
199
|
+
inputSchema: { cwd, path: z.string().optional(), ...response }
|
|
200
|
+
}, async (args) => publicToolResult("svn_cleanup", await svnCleanup(compactArgs(args)), args));
|
|
143
201
|
server.registerTool("svn_propset_eol_style", {
|
|
144
|
-
description: "Set svn:eol-style
|
|
202
|
+
description: "Set svn:eol-style on explicit files.",
|
|
145
203
|
inputSchema: {
|
|
146
204
|
cwd,
|
|
147
205
|
paths,
|
|
148
|
-
style: z.enum(["native", "LF", "CRLF"]).optional()
|
|
206
|
+
style: z.enum(["native", "LF", "CRLF"]).optional(),
|
|
207
|
+
...response
|
|
149
208
|
}
|
|
150
|
-
}, async (args) =>
|
|
209
|
+
}, async (args) => publicToolResult("svn_propset_eol_style", await svnPropsetEolStyle(compactArgs(args)), args));
|
|
151
210
|
server.registerTool("svn_propset", {
|
|
152
|
-
description: "Guarded
|
|
211
|
+
description: "Guarded property write on explicit paths.",
|
|
153
212
|
inputSchema: {
|
|
154
213
|
cwd,
|
|
155
214
|
paths,
|
|
156
215
|
name: propertyName,
|
|
157
216
|
value: z.string().max(16000),
|
|
158
|
-
riskAck: z.boolean().optional()
|
|
217
|
+
riskAck: z.boolean().optional(),
|
|
218
|
+
...response
|
|
159
219
|
}
|
|
160
|
-
}, async (args) =>
|
|
220
|
+
}, async (args) => publicToolResult("svn_propset", await svnPropset(compactArgs(args)), args));
|
|
161
221
|
server.registerTool("svn_export", {
|
|
162
|
-
description: "
|
|
222
|
+
description: "Export an explicit SVN source.",
|
|
163
223
|
inputSchema: {
|
|
164
224
|
cwd,
|
|
165
225
|
src: z.string(),
|
|
166
226
|
dest: z.string(),
|
|
167
|
-
revision
|
|
227
|
+
revision,
|
|
228
|
+
...response
|
|
168
229
|
}
|
|
169
|
-
}, async (args) =>
|
|
230
|
+
}, async (args) => publicToolResult("svn_export", await svnExport(compactArgs(args)), args));
|
|
170
231
|
server.registerTool("svn_import", {
|
|
171
|
-
description: "
|
|
232
|
+
description: "Import with an explicit source, URL, and message.",
|
|
172
233
|
inputSchema: {
|
|
173
234
|
cwd,
|
|
174
235
|
src: z.string(),
|
|
175
236
|
url: z.string(),
|
|
176
|
-
message: z.string()
|
|
237
|
+
message: z.string(),
|
|
238
|
+
...response
|
|
177
239
|
}
|
|
178
|
-
}, async (args) =>
|
|
240
|
+
}, async (args) => publicToolResult("svn_import", await svnImport(compactArgs(args)), args));
|
|
179
241
|
return server;
|
|
180
242
|
}
|
|
243
|
+
function publicToolResult(tool, payload, request) {
|
|
244
|
+
const requestedMode = request.responseMode;
|
|
245
|
+
const responseMode = requestedMode === "compact" || requestedMode === "standard" || requestedMode === "full"
|
|
246
|
+
? requestedMode
|
|
247
|
+
: undefined;
|
|
248
|
+
return toToolResult(tool, payload, {
|
|
249
|
+
...(responseMode ? { responseMode } : {}),
|
|
250
|
+
request
|
|
251
|
+
});
|
|
252
|
+
}
|
|
181
253
|
function compactArgs(args) {
|
|
182
254
|
return Object.fromEntries(Object.entries(args).filter(([, value]) => value !== undefined));
|
|
183
255
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,YAAY,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EACL,MAAM,EACN,UAAU,EACV,SAAS,EACT,OAAO,EACP,SAAS,EACT,SAAS,EACT,OAAO,EACP,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,WAAW,EACX,SAAS,EACT,SAAS,EACV,MAAM,qBAAqB,CAAC;AAE7B,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC;AAChC,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC;AACrC,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,EAAE,CAAC;AAE7C,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,aAAa;KACvB,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8HAA8H,CAAC,CAAC;IAC3K,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,+EAA+E,CAAC,CAAC;IAC5H,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+EAA+E,CAAC,CAAC;IAC/I,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC,QAAQ,EAAE,CAAC;IAClG,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAE3E,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,WAAW,EAAE,yGAAyG;QACtH,WAAW,EAAE,EAAE,GAAG,EAAE;KACrB,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CACpE,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,WAAW,EAAE,6GAA6G;QAC1H,WAAW,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE;KAC3C,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CACnE,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,WAAW,EAAE,0EAA0E;QACvF,WAAW,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE;KACtH,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CACjE,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,UAAU,EACV;QACE,WAAW,EAAE,4DAA4D;QACzE,WAAW,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE;KAC3C,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAC/D,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,UAAU,EACV;QACE,WAAW,EAAE,uGAAuG;QACpH,WAAW,EAAE;YACX,GAAG;YACH,KAAK;YACL,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;SAClD;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAC/D,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,SAAS,EACT;QACE,WAAW,EAAE,gDAAgD;QAC7D,WAAW,EAAE;YACX,GAAG;YACH,KAAK,EAAE,aAAa;YACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;YAC7C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SAChC;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAC9D,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,WAAW,EACX;QACE,WAAW,EAAE,8DAA8D;QAC3E,WAAW,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;KAC5B,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAChE,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,WAAW,EAAE,qDAAqD;QAClE,WAAW,EAAE;YACX,GAAG;YACH,KAAK;YACL,IAAI,EAAE,YAAY;SACnB;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAClE,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,WAAW,EAAE,qHAAqH;QAClI,WAAW,EAAE;YACX,GAAG;YACH,KAAK;YACL,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;SAClD;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CACpE,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EAAE,8GAA8G;QAC3H,WAAW,EAAE;YACX,GAAG;YACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;YACzC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YACjC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC9B,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SACnC;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CACtE,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,SAAS,EACT;QACE,WAAW,EAAE,4GAA4G;QACzH,WAAW,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE;KACpE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAC9D,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,WAAW,EAAE,qEAAqE;QAClF,WAAW,EAAE;YACX,GAAG;YACH,KAAK;YACL,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;YACnB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SAChC;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CACjE,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,UAAU,EACV;QACE,WAAW,EAAE,+DAA+D;QAC5E,WAAW,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE;KACxD,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAC/D,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,WAAW,EAAE,gFAAgF;QAC7F,WAAW,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE;KACxD,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CACjE,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,UAAU,EACV;QACE,WAAW,EAAE,+DAA+D;QAC5E,WAAW,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE;KACxD,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAC/D,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,WAAW,EAAE,4CAA4C;QACzD,WAAW,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE;KAC9E,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CACjE,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,WAAW,EAAE,2DAA2D;QACxE,WAAW,EAAE;YACX,GAAG;YACH,KAAK;YACL,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YACtC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SAC/B;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CACjE,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,WAAW,EAAE,2DAA2D;QACxE,WAAW,EAAE;YACX,GAAG;YACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;SAChE;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CACnE,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,WAAW,EAAE,oDAAoD;QACjE,WAAW,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;KAClD,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAClE,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,WAAW,EAAE,oFAAoF;QACjG,WAAW,EAAE;YACX,GAAG;YACH,KAAK;YACL,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;SACnD;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAC1E,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,WAAW,EAAE,sDAAsD;QACnE,WAAW,EAAE;YACX,GAAG;YACH,KAAK;YACL,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;YAC5B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SAChC;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAClE,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,WAAW,EAAE,0BAA0B;QACvC,WAAW,EAAE;YACX,GAAG;YACH,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;YACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,QAAQ;SACT;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CACjE,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,WAAW,EAAE,6CAA6C;QAC1D,WAAW,EAAE;YACX,GAAG;YACH,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;YACf,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;YACf,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;SACpB;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CACjE,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAQD,SAAS,WAAW,CAAoC,IAAO;IAC7D,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAmB,CAAC;AAC/G,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,MAAM,KAAK,GAAG,MAAM,YAAY,EAAE,CAAC;IACnC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,4CAA4C,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;IAChG,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,KAAK,CAAC,WAAW,aAAa,oBAAoB,cAAc,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACrG,CAAC;AAED,6EAA6E;AAC7E,4EAA4E;AAC5E,2EAA2E;AAC3E,4DAA4D;AAC5D,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE;IAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC,EAAE,CAAC;AAEL,IAAI,gBAAgB,EAAE,CAAC;IACrB,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QAC9B,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/parse/diffText.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { DiffSummary } from "../types.js";
|
|
2
2
|
export declare function parseDiffText(text: string, lineLimit: number): DiffSummary;
|
|
3
|
-
export declare function createDiffAccumulator(lineLimit: number): {
|
|
3
|
+
export declare function createDiffAccumulator(lineLimit: number, lineOffset?: number): {
|
|
4
4
|
pushLine: (line: string) => void;
|
|
5
5
|
summary: () => DiffSummary;
|
|
6
6
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diffText.d.ts","sourceRoot":"","sources":["../../src/parse/diffText.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,WAAW,EAAE,MAAM,aAAa,CAAC;AAEhE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,CAU1E;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG;
|
|
1
|
+
{"version":3,"file":"diffText.d.ts","sourceRoot":"","sources":["../../src/parse/diffText.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,WAAW,EAAE,MAAM,aAAa,CAAC;AAEhE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,CAU1E;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG;IACxE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,MAAM,WAAW,CAAC;CAC5B,CAiEA"}
|