@paretools/build 0.5.0 → 0.7.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 CHANGED
@@ -1,11 +1,11 @@
1
1
  # @paretools/build
2
2
 
3
3
  [![npm](https://img.shields.io/npm/v/@paretools/build.svg)](https://www.npmjs.com/package/@paretools/build)
4
- [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/Dave-London/pare/blob/main/LICENSE)
4
+ [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/Dave-London/Pare/blob/main/LICENSE)
5
5
 
6
6
  **Structured, token-efficient build tool output for AI agents.** Up to 68% fewer tokens than raw build CLI output.
7
7
 
8
- Part of the [Pare](https://github.com/Dave-London/pare) suite of MCP servers.
8
+ Part of the [Pare](https://github.com/Dave-London/Pare) suite of MCP servers.
9
9
 
10
10
  ## Tools (5)
11
11
 
@@ -78,9 +78,9 @@ Works with any MCP-compatible client: [Claude Code](https://docs.anthropic.com/e
78
78
 
79
79
  ## Links
80
80
 
81
- - [Pare monorepo](https://github.com/Dave-London/pare)
81
+ - [Pare monorepo](https://github.com/Dave-London/Pare)
82
82
  - [MCP protocol](https://modelcontextprotocol.io)
83
83
 
84
84
  ## License
85
85
 
86
- [MIT](https://github.com/Dave-London/pare/blob/main/LICENSE)
86
+ [MIT](https://github.com/Dave-London/Pare/blob/main/LICENSE)
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
3
3
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
4
4
  import { registerAllTools } from "./tools/index.js";
5
- const server = new McpServer({ name: "@paretools/build", version: "0.2.0" }, {
5
+ const server = new McpServer({ name: "@paretools/build", version: "0.7.0" }, {
6
6
  instructions: "Structured build tool operations (tsc, esbuild, vite, webpack, generic build). Use instead of running build commands via bash. Returns typed JSON with structured error diagnostics and build results.",
7
7
  });
8
8
  registerAllTools(server);
@@ -9,4 +9,62 @@ export declare function formatEsbuild(data: EsbuildResult): string;
9
9
  export declare function formatViteBuild(data: ViteBuildResult): string;
10
10
  /** Formats structured webpack build results into a human-readable summary. */
11
11
  export declare function formatWebpack(data: WebpackResult): string;
12
+ /** Compact tsc: success, error/warning counts, and first few file:line locations only. */
13
+ export interface TscCompact {
14
+ [key: string]: unknown;
15
+ success: boolean;
16
+ errors: number;
17
+ warnings: number;
18
+ diagnostics: Array<{
19
+ file: string;
20
+ line: number;
21
+ severity: string;
22
+ }>;
23
+ }
24
+ export declare function compactTscMap(data: TscResult): TscCompact;
25
+ export declare function formatTscCompact(data: TscCompact): string;
26
+ /** Compact esbuild: success, counts, and duration. Drops individual file entries. */
27
+ export interface EsbuildCompact {
28
+ [key: string]: unknown;
29
+ success: boolean;
30
+ errorCount: number;
31
+ warningCount: number;
32
+ outputFileCount: number;
33
+ duration: number;
34
+ }
35
+ export declare function compactEsbuildMap(data: EsbuildResult): EsbuildCompact;
36
+ export declare function formatEsbuildCompact(data: EsbuildCompact): string;
37
+ /** Compact vite-build: success, file count, total size string, and duration. Drops per-file entries. */
38
+ export interface ViteBuildCompact {
39
+ [key: string]: unknown;
40
+ success: boolean;
41
+ fileCount: number;
42
+ errorCount: number;
43
+ warningCount: number;
44
+ duration: number;
45
+ }
46
+ export declare function compactViteBuildMap(data: ViteBuildResult): ViteBuildCompact;
47
+ export declare function formatViteBuildCompact(data: ViteBuildCompact): string;
48
+ /** Compact webpack: success, asset count, total size, and duration. Drops per-asset details. */
49
+ export interface WebpackCompact {
50
+ [key: string]: unknown;
51
+ success: boolean;
52
+ assetCount: number;
53
+ totalSize: number;
54
+ errorCount: number;
55
+ warningCount: number;
56
+ duration: number;
57
+ }
58
+ export declare function compactWebpackMap(data: WebpackResult): WebpackCompact;
59
+ export declare function formatWebpackCompact(data: WebpackCompact): string;
60
+ /** Compact build: success, counts, and duration. Drops stdout/stderr content. */
61
+ export interface BuildCompact {
62
+ [key: string]: unknown;
63
+ success: boolean;
64
+ errorCount: number;
65
+ warningCount: number;
66
+ duration: number;
67
+ }
68
+ export declare function compactBuildMap(data: BuildResult): BuildCompact;
69
+ export declare function formatBuildCompact(data: BuildCompact): string;
12
70
  //# 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,SAAS,EACT,WAAW,EACX,aAAa,EACb,eAAe,EACf,aAAa,EACd,MAAM,qBAAqB,CAAC;AAE7B,+FAA+F;AAC/F,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAQjD;AAED,8FAA8F;AAC9F,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAY5D;AAMD,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAgCzD;AAMD,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAoB7D;AAMD,8EAA8E;AAC9E,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAoBzD"}
1
+ {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/lib/formatters.ts"],"names":[],"mappings":"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"}
@@ -103,4 +103,106 @@ export function formatWebpack(data) {
103
103
  }
104
104
  return lines.join("\n");
105
105
  }
106
+ const TSC_COMPACT_DIAG_LIMIT = 10;
107
+ export function compactTscMap(data) {
108
+ return {
109
+ success: data.success,
110
+ errors: data.errors,
111
+ warnings: data.warnings,
112
+ diagnostics: data.diagnostics.slice(0, TSC_COMPACT_DIAG_LIMIT).map((d) => ({
113
+ file: d.file,
114
+ line: d.line,
115
+ severity: d.severity,
116
+ })),
117
+ };
118
+ }
119
+ export function formatTscCompact(data) {
120
+ if (data.errors === 0 && data.warnings === 0)
121
+ return "TypeScript: no errors found.";
122
+ const lines = [`TypeScript: ${data.errors} errors, ${data.warnings} warnings`];
123
+ for (const d of data.diagnostics) {
124
+ lines.push(` ${d.file}:${d.line} ${d.severity}`);
125
+ }
126
+ return lines.join("\n");
127
+ }
128
+ export function compactEsbuildMap(data) {
129
+ return {
130
+ success: data.success,
131
+ errorCount: data.errors.length,
132
+ warningCount: data.warnings.length,
133
+ outputFileCount: data.outputFiles?.length ?? 0,
134
+ duration: data.duration,
135
+ };
136
+ }
137
+ export function formatEsbuildCompact(data) {
138
+ if (data.success && data.errorCount === 0 && data.warningCount === 0) {
139
+ const parts = [`esbuild: build succeeded in ${data.duration}s`];
140
+ if (data.outputFileCount > 0)
141
+ parts.push(`${data.outputFileCount} output files`);
142
+ return parts.join(", ");
143
+ }
144
+ if (data.success) {
145
+ return `esbuild: build succeeded in ${data.duration}s, ${data.warningCount} warnings`;
146
+ }
147
+ return `esbuild: build failed (${data.duration}s) — ${data.errorCount} errors, ${data.warningCount} warnings`;
148
+ }
149
+ export function compactViteBuildMap(data) {
150
+ return {
151
+ success: data.success,
152
+ fileCount: data.outputs.length,
153
+ errorCount: data.errors.length,
154
+ warningCount: data.warnings.length,
155
+ duration: data.duration,
156
+ };
157
+ }
158
+ export function formatViteBuildCompact(data) {
159
+ if (data.success) {
160
+ const parts = [`Vite build succeeded in ${data.duration}s`];
161
+ if (data.fileCount > 0)
162
+ parts.push(`${data.fileCount} output files`);
163
+ if (data.warningCount > 0)
164
+ parts.push(`${data.warningCount} warnings`);
165
+ return parts.join(", ");
166
+ }
167
+ return `Vite build failed (${data.duration}s), ${data.errorCount} errors`;
168
+ }
169
+ export function compactWebpackMap(data) {
170
+ return {
171
+ success: data.success,
172
+ assetCount: data.assets.length,
173
+ totalSize: data.assets.reduce((sum, a) => sum + a.size, 0),
174
+ errorCount: data.errors.length,
175
+ warningCount: data.warnings.length,
176
+ duration: data.duration,
177
+ };
178
+ }
179
+ export function formatWebpackCompact(data) {
180
+ if (data.success) {
181
+ const sizeKB = (data.totalSize / 1024).toFixed(1);
182
+ const parts = [`webpack: build succeeded in ${data.duration}s`];
183
+ if (data.assetCount > 0)
184
+ parts.push(`${data.assetCount} assets (${sizeKB} kB)`);
185
+ if (data.warningCount > 0)
186
+ parts.push(`${data.warningCount} warnings`);
187
+ return parts.join(", ");
188
+ }
189
+ return `webpack: build failed (${data.duration}s), ${data.errorCount} errors`;
190
+ }
191
+ export function compactBuildMap(data) {
192
+ return {
193
+ success: data.success,
194
+ errorCount: data.errors.length,
195
+ warningCount: data.warnings.length,
196
+ duration: data.duration,
197
+ };
198
+ }
199
+ export function formatBuildCompact(data) {
200
+ if (data.success) {
201
+ const parts = [`Build succeeded in ${data.duration}s`];
202
+ if (data.warningCount > 0)
203
+ parts.push(`${data.warningCount} warnings`);
204
+ return parts.join(", ");
205
+ }
206
+ return `Build failed (${data.duration}s), ${data.errorCount} errors`;
207
+ }
106
208
  //# sourceMappingURL=formatters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../src/lib/formatters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../src/lib/formatters.ts"],"names":[],"mappings":"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"}
@@ -1,44 +1,73 @@
1
1
  import { z } from "zod";
2
- /** Zod schema for a single TypeScript compiler diagnostic with file location, severity, and error code. */
2
+ /** Zod schema for a single TypeScript compiler diagnostic with file location, severity, and error code.
3
+ * In compact mode, only file, line, and severity are returned. */
3
4
  export declare const TscDiagnosticSchema: z.ZodObject<{
4
5
  file: z.ZodString;
5
6
  line: z.ZodNumber;
6
- column: z.ZodNumber;
7
- code: z.ZodNumber;
7
+ column: z.ZodOptional<z.ZodNumber>;
8
+ code: z.ZodOptional<z.ZodNumber>;
8
9
  severity: z.ZodEnum<{
9
10
  error: "error";
10
11
  warning: "warning";
11
12
  }>;
12
- message: z.ZodString;
13
+ message: z.ZodOptional<z.ZodString>;
13
14
  }, z.core.$strip>;
14
- /** Zod schema for structured tsc output including success status, diagnostics array, and error/warning counts. */
15
+ /** Zod schema for structured tsc output including success status, diagnostics array, and error/warning counts.
16
+ * In compact mode, total is omitted and diagnostics contain only file:line + severity. */
15
17
  export declare const TscResultSchema: z.ZodObject<{
16
18
  success: z.ZodBoolean;
17
19
  diagnostics: z.ZodArray<z.ZodObject<{
18
20
  file: z.ZodString;
19
21
  line: z.ZodNumber;
20
- column: z.ZodNumber;
21
- code: z.ZodNumber;
22
+ column: z.ZodOptional<z.ZodNumber>;
23
+ code: z.ZodOptional<z.ZodNumber>;
22
24
  severity: z.ZodEnum<{
23
25
  error: "error";
24
26
  warning: "warning";
25
27
  }>;
26
- message: z.ZodString;
28
+ message: z.ZodOptional<z.ZodString>;
27
29
  }, z.core.$strip>>;
28
- total: z.ZodNumber;
30
+ total: z.ZodOptional<z.ZodNumber>;
29
31
  errors: z.ZodNumber;
30
32
  warnings: z.ZodNumber;
31
33
  }, z.core.$strip>;
32
- export type TscResult = z.infer<typeof TscResultSchema>;
33
- export type TscDiagnostic = z.infer<typeof TscDiagnosticSchema>;
34
- /** Zod schema for structured build command output with success status, duration, errors, and warnings. */
34
+ /** Full tsc diagnostic -- always returned by the parser. */
35
+ export interface TscDiagnostic {
36
+ [key: string]: unknown;
37
+ file: string;
38
+ line: number;
39
+ column: number;
40
+ code: number;
41
+ severity: "error" | "warning";
42
+ message: string;
43
+ }
44
+ /** Full tsc result -- always returned by the parser. */
45
+ export interface TscResult {
46
+ [key: string]: unknown;
47
+ success: boolean;
48
+ diagnostics: TscDiagnostic[];
49
+ total: number;
50
+ errors: number;
51
+ warnings: number;
52
+ }
53
+ /** Zod schema for structured build command output with success status, duration, errors, and warnings.
54
+ * In compact mode, error/warning arrays are replaced by errorCount/warningCount. */
35
55
  export declare const BuildResultSchema: z.ZodObject<{
36
56
  success: z.ZodBoolean;
37
57
  duration: z.ZodNumber;
38
- errors: z.ZodArray<z.ZodString>;
39
- warnings: z.ZodArray<z.ZodString>;
58
+ errors: z.ZodOptional<z.ZodArray<z.ZodString>>;
59
+ warnings: z.ZodOptional<z.ZodArray<z.ZodString>>;
60
+ errorCount: z.ZodOptional<z.ZodNumber>;
61
+ warningCount: z.ZodOptional<z.ZodNumber>;
40
62
  }, z.core.$strip>;
41
- export type BuildResult = z.infer<typeof BuildResultSchema>;
63
+ /** Full build result -- always returned by the parser. */
64
+ export interface BuildResult {
65
+ [key: string]: unknown;
66
+ success: boolean;
67
+ duration: number;
68
+ errors: string[];
69
+ warnings: string[];
70
+ }
42
71
  /** Zod schema for a single esbuild error diagnostic. */
43
72
  export declare const EsbuildErrorSchema: z.ZodObject<{
44
73
  file: z.ZodOptional<z.ZodString>;
@@ -52,61 +81,122 @@ export declare const EsbuildWarningSchema: z.ZodObject<{
52
81
  line: z.ZodOptional<z.ZodNumber>;
53
82
  message: z.ZodString;
54
83
  }, z.core.$strip>;
55
- /** Zod schema for structured esbuild output including errors, warnings, output files, and duration. */
84
+ /** Zod schema for structured esbuild output including errors, warnings, output files, and duration.
85
+ * In compact mode, error/warning arrays and outputFiles are replaced by counts. */
56
86
  export declare const EsbuildResultSchema: z.ZodObject<{
57
87
  success: z.ZodBoolean;
58
- errors: z.ZodArray<z.ZodObject<{
88
+ errors: z.ZodOptional<z.ZodArray<z.ZodObject<{
59
89
  file: z.ZodOptional<z.ZodString>;
60
90
  line: z.ZodOptional<z.ZodNumber>;
61
91
  column: z.ZodOptional<z.ZodNumber>;
62
92
  message: z.ZodString;
63
- }, z.core.$strip>>;
64
- warnings: z.ZodArray<z.ZodObject<{
93
+ }, z.core.$strip>>>;
94
+ warnings: z.ZodOptional<z.ZodArray<z.ZodObject<{
65
95
  file: z.ZodOptional<z.ZodString>;
66
96
  line: z.ZodOptional<z.ZodNumber>;
67
97
  message: z.ZodString;
68
- }, z.core.$strip>>;
98
+ }, z.core.$strip>>>;
69
99
  outputFiles: z.ZodOptional<z.ZodArray<z.ZodString>>;
70
100
  duration: z.ZodNumber;
101
+ errorCount: z.ZodOptional<z.ZodNumber>;
102
+ warningCount: z.ZodOptional<z.ZodNumber>;
103
+ outputFileCount: z.ZodOptional<z.ZodNumber>;
71
104
  }, z.core.$strip>;
72
- export type EsbuildError = z.infer<typeof EsbuildErrorSchema>;
73
- export type EsbuildWarning = z.infer<typeof EsbuildWarningSchema>;
74
- export type EsbuildResult = z.infer<typeof EsbuildResultSchema>;
105
+ /** Full esbuild error -- always returned by the parser. */
106
+ export interface EsbuildError {
107
+ [key: string]: unknown;
108
+ file?: string;
109
+ line?: number;
110
+ column?: number;
111
+ message: string;
112
+ }
113
+ /** Full esbuild warning -- always returned by the parser. */
114
+ export interface EsbuildWarning {
115
+ [key: string]: unknown;
116
+ file?: string;
117
+ line?: number;
118
+ message: string;
119
+ }
120
+ /** Full esbuild result -- always returned by the parser. */
121
+ export interface EsbuildResult {
122
+ [key: string]: unknown;
123
+ success: boolean;
124
+ errors: EsbuildError[];
125
+ warnings: EsbuildWarning[];
126
+ outputFiles?: string[];
127
+ duration: number;
128
+ }
75
129
  /** Zod schema for a single Vite build output file entry with name and size. */
76
130
  export declare const ViteOutputFileSchema: z.ZodObject<{
77
131
  file: z.ZodString;
78
132
  size: z.ZodString;
79
133
  }, z.core.$strip>;
80
- /** Zod schema for structured Vite production build output with files, sizes, and duration. */
134
+ /** Zod schema for structured Vite production build output with files, sizes, and duration.
135
+ * In compact mode, per-file outputs and error/warning arrays are replaced by counts. */
81
136
  export declare const ViteBuildResultSchema: z.ZodObject<{
82
137
  success: z.ZodBoolean;
83
138
  duration: z.ZodNumber;
84
- outputs: z.ZodArray<z.ZodObject<{
139
+ outputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
85
140
  file: z.ZodString;
86
141
  size: z.ZodString;
87
- }, z.core.$strip>>;
88
- errors: z.ZodArray<z.ZodString>;
89
- warnings: z.ZodArray<z.ZodString>;
142
+ }, z.core.$strip>>>;
143
+ errors: z.ZodOptional<z.ZodArray<z.ZodString>>;
144
+ warnings: z.ZodOptional<z.ZodArray<z.ZodString>>;
145
+ fileCount: z.ZodOptional<z.ZodNumber>;
146
+ errorCount: z.ZodOptional<z.ZodNumber>;
147
+ warningCount: z.ZodOptional<z.ZodNumber>;
90
148
  }, z.core.$strip>;
91
- export type ViteOutputFile = z.infer<typeof ViteOutputFileSchema>;
92
- export type ViteBuildResult = z.infer<typeof ViteBuildResultSchema>;
149
+ /** Full Vite output file entry. */
150
+ export interface ViteOutputFile {
151
+ [key: string]: unknown;
152
+ file: string;
153
+ size: string;
154
+ }
155
+ /** Full Vite build result -- always returned by the parser. */
156
+ export interface ViteBuildResult {
157
+ [key: string]: unknown;
158
+ success: boolean;
159
+ duration: number;
160
+ outputs: ViteOutputFile[];
161
+ errors: string[];
162
+ warnings: string[];
163
+ }
93
164
  /** Zod schema for a single webpack asset entry. */
94
165
  export declare const WebpackAssetSchema: z.ZodObject<{
95
166
  name: z.ZodString;
96
167
  size: z.ZodNumber;
97
168
  }, z.core.$strip>;
98
- /** Zod schema for structured webpack build output with assets, errors, warnings, and module count. */
169
+ /** Zod schema for structured webpack build output with assets, errors, warnings, and module count.
170
+ * In compact mode, per-asset and error/warning arrays are replaced by counts and totalSize. */
99
171
  export declare const WebpackResultSchema: z.ZodObject<{
100
172
  success: z.ZodBoolean;
101
173
  duration: z.ZodNumber;
102
- assets: z.ZodArray<z.ZodObject<{
174
+ assets: z.ZodOptional<z.ZodArray<z.ZodObject<{
103
175
  name: z.ZodString;
104
176
  size: z.ZodNumber;
105
- }, z.core.$strip>>;
106
- errors: z.ZodArray<z.ZodString>;
107
- warnings: z.ZodArray<z.ZodString>;
177
+ }, z.core.$strip>>>;
178
+ errors: z.ZodOptional<z.ZodArray<z.ZodString>>;
179
+ warnings: z.ZodOptional<z.ZodArray<z.ZodString>>;
108
180
  modules: z.ZodOptional<z.ZodNumber>;
181
+ assetCount: z.ZodOptional<z.ZodNumber>;
182
+ totalSize: z.ZodOptional<z.ZodNumber>;
183
+ errorCount: z.ZodOptional<z.ZodNumber>;
184
+ warningCount: z.ZodOptional<z.ZodNumber>;
109
185
  }, z.core.$strip>;
110
- export type WebpackAsset = z.infer<typeof WebpackAssetSchema>;
111
- export type WebpackResult = z.infer<typeof WebpackResultSchema>;
186
+ /** Full webpack asset entry. */
187
+ export interface WebpackAsset {
188
+ [key: string]: unknown;
189
+ name: string;
190
+ size: number;
191
+ }
192
+ /** Full webpack result -- always returned by the parser. */
193
+ export interface WebpackResult {
194
+ [key: string]: unknown;
195
+ success: boolean;
196
+ duration: number;
197
+ assets: WebpackAsset[];
198
+ errors: string[];
199
+ warnings: string[];
200
+ modules?: number;
201
+ }
112
202
  //# 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;AAExB,2GAA2G;AAC3G,eAAO,MAAM,mBAAmB;;;;;;;;;;iBAO9B,CAAC;AAEH,kHAAkH;AAClH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;iBAM1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,0GAA0G;AAC1G,eAAO,MAAM,iBAAiB;;;;;iBAK5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAM5D,wDAAwD;AACxD,eAAO,MAAM,kBAAkB;;;;;iBAK7B,CAAC;AAEH,0DAA0D;AAC1D,eAAO,MAAM,oBAAoB;;;;iBAI/B,CAAC;AAEH,uGAAuG;AACvG,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;iBAM9B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAMhE,+EAA+E;AAC/E,eAAO,MAAM,oBAAoB;;;iBAG/B,CAAC;AAEH,8FAA8F;AAC9F,eAAO,MAAM,qBAAqB;;;;;;;;;iBAMhC,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAMpE,mDAAmD;AACnD,eAAO,MAAM,kBAAkB;;;iBAG7B,CAAC;AAEH,sGAAsG;AACtG,eAAO,MAAM,mBAAmB;;;;;;;;;;iBAO9B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"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"}
@@ -1,27 +1,32 @@
1
1
  import { z } from "zod";
2
- /** Zod schema for a single TypeScript compiler diagnostic with file location, severity, and error code. */
2
+ /** Zod schema for a single TypeScript compiler diagnostic with file location, severity, and error code.
3
+ * In compact mode, only file, line, and severity are returned. */
3
4
  export const TscDiagnosticSchema = z.object({
4
5
  file: z.string(),
5
6
  line: z.number(),
6
- column: z.number(),
7
- code: z.number(),
7
+ column: z.number().optional(),
8
+ code: z.number().optional(),
8
9
  severity: z.enum(["error", "warning"]),
9
- message: z.string(),
10
+ message: z.string().optional(),
10
11
  });
11
- /** Zod schema for structured tsc output including success status, diagnostics array, and error/warning counts. */
12
+ /** Zod schema for structured tsc output including success status, diagnostics array, and error/warning counts.
13
+ * In compact mode, total is omitted and diagnostics contain only file:line + severity. */
12
14
  export const TscResultSchema = z.object({
13
15
  success: z.boolean(),
14
16
  diagnostics: z.array(TscDiagnosticSchema),
15
- total: z.number(),
17
+ total: z.number().optional(),
16
18
  errors: z.number(),
17
19
  warnings: z.number(),
18
20
  });
19
- /** Zod schema for structured build command output with success status, duration, errors, and warnings. */
21
+ /** Zod schema for structured build command output with success status, duration, errors, and warnings.
22
+ * In compact mode, error/warning arrays are replaced by errorCount/warningCount. */
20
23
  export const BuildResultSchema = z.object({
21
24
  success: z.boolean(),
22
25
  duration: z.number(),
23
- errors: z.array(z.string()),
24
- warnings: z.array(z.string()),
26
+ errors: z.array(z.string()).optional(),
27
+ warnings: z.array(z.string()).optional(),
28
+ errorCount: z.number().optional(),
29
+ warningCount: z.number().optional(),
25
30
  });
26
31
  // ---------------------------------------------------------------------------
27
32
  // esbuild
@@ -39,13 +44,17 @@ export const EsbuildWarningSchema = z.object({
39
44
  line: z.number().optional(),
40
45
  message: z.string(),
41
46
  });
42
- /** Zod schema for structured esbuild output including errors, warnings, output files, and duration. */
47
+ /** Zod schema for structured esbuild output including errors, warnings, output files, and duration.
48
+ * In compact mode, error/warning arrays and outputFiles are replaced by counts. */
43
49
  export const EsbuildResultSchema = z.object({
44
50
  success: z.boolean(),
45
- errors: z.array(EsbuildErrorSchema),
46
- warnings: z.array(EsbuildWarningSchema),
51
+ errors: z.array(EsbuildErrorSchema).optional(),
52
+ warnings: z.array(EsbuildWarningSchema).optional(),
47
53
  outputFiles: z.array(z.string()).optional(),
48
54
  duration: z.number(),
55
+ errorCount: z.number().optional(),
56
+ warningCount: z.number().optional(),
57
+ outputFileCount: z.number().optional(),
49
58
  });
50
59
  // ---------------------------------------------------------------------------
51
60
  // vite-build
@@ -55,13 +64,17 @@ export const ViteOutputFileSchema = z.object({
55
64
  file: z.string(),
56
65
  size: z.string(),
57
66
  });
58
- /** Zod schema for structured Vite production build output with files, sizes, and duration. */
67
+ /** Zod schema for structured Vite production build output with files, sizes, and duration.
68
+ * In compact mode, per-file outputs and error/warning arrays are replaced by counts. */
59
69
  export const ViteBuildResultSchema = z.object({
60
70
  success: z.boolean(),
61
71
  duration: z.number(),
62
- outputs: z.array(ViteOutputFileSchema),
63
- errors: z.array(z.string()),
64
- warnings: z.array(z.string()),
72
+ outputs: z.array(ViteOutputFileSchema).optional(),
73
+ errors: z.array(z.string()).optional(),
74
+ warnings: z.array(z.string()).optional(),
75
+ fileCount: z.number().optional(),
76
+ errorCount: z.number().optional(),
77
+ warningCount: z.number().optional(),
65
78
  });
66
79
  // ---------------------------------------------------------------------------
67
80
  // webpack
@@ -71,13 +84,18 @@ export const WebpackAssetSchema = z.object({
71
84
  name: z.string(),
72
85
  size: z.number(),
73
86
  });
74
- /** Zod schema for structured webpack build output with assets, errors, warnings, and module count. */
87
+ /** Zod schema for structured webpack build output with assets, errors, warnings, and module count.
88
+ * In compact mode, per-asset and error/warning arrays are replaced by counts and totalSize. */
75
89
  export const WebpackResultSchema = z.object({
76
90
  success: z.boolean(),
77
91
  duration: z.number(),
78
- assets: z.array(WebpackAssetSchema),
79
- errors: z.array(z.string()),
80
- warnings: z.array(z.string()),
92
+ assets: z.array(WebpackAssetSchema).optional(),
93
+ errors: z.array(z.string()).optional(),
94
+ warnings: z.array(z.string()).optional(),
81
95
  modules: z.number().optional(),
96
+ assetCount: z.number().optional(),
97
+ totalSize: z.number().optional(),
98
+ errorCount: z.number().optional(),
99
+ warningCount: z.number().optional(),
82
100
  });
83
101
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"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"}
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,QA4BlD"}
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,QAmDlD"}
@@ -1,30 +1,44 @@
1
1
  import { z } from "zod";
2
- import { dualOutput, assertAllowedCommand } from "@paretools/shared";
2
+ import { compactDualOutput, assertAllowedCommand, INPUT_LIMITS } from "@paretools/shared";
3
3
  import { runBuildCommand } from "../lib/build-runner.js";
4
4
  import { parseBuildCommandOutput } from "../lib/parsers.js";
5
- import { formatBuildCommand } from "../lib/formatters.js";
5
+ import { formatBuildCommand, compactBuildMap, formatBuildCompact } from "../lib/formatters.js";
6
6
  import { BuildResultSchema } from "../schemas/index.js";
7
7
  export function registerBuildTool(server) {
8
8
  server.registerTool("build", {
9
9
  title: "Run Build",
10
10
  description: "Runs a build command and returns structured success/failure with errors and warnings. Use instead of running build commands in the terminal.",
11
11
  inputSchema: {
12
- command: z.string().describe("Build command to run (e.g., 'npm', 'npx', 'pnpm')"),
12
+ command: z
13
+ .string()
14
+ .max(INPUT_LIMITS.SHORT_STRING_MAX)
15
+ .describe("Build command to run (e.g., 'npm', 'npx', 'pnpm')"),
13
16
  args: z
14
- .array(z.string())
17
+ .array(z.string().max(INPUT_LIMITS.STRING_MAX))
18
+ .max(INPUT_LIMITS.ARRAY_MAX)
15
19
  .default([])
16
20
  .describe("Arguments for the build command (e.g., ['run', 'build'])"),
17
- path: z.string().optional().describe("Working directory (default: cwd)"),
21
+ path: z
22
+ .string()
23
+ .max(INPUT_LIMITS.PATH_MAX)
24
+ .optional()
25
+ .describe("Working directory (default: cwd)"),
26
+ compact: z
27
+ .boolean()
28
+ .optional()
29
+ .default(true)
30
+ .describe("Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema."),
18
31
  },
19
32
  outputSchema: BuildResultSchema,
20
- }, async ({ command, args, path }) => {
33
+ }, async ({ command, args, path, compact }) => {
21
34
  assertAllowedCommand(command);
22
35
  const cwd = path || process.cwd();
23
36
  const start = Date.now();
24
37
  const result = await runBuildCommand(command, args || [], cwd);
25
38
  const duration = Math.round((Date.now() - start) / 100) / 10;
39
+ const rawOutput = result.stdout + "\n" + result.stderr;
26
40
  const data = parseBuildCommandOutput(result.stdout, result.stderr, result.exitCode, duration);
27
- return dualOutput(data, formatBuildCommand);
41
+ return compactDualOutput(data, rawOutput, formatBuildCommand, compactBuildMap, formatBuildCompact, compact === false);
28
42
  });
29
43
  }
30
44
  //# 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,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,UAAU,iBAAiB,CAAC,MAAiB;IACjD,MAAM,CAAC,YAAY,CACjB,OAAO,EACP;QACE,KAAK,EAAE,WAAW;QAClB,WAAW,EACT,8IAA8I;QAChJ,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;YACjF,IAAI,EAAE,CAAC;iBACJ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,OAAO,CAAC,EAAE,CAAC;iBACX,QAAQ,CAAC,0DAA0D,CAAC;YACvE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;SACzE;QACD,YAAY,EAAE,iBAAiB;KAChC,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;QAChC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;QAE7D,MAAM,IAAI,GAAG,uBAAuB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC9F,OAAO,UAAU,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IAC9C,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,oBAAoB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,UAAU,iBAAiB,CAAC,MAAiB;IACjD,MAAM,CAAC,YAAY,CACjB,OAAO,EACP;QACE,KAAK,EAAE,WAAW;QAClB,WAAW,EACT,8IAA8I;QAChJ,WAAW,EAAE;YACX,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,gBAAgB,CAAC;iBAClC,QAAQ,CAAC,mDAAmD,CAAC;YAChE,IAAI,EAAE,CAAC;iBACJ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;iBAC9C,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;iBAC3B,OAAO,CAAC,EAAE,CAAC;iBACX,QAAQ,CAAC,0DAA0D,CAAC;YACvE,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,iBAAiB;KAChC,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;QACzC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;QAC7D,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;QAEvD,MAAM,IAAI,GAAG,uBAAuB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC9F,OAAO,iBAAiB,CACtB,IAAI,EACJ,SAAS,EACT,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,OAAO,KAAK,KAAK,CAClB,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"esbuild.d.ts","sourceRoot":"","sources":["../../src/tools/esbuild.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,QA8EpD"}
1
+ {"version":3,"file":"esbuild.d.ts","sourceRoot":"","sources":["../../src/tools/esbuild.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,QA+GpD"}
@@ -1,20 +1,29 @@
1
1
  import { z } from "zod";
2
- import { dualOutput, assertNoFlagInjection } from "@paretools/shared";
2
+ import { compactDualOutput, assertNoFlagInjection, INPUT_LIMITS } from "@paretools/shared";
3
3
  import { esbuildCmd } from "../lib/build-runner.js";
4
4
  import { parseEsbuildOutput } from "../lib/parsers.js";
5
- import { formatEsbuild } from "../lib/formatters.js";
5
+ import { formatEsbuild, compactEsbuildMap, formatEsbuildCompact } from "../lib/formatters.js";
6
6
  import { EsbuildResultSchema } from "../schemas/index.js";
7
7
  export function registerEsbuildTool(server) {
8
8
  server.registerTool("esbuild", {
9
9
  title: "esbuild",
10
10
  description: "Runs the esbuild bundler and returns structured errors, warnings, and output files. Use instead of running `esbuild` 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
  entryPoints: z
14
- .array(z.string())
18
+ .array(z.string().max(INPUT_LIMITS.PATH_MAX))
19
+ .max(INPUT_LIMITS.ARRAY_MAX)
15
20
  .describe("Entry point files to bundle (e.g., ['src/index.ts'])"),
16
- outdir: z.string().optional().describe("Output directory"),
17
- outfile: z.string().optional().describe("Output file (single entry point)"),
21
+ outdir: z.string().max(INPUT_LIMITS.PATH_MAX).optional().describe("Output directory"),
22
+ outfile: z
23
+ .string()
24
+ .max(INPUT_LIMITS.PATH_MAX)
25
+ .optional()
26
+ .describe("Output file (single entry point)"),
18
27
  bundle: z
19
28
  .boolean()
20
29
  .optional()
@@ -34,10 +43,20 @@ export function registerEsbuildTool(server) {
34
43
  .optional()
35
44
  .default(false)
36
45
  .describe("Generate source maps (default: false)"),
37
- args: z.array(z.string()).optional().default([]).describe("Additional esbuild flags"),
46
+ args: z
47
+ .array(z.string().max(INPUT_LIMITS.STRING_MAX))
48
+ .max(INPUT_LIMITS.ARRAY_MAX)
49
+ .optional()
50
+ .default([])
51
+ .describe("Additional esbuild flags"),
52
+ compact: z
53
+ .boolean()
54
+ .optional()
55
+ .default(true)
56
+ .describe("Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema."),
38
57
  },
39
58
  outputSchema: EsbuildResultSchema,
40
- }, async ({ path, entryPoints, outdir, outfile, bundle, minify, format, platform, sourcemap, args, }) => {
59
+ }, async ({ path, entryPoints, outdir, outfile, bundle, minify, format, platform, sourcemap, args, compact, }) => {
41
60
  const cwd = path || process.cwd();
42
61
  // Validate entry points to prevent flag injection
43
62
  for (const ep of entryPoints) {
@@ -58,14 +77,18 @@ export function registerEsbuildTool(server) {
58
77
  cliArgs.push(`--platform=${platform}`);
59
78
  if (sourcemap)
60
79
  cliArgs.push("--sourcemap");
80
+ for (const a of args ?? []) {
81
+ assertNoFlagInjection(a, "args");
82
+ }
61
83
  if (args) {
62
84
  cliArgs.push(...args);
63
85
  }
64
86
  const start = Date.now();
65
87
  const result = await esbuildCmd(cliArgs, cwd);
66
88
  const duration = Math.round((Date.now() - start) / 100) / 10;
89
+ const rawOutput = result.stdout + "\n" + result.stderr;
67
90
  const data = parseEsbuildOutput(result.stdout, result.stderr, result.exitCode, duration);
68
- return dualOutput(data, formatEsbuild);
91
+ return compactDualOutput(data, rawOutput, formatEsbuild, compactEsbuildMap, formatEsbuildCompact, compact === false);
69
92
  });
70
93
  }
71
94
  //# sourceMappingURL=esbuild.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"esbuild.js","sourceRoot":"","sources":["../../src/tools/esbuild.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"esbuild.js","sourceRoot":"","sources":["../../src/tools/esbuild.ts"],"names":[],"mappings":"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"}
@@ -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;AAOzE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,QAMjD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQzE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,QAOjD"}
@@ -1,13 +1,20 @@
1
+ import { shouldRegisterTool } from "@paretools/shared";
1
2
  import { registerTscTool } from "./tsc.js";
2
3
  import { registerBuildTool } from "./build.js";
3
4
  import { registerEsbuildTool } from "./esbuild.js";
4
5
  import { registerViteBuildTool } from "./vite-build.js";
5
6
  import { registerWebpackTool } from "./webpack.js";
6
7
  export function registerAllTools(server) {
7
- registerTscTool(server);
8
- registerBuildTool(server);
9
- registerEsbuildTool(server);
10
- registerViteBuildTool(server);
11
- registerWebpackTool(server);
8
+ const s = (name) => shouldRegisterTool("build", name);
9
+ if (s("tsc"))
10
+ registerTscTool(server);
11
+ if (s("build"))
12
+ registerBuildTool(server);
13
+ if (s("esbuild"))
14
+ registerEsbuildTool(server);
15
+ if (s("vite-build"))
16
+ registerViteBuildTool(server);
17
+ if (s("webpack"))
18
+ registerWebpackTool(server);
12
19
  }
13
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IAChD,eAAe,CAAC,MAAM,CAAC,CAAC;IACxB,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5B,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IAChD,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9D,IAAI,CAAC,CAAC,KAAK,CAAC;QAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC,CAAC,OAAO,CAAC;QAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,CAAC,SAAS,CAAC;QAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC,CAAC,YAAY,CAAC;QAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,CAAC,CAAC,SAAS,CAAC;QAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tsc.d.ts","sourceRoot":"","sources":["../../src/tools/tsc.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,QA6BhD"}
1
+ {"version":3,"file":"tsc.d.ts","sourceRoot":"","sources":["../../src/tools/tsc.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,QAkDhD"}
package/dist/tools/tsc.js CHANGED
@@ -1,33 +1,45 @@
1
1
  import { z } from "zod";
2
- import { dualOutput } from "@paretools/shared";
2
+ import { compactDualOutput, assertNoFlagInjection, INPUT_LIMITS } from "@paretools/shared";
3
3
  import { tsc } from "../lib/build-runner.js";
4
4
  import { parseTscOutput } from "../lib/parsers.js";
5
- import { formatTsc } from "../lib/formatters.js";
5
+ import { formatTsc, compactTscMap, formatTscCompact } from "../lib/formatters.js";
6
6
  import { TscResultSchema } from "../schemas/index.js";
7
7
  export function registerTscTool(server) {
8
8
  server.registerTool("tsc", {
9
9
  title: "TypeScript Check",
10
10
  description: "Runs the TypeScript compiler and returns structured diagnostics (file, line, column, code, message). Use instead of running `tsc` 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
  noEmit: z
14
18
  .boolean()
15
19
  .optional()
16
20
  .default(true)
17
21
  .describe("Skip emitting output files (default: true)"),
18
- project: z.string().optional().describe("Path to tsconfig.json"),
22
+ project: z.string().max(INPUT_LIMITS.PATH_MAX).optional().describe("Path to tsconfig.json"),
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."),
19
28
  },
20
29
  outputSchema: TscResultSchema,
21
- }, async ({ path, noEmit, project }) => {
30
+ }, async ({ path, noEmit, project, compact }) => {
22
31
  const cwd = path || process.cwd();
32
+ if (project)
33
+ assertNoFlagInjection(project, "project");
23
34
  const args = [];
24
35
  if (noEmit !== false)
25
36
  args.push("--noEmit");
26
37
  if (project)
27
38
  args.push("--project", project);
28
39
  const result = await tsc(args, cwd);
40
+ const rawOutput = result.stdout + "\n" + result.stderr;
29
41
  const data = parseTscOutput(result.stdout, result.stderr, result.exitCode);
30
- return dualOutput(data, formatTsc);
42
+ return compactDualOutput(data, rawOutput, formatTsc, compactTscMap, formatTscCompact, compact === false);
31
43
  });
32
44
  }
33
45
  //# sourceMappingURL=tsc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tsc.js","sourceRoot":"","sources":["../../src/tools/tsc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,MAAM,CAAC,YAAY,CACjB,KAAK,EACL;QACE,KAAK,EAAE,kBAAkB;QACzB,WAAW,EACT,oJAAoJ;QACtJ,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;YACxE,MAAM,EAAE,CAAC;iBACN,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CAAC,4CAA4C,CAAC;YACzD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;SACjE;QACD,YAAY,EAAE,eAAe;KAC9B,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;QAClC,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,MAAM,KAAK,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,OAAO;YAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAE7C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3E,OAAO,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACrC,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"tsc.js","sourceRoot":"","sources":["../../src/tools/tsc.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,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,MAAM,CAAC,YAAY,CACjB,KAAK,EACL;QACE,KAAK,EAAE,kBAAkB;QACzB,WAAW,EACT,oJAAoJ;QACtJ,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,MAAM,EAAE,CAAC;iBACN,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CAAC,4CAA4C,CAAC;YACzD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAC3F,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CACP,kGAAkG,CACnG;SACJ;QACD,YAAY,EAAE,eAAe;KAC9B,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;QAC3C,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,IAAI,OAAO;YAAE,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAEvD,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,MAAM,KAAK,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,OAAO;YAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAE7C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACpC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;QACvD,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3E,OAAO,iBAAiB,CACtB,IAAI,EACJ,SAAS,EACT,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,OAAO,KAAK,KAAK,CAClB,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"vite-build.d.ts","sourceRoot":"","sources":["../../src/tools/vite-build.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,QAsCtD"}
1
+ {"version":3,"file":"vite-build.d.ts","sourceRoot":"","sources":["../../src/tools/vite-build.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,QAoEtD"}
@@ -1,25 +1,45 @@
1
1
  import { z } from "zod";
2
- import { dualOutput } from "@paretools/shared";
2
+ import { compactDualOutput, assertNoFlagInjection, INPUT_LIMITS } from "@paretools/shared";
3
3
  import { viteCmd } from "../lib/build-runner.js";
4
4
  import { parseViteBuildOutput } from "../lib/parsers.js";
5
- import { formatViteBuild } from "../lib/formatters.js";
5
+ import { formatViteBuild, compactViteBuildMap, formatViteBuildCompact } from "../lib/formatters.js";
6
6
  import { ViteBuildResultSchema } from "../schemas/index.js";
7
7
  export function registerViteBuildTool(server) {
8
8
  server.registerTool("vite-build", {
9
9
  title: "Vite Build",
10
10
  description: "Runs Vite production build and returns structured output files with sizes. Use instead of running `vite 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
  mode: z
14
18
  .string()
19
+ .max(INPUT_LIMITS.SHORT_STRING_MAX)
15
20
  .optional()
16
21
  .default("production")
17
22
  .describe("Build mode (default: production)"),
18
- args: z.array(z.string()).optional().default([]).describe("Additional Vite build flags"),
23
+ args: z
24
+ .array(z.string().max(INPUT_LIMITS.STRING_MAX))
25
+ .max(INPUT_LIMITS.ARRAY_MAX)
26
+ .optional()
27
+ .default([])
28
+ .describe("Additional Vite build flags"),
29
+ compact: z
30
+ .boolean()
31
+ .optional()
32
+ .default(true)
33
+ .describe("Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema."),
19
34
  },
20
35
  outputSchema: ViteBuildResultSchema,
21
- }, async ({ path, mode, args }) => {
36
+ }, async ({ path, mode, args, compact }) => {
22
37
  const cwd = path || process.cwd();
38
+ if (mode)
39
+ assertNoFlagInjection(mode, "mode");
40
+ for (const a of args ?? []) {
41
+ assertNoFlagInjection(a, "args");
42
+ }
23
43
  const cliArgs = [];
24
44
  if (mode && mode !== "production") {
25
45
  cliArgs.push("--mode", mode);
@@ -30,8 +50,9 @@ export function registerViteBuildTool(server) {
30
50
  const start = Date.now();
31
51
  const result = await viteCmd(cliArgs, cwd);
32
52
  const duration = Math.round((Date.now() - start) / 100) / 10;
53
+ const rawOutput = result.stdout + "\n" + result.stderr;
33
54
  const data = parseViteBuildOutput(result.stdout, result.stderr, result.exitCode, duration);
34
- return dualOutput(data, formatViteBuild);
55
+ return compactDualOutput(data, rawOutput, formatViteBuild, compactViteBuildMap, formatViteBuildCompact, compact === false);
35
56
  });
36
57
  }
37
58
  //# sourceMappingURL=vite-build.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vite-build.js","sourceRoot":"","sources":["../../src/tools/vite-build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,UAAU,qBAAqB,CAAC,MAAiB;IACrD,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,KAAK,EAAE,YAAY;QACnB,WAAW,EACT,iIAAiI;QACnI,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;YACxE,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,OAAO,CAAC,YAAY,CAAC;iBACrB,QAAQ,CAAC,kCAAkC,CAAC;YAC/C,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;SACzF;QACD,YAAY,EAAE,qBAAqB;KACpC,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;QAC7B,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,IAAI,IAAI,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACxB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;QAE7D,MAAM,IAAI,GAAG,oBAAoB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3F,OAAO,UAAU,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAC3C,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"vite-build.js","sourceRoot":"","sources":["../../src/tools/vite-build.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"webpack.d.ts","sourceRoot":"","sources":["../../src/tools/webpack.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,QAsCpD"}
1
+ {"version":3,"file":"webpack.d.ts","sourceRoot":"","sources":["../../src/tools/webpack.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,QAuEpD"}
@@ -1,25 +1,48 @@
1
1
  import { z } from "zod";
2
- import { dualOutput } from "@paretools/shared";
2
+ import { compactDualOutput, assertNoFlagInjection, INPUT_LIMITS } from "@paretools/shared";
3
3
  import { webpackCmd } from "../lib/build-runner.js";
4
4
  import { parseWebpackOutput } from "../lib/parsers.js";
5
- import { formatWebpack } from "../lib/formatters.js";
5
+ import { formatWebpack, compactWebpackMap, formatWebpackCompact } from "../lib/formatters.js";
6
6
  import { WebpackResultSchema } from "../schemas/index.js";
7
7
  export function registerWebpackTool(server) {
8
8
  server.registerTool("webpack", {
9
9
  title: "webpack",
10
10
  description: "Runs webpack build with JSON stats output and returns structured assets, errors, and warnings. Use instead of running `webpack` in the terminal.",
11
11
  inputSchema: {
12
- path: z.string().optional().describe("Project root path (default: cwd)"),
13
- config: z.string().optional().describe("Path to webpack config file"),
12
+ path: z
13
+ .string()
14
+ .max(INPUT_LIMITS.PATH_MAX)
15
+ .optional()
16
+ .describe("Project root path (default: cwd)"),
17
+ config: z
18
+ .string()
19
+ .max(INPUT_LIMITS.PATH_MAX)
20
+ .optional()
21
+ .describe("Path to webpack config file"),
14
22
  mode: z
15
23
  .enum(["production", "development", "none"])
16
24
  .optional()
17
25
  .describe("Build mode (production, development, none)"),
18
- args: z.array(z.string()).optional().default([]).describe("Additional webpack flags"),
26
+ args: z
27
+ .array(z.string().max(INPUT_LIMITS.STRING_MAX))
28
+ .max(INPUT_LIMITS.ARRAY_MAX)
29
+ .optional()
30
+ .default([])
31
+ .describe("Additional webpack flags"),
32
+ compact: z
33
+ .boolean()
34
+ .optional()
35
+ .default(true)
36
+ .describe("Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema."),
19
37
  },
20
38
  outputSchema: WebpackResultSchema,
21
- }, async ({ path, config, mode, args }) => {
39
+ }, async ({ path, config, mode, args, compact }) => {
22
40
  const cwd = path || process.cwd();
41
+ if (config)
42
+ assertNoFlagInjection(config, "config");
43
+ for (const a of args ?? []) {
44
+ assertNoFlagInjection(a, "args");
45
+ }
23
46
  const cliArgs = [];
24
47
  if (config)
25
48
  cliArgs.push("--config", config);
@@ -32,8 +55,9 @@ export function registerWebpackTool(server) {
32
55
  const start = Date.now();
33
56
  const result = await webpackCmd(cliArgs, cwd);
34
57
  const duration = Math.round((Date.now() - start) / 100) / 10;
58
+ const rawOutput = result.stdout + "\n" + result.stderr;
35
59
  const data = parseWebpackOutput(result.stdout, result.stderr, result.exitCode, duration);
36
- return dualOutput(data, formatWebpack);
60
+ return compactDualOutput(data, rawOutput, formatWebpack, compactWebpackMap, formatWebpackCompact, compact === false);
37
61
  });
38
62
  }
39
63
  //# sourceMappingURL=webpack.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"webpack.js","sourceRoot":"","sources":["../../src/tools/webpack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,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,mBAAmB,CAAC,MAAiB;IACnD,MAAM,CAAC,YAAY,CACjB,SAAS,EACT;QACE,KAAK,EAAE,SAAS;QAChB,WAAW,EACT,kJAAkJ;QACpJ,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;YACxE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YACrE,IAAI,EAAE,CAAC;iBACJ,IAAI,CAAC,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;iBAC3C,QAAQ,EAAE;iBACV,QAAQ,CAAC,4CAA4C,CAAC;YACzD,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;SACtF;QACD,YAAY,EAAE,mBAAmB;KAClC,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,IAAI,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEvB,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACxB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;QAE7D,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACzF,OAAO,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACzC,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"webpack.js","sourceRoot":"","sources":["../../src/tools/webpack.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paretools/build",
3
- "version": "0.5.0",
3
+ "version": "0.7.0",
4
4
  "mcpName": "io.github.Dave-London/build",
5
5
  "description": "MCP server for build tools (tsc, esbuild, etc.) with structured, token-efficient output",
6
6
  "license": "MIT",
@@ -24,7 +24,7 @@
24
24
  "webpack",
25
25
  "bundler"
26
26
  ],
27
- "homepage": "https://github.com/Dave-London/pare/tree/main/packages/server-build",
27
+ "homepage": "https://github.com/Dave-London/Pare/tree/main/packages/server-build",
28
28
  "engines": {
29
29
  "node": ">=20"
30
30
  },
@@ -43,7 +43,7 @@
43
43
  },
44
44
  "repository": {
45
45
  "type": "git",
46
- "url": "https://github.com/Dave-London/pare.git",
46
+ "url": "https://github.com/Dave-London/Pare.git",
47
47
  "directory": "packages/server-build"
48
48
  },
49
49
  "files": [
@@ -52,12 +52,14 @@
52
52
  "dependencies": {
53
53
  "@modelcontextprotocol/sdk": "^1.26.0",
54
54
  "zod": "^4.3.6",
55
- "@paretools/shared": "0.5.0"
55
+ "@paretools/shared": "0.7.0"
56
56
  },
57
57
  "devDependencies": {
58
58
  "@types/node": "^25.2.3",
59
59
  "typescript": "^5.7.0",
60
60
  "vitest": "^4.0.18",
61
+ "webpack": "^5.105.2",
62
+ "webpack-cli": "^6.0.1",
61
63
  "@paretools/tsconfig": "0.0.0"
62
64
  },
63
65
  "scripts": {