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.
Files changed (51) hide show
  1. package/CHANGELOG.md +31 -3
  2. package/README.md +15 -3
  3. package/dist/envelope.d.ts +0 -7
  4. package/dist/envelope.d.ts.map +1 -1
  5. package/dist/envelope.js +4 -13
  6. package/dist/envelope.js.map +1 -1
  7. package/dist/index.d.ts +1 -1
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +147 -75
  10. package/dist/index.js.map +1 -1
  11. package/dist/parse/diffText.d.ts +1 -1
  12. package/dist/parse/diffText.d.ts.map +1 -1
  13. package/dist/parse/diffText.js +21 -5
  14. package/dist/parse/diffText.js.map +1 -1
  15. package/dist/parse/logXml.d.ts.map +1 -1
  16. package/dist/parse/logXml.js +10 -6
  17. package/dist/parse/logXml.js.map +1 -1
  18. package/dist/parse/statusXml.d.ts.map +1 -1
  19. package/dist/parse/statusXml.js +2 -0
  20. package/dist/parse/statusXml.js.map +1 -1
  21. package/dist/response.d.ts +17 -0
  22. package/dist/response.d.ts.map +1 -0
  23. package/dist/response.js +659 -0
  24. package/dist/response.js.map +1 -0
  25. package/dist/tools/composite.d.ts.map +1 -1
  26. package/dist/tools/composite.js +4 -0
  27. package/dist/tools/composite.js.map +1 -1
  28. package/dist/tools/readonly.d.ts +3 -0
  29. package/dist/tools/readonly.d.ts.map +1 -1
  30. package/dist/tools/readonly.js +14 -5
  31. package/dist/tools/readonly.js.map +1 -1
  32. package/dist/types.d.ts +1 -0
  33. package/dist/types.d.ts.map +1 -1
  34. package/docs/README.md +3 -2
  35. package/docs/SPEC.md +83 -38
  36. package/docs/decisions/ADR-005-use-bounded-public-response-modes.md +29 -0
  37. package/package.json +2 -1
  38. package/scripts/benchmark-responses.mjs +128 -0
  39. package/src/envelope.ts +17 -31
  40. package/src/index.ts +217 -143
  41. package/src/parse/diffText.ts +36 -19
  42. package/src/parse/logXml.ts +28 -23
  43. package/src/parse/statusXml.ts +4 -2
  44. package/src/response.ts +759 -0
  45. package/src/tools/composite.ts +12 -8
  46. package/src/tools/readonly.ts +47 -35
  47. package/src/types.ts +7 -6
  48. package/tests/diff-redaction.test.ts +72 -9
  49. package/tests/integration-svn.test.ts +13 -4
  50. package/tests/parsers.test.ts +27 -9
  51. 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.0.0] - 2026-07-08
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`. Version `1.0.0` is the first public open-source release and can prepare a self-contained local runtime bundle under `releases/v1.0.0`.
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. They are development/test escape hatches only: `SVN_AGENT_BIN_DIR`, `SVN_AGENT_SVN_PATH`, `SVN_AGENT_DOS2UNIX_DIR`, `SVN_AGENT_TIMEOUT_MS`, and `SVN_AGENT_MAX_DIFF_LINES`.
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 |
@@ -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
@@ -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;AAI7E,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAkBrE;AAED,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,CAelH;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;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,QAAQ,EAAE,OAAO,EAAE,CAAC,GAAG;IAC5D,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,iBAAiB,EAAE,CAAC,CAAC;CACtB,CAUA"}
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: lines.slice(0, maxLines).join("\n"),
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
@@ -1 +1 @@
1
- {"version":3,"file":"envelope.js","sourceRoot":"","sources":["../src/envelope.ts"],"names":[],"mappings":"AAEA,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC,MAAM,UAAU,UAAU,CAAC,UAAkB,EAAE,IAAc;IAC3D,MAAM,QAAQ,GAAG,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,CAAC;IACvC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,CAAC,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,YAAY,CAAC,IAAI,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;YAClF,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;YAC5B,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACnE,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACvC,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;YACvD,SAAS;QACX,CAAC;QACD,QAAQ,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;IACzC,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,MAAM,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,WAAW,CAAC,OAAO,CACxB,mFAAmF,EACnF,OAAO,CACR,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,KAAK,CAAC,OAAO,CAAC,2CAA2C,EAAE,YAAY,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,QAAQ,GAAG,qBAAqB;IAC1E,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACxC,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC7B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAChD,CAAC;IAED,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACzC,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAW9B;IACC,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;IAE7D,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;QAChC,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,EAAE;QACxC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE;QAChC,cAAc,EAAE,MAAM,CAAC,IAAI;QAC3B,cAAc,EAAE,MAAM,CAAC,IAAI;QAC3B,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC;QAC3E,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAQ/B;IACC,OAAO,cAAc,CAAC;QACpB,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC;QACxC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO;QAC1B,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG;QAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;QAChC,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM;QACxB,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM;QACxB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS;QACjD,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC;KAC3C,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,GAAW,EAAE,IAAY,EAAE,KAAyB;IAChG,OAAO;QACL,GAAG,cAAc,CAAC;YAChB,EAAE,EAAE,KAAK;YACT,OAAO;YACP,GAAG;YACH,IAAI;SACL,CAAC;QACF,GAAG,KAAK;QACR,EAAE,EAAE,KAAK;QACT,OAAO;QACP,GAAG;QACH,IAAI;KACL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAc;IACxC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,IAAI,GAAG,CAAC,SAAS,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QAC1F,OAAO,gMAAgM,CAAC;IAC1M,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC;IAC5C,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,OAAO,uCAAuC,CAAC;IACjD,CAAC;IACD,IAAI,yGAAyG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzH,OAAO,6DAA6D,CAAC;IACvE,CAAC;IACD,IAAI,iGAAiG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACjH,OAAO,yCAAyC,CAAC;IACnD,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,mCAAmC,CAAC;IAC7C,CAAC;IACD,IAAI,+DAA+D,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/E,OAAO,oEAAoE,CAAC;IAC9E,CAAC;IACD,IAAI,4CAA4C,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5D,OAAO,sBAAsB,CAAC;IAChC,CAAC;IACD,IAAI,qEAAqE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACrF,OAAO,iDAAiD,CAAC;IAC3D,CAAC;IAED,OAAO,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,YAAY,CAAqB,OAAU;IAIzD,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;aACvC;SACF;QACD,iBAAiB,EAAE,OAAO;KAC3B,CAAC;AACJ,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.0.0";
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>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA4BpE,eAAO,MAAM,UAAU,QAAQ,CAAC;AAChC,eAAO,MAAM,aAAa,UAAU,CAAC;AACrC,eAAO,MAAM,YAAY,SAAmB,CAAC;AAE7C,wBAAgB,YAAY,IAAI,SAAS,CAuRxC;AAYD,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAY1C"}
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.0.0";
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 working directory. If omitted, absolute paths identify their SVN working copy; relative paths require explicit cwd.");
24
- const paths = z.array(z.string()).describe("Explicit paths relative to cwd or absolute paths inside one SVN working copy.");
25
- const optionalPaths = z.array(z.string()).optional().describe("Optional paths relative to cwd or absolute paths inside one SVN working copy.");
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: "Report MCP release pointer, bundled runtime payload counts, startup probe, and packaging script health.",
30
- inputSchema: { cwd }
31
- }, async (args) => toToolResult(await svnSelfCheck(compactArgs(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: "Read-only working-copy diagnostics for local status, remote status, HEAD info, and latest log reachability.",
34
- inputSchema: { cwd, paths: optionalPaths }
35
- }, async (args) => toToolResult(await svnDiagnose(compactArgs(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: "Run scoped svn status and return structured changed paths and conflicts.",
38
- inputSchema: { cwd, paths: optionalPaths, includeIgnored: z.boolean().optional(), hideNoise: z.boolean().optional() }
39
- }, async (args) => toToolResult(await svnStatus(compactArgs(args))));
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: "Run svn info and detect mixed-revision working-copy state.",
42
- inputSchema: { cwd, paths: optionalPaths }
43
- }, async (args) => toToolResult(await svnInfo(compactArgs(args))));
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: "Run scoped svn diff; ignore-EOL is enabled by default with internal diff and returns per-file counts.",
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().positive().optional()
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) => toToolResult(await svnDiff(compactArgs(args))));
83
+ }, async (args) => publicToolResult("svn_diff", await svnDiff(compactArgs(args)), args));
53
84
  server.registerTool("svn_log", {
54
- description: "Run svn log and return structured log entries.",
85
+ description: "Return bounded structured history.",
55
86
  inputSchema: {
56
87
  cwd,
57
88
  paths: optionalPaths,
58
- limit: z.number().int().positive().optional(),
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) => toToolResult(await svnLog(compactArgs(args))));
98
+ }, async (args) => publicToolResult("svn_log", await svnLog(compactArgs(args)), args));
62
99
  server.registerTool("eol_check", {
63
- description: "Inspect EOL kind, BOM, and svn:eol-style for explicit files.",
64
- inputSchema: { cwd, paths }
65
- }, async (args) => toToolResult(await eolCheck(compactArgs(args))));
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 working-copy property from explicit paths.",
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) => toToolResult(await svnPropget(compactArgs(args))));
124
+ }, async (args) => publicToolResult("svn_propget", await svnPropget(compactArgs(args)), args));
74
125
  server.registerTool("svn_precommit", {
75
- description: "Composite read-only precommit check: status, ignore-EOL diff, EOL check, guard dry-run, and mixed-revision warning.",
126
+ description: "Run guarded status, diff, EOL, and revision checks.",
76
127
  inputSchema: {
77
128
  cwd,
78
129
  paths,
79
- lineLimit: z.number().int().positive().optional()
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) => toToolResult(await svnPrecommit(compactArgs(args))));
135
+ }, async (args) => publicToolResult("svn_precommit", await svnPrecommit(compactArgs(args)), args));
82
136
  server.registerTool("eol_fix_verified", {
83
- description: "Convert one file's EOL with unix2dos/dos2unix inferred from svn:eol-style, then verify the ignored-EOL diff.",
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) => toToolResult(await eolFixVerified(compactArgs(args))));
147
+ }, async (args) => publicToolResult("eol_fix_verified", await eolFixVerified(compactArgs(args)), args));
93
148
  server.registerTool("svn_add", {
94
- description: "Guarded svn add for explicit files, adding needed parent directories, or explicitly recursive directories.",
95
- inputSchema: { cwd, paths, allowRecursive: z.boolean().optional() }
96
- }, async (args) => toToolResult(await svnAdd(compactArgs(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 svn commit using a temp -F message file and explicit paths.",
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) => toToolResult(await svnCommit(compactArgs(args))));
161
+ }, async (args) => publicToolResult("svn_commit", await svnCommit(compactArgs(args)), args));
106
162
  server.registerTool("svn_move", {
107
- description: "Guarded working-copy svn move with parent directory creation.",
108
- inputSchema: { cwd, src: z.string(), dest: z.string() }
109
- }, async (args) => toToolResult(await svnMove(compactArgs(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 svn move/rename with parent directory creation.",
112
- inputSchema: { cwd, src: z.string(), dest: z.string() }
113
- }, async (args) => toToolResult(await svnRename(compactArgs(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 svn copy with parent directory creation.",
116
- inputSchema: { cwd, src: z.string(), dest: z.string() }
117
- }, async (args) => toToolResult(await svnCopy(compactArgs(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 svn update with --accept postpone.",
120
- inputSchema: { cwd, paths: optionalPaths, updateAll: z.boolean().optional() }
121
- }, async (args) => toToolResult(await svnUpdate(compactArgs(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 svn revert for explicit paths.",
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) => toToolResult(await svnRevert(compactArgs(args))));
187
+ }, async (args) => publicToolResult("svn_revert", await svnRevert(compactArgs(args)), args));
131
188
  server.registerTool("svn_resolved", {
132
- description: "Resolve one conflicted path with an explicit accept mode.",
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) => toToolResult(await svnResolved(compactArgs(args))));
196
+ }, async (args) => publicToolResult("svn_resolved", await svnResolved(compactArgs(args)), args));
139
197
  server.registerTool("svn_cleanup", {
140
- description: "Run svn cleanup without destructive cleanup flags.",
141
- inputSchema: { cwd, path: z.string().optional() }
142
- }, async (args) => toToolResult(await svnCleanup(compactArgs(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 only for explicit files whose property is missing or mismatched.",
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) => toToolResult(await svnPropsetEolStyle(compactArgs(args))));
209
+ }, async (args) => publicToolResult("svn_propset_eol_style", await svnPropsetEolStyle(compactArgs(args)), args));
151
210
  server.registerTool("svn_propset", {
152
- description: "Guarded working-copy svn propset for explicit paths.",
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) => toToolResult(await svnPropset(compactArgs(args))));
220
+ }, async (args) => publicToolResult("svn_propset", await svnPropset(compactArgs(args)), args));
161
221
  server.registerTool("svn_export", {
162
- description: "Run explicit svn export.",
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) => toToolResult(await svnExport(compactArgs(args))));
230
+ }, async (args) => publicToolResult("svn_export", await svnExport(compactArgs(args)), args));
170
231
  server.registerTool("svn_import", {
171
- description: "Run svn import with a temp -F message file.",
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) => toToolResult(await svnImport(compactArgs(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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -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;IACxD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,MAAM,WAAW,CAAC;CAC5B,CAgDA"}
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"}