@paretools/jvm 0.11.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 (58) hide show
  1. package/LICENSE +21 -0
  2. package/dist/index.d.ts +3 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +11 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/lib/formatters.d.ts +88 -0
  7. package/dist/lib/formatters.d.ts.map +1 -0
  8. package/dist/lib/formatters.js +278 -0
  9. package/dist/lib/formatters.js.map +1 -0
  10. package/dist/lib/jvm-runner.d.ts +12 -0
  11. package/dist/lib/jvm-runner.d.ts.map +1 -0
  12. package/dist/lib/jvm-runner.js +58 -0
  13. package/dist/lib/jvm-runner.js.map +1 -0
  14. package/dist/lib/parsers.d.ts +86 -0
  15. package/dist/lib/parsers.d.ts.map +1 -0
  16. package/dist/lib/parsers.js +438 -0
  17. package/dist/lib/parsers.js.map +1 -0
  18. package/dist/schemas/index.d.ts +183 -0
  19. package/dist/schemas/index.d.ts.map +1 -0
  20. package/dist/schemas/index.js +112 -0
  21. package/dist/schemas/index.js.map +1 -0
  22. package/dist/tools/gradle-build.d.ts +3 -0
  23. package/dist/tools/gradle-build.d.ts.map +1 -0
  24. package/dist/tools/gradle-build.js +55 -0
  25. package/dist/tools/gradle-build.js.map +1 -0
  26. package/dist/tools/gradle-dependencies.d.ts +3 -0
  27. package/dist/tools/gradle-dependencies.d.ts.map +1 -0
  28. package/dist/tools/gradle-dependencies.js +34 -0
  29. package/dist/tools/gradle-dependencies.js.map +1 -0
  30. package/dist/tools/gradle-tasks.d.ts +3 -0
  31. package/dist/tools/gradle-tasks.d.ts.map +1 -0
  32. package/dist/tools/gradle-tasks.js +32 -0
  33. package/dist/tools/gradle-tasks.js.map +1 -0
  34. package/dist/tools/gradle-test.d.ts +3 -0
  35. package/dist/tools/gradle-test.d.ts.map +1 -0
  36. package/dist/tools/gradle-test.js +57 -0
  37. package/dist/tools/gradle-test.js.map +1 -0
  38. package/dist/tools/index.d.ts +4 -0
  39. package/dist/tools/index.d.ts.map +1 -0
  40. package/dist/tools/index.js +30 -0
  41. package/dist/tools/index.js.map +1 -0
  42. package/dist/tools/maven-build.d.ts +3 -0
  43. package/dist/tools/maven-build.d.ts.map +1 -0
  44. package/dist/tools/maven-build.js +55 -0
  45. package/dist/tools/maven-build.js.map +1 -0
  46. package/dist/tools/maven-dependencies.d.ts +3 -0
  47. package/dist/tools/maven-dependencies.d.ts.map +1 -0
  48. package/dist/tools/maven-dependencies.js +23 -0
  49. package/dist/tools/maven-dependencies.js.map +1 -0
  50. package/dist/tools/maven-test.d.ts +3 -0
  51. package/dist/tools/maven-test.d.ts.map +1 -0
  52. package/dist/tools/maven-test.js +57 -0
  53. package/dist/tools/maven-test.js.map +1 -0
  54. package/dist/tools/maven-verify.d.ts +3 -0
  55. package/dist/tools/maven-verify.d.ts.map +1 -0
  56. package/dist/tools/maven-verify.js +47 -0
  57. package/dist/tools/maven-verify.js.map +1 -0
  58. package/package.json +72 -0
@@ -0,0 +1,438 @@
1
+ // ── Shared helpers ──────────────────────────────────────────────────
2
+ /** Extracts compiler errors and warnings from combined output. */
3
+ export function parseDiagnostics(output) {
4
+ const diagnostics = [];
5
+ const lines = output.split("\n");
6
+ for (const line of lines) {
7
+ // Java compiler: src/Main.java:10: error: cannot find symbol
8
+ const javaMatch = line.match(/^(.+\.java):(\d+):\s*(error|warning):\s*(.+)$/);
9
+ if (javaMatch) {
10
+ diagnostics.push({
11
+ severity: javaMatch[3],
12
+ message: javaMatch[4].trim(),
13
+ file: javaMatch[1],
14
+ line: parseInt(javaMatch[2], 10),
15
+ });
16
+ continue;
17
+ }
18
+ // Kotlin compiler: e: src/Main.kt: (10, 5): Unresolved reference
19
+ const kotlinMatch = line.match(/^([ew]):\s*(.+\.kts?)\s*:\s*\((\d+),\s*\d+\):\s*(.+)$/);
20
+ if (kotlinMatch) {
21
+ diagnostics.push({
22
+ severity: kotlinMatch[1] === "e" ? "error" : "warning",
23
+ message: kotlinMatch[4].trim(),
24
+ file: kotlinMatch[2],
25
+ line: parseInt(kotlinMatch[3], 10),
26
+ });
27
+ continue;
28
+ }
29
+ // Maven [ERROR] / [WARNING] with file reference
30
+ const mavenMatch = line.match(/^\[(?:ERROR|WARNING)\]\s*(.+\.java):\[(\d+),\d+\]\s*(error|warning)?:?\s*(.+)$/);
31
+ if (mavenMatch) {
32
+ diagnostics.push({
33
+ severity: line.startsWith("[ERROR]") ? "error" : "warning",
34
+ message: mavenMatch[4].trim(),
35
+ file: mavenMatch[1],
36
+ line: parseInt(mavenMatch[2], 10),
37
+ });
38
+ continue;
39
+ }
40
+ // Generic [ERROR] / [WARNING] lines (Maven style)
41
+ const genericMavenMatch = line.match(/^\[(ERROR|WARNING)\]\s*(.+)$/);
42
+ if (genericMavenMatch) {
43
+ const severity = genericMavenMatch[1] === "ERROR" ? "error" : "warning";
44
+ const msg = genericMavenMatch[2].trim();
45
+ // Skip noisy build-status lines
46
+ if (msg.startsWith("BUILD FAILURE") ||
47
+ msg.startsWith("BUILD SUCCESS") ||
48
+ msg === "" ||
49
+ msg.startsWith("---") ||
50
+ msg.startsWith("Total time") ||
51
+ msg.startsWith("Finished at") ||
52
+ msg.startsWith("For more information")) {
53
+ continue;
54
+ }
55
+ diagnostics.push({ severity, message: msg });
56
+ }
57
+ }
58
+ return diagnostics;
59
+ }
60
+ // ── Gradle parsers ──────────────────────────────────────────────────
61
+ /** Parses Gradle build output into structured result. */
62
+ export function parseGradleBuild(stdout, stderr, exitCode, duration, timedOut = false) {
63
+ const success = exitCode === 0 && !timedOut;
64
+ const combined = `${stdout}\n${stderr}`;
65
+ // Extract task counts: "BUILD SUCCESSFUL in 5s" or "N actionable tasks: M executed, K up-to-date"
66
+ let tasksExecuted;
67
+ let tasksFailed;
68
+ const actionableMatch = combined.match(/(\d+)\s+actionable\s+tasks?:\s*(\d+)\s+executed(?:,\s*(\d+)\s+up-to-date)?/);
69
+ if (actionableMatch) {
70
+ tasksExecuted = parseInt(actionableMatch[2], 10);
71
+ }
72
+ if (!success) {
73
+ // Count FAILED task markers
74
+ const failedMatches = combined.match(/> Task .+ FAILED/g);
75
+ tasksFailed = failedMatches ? failedMatches.length : undefined;
76
+ }
77
+ const diagnostics = parseDiagnostics(combined);
78
+ return {
79
+ success,
80
+ exitCode,
81
+ duration,
82
+ timedOut,
83
+ tasksExecuted,
84
+ tasksFailed,
85
+ diagnostics: diagnostics.length > 0 ? diagnostics : undefined,
86
+ stdout: stdout.trimEnd() || undefined,
87
+ stderr: stderr.trimEnd() || undefined,
88
+ };
89
+ }
90
+ /** Parses Gradle test output into structured result. */
91
+ export function parseGradleTest(stdout, stderr, exitCode, duration, timedOut = false) {
92
+ const success = exitCode === 0 && !timedOut;
93
+ const combined = `${stdout}\n${stderr}`;
94
+ let totalTests = 0;
95
+ let passed = 0;
96
+ let failed = 0;
97
+ let skipped = 0;
98
+ const tests = [];
99
+ // Parse test result summary: "TEST RESULT: SUCCESS (12 tests, 10 successes, 1 failures, 1 skipped)"
100
+ // Or: "X tests completed, Y failed, Z skipped"
101
+ const resultMatch = combined.match(/(\d+)\s+tests?\s+completed?,\s*(\d+)\s+failed(?:,\s*(\d+)\s+skipped)?/);
102
+ if (resultMatch) {
103
+ totalTests = parseInt(resultMatch[1], 10);
104
+ failed = parseInt(resultMatch[2], 10);
105
+ skipped = resultMatch[3] ? parseInt(resultMatch[3], 10) : 0;
106
+ passed = totalTests - failed - skipped;
107
+ }
108
+ // Alternative format: "Tests run: N, Failures: N, Errors: N, Skipped: N"
109
+ const altMatch = combined.match(/Tests\s+run:\s*(\d+),\s*Failures:\s*(\d+),\s*Errors:\s*(\d+),\s*Skipped:\s*(\d+)/);
110
+ if (altMatch && totalTests === 0) {
111
+ totalTests = parseInt(altMatch[1], 10);
112
+ failed = parseInt(altMatch[2], 10) + parseInt(altMatch[3], 10);
113
+ skipped = parseInt(altMatch[4], 10);
114
+ passed = totalTests - failed - skipped;
115
+ }
116
+ // Parse individual test lines: "ClassName > testName PASSED" or "FAILED"
117
+ const testLineRe = /^(\S+)\s+>\s+(\S+(?:\(.*?\))?)\s+(PASSED|FAILED|SKIPPED)(?:\s+\((.+)\))?$/gm;
118
+ let match;
119
+ while ((match = testLineRe.exec(combined)) !== null) {
120
+ const testCase = {
121
+ name: match[2],
122
+ className: match[1],
123
+ passed: match[3] === "PASSED",
124
+ };
125
+ if (match[4]) {
126
+ testCase.duration = match[4];
127
+ }
128
+ if (match[3] === "FAILED") {
129
+ // Try to find failure message after this test line
130
+ const failIdx = combined.indexOf(match[0]);
131
+ const afterTest = combined.slice(failIdx + match[0].length, failIdx + match[0].length + 500);
132
+ const failMsgMatch = afterTest.match(/^\s+(.+?)(?:\n\s*\n|\n\S)/s);
133
+ if (failMsgMatch) {
134
+ testCase.failure = failMsgMatch[1].trim();
135
+ }
136
+ }
137
+ tests.push(testCase);
138
+ }
139
+ // If we got individual tests but no summary, compute from tests
140
+ if (totalTests === 0 && tests.length > 0) {
141
+ totalTests = tests.length;
142
+ passed = tests.filter((t) => t.passed).length;
143
+ failed = tests.filter((t) => !t.passed && t.failure !== undefined).length;
144
+ skipped = totalTests - passed - failed;
145
+ }
146
+ return {
147
+ success,
148
+ exitCode,
149
+ duration,
150
+ timedOut,
151
+ totalTests,
152
+ passed,
153
+ failed,
154
+ skipped,
155
+ tests: tests.length > 0 ? tests : undefined,
156
+ stdout: stdout.trimEnd() || undefined,
157
+ stderr: stderr.trimEnd() || undefined,
158
+ };
159
+ }
160
+ /**
161
+ * Parses `gradle tasks --all --console=plain` output into structured task data.
162
+ *
163
+ * Expected format:
164
+ * ```
165
+ * > Task :tasks
166
+ *
167
+ * ------------------------------------------------------------
168
+ * Tasks runnable from root project 'myproject'
169
+ * ------------------------------------------------------------
170
+ *
171
+ * Build tasks
172
+ * -----------
173
+ * assemble - Assembles the outputs of this project.
174
+ * build - Assembles and tests this project.
175
+ *
176
+ * Help tasks
177
+ * ----------
178
+ * tasks - Displays the tasks runnable from root project.
179
+ * ```
180
+ */
181
+ export function parseGradleTasks(stdout) {
182
+ const tasks = [];
183
+ let currentGroup;
184
+ const lines = stdout.split("\n");
185
+ for (let i = 0; i < lines.length; i++) {
186
+ const line = lines[i];
187
+ const trimmed = line.trim();
188
+ if (!trimmed)
189
+ continue;
190
+ // Group header: "Build tasks" followed by "----------"
191
+ if (i + 1 < lines.length && lines[i + 1].trim().match(/^-{3,}$/)) {
192
+ currentGroup = trimmed.replace(/\s+tasks?$/i, "").trim();
193
+ i++; // skip the separator line
194
+ continue;
195
+ }
196
+ // Skip separator lines and other headers
197
+ if (trimmed.match(/^-{3,}$/) ||
198
+ trimmed.startsWith("> Task") ||
199
+ trimmed.startsWith("Tasks runnable")) {
200
+ continue;
201
+ }
202
+ // Task line: "taskName - Description" or just "taskName"
203
+ const taskMatch = trimmed.match(/^(\S+)\s+-\s+(.+)$/);
204
+ if (taskMatch) {
205
+ tasks.push({
206
+ name: taskMatch[1],
207
+ description: taskMatch[2].trim(),
208
+ group: currentGroup,
209
+ });
210
+ continue;
211
+ }
212
+ // Task with no description (usually in --all output): just a name with optional leading colon
213
+ const bareTaskMatch = trimmed.match(/^(:[a-zA-Z][\w:.-]*)$/);
214
+ if (bareTaskMatch) {
215
+ tasks.push({
216
+ name: bareTaskMatch[1],
217
+ group: currentGroup,
218
+ });
219
+ }
220
+ }
221
+ return { tasks, total: tasks.length };
222
+ }
223
+ /**
224
+ * Parses `gradle dependencies --console=plain` output.
225
+ *
226
+ * Expected format:
227
+ * ```
228
+ * > Task :dependencies
229
+ *
230
+ * ------------------------------------------------------------
231
+ * Root project 'myproject'
232
+ * ------------------------------------------------------------
233
+ *
234
+ * compileClasspath - Compile classpath for source set 'main'.
235
+ * +--- org.springframework:spring-core:5.3.20
236
+ * +--- com.google.guava:guava:31.1-jre
237
+ * \--- org.slf4j:slf4j-api:1.7.36
238
+ *
239
+ * runtimeClasspath - Runtime classpath of source set 'main'.
240
+ * +--- org.springframework:spring-core:5.3.20
241
+ * \--- org.slf4j:slf4j-api:1.7.36
242
+ * ```
243
+ */
244
+ export function parseGradleDependencies(stdout) {
245
+ const configurations = [];
246
+ let currentConfig;
247
+ const seen = new Set();
248
+ const lines = stdout.split("\n");
249
+ for (const line of lines) {
250
+ const trimmed = line.trim();
251
+ // Skip empty lines, headers, and separators
252
+ if (!trimmed ||
253
+ trimmed.startsWith("> Task") ||
254
+ trimmed.match(/^-{3,}$/) ||
255
+ trimmed.startsWith("Root project")) {
256
+ continue;
257
+ }
258
+ // Configuration header: "compileClasspath - Description" or just "compileClasspath"
259
+ const configMatch = trimmed.match(/^([a-zA-Z][\w]*)(?:\s+-\s+(.+))?$/);
260
+ if (configMatch &&
261
+ !trimmed.startsWith("+") &&
262
+ !trimmed.startsWith("\\") &&
263
+ !trimmed.startsWith("|")) {
264
+ // Check that the next non-empty line is a dependency tree line or "No dependencies"
265
+ currentConfig = {
266
+ configuration: configMatch[1],
267
+ dependencies: [],
268
+ };
269
+ seen.clear();
270
+ configurations.push(currentConfig);
271
+ continue;
272
+ }
273
+ // Dependency line: "+--- group:artifact:version" or "\--- group:artifact:version"
274
+ if (currentConfig) {
275
+ const depMatch = trimmed.match(/[+\\|]-{3}\s+(\S+):(\S+):(\S+?)(?:\s.*)?$/);
276
+ if (depMatch) {
277
+ const key = `${depMatch[1]}:${depMatch[2]}:${depMatch[3]}`;
278
+ if (!seen.has(key)) {
279
+ seen.add(key);
280
+ const dep = {
281
+ group: depMatch[1],
282
+ artifact: depMatch[2],
283
+ version: depMatch[3].replace(/\s*->.*$/, "").replace(/\s*\(.*\)$/, ""),
284
+ };
285
+ currentConfig.dependencies.push(dep);
286
+ }
287
+ continue;
288
+ }
289
+ // "No dependencies" line
290
+ if (trimmed === "No dependencies") {
291
+ continue;
292
+ }
293
+ // "(c)" or "(*)" markers — just skip
294
+ if (trimmed.match(/^\|/)) {
295
+ continue;
296
+ }
297
+ }
298
+ }
299
+ // Filter out configurations with no dependencies
300
+ const filtered = configurations.filter((c) => c.dependencies.length > 0);
301
+ const totalDependencies = filtered.reduce((sum, c) => sum + c.dependencies.length, 0);
302
+ return { configurations: filtered, totalDependencies };
303
+ }
304
+ // ── Maven parsers ───────────────────────────────────────────────────
305
+ /** Parses Maven build (package) output into structured result. */
306
+ export function parseMavenBuild(stdout, stderr, exitCode, duration, timedOut = false) {
307
+ const success = exitCode === 0 && !timedOut;
308
+ const combined = `${stdout}\n${stderr}`;
309
+ const diagnostics = parseDiagnostics(combined);
310
+ return {
311
+ success,
312
+ exitCode,
313
+ duration,
314
+ timedOut,
315
+ diagnostics: diagnostics.length > 0 ? diagnostics : undefined,
316
+ stdout: stdout.trimEnd() || undefined,
317
+ stderr: stderr.trimEnd() || undefined,
318
+ };
319
+ }
320
+ /**
321
+ * Parses Maven Surefire test output.
322
+ *
323
+ * Expected format:
324
+ * ```
325
+ * [INFO] -------------------------------------------------------
326
+ * [INFO] T E S T S
327
+ * [INFO] -------------------------------------------------------
328
+ * [INFO] Running com.example.AppTest
329
+ * [INFO] Tests run: 5, Failures: 1, Errors: 0, Skipped: 1, Time elapsed: 0.123 s
330
+ * [INFO]
331
+ * [INFO] Results:
332
+ * [INFO]
333
+ * [INFO] Tests run: 5, Failures: 1, Errors: 0, Skipped: 1
334
+ * ```
335
+ */
336
+ export function parseMavenTest(stdout, stderr, exitCode, duration, timedOut = false) {
337
+ const success = exitCode === 0 && !timedOut;
338
+ const combined = `${stdout}\n${stderr}`;
339
+ let totalTests = 0;
340
+ let failedCount = 0;
341
+ let errors = 0;
342
+ let skipped = 0;
343
+ const tests = [];
344
+ // Parse final summary: "Tests run: N, Failures: N, Errors: N, Skipped: N"
345
+ // Take the LAST occurrence (which is the overall summary)
346
+ const summaryMatches = [
347
+ ...combined.matchAll(/Tests\s+run:\s*(\d+),\s*Failures:\s*(\d+),\s*Errors:\s*(\d+),\s*Skipped:\s*(\d+)/g),
348
+ ];
349
+ if (summaryMatches.length > 0) {
350
+ const last = summaryMatches[summaryMatches.length - 1];
351
+ totalTests = parseInt(last[1], 10);
352
+ failedCount = parseInt(last[2], 10);
353
+ errors = parseInt(last[3], 10);
354
+ skipped = parseInt(last[4], 10);
355
+ }
356
+ const passed = totalTests - failedCount - errors - skipped;
357
+ // Parse individual failing test names from Surefire output
358
+ // "[ERROR] testMethodName(com.example.AppTest) -- In SomeTest"
359
+ // or " testMethodName(com.example.AppTest) Time elapsed: 0.001 s <<< FAILURE!"
360
+ const failRe = /^\s*(\w[\w$]*)\(([^)]+)\)\s+(?:Time elapsed:.*?<<<\s*(FAILURE|ERROR)!|--)/gm;
361
+ let failMatch;
362
+ while ((failMatch = failRe.exec(combined)) !== null) {
363
+ tests.push({
364
+ name: failMatch[1],
365
+ className: failMatch[2],
366
+ passed: false,
367
+ failure: failMatch[3] || "FAILURE",
368
+ });
369
+ }
370
+ return {
371
+ success,
372
+ exitCode,
373
+ duration,
374
+ timedOut,
375
+ totalTests,
376
+ passed: Math.max(0, passed),
377
+ failed: failedCount,
378
+ errors,
379
+ skipped,
380
+ tests: tests.length > 0 ? tests : undefined,
381
+ stdout: stdout.trimEnd() || undefined,
382
+ stderr: stderr.trimEnd() || undefined,
383
+ };
384
+ }
385
+ /**
386
+ * Parses `mvn dependency:tree` output.
387
+ *
388
+ * Expected format:
389
+ * ```
390
+ * [INFO] --- dependency:3.6.0:tree (default-cli) @ myproject ---
391
+ * [INFO] com.example:myproject:jar:1.0-SNAPSHOT
392
+ * [INFO] +- org.springframework:spring-core:jar:5.3.20:compile
393
+ * [INFO] +- com.google.guava:guava:jar:31.1-jre:compile
394
+ * [INFO] \- org.slf4j:slf4j-api:jar:1.7.36:compile
395
+ * ```
396
+ */
397
+ export function parseMavenDependencies(stdout) {
398
+ const dependencies = [];
399
+ const seen = new Set();
400
+ const lines = stdout.split("\n");
401
+ for (const line of lines) {
402
+ // Strip [INFO] prefix
403
+ const stripped = line.replace(/^\[INFO\]\s*/, "").trim();
404
+ // Dependency lines: "+- group:artifact:type:version:scope" or "\- ..."
405
+ // Maven format: groupId:artifactId:packaging:version[:scope]
406
+ // Tree indentation uses |, +, \, - and spaces
407
+ const depMatch = stripped.match(/[+\\]-\s+([^:\s]+):([^:\s]+):([^:\s]+):([^:\s]+)(?::([^:\s]+))?(?:\s.*)?$/);
408
+ if (depMatch) {
409
+ const key = `${depMatch[1]}:${depMatch[2]}`;
410
+ if (!seen.has(key)) {
411
+ seen.add(key);
412
+ dependencies.push({
413
+ groupId: depMatch[1],
414
+ artifactId: depMatch[2],
415
+ version: depMatch[4],
416
+ scope: depMatch[5],
417
+ });
418
+ }
419
+ }
420
+ }
421
+ return { dependencies, total: dependencies.length };
422
+ }
423
+ /** Parses Maven verify output (same structure as build). */
424
+ export function parseMavenVerify(stdout, stderr, exitCode, duration, timedOut = false) {
425
+ const success = exitCode === 0 && !timedOut;
426
+ const combined = `${stdout}\n${stderr}`;
427
+ const diagnostics = parseDiagnostics(combined);
428
+ return {
429
+ success,
430
+ exitCode,
431
+ duration,
432
+ timedOut,
433
+ diagnostics: diagnostics.length > 0 ? diagnostics : undefined,
434
+ stdout: stdout.trimEnd() || undefined,
435
+ stderr: stderr.trimEnd() || undefined,
436
+ };
437
+ }
438
+ //# sourceMappingURL=parsers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../src/lib/parsers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,183 @@
1
+ import { z } from "zod";
2
+ declare const BuildDiagnosticSchema: z.ZodObject<{
3
+ severity: z.ZodEnum<{
4
+ error: "error";
5
+ warning: "warning";
6
+ }>;
7
+ message: z.ZodString;
8
+ file: z.ZodOptional<z.ZodString>;
9
+ line: z.ZodOptional<z.ZodNumber>;
10
+ }, z.core.$strip>;
11
+ export type BuildDiagnostic = z.infer<typeof BuildDiagnosticSchema>;
12
+ export declare const GradleBuildResultSchema: z.ZodObject<{
13
+ success: z.ZodBoolean;
14
+ exitCode: z.ZodNumber;
15
+ duration: z.ZodNumber;
16
+ timedOut: z.ZodBoolean;
17
+ tasksExecuted: z.ZodOptional<z.ZodNumber>;
18
+ tasksFailed: z.ZodOptional<z.ZodNumber>;
19
+ diagnostics: z.ZodOptional<z.ZodArray<z.ZodObject<{
20
+ severity: z.ZodEnum<{
21
+ error: "error";
22
+ warning: "warning";
23
+ }>;
24
+ message: z.ZodString;
25
+ file: z.ZodOptional<z.ZodString>;
26
+ line: z.ZodOptional<z.ZodNumber>;
27
+ }, z.core.$strip>>>;
28
+ stdout: z.ZodOptional<z.ZodString>;
29
+ stderr: z.ZodOptional<z.ZodString>;
30
+ }, z.core.$strip>;
31
+ export type GradleBuildResult = z.infer<typeof GradleBuildResultSchema>;
32
+ export declare const GradleTestCaseSchema: z.ZodObject<{
33
+ name: z.ZodString;
34
+ className: z.ZodOptional<z.ZodString>;
35
+ passed: z.ZodBoolean;
36
+ duration: z.ZodOptional<z.ZodString>;
37
+ failure: z.ZodOptional<z.ZodString>;
38
+ }, z.core.$strip>;
39
+ export type GradleTestCase = z.infer<typeof GradleTestCaseSchema>;
40
+ export declare const GradleTestResultSchema: z.ZodObject<{
41
+ success: z.ZodBoolean;
42
+ exitCode: z.ZodNumber;
43
+ duration: z.ZodNumber;
44
+ timedOut: z.ZodBoolean;
45
+ totalTests: z.ZodNumber;
46
+ passed: z.ZodNumber;
47
+ failed: z.ZodNumber;
48
+ skipped: z.ZodNumber;
49
+ tests: z.ZodOptional<z.ZodArray<z.ZodObject<{
50
+ name: z.ZodString;
51
+ className: z.ZodOptional<z.ZodString>;
52
+ passed: z.ZodBoolean;
53
+ duration: z.ZodOptional<z.ZodString>;
54
+ failure: z.ZodOptional<z.ZodString>;
55
+ }, z.core.$strip>>>;
56
+ stdout: z.ZodOptional<z.ZodString>;
57
+ stderr: z.ZodOptional<z.ZodString>;
58
+ }, z.core.$strip>;
59
+ export type GradleTestResult = z.infer<typeof GradleTestResultSchema>;
60
+ export declare const GradleTaskSchema: z.ZodObject<{
61
+ name: z.ZodString;
62
+ description: z.ZodOptional<z.ZodString>;
63
+ group: z.ZodOptional<z.ZodString>;
64
+ }, z.core.$strip>;
65
+ export type GradleTask = z.infer<typeof GradleTaskSchema>;
66
+ export declare const GradleTasksResultSchema: z.ZodObject<{
67
+ tasks: z.ZodArray<z.ZodObject<{
68
+ name: z.ZodString;
69
+ description: z.ZodOptional<z.ZodString>;
70
+ group: z.ZodOptional<z.ZodString>;
71
+ }, z.core.$strip>>;
72
+ total: z.ZodNumber;
73
+ }, z.core.$strip>;
74
+ export type GradleTasksResult = z.infer<typeof GradleTasksResultSchema>;
75
+ export declare const GradleDependencySchema: z.ZodObject<{
76
+ group: z.ZodString;
77
+ artifact: z.ZodString;
78
+ version: z.ZodOptional<z.ZodString>;
79
+ }, z.core.$strip>;
80
+ export type GradleDependency = z.infer<typeof GradleDependencySchema>;
81
+ export declare const GradleDependencyConfigSchema: z.ZodObject<{
82
+ configuration: z.ZodString;
83
+ dependencies: z.ZodArray<z.ZodObject<{
84
+ group: z.ZodString;
85
+ artifact: z.ZodString;
86
+ version: z.ZodOptional<z.ZodString>;
87
+ }, z.core.$strip>>;
88
+ }, z.core.$strip>;
89
+ export type GradleDependencyConfig = z.infer<typeof GradleDependencyConfigSchema>;
90
+ export declare const GradleDependenciesResultSchema: z.ZodObject<{
91
+ configurations: z.ZodArray<z.ZodObject<{
92
+ configuration: z.ZodString;
93
+ dependencies: z.ZodArray<z.ZodObject<{
94
+ group: z.ZodString;
95
+ artifact: z.ZodString;
96
+ version: z.ZodOptional<z.ZodString>;
97
+ }, z.core.$strip>>;
98
+ }, z.core.$strip>>;
99
+ totalDependencies: z.ZodNumber;
100
+ }, z.core.$strip>;
101
+ export type GradleDependenciesResult = z.infer<typeof GradleDependenciesResultSchema>;
102
+ export declare const MavenBuildResultSchema: z.ZodObject<{
103
+ success: z.ZodBoolean;
104
+ exitCode: z.ZodNumber;
105
+ duration: z.ZodNumber;
106
+ timedOut: z.ZodBoolean;
107
+ diagnostics: z.ZodOptional<z.ZodArray<z.ZodObject<{
108
+ severity: z.ZodEnum<{
109
+ error: "error";
110
+ warning: "warning";
111
+ }>;
112
+ message: z.ZodString;
113
+ file: z.ZodOptional<z.ZodString>;
114
+ line: z.ZodOptional<z.ZodNumber>;
115
+ }, z.core.$strip>>>;
116
+ stdout: z.ZodOptional<z.ZodString>;
117
+ stderr: z.ZodOptional<z.ZodString>;
118
+ }, z.core.$strip>;
119
+ export type MavenBuildResult = z.infer<typeof MavenBuildResultSchema>;
120
+ export declare const MavenTestCaseSchema: z.ZodObject<{
121
+ name: z.ZodString;
122
+ className: z.ZodOptional<z.ZodString>;
123
+ passed: z.ZodBoolean;
124
+ failure: z.ZodOptional<z.ZodString>;
125
+ }, z.core.$strip>;
126
+ export type MavenTestCase = z.infer<typeof MavenTestCaseSchema>;
127
+ export declare const MavenTestResultSchema: z.ZodObject<{
128
+ success: z.ZodBoolean;
129
+ exitCode: z.ZodNumber;
130
+ duration: z.ZodNumber;
131
+ timedOut: z.ZodBoolean;
132
+ totalTests: z.ZodNumber;
133
+ passed: z.ZodNumber;
134
+ failed: z.ZodNumber;
135
+ errors: z.ZodNumber;
136
+ skipped: z.ZodNumber;
137
+ tests: z.ZodOptional<z.ZodArray<z.ZodObject<{
138
+ name: z.ZodString;
139
+ className: z.ZodOptional<z.ZodString>;
140
+ passed: z.ZodBoolean;
141
+ failure: z.ZodOptional<z.ZodString>;
142
+ }, z.core.$strip>>>;
143
+ stdout: z.ZodOptional<z.ZodString>;
144
+ stderr: z.ZodOptional<z.ZodString>;
145
+ }, z.core.$strip>;
146
+ export type MavenTestResult = z.infer<typeof MavenTestResultSchema>;
147
+ export declare const MavenDependencySchema: z.ZodObject<{
148
+ groupId: z.ZodString;
149
+ artifactId: z.ZodString;
150
+ version: z.ZodOptional<z.ZodString>;
151
+ scope: z.ZodOptional<z.ZodString>;
152
+ }, z.core.$strip>;
153
+ export type MavenDependency = z.infer<typeof MavenDependencySchema>;
154
+ export declare const MavenDependenciesResultSchema: z.ZodObject<{
155
+ dependencies: z.ZodArray<z.ZodObject<{
156
+ groupId: z.ZodString;
157
+ artifactId: z.ZodString;
158
+ version: z.ZodOptional<z.ZodString>;
159
+ scope: z.ZodOptional<z.ZodString>;
160
+ }, z.core.$strip>>;
161
+ total: z.ZodNumber;
162
+ }, z.core.$strip>;
163
+ export type MavenDependenciesResult = z.infer<typeof MavenDependenciesResultSchema>;
164
+ export declare const MavenVerifyResultSchema: z.ZodObject<{
165
+ success: z.ZodBoolean;
166
+ exitCode: z.ZodNumber;
167
+ duration: z.ZodNumber;
168
+ timedOut: z.ZodBoolean;
169
+ diagnostics: z.ZodOptional<z.ZodArray<z.ZodObject<{
170
+ severity: z.ZodEnum<{
171
+ error: "error";
172
+ warning: "warning";
173
+ }>;
174
+ message: z.ZodString;
175
+ file: z.ZodOptional<z.ZodString>;
176
+ line: z.ZodOptional<z.ZodNumber>;
177
+ }, z.core.$strip>>>;
178
+ stdout: z.ZodOptional<z.ZodString>;
179
+ stderr: z.ZodOptional<z.ZodString>;
180
+ }, z.core.$strip>;
181
+ export type MavenVerifyResult = z.infer<typeof MavenVerifyResultSchema>;
182
+ export {};
183
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,qBAAqB;;;;;;;;iBAKzB,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAIpE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;iBAUlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,oBAAoB;;;;;;iBAM/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;iBAYjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,gBAAgB;;;;iBAI3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,uBAAuB;;;;;;;iBAGlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,sBAAsB;;;;iBAIjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,4BAA4B;;;;;;;iBAGvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,8BAA8B;;;;;;;;;;iBAGzC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAItF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;iBAQjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,mBAAmB;;;;;iBAK9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;iBAahC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,qBAAqB;;;;;iBAKhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,6BAA6B;;;;;;;;iBAGxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;iBAQlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}