@paretools/go 0.5.0 → 0.6.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 +4 -4
- package/dist/lib/formatters.d.ts +56 -0
- package/dist/lib/formatters.d.ts.map +1 -1
- package/dist/lib/formatters.js +80 -4
- package/dist/lib/formatters.js.map +1 -1
- package/dist/schemas/index.d.ts +11 -11
- package/dist/schemas/index.js +8 -8
- package/dist/schemas/index.js.map +1 -1
- package/dist/tools/build.d.ts.map +1 -1
- package/dist/tools/build.js +20 -6
- package/dist/tools/build.js.map +1 -1
- package/dist/tools/fmt.d.ts.map +1 -1
- package/dist/tools/fmt.js +20 -6
- package/dist/tools/fmt.js.map +1 -1
- package/dist/tools/generate.d.ts.map +1 -1
- package/dist/tools/generate.js +24 -7
- package/dist/tools/generate.js.map +1 -1
- package/dist/tools/mod-tidy.d.ts.map +1 -1
- package/dist/tools/mod-tidy.js +15 -5
- package/dist/tools/mod-tidy.js.map +1 -1
- package/dist/tools/run.d.ts.map +1 -1
- package/dist/tools/run.js +31 -9
- package/dist/tools/run.js.map +1 -1
- package/dist/tools/test.d.ts.map +1 -1
- package/dist/tools/test.js +26 -7
- package/dist/tools/test.js.map +1 -1
- package/dist/tools/vet.d.ts.map +1 -1
- package/dist/tools/vet.js +20 -6
- package/dist/tools/vet.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# @paretools/go
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@paretools/go)
|
|
4
|
-
[](https://github.com/Dave-London/
|
|
4
|
+
[](https://github.com/Dave-London/Pare/blob/main/LICENSE)
|
|
5
5
|
|
|
6
6
|
**Structured, token-efficient Go tool output for AI agents.** Typed diagnostics from go build, test, vet, and more.
|
|
7
7
|
|
|
8
|
-
Part of the [Pare](https://github.com/Dave-London/
|
|
8
|
+
Part of the [Pare](https://github.com/Dave-London/Pare) suite of MCP servers.
|
|
9
9
|
|
|
10
10
|
## Tools (7)
|
|
11
11
|
|
|
@@ -79,9 +79,9 @@ Works with any MCP-compatible client: [Claude Code](https://docs.anthropic.com/e
|
|
|
79
79
|
|
|
80
80
|
## Links
|
|
81
81
|
|
|
82
|
-
- [Pare monorepo](https://github.com/Dave-London/
|
|
82
|
+
- [Pare monorepo](https://github.com/Dave-London/Pare)
|
|
83
83
|
- [MCP protocol](https://modelcontextprotocol.io)
|
|
84
84
|
|
|
85
85
|
## License
|
|
86
86
|
|
|
87
|
-
[MIT](https://github.com/Dave-London/
|
|
87
|
+
[MIT](https://github.com/Dave-London/Pare/blob/main/LICENSE)
|
package/dist/lib/formatters.d.ts
CHANGED
|
@@ -13,4 +13,60 @@ export declare function formatGoModTidy(data: GoModTidyResult): string;
|
|
|
13
13
|
export declare function formatGoFmt(data: GoFmtResult): string;
|
|
14
14
|
/** Formats structured go generate results into a human-readable summary. */
|
|
15
15
|
export declare function formatGoGenerate(data: GoGenerateResult): string;
|
|
16
|
+
/** Compact build: success, error/warning count. Drop full error details. */
|
|
17
|
+
export interface GoBuildCompact {
|
|
18
|
+
[key: string]: unknown;
|
|
19
|
+
success: boolean;
|
|
20
|
+
total: number;
|
|
21
|
+
}
|
|
22
|
+
export declare function compactBuildMap(data: GoBuildResult): GoBuildCompact;
|
|
23
|
+
export declare function formatBuildCompact(data: GoBuildCompact): string;
|
|
24
|
+
/** Compact test: total, passed, failed, skipped. Drop individual test details. */
|
|
25
|
+
export interface GoTestCompact {
|
|
26
|
+
[key: string]: unknown;
|
|
27
|
+
success: boolean;
|
|
28
|
+
total: number;
|
|
29
|
+
passed: number;
|
|
30
|
+
failed: number;
|
|
31
|
+
skipped: number;
|
|
32
|
+
}
|
|
33
|
+
export declare function compactTestMap(data: GoTestResult): GoTestCompact;
|
|
34
|
+
export declare function formatTestCompact(data: GoTestCompact): string;
|
|
35
|
+
/** Compact vet: diagnostic count only. Drop individual file/line/message entries. */
|
|
36
|
+
export interface GoVetCompact {
|
|
37
|
+
[key: string]: unknown;
|
|
38
|
+
total: number;
|
|
39
|
+
}
|
|
40
|
+
export declare function compactVetMap(data: GoVetResult): GoVetCompact;
|
|
41
|
+
export declare function formatVetCompact(data: GoVetCompact): string;
|
|
42
|
+
/** Compact fmt: success, file count. Drop individual file list. */
|
|
43
|
+
export interface GoFmtCompact {
|
|
44
|
+
[key: string]: unknown;
|
|
45
|
+
success: boolean;
|
|
46
|
+
filesChanged: number;
|
|
47
|
+
}
|
|
48
|
+
export declare function compactFmtMap(data: GoFmtResult): GoFmtCompact;
|
|
49
|
+
export declare function formatFmtCompact(data: GoFmtCompact): string;
|
|
50
|
+
/** Compact run: exitCode, success. Drop stdout/stderr. */
|
|
51
|
+
export interface GoRunCompact {
|
|
52
|
+
[key: string]: unknown;
|
|
53
|
+
exitCode: number;
|
|
54
|
+
success: boolean;
|
|
55
|
+
}
|
|
56
|
+
export declare function compactRunMap(data: GoRunResult): GoRunCompact;
|
|
57
|
+
export declare function formatRunCompact(data: GoRunCompact): string;
|
|
58
|
+
/** Compact generate: success only. Drop full output. */
|
|
59
|
+
export interface GoGenerateCompact {
|
|
60
|
+
[key: string]: unknown;
|
|
61
|
+
success: boolean;
|
|
62
|
+
}
|
|
63
|
+
export declare function compactGenerateMap(data: GoGenerateResult): GoGenerateCompact;
|
|
64
|
+
export declare function formatGenerateCompact(data: GoGenerateCompact): string;
|
|
65
|
+
/** Compact mod-tidy: success only. Drop summary text. */
|
|
66
|
+
export interface GoModTidyCompact {
|
|
67
|
+
[key: string]: unknown;
|
|
68
|
+
success: boolean;
|
|
69
|
+
}
|
|
70
|
+
export declare function compactModTidyMap(data: GoModTidyResult): GoModTidyCompact;
|
|
71
|
+
export declare function formatModTidyCompact(data: GoModTidyCompact): string;
|
|
16
72
|
//# sourceMappingURL=formatters.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/lib/formatters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,WAAW,EACX,WAAW,EACX,eAAe,EACf,WAAW,EACX,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAE7B,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CASzD;AAED,mGAAmG;AACnG,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAUvD;AAED,kFAAkF;AAClF,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CASrD;AAED,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAUrD;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAG7D;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAQrD;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAK/D"}
|
|
1
|
+
{"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/lib/formatters.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/formatters.js
CHANGED
|
@@ -3,7 +3,7 @@ export function formatGoBuild(data) {
|
|
|
3
3
|
if (data.success)
|
|
4
4
|
return "go build: success.";
|
|
5
5
|
const lines = [`go build: ${data.total} errors`];
|
|
6
|
-
for (const e of data.errors) {
|
|
6
|
+
for (const e of data.errors ?? []) {
|
|
7
7
|
const col = e.column ? `:${e.column}` : "";
|
|
8
8
|
lines.push(` ${e.file}:${e.line}${col}: ${e.message}`);
|
|
9
9
|
}
|
|
@@ -15,7 +15,7 @@ export function formatGoTest(data) {
|
|
|
15
15
|
const lines = [
|
|
16
16
|
`${status}: ${data.passed} passed, ${data.failed} failed, ${data.skipped} skipped`,
|
|
17
17
|
];
|
|
18
|
-
for (const t of data.tests) {
|
|
18
|
+
for (const t of data.tests ?? []) {
|
|
19
19
|
const elapsed = t.elapsed !== undefined ? ` (${t.elapsed}s)` : "";
|
|
20
20
|
lines.push(` ${t.status.padEnd(4)} ${t.package}/${t.name}${elapsed}`);
|
|
21
21
|
}
|
|
@@ -26,7 +26,7 @@ export function formatGoVet(data) {
|
|
|
26
26
|
if (data.total === 0)
|
|
27
27
|
return "go vet: no issues found.";
|
|
28
28
|
const lines = [`go vet: ${data.total} issues`];
|
|
29
|
-
for (const d of data.diagnostics) {
|
|
29
|
+
for (const d of data.diagnostics ?? []) {
|
|
30
30
|
const col = d.column ? `:${d.column}` : "";
|
|
31
31
|
lines.push(` ${d.file}:${d.line}${col}: ${d.message}`);
|
|
32
32
|
}
|
|
@@ -58,7 +58,7 @@ export function formatGoFmt(data) {
|
|
|
58
58
|
if (data.success && data.filesChanged === 0)
|
|
59
59
|
return "gofmt: all files formatted.";
|
|
60
60
|
const lines = [`gofmt: ${data.filesChanged} files`];
|
|
61
|
-
for (const f of data.files) {
|
|
61
|
+
for (const f of data.files ?? []) {
|
|
62
62
|
lines.push(` ${f}`);
|
|
63
63
|
}
|
|
64
64
|
return lines.join("\n");
|
|
@@ -70,4 +70,80 @@ export function formatGoGenerate(data) {
|
|
|
70
70
|
}
|
|
71
71
|
return `go generate: FAIL\n${data.output}`;
|
|
72
72
|
}
|
|
73
|
+
export function compactBuildMap(data) {
|
|
74
|
+
return {
|
|
75
|
+
success: data.success,
|
|
76
|
+
total: data.total,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
export function formatBuildCompact(data) {
|
|
80
|
+
if (data.success)
|
|
81
|
+
return "go build: success.";
|
|
82
|
+
return `go build: ${data.total} errors`;
|
|
83
|
+
}
|
|
84
|
+
export function compactTestMap(data) {
|
|
85
|
+
return {
|
|
86
|
+
success: data.success,
|
|
87
|
+
total: data.total,
|
|
88
|
+
passed: data.passed,
|
|
89
|
+
failed: data.failed,
|
|
90
|
+
skipped: data.skipped,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
export function formatTestCompact(data) {
|
|
94
|
+
const status = data.success ? "ok" : "FAIL";
|
|
95
|
+
return `${status}: ${data.passed} passed, ${data.failed} failed, ${data.skipped} skipped`;
|
|
96
|
+
}
|
|
97
|
+
export function compactVetMap(data) {
|
|
98
|
+
return {
|
|
99
|
+
total: data.total,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
export function formatVetCompact(data) {
|
|
103
|
+
if (data.total === 0)
|
|
104
|
+
return "go vet: no issues found.";
|
|
105
|
+
return `go vet: ${data.total} issues`;
|
|
106
|
+
}
|
|
107
|
+
export function compactFmtMap(data) {
|
|
108
|
+
return {
|
|
109
|
+
success: data.success,
|
|
110
|
+
filesChanged: data.filesChanged,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
export function formatFmtCompact(data) {
|
|
114
|
+
if (data.success && data.filesChanged === 0)
|
|
115
|
+
return "gofmt: all files formatted.";
|
|
116
|
+
return `gofmt: ${data.filesChanged} files`;
|
|
117
|
+
}
|
|
118
|
+
export function compactRunMap(data) {
|
|
119
|
+
return {
|
|
120
|
+
exitCode: data.exitCode,
|
|
121
|
+
success: data.success,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
export function formatRunCompact(data) {
|
|
125
|
+
if (data.success)
|
|
126
|
+
return "go run: success.";
|
|
127
|
+
return `go run: exit code ${data.exitCode}.`;
|
|
128
|
+
}
|
|
129
|
+
export function compactGenerateMap(data) {
|
|
130
|
+
return {
|
|
131
|
+
success: data.success,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
export function formatGenerateCompact(data) {
|
|
135
|
+
if (data.success)
|
|
136
|
+
return "go generate: success.";
|
|
137
|
+
return "go generate: FAIL";
|
|
138
|
+
}
|
|
139
|
+
export function compactModTidyMap(data) {
|
|
140
|
+
return {
|
|
141
|
+
success: data.success,
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
export function formatModTidyCompact(data) {
|
|
145
|
+
if (data.success)
|
|
146
|
+
return "go mod tidy: success.";
|
|
147
|
+
return "go mod tidy: FAIL";
|
|
148
|
+
}
|
|
73
149
|
//# sourceMappingURL=formatters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../src/lib/formatters.ts"],"names":[],"mappings":"AAUA,+EAA+E;AAC/E,MAAM,UAAU,aAAa,CAAC,IAAmB;IAC/C,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,oBAAoB,CAAC;IAE9C,MAAM,KAAK,GAAG,CAAC,aAAa,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC;IACjD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../src/lib/formatters.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas/index.d.ts
CHANGED
|
@@ -9,12 +9,12 @@ export declare const GoBuildErrorSchema: z.ZodObject<{
|
|
|
9
9
|
/** Zod schema for structured go build output with success status and error list. */
|
|
10
10
|
export declare const GoBuildResultSchema: z.ZodObject<{
|
|
11
11
|
success: z.ZodBoolean;
|
|
12
|
-
errors: z.ZodArray<z.ZodObject<{
|
|
12
|
+
errors: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
13
13
|
file: z.ZodString;
|
|
14
14
|
line: z.ZodNumber;
|
|
15
15
|
column: z.ZodOptional<z.ZodNumber>;
|
|
16
16
|
message: z.ZodString;
|
|
17
|
-
}, z.core.$strip
|
|
17
|
+
}, z.core.$strip>>>;
|
|
18
18
|
total: z.ZodNumber;
|
|
19
19
|
}, z.core.$strip>;
|
|
20
20
|
export type GoBuildResult = z.infer<typeof GoBuildResultSchema>;
|
|
@@ -33,7 +33,7 @@ export declare const GoTestCaseSchema: z.ZodObject<{
|
|
|
33
33
|
/** Zod schema for structured go test output with test list and pass/fail/skip counts. */
|
|
34
34
|
export declare const GoTestResultSchema: z.ZodObject<{
|
|
35
35
|
success: z.ZodBoolean;
|
|
36
|
-
tests: z.ZodArray<z.ZodObject<{
|
|
36
|
+
tests: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
37
37
|
package: z.ZodString;
|
|
38
38
|
name: z.ZodString;
|
|
39
39
|
status: z.ZodEnum<{
|
|
@@ -43,7 +43,7 @@ export declare const GoTestResultSchema: z.ZodObject<{
|
|
|
43
43
|
}>;
|
|
44
44
|
elapsed: z.ZodOptional<z.ZodNumber>;
|
|
45
45
|
output: z.ZodOptional<z.ZodString>;
|
|
46
|
-
}, z.core.$strip
|
|
46
|
+
}, z.core.$strip>>>;
|
|
47
47
|
total: z.ZodNumber;
|
|
48
48
|
passed: z.ZodNumber;
|
|
49
49
|
failed: z.ZodNumber;
|
|
@@ -59,40 +59,40 @@ export declare const GoVetDiagnosticSchema: z.ZodObject<{
|
|
|
59
59
|
}, z.core.$strip>;
|
|
60
60
|
/** Zod schema for structured go vet output with diagnostic list and total count. */
|
|
61
61
|
export declare const GoVetResultSchema: z.ZodObject<{
|
|
62
|
-
diagnostics: z.ZodArray<z.ZodObject<{
|
|
62
|
+
diagnostics: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
63
63
|
file: z.ZodString;
|
|
64
64
|
line: z.ZodNumber;
|
|
65
65
|
column: z.ZodOptional<z.ZodNumber>;
|
|
66
66
|
message: z.ZodString;
|
|
67
|
-
}, z.core.$strip
|
|
67
|
+
}, z.core.$strip>>>;
|
|
68
68
|
total: z.ZodNumber;
|
|
69
69
|
}, z.core.$strip>;
|
|
70
70
|
export type GoVetResult = z.infer<typeof GoVetResultSchema>;
|
|
71
71
|
/** Zod schema for structured go run output with stdout, stderr, and exit code. */
|
|
72
72
|
export declare const GoRunResultSchema: z.ZodObject<{
|
|
73
73
|
exitCode: z.ZodNumber;
|
|
74
|
-
stdout: z.ZodString
|
|
75
|
-
stderr: z.ZodString
|
|
74
|
+
stdout: z.ZodOptional<z.ZodString>;
|
|
75
|
+
stderr: z.ZodOptional<z.ZodString>;
|
|
76
76
|
success: z.ZodBoolean;
|
|
77
77
|
}, z.core.$strip>;
|
|
78
78
|
export type GoRunResult = z.infer<typeof GoRunResultSchema>;
|
|
79
79
|
/** Zod schema for structured go mod tidy output with success status and summary. */
|
|
80
80
|
export declare const GoModTidyResultSchema: z.ZodObject<{
|
|
81
81
|
success: z.ZodBoolean;
|
|
82
|
-
summary: z.ZodString
|
|
82
|
+
summary: z.ZodOptional<z.ZodString>;
|
|
83
83
|
}, z.core.$strip>;
|
|
84
84
|
export type GoModTidyResult = z.infer<typeof GoModTidyResultSchema>;
|
|
85
85
|
/** Zod schema for structured gofmt output with file list and count. */
|
|
86
86
|
export declare const GoFmtResultSchema: z.ZodObject<{
|
|
87
87
|
success: z.ZodBoolean;
|
|
88
88
|
filesChanged: z.ZodNumber;
|
|
89
|
-
files: z.ZodArray<z.ZodString
|
|
89
|
+
files: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
90
90
|
}, z.core.$strip>;
|
|
91
91
|
export type GoFmtResult = z.infer<typeof GoFmtResultSchema>;
|
|
92
92
|
/** Zod schema for structured go generate output with success status and output text. */
|
|
93
93
|
export declare const GoGenerateResultSchema: z.ZodObject<{
|
|
94
94
|
success: z.ZodBoolean;
|
|
95
|
-
output: z.ZodString
|
|
95
|
+
output: z.ZodOptional<z.ZodString>;
|
|
96
96
|
}, z.core.$strip>;
|
|
97
97
|
export type GoGenerateResult = z.infer<typeof GoGenerateResultSchema>;
|
|
98
98
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/schemas/index.js
CHANGED
|
@@ -9,7 +9,7 @@ export const GoBuildErrorSchema = z.object({
|
|
|
9
9
|
/** Zod schema for structured go build output with success status and error list. */
|
|
10
10
|
export const GoBuildResultSchema = z.object({
|
|
11
11
|
success: z.boolean(),
|
|
12
|
-
errors: z.array(GoBuildErrorSchema),
|
|
12
|
+
errors: z.array(GoBuildErrorSchema).optional(),
|
|
13
13
|
total: z.number(),
|
|
14
14
|
});
|
|
15
15
|
/** Zod schema for a single go test case with package, name, status, and optional elapsed time. */
|
|
@@ -23,7 +23,7 @@ export const GoTestCaseSchema = z.object({
|
|
|
23
23
|
/** Zod schema for structured go test output with test list and pass/fail/skip counts. */
|
|
24
24
|
export const GoTestResultSchema = z.object({
|
|
25
25
|
success: z.boolean(),
|
|
26
|
-
tests: z.array(GoTestCaseSchema),
|
|
26
|
+
tests: z.array(GoTestCaseSchema).optional(),
|
|
27
27
|
total: z.number(),
|
|
28
28
|
passed: z.number(),
|
|
29
29
|
failed: z.number(),
|
|
@@ -38,30 +38,30 @@ export const GoVetDiagnosticSchema = z.object({
|
|
|
38
38
|
});
|
|
39
39
|
/** Zod schema for structured go vet output with diagnostic list and total count. */
|
|
40
40
|
export const GoVetResultSchema = z.object({
|
|
41
|
-
diagnostics: z.array(GoVetDiagnosticSchema),
|
|
41
|
+
diagnostics: z.array(GoVetDiagnosticSchema).optional(),
|
|
42
42
|
total: z.number(),
|
|
43
43
|
});
|
|
44
44
|
/** Zod schema for structured go run output with stdout, stderr, and exit code. */
|
|
45
45
|
export const GoRunResultSchema = z.object({
|
|
46
46
|
exitCode: z.number(),
|
|
47
|
-
stdout: z.string(),
|
|
48
|
-
stderr: z.string(),
|
|
47
|
+
stdout: z.string().optional(),
|
|
48
|
+
stderr: z.string().optional(),
|
|
49
49
|
success: z.boolean(),
|
|
50
50
|
});
|
|
51
51
|
/** Zod schema for structured go mod tidy output with success status and summary. */
|
|
52
52
|
export const GoModTidyResultSchema = z.object({
|
|
53
53
|
success: z.boolean(),
|
|
54
|
-
summary: z.string(),
|
|
54
|
+
summary: z.string().optional(),
|
|
55
55
|
});
|
|
56
56
|
/** Zod schema for structured gofmt output with file list and count. */
|
|
57
57
|
export const GoFmtResultSchema = z.object({
|
|
58
58
|
success: z.boolean(),
|
|
59
59
|
filesChanged: z.number(),
|
|
60
|
-
files: z.array(z.string()),
|
|
60
|
+
files: z.array(z.string()).optional(),
|
|
61
61
|
});
|
|
62
62
|
/** Zod schema for structured go generate output with success status and output text. */
|
|
63
63
|
export const GoGenerateResultSchema = z.object({
|
|
64
64
|
success: z.boolean(),
|
|
65
|
-
output: z.string(),
|
|
65
|
+
output: z.string().optional(),
|
|
66
66
|
});
|
|
67
67
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,6EAA6E;AAC7E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAEH,oFAAoF;AACpF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/tools/build.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/tools/build.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,QA+ClD"}
|
package/dist/tools/build.js
CHANGED
|
@@ -1,27 +1,41 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import {
|
|
2
|
+
import { compactDualOutput, assertNoFlagInjection, INPUT_LIMITS } from "@paretools/shared";
|
|
3
3
|
import { goCmd } from "../lib/go-runner.js";
|
|
4
4
|
import { parseGoBuildOutput } from "../lib/parsers.js";
|
|
5
|
-
import { formatGoBuild } from "../lib/formatters.js";
|
|
5
|
+
import { formatGoBuild, compactBuildMap, formatBuildCompact } from "../lib/formatters.js";
|
|
6
6
|
import { GoBuildResultSchema } from "../schemas/index.js";
|
|
7
7
|
export function registerBuildTool(server) {
|
|
8
8
|
server.registerTool("build", {
|
|
9
9
|
title: "Go Build",
|
|
10
10
|
description: "Runs go build and returns structured error list (file, line, column, message). Use instead of running `go build` in the terminal.",
|
|
11
11
|
inputSchema: {
|
|
12
|
-
path: z
|
|
12
|
+
path: z
|
|
13
|
+
.string()
|
|
14
|
+
.max(INPUT_LIMITS.PATH_MAX)
|
|
15
|
+
.optional()
|
|
16
|
+
.describe("Project root path (default: cwd)"),
|
|
13
17
|
packages: z
|
|
14
|
-
.array(z.string())
|
|
18
|
+
.array(z.string().max(INPUT_LIMITS.SHORT_STRING_MAX))
|
|
19
|
+
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
15
20
|
.optional()
|
|
16
21
|
.default(["./..."])
|
|
17
22
|
.describe("Packages to build (default: ./...)"),
|
|
23
|
+
compact: z
|
|
24
|
+
.boolean()
|
|
25
|
+
.optional()
|
|
26
|
+
.default(true)
|
|
27
|
+
.describe("Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema."),
|
|
18
28
|
},
|
|
19
29
|
outputSchema: GoBuildResultSchema,
|
|
20
|
-
}, async ({ path, packages }) => {
|
|
30
|
+
}, async ({ path, packages, compact }) => {
|
|
21
31
|
const cwd = path || process.cwd();
|
|
32
|
+
for (const p of packages ?? []) {
|
|
33
|
+
assertNoFlagInjection(p, "packages");
|
|
34
|
+
}
|
|
22
35
|
const result = await goCmd(["build", ...(packages || ["./..."])], cwd);
|
|
23
36
|
const data = parseGoBuildOutput(result.stdout, result.stderr, result.exitCode);
|
|
24
|
-
|
|
37
|
+
const rawOutput = (result.stdout + "\n" + result.stderr).trim();
|
|
38
|
+
return compactDualOutput(data, rawOutput, formatGoBuild, compactBuildMap, formatBuildCompact, compact === false);
|
|
25
39
|
});
|
|
26
40
|
}
|
|
27
41
|
//# sourceMappingURL=build.js.map
|
package/dist/tools/build.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/tools/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/tools/build.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,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,UAAU,iBAAiB,CAAC,MAAiB;IACjD,MAAM,CAAC,YAAY,CACjB,OAAO,EACP;QACE,KAAK,EAAE,UAAU;QACjB,WAAW,EACT,mIAAmI;QACrI,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,kCAAkC,CAAC;YAC/C,QAAQ,EAAE,CAAC;iBACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;iBACpD,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;iBAC3B,QAAQ,EAAE;iBACV,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;iBAClB,QAAQ,CAAC,oCAAoC,CAAC;YACjD,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CACP,kGAAkG,CACnG;SACJ;QACD,YAAY,EAAE,mBAAmB;KAClC,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QACpC,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC/B,qBAAqB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvE,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/E,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAChE,OAAO,iBAAiB,CACtB,IAAI,EACJ,SAAS,EACT,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,OAAO,KAAK,KAAK,CAClB,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/dist/tools/fmt.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fmt.d.ts","sourceRoot":"","sources":["../../src/tools/fmt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"fmt.d.ts","sourceRoot":"","sources":["../../src/tools/fmt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,QAsDhD"}
|
package/dist/tools/fmt.js
CHANGED
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import {
|
|
2
|
+
import { compactDualOutput, assertNoFlagInjection, INPUT_LIMITS } from "@paretools/shared";
|
|
3
3
|
import { gofmtCmd } from "../lib/go-runner.js";
|
|
4
4
|
import { parseGoFmtOutput } from "../lib/parsers.js";
|
|
5
|
-
import { formatGoFmt } from "../lib/formatters.js";
|
|
5
|
+
import { formatGoFmt, compactFmtMap, formatFmtCompact } from "../lib/formatters.js";
|
|
6
6
|
import { GoFmtResultSchema } from "../schemas/index.js";
|
|
7
7
|
export function registerFmtTool(server) {
|
|
8
8
|
server.registerTool("fmt", {
|
|
9
9
|
title: "Go Fmt",
|
|
10
10
|
description: "Checks or fixes Go source formatting using gofmt. In check mode (-l), lists unformatted files. In fix mode (-w), rewrites files. Use instead of running `gofmt` in the terminal.",
|
|
11
11
|
inputSchema: {
|
|
12
|
-
path: z
|
|
12
|
+
path: z
|
|
13
|
+
.string()
|
|
14
|
+
.max(INPUT_LIMITS.PATH_MAX)
|
|
15
|
+
.optional()
|
|
16
|
+
.describe("Project root path (default: cwd)"),
|
|
13
17
|
patterns: z
|
|
14
|
-
.array(z.string())
|
|
18
|
+
.array(z.string().max(INPUT_LIMITS.PATH_MAX))
|
|
19
|
+
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
15
20
|
.optional()
|
|
16
21
|
.default(["."])
|
|
17
22
|
.describe("File patterns to format (default: ['.'])"),
|
|
@@ -20,15 +25,24 @@ export function registerFmtTool(server) {
|
|
|
20
25
|
.optional()
|
|
21
26
|
.default(false)
|
|
22
27
|
.describe("Check mode: list unformatted files without fixing (default: false)"),
|
|
28
|
+
compact: z
|
|
29
|
+
.boolean()
|
|
30
|
+
.optional()
|
|
31
|
+
.default(true)
|
|
32
|
+
.describe("Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema."),
|
|
23
33
|
},
|
|
24
34
|
outputSchema: GoFmtResultSchema,
|
|
25
|
-
}, async ({ path, patterns, check }) => {
|
|
35
|
+
}, async ({ path, patterns, check, compact }) => {
|
|
26
36
|
const cwd = path || process.cwd();
|
|
37
|
+
for (const p of patterns ?? []) {
|
|
38
|
+
assertNoFlagInjection(p, "patterns");
|
|
39
|
+
}
|
|
27
40
|
const flag = check ? "-l" : "-w";
|
|
28
41
|
const args = [flag, ...(patterns || ["."])];
|
|
29
42
|
const result = await gofmtCmd(args, cwd);
|
|
30
43
|
const data = parseGoFmtOutput(result.stdout, result.stderr, result.exitCode, !!check);
|
|
31
|
-
|
|
44
|
+
const rawOutput = (result.stdout + "\n" + result.stderr).trim();
|
|
45
|
+
return compactDualOutput(data, rawOutput, formatGoFmt, compactFmtMap, formatFmtCompact, compact === false);
|
|
32
46
|
});
|
|
33
47
|
}
|
|
34
48
|
//# sourceMappingURL=fmt.js.map
|
package/dist/tools/fmt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fmt.js","sourceRoot":"","sources":["../../src/tools/fmt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"fmt.js","sourceRoot":"","sources":["../../src/tools/fmt.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,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,MAAM,CAAC,YAAY,CACjB,KAAK,EACL;QACE,KAAK,EAAE,QAAQ;QACf,WAAW,EACT,kLAAkL;QACpL,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,kCAAkC,CAAC;YAC/C,QAAQ,EAAE,CAAC;iBACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;iBAC5C,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;iBAC3B,QAAQ,EAAE;iBACV,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;iBACd,QAAQ,CAAC,0CAA0C,CAAC;YACvD,KAAK,EAAE,CAAC;iBACL,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CAAC,oEAAoE,CAAC;YACjF,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CACP,kGAAkG,CACnG;SACJ;QACD,YAAY,EAAE,iBAAiB;KAChC,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;QAC3C,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC/B,qBAAqB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACjC,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACtF,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAChE,OAAO,iBAAiB,CACtB,IAAI,EACJ,SAAS,EACT,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,OAAO,KAAK,KAAK,CAClB,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/tools/generate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/tools/generate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,QAkDrD"}
|
package/dist/tools/generate.js
CHANGED
|
@@ -1,27 +1,44 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import {
|
|
2
|
+
import { compactDualOutput, assertNoFlagInjection, INPUT_LIMITS } from "@paretools/shared";
|
|
3
3
|
import { goCmd } from "../lib/go-runner.js";
|
|
4
4
|
import { parseGoGenerateOutput } from "../lib/parsers.js";
|
|
5
|
-
import { formatGoGenerate } from "../lib/formatters.js";
|
|
5
|
+
import { formatGoGenerate, compactGenerateMap, formatGenerateCompact } from "../lib/formatters.js";
|
|
6
6
|
import { GoGenerateResultSchema } from "../schemas/index.js";
|
|
7
7
|
export function registerGenerateTool(server) {
|
|
8
8
|
server.registerTool("generate", {
|
|
9
9
|
title: "Go Generate",
|
|
10
|
-
description: "Runs go generate directives in Go source files. Use instead of running `go generate` in the terminal.",
|
|
10
|
+
description: "Runs go generate directives in Go source files. Use instead of running `go generate` in the terminal. WARNING: `go generate` executes arbitrary commands embedded in //go:generate directives in source files. Only use this tool on trusted code that you have reviewed.",
|
|
11
11
|
inputSchema: {
|
|
12
|
-
path: z
|
|
12
|
+
path: z
|
|
13
|
+
.string()
|
|
14
|
+
.max(INPUT_LIMITS.PATH_MAX)
|
|
15
|
+
.optional()
|
|
16
|
+
.describe("Project root path (default: cwd)"),
|
|
13
17
|
patterns: z
|
|
14
|
-
.array(z.string())
|
|
18
|
+
.array(z.string().max(INPUT_LIMITS.SHORT_STRING_MAX))
|
|
19
|
+
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
15
20
|
.optional()
|
|
16
21
|
.default(["./..."])
|
|
17
22
|
.describe("Packages to generate (default: ./...)"),
|
|
23
|
+
compact: z
|
|
24
|
+
.boolean()
|
|
25
|
+
.optional()
|
|
26
|
+
.default(true)
|
|
27
|
+
.describe("Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema."),
|
|
18
28
|
},
|
|
19
29
|
outputSchema: GoGenerateResultSchema,
|
|
20
|
-
}, async ({ path, patterns }) => {
|
|
30
|
+
}, async ({ path, patterns, compact }) => {
|
|
31
|
+
for (const p of patterns || []) {
|
|
32
|
+
assertNoFlagInjection(p, "patterns");
|
|
33
|
+
}
|
|
21
34
|
const cwd = path || process.cwd();
|
|
35
|
+
for (const p of patterns ?? []) {
|
|
36
|
+
assertNoFlagInjection(p, "patterns");
|
|
37
|
+
}
|
|
22
38
|
const result = await goCmd(["generate", ...(patterns || ["./..."])], cwd);
|
|
23
39
|
const data = parseGoGenerateOutput(result.stdout, result.stderr, result.exitCode);
|
|
24
|
-
|
|
40
|
+
const rawOutput = (result.stdout + "\n" + result.stderr).trim();
|
|
41
|
+
return compactDualOutput(data, rawOutput, formatGoGenerate, compactGenerateMap, formatGenerateCompact, compact === false);
|
|
25
42
|
});
|
|
26
43
|
}
|
|
27
44
|
//# sourceMappingURL=generate.js.map
|
|
@@ -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,
|
|
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,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,MAAM,CAAC,YAAY,CACjB,UAAU,EACV;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,2QAA2Q;QAC7Q,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,kCAAkC,CAAC;YAC/C,QAAQ,EAAE,CAAC;iBACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;iBACpD,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;iBAC3B,QAAQ,EAAE;iBACV,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;iBAClB,QAAQ,CAAC,uCAAuC,CAAC;YACpD,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CACP,kGAAkG,CACnG;SACJ;QACD,YAAY,EAAE,sBAAsB;KACrC,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QACpC,KAAK,MAAM,CAAC,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC/B,qBAAqB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC/B,qBAAqB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC1E,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClF,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAChE,OAAO,iBAAiB,CACtB,IAAI,EACJ,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,OAAO,KAAK,KAAK,CAClB,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod-tidy.d.ts","sourceRoot":"","sources":["../../src/tools/mod-tidy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"mod-tidy.d.ts","sourceRoot":"","sources":["../../src/tools/mod-tidy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,QAsCpD"}
|
package/dist/tools/mod-tidy.js
CHANGED
|
@@ -1,22 +1,32 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import {
|
|
2
|
+
import { compactDualOutput, INPUT_LIMITS } from "@paretools/shared";
|
|
3
3
|
import { goCmd } from "../lib/go-runner.js";
|
|
4
4
|
import { parseGoModTidyOutput } from "../lib/parsers.js";
|
|
5
|
-
import { formatGoModTidy } from "../lib/formatters.js";
|
|
5
|
+
import { formatGoModTidy, compactModTidyMap, formatModTidyCompact } from "../lib/formatters.js";
|
|
6
6
|
import { GoModTidyResultSchema } from "../schemas/index.js";
|
|
7
7
|
export function registerModTidyTool(server) {
|
|
8
8
|
server.registerTool("mod-tidy", {
|
|
9
9
|
title: "Go Mod Tidy",
|
|
10
10
|
description: "Runs go mod tidy to add missing and remove unused module dependencies. Use instead of running `go mod tidy` in the terminal.",
|
|
11
11
|
inputSchema: {
|
|
12
|
-
path: z
|
|
12
|
+
path: z
|
|
13
|
+
.string()
|
|
14
|
+
.max(INPUT_LIMITS.PATH_MAX)
|
|
15
|
+
.optional()
|
|
16
|
+
.describe("Project root path (default: cwd)"),
|
|
17
|
+
compact: z
|
|
18
|
+
.boolean()
|
|
19
|
+
.optional()
|
|
20
|
+
.default(true)
|
|
21
|
+
.describe("Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema."),
|
|
13
22
|
},
|
|
14
23
|
outputSchema: GoModTidyResultSchema,
|
|
15
|
-
}, async ({ path }) => {
|
|
24
|
+
}, async ({ path, compact }) => {
|
|
16
25
|
const cwd = path || process.cwd();
|
|
17
26
|
const result = await goCmd(["mod", "tidy"], cwd);
|
|
18
27
|
const data = parseGoModTidyOutput(result.stdout, result.stderr, result.exitCode);
|
|
19
|
-
|
|
28
|
+
const rawOutput = (result.stdout + "\n" + result.stderr).trim();
|
|
29
|
+
return compactDualOutput(data, rawOutput, formatGoModTidy, compactModTidyMap, formatModTidyCompact, compact === false);
|
|
20
30
|
});
|
|
21
31
|
}
|
|
22
32
|
//# sourceMappingURL=mod-tidy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod-tidy.js","sourceRoot":"","sources":["../../src/tools/mod-tidy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"mod-tidy.js","sourceRoot":"","sources":["../../src/tools/mod-tidy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAChG,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,UAAU,mBAAmB,CAAC,MAAiB;IACnD,MAAM,CAAC,YAAY,CACjB,UAAU,EACV;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,8HAA8H;QAChI,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,kCAAkC,CAAC;YAC/C,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CACP,kGAAkG,CACnG;SACJ;QACD,YAAY,EAAE,qBAAqB;KACpC,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1B,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,oBAAoB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjF,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAChE,OAAO,iBAAiB,CACtB,IAAI,EACJ,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,OAAO,KAAK,KAAK,CAClB,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/dist/tools/run.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/tools/run.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/tools/run.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,QAkEhD"}
|
package/dist/tools/run.js
CHANGED
|
@@ -1,38 +1,60 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import {
|
|
2
|
+
import { compactDualOutput, assertNoFlagInjection, INPUT_LIMITS } from "@paretools/shared";
|
|
3
3
|
import { goCmd } from "../lib/go-runner.js";
|
|
4
4
|
import { parseGoRunOutput } from "../lib/parsers.js";
|
|
5
|
-
import { formatGoRun } from "../lib/formatters.js";
|
|
5
|
+
import { formatGoRun, compactRunMap, formatRunCompact } from "../lib/formatters.js";
|
|
6
6
|
import { GoRunResultSchema } from "../schemas/index.js";
|
|
7
7
|
export function registerRunTool(server) {
|
|
8
8
|
server.registerTool("run", {
|
|
9
9
|
title: "Go Run",
|
|
10
10
|
description: "Runs a Go program and returns structured output (stdout, stderr, exit code). Use instead of running `go run` in the terminal.",
|
|
11
11
|
inputSchema: {
|
|
12
|
-
path: z
|
|
13
|
-
|
|
12
|
+
path: z
|
|
13
|
+
.string()
|
|
14
|
+
.max(INPUT_LIMITS.PATH_MAX)
|
|
15
|
+
.optional()
|
|
16
|
+
.describe("Project root path (default: cwd)"),
|
|
17
|
+
file: z
|
|
18
|
+
.string()
|
|
19
|
+
.max(INPUT_LIMITS.PATH_MAX)
|
|
20
|
+
.optional()
|
|
21
|
+
.default(".")
|
|
22
|
+
.describe("Go file or package to run (default: .)"),
|
|
14
23
|
args: z
|
|
15
|
-
.array(z.string())
|
|
24
|
+
.array(z.string().max(INPUT_LIMITS.STRING_MAX))
|
|
25
|
+
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
16
26
|
.optional()
|
|
17
27
|
.default([])
|
|
18
28
|
.describe("Arguments to pass to the program"),
|
|
19
29
|
buildArgs: z
|
|
20
|
-
.array(z.string())
|
|
30
|
+
.array(z.string().max(INPUT_LIMITS.SHORT_STRING_MAX))
|
|
31
|
+
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
21
32
|
.optional()
|
|
22
33
|
.default([])
|
|
23
34
|
.describe("Build flags to pass to go run (e.g., -race, -tags)"),
|
|
35
|
+
compact: z
|
|
36
|
+
.boolean()
|
|
37
|
+
.optional()
|
|
38
|
+
.default(true)
|
|
39
|
+
.describe("Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema."),
|
|
24
40
|
},
|
|
25
41
|
outputSchema: GoRunResultSchema,
|
|
26
|
-
}, async ({ path, file, args, buildArgs }) => {
|
|
42
|
+
}, async ({ path, file, args, buildArgs, compact }) => {
|
|
27
43
|
const cwd = path || process.cwd();
|
|
28
|
-
const
|
|
44
|
+
const target = file || ".";
|
|
45
|
+
assertNoFlagInjection(target, "file");
|
|
46
|
+
for (const a of buildArgs ?? []) {
|
|
47
|
+
assertNoFlagInjection(a, "buildArgs");
|
|
48
|
+
}
|
|
49
|
+
const cmdArgs = ["run", ...(buildArgs || []), target];
|
|
29
50
|
const programArgs = args || [];
|
|
30
51
|
if (programArgs.length > 0) {
|
|
31
52
|
cmdArgs.push("--", ...programArgs);
|
|
32
53
|
}
|
|
33
54
|
const result = await goCmd(cmdArgs, cwd);
|
|
34
55
|
const data = parseGoRunOutput(result.stdout, result.stderr, result.exitCode);
|
|
35
|
-
|
|
56
|
+
const rawOutput = (result.stdout + "\n" + result.stderr).trim();
|
|
57
|
+
return compactDualOutput(data, rawOutput, formatGoRun, compactRunMap, formatRunCompact, compact === false);
|
|
36
58
|
});
|
|
37
59
|
}
|
|
38
60
|
//# sourceMappingURL=run.js.map
|
package/dist/tools/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/tools/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/tools/run.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/test.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/tools/test.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/tools/test.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,QAwDjD"}
|
package/dist/tools/test.js
CHANGED
|
@@ -1,31 +1,50 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import {
|
|
2
|
+
import { compactDualOutput, assertNoFlagInjection, INPUT_LIMITS } from "@paretools/shared";
|
|
3
3
|
import { goCmd } from "../lib/go-runner.js";
|
|
4
4
|
import { parseGoTestJson } from "../lib/parsers.js";
|
|
5
|
-
import { formatGoTest } from "../lib/formatters.js";
|
|
5
|
+
import { formatGoTest, compactTestMap, formatTestCompact } from "../lib/formatters.js";
|
|
6
6
|
import { GoTestResultSchema } from "../schemas/index.js";
|
|
7
7
|
export function registerTestTool(server) {
|
|
8
8
|
server.registerTool("test", {
|
|
9
9
|
title: "Go Test",
|
|
10
10
|
description: "Runs go test and returns structured test results (name, status, package, elapsed). Use instead of running `go test` in the terminal.",
|
|
11
11
|
inputSchema: {
|
|
12
|
-
path: z
|
|
12
|
+
path: z
|
|
13
|
+
.string()
|
|
14
|
+
.max(INPUT_LIMITS.PATH_MAX)
|
|
15
|
+
.optional()
|
|
16
|
+
.describe("Project root path (default: cwd)"),
|
|
13
17
|
packages: z
|
|
14
|
-
.array(z.string())
|
|
18
|
+
.array(z.string().max(INPUT_LIMITS.SHORT_STRING_MAX))
|
|
19
|
+
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
15
20
|
.optional()
|
|
16
21
|
.default(["./..."])
|
|
17
22
|
.describe("Packages to test (default: ./...)"),
|
|
18
|
-
run: z
|
|
23
|
+
run: z
|
|
24
|
+
.string()
|
|
25
|
+
.max(INPUT_LIMITS.SHORT_STRING_MAX)
|
|
26
|
+
.optional()
|
|
27
|
+
.describe("Test name filter regex"),
|
|
28
|
+
compact: z
|
|
29
|
+
.boolean()
|
|
30
|
+
.optional()
|
|
31
|
+
.default(true)
|
|
32
|
+
.describe("Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema."),
|
|
19
33
|
},
|
|
20
34
|
outputSchema: GoTestResultSchema,
|
|
21
|
-
}, async ({ path, packages, run: runFilter }) => {
|
|
35
|
+
}, async ({ path, packages, run: runFilter, compact }) => {
|
|
22
36
|
const cwd = path || process.cwd();
|
|
37
|
+
for (const p of packages ?? []) {
|
|
38
|
+
assertNoFlagInjection(p, "packages");
|
|
39
|
+
}
|
|
40
|
+
if (runFilter)
|
|
41
|
+
assertNoFlagInjection(runFilter, "run");
|
|
23
42
|
const args = ["test", "-json", ...(packages || ["./..."])];
|
|
24
43
|
if (runFilter)
|
|
25
44
|
args.push("-run", runFilter);
|
|
26
45
|
const result = await goCmd(args, cwd);
|
|
27
46
|
const data = parseGoTestJson(result.stdout, result.exitCode);
|
|
28
|
-
return
|
|
47
|
+
return compactDualOutput(data, result.stdout, formatGoTest, compactTestMap, formatTestCompact, compact === false);
|
|
29
48
|
});
|
|
30
49
|
}
|
|
31
50
|
//# sourceMappingURL=test.js.map
|
package/dist/tools/test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/tools/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/tools/test.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,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IAChD,MAAM,CAAC,YAAY,CACjB,MAAM,EACN;QACE,KAAK,EAAE,SAAS;QAChB,WAAW,EACT,sIAAsI;QACxI,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,kCAAkC,CAAC;YAC/C,QAAQ,EAAE,CAAC;iBACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;iBACpD,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;iBAC3B,QAAQ,EAAE;iBACV,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;iBAClB,QAAQ,CAAC,mCAAmC,CAAC;YAChD,GAAG,EAAE,CAAC;iBACH,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,gBAAgB,CAAC;iBAClC,QAAQ,EAAE;iBACV,QAAQ,CAAC,wBAAwB,CAAC;YACrC,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CACP,kGAAkG,CACnG;SACJ;QACD,YAAY,EAAE,kBAAkB;KACjC,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;QACpD,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC/B,qBAAqB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,SAAS;YAAE,qBAAqB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAEvD,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAE5C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7D,OAAO,iBAAiB,CACtB,IAAI,EACJ,MAAM,CAAC,MAAM,EACb,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,OAAO,KAAK,KAAK,CAClB,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/dist/tools/vet.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vet.d.ts","sourceRoot":"","sources":["../../src/tools/vet.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"vet.d.ts","sourceRoot":"","sources":["../../src/tools/vet.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,QA+ChD"}
|
package/dist/tools/vet.js
CHANGED
|
@@ -1,27 +1,41 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import {
|
|
2
|
+
import { compactDualOutput, assertNoFlagInjection, INPUT_LIMITS } from "@paretools/shared";
|
|
3
3
|
import { goCmd } from "../lib/go-runner.js";
|
|
4
4
|
import { parseGoVetOutput } from "../lib/parsers.js";
|
|
5
|
-
import { formatGoVet } from "../lib/formatters.js";
|
|
5
|
+
import { formatGoVet, compactVetMap, formatVetCompact } from "../lib/formatters.js";
|
|
6
6
|
import { GoVetResultSchema } from "../schemas/index.js";
|
|
7
7
|
export function registerVetTool(server) {
|
|
8
8
|
server.registerTool("vet", {
|
|
9
9
|
title: "Go Vet",
|
|
10
10
|
description: "Runs go vet and returns structured static analysis diagnostics. Use instead of running `go vet` in the terminal.",
|
|
11
11
|
inputSchema: {
|
|
12
|
-
path: z
|
|
12
|
+
path: z
|
|
13
|
+
.string()
|
|
14
|
+
.max(INPUT_LIMITS.PATH_MAX)
|
|
15
|
+
.optional()
|
|
16
|
+
.describe("Project root path (default: cwd)"),
|
|
13
17
|
packages: z
|
|
14
|
-
.array(z.string())
|
|
18
|
+
.array(z.string().max(INPUT_LIMITS.SHORT_STRING_MAX))
|
|
19
|
+
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
15
20
|
.optional()
|
|
16
21
|
.default(["./..."])
|
|
17
22
|
.describe("Packages to vet (default: ./...)"),
|
|
23
|
+
compact: z
|
|
24
|
+
.boolean()
|
|
25
|
+
.optional()
|
|
26
|
+
.default(true)
|
|
27
|
+
.describe("Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema."),
|
|
18
28
|
},
|
|
19
29
|
outputSchema: GoVetResultSchema,
|
|
20
|
-
}, async ({ path, packages }) => {
|
|
30
|
+
}, async ({ path, packages, compact }) => {
|
|
21
31
|
const cwd = path || process.cwd();
|
|
32
|
+
for (const p of packages ?? []) {
|
|
33
|
+
assertNoFlagInjection(p, "packages");
|
|
34
|
+
}
|
|
22
35
|
const result = await goCmd(["vet", ...(packages || ["./..."])], cwd);
|
|
23
36
|
const data = parseGoVetOutput(result.stdout, result.stderr);
|
|
24
|
-
|
|
37
|
+
const rawOutput = (result.stdout + "\n" + result.stderr).trim();
|
|
38
|
+
return compactDualOutput(data, rawOutput, formatGoVet, compactVetMap, formatVetCompact, compact === false);
|
|
25
39
|
});
|
|
26
40
|
}
|
|
27
41
|
//# sourceMappingURL=vet.js.map
|
package/dist/tools/vet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vet.js","sourceRoot":"","sources":["../../src/tools/vet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"vet.js","sourceRoot":"","sources":["../../src/tools/vet.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,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,MAAM,CAAC,YAAY,CACjB,KAAK,EACL;QACE,KAAK,EAAE,QAAQ;QACf,WAAW,EACT,kHAAkH;QACpH,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,kCAAkC,CAAC;YAC/C,QAAQ,EAAE,CAAC;iBACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;iBACpD,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;iBAC3B,QAAQ,EAAE;iBACV,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;iBAClB,QAAQ,CAAC,kCAAkC,CAAC;YAC/C,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CACP,kGAAkG,CACnG;SACJ;QACD,YAAY,EAAE,iBAAiB;KAChC,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QACpC,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC/B,qBAAqB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACrE,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAChE,OAAO,iBAAiB,CACtB,IAAI,EACJ,SAAS,EACT,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,OAAO,KAAK,KAAK,CAClB,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paretools/go",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"mcpName": "io.github.Dave-London/go",
|
|
5
5
|
"description": "MCP server for Go tools (build, test, vet, run, mod-tidy, fmt, generate) with structured, token-efficient output",
|
|
6
6
|
"license": "MIT",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"gofmt",
|
|
23
23
|
"go-test"
|
|
24
24
|
],
|
|
25
|
-
"homepage": "https://github.com/Dave-London/
|
|
25
|
+
"homepage": "https://github.com/Dave-London/Pare/tree/main/packages/server-go",
|
|
26
26
|
"engines": {
|
|
27
27
|
"node": ">=20"
|
|
28
28
|
},
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
},
|
|
42
42
|
"repository": {
|
|
43
43
|
"type": "git",
|
|
44
|
-
"url": "https://github.com/Dave-London/
|
|
44
|
+
"url": "https://github.com/Dave-London/Pare.git",
|
|
45
45
|
"directory": "packages/server-go"
|
|
46
46
|
},
|
|
47
47
|
"files": [
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
52
52
|
"zod": "^4.3.6",
|
|
53
|
-
"@paretools/shared": "0.
|
|
53
|
+
"@paretools/shared": "0.6.0"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"@types/node": "^25.2.3",
|