@paretools/go 0.8.5 → 0.10.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/README.md +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/formatters.d.ts +33 -9
- package/dist/lib/formatters.d.ts.map +1 -1
- package/dist/lib/formatters.js +291 -34
- package/dist/lib/formatters.js.map +1 -1
- package/dist/lib/go-runner.d.ts +1 -1
- package/dist/lib/go-runner.d.ts.map +1 -1
- package/dist/lib/go-runner.js +3 -3
- package/dist/lib/go-runner.js.map +1 -1
- package/dist/lib/parsers.d.ts +47 -12
- package/dist/lib/parsers.d.ts.map +1 -1
- package/dist/lib/parsers.js +653 -45
- package/dist/lib/parsers.js.map +1 -1
- package/dist/schemas/index.d.ts +218 -4
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +142 -5
- package/dist/schemas/index.js.map +1 -1
- package/dist/tools/build.d.ts.map +1 -1
- package/dist/tools/build.js +97 -12
- package/dist/tools/build.js.map +1 -1
- package/dist/tools/env.d.ts.map +1 -1
- package/dist/tools/env.js +15 -13
- package/dist/tools/env.js.map +1 -1
- package/dist/tools/fmt.d.ts.map +1 -1
- package/dist/tools/fmt.js +28 -12
- package/dist/tools/fmt.js.map +1 -1
- package/dist/tools/generate.d.ts.map +1 -1
- package/dist/tools/generate.js +77 -12
- package/dist/tools/generate.js.map +1 -1
- package/dist/tools/get.d.ts.map +1 -1
- package/dist/tools/get.js +91 -11
- package/dist/tools/get.js.map +1 -1
- package/dist/tools/golangci-lint.d.ts.map +1 -1
- package/dist/tools/golangci-lint.js +145 -13
- package/dist/tools/golangci-lint.js.map +1 -1
- package/dist/tools/list.d.ts.map +1 -1
- package/dist/tools/list.js +77 -13
- package/dist/tools/list.js.map +1 -1
- package/dist/tools/mod-tidy.d.ts.map +1 -1
- package/dist/tools/mod-tidy.js +119 -12
- package/dist/tools/mod-tidy.js.map +1 -1
- package/dist/tools/run.d.ts.map +1 -1
- package/dist/tools/run.js +108 -16
- package/dist/tools/run.js.map +1 -1
- package/dist/tools/test.d.ts.map +1 -1
- package/dist/tools/test.js +112 -11
- package/dist/tools/test.js.map +1 -1
- package/dist/tools/vet.d.ts.map +1 -1
- package/dist/tools/vet.js +55 -13
- package/dist/tools/vet.js.map +1 -1
- package/package.json +2 -2
package/dist/tools/generate.js
CHANGED
|
@@ -8,33 +8,98 @@ import { GoGenerateResultSchema } from "../schemas/index.js";
|
|
|
8
8
|
export function registerGenerateTool(server) {
|
|
9
9
|
server.registerTool("generate", {
|
|
10
10
|
title: "Go Generate",
|
|
11
|
-
description: "Runs go generate directives in Go source files.
|
|
11
|
+
description: "Runs go generate directives in Go source files. WARNING: may execute untrusted code.",
|
|
12
12
|
inputSchema: {
|
|
13
|
-
path: z
|
|
14
|
-
.string()
|
|
15
|
-
.max(INPUT_LIMITS.PATH_MAX)
|
|
16
|
-
.optional()
|
|
17
|
-
.describe("Project root path (default: cwd)"),
|
|
13
|
+
path: z.string().max(INPUT_LIMITS.PATH_MAX).optional().describe("Project root path"),
|
|
18
14
|
patterns: z
|
|
19
15
|
.array(z.string().max(INPUT_LIMITS.SHORT_STRING_MAX))
|
|
20
16
|
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
21
17
|
.optional()
|
|
22
18
|
.default(["./..."])
|
|
23
19
|
.describe("Packages to generate (default: ./...)"),
|
|
24
|
-
|
|
20
|
+
dryRun: z
|
|
25
21
|
.boolean()
|
|
26
22
|
.optional()
|
|
27
|
-
.default(
|
|
28
|
-
.describe("
|
|
23
|
+
.default(false)
|
|
24
|
+
.describe("Print the commands that would be executed but do not run them (-n). Essential for safe previewing."),
|
|
25
|
+
run: z
|
|
26
|
+
.string()
|
|
27
|
+
.max(INPUT_LIMITS.SHORT_STRING_MAX)
|
|
28
|
+
.optional()
|
|
29
|
+
.describe("Run only generators whose directive matches this regexp (-run <regexp>). Reduces execution scope and risk."),
|
|
30
|
+
skip: z
|
|
31
|
+
.string()
|
|
32
|
+
.max(INPUT_LIMITS.SHORT_STRING_MAX)
|
|
33
|
+
.optional()
|
|
34
|
+
.describe("Skip generators whose directive matches this regexp (-skip <regexp>). Useful to exclude known-slow or broken generators."),
|
|
35
|
+
verbose: z
|
|
36
|
+
.boolean()
|
|
37
|
+
.optional()
|
|
38
|
+
.default(false)
|
|
39
|
+
.describe("Print the names of packages and files as they are processed (-v)"),
|
|
40
|
+
commands: z
|
|
41
|
+
.boolean()
|
|
42
|
+
.optional()
|
|
43
|
+
.default(false)
|
|
44
|
+
.describe("Print commands as they are executed (-x)"),
|
|
45
|
+
timeout: z
|
|
46
|
+
.number()
|
|
47
|
+
.int()
|
|
48
|
+
.min(1000)
|
|
49
|
+
.max(600000)
|
|
50
|
+
.optional()
|
|
51
|
+
.describe("Execution timeout in milliseconds for go generate"),
|
|
52
|
+
tags: z
|
|
53
|
+
.array(z.string().max(INPUT_LIMITS.SHORT_STRING_MAX))
|
|
54
|
+
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
55
|
+
.optional()
|
|
56
|
+
.describe("Build tags for conditional compilation (-tags)"),
|
|
57
|
+
compact: z.boolean().optional().default(true).describe("Prefer compact output"),
|
|
29
58
|
},
|
|
30
59
|
outputSchema: GoGenerateResultSchema,
|
|
31
|
-
}, async ({ path, patterns, compact }) => {
|
|
60
|
+
}, async ({ path, patterns, dryRun, run: runFilter, skip, verbose, commands, timeout, tags, compact, }) => {
|
|
32
61
|
for (const p of patterns || []) {
|
|
33
62
|
assertNoFlagInjection(p, "patterns");
|
|
34
63
|
}
|
|
64
|
+
if (runFilter)
|
|
65
|
+
assertNoFlagInjection(runFilter, "run");
|
|
66
|
+
if (skip)
|
|
67
|
+
assertNoFlagInjection(skip, "skip");
|
|
35
68
|
const cwd = path || process.cwd();
|
|
36
|
-
const
|
|
37
|
-
|
|
69
|
+
const args = ["generate"];
|
|
70
|
+
if (dryRun)
|
|
71
|
+
args.push("-n");
|
|
72
|
+
if (runFilter)
|
|
73
|
+
args.push("-run", runFilter);
|
|
74
|
+
if (skip)
|
|
75
|
+
args.push("-skip", skip);
|
|
76
|
+
if (verbose)
|
|
77
|
+
args.push("-v");
|
|
78
|
+
if (commands)
|
|
79
|
+
args.push("-x");
|
|
80
|
+
if (tags && tags.length > 0) {
|
|
81
|
+
for (const t of tags) {
|
|
82
|
+
assertNoFlagInjection(t, "tags");
|
|
83
|
+
}
|
|
84
|
+
args.push("-tags", tags.join(","));
|
|
85
|
+
}
|
|
86
|
+
args.push(...(patterns || ["./..."]));
|
|
87
|
+
let timedOut = false;
|
|
88
|
+
let result;
|
|
89
|
+
try {
|
|
90
|
+
result = await goCmd(args, cwd, timeout);
|
|
91
|
+
}
|
|
92
|
+
catch (err) {
|
|
93
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
94
|
+
if (msg.includes("timed out")) {
|
|
95
|
+
timedOut = true;
|
|
96
|
+
result = { stdout: "", stderr: msg, exitCode: 124 };
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
throw err;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
const data = parseGoGenerateOutput(result.stdout, result.stderr, result.exitCode, timedOut);
|
|
38
103
|
const rawOutput = (result.stdout + "\n" + result.stderr).trim();
|
|
39
104
|
return compactDualOutput(data, rawOutput, formatGoGenerate, compactGenerateMap, formatGenerateCompact, compact === false);
|
|
40
105
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/tools/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,6DAA6D;AAC7D,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,MAAM,CAAC,YAAY,CACjB,UAAU,EACV;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/tools/generate.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/get.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../src/tools/get.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../src/tools/get.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wDAAwD;AACxD,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,QAqEhD"}
|
package/dist/tools/get.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { readFile } from "node:fs/promises";
|
|
3
|
+
import { join } from "node:path";
|
|
2
4
|
import { compactDualOutput, assertNoFlagInjection, INPUT_LIMITS } from "@paretools/shared";
|
|
3
5
|
import { goCmd } from "../lib/go-runner.js";
|
|
4
6
|
import { parseGoGetOutput } from "../lib/parsers.js";
|
|
@@ -8,34 +10,112 @@ import { GoGetResultSchema } from "../schemas/index.js";
|
|
|
8
10
|
export function registerGetTool(server) {
|
|
9
11
|
server.registerTool("get", {
|
|
10
12
|
title: "Go Get",
|
|
11
|
-
description: "Downloads and installs Go packages and their dependencies.
|
|
13
|
+
description: "Downloads and installs Go packages and their dependencies.",
|
|
12
14
|
inputSchema: {
|
|
13
15
|
packages: z
|
|
14
16
|
.array(z.string().max(INPUT_LIMITS.SHORT_STRING_MAX))
|
|
15
17
|
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
16
18
|
.describe("Packages to install (e.g., ['github.com/pkg/errors@latest'])"),
|
|
17
|
-
path: z
|
|
18
|
-
|
|
19
|
-
.
|
|
19
|
+
path: z.string().max(INPUT_LIMITS.PATH_MAX).optional().describe("Project root path"),
|
|
20
|
+
update: z
|
|
21
|
+
.enum(["all", "patch"])
|
|
20
22
|
.optional()
|
|
21
|
-
.describe("
|
|
22
|
-
|
|
23
|
+
.describe("Update modules: 'all' maps to -u (update to latest), 'patch' maps to -u=patch (patch-level updates only)"),
|
|
24
|
+
testDeps: z
|
|
23
25
|
.boolean()
|
|
24
26
|
.optional()
|
|
25
|
-
.default(
|
|
26
|
-
.describe("
|
|
27
|
+
.default(false)
|
|
28
|
+
.describe("Also download packages needed to build and test the specified packages (-t)"),
|
|
29
|
+
verbose: z
|
|
30
|
+
.boolean()
|
|
31
|
+
.optional()
|
|
32
|
+
.default(false)
|
|
33
|
+
.describe("Print information about download and resolution progress (-v)"),
|
|
34
|
+
downloadOnly: z
|
|
35
|
+
.boolean()
|
|
36
|
+
.optional()
|
|
37
|
+
.default(false)
|
|
38
|
+
.describe("Download the named packages but do not install them (-d)"),
|
|
39
|
+
compact: z.boolean().optional().default(true).describe("Prefer compact output"),
|
|
27
40
|
},
|
|
28
41
|
outputSchema: GoGetResultSchema,
|
|
29
|
-
}, async ({ packages, path, compact }) => {
|
|
42
|
+
}, async ({ packages, path, update, testDeps, verbose, downloadOnly, compact }) => {
|
|
30
43
|
const cwd = path || process.cwd();
|
|
31
44
|
for (const p of packages) {
|
|
32
45
|
assertNoFlagInjection(p, "packages");
|
|
33
46
|
}
|
|
34
|
-
const args = ["get"
|
|
47
|
+
const args = ["get"];
|
|
48
|
+
if (update === "all")
|
|
49
|
+
args.push("-u");
|
|
50
|
+
else if (update === "patch")
|
|
51
|
+
args.push("-u=patch");
|
|
52
|
+
if (testDeps)
|
|
53
|
+
args.push("-t");
|
|
54
|
+
if (verbose)
|
|
55
|
+
args.push("-v");
|
|
56
|
+
if (downloadOnly)
|
|
57
|
+
args.push("-d");
|
|
58
|
+
args.push(...packages);
|
|
59
|
+
const goModBefore = await readGoMod(cwd);
|
|
35
60
|
const result = await goCmd(args, cwd);
|
|
36
|
-
const
|
|
61
|
+
const goModAfter = await readGoMod(cwd);
|
|
62
|
+
// Pass requestedPackages for per-package status tracking (Gap #153)
|
|
63
|
+
const data = parseGoGetOutput(result.stdout, result.stderr, result.exitCode, packages);
|
|
64
|
+
const goModChanges = diffGoModRequirements(goModBefore, goModAfter);
|
|
65
|
+
if (goModChanges) {
|
|
66
|
+
data.goModChanges = goModChanges;
|
|
67
|
+
}
|
|
37
68
|
const rawOutput = (result.stdout + "\n" + result.stderr).trim();
|
|
38
69
|
return compactDualOutput(data, rawOutput, formatGoGet, compactGetMap, formatGetCompact, compact === false);
|
|
39
70
|
});
|
|
40
71
|
}
|
|
72
|
+
async function readGoMod(cwd) {
|
|
73
|
+
try {
|
|
74
|
+
return await readFile(join(cwd, "go.mod"), "utf-8");
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
function diffGoModRequirements(before, after) {
|
|
81
|
+
if (before === undefined || after === undefined) {
|
|
82
|
+
return undefined;
|
|
83
|
+
}
|
|
84
|
+
const beforeSet = parseRequireSet(before);
|
|
85
|
+
const afterSet = parseRequireSet(after);
|
|
86
|
+
const added = [...afterSet].filter((r) => !beforeSet.has(r)).sort();
|
|
87
|
+
const removed = [...beforeSet].filter((r) => !afterSet.has(r)).sort();
|
|
88
|
+
if (added.length === 0 && removed.length === 0) {
|
|
89
|
+
return undefined;
|
|
90
|
+
}
|
|
91
|
+
return { added, removed };
|
|
92
|
+
}
|
|
93
|
+
function parseRequireSet(goMod) {
|
|
94
|
+
const result = new Set();
|
|
95
|
+
let inBlock = false;
|
|
96
|
+
for (const rawLine of goMod.split("\n")) {
|
|
97
|
+
const line = rawLine.trim();
|
|
98
|
+
if (!line || line.startsWith("//"))
|
|
99
|
+
continue;
|
|
100
|
+
if (line.startsWith("require (")) {
|
|
101
|
+
inBlock = true;
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
if (inBlock && line === ")") {
|
|
105
|
+
inBlock = false;
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
const target = inBlock
|
|
109
|
+
? line
|
|
110
|
+
: line.startsWith("require ")
|
|
111
|
+
? line.slice("require ".length)
|
|
112
|
+
: "";
|
|
113
|
+
if (!target)
|
|
114
|
+
continue;
|
|
115
|
+
const cleaned = target.replace(/\s+\/\/.*$/, "").trim();
|
|
116
|
+
if (cleaned)
|
|
117
|
+
result.add(cleaned);
|
|
118
|
+
}
|
|
119
|
+
return result;
|
|
120
|
+
}
|
|
41
121
|
//# sourceMappingURL=get.js.map
|
package/dist/tools/get.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/tools/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/tools/get.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"golangci-lint.d.ts","sourceRoot":"","sources":["../../src/tools/golangci-lint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWzE,kEAAkE;AAClE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"golangci-lint.d.ts","sourceRoot":"","sources":["../../src/tools/golangci-lint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWzE,kEAAkE;AAClE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,QAsNzD"}
|
|
@@ -8,13 +8,9 @@ import { GolangciLintResultSchema } from "../schemas/index.js";
|
|
|
8
8
|
export function registerGolangciLintTool(server) {
|
|
9
9
|
server.registerTool("golangci-lint", {
|
|
10
10
|
title: "golangci-lint",
|
|
11
|
-
description: "Runs golangci-lint and returns structured lint diagnostics (file, line, linter, severity, message).
|
|
11
|
+
description: "Runs golangci-lint and returns structured lint diagnostics (file, line, linter, severity, message).",
|
|
12
12
|
inputSchema: {
|
|
13
|
-
path: z
|
|
14
|
-
.string()
|
|
15
|
-
.max(INPUT_LIMITS.PATH_MAX)
|
|
16
|
-
.optional()
|
|
17
|
-
.describe("Project root path (default: cwd)"),
|
|
13
|
+
path: z.string().max(INPUT_LIMITS.PATH_MAX).optional().describe("Project root path"),
|
|
18
14
|
patterns: z
|
|
19
15
|
.array(z.string().max(INPUT_LIMITS.PATH_MAX))
|
|
20
16
|
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
@@ -26,29 +22,165 @@ export function registerGolangciLintTool(server) {
|
|
|
26
22
|
.max(INPUT_LIMITS.PATH_MAX)
|
|
27
23
|
.optional()
|
|
28
24
|
.describe("Path to golangci-lint config file"),
|
|
29
|
-
|
|
25
|
+
fix: z
|
|
26
|
+
.boolean()
|
|
27
|
+
.optional()
|
|
28
|
+
.default(false)
|
|
29
|
+
.describe("Automatically fix found issues where possible (--fix)"),
|
|
30
|
+
fast: z
|
|
31
|
+
.boolean()
|
|
32
|
+
.optional()
|
|
33
|
+
.default(false)
|
|
34
|
+
.describe("Run only fast linters for quick feedback during iteration (--fast)"),
|
|
35
|
+
new: z
|
|
30
36
|
.boolean()
|
|
31
37
|
.optional()
|
|
32
|
-
.default(
|
|
33
|
-
.describe("
|
|
38
|
+
.default(false)
|
|
39
|
+
.describe("Show only new issues (--new). Useful for incremental linting."),
|
|
40
|
+
newFromRev: z
|
|
41
|
+
.string()
|
|
42
|
+
.max(INPUT_LIMITS.SHORT_STRING_MAX)
|
|
43
|
+
.optional()
|
|
44
|
+
.describe("Show only new issues created after the specified git revision (--new-from-rev <rev>). Essential for PR review workflows."),
|
|
45
|
+
enable: z
|
|
46
|
+
.array(z.string().max(INPUT_LIMITS.SHORT_STRING_MAX))
|
|
47
|
+
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
48
|
+
.optional()
|
|
49
|
+
.describe("Enable specific linters (--enable <linter1,linter2,...>)"),
|
|
50
|
+
disable: z
|
|
51
|
+
.array(z.string().max(INPUT_LIMITS.SHORT_STRING_MAX))
|
|
52
|
+
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
53
|
+
.optional()
|
|
54
|
+
.describe("Disable specific linters (--disable <linter1,linter2,...>)"),
|
|
55
|
+
timeout: z
|
|
56
|
+
.string()
|
|
57
|
+
.max(INPUT_LIMITS.SHORT_STRING_MAX)
|
|
58
|
+
.optional()
|
|
59
|
+
.describe("Timeout for the linter run (--timeout <duration>). Example: '5m', '300s'. Default: 1m."),
|
|
60
|
+
buildTags: z
|
|
61
|
+
.array(z.string().max(INPUT_LIMITS.SHORT_STRING_MAX))
|
|
62
|
+
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
63
|
+
.optional()
|
|
64
|
+
.describe("Build tags for correct analysis (--build-tags <tag1,tag2,...>)"),
|
|
65
|
+
concurrency: z
|
|
66
|
+
.number()
|
|
67
|
+
.int()
|
|
68
|
+
.min(1)
|
|
69
|
+
.max(128)
|
|
70
|
+
.optional()
|
|
71
|
+
.describe("Number of CPUs to use for linting (--concurrency <n>). Default: number of CPUs."),
|
|
72
|
+
maxIssuesPerLinter: z
|
|
73
|
+
.number()
|
|
74
|
+
.int()
|
|
75
|
+
.min(0)
|
|
76
|
+
.optional()
|
|
77
|
+
.describe("Maximum issues per linter (--max-issues-per-linter <n>). 0 means unlimited. Default: 50."),
|
|
78
|
+
maxSameIssues: z
|
|
79
|
+
.number()
|
|
80
|
+
.int()
|
|
81
|
+
.min(0)
|
|
82
|
+
.optional()
|
|
83
|
+
.describe("Maximum number of same issues reported (--max-same-issues <n>). 0 means unlimited. Default: 3."),
|
|
84
|
+
presets: z
|
|
85
|
+
.array(z.enum([
|
|
86
|
+
"bugs",
|
|
87
|
+
"comment",
|
|
88
|
+
"complexity",
|
|
89
|
+
"error",
|
|
90
|
+
"format",
|
|
91
|
+
"import",
|
|
92
|
+
"metalinter",
|
|
93
|
+
"module",
|
|
94
|
+
"performance",
|
|
95
|
+
"sql",
|
|
96
|
+
"style",
|
|
97
|
+
"test",
|
|
98
|
+
"unused",
|
|
99
|
+
]))
|
|
100
|
+
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
101
|
+
.optional()
|
|
102
|
+
.describe("Enable linter presets (--presets <preset1,preset2,...>)"),
|
|
103
|
+
sortResults: z
|
|
104
|
+
.boolean()
|
|
105
|
+
.optional()
|
|
106
|
+
.default(false)
|
|
107
|
+
.describe("Sort lint results for consistent output (--sort-results)"),
|
|
108
|
+
compact: z.boolean().optional().default(true).describe("Prefer compact output"),
|
|
34
109
|
},
|
|
35
110
|
outputSchema: GolangciLintResultSchema,
|
|
36
|
-
}, async ({ path, patterns, config, compact }) => {
|
|
111
|
+
}, async ({ path, patterns, config, fix, fast, new: newOnly, newFromRev, enable, disable, timeout, buildTags, concurrency, maxIssuesPerLinter, maxSameIssues, presets, sortResults, compact, }) => {
|
|
37
112
|
const cwd = path || process.cwd();
|
|
38
113
|
for (const p of patterns ?? []) {
|
|
39
114
|
assertNoFlagInjection(p, "patterns");
|
|
40
115
|
}
|
|
41
|
-
if (config)
|
|
116
|
+
if (config)
|
|
42
117
|
assertNoFlagInjection(config, "config");
|
|
43
|
-
|
|
118
|
+
if (newFromRev)
|
|
119
|
+
assertNoFlagInjection(newFromRev, "newFromRev");
|
|
120
|
+
if (timeout)
|
|
121
|
+
assertNoFlagInjection(timeout, "timeout");
|
|
44
122
|
const args = ["run", "--out-format", "json"];
|
|
45
|
-
if (config)
|
|
123
|
+
if (config)
|
|
46
124
|
args.push("--config", config);
|
|
125
|
+
if (fix)
|
|
126
|
+
args.push("--fix");
|
|
127
|
+
if (fast)
|
|
128
|
+
args.push("--fast");
|
|
129
|
+
if (newOnly)
|
|
130
|
+
args.push("--new");
|
|
131
|
+
if (newFromRev)
|
|
132
|
+
args.push("--new-from-rev", newFromRev);
|
|
133
|
+
if (enable && enable.length > 0) {
|
|
134
|
+
for (const e of enable) {
|
|
135
|
+
assertNoFlagInjection(e, "enable");
|
|
136
|
+
}
|
|
137
|
+
args.push("--enable", enable.join(","));
|
|
138
|
+
}
|
|
139
|
+
if (disable && disable.length > 0) {
|
|
140
|
+
for (const d of disable) {
|
|
141
|
+
assertNoFlagInjection(d, "disable");
|
|
142
|
+
}
|
|
143
|
+
args.push("--disable", disable.join(","));
|
|
144
|
+
}
|
|
145
|
+
if (timeout)
|
|
146
|
+
args.push("--timeout", timeout);
|
|
147
|
+
if (buildTags && buildTags.length > 0) {
|
|
148
|
+
for (const t of buildTags) {
|
|
149
|
+
assertNoFlagInjection(t, "buildTags");
|
|
150
|
+
}
|
|
151
|
+
args.push("--build-tags", buildTags.join(","));
|
|
152
|
+
}
|
|
153
|
+
if (concurrency !== undefined)
|
|
154
|
+
args.push("--concurrency", String(concurrency));
|
|
155
|
+
if (maxIssuesPerLinter !== undefined) {
|
|
156
|
+
args.push("--max-issues-per-linter", String(maxIssuesPerLinter));
|
|
47
157
|
}
|
|
158
|
+
if (maxSameIssues !== undefined) {
|
|
159
|
+
args.push("--max-same-issues", String(maxSameIssues));
|
|
160
|
+
}
|
|
161
|
+
if (presets && presets.length > 0)
|
|
162
|
+
args.push("--presets", presets.join(","));
|
|
163
|
+
if (sortResults)
|
|
164
|
+
args.push("--sort-results");
|
|
48
165
|
args.push(...(patterns || ["./..."]));
|
|
49
166
|
const result = await golangciLintCmd(args, cwd);
|
|
50
167
|
// golangci-lint outputs JSON to stdout even on exit code 1 (issues found)
|
|
51
168
|
const data = parseGolangciLintJson(result.stdout, result.exitCode);
|
|
169
|
+
// Set resultsTruncated if limits were set (indicates potential truncation)
|
|
170
|
+
if (maxIssuesPerLinter !== undefined &&
|
|
171
|
+
maxIssuesPerLinter > 0 &&
|
|
172
|
+
data.total >= maxIssuesPerLinter) {
|
|
173
|
+
data.resultsTruncated = true;
|
|
174
|
+
}
|
|
175
|
+
if (maxSameIssues !== undefined && maxSameIssues > 0 && data.total > 0) {
|
|
176
|
+
// Check if any linter hit the maxSameIssues limit
|
|
177
|
+
for (const entry of data.byLinter ?? []) {
|
|
178
|
+
if (entry.count >= maxSameIssues) {
|
|
179
|
+
data.resultsTruncated = true;
|
|
180
|
+
break;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
52
184
|
return compactDualOutput(data, result.stdout, formatGolangciLint, compactGolangciLintMap, formatGolangciLintCompact, compact === false);
|
|
53
185
|
});
|
|
54
186
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"golangci-lint.js","sourceRoot":"","sources":["../../src/tools/golangci-lint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,kEAAkE;AAClE,MAAM,UAAU,wBAAwB,CAAC,MAAiB;IACxD,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"golangci-lint.js","sourceRoot":"","sources":["../../src/tools/golangci-lint.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/list.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/tools/list.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,yDAAyD;AACzD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/tools/list.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,yDAAyD;AACzD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,QAuIjD"}
|
package/dist/tools/list.js
CHANGED
|
@@ -1,41 +1,105 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { compactDualOutput, assertNoFlagInjection, INPUT_LIMITS } from "@paretools/shared";
|
|
3
3
|
import { goCmd } from "../lib/go-runner.js";
|
|
4
|
-
import { parseGoListOutput } from "../lib/parsers.js";
|
|
4
|
+
import { parseGoListOutput, parseGoListModulesOutput } from "../lib/parsers.js";
|
|
5
5
|
import { formatGoList, compactListMap, formatListCompact } from "../lib/formatters.js";
|
|
6
6
|
import { GoListResultSchema } from "../schemas/index.js";
|
|
7
7
|
/** Registers the `list` tool on the given MCP server. */
|
|
8
8
|
export function registerListTool(server) {
|
|
9
9
|
server.registerTool("list", {
|
|
10
10
|
title: "Go List",
|
|
11
|
-
description: "Lists Go packages and returns structured
|
|
11
|
+
description: "Lists Go packages or modules and returns structured information. When `modules` is true, lists modules (with path, version, dir); otherwise lists packages (with dir, importPath, name, goFiles, testGoFiles).",
|
|
12
12
|
inputSchema: {
|
|
13
|
-
path: z
|
|
14
|
-
.string()
|
|
15
|
-
.max(INPUT_LIMITS.PATH_MAX)
|
|
16
|
-
.optional()
|
|
17
|
-
.describe("Project root path (default: cwd)"),
|
|
13
|
+
path: z.string().max(INPUT_LIMITS.PATH_MAX).optional().describe("Project root path"),
|
|
18
14
|
packages: z
|
|
19
15
|
.array(z.string().max(INPUT_LIMITS.SHORT_STRING_MAX))
|
|
20
16
|
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
21
17
|
.optional()
|
|
22
18
|
.default(["./..."])
|
|
23
19
|
.describe("Package patterns to list (default: ['./...'])"),
|
|
24
|
-
|
|
20
|
+
jsonFields: z
|
|
21
|
+
.array(z.string().max(INPUT_LIMITS.SHORT_STRING_MAX))
|
|
22
|
+
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
23
|
+
.optional()
|
|
24
|
+
.describe("Selective JSON fields for go1.22+ (-json=Field1,Field2). Reduces output volume for large workspaces."),
|
|
25
|
+
modules: z
|
|
26
|
+
.boolean()
|
|
27
|
+
.optional()
|
|
28
|
+
.default(false)
|
|
29
|
+
.describe("List modules instead of packages (-m). When true, output uses the modules field " +
|
|
30
|
+
"with path, version, dir, goMod, goVersion, main, indirect."),
|
|
31
|
+
updates: z
|
|
32
|
+
.boolean()
|
|
33
|
+
.optional()
|
|
34
|
+
.default(false)
|
|
35
|
+
.describe("Show available module updates (-u). Requires module mode (-m) which will be auto-enabled."),
|
|
36
|
+
deps: z
|
|
37
|
+
.boolean()
|
|
38
|
+
.optional()
|
|
39
|
+
.default(false)
|
|
40
|
+
.describe("List not just the named packages but also all their transitive dependencies (-deps)"),
|
|
41
|
+
tolerateErrors: z
|
|
25
42
|
.boolean()
|
|
26
43
|
.optional()
|
|
27
|
-
.default(
|
|
28
|
-
.describe("
|
|
44
|
+
.default(false)
|
|
45
|
+
.describe("Tolerate errors in packages -- useful for listing packages in partially broken projects (-e)"),
|
|
46
|
+
versions: z
|
|
47
|
+
.boolean()
|
|
48
|
+
.optional()
|
|
49
|
+
.default(false)
|
|
50
|
+
.describe("Show all known versions of each module (-versions). Requires module mode (-m) which will be auto-enabled."),
|
|
51
|
+
find: z
|
|
52
|
+
.boolean()
|
|
53
|
+
.optional()
|
|
54
|
+
.default(false)
|
|
55
|
+
.describe("Find packages matching the patterns without resolving dependencies (-find). Faster for simple listing."),
|
|
56
|
+
tags: z
|
|
57
|
+
.array(z.string().max(INPUT_LIMITS.SHORT_STRING_MAX))
|
|
58
|
+
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
59
|
+
.optional()
|
|
60
|
+
.describe("Build tags that may affect which packages are listed (-tags)"),
|
|
61
|
+
compact: z.boolean().optional().default(true).describe("Prefer compact output"),
|
|
29
62
|
},
|
|
30
63
|
outputSchema: GoListResultSchema,
|
|
31
|
-
}, async ({ path, packages, compact }) => {
|
|
64
|
+
}, async ({ path, packages, modules, updates, deps, tolerateErrors, versions, find, jsonFields, tags, compact, }) => {
|
|
32
65
|
const cwd = path || process.cwd();
|
|
33
66
|
for (const p of packages ?? []) {
|
|
34
67
|
assertNoFlagInjection(p, "packages");
|
|
35
68
|
}
|
|
36
|
-
const
|
|
69
|
+
for (const f of jsonFields ?? []) {
|
|
70
|
+
assertNoFlagInjection(f, "jsonFields");
|
|
71
|
+
}
|
|
72
|
+
const args = [
|
|
73
|
+
"list",
|
|
74
|
+
jsonFields && jsonFields.length > 0 ? `-json=${jsonFields.join(",")}` : "-json",
|
|
75
|
+
];
|
|
76
|
+
if (tags && tags.length > 0) {
|
|
77
|
+
for (const t of tags) {
|
|
78
|
+
assertNoFlagInjection(t, "tags");
|
|
79
|
+
}
|
|
80
|
+
args.push("-tags", tags.join(","));
|
|
81
|
+
}
|
|
82
|
+
// Determine if module mode should be enabled
|
|
83
|
+
const useModuleMode = modules || updates || versions;
|
|
84
|
+
if (useModuleMode) {
|
|
85
|
+
args.push("-m");
|
|
86
|
+
if (updates)
|
|
87
|
+
args.push("-u");
|
|
88
|
+
if (versions)
|
|
89
|
+
args.push("-versions");
|
|
90
|
+
}
|
|
91
|
+
if (deps)
|
|
92
|
+
args.push("-deps");
|
|
93
|
+
if (tolerateErrors)
|
|
94
|
+
args.push("-e");
|
|
95
|
+
if (find)
|
|
96
|
+
args.push("-find");
|
|
97
|
+
args.push(...(packages || ["./..."]));
|
|
37
98
|
const result = await goCmd(args, cwd);
|
|
38
|
-
|
|
99
|
+
// Parse based on mode
|
|
100
|
+
const data = useModuleMode
|
|
101
|
+
? parseGoListModulesOutput(result.stdout, result.exitCode)
|
|
102
|
+
: parseGoListOutput(result.stdout, result.exitCode);
|
|
39
103
|
const rawOutput = (result.stdout + "\n" + result.stderr).trim();
|
|
40
104
|
return compactDualOutput(data, rawOutput, formatGoList, compactListMap, formatListCompact, compact === false);
|
|
41
105
|
});
|
package/dist/tools/list.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/tools/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/tools/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod-tidy.d.ts","sourceRoot":"","sources":["../../src/tools/mod-tidy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mod-tidy.d.ts","sourceRoot":"","sources":["../../src/tools/mod-tidy.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAiBzE,6DAA6D;AAC7D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,QA6FpD"}
|