@paretools/dotnet 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/dotnet-runner.d.ts +4 -0
  7. package/dist/lib/dotnet-runner.d.ts.map +1 -0
  8. package/dist/lib/dotnet-runner.js +6 -0
  9. package/dist/lib/dotnet-runner.js.map +1 -0
  10. package/dist/lib/formatters.d.ts +100 -0
  11. package/dist/lib/formatters.d.ts.map +1 -0
  12. package/dist/lib/formatters.js +272 -0
  13. package/dist/lib/formatters.js.map +1 -0
  14. package/dist/lib/parsers.d.ts +18 -0
  15. package/dist/lib/parsers.d.ts.map +1 -0
  16. package/dist/lib/parsers.js +382 -0
  17. package/dist/lib/parsers.js.map +1 -0
  18. package/dist/schemas/index.d.ts +251 -0
  19. package/dist/schemas/index.d.ts.map +1 -0
  20. package/dist/schemas/index.js +118 -0
  21. package/dist/schemas/index.js.map +1 -0
  22. package/dist/tools/add-package.d.ts +4 -0
  23. package/dist/tools/add-package.d.ts.map +1 -0
  24. package/dist/tools/add-package.js +72 -0
  25. package/dist/tools/add-package.js.map +1 -0
  26. package/dist/tools/build.d.ts +4 -0
  27. package/dist/tools/build.d.ts.map +1 -0
  28. package/dist/tools/build.js +74 -0
  29. package/dist/tools/build.js.map +1 -0
  30. package/dist/tools/clean.d.ts +4 -0
  31. package/dist/tools/clean.d.ts.map +1 -0
  32. package/dist/tools/clean.js +58 -0
  33. package/dist/tools/clean.js.map +1 -0
  34. package/dist/tools/index.d.ts +4 -0
  35. package/dist/tools/index.d.ts.map +1 -0
  36. package/dist/tools/index.js +30 -0
  37. package/dist/tools/index.js.map +1 -0
  38. package/dist/tools/list-package.d.ts +4 -0
  39. package/dist/tools/list-package.d.ts.map +1 -0
  40. package/dist/tools/list-package.js +78 -0
  41. package/dist/tools/list-package.js.map +1 -0
  42. package/dist/tools/publish.d.ts +4 -0
  43. package/dist/tools/publish.d.ts.map +1 -0
  44. package/dist/tools/publish.js +92 -0
  45. package/dist/tools/publish.js.map +1 -0
  46. package/dist/tools/restore.d.ts +4 -0
  47. package/dist/tools/restore.d.ts.map +1 -0
  48. package/dist/tools/restore.js +58 -0
  49. package/dist/tools/restore.js.map +1 -0
  50. package/dist/tools/run.d.ts +4 -0
  51. package/dist/tools/run.d.ts.map +1 -0
  52. package/dist/tools/run.js +91 -0
  53. package/dist/tools/run.js.map +1 -0
  54. package/dist/tools/test.d.ts +4 -0
  55. package/dist/tools/test.d.ts.map +1 -0
  56. package/dist/tools/test.js +81 -0
  57. package/dist/tools/test.js.map +1 -0
  58. package/package.json +64 -0
@@ -0,0 +1,382 @@
1
+ // ---------------------------------------------------------------------------
2
+ // build
3
+ // ---------------------------------------------------------------------------
4
+ // MSBuild diagnostic format: path(line,col): error|warning CODE: message
5
+ const MSBUILD_DIAG_RE = /^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+([A-Z]{1,3}\d+):\s+(.+?)(?:\s+\[.+])?$/;
6
+ // Simpler format without column: path(line): error|warning CODE: message
7
+ const MSBUILD_DIAG_SIMPLE_RE = /^(.+?)\((\d+)\):\s+(error|warning)\s+([A-Z]{1,3}\d+):\s+(.+?)(?:\s+\[.+])?$/;
8
+ // Build-level errors (no file): error CODE: message
9
+ const MSBUILD_BUILD_ERROR_RE = /^\s*(error|warning)\s+([A-Z]{1,3}\d+):\s+(.+?)(?:\s+\[.+])?$/;
10
+ /** Parses `dotnet build` output into structured diagnostics. */
11
+ export function parseDotnetBuildOutput(stdout, stderr, exitCode) {
12
+ const output = stdout + "\n" + stderr;
13
+ const lines = output.split("\n");
14
+ const diagnostics = [];
15
+ for (const line of lines) {
16
+ const match = line.match(MSBUILD_DIAG_RE);
17
+ if (match) {
18
+ diagnostics.push({
19
+ file: match[1].trim(),
20
+ line: parseInt(match[2], 10),
21
+ column: parseInt(match[3], 10),
22
+ severity: match[4],
23
+ code: match[5],
24
+ message: match[6].trim(),
25
+ });
26
+ continue;
27
+ }
28
+ const simpleMatch = line.match(MSBUILD_DIAG_SIMPLE_RE);
29
+ if (simpleMatch) {
30
+ diagnostics.push({
31
+ file: simpleMatch[1].trim(),
32
+ line: parseInt(simpleMatch[2], 10),
33
+ severity: simpleMatch[3],
34
+ code: simpleMatch[4],
35
+ message: simpleMatch[5].trim(),
36
+ });
37
+ continue;
38
+ }
39
+ const buildMatch = line.match(MSBUILD_BUILD_ERROR_RE);
40
+ if (buildMatch) {
41
+ diagnostics.push({
42
+ file: "(build)",
43
+ line: 0,
44
+ severity: buildMatch[1],
45
+ code: buildMatch[2],
46
+ message: buildMatch[3].trim(),
47
+ });
48
+ }
49
+ }
50
+ const errors = diagnostics.filter((d) => d.severity === "error").length;
51
+ const warnings = diagnostics.filter((d) => d.severity === "warning").length;
52
+ return {
53
+ success: exitCode === 0,
54
+ diagnostics,
55
+ total: diagnostics.length,
56
+ errors,
57
+ warnings,
58
+ };
59
+ }
60
+ // ---------------------------------------------------------------------------
61
+ // test
62
+ // ---------------------------------------------------------------------------
63
+ // dotnet test console output patterns:
64
+ // Passed TestNamespace.TestClass.TestMethod [42 ms]
65
+ // Failed TestNamespace.TestClass.TestMethod [10 ms]
66
+ // Skipped TestNamespace.TestClass.TestMethod
67
+ const TEST_RESULT_RE = /^\s*(Passed|Failed|Skipped)\s+(.+?)(?:\s+\[([^\]]+)])?\s*$/;
68
+ // Summary line: Total: 10, Passed: 8, Failed: 1, Skipped: 1
69
+ const TEST_SUMMARY_RE = /Total:\s*(\d+).*?Passed:\s*(\d+).*?Failed:\s*(\d+).*?Skipped:\s*(\d+)/;
70
+ // Error message lines after a "Failed" test result (indented)
71
+ const TEST_ERROR_MESSAGE_RE = /^\s{2,}(Error Message|Message):\s*$/;
72
+ const TEST_ERROR_CONTENT_RE = /^\s{3,}(.+)$/;
73
+ /** Parses `dotnet test` output into structured test results. */
74
+ export function parseDotnetTestOutput(stdout, stderr, exitCode) {
75
+ const output = stdout + "\n" + stderr;
76
+ const lines = output.split("\n");
77
+ const tests = [];
78
+ let summaryTotal;
79
+ let summaryPassed;
80
+ let summaryFailed;
81
+ let summarySkipped;
82
+ for (let i = 0; i < lines.length; i++) {
83
+ const line = lines[i];
84
+ const testMatch = line.match(TEST_RESULT_RE);
85
+ if (testMatch) {
86
+ const status = testMatch[1];
87
+ const name = testMatch[2].trim();
88
+ const duration = testMatch[3]?.trim();
89
+ let errorMessage;
90
+ // Look ahead for error messages after a failed test
91
+ if (status === "Failed") {
92
+ for (let j = i + 1; j < lines.length && j < i + 20; j++) {
93
+ if (TEST_ERROR_MESSAGE_RE.test(lines[j])) {
94
+ const msgLines = [];
95
+ for (let k = j + 1; k < lines.length && k < j + 10; k++) {
96
+ const contentMatch = lines[k].match(TEST_ERROR_CONTENT_RE);
97
+ if (contentMatch) {
98
+ msgLines.push(contentMatch[1]);
99
+ }
100
+ else {
101
+ break;
102
+ }
103
+ }
104
+ if (msgLines.length > 0) {
105
+ errorMessage = msgLines.join("\n");
106
+ }
107
+ break;
108
+ }
109
+ // Stop looking if we hit another test result
110
+ if (TEST_RESULT_RE.test(lines[j]))
111
+ break;
112
+ }
113
+ }
114
+ tests.push({ name, status, duration, errorMessage });
115
+ continue;
116
+ }
117
+ const summaryMatch = line.match(TEST_SUMMARY_RE);
118
+ if (summaryMatch) {
119
+ summaryTotal = parseInt(summaryMatch[1], 10);
120
+ summaryPassed = parseInt(summaryMatch[2], 10);
121
+ summaryFailed = parseInt(summaryMatch[3], 10);
122
+ summarySkipped = parseInt(summaryMatch[4], 10);
123
+ }
124
+ }
125
+ const passed = summaryPassed ?? tests.filter((t) => t.status === "Passed").length;
126
+ const failed = summaryFailed ?? tests.filter((t) => t.status === "Failed").length;
127
+ const skipped = summarySkipped ?? tests.filter((t) => t.status === "Skipped").length;
128
+ const total = summaryTotal ?? tests.length;
129
+ return {
130
+ success: exitCode === 0,
131
+ total,
132
+ passed,
133
+ failed,
134
+ skipped,
135
+ tests,
136
+ };
137
+ }
138
+ // ---------------------------------------------------------------------------
139
+ // run
140
+ // ---------------------------------------------------------------------------
141
+ /** Parses `dotnet run` output into a structured result. */
142
+ export function parseDotnetRunOutput(stdout, stderr, exitCode, maxOutputSize, timedOut) {
143
+ const truncatedStdout = stdout.length > maxOutputSize ? stdout.slice(0, maxOutputSize) + "\n[truncated]" : stdout;
144
+ const truncatedStderr = stderr.length > maxOutputSize ? stderr.slice(0, maxOutputSize) + "\n[truncated]" : stderr;
145
+ return {
146
+ success: exitCode === 0 && !timedOut,
147
+ exitCode,
148
+ stdout: truncatedStdout || undefined,
149
+ stderr: truncatedStderr || undefined,
150
+ timedOut: timedOut || undefined,
151
+ };
152
+ }
153
+ // ---------------------------------------------------------------------------
154
+ // publish
155
+ // ---------------------------------------------------------------------------
156
+ // "project -> outputPath" pattern from dotnet publish
157
+ const PUBLISH_OUTPUT_RE = /^\s*\S+\s+->\s+(.+)$/;
158
+ /** Parses `dotnet publish` output into structured results. */
159
+ export function parseDotnetPublishOutput(stdout, stderr, exitCode) {
160
+ const output = stdout + "\n" + stderr;
161
+ const lines = output.split("\n");
162
+ const warnings = [];
163
+ const errors = [];
164
+ let outputPath;
165
+ for (const line of lines) {
166
+ const trimmed = line.trim();
167
+ const publishMatch = line.match(PUBLISH_OUTPUT_RE);
168
+ if (publishMatch) {
169
+ outputPath = publishMatch[1].trim();
170
+ continue;
171
+ }
172
+ if (MSBUILD_DIAG_RE.test(trimmed) || MSBUILD_BUILD_ERROR_RE.test(trimmed)) {
173
+ if (/\berror\b/i.test(trimmed)) {
174
+ errors.push(trimmed);
175
+ }
176
+ else if (/\bwarning\b/i.test(trimmed)) {
177
+ warnings.push(trimmed);
178
+ }
179
+ }
180
+ }
181
+ return {
182
+ success: exitCode === 0,
183
+ exitCode,
184
+ outputPath,
185
+ warnings: warnings.length > 0 ? warnings : undefined,
186
+ errors: errors.length > 0 ? errors : undefined,
187
+ };
188
+ }
189
+ // ---------------------------------------------------------------------------
190
+ // restore
191
+ // ---------------------------------------------------------------------------
192
+ // "Restored path/to/project.csproj" pattern
193
+ const RESTORE_PROJECT_RE = /Restored\s+(.+\.(?:csproj|fsproj|vbproj))/i;
194
+ /** Parses `dotnet restore` output into structured results. */
195
+ export function parseDotnetRestoreOutput(stdout, stderr, exitCode) {
196
+ const output = stdout + "\n" + stderr;
197
+ const lines = output.split("\n");
198
+ const warnings = [];
199
+ const errors = [];
200
+ const restoredSet = new Set();
201
+ for (const line of lines) {
202
+ const trimmed = line.trim();
203
+ const restoreMatch = trimmed.match(RESTORE_PROJECT_RE);
204
+ if (restoreMatch) {
205
+ restoredSet.add(restoreMatch[1].trim());
206
+ continue;
207
+ }
208
+ if (/\bwarning\b/i.test(trimmed) && !/\b0\s+warnings?\b/i.test(trimmed)) {
209
+ if (MSBUILD_DIAG_RE.test(trimmed) || /\bwarning\s+[A-Z]{1,3}\d+:/i.test(trimmed)) {
210
+ warnings.push(trimmed);
211
+ }
212
+ }
213
+ if (/\berror\b/i.test(trimmed) && !/\b0\s+errors?\b/i.test(trimmed)) {
214
+ if (MSBUILD_DIAG_RE.test(trimmed) || /\berror\s+[A-Z]{1,3}\d+:/i.test(trimmed)) {
215
+ errors.push(trimmed);
216
+ }
217
+ }
218
+ }
219
+ return {
220
+ success: exitCode === 0,
221
+ exitCode,
222
+ restoredProjects: restoredSet.size > 0 ? restoredSet.size : undefined,
223
+ warnings: warnings.length > 0 ? warnings : undefined,
224
+ errors: errors.length > 0 ? errors : undefined,
225
+ };
226
+ }
227
+ // ---------------------------------------------------------------------------
228
+ // clean
229
+ // ---------------------------------------------------------------------------
230
+ /** Parses `dotnet clean` output into a structured result. */
231
+ export function parseDotnetCleanOutput(exitCode) {
232
+ return {
233
+ success: exitCode === 0,
234
+ exitCode,
235
+ };
236
+ }
237
+ // ---------------------------------------------------------------------------
238
+ // add-package
239
+ // ---------------------------------------------------------------------------
240
+ // "PackageReference for 'PackageName' version 'X.Y.Z' added" pattern
241
+ const ADD_PACKAGE_VERSION_RE = /PackageReference\s+for\s+'([^']+)'\s+version\s+'([^']+)'/i;
242
+ /** Parses `dotnet add package` output into structured results. */
243
+ export function parseDotnetAddPackageOutput(stdout, stderr, exitCode, packageName) {
244
+ const output = stdout + "\n" + stderr;
245
+ const lines = output.split("\n");
246
+ const errors = [];
247
+ let version;
248
+ for (const line of lines) {
249
+ const trimmed = line.trim();
250
+ const versionMatch = trimmed.match(ADD_PACKAGE_VERSION_RE);
251
+ if (versionMatch) {
252
+ version = versionMatch[2];
253
+ continue;
254
+ }
255
+ if (/\berror\b/i.test(trimmed) && !/\b0\s+errors?\b/i.test(trimmed)) {
256
+ errors.push(trimmed);
257
+ }
258
+ }
259
+ return {
260
+ success: exitCode === 0,
261
+ exitCode,
262
+ package: packageName,
263
+ version,
264
+ errors: errors.length > 0 ? errors : undefined,
265
+ };
266
+ }
267
+ // ---------------------------------------------------------------------------
268
+ // list-package
269
+ // ---------------------------------------------------------------------------
270
+ // dotnet list package text output format:
271
+ // Project 'MyProject' has the following package references
272
+ // [net8.0]:
273
+ // Top-level Package Requested Resolved
274
+ // > Newtonsoft.Json 13.0.1 13.0.1
275
+ // > Microsoft.Extensions.Logging 8.0.0 8.0.1
276
+ const LIST_PROJECT_RE = /^Project\s+'([^']+)'/;
277
+ const LIST_FRAMEWORK_RE = /^\s+\[([^\]]+)]/;
278
+ const LIST_PACKAGE_RE = /^\s+>\s+(\S+)\s+(\S+)\s+(\S+)(?:\s+(\S+))?/;
279
+ const LIST_TRANSITIVE_HEADER_RE = /Transitive Package/i;
280
+ const LIST_TOPLEVEL_HEADER_RE = /Top-level Package/i;
281
+ const LIST_DEPRECATED_RE = /\(D\)/;
282
+ /** Parses `dotnet list package` output (text or JSON) into structured results. */
283
+ export function parseDotnetListPackageOutput(stdout, stderr, exitCode) {
284
+ // Try JSON format first
285
+ const jsonResult = tryParseListPackageJson(stdout);
286
+ if (jsonResult) {
287
+ return { success: exitCode === 0, exitCode, projects: jsonResult };
288
+ }
289
+ // Fall back to text parsing
290
+ return parseListPackageText(stdout, stderr, exitCode);
291
+ }
292
+ function tryParseListPackageJson(stdout) {
293
+ try {
294
+ const jsonStart = stdout.indexOf("{");
295
+ if (jsonStart < 0)
296
+ return undefined;
297
+ const raw = JSON.parse(stdout.slice(jsonStart));
298
+ if (!raw.projects || !Array.isArray(raw.projects))
299
+ return undefined;
300
+ return raw.projects.map((proj) => ({
301
+ project: proj.path ?? "unknown",
302
+ frameworks: (proj.frameworks ?? []).map((fw) => ({
303
+ framework: fw.framework ?? "unknown",
304
+ topLevel: fw.topLevelPackages?.map((pkg) => ({
305
+ id: pkg.id ?? "unknown",
306
+ resolved: pkg.resolvedVersion ?? pkg.requestedVersion ?? "unknown",
307
+ latest: pkg.latestVersion,
308
+ deprecated: pkg.isDeprecated || undefined,
309
+ })),
310
+ transitive: fw.transitivePackages?.map((pkg) => ({
311
+ id: pkg.id ?? "unknown",
312
+ resolved: pkg.resolvedVersion ?? "unknown",
313
+ latest: pkg.latestVersion,
314
+ deprecated: pkg.isDeprecated || undefined,
315
+ })),
316
+ })),
317
+ }));
318
+ }
319
+ catch {
320
+ return undefined;
321
+ }
322
+ }
323
+ function parseListPackageText(stdout, stderr, exitCode) {
324
+ const output = stdout + "\n" + stderr;
325
+ const lines = output.split("\n");
326
+ const projects = [];
327
+ let currentProject;
328
+ let currentFramework;
329
+ let inTransitive = false;
330
+ for (const line of lines) {
331
+ const projectMatch = line.match(LIST_PROJECT_RE);
332
+ if (projectMatch) {
333
+ currentProject = { project: projectMatch[1], frameworks: [] };
334
+ projects.push(currentProject);
335
+ inTransitive = false;
336
+ continue;
337
+ }
338
+ const fwMatch = line.match(LIST_FRAMEWORK_RE);
339
+ if (fwMatch && currentProject) {
340
+ currentFramework = fwMatch[1];
341
+ currentProject.frameworks.push({
342
+ framework: currentFramework,
343
+ topLevel: [],
344
+ transitive: [],
345
+ });
346
+ inTransitive = false;
347
+ continue;
348
+ }
349
+ if (LIST_TRANSITIVE_HEADER_RE.test(line)) {
350
+ inTransitive = true;
351
+ continue;
352
+ }
353
+ if (LIST_TOPLEVEL_HEADER_RE.test(line)) {
354
+ inTransitive = false;
355
+ continue;
356
+ }
357
+ const pkgMatch = line.match(LIST_PACKAGE_RE);
358
+ if (pkgMatch && currentProject && currentProject.frameworks.length > 0) {
359
+ const fw = currentProject.frameworks[currentProject.frameworks.length - 1];
360
+ const entry = {
361
+ id: pkgMatch[1],
362
+ resolved: pkgMatch[3],
363
+ latest: pkgMatch[4] || undefined,
364
+ deprecated: LIST_DEPRECATED_RE.test(line) || undefined,
365
+ };
366
+ if (inTransitive) {
367
+ fw.transitive = fw.transitive ?? [];
368
+ fw.transitive.push(entry);
369
+ }
370
+ else {
371
+ fw.topLevel = fw.topLevel ?? [];
372
+ fw.topLevel.push(entry);
373
+ }
374
+ }
375
+ }
376
+ return {
377
+ success: exitCode === 0,
378
+ exitCode,
379
+ projects,
380
+ };
381
+ }
382
+ //# 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,251 @@
1
+ import { z } from "zod";
2
+ /** Zod schema for a single MSBuild diagnostic with file location, severity, and error code. */
3
+ export declare const DotnetDiagnosticSchema: z.ZodObject<{
4
+ file: z.ZodString;
5
+ line: z.ZodNumber;
6
+ column: z.ZodOptional<z.ZodNumber>;
7
+ code: z.ZodOptional<z.ZodString>;
8
+ severity: z.ZodEnum<{
9
+ error: "error";
10
+ warning: "warning";
11
+ }>;
12
+ message: z.ZodOptional<z.ZodString>;
13
+ }, z.core.$strip>;
14
+ /** Zod schema for structured `dotnet build` output. */
15
+ export declare const DotnetBuildResultSchema: z.ZodObject<{
16
+ success: z.ZodBoolean;
17
+ diagnostics: z.ZodArray<z.ZodObject<{
18
+ file: z.ZodString;
19
+ line: z.ZodNumber;
20
+ column: z.ZodOptional<z.ZodNumber>;
21
+ code: z.ZodOptional<z.ZodString>;
22
+ severity: z.ZodEnum<{
23
+ error: "error";
24
+ warning: "warning";
25
+ }>;
26
+ message: z.ZodOptional<z.ZodString>;
27
+ }, z.core.$strip>>;
28
+ total: z.ZodNumber;
29
+ errors: z.ZodNumber;
30
+ warnings: z.ZodNumber;
31
+ }, z.core.$strip>;
32
+ /** Full dotnet build diagnostic. */
33
+ export interface DotnetDiagnostic {
34
+ [key: string]: unknown;
35
+ file: string;
36
+ line: number;
37
+ column?: number;
38
+ code?: string;
39
+ severity: "error" | "warning";
40
+ message?: string;
41
+ }
42
+ /** Full dotnet build result. */
43
+ export interface DotnetBuildResult {
44
+ [key: string]: unknown;
45
+ success: boolean;
46
+ diagnostics: DotnetDiagnostic[];
47
+ total: number;
48
+ errors: number;
49
+ warnings: number;
50
+ }
51
+ /** Zod schema for a single test case result. */
52
+ export declare const DotnetTestCaseSchema: z.ZodObject<{
53
+ name: z.ZodString;
54
+ status: z.ZodEnum<{
55
+ Passed: "Passed";
56
+ Failed: "Failed";
57
+ Skipped: "Skipped";
58
+ }>;
59
+ duration: z.ZodOptional<z.ZodString>;
60
+ errorMessage: z.ZodOptional<z.ZodString>;
61
+ }, z.core.$strip>;
62
+ /** Zod schema for structured `dotnet test` output. */
63
+ export declare const DotnetTestResultSchema: z.ZodObject<{
64
+ success: z.ZodBoolean;
65
+ total: z.ZodNumber;
66
+ passed: z.ZodNumber;
67
+ failed: z.ZodNumber;
68
+ skipped: z.ZodNumber;
69
+ tests: z.ZodArray<z.ZodObject<{
70
+ name: z.ZodString;
71
+ status: z.ZodEnum<{
72
+ Passed: "Passed";
73
+ Failed: "Failed";
74
+ Skipped: "Skipped";
75
+ }>;
76
+ duration: z.ZodOptional<z.ZodString>;
77
+ errorMessage: z.ZodOptional<z.ZodString>;
78
+ }, z.core.$strip>>;
79
+ }, z.core.$strip>;
80
+ /** Full dotnet test case. */
81
+ export interface DotnetTestCase {
82
+ [key: string]: unknown;
83
+ name: string;
84
+ status: "Passed" | "Failed" | "Skipped";
85
+ duration?: string;
86
+ errorMessage?: string;
87
+ }
88
+ /** Full dotnet test result. */
89
+ export interface DotnetTestResult {
90
+ [key: string]: unknown;
91
+ success: boolean;
92
+ total: number;
93
+ passed: number;
94
+ failed: number;
95
+ skipped: number;
96
+ tests: DotnetTestCase[];
97
+ }
98
+ /** Zod schema for structured `dotnet run` output. */
99
+ export declare const DotnetRunResultSchema: z.ZodObject<{
100
+ success: z.ZodBoolean;
101
+ exitCode: z.ZodNumber;
102
+ stdout: z.ZodOptional<z.ZodString>;
103
+ stderr: z.ZodOptional<z.ZodString>;
104
+ timedOut: z.ZodOptional<z.ZodBoolean>;
105
+ }, z.core.$strip>;
106
+ /** Full dotnet run result. */
107
+ export interface DotnetRunResult {
108
+ [key: string]: unknown;
109
+ success: boolean;
110
+ exitCode: number;
111
+ stdout?: string;
112
+ stderr?: string;
113
+ timedOut?: boolean;
114
+ }
115
+ /** Zod schema for structured `dotnet publish` output. */
116
+ export declare const DotnetPublishResultSchema: z.ZodObject<{
117
+ success: z.ZodBoolean;
118
+ exitCode: z.ZodNumber;
119
+ outputPath: z.ZodOptional<z.ZodString>;
120
+ warnings: z.ZodOptional<z.ZodArray<z.ZodString>>;
121
+ errors: z.ZodOptional<z.ZodArray<z.ZodString>>;
122
+ }, z.core.$strip>;
123
+ /** Full dotnet publish result. */
124
+ export interface DotnetPublishResult {
125
+ [key: string]: unknown;
126
+ success: boolean;
127
+ exitCode: number;
128
+ outputPath?: string;
129
+ warnings?: string[];
130
+ errors?: string[];
131
+ }
132
+ /** Zod schema for structured `dotnet restore` output. */
133
+ export declare const DotnetRestoreResultSchema: z.ZodObject<{
134
+ success: z.ZodBoolean;
135
+ exitCode: z.ZodNumber;
136
+ restoredProjects: z.ZodOptional<z.ZodNumber>;
137
+ warnings: z.ZodOptional<z.ZodArray<z.ZodString>>;
138
+ errors: z.ZodOptional<z.ZodArray<z.ZodString>>;
139
+ }, z.core.$strip>;
140
+ /** Full dotnet restore result. */
141
+ export interface DotnetRestoreResult {
142
+ [key: string]: unknown;
143
+ success: boolean;
144
+ exitCode: number;
145
+ restoredProjects?: number;
146
+ warnings?: string[];
147
+ errors?: string[];
148
+ }
149
+ /** Zod schema for structured `dotnet clean` output. */
150
+ export declare const DotnetCleanResultSchema: z.ZodObject<{
151
+ success: z.ZodBoolean;
152
+ exitCode: z.ZodNumber;
153
+ }, z.core.$strip>;
154
+ /** Full dotnet clean result. */
155
+ export interface DotnetCleanResult {
156
+ [key: string]: unknown;
157
+ success: boolean;
158
+ exitCode: number;
159
+ }
160
+ /** Zod schema for structured `dotnet add package` output. */
161
+ export declare const DotnetAddPackageResultSchema: z.ZodObject<{
162
+ success: z.ZodBoolean;
163
+ exitCode: z.ZodNumber;
164
+ package: z.ZodString;
165
+ version: z.ZodOptional<z.ZodString>;
166
+ errors: z.ZodOptional<z.ZodArray<z.ZodString>>;
167
+ }, z.core.$strip>;
168
+ /** Full dotnet add-package result. */
169
+ export interface DotnetAddPackageResult {
170
+ [key: string]: unknown;
171
+ success: boolean;
172
+ exitCode: number;
173
+ package: string;
174
+ version?: string;
175
+ errors?: string[];
176
+ }
177
+ /** Zod schema for a single NuGet package entry. */
178
+ export declare const DotnetPackageEntrySchema: z.ZodObject<{
179
+ id: z.ZodString;
180
+ resolved: z.ZodString;
181
+ latest: z.ZodOptional<z.ZodString>;
182
+ deprecated: z.ZodOptional<z.ZodBoolean>;
183
+ }, z.core.$strip>;
184
+ /** Zod schema for a project's package listing. */
185
+ export declare const DotnetProjectPackagesSchema: z.ZodObject<{
186
+ project: z.ZodString;
187
+ frameworks: z.ZodArray<z.ZodObject<{
188
+ framework: z.ZodString;
189
+ topLevel: z.ZodOptional<z.ZodArray<z.ZodObject<{
190
+ id: z.ZodString;
191
+ resolved: z.ZodString;
192
+ latest: z.ZodOptional<z.ZodString>;
193
+ deprecated: z.ZodOptional<z.ZodBoolean>;
194
+ }, z.core.$strip>>>;
195
+ transitive: z.ZodOptional<z.ZodArray<z.ZodObject<{
196
+ id: z.ZodString;
197
+ resolved: z.ZodString;
198
+ latest: z.ZodOptional<z.ZodString>;
199
+ deprecated: z.ZodOptional<z.ZodBoolean>;
200
+ }, z.core.$strip>>>;
201
+ }, z.core.$strip>>;
202
+ }, z.core.$strip>;
203
+ /** Zod schema for structured `dotnet list package` output. */
204
+ export declare const DotnetListPackageResultSchema: z.ZodObject<{
205
+ success: z.ZodBoolean;
206
+ exitCode: z.ZodNumber;
207
+ projects: z.ZodArray<z.ZodObject<{
208
+ project: z.ZodString;
209
+ frameworks: z.ZodArray<z.ZodObject<{
210
+ framework: z.ZodString;
211
+ topLevel: z.ZodOptional<z.ZodArray<z.ZodObject<{
212
+ id: z.ZodString;
213
+ resolved: z.ZodString;
214
+ latest: z.ZodOptional<z.ZodString>;
215
+ deprecated: z.ZodOptional<z.ZodBoolean>;
216
+ }, z.core.$strip>>>;
217
+ transitive: z.ZodOptional<z.ZodArray<z.ZodObject<{
218
+ id: z.ZodString;
219
+ resolved: z.ZodString;
220
+ latest: z.ZodOptional<z.ZodString>;
221
+ deprecated: z.ZodOptional<z.ZodBoolean>;
222
+ }, z.core.$strip>>>;
223
+ }, z.core.$strip>>;
224
+ }, z.core.$strip>>;
225
+ }, z.core.$strip>;
226
+ /** Full dotnet package entry. */
227
+ export interface DotnetPackageEntry {
228
+ [key: string]: unknown;
229
+ id: string;
230
+ resolved: string;
231
+ latest?: string;
232
+ deprecated?: boolean;
233
+ }
234
+ /** Full project package listing. */
235
+ export interface DotnetProjectPackages {
236
+ [key: string]: unknown;
237
+ project: string;
238
+ frameworks: Array<{
239
+ framework: string;
240
+ topLevel?: DotnetPackageEntry[];
241
+ transitive?: DotnetPackageEntry[];
242
+ }>;
243
+ }
244
+ /** Full dotnet list-package result. */
245
+ export interface DotnetListPackageResult {
246
+ [key: string]: unknown;
247
+ success: boolean;
248
+ exitCode: number;
249
+ projects: DotnetProjectPackages[];
250
+ }
251
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"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"}