@paretools/go 0.3.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 +44 -11
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/formatters.d.ts +68 -1
- package/dist/lib/formatters.d.ts.map +1 -1
- package/dist/lib/formatters.js +120 -3
- package/dist/lib/formatters.js.map +1 -1
- package/dist/lib/go-runner.d.ts +1 -0
- package/dist/lib/go-runner.d.ts.map +1 -1
- package/dist/lib/go-runner.js +3 -0
- package/dist/lib/go-runner.js.map +1 -1
- package/dist/lib/parsers.d.ts +11 -1
- package/dist/lib/parsers.d.ts.map +1 -1
- package/dist/lib/parsers.js +51 -2
- package/dist/lib/parsers.js.map +1 -1
- package/dist/schemas/index.d.ts +55 -138
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +32 -6
- 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 +3 -0
- package/dist/tools/fmt.d.ts.map +1 -0
- package/dist/tools/fmt.js +48 -0
- package/dist/tools/fmt.js.map +1 -0
- package/dist/tools/generate.d.ts +3 -0
- package/dist/tools/generate.d.ts.map +1 -0
- package/dist/tools/generate.js +44 -0
- package/dist/tools/generate.js.map +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +8 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/mod-tidy.d.ts +3 -0
- package/dist/tools/mod-tidy.d.ts.map +1 -0
- package/dist/tools/mod-tidy.js +32 -0
- package/dist/tools/mod-tidy.js.map +1 -0
- package/dist/tools/run.d.ts +3 -0
- package/dist/tools/run.d.ts.map +1 -0
- package/dist/tools/run.js +60 -0
- package/dist/tools/run.js.map +1 -0
- 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 +20 -10
package/dist/schemas/index.d.ts
CHANGED
|
@@ -1,181 +1,98 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
/** Zod schema for a single go build error with file location and message. */
|
|
2
3
|
export declare const GoBuildErrorSchema: z.ZodObject<{
|
|
3
4
|
file: z.ZodString;
|
|
4
5
|
line: z.ZodNumber;
|
|
5
6
|
column: z.ZodOptional<z.ZodNumber>;
|
|
6
7
|
message: z.ZodString;
|
|
7
|
-
},
|
|
8
|
-
|
|
9
|
-
line: number;
|
|
10
|
-
message: string;
|
|
11
|
-
column?: number | undefined;
|
|
12
|
-
}, {
|
|
13
|
-
file: string;
|
|
14
|
-
line: number;
|
|
15
|
-
message: string;
|
|
16
|
-
column?: number | undefined;
|
|
17
|
-
}>;
|
|
8
|
+
}, z.core.$strip>;
|
|
9
|
+
/** Zod schema for structured go build output with success status and error list. */
|
|
18
10
|
export declare const GoBuildResultSchema: z.ZodObject<{
|
|
19
11
|
success: z.ZodBoolean;
|
|
20
|
-
errors: z.ZodArray<z.ZodObject<{
|
|
12
|
+
errors: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
21
13
|
file: z.ZodString;
|
|
22
14
|
line: z.ZodNumber;
|
|
23
15
|
column: z.ZodOptional<z.ZodNumber>;
|
|
24
16
|
message: z.ZodString;
|
|
25
|
-
},
|
|
26
|
-
file: string;
|
|
27
|
-
line: number;
|
|
28
|
-
message: string;
|
|
29
|
-
column?: number | undefined;
|
|
30
|
-
}, {
|
|
31
|
-
file: string;
|
|
32
|
-
line: number;
|
|
33
|
-
message: string;
|
|
34
|
-
column?: number | undefined;
|
|
35
|
-
}>, "many">;
|
|
17
|
+
}, z.core.$strip>>>;
|
|
36
18
|
total: z.ZodNumber;
|
|
37
|
-
},
|
|
38
|
-
success: boolean;
|
|
39
|
-
errors: {
|
|
40
|
-
file: string;
|
|
41
|
-
line: number;
|
|
42
|
-
message: string;
|
|
43
|
-
column?: number | undefined;
|
|
44
|
-
}[];
|
|
45
|
-
total: number;
|
|
46
|
-
}, {
|
|
47
|
-
success: boolean;
|
|
48
|
-
errors: {
|
|
49
|
-
file: string;
|
|
50
|
-
line: number;
|
|
51
|
-
message: string;
|
|
52
|
-
column?: number | undefined;
|
|
53
|
-
}[];
|
|
54
|
-
total: number;
|
|
55
|
-
}>;
|
|
19
|
+
}, z.core.$strip>;
|
|
56
20
|
export type GoBuildResult = z.infer<typeof GoBuildResultSchema>;
|
|
21
|
+
/** Zod schema for a single go test case with package, name, status, and optional elapsed time. */
|
|
57
22
|
export declare const GoTestCaseSchema: z.ZodObject<{
|
|
58
23
|
package: z.ZodString;
|
|
59
24
|
name: z.ZodString;
|
|
60
|
-
status: z.ZodEnum<
|
|
25
|
+
status: z.ZodEnum<{
|
|
26
|
+
pass: "pass";
|
|
27
|
+
fail: "fail";
|
|
28
|
+
skip: "skip";
|
|
29
|
+
}>;
|
|
61
30
|
elapsed: z.ZodOptional<z.ZodNumber>;
|
|
62
31
|
output: z.ZodOptional<z.ZodString>;
|
|
63
|
-
},
|
|
64
|
-
|
|
65
|
-
package: string;
|
|
66
|
-
name: string;
|
|
67
|
-
elapsed?: number | undefined;
|
|
68
|
-
output?: string | undefined;
|
|
69
|
-
}, {
|
|
70
|
-
status: "pass" | "fail" | "skip";
|
|
71
|
-
package: string;
|
|
72
|
-
name: string;
|
|
73
|
-
elapsed?: number | undefined;
|
|
74
|
-
output?: string | undefined;
|
|
75
|
-
}>;
|
|
32
|
+
}, z.core.$strip>;
|
|
33
|
+
/** Zod schema for structured go test output with test list and pass/fail/skip counts. */
|
|
76
34
|
export declare const GoTestResultSchema: z.ZodObject<{
|
|
77
35
|
success: z.ZodBoolean;
|
|
78
|
-
tests: z.ZodArray<z.ZodObject<{
|
|
36
|
+
tests: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
79
37
|
package: z.ZodString;
|
|
80
38
|
name: z.ZodString;
|
|
81
|
-
status: z.ZodEnum<
|
|
39
|
+
status: z.ZodEnum<{
|
|
40
|
+
pass: "pass";
|
|
41
|
+
fail: "fail";
|
|
42
|
+
skip: "skip";
|
|
43
|
+
}>;
|
|
82
44
|
elapsed: z.ZodOptional<z.ZodNumber>;
|
|
83
45
|
output: z.ZodOptional<z.ZodString>;
|
|
84
|
-
},
|
|
85
|
-
status: "pass" | "fail" | "skip";
|
|
86
|
-
package: string;
|
|
87
|
-
name: string;
|
|
88
|
-
elapsed?: number | undefined;
|
|
89
|
-
output?: string | undefined;
|
|
90
|
-
}, {
|
|
91
|
-
status: "pass" | "fail" | "skip";
|
|
92
|
-
package: string;
|
|
93
|
-
name: string;
|
|
94
|
-
elapsed?: number | undefined;
|
|
95
|
-
output?: string | undefined;
|
|
96
|
-
}>, "many">;
|
|
46
|
+
}, z.core.$strip>>>;
|
|
97
47
|
total: z.ZodNumber;
|
|
98
48
|
passed: z.ZodNumber;
|
|
99
49
|
failed: z.ZodNumber;
|
|
100
50
|
skipped: z.ZodNumber;
|
|
101
|
-
},
|
|
102
|
-
success: boolean;
|
|
103
|
-
total: number;
|
|
104
|
-
tests: {
|
|
105
|
-
status: "pass" | "fail" | "skip";
|
|
106
|
-
package: string;
|
|
107
|
-
name: string;
|
|
108
|
-
elapsed?: number | undefined;
|
|
109
|
-
output?: string | undefined;
|
|
110
|
-
}[];
|
|
111
|
-
passed: number;
|
|
112
|
-
failed: number;
|
|
113
|
-
skipped: number;
|
|
114
|
-
}, {
|
|
115
|
-
success: boolean;
|
|
116
|
-
total: number;
|
|
117
|
-
tests: {
|
|
118
|
-
status: "pass" | "fail" | "skip";
|
|
119
|
-
package: string;
|
|
120
|
-
name: string;
|
|
121
|
-
elapsed?: number | undefined;
|
|
122
|
-
output?: string | undefined;
|
|
123
|
-
}[];
|
|
124
|
-
passed: number;
|
|
125
|
-
failed: number;
|
|
126
|
-
skipped: number;
|
|
127
|
-
}>;
|
|
51
|
+
}, z.core.$strip>;
|
|
128
52
|
export type GoTestResult = z.infer<typeof GoTestResultSchema>;
|
|
53
|
+
/** Zod schema for a single go vet diagnostic with file location and message. */
|
|
129
54
|
export declare const GoVetDiagnosticSchema: z.ZodObject<{
|
|
130
55
|
file: z.ZodString;
|
|
131
56
|
line: z.ZodNumber;
|
|
132
57
|
column: z.ZodOptional<z.ZodNumber>;
|
|
133
58
|
message: z.ZodString;
|
|
134
|
-
},
|
|
135
|
-
|
|
136
|
-
line: number;
|
|
137
|
-
message: string;
|
|
138
|
-
column?: number | undefined;
|
|
139
|
-
}, {
|
|
140
|
-
file: string;
|
|
141
|
-
line: number;
|
|
142
|
-
message: string;
|
|
143
|
-
column?: number | undefined;
|
|
144
|
-
}>;
|
|
59
|
+
}, z.core.$strip>;
|
|
60
|
+
/** Zod schema for structured go vet output with diagnostic list and total count. */
|
|
145
61
|
export declare const GoVetResultSchema: z.ZodObject<{
|
|
146
|
-
diagnostics: z.ZodArray<z.ZodObject<{
|
|
62
|
+
diagnostics: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
147
63
|
file: z.ZodString;
|
|
148
64
|
line: z.ZodNumber;
|
|
149
65
|
column: z.ZodOptional<z.ZodNumber>;
|
|
150
66
|
message: z.ZodString;
|
|
151
|
-
},
|
|
152
|
-
file: string;
|
|
153
|
-
line: number;
|
|
154
|
-
message: string;
|
|
155
|
-
column?: number | undefined;
|
|
156
|
-
}, {
|
|
157
|
-
file: string;
|
|
158
|
-
line: number;
|
|
159
|
-
message: string;
|
|
160
|
-
column?: number | undefined;
|
|
161
|
-
}>, "many">;
|
|
67
|
+
}, z.core.$strip>>>;
|
|
162
68
|
total: z.ZodNumber;
|
|
163
|
-
},
|
|
164
|
-
total: number;
|
|
165
|
-
diagnostics: {
|
|
166
|
-
file: string;
|
|
167
|
-
line: number;
|
|
168
|
-
message: string;
|
|
169
|
-
column?: number | undefined;
|
|
170
|
-
}[];
|
|
171
|
-
}, {
|
|
172
|
-
total: number;
|
|
173
|
-
diagnostics: {
|
|
174
|
-
file: string;
|
|
175
|
-
line: number;
|
|
176
|
-
message: string;
|
|
177
|
-
column?: number | undefined;
|
|
178
|
-
}[];
|
|
179
|
-
}>;
|
|
69
|
+
}, z.core.$strip>;
|
|
180
70
|
export type GoVetResult = z.infer<typeof GoVetResultSchema>;
|
|
71
|
+
/** Zod schema for structured go run output with stdout, stderr, and exit code. */
|
|
72
|
+
export declare const GoRunResultSchema: z.ZodObject<{
|
|
73
|
+
exitCode: z.ZodNumber;
|
|
74
|
+
stdout: z.ZodOptional<z.ZodString>;
|
|
75
|
+
stderr: z.ZodOptional<z.ZodString>;
|
|
76
|
+
success: z.ZodBoolean;
|
|
77
|
+
}, z.core.$strip>;
|
|
78
|
+
export type GoRunResult = z.infer<typeof GoRunResultSchema>;
|
|
79
|
+
/** Zod schema for structured go mod tidy output with success status and summary. */
|
|
80
|
+
export declare const GoModTidyResultSchema: z.ZodObject<{
|
|
81
|
+
success: z.ZodBoolean;
|
|
82
|
+
summary: z.ZodOptional<z.ZodString>;
|
|
83
|
+
}, z.core.$strip>;
|
|
84
|
+
export type GoModTidyResult = z.infer<typeof GoModTidyResultSchema>;
|
|
85
|
+
/** Zod schema for structured gofmt output with file list and count. */
|
|
86
|
+
export declare const GoFmtResultSchema: z.ZodObject<{
|
|
87
|
+
success: z.ZodBoolean;
|
|
88
|
+
filesChanged: z.ZodNumber;
|
|
89
|
+
files: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
90
|
+
}, z.core.$strip>;
|
|
91
|
+
export type GoFmtResult = z.infer<typeof GoFmtResultSchema>;
|
|
92
|
+
/** Zod schema for structured go generate output with success status and output text. */
|
|
93
|
+
export declare const GoGenerateResultSchema: z.ZodObject<{
|
|
94
|
+
success: z.ZodBoolean;
|
|
95
|
+
output: z.ZodOptional<z.ZodString>;
|
|
96
|
+
}, z.core.$strip>;
|
|
97
|
+
export type GoGenerateResult = z.infer<typeof GoGenerateResultSchema>;
|
|
181
98
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,6EAA6E;AAC7E,eAAO,MAAM,kBAAkB;;;;;iBAK7B,CAAC;AAEH,oFAAoF;AACpF,eAAO,MAAM,mBAAmB;;;;;;;;;iBAI9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,kGAAkG;AAClG,eAAO,MAAM,gBAAgB;;;;;;;;;;iBAM3B,CAAC;AAEH,yFAAyF;AACzF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;iBAO7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,gFAAgF;AAChF,eAAO,MAAM,qBAAqB;;;;;iBAKhC,CAAC;AAEH,oFAAoF;AACpF,eAAO,MAAM,iBAAiB;;;;;;;;iBAG5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,kFAAkF;AAClF,eAAO,MAAM,iBAAiB;;;;;iBAK5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,oFAAoF;AACpF,eAAO,MAAM,qBAAqB;;;iBAGhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,uEAAuE;AACvE,eAAO,MAAM,iBAAiB;;;;iBAI5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,wFAAwF;AACxF,eAAO,MAAM,sBAAsB;;;iBAGjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
package/dist/schemas/index.js
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
|
|
2
|
+
/** Zod schema for a single go build error with file location and message. */
|
|
3
3
|
export const GoBuildErrorSchema = z.object({
|
|
4
4
|
file: z.string(),
|
|
5
5
|
line: z.number(),
|
|
6
6
|
column: z.number().optional(),
|
|
7
7
|
message: z.string(),
|
|
8
8
|
});
|
|
9
|
+
/** Zod schema for structured go build output with success status and error list. */
|
|
9
10
|
export const GoBuildResultSchema = z.object({
|
|
10
11
|
success: z.boolean(),
|
|
11
|
-
errors: z.array(GoBuildErrorSchema),
|
|
12
|
+
errors: z.array(GoBuildErrorSchema).optional(),
|
|
12
13
|
total: z.number(),
|
|
13
14
|
});
|
|
14
|
-
|
|
15
|
+
/** Zod schema for a single go test case with package, name, status, and optional elapsed time. */
|
|
15
16
|
export const GoTestCaseSchema = z.object({
|
|
16
17
|
package: z.string(),
|
|
17
18
|
name: z.string(),
|
|
@@ -19,23 +20,48 @@ export const GoTestCaseSchema = z.object({
|
|
|
19
20
|
elapsed: z.number().optional(),
|
|
20
21
|
output: z.string().optional(),
|
|
21
22
|
});
|
|
23
|
+
/** Zod schema for structured go test output with test list and pass/fail/skip counts. */
|
|
22
24
|
export const GoTestResultSchema = z.object({
|
|
23
25
|
success: z.boolean(),
|
|
24
|
-
tests: z.array(GoTestCaseSchema),
|
|
26
|
+
tests: z.array(GoTestCaseSchema).optional(),
|
|
25
27
|
total: z.number(),
|
|
26
28
|
passed: z.number(),
|
|
27
29
|
failed: z.number(),
|
|
28
30
|
skipped: z.number(),
|
|
29
31
|
});
|
|
30
|
-
|
|
32
|
+
/** Zod schema for a single go vet diagnostic with file location and message. */
|
|
31
33
|
export const GoVetDiagnosticSchema = z.object({
|
|
32
34
|
file: z.string(),
|
|
33
35
|
line: z.number(),
|
|
34
36
|
column: z.number().optional(),
|
|
35
37
|
message: z.string(),
|
|
36
38
|
});
|
|
39
|
+
/** Zod schema for structured go vet output with diagnostic list and total count. */
|
|
37
40
|
export const GoVetResultSchema = z.object({
|
|
38
|
-
diagnostics: z.array(GoVetDiagnosticSchema),
|
|
41
|
+
diagnostics: z.array(GoVetDiagnosticSchema).optional(),
|
|
39
42
|
total: z.number(),
|
|
40
43
|
});
|
|
44
|
+
/** Zod schema for structured go run output with stdout, stderr, and exit code. */
|
|
45
|
+
export const GoRunResultSchema = z.object({
|
|
46
|
+
exitCode: z.number(),
|
|
47
|
+
stdout: z.string().optional(),
|
|
48
|
+
stderr: z.string().optional(),
|
|
49
|
+
success: z.boolean(),
|
|
50
|
+
});
|
|
51
|
+
/** Zod schema for structured go mod tidy output with success status and summary. */
|
|
52
|
+
export const GoModTidyResultSchema = z.object({
|
|
53
|
+
success: z.boolean(),
|
|
54
|
+
summary: z.string().optional(),
|
|
55
|
+
});
|
|
56
|
+
/** Zod schema for structured gofmt output with file list and count. */
|
|
57
|
+
export const GoFmtResultSchema = z.object({
|
|
58
|
+
success: z.boolean(),
|
|
59
|
+
filesChanged: z.number(),
|
|
60
|
+
files: z.array(z.string()).optional(),
|
|
61
|
+
});
|
|
62
|
+
/** Zod schema for structured go generate output with success status and output text. */
|
|
63
|
+
export const GoGenerateResultSchema = z.object({
|
|
64
|
+
success: z.boolean(),
|
|
65
|
+
output: z.string().optional(),
|
|
66
|
+
});
|
|
41
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,
|
|
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"}
|
|
@@ -0,0 +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,QAsDhD"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { compactDualOutput, assertNoFlagInjection, INPUT_LIMITS } from "@paretools/shared";
|
|
3
|
+
import { gofmtCmd } from "../lib/go-runner.js";
|
|
4
|
+
import { parseGoFmtOutput } from "../lib/parsers.js";
|
|
5
|
+
import { formatGoFmt, compactFmtMap, formatFmtCompact } from "../lib/formatters.js";
|
|
6
|
+
import { GoFmtResultSchema } from "../schemas/index.js";
|
|
7
|
+
export function registerFmtTool(server) {
|
|
8
|
+
server.registerTool("fmt", {
|
|
9
|
+
title: "Go Fmt",
|
|
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
|
+
inputSchema: {
|
|
12
|
+
path: z
|
|
13
|
+
.string()
|
|
14
|
+
.max(INPUT_LIMITS.PATH_MAX)
|
|
15
|
+
.optional()
|
|
16
|
+
.describe("Project root path (default: cwd)"),
|
|
17
|
+
patterns: z
|
|
18
|
+
.array(z.string().max(INPUT_LIMITS.PATH_MAX))
|
|
19
|
+
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
20
|
+
.optional()
|
|
21
|
+
.default(["."])
|
|
22
|
+
.describe("File patterns to format (default: ['.'])"),
|
|
23
|
+
check: z
|
|
24
|
+
.boolean()
|
|
25
|
+
.optional()
|
|
26
|
+
.default(false)
|
|
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."),
|
|
33
|
+
},
|
|
34
|
+
outputSchema: GoFmtResultSchema,
|
|
35
|
+
}, async ({ path, patterns, check, compact }) => {
|
|
36
|
+
const cwd = path || process.cwd();
|
|
37
|
+
for (const p of patterns ?? []) {
|
|
38
|
+
assertNoFlagInjection(p, "patterns");
|
|
39
|
+
}
|
|
40
|
+
const flag = check ? "-l" : "-w";
|
|
41
|
+
const args = [flag, ...(patterns || ["."])];
|
|
42
|
+
const result = await gofmtCmd(args, cwd);
|
|
43
|
+
const data = parseGoFmtOutput(result.stdout, result.stderr, result.exitCode, !!check);
|
|
44
|
+
const rawOutput = (result.stdout + "\n" + result.stderr).trim();
|
|
45
|
+
return compactDualOutput(data, rawOutput, formatGoFmt, compactFmtMap, formatFmtCompact, compact === false);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=fmt.js.map
|
|
@@ -0,0 +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,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"}
|
|
@@ -0,0 +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,QAkDrD"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { compactDualOutput, assertNoFlagInjection, INPUT_LIMITS } from "@paretools/shared";
|
|
3
|
+
import { goCmd } from "../lib/go-runner.js";
|
|
4
|
+
import { parseGoGenerateOutput } from "../lib/parsers.js";
|
|
5
|
+
import { formatGoGenerate, compactGenerateMap, formatGenerateCompact } from "../lib/formatters.js";
|
|
6
|
+
import { GoGenerateResultSchema } from "../schemas/index.js";
|
|
7
|
+
export function registerGenerateTool(server) {
|
|
8
|
+
server.registerTool("generate", {
|
|
9
|
+
title: "Go Generate",
|
|
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
|
+
inputSchema: {
|
|
12
|
+
path: z
|
|
13
|
+
.string()
|
|
14
|
+
.max(INPUT_LIMITS.PATH_MAX)
|
|
15
|
+
.optional()
|
|
16
|
+
.describe("Project root path (default: cwd)"),
|
|
17
|
+
patterns: z
|
|
18
|
+
.array(z.string().max(INPUT_LIMITS.SHORT_STRING_MAX))
|
|
19
|
+
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
20
|
+
.optional()
|
|
21
|
+
.default(["./..."])
|
|
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."),
|
|
28
|
+
},
|
|
29
|
+
outputSchema: GoGenerateResultSchema,
|
|
30
|
+
}, async ({ path, patterns, compact }) => {
|
|
31
|
+
for (const p of patterns || []) {
|
|
32
|
+
assertNoFlagInjection(p, "patterns");
|
|
33
|
+
}
|
|
34
|
+
const cwd = path || process.cwd();
|
|
35
|
+
for (const p of patterns ?? []) {
|
|
36
|
+
assertNoFlagInjection(p, "patterns");
|
|
37
|
+
}
|
|
38
|
+
const result = await goCmd(["generate", ...(patterns || ["./..."])], cwd);
|
|
39
|
+
const data = parseGoGenerateOutput(result.stdout, result.stderr, result.exitCode);
|
|
40
|
+
const rawOutput = (result.stdout + "\n" + result.stderr).trim();
|
|
41
|
+
return compactDualOutput(data, rawOutput, formatGoGenerate, compactGenerateMap, formatGenerateCompact, compact === false);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=generate.js.map
|
|
@@ -0,0 +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,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":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AASzE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,QAQjD"}
|
package/dist/tools/index.js
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
import { registerBuildTool } from "./build.js";
|
|
2
2
|
import { registerTestTool } from "./test.js";
|
|
3
3
|
import { registerVetTool } from "./vet.js";
|
|
4
|
+
import { registerRunTool } from "./run.js";
|
|
5
|
+
import { registerModTidyTool } from "./mod-tidy.js";
|
|
6
|
+
import { registerFmtTool } from "./fmt.js";
|
|
7
|
+
import { registerGenerateTool } from "./generate.js";
|
|
4
8
|
export function registerAllTools(server) {
|
|
5
9
|
registerBuildTool(server);
|
|
6
10
|
registerTestTool(server);
|
|
7
11
|
registerVetTool(server);
|
|
12
|
+
registerRunTool(server);
|
|
13
|
+
registerModTidyTool(server);
|
|
14
|
+
registerFmtTool(server);
|
|
15
|
+
registerGenerateTool(server);
|
|
8
16
|
}
|
|
9
17
|
//# sourceMappingURL=index.js.map
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IAChD,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzB,eAAe,CAAC,MAAM,CAAC,CAAC;IACxB,eAAe,CAAC,MAAM,CAAC,CAAC;IACxB,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5B,eAAe,CAAC,MAAM,CAAC,CAAC;IACxB,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +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,QAsCpD"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { compactDualOutput, INPUT_LIMITS } from "@paretools/shared";
|
|
3
|
+
import { goCmd } from "../lib/go-runner.js";
|
|
4
|
+
import { parseGoModTidyOutput } from "../lib/parsers.js";
|
|
5
|
+
import { formatGoModTidy, compactModTidyMap, formatModTidyCompact } from "../lib/formatters.js";
|
|
6
|
+
import { GoModTidyResultSchema } from "../schemas/index.js";
|
|
7
|
+
export function registerModTidyTool(server) {
|
|
8
|
+
server.registerTool("mod-tidy", {
|
|
9
|
+
title: "Go Mod Tidy",
|
|
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
|
+
inputSchema: {
|
|
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."),
|
|
22
|
+
},
|
|
23
|
+
outputSchema: GoModTidyResultSchema,
|
|
24
|
+
}, async ({ path, compact }) => {
|
|
25
|
+
const cwd = path || process.cwd();
|
|
26
|
+
const result = await goCmd(["mod", "tidy"], cwd);
|
|
27
|
+
const data = parseGoModTidyOutput(result.stdout, result.stderr, result.exitCode);
|
|
28
|
+
const rawOutput = (result.stdout + "\n" + result.stderr).trim();
|
|
29
|
+
return compactDualOutput(data, rawOutput, formatGoModTidy, compactModTidyMap, formatModTidyCompact, compact === false);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=mod-tidy.js.map
|
|
@@ -0,0 +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,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"}
|
|
@@ -0,0 +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,QAkEhD"}
|