@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.
Files changed (48) hide show
  1. package/README.md +44 -11
  2. package/dist/index.js +1 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/lib/formatters.d.ts +68 -1
  5. package/dist/lib/formatters.d.ts.map +1 -1
  6. package/dist/lib/formatters.js +120 -3
  7. package/dist/lib/formatters.js.map +1 -1
  8. package/dist/lib/go-runner.d.ts +1 -0
  9. package/dist/lib/go-runner.d.ts.map +1 -1
  10. package/dist/lib/go-runner.js +3 -0
  11. package/dist/lib/go-runner.js.map +1 -1
  12. package/dist/lib/parsers.d.ts +11 -1
  13. package/dist/lib/parsers.d.ts.map +1 -1
  14. package/dist/lib/parsers.js +51 -2
  15. package/dist/lib/parsers.js.map +1 -1
  16. package/dist/schemas/index.d.ts +55 -138
  17. package/dist/schemas/index.d.ts.map +1 -1
  18. package/dist/schemas/index.js +32 -6
  19. package/dist/schemas/index.js.map +1 -1
  20. package/dist/tools/build.d.ts.map +1 -1
  21. package/dist/tools/build.js +20 -6
  22. package/dist/tools/build.js.map +1 -1
  23. package/dist/tools/fmt.d.ts +3 -0
  24. package/dist/tools/fmt.d.ts.map +1 -0
  25. package/dist/tools/fmt.js +48 -0
  26. package/dist/tools/fmt.js.map +1 -0
  27. package/dist/tools/generate.d.ts +3 -0
  28. package/dist/tools/generate.d.ts.map +1 -0
  29. package/dist/tools/generate.js +44 -0
  30. package/dist/tools/generate.js.map +1 -0
  31. package/dist/tools/index.d.ts.map +1 -1
  32. package/dist/tools/index.js +8 -0
  33. package/dist/tools/index.js.map +1 -1
  34. package/dist/tools/mod-tidy.d.ts +3 -0
  35. package/dist/tools/mod-tidy.d.ts.map +1 -0
  36. package/dist/tools/mod-tidy.js +32 -0
  37. package/dist/tools/mod-tidy.js.map +1 -0
  38. package/dist/tools/run.d.ts +3 -0
  39. package/dist/tools/run.d.ts.map +1 -0
  40. package/dist/tools/run.js +60 -0
  41. package/dist/tools/run.js.map +1 -0
  42. package/dist/tools/test.d.ts.map +1 -1
  43. package/dist/tools/test.js +26 -7
  44. package/dist/tools/test.js.map +1 -1
  45. package/dist/tools/vet.d.ts.map +1 -1
  46. package/dist/tools/vet.js +20 -6
  47. package/dist/tools/vet.js.map +1 -1
  48. package/package.json +20 -10
@@ -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
- }, "strip", z.ZodTypeAny, {
8
- file: string;
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
- }, "strip", z.ZodTypeAny, {
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
- }, "strip", z.ZodTypeAny, {
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<["pass", "fail", "skip"]>;
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
- }, "strip", z.ZodTypeAny, {
64
- status: "pass" | "fail" | "skip";
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<["pass", "fail", "skip"]>;
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
- }, "strip", z.ZodTypeAny, {
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
- }, "strip", z.ZodTypeAny, {
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
- }, "strip", z.ZodTypeAny, {
135
- file: string;
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
- }, "strip", z.ZodTypeAny, {
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
- }, "strip", z.ZodTypeAny, {
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;AAGxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAK7B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAGhE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;EAM3B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAG9D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;EAKhC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,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"}
@@ -1,17 +1,18 @@
1
1
  import { z } from "zod";
2
- // go build
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
- // go test -json
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
- // go vet
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,WAAW;AACX,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,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;IACnC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC;AAIH,gBAAgB;AAChB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAIH,SAAS;AACT,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,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,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;IAC3C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CAClB,CAAC,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,QAwBlD"}
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"}
@@ -1,27 +1,41 @@
1
1
  import { z } from "zod";
2
- import { dualOutput } from "@paretools/shared";
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.string().optional().describe("Project root path (default: cwd)"),
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
- return dualOutput(data, formatGoBuild);
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
@@ -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,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,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,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;YACxE,QAAQ,EAAE,CAAC;iBACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,EAAE;iBACV,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;iBAClB,QAAQ,CAAC,oCAAoC,CAAC;SAClD;QACD,YAAY,EAAE,mBAAmB;KAClC,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC3B,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,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,OAAO,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACzC,CAAC,CACF,CAAC;AACJ,CAAC"}
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,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerFmtTool(server: McpServer): void;
3
+ //# sourceMappingURL=fmt.d.ts.map
@@ -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,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerGenerateTool(server: McpServer): void;
3
+ //# sourceMappingURL=generate.d.ts.map
@@ -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;AAKzE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,QAIjD"}
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"}
@@ -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
@@ -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;AAE3C,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IAChD,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzB,eAAe,CAAC,MAAM,CAAC,CAAC;AAC1B,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,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerModTidyTool(server: McpServer): void;
3
+ //# sourceMappingURL=mod-tidy.d.ts.map
@@ -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,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerRunTool(server: McpServer): void;
3
+ //# sourceMappingURL=run.d.ts.map
@@ -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"}