@paretools/jvm 0.11.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 (58) hide show
  1. package/LICENSE +21 -0
  2. package/dist/index.d.ts +3 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +11 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/lib/formatters.d.ts +88 -0
  7. package/dist/lib/formatters.d.ts.map +1 -0
  8. package/dist/lib/formatters.js +278 -0
  9. package/dist/lib/formatters.js.map +1 -0
  10. package/dist/lib/jvm-runner.d.ts +12 -0
  11. package/dist/lib/jvm-runner.d.ts.map +1 -0
  12. package/dist/lib/jvm-runner.js +58 -0
  13. package/dist/lib/jvm-runner.js.map +1 -0
  14. package/dist/lib/parsers.d.ts +86 -0
  15. package/dist/lib/parsers.d.ts.map +1 -0
  16. package/dist/lib/parsers.js +438 -0
  17. package/dist/lib/parsers.js.map +1 -0
  18. package/dist/schemas/index.d.ts +183 -0
  19. package/dist/schemas/index.d.ts.map +1 -0
  20. package/dist/schemas/index.js +112 -0
  21. package/dist/schemas/index.js.map +1 -0
  22. package/dist/tools/gradle-build.d.ts +3 -0
  23. package/dist/tools/gradle-build.d.ts.map +1 -0
  24. package/dist/tools/gradle-build.js +55 -0
  25. package/dist/tools/gradle-build.js.map +1 -0
  26. package/dist/tools/gradle-dependencies.d.ts +3 -0
  27. package/dist/tools/gradle-dependencies.d.ts.map +1 -0
  28. package/dist/tools/gradle-dependencies.js +34 -0
  29. package/dist/tools/gradle-dependencies.js.map +1 -0
  30. package/dist/tools/gradle-tasks.d.ts +3 -0
  31. package/dist/tools/gradle-tasks.d.ts.map +1 -0
  32. package/dist/tools/gradle-tasks.js +32 -0
  33. package/dist/tools/gradle-tasks.js.map +1 -0
  34. package/dist/tools/gradle-test.d.ts +3 -0
  35. package/dist/tools/gradle-test.d.ts.map +1 -0
  36. package/dist/tools/gradle-test.js +57 -0
  37. package/dist/tools/gradle-test.js.map +1 -0
  38. package/dist/tools/index.d.ts +4 -0
  39. package/dist/tools/index.d.ts.map +1 -0
  40. package/dist/tools/index.js +30 -0
  41. package/dist/tools/index.js.map +1 -0
  42. package/dist/tools/maven-build.d.ts +3 -0
  43. package/dist/tools/maven-build.d.ts.map +1 -0
  44. package/dist/tools/maven-build.js +55 -0
  45. package/dist/tools/maven-build.js.map +1 -0
  46. package/dist/tools/maven-dependencies.d.ts +3 -0
  47. package/dist/tools/maven-dependencies.d.ts.map +1 -0
  48. package/dist/tools/maven-dependencies.js +23 -0
  49. package/dist/tools/maven-dependencies.js.map +1 -0
  50. package/dist/tools/maven-test.d.ts +3 -0
  51. package/dist/tools/maven-test.d.ts.map +1 -0
  52. package/dist/tools/maven-test.js +57 -0
  53. package/dist/tools/maven-test.js.map +1 -0
  54. package/dist/tools/maven-verify.d.ts +3 -0
  55. package/dist/tools/maven-verify.d.ts.map +1 -0
  56. package/dist/tools/maven-verify.js +47 -0
  57. package/dist/tools/maven-verify.js.map +1 -0
  58. package/package.json +72 -0
@@ -0,0 +1,112 @@
1
+ import { z } from "zod";
2
+ // ── Shared ──────────────────────────────────────────────────────────
3
+ const BuildDiagnosticSchema = z.object({
4
+ severity: z.enum(["error", "warning"]),
5
+ message: z.string(),
6
+ file: z.string().optional(),
7
+ line: z.number().optional(),
8
+ });
9
+ // ── Gradle schemas ──────────────────────────────────────────────────
10
+ export const GradleBuildResultSchema = z.object({
11
+ success: z.boolean(),
12
+ exitCode: z.number(),
13
+ duration: z.number(),
14
+ timedOut: z.boolean(),
15
+ tasksExecuted: z.number().optional(),
16
+ tasksFailed: z.number().optional(),
17
+ diagnostics: z.array(BuildDiagnosticSchema).optional(),
18
+ stdout: z.string().optional(),
19
+ stderr: z.string().optional(),
20
+ });
21
+ export const GradleTestCaseSchema = z.object({
22
+ name: z.string(),
23
+ className: z.string().optional(),
24
+ passed: z.boolean(),
25
+ duration: z.string().optional(),
26
+ failure: z.string().optional(),
27
+ });
28
+ export const GradleTestResultSchema = z.object({
29
+ success: z.boolean(),
30
+ exitCode: z.number(),
31
+ duration: z.number(),
32
+ timedOut: z.boolean(),
33
+ totalTests: z.number(),
34
+ passed: z.number(),
35
+ failed: z.number(),
36
+ skipped: z.number(),
37
+ tests: z.array(GradleTestCaseSchema).optional(),
38
+ stdout: z.string().optional(),
39
+ stderr: z.string().optional(),
40
+ });
41
+ export const GradleTaskSchema = z.object({
42
+ name: z.string(),
43
+ description: z.string().optional(),
44
+ group: z.string().optional(),
45
+ });
46
+ export const GradleTasksResultSchema = z.object({
47
+ tasks: z.array(GradleTaskSchema),
48
+ total: z.number(),
49
+ });
50
+ export const GradleDependencySchema = z.object({
51
+ group: z.string(),
52
+ artifact: z.string(),
53
+ version: z.string().optional(),
54
+ });
55
+ export const GradleDependencyConfigSchema = z.object({
56
+ configuration: z.string(),
57
+ dependencies: z.array(GradleDependencySchema),
58
+ });
59
+ export const GradleDependenciesResultSchema = z.object({
60
+ configurations: z.array(GradleDependencyConfigSchema),
61
+ totalDependencies: z.number(),
62
+ });
63
+ // ── Maven schemas ───────────────────────────────────────────────────
64
+ export const MavenBuildResultSchema = z.object({
65
+ success: z.boolean(),
66
+ exitCode: z.number(),
67
+ duration: z.number(),
68
+ timedOut: z.boolean(),
69
+ diagnostics: z.array(BuildDiagnosticSchema).optional(),
70
+ stdout: z.string().optional(),
71
+ stderr: z.string().optional(),
72
+ });
73
+ export const MavenTestCaseSchema = z.object({
74
+ name: z.string(),
75
+ className: z.string().optional(),
76
+ passed: z.boolean(),
77
+ failure: z.string().optional(),
78
+ });
79
+ export const MavenTestResultSchema = z.object({
80
+ success: z.boolean(),
81
+ exitCode: z.number(),
82
+ duration: z.number(),
83
+ timedOut: z.boolean(),
84
+ totalTests: z.number(),
85
+ passed: z.number(),
86
+ failed: z.number(),
87
+ errors: z.number(),
88
+ skipped: z.number(),
89
+ tests: z.array(MavenTestCaseSchema).optional(),
90
+ stdout: z.string().optional(),
91
+ stderr: z.string().optional(),
92
+ });
93
+ export const MavenDependencySchema = z.object({
94
+ groupId: z.string(),
95
+ artifactId: z.string(),
96
+ version: z.string().optional(),
97
+ scope: z.string().optional(),
98
+ });
99
+ export const MavenDependenciesResultSchema = z.object({
100
+ dependencies: z.array(MavenDependencySchema),
101
+ total: z.number(),
102
+ });
103
+ export const MavenVerifyResultSchema = z.object({
104
+ success: z.boolean(),
105
+ exitCode: z.number(),
106
+ duration: z.number(),
107
+ timedOut: z.boolean(),
108
+ diagnostics: z.array(BuildDiagnosticSchema).optional(),
109
+ stdout: z.string().optional(),
110
+ stderr: z.string().optional(),
111
+ });
112
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerGradleBuildTool(server: McpServer): void;
3
+ //# sourceMappingURL=gradle-build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gradle-build.d.ts","sourceRoot":"","sources":["../../src/tools/gradle-build.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAiBzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,QAkExD"}
@@ -0,0 +1,55 @@
1
+ import { z } from "zod";
2
+ import { compactDualOutput, assertNoFlagInjection, INPUT_LIMITS, compactInput, projectPathInput, } from "@paretools/shared";
3
+ import { gradleCmd } from "../lib/jvm-runner.js";
4
+ import { parseGradleBuild } from "../lib/parsers.js";
5
+ import { formatGradleBuild, compactGradleBuildMap, formatGradleBuildCompact, } from "../lib/formatters.js";
6
+ import { GradleBuildResultSchema } from "../schemas/index.js";
7
+ export function registerGradleBuildTool(server) {
8
+ server.registerTool("gradle-build", {
9
+ title: "Gradle Build",
10
+ description: "Runs `gradle build` and returns structured output with diagnostics, task counts, and exit code.",
11
+ inputSchema: {
12
+ path: projectPathInput,
13
+ tasks: z
14
+ .array(z.string().max(INPUT_LIMITS.SHORT_STRING_MAX))
15
+ .max(INPUT_LIMITS.ARRAY_MAX)
16
+ .optional()
17
+ .default(["build"])
18
+ .describe("Gradle tasks to run (default: build)"),
19
+ args: z
20
+ .array(z.string().max(INPUT_LIMITS.STRING_MAX))
21
+ .max(INPUT_LIMITS.ARRAY_MAX)
22
+ .optional()
23
+ .default([])
24
+ .describe("Additional Gradle arguments"),
25
+ compact: compactInput,
26
+ },
27
+ outputSchema: GradleBuildResultSchema,
28
+ }, async ({ path, tasks, args, compact }) => {
29
+ const cwd = path || process.cwd();
30
+ for (const task of tasks ?? [])
31
+ assertNoFlagInjection(task, "task");
32
+ const cmdArgs = [...(tasks ?? ["build"]), ...(args ?? [])];
33
+ const start = Date.now();
34
+ let timedOut = false;
35
+ let result;
36
+ try {
37
+ result = await gradleCmd(cmdArgs, cwd);
38
+ }
39
+ catch (err) {
40
+ const errMsg = err instanceof Error ? err.message : String(err);
41
+ if (errMsg.includes("timed out")) {
42
+ timedOut = true;
43
+ result = { exitCode: 124, stdout: "", stderr: errMsg };
44
+ }
45
+ else {
46
+ throw err;
47
+ }
48
+ }
49
+ const duration = Date.now() - start;
50
+ const data = parseGradleBuild(result.stdout, result.stderr, result.exitCode, duration, timedOut);
51
+ const rawOutput = (result.stdout + "\n" + result.stderr).trim();
52
+ return compactDualOutput(data, rawOutput, formatGradleBuild, compactGradleBuildMap, formatGradleBuildCompact, compact === false);
53
+ });
54
+ }
55
+ //# sourceMappingURL=gradle-build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gradle-build.js","sourceRoot":"","sources":["../../src/tools/gradle-build.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerGradleDependenciesTool(server: McpServer): void;
3
+ //# sourceMappingURL=gradle-dependencies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gradle-dependencies.d.ts","sourceRoot":"","sources":["../../src/tools/gradle-dependencies.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAiBzE,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,SAAS,QAqC/D"}
@@ -0,0 +1,34 @@
1
+ import { z } from "zod";
2
+ import { compactDualOutput, assertNoFlagInjection, INPUT_LIMITS, compactInput, projectPathInput, } from "@paretools/shared";
3
+ import { gradleCmd } from "../lib/jvm-runner.js";
4
+ import { parseGradleDependencies } from "../lib/parsers.js";
5
+ import { formatGradleDependencies, compactGradleDepsMap, formatGradleDepsCompact, } from "../lib/formatters.js";
6
+ import { GradleDependenciesResultSchema } from "../schemas/index.js";
7
+ export function registerGradleDependenciesTool(server) {
8
+ server.registerTool("gradle-dependencies", {
9
+ title: "Gradle Dependencies",
10
+ description: "Shows the Gradle dependency tree with structured output per configuration.",
11
+ inputSchema: {
12
+ path: projectPathInput,
13
+ configuration: z
14
+ .string()
15
+ .max(INPUT_LIMITS.SHORT_STRING_MAX)
16
+ .optional()
17
+ .describe("Filter to a specific configuration (e.g. compileClasspath)"),
18
+ compact: compactInput,
19
+ },
20
+ outputSchema: GradleDependenciesResultSchema,
21
+ }, async ({ path, configuration, compact }) => {
22
+ const cwd = path || process.cwd();
23
+ if (configuration)
24
+ assertNoFlagInjection(configuration, "configuration");
25
+ const cmdArgs = ["dependencies"];
26
+ if (configuration)
27
+ cmdArgs.push("--configuration", configuration);
28
+ const result = await gradleCmd(cmdArgs, cwd);
29
+ const data = parseGradleDependencies(result.stdout);
30
+ const rawOutput = result.stdout.trim();
31
+ return compactDualOutput(data, rawOutput, formatGradleDependencies, compactGradleDepsMap, formatGradleDepsCompact, compact === false);
32
+ });
33
+ }
34
+ //# sourceMappingURL=gradle-dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gradle-dependencies.js","sourceRoot":"","sources":["../../src/tools/gradle-dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AAErE,MAAM,UAAU,8BAA8B,CAAC,MAAiB;IAC9D,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,4EAA4E;QACzF,WAAW,EAAE;YACX,IAAI,EAAE,gBAAgB;YACtB,aAAa,EAAE,CAAC;iBACb,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,gBAAgB,CAAC;iBAClC,QAAQ,EAAE;iBACV,QAAQ,CAAC,4DAA4D,CAAC;YACzE,OAAO,EAAE,YAAY;SACtB;QACD,YAAY,EAAE,8BAA8B;KAC7C,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE;QACzC,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,IAAI,aAAa;YAAE,qBAAqB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAEzE,MAAM,OAAO,GAAG,CAAC,cAAc,CAAC,CAAC;QACjC,IAAI,aAAa;YAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;QAElE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,uBAAuB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACvC,OAAO,iBAAiB,CACtB,IAAI,EACJ,SAAS,EACT,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACvB,OAAO,KAAK,KAAK,CAClB,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerGradleTasksTool(server: McpServer): void;
3
+ //# sourceMappingURL=gradle-tasks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gradle-tasks.d.ts","sourceRoot":"","sources":["../../src/tools/gradle-tasks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,QAqCxD"}
@@ -0,0 +1,32 @@
1
+ import { z } from "zod";
2
+ import { compactDualOutput, compactInput, projectPathInput } from "@paretools/shared";
3
+ import { gradleCmd } from "../lib/jvm-runner.js";
4
+ import { parseGradleTasks } from "../lib/parsers.js";
5
+ import { formatGradleTasks, compactGradleTasksMap, formatGradleTasksCompact, } from "../lib/formatters.js";
6
+ import { GradleTasksResultSchema } from "../schemas/index.js";
7
+ export function registerGradleTasksTool(server) {
8
+ server.registerTool("gradle-tasks", {
9
+ title: "Gradle Tasks",
10
+ description: "Lists available Gradle tasks with descriptions and groups. Uses `gradle tasks --all`.",
11
+ inputSchema: {
12
+ path: projectPathInput,
13
+ all: z
14
+ .boolean()
15
+ .optional()
16
+ .default(true)
17
+ .describe("Include all tasks including subtasks (default: true)"),
18
+ compact: compactInput,
19
+ },
20
+ outputSchema: GradleTasksResultSchema,
21
+ }, async ({ path, all, compact }) => {
22
+ const cwd = path || process.cwd();
23
+ const cmdArgs = ["tasks"];
24
+ if (all !== false)
25
+ cmdArgs.push("--all");
26
+ const result = await gradleCmd(cmdArgs, cwd);
27
+ const data = parseGradleTasks(result.stdout);
28
+ const rawOutput = result.stdout.trim();
29
+ return compactDualOutput(data, rawOutput, formatGradleTasks, compactGradleTasksMap, formatGradleTasksCompact, compact === false);
30
+ });
31
+ }
32
+ //# sourceMappingURL=gradle-tasks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gradle-tasks.js","sourceRoot":"","sources":["../../src/tools/gradle-tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,KAAK,EAAE,cAAc;QACrB,WAAW,EACT,uFAAuF;QACzF,WAAW,EAAE;YACX,IAAI,EAAE,gBAAgB;YACtB,GAAG,EAAE,CAAC;iBACH,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CAAC,sDAAsD,CAAC;YACnE,OAAO,EAAE,YAAY;SACtB;QACD,YAAY,EAAE,uBAAuB;KACtC,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE;QAC/B,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAElC,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1B,IAAI,GAAG,KAAK,KAAK;YAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEzC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACvC,OAAO,iBAAiB,CACtB,IAAI,EACJ,SAAS,EACT,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,OAAO,KAAK,KAAK,CAClB,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerGradleTestTool(server: McpServer): void;
3
+ //# sourceMappingURL=gradle-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gradle-test.d.ts","sourceRoot":"","sources":["../../src/tools/gradle-test.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAiBzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,QAmEvD"}
@@ -0,0 +1,57 @@
1
+ import { z } from "zod";
2
+ import { compactDualOutput, assertNoFlagInjection, INPUT_LIMITS, compactInput, projectPathInput, } from "@paretools/shared";
3
+ import { gradleCmd } from "../lib/jvm-runner.js";
4
+ import { parseGradleTest } from "../lib/parsers.js";
5
+ import { formatGradleTest, compactGradleTestMap, formatGradleTestCompact, } from "../lib/formatters.js";
6
+ import { GradleTestResultSchema } from "../schemas/index.js";
7
+ export function registerGradleTestTool(server) {
8
+ server.registerTool("gradle-test", {
9
+ title: "Gradle Test",
10
+ description: "Runs `gradle test` and returns structured test results with pass/fail counts and individual test outcomes.",
11
+ inputSchema: {
12
+ path: projectPathInput,
13
+ filter: z
14
+ .string()
15
+ .max(INPUT_LIMITS.STRING_MAX)
16
+ .optional()
17
+ .describe("Test filter pattern (passed via --tests)"),
18
+ args: z
19
+ .array(z.string().max(INPUT_LIMITS.STRING_MAX))
20
+ .max(INPUT_LIMITS.ARRAY_MAX)
21
+ .optional()
22
+ .default([])
23
+ .describe("Additional Gradle arguments"),
24
+ compact: compactInput,
25
+ },
26
+ outputSchema: GradleTestResultSchema,
27
+ }, async ({ path, filter, args, compact }) => {
28
+ const cwd = path || process.cwd();
29
+ if (filter)
30
+ assertNoFlagInjection(filter, "filter");
31
+ const cmdArgs = ["test"];
32
+ if (filter)
33
+ cmdArgs.push("--tests", filter);
34
+ cmdArgs.push(...(args ?? []));
35
+ const start = Date.now();
36
+ let timedOut = false;
37
+ let result;
38
+ try {
39
+ result = await gradleCmd(cmdArgs, cwd);
40
+ }
41
+ catch (err) {
42
+ const errMsg = err instanceof Error ? err.message : String(err);
43
+ if (errMsg.includes("timed out")) {
44
+ timedOut = true;
45
+ result = { exitCode: 124, stdout: "", stderr: errMsg };
46
+ }
47
+ else {
48
+ throw err;
49
+ }
50
+ }
51
+ const duration = Date.now() - start;
52
+ const data = parseGradleTest(result.stdout, result.stderr, result.exitCode, duration, timedOut);
53
+ const rawOutput = (result.stdout + "\n" + result.stderr).trim();
54
+ return compactDualOutput(data, rawOutput, formatGradleTest, compactGradleTestMap, formatGradleTestCompact, compact === false);
55
+ });
56
+ }
57
+ //# sourceMappingURL=gradle-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gradle-test.js","sourceRoot":"","sources":["../../src/tools/gradle-test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ /** Registers all JVM tools on the given MCP server, filtered by policy. */
3
+ export declare function registerAllTools(server: McpServer): void;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWzE,2EAA2E;AAC3E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,QAUjD"}
@@ -0,0 +1,30 @@
1
+ import { shouldRegisterTool } from "@paretools/shared";
2
+ import { registerGradleBuildTool } from "./gradle-build.js";
3
+ import { registerGradleTestTool } from "./gradle-test.js";
4
+ import { registerGradleTasksTool } from "./gradle-tasks.js";
5
+ import { registerGradleDependenciesTool } from "./gradle-dependencies.js";
6
+ import { registerMavenBuildTool } from "./maven-build.js";
7
+ import { registerMavenTestTool } from "./maven-test.js";
8
+ import { registerMavenDependenciesTool } from "./maven-dependencies.js";
9
+ import { registerMavenVerifyTool } from "./maven-verify.js";
10
+ /** Registers all JVM tools on the given MCP server, filtered by policy. */
11
+ export function registerAllTools(server) {
12
+ const s = (name) => shouldRegisterTool("jvm", name);
13
+ if (s("gradle-build"))
14
+ registerGradleBuildTool(server);
15
+ if (s("gradle-test"))
16
+ registerGradleTestTool(server);
17
+ if (s("gradle-tasks"))
18
+ registerGradleTasksTool(server);
19
+ if (s("gradle-dependencies"))
20
+ registerGradleDependenciesTool(server);
21
+ if (s("maven-build"))
22
+ registerMavenBuildTool(server);
23
+ if (s("maven-test"))
24
+ registerMavenTestTool(server);
25
+ if (s("maven-dependencies"))
26
+ registerMavenDependenciesTool(server);
27
+ if (s("maven-verify"))
28
+ registerMavenVerifyTool(server);
29
+ }
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,2EAA2E;AAC3E,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IAChD,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5D,IAAI,CAAC,CAAC,cAAc,CAAC;QAAE,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,CAAC,CAAC,aAAa,CAAC;QAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,CAAC,CAAC,cAAc,CAAC;QAAE,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,CAAC,CAAC,qBAAqB,CAAC;QAAE,8BAA8B,CAAC,MAAM,CAAC,CAAC;IACrE,IAAI,CAAC,CAAC,aAAa,CAAC;QAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,CAAC,CAAC,YAAY,CAAC;QAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,CAAC,CAAC,oBAAoB,CAAC;QAAE,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACnE,IAAI,CAAC,CAAC,cAAc,CAAC;QAAE,uBAAuB,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerMavenBuildTool(server: McpServer): void;
3
+ //# sourceMappingURL=maven-build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maven-build.d.ts","sourceRoot":"","sources":["../../src/tools/maven-build.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAiBzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,QAkEvD"}
@@ -0,0 +1,55 @@
1
+ import { z } from "zod";
2
+ import { compactDualOutput, assertNoFlagInjection, INPUT_LIMITS, compactInput, projectPathInput, } from "@paretools/shared";
3
+ import { mvnCmd } from "../lib/jvm-runner.js";
4
+ import { parseMavenBuild } from "../lib/parsers.js";
5
+ import { formatMavenBuild, compactMavenBuildMap, formatMavenBuildCompact, } from "../lib/formatters.js";
6
+ import { MavenBuildResultSchema } from "../schemas/index.js";
7
+ export function registerMavenBuildTool(server) {
8
+ server.registerTool("maven-build", {
9
+ title: "Maven Build",
10
+ description: "Runs `mvn package` (or specified goals) and returns structured build output with diagnostics.",
11
+ inputSchema: {
12
+ path: projectPathInput,
13
+ goals: z
14
+ .array(z.string().max(INPUT_LIMITS.SHORT_STRING_MAX))
15
+ .max(INPUT_LIMITS.ARRAY_MAX)
16
+ .optional()
17
+ .default(["package"])
18
+ .describe("Maven goals to run (default: package)"),
19
+ args: z
20
+ .array(z.string().max(INPUT_LIMITS.STRING_MAX))
21
+ .max(INPUT_LIMITS.ARRAY_MAX)
22
+ .optional()
23
+ .default([])
24
+ .describe("Additional Maven arguments"),
25
+ compact: compactInput,
26
+ },
27
+ outputSchema: MavenBuildResultSchema,
28
+ }, async ({ path, goals, args, compact }) => {
29
+ const cwd = path || process.cwd();
30
+ for (const goal of goals ?? [])
31
+ assertNoFlagInjection(goal, "goal");
32
+ const cmdArgs = [...(goals ?? ["package"]), ...(args ?? [])];
33
+ const start = Date.now();
34
+ let timedOut = false;
35
+ let result;
36
+ try {
37
+ result = await mvnCmd(cmdArgs, cwd);
38
+ }
39
+ catch (err) {
40
+ const errMsg = err instanceof Error ? err.message : String(err);
41
+ if (errMsg.includes("timed out")) {
42
+ timedOut = true;
43
+ result = { exitCode: 124, stdout: "", stderr: errMsg };
44
+ }
45
+ else {
46
+ throw err;
47
+ }
48
+ }
49
+ const duration = Date.now() - start;
50
+ const data = parseMavenBuild(result.stdout, result.stderr, result.exitCode, duration, timedOut);
51
+ const rawOutput = (result.stdout + "\n" + result.stderr).trim();
52
+ return compactDualOutput(data, rawOutput, formatMavenBuild, compactMavenBuildMap, formatMavenBuildCompact, compact === false);
53
+ });
54
+ }
55
+ //# sourceMappingURL=maven-build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maven-build.js","sourceRoot":"","sources":["../../src/tools/maven-build.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerMavenDependenciesTool(server: McpServer): void;
3
+ //# sourceMappingURL=maven-dependencies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maven-dependencies.d.ts","sourceRoot":"","sources":["../../src/tools/maven-dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWzE,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,SAAS,QA4B9D"}
@@ -0,0 +1,23 @@
1
+ import { compactDualOutput, compactInput, projectPathInput } from "@paretools/shared";
2
+ import { mvnCmd } from "../lib/jvm-runner.js";
3
+ import { parseMavenDependencies } from "../lib/parsers.js";
4
+ import { formatMavenDependencies, compactMavenDepsMap, formatMavenDepsCompact, } from "../lib/formatters.js";
5
+ import { MavenDependenciesResultSchema } from "../schemas/index.js";
6
+ export function registerMavenDependenciesTool(server) {
7
+ server.registerTool("maven-dependencies", {
8
+ title: "Maven Dependencies",
9
+ description: "Shows the Maven dependency tree with structured output per artifact.",
10
+ inputSchema: {
11
+ path: projectPathInput,
12
+ compact: compactInput,
13
+ },
14
+ outputSchema: MavenDependenciesResultSchema,
15
+ }, async ({ path, compact }) => {
16
+ const cwd = path || process.cwd();
17
+ const result = await mvnCmd(["dependency:tree"], cwd);
18
+ const data = parseMavenDependencies(result.stdout);
19
+ const rawOutput = result.stdout.trim();
20
+ return compactDualOutput(data, rawOutput, formatMavenDependencies, compactMavenDepsMap, formatMavenDepsCompact, compact === false);
21
+ });
22
+ }
23
+ //# sourceMappingURL=maven-dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maven-dependencies.js","sourceRoot":"","sources":["../../src/tools/maven-dependencies.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAEpE,MAAM,UAAU,6BAA6B,CAAC,MAAiB;IAC7D,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,sEAAsE;QACnF,WAAW,EAAE;YACX,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,YAAY;SACtB;QACD,YAAY,EAAE,6BAA6B;KAC5C,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1B,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAElC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,CAAC,iBAAiB,CAAC,EAAE,GAAG,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACvC,OAAO,iBAAiB,CACtB,IAAI,EACJ,SAAS,EACT,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACtB,OAAO,KAAK,KAAK,CAClB,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerMavenTestTool(server: McpServer): void;
3
+ //# sourceMappingURL=maven-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maven-test.d.ts","sourceRoot":"","sources":["../../src/tools/maven-test.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAazE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,QAmEtD"}
@@ -0,0 +1,57 @@
1
+ import { z } from "zod";
2
+ import { compactDualOutput, assertNoFlagInjection, INPUT_LIMITS, compactInput, projectPathInput, } from "@paretools/shared";
3
+ import { mvnCmd } from "../lib/jvm-runner.js";
4
+ import { parseMavenTest } from "../lib/parsers.js";
5
+ import { formatMavenTest, compactMavenTestMap, formatMavenTestCompact } from "../lib/formatters.js";
6
+ import { MavenTestResultSchema } from "../schemas/index.js";
7
+ export function registerMavenTestTool(server) {
8
+ server.registerTool("maven-test", {
9
+ title: "Maven Test",
10
+ description: "Runs `mvn test` and returns structured Surefire test results with pass/fail/error counts.",
11
+ inputSchema: {
12
+ path: projectPathInput,
13
+ filter: z
14
+ .string()
15
+ .max(INPUT_LIMITS.STRING_MAX)
16
+ .optional()
17
+ .describe("Test filter pattern (passed via -Dtest=pattern)"),
18
+ args: z
19
+ .array(z.string().max(INPUT_LIMITS.STRING_MAX))
20
+ .max(INPUT_LIMITS.ARRAY_MAX)
21
+ .optional()
22
+ .default([])
23
+ .describe("Additional Maven arguments"),
24
+ compact: compactInput,
25
+ },
26
+ outputSchema: MavenTestResultSchema,
27
+ }, async ({ path, filter, args, compact }) => {
28
+ const cwd = path || process.cwd();
29
+ if (filter)
30
+ assertNoFlagInjection(filter, "filter");
31
+ const cmdArgs = ["test"];
32
+ if (filter)
33
+ cmdArgs.push(`-Dtest=${filter}`);
34
+ cmdArgs.push(...(args ?? []));
35
+ const start = Date.now();
36
+ let timedOut = false;
37
+ let result;
38
+ try {
39
+ result = await mvnCmd(cmdArgs, cwd);
40
+ }
41
+ catch (err) {
42
+ const errMsg = err instanceof Error ? err.message : String(err);
43
+ if (errMsg.includes("timed out")) {
44
+ timedOut = true;
45
+ result = { exitCode: 124, stdout: "", stderr: errMsg };
46
+ }
47
+ else {
48
+ throw err;
49
+ }
50
+ }
51
+ const duration = Date.now() - start;
52
+ const data = parseMavenTest(result.stdout, result.stderr, result.exitCode, duration, timedOut);
53
+ const rawOutput = (result.stdout + "\n" + result.stderr).trim();
54
+ return compactDualOutput(data, rawOutput, formatMavenTest, compactMavenTestMap, formatMavenTestCompact, compact === false);
55
+ });
56
+ }
57
+ //# sourceMappingURL=maven-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maven-test.js","sourceRoot":"","sources":["../../src/tools/maven-test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerMavenVerifyTool(server: McpServer): void;
3
+ //# sourceMappingURL=maven-verify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maven-verify.d.ts","sourceRoot":"","sources":["../../src/tools/maven-verify.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,QA2DxD"}