@paretools/python 0.3.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -12
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/formatters.d.ts +89 -1
- package/dist/lib/formatters.d.ts.map +1 -1
- package/dist/lib/formatters.js +184 -0
- package/dist/lib/formatters.js.map +1 -1
- package/dist/lib/parsers.d.ts +13 -1
- package/dist/lib/parsers.d.ts.map +1 -1
- package/dist/lib/parsers.js +175 -4
- package/dist/lib/parsers.js.map +1 -1
- package/dist/lib/python-runner.d.ts +3 -0
- package/dist/lib/python-runner.d.ts.map +1 -1
- package/dist/lib/python-runner.js +9 -0
- package/dist/lib/python-runner.js.map +1 -1
- package/dist/schemas/index.d.ts +79 -195
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +49 -4
- package/dist/schemas/index.js.map +1 -1
- package/dist/tools/black.d.ts +3 -0
- package/dist/tools/black.d.ts.map +1 -0
- package/dist/tools/black.js +48 -0
- package/dist/tools/black.js.map +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +8 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/mypy.d.ts.map +1 -1
- package/dist/tools/mypy.js +19 -6
- package/dist/tools/mypy.js.map +1 -1
- package/dist/tools/pip-audit.d.ts.map +1 -1
- package/dist/tools/pip-audit.js +21 -6
- package/dist/tools/pip-audit.js.map +1 -1
- package/dist/tools/pip-install.d.ts.map +1 -1
- package/dist/tools/pip-install.js +37 -8
- package/dist/tools/pip-install.js.map +1 -1
- package/dist/tools/pytest.d.ts +3 -0
- package/dist/tools/pytest.d.ts.map +1 -0
- package/dist/tools/pytest.js +57 -0
- package/dist/tools/pytest.js.map +1 -0
- package/dist/tools/ruff.d.ts.map +1 -1
- package/dist/tools/ruff.js +19 -6
- package/dist/tools/ruff.js.map +1 -1
- package/dist/tools/uv-install.d.ts +3 -0
- package/dist/tools/uv-install.d.ts.map +1 -0
- package/dist/tools/uv-install.js +66 -0
- package/dist/tools/uv-install.js.map +1 -0
- package/dist/tools/uv-run.d.ts +3 -0
- package/dist/tools/uv-run.d.ts.map +1 -0
- package/dist/tools/uv-run.js +40 -0
- package/dist/tools/uv-run.js.map +1 -0
- package/package.json +21 -9
package/dist/lib/parsers.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
/** Parses `pip install` output into structured data with installed packages and satisfaction status. */
|
|
2
2
|
export function parsePipInstall(stdout, stderr, exitCode) {
|
|
3
3
|
const output = stdout + "\n" + stderr;
|
|
4
4
|
const alreadySatisfied = output.includes("already satisfied");
|
|
@@ -23,8 +23,8 @@ export function parsePipInstall(stdout, stderr, exitCode) {
|
|
|
23
23
|
total: installed.length,
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
|
-
// mypy output: file:line: severity: message [code]
|
|
27
26
|
const MYPY_RE = /^(.+?):(\d+)(?::(\d+))?: (error|warning|note): (.+?)(?:\s+\[([^\]]+)\])?$/;
|
|
27
|
+
/** Parses mypy type-checker output into structured diagnostics with file locations and error codes. */
|
|
28
28
|
export function parseMypyOutput(stdout, exitCode) {
|
|
29
29
|
const lines = stdout.split("\n");
|
|
30
30
|
const diagnostics = [];
|
|
@@ -51,7 +51,7 @@ export function parseMypyOutput(stdout, exitCode) {
|
|
|
51
51
|
warnings,
|
|
52
52
|
};
|
|
53
53
|
}
|
|
54
|
-
|
|
54
|
+
/** Parses `ruff check --output-format json` output into structured lint diagnostics with fixability info. */
|
|
55
55
|
export function parseRuffJson(stdout) {
|
|
56
56
|
let entries;
|
|
57
57
|
try {
|
|
@@ -73,7 +73,7 @@ export function parseRuffJson(stdout) {
|
|
|
73
73
|
const fixable = diagnostics.filter((d) => d.fixable).length;
|
|
74
74
|
return { diagnostics, total: diagnostics.length, fixable };
|
|
75
75
|
}
|
|
76
|
-
|
|
76
|
+
/** Parses `pip-audit --format json` output into structured vulnerability data with fix versions. */
|
|
77
77
|
export function parsePipAuditJson(stdout) {
|
|
78
78
|
let data;
|
|
79
79
|
try {
|
|
@@ -91,4 +91,175 @@ export function parsePipAuditJson(stdout) {
|
|
|
91
91
|
})));
|
|
92
92
|
return { vulnerabilities, total: vulnerabilities.length };
|
|
93
93
|
}
|
|
94
|
+
const PYTEST_DURATION_RE = /in ([\d.]+)s/;
|
|
95
|
+
function extractCount(line, label) {
|
|
96
|
+
const m = line.match(label);
|
|
97
|
+
return m ? parseInt(m[1], 10) : 0;
|
|
98
|
+
}
|
|
99
|
+
/** Parses pytest output into structured test results with pass/fail/error/skip counts and failure details. */
|
|
100
|
+
export function parsePytestOutput(stdout, stderr, exitCode) {
|
|
101
|
+
const output = stdout + "\n" + stderr;
|
|
102
|
+
const lines = output.split("\n");
|
|
103
|
+
// Find the summary line (e.g., "=== 3 passed, 1 failed in 0.52s ===")
|
|
104
|
+
let passed = 0;
|
|
105
|
+
let failed = 0;
|
|
106
|
+
let errors = 0;
|
|
107
|
+
let skipped = 0;
|
|
108
|
+
let duration = 0;
|
|
109
|
+
for (const line of lines) {
|
|
110
|
+
// Match lines containing pytest summary markers (== ... in Xs ==) or standalone counts
|
|
111
|
+
if (/\d+ (?:passed|failed|error|skipped)/.test(line) || /in [\d.]+s/.test(line)) {
|
|
112
|
+
passed = Math.max(passed, extractCount(line, /(\d+) passed/));
|
|
113
|
+
failed = Math.max(failed, extractCount(line, /(\d+) failed/));
|
|
114
|
+
errors = Math.max(errors, extractCount(line, /(\d+) errors?/));
|
|
115
|
+
skipped = Math.max(skipped, extractCount(line, /(\d+) skipped/));
|
|
116
|
+
const durationMatch = line.match(PYTEST_DURATION_RE);
|
|
117
|
+
if (durationMatch) {
|
|
118
|
+
duration = parseFloat(durationMatch[1]);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
// Check for "no tests ran" case
|
|
123
|
+
const noTests = output.includes("no tests ran");
|
|
124
|
+
if (noTests && passed === 0 && failed === 0 && errors === 0) {
|
|
125
|
+
return {
|
|
126
|
+
success: exitCode === 0 || exitCode === 5,
|
|
127
|
+
passed: 0,
|
|
128
|
+
failed: 0,
|
|
129
|
+
errors: 0,
|
|
130
|
+
skipped: 0,
|
|
131
|
+
total: 0,
|
|
132
|
+
duration,
|
|
133
|
+
failures: [],
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
// Parse failure blocks from short traceback
|
|
137
|
+
const failures = [];
|
|
138
|
+
const failureBlockRe = /_{3,}\s+(.+?)\s+_{3,}/g;
|
|
139
|
+
let failMatch;
|
|
140
|
+
while ((failMatch = failureBlockRe.exec(output)) !== null) {
|
|
141
|
+
const testName = failMatch[1].trim();
|
|
142
|
+
const startIdx = failMatch.index + failMatch[0].length;
|
|
143
|
+
// Find the end of this failure block (next FAILED marker, next separator, or end)
|
|
144
|
+
const remaining = output.slice(startIdx);
|
|
145
|
+
const endMatch = remaining.match(/(?:_{3,}|={3,})/);
|
|
146
|
+
const block = endMatch ? remaining.slice(0, endMatch.index) : remaining;
|
|
147
|
+
// Extract the most relevant error line
|
|
148
|
+
const blockLines = block
|
|
149
|
+
.split("\n")
|
|
150
|
+
.map((l) => l.trim())
|
|
151
|
+
.filter(Boolean);
|
|
152
|
+
let message = "";
|
|
153
|
+
// Look for assertion errors, E lines, or the last meaningful line
|
|
154
|
+
for (const bLine of blockLines) {
|
|
155
|
+
if (bLine.startsWith("E ")) {
|
|
156
|
+
message = message ? message + "\n" + bLine.slice(2).trim() : bLine.slice(2).trim();
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
if (!message && blockLines.length > 0) {
|
|
160
|
+
message = blockLines[blockLines.length - 1];
|
|
161
|
+
}
|
|
162
|
+
failures.push({ test: testName, message });
|
|
163
|
+
}
|
|
164
|
+
const total = passed + failed + errors + skipped;
|
|
165
|
+
return {
|
|
166
|
+
success: exitCode === 0,
|
|
167
|
+
passed,
|
|
168
|
+
failed,
|
|
169
|
+
errors,
|
|
170
|
+
skipped,
|
|
171
|
+
total,
|
|
172
|
+
duration,
|
|
173
|
+
failures,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
// Matches uv install output lines like: " + package==version" or "Installed N packages in Ns"
|
|
177
|
+
const UV_INSTALLED_PKG_RE = /^\s*\+\s+(\S+)==(\S+)/;
|
|
178
|
+
const UV_SUMMARY_RE = /Installed (\d+) packages? in ([\d.]+)/;
|
|
179
|
+
/** Parses uv pip install output into structured data with installed packages. */
|
|
180
|
+
export function parseUvInstall(stdout, stderr, exitCode) {
|
|
181
|
+
const output = stdout + "\n" + stderr;
|
|
182
|
+
const lines = output.split("\n");
|
|
183
|
+
const installed = [];
|
|
184
|
+
let duration = 0;
|
|
185
|
+
for (const line of lines) {
|
|
186
|
+
const pkgMatch = line.match(UV_INSTALLED_PKG_RE);
|
|
187
|
+
if (pkgMatch) {
|
|
188
|
+
installed.push({ name: pkgMatch[1], version: pkgMatch[2] });
|
|
189
|
+
}
|
|
190
|
+
const summaryMatch = line.match(UV_SUMMARY_RE);
|
|
191
|
+
if (summaryMatch) {
|
|
192
|
+
duration = parseFloat(summaryMatch[2]);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
return {
|
|
196
|
+
success: exitCode === 0,
|
|
197
|
+
installed,
|
|
198
|
+
total: installed.length,
|
|
199
|
+
duration,
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
/** Parses uv run output into structured result with exit code, stdout, stderr. */
|
|
203
|
+
export function parseUvRun(stdout, stderr, exitCode, durationMs) {
|
|
204
|
+
return {
|
|
205
|
+
exitCode,
|
|
206
|
+
stdout,
|
|
207
|
+
stderr,
|
|
208
|
+
success: exitCode === 0,
|
|
209
|
+
duration: Math.round(durationMs) / 1000,
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
const BLACK_REFORMAT_RE = /^would reformat (.+)$/;
|
|
213
|
+
const BLACK_REFORMATTED_RE = /^reformatted (.+)$/;
|
|
214
|
+
const BLACK_SUMMARY_RE = /(\d+) files? (?:would be )?reformatted(?:,\s*(\d+) files? (?:would be )?left unchanged)?|(\d+) files? (?:would be )?left unchanged/;
|
|
215
|
+
/** Parses Black code formatter output into structured result with file counts. */
|
|
216
|
+
export function parseBlackOutput(stdout, stderr, exitCode) {
|
|
217
|
+
// Black writes most output to stderr
|
|
218
|
+
const output = stdout + "\n" + stderr;
|
|
219
|
+
const lines = output.split("\n");
|
|
220
|
+
const wouldReformat = [];
|
|
221
|
+
let filesChanged = 0;
|
|
222
|
+
let filesUnchanged = 0;
|
|
223
|
+
for (const line of lines) {
|
|
224
|
+
const wouldMatch = line.match(BLACK_REFORMAT_RE);
|
|
225
|
+
if (wouldMatch) {
|
|
226
|
+
wouldReformat.push(wouldMatch[1].trim());
|
|
227
|
+
}
|
|
228
|
+
const reformattedMatch = line.match(BLACK_REFORMATTED_RE);
|
|
229
|
+
if (reformattedMatch) {
|
|
230
|
+
wouldReformat.push(reformattedMatch[1].trim());
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
// Parse summary line
|
|
234
|
+
for (const line of lines) {
|
|
235
|
+
const summaryMatch = line.match(BLACK_SUMMARY_RE);
|
|
236
|
+
if (summaryMatch) {
|
|
237
|
+
if (summaryMatch[1]) {
|
|
238
|
+
filesChanged = parseInt(summaryMatch[1], 10);
|
|
239
|
+
filesUnchanged = summaryMatch[2] ? parseInt(summaryMatch[2], 10) : 0;
|
|
240
|
+
}
|
|
241
|
+
else if (summaryMatch[3]) {
|
|
242
|
+
filesChanged = 0;
|
|
243
|
+
filesUnchanged = parseInt(summaryMatch[3], 10);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
// If we found "would reformat" lines but no summary, use those counts
|
|
248
|
+
if (filesChanged === 0 && wouldReformat.length > 0) {
|
|
249
|
+
filesChanged = wouldReformat.length;
|
|
250
|
+
}
|
|
251
|
+
const filesChecked = filesChanged + filesUnchanged;
|
|
252
|
+
// In check mode, success means no files need reformatting
|
|
253
|
+
// In format mode, success is always true (exitCode 0) unless black errors
|
|
254
|
+
// exitCode 1 in check mode = files would be reformatted
|
|
255
|
+
// exitCode 123 = internal error
|
|
256
|
+
const success = exitCode === 0;
|
|
257
|
+
return {
|
|
258
|
+
filesChanged,
|
|
259
|
+
filesUnchanged,
|
|
260
|
+
filesChecked,
|
|
261
|
+
success,
|
|
262
|
+
wouldReformat,
|
|
263
|
+
};
|
|
264
|
+
}
|
|
94
265
|
//# sourceMappingURL=parsers.js.map
|
package/dist/lib/parsers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../src/lib/parsers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../src/lib/parsers.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,4 +2,7 @@ import { type RunResult } from "@paretools/shared";
|
|
|
2
2
|
export declare function pip(args: string[], cwd?: string): Promise<RunResult>;
|
|
3
3
|
export declare function mypy(args: string[], cwd?: string): Promise<RunResult>;
|
|
4
4
|
export declare function ruff(args: string[], cwd?: string): Promise<RunResult>;
|
|
5
|
+
export declare function pytest(args: string[], cwd?: string): Promise<RunResult>;
|
|
6
|
+
export declare function uv(args: string[], cwd?: string): Promise<RunResult>;
|
|
7
|
+
export declare function black(args: string[], cwd?: string): Promise<RunResult>;
|
|
5
8
|
//# sourceMappingURL=python-runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"python-runner.d.ts","sourceRoot":"","sources":["../../src/lib/python-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAExD,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAE1E;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAE3E;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAE3E"}
|
|
1
|
+
{"version":3,"file":"python-runner.d.ts","sourceRoot":"","sources":["../../src/lib/python-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAExD,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAE1E;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAE3E;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAE3E;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAE7E;AAED,wBAAsB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAEzE;AAED,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAE5E"}
|
|
@@ -8,4 +8,13 @@ export async function mypy(args, cwd) {
|
|
|
8
8
|
export async function ruff(args, cwd) {
|
|
9
9
|
return run("ruff", args, { cwd });
|
|
10
10
|
}
|
|
11
|
+
export async function pytest(args, cwd) {
|
|
12
|
+
return run("pytest", args, { cwd, timeout: 300_000 });
|
|
13
|
+
}
|
|
14
|
+
export async function uv(args, cwd) {
|
|
15
|
+
return run("uv", args, { cwd, timeout: 120_000 });
|
|
16
|
+
}
|
|
17
|
+
export async function black(args, cwd) {
|
|
18
|
+
return run("black", args, { cwd });
|
|
19
|
+
}
|
|
11
20
|
//# sourceMappingURL=python-runner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"python-runner.js","sourceRoot":"","sources":["../../src/lib/python-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAkB,MAAM,mBAAmB,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAc,EAAE,GAAY;IACpD,OAAO,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAc,EAAE,GAAY;IACrD,OAAO,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAc,EAAE,GAAY;IACrD,OAAO,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;AACpC,CAAC"}
|
|
1
|
+
{"version":3,"file":"python-runner.js","sourceRoot":"","sources":["../../src/lib/python-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAkB,MAAM,mBAAmB,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAc,EAAE,GAAY;IACpD,OAAO,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAc,EAAE,GAAY;IACrD,OAAO,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAc,EAAE,GAAY;IACrD,OAAO,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAc,EAAE,GAAY;IACvD,OAAO,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAc,EAAE,GAAY;IACnD,OAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,IAAc,EAAE,GAAY;IACtD,OAAO,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;AACrC,CAAC"}
|
package/dist/schemas/index.d.ts
CHANGED
|
@@ -1,113 +1,49 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
/** Zod schema for structured pip install output with installed packages and satisfaction status. */
|
|
2
3
|
export declare const PipInstallSchema: z.ZodObject<{
|
|
3
4
|
success: z.ZodBoolean;
|
|
4
5
|
installed: z.ZodArray<z.ZodObject<{
|
|
5
6
|
name: z.ZodString;
|
|
6
7
|
version: z.ZodString;
|
|
7
|
-
},
|
|
8
|
-
name: string;
|
|
9
|
-
version: string;
|
|
10
|
-
}, {
|
|
11
|
-
name: string;
|
|
12
|
-
version: string;
|
|
13
|
-
}>, "many">;
|
|
8
|
+
}, z.core.$strip>>;
|
|
14
9
|
alreadySatisfied: z.ZodBoolean;
|
|
15
10
|
total: z.ZodNumber;
|
|
16
|
-
},
|
|
17
|
-
success: boolean;
|
|
18
|
-
installed: {
|
|
19
|
-
name: string;
|
|
20
|
-
version: string;
|
|
21
|
-
}[];
|
|
22
|
-
alreadySatisfied: boolean;
|
|
23
|
-
total: number;
|
|
24
|
-
}, {
|
|
25
|
-
success: boolean;
|
|
26
|
-
installed: {
|
|
27
|
-
name: string;
|
|
28
|
-
version: string;
|
|
29
|
-
}[];
|
|
30
|
-
alreadySatisfied: boolean;
|
|
31
|
-
total: number;
|
|
32
|
-
}>;
|
|
11
|
+
}, z.core.$strip>;
|
|
33
12
|
export type PipInstall = z.infer<typeof PipInstallSchema>;
|
|
13
|
+
/** Zod schema for a single mypy diagnostic with file location, severity, message, and error code. */
|
|
34
14
|
export declare const MypyDiagnosticSchema: z.ZodObject<{
|
|
35
15
|
file: z.ZodString;
|
|
36
16
|
line: z.ZodNumber;
|
|
37
17
|
column: z.ZodOptional<z.ZodNumber>;
|
|
38
|
-
severity: z.ZodEnum<
|
|
18
|
+
severity: z.ZodEnum<{
|
|
19
|
+
error: "error";
|
|
20
|
+
warning: "warning";
|
|
21
|
+
note: "note";
|
|
22
|
+
}>;
|
|
39
23
|
message: z.ZodString;
|
|
40
24
|
code: z.ZodOptional<z.ZodString>;
|
|
41
|
-
},
|
|
42
|
-
|
|
43
|
-
file: string;
|
|
44
|
-
line: number;
|
|
45
|
-
severity: "error" | "warning" | "note";
|
|
46
|
-
code?: string | undefined;
|
|
47
|
-
column?: number | undefined;
|
|
48
|
-
}, {
|
|
49
|
-
message: string;
|
|
50
|
-
file: string;
|
|
51
|
-
line: number;
|
|
52
|
-
severity: "error" | "warning" | "note";
|
|
53
|
-
code?: string | undefined;
|
|
54
|
-
column?: number | undefined;
|
|
55
|
-
}>;
|
|
25
|
+
}, z.core.$strip>;
|
|
26
|
+
/** Zod schema for structured mypy output including success status, diagnostics, and error/warning counts. */
|
|
56
27
|
export declare const MypyResultSchema: z.ZodObject<{
|
|
57
28
|
success: z.ZodBoolean;
|
|
58
29
|
diagnostics: z.ZodArray<z.ZodObject<{
|
|
59
30
|
file: z.ZodString;
|
|
60
31
|
line: z.ZodNumber;
|
|
61
32
|
column: z.ZodOptional<z.ZodNumber>;
|
|
62
|
-
severity: z.ZodEnum<
|
|
33
|
+
severity: z.ZodEnum<{
|
|
34
|
+
error: "error";
|
|
35
|
+
warning: "warning";
|
|
36
|
+
note: "note";
|
|
37
|
+
}>;
|
|
63
38
|
message: z.ZodString;
|
|
64
39
|
code: z.ZodOptional<z.ZodString>;
|
|
65
|
-
},
|
|
66
|
-
message: string;
|
|
67
|
-
file: string;
|
|
68
|
-
line: number;
|
|
69
|
-
severity: "error" | "warning" | "note";
|
|
70
|
-
code?: string | undefined;
|
|
71
|
-
column?: number | undefined;
|
|
72
|
-
}, {
|
|
73
|
-
message: string;
|
|
74
|
-
file: string;
|
|
75
|
-
line: number;
|
|
76
|
-
severity: "error" | "warning" | "note";
|
|
77
|
-
code?: string | undefined;
|
|
78
|
-
column?: number | undefined;
|
|
79
|
-
}>, "many">;
|
|
40
|
+
}, z.core.$strip>>;
|
|
80
41
|
total: z.ZodNumber;
|
|
81
42
|
errors: z.ZodNumber;
|
|
82
43
|
warnings: z.ZodNumber;
|
|
83
|
-
},
|
|
84
|
-
success: boolean;
|
|
85
|
-
total: number;
|
|
86
|
-
diagnostics: {
|
|
87
|
-
message: string;
|
|
88
|
-
file: string;
|
|
89
|
-
line: number;
|
|
90
|
-
severity: "error" | "warning" | "note";
|
|
91
|
-
code?: string | undefined;
|
|
92
|
-
column?: number | undefined;
|
|
93
|
-
}[];
|
|
94
|
-
errors: number;
|
|
95
|
-
warnings: number;
|
|
96
|
-
}, {
|
|
97
|
-
success: boolean;
|
|
98
|
-
total: number;
|
|
99
|
-
diagnostics: {
|
|
100
|
-
message: string;
|
|
101
|
-
file: string;
|
|
102
|
-
line: number;
|
|
103
|
-
severity: "error" | "warning" | "note";
|
|
104
|
-
code?: string | undefined;
|
|
105
|
-
column?: number | undefined;
|
|
106
|
-
}[];
|
|
107
|
-
errors: number;
|
|
108
|
-
warnings: number;
|
|
109
|
-
}>;
|
|
44
|
+
}, z.core.$strip>;
|
|
110
45
|
export type MypyResult = z.infer<typeof MypyResultSchema>;
|
|
46
|
+
/** Zod schema for a single ruff diagnostic with file location, rule code, message, and fixability. */
|
|
111
47
|
export declare const RuffDiagnosticSchema: z.ZodObject<{
|
|
112
48
|
file: z.ZodString;
|
|
113
49
|
line: z.ZodNumber;
|
|
@@ -117,25 +53,8 @@ export declare const RuffDiagnosticSchema: z.ZodObject<{
|
|
|
117
53
|
code: z.ZodString;
|
|
118
54
|
message: z.ZodString;
|
|
119
55
|
fixable: z.ZodBoolean;
|
|
120
|
-
},
|
|
121
|
-
|
|
122
|
-
message: string;
|
|
123
|
-
file: string;
|
|
124
|
-
line: number;
|
|
125
|
-
column: number;
|
|
126
|
-
fixable: boolean;
|
|
127
|
-
endLine?: number | undefined;
|
|
128
|
-
endColumn?: number | undefined;
|
|
129
|
-
}, {
|
|
130
|
-
code: string;
|
|
131
|
-
message: string;
|
|
132
|
-
file: string;
|
|
133
|
-
line: number;
|
|
134
|
-
column: number;
|
|
135
|
-
fixable: boolean;
|
|
136
|
-
endLine?: number | undefined;
|
|
137
|
-
endColumn?: number | undefined;
|
|
138
|
-
}>;
|
|
56
|
+
}, z.core.$strip>;
|
|
57
|
+
/** Zod schema for structured ruff check output with diagnostics, total count, and fixable count. */
|
|
139
58
|
export declare const RuffResultSchema: z.ZodObject<{
|
|
140
59
|
diagnostics: z.ZodArray<z.ZodObject<{
|
|
141
60
|
file: z.ZodString;
|
|
@@ -146,113 +65,78 @@ export declare const RuffResultSchema: z.ZodObject<{
|
|
|
146
65
|
code: z.ZodString;
|
|
147
66
|
message: z.ZodString;
|
|
148
67
|
fixable: z.ZodBoolean;
|
|
149
|
-
},
|
|
150
|
-
code: string;
|
|
151
|
-
message: string;
|
|
152
|
-
file: string;
|
|
153
|
-
line: number;
|
|
154
|
-
column: number;
|
|
155
|
-
fixable: boolean;
|
|
156
|
-
endLine?: number | undefined;
|
|
157
|
-
endColumn?: number | undefined;
|
|
158
|
-
}, {
|
|
159
|
-
code: string;
|
|
160
|
-
message: string;
|
|
161
|
-
file: string;
|
|
162
|
-
line: number;
|
|
163
|
-
column: number;
|
|
164
|
-
fixable: boolean;
|
|
165
|
-
endLine?: number | undefined;
|
|
166
|
-
endColumn?: number | undefined;
|
|
167
|
-
}>, "many">;
|
|
68
|
+
}, z.core.$strip>>;
|
|
168
69
|
total: z.ZodNumber;
|
|
169
70
|
fixable: z.ZodNumber;
|
|
170
|
-
},
|
|
171
|
-
total: number;
|
|
172
|
-
diagnostics: {
|
|
173
|
-
code: string;
|
|
174
|
-
message: string;
|
|
175
|
-
file: string;
|
|
176
|
-
line: number;
|
|
177
|
-
column: number;
|
|
178
|
-
fixable: boolean;
|
|
179
|
-
endLine?: number | undefined;
|
|
180
|
-
endColumn?: number | undefined;
|
|
181
|
-
}[];
|
|
182
|
-
fixable: number;
|
|
183
|
-
}, {
|
|
184
|
-
total: number;
|
|
185
|
-
diagnostics: {
|
|
186
|
-
code: string;
|
|
187
|
-
message: string;
|
|
188
|
-
file: string;
|
|
189
|
-
line: number;
|
|
190
|
-
column: number;
|
|
191
|
-
fixable: boolean;
|
|
192
|
-
endLine?: number | undefined;
|
|
193
|
-
endColumn?: number | undefined;
|
|
194
|
-
}[];
|
|
195
|
-
fixable: number;
|
|
196
|
-
}>;
|
|
71
|
+
}, z.core.$strip>;
|
|
197
72
|
export type RuffResult = z.infer<typeof RuffResultSchema>;
|
|
73
|
+
/** Zod schema for a single pip-audit vulnerability with package name, version, ID, and fix versions. */
|
|
198
74
|
export declare const PipAuditVulnSchema: z.ZodObject<{
|
|
199
75
|
name: z.ZodString;
|
|
200
76
|
version: z.ZodString;
|
|
201
77
|
id: z.ZodString;
|
|
202
78
|
description: z.ZodString;
|
|
203
|
-
fixVersions: z.ZodArray<z.ZodString
|
|
204
|
-
},
|
|
205
|
-
|
|
206
|
-
version: string;
|
|
207
|
-
id: string;
|
|
208
|
-
description: string;
|
|
209
|
-
fixVersions: string[];
|
|
210
|
-
}, {
|
|
211
|
-
name: string;
|
|
212
|
-
version: string;
|
|
213
|
-
id: string;
|
|
214
|
-
description: string;
|
|
215
|
-
fixVersions: string[];
|
|
216
|
-
}>;
|
|
79
|
+
fixVersions: z.ZodArray<z.ZodString>;
|
|
80
|
+
}, z.core.$strip>;
|
|
81
|
+
/** Zod schema for structured pip-audit output with vulnerability list and total count. */
|
|
217
82
|
export declare const PipAuditResultSchema: z.ZodObject<{
|
|
218
83
|
vulnerabilities: z.ZodArray<z.ZodObject<{
|
|
219
84
|
name: z.ZodString;
|
|
220
85
|
version: z.ZodString;
|
|
221
86
|
id: z.ZodString;
|
|
222
87
|
description: z.ZodString;
|
|
223
|
-
fixVersions: z.ZodArray<z.ZodString
|
|
224
|
-
},
|
|
225
|
-
name: string;
|
|
226
|
-
version: string;
|
|
227
|
-
id: string;
|
|
228
|
-
description: string;
|
|
229
|
-
fixVersions: string[];
|
|
230
|
-
}, {
|
|
231
|
-
name: string;
|
|
232
|
-
version: string;
|
|
233
|
-
id: string;
|
|
234
|
-
description: string;
|
|
235
|
-
fixVersions: string[];
|
|
236
|
-
}>, "many">;
|
|
88
|
+
fixVersions: z.ZodArray<z.ZodString>;
|
|
89
|
+
}, z.core.$strip>>;
|
|
237
90
|
total: z.ZodNumber;
|
|
238
|
-
},
|
|
239
|
-
total: number;
|
|
240
|
-
vulnerabilities: {
|
|
241
|
-
name: string;
|
|
242
|
-
version: string;
|
|
243
|
-
id: string;
|
|
244
|
-
description: string;
|
|
245
|
-
fixVersions: string[];
|
|
246
|
-
}[];
|
|
247
|
-
}, {
|
|
248
|
-
total: number;
|
|
249
|
-
vulnerabilities: {
|
|
250
|
-
name: string;
|
|
251
|
-
version: string;
|
|
252
|
-
id: string;
|
|
253
|
-
description: string;
|
|
254
|
-
fixVersions: string[];
|
|
255
|
-
}[];
|
|
256
|
-
}>;
|
|
91
|
+
}, z.core.$strip>;
|
|
257
92
|
export type PipAuditResult = z.infer<typeof PipAuditResultSchema>;
|
|
93
|
+
/** Zod schema for a single pytest failure with test name and failure message. */
|
|
94
|
+
export declare const PytestFailureSchema: z.ZodObject<{
|
|
95
|
+
test: z.ZodString;
|
|
96
|
+
message: z.ZodString;
|
|
97
|
+
}, z.core.$strip>;
|
|
98
|
+
/** Zod schema for structured pytest output with pass/fail/error/skip counts and failure details. */
|
|
99
|
+
export declare const PytestResultSchema: z.ZodObject<{
|
|
100
|
+
success: z.ZodBoolean;
|
|
101
|
+
passed: z.ZodNumber;
|
|
102
|
+
failed: z.ZodNumber;
|
|
103
|
+
errors: z.ZodNumber;
|
|
104
|
+
skipped: z.ZodNumber;
|
|
105
|
+
total: z.ZodNumber;
|
|
106
|
+
duration: z.ZodNumber;
|
|
107
|
+
failures: z.ZodArray<z.ZodObject<{
|
|
108
|
+
test: z.ZodString;
|
|
109
|
+
message: z.ZodString;
|
|
110
|
+
}, z.core.$strip>>;
|
|
111
|
+
}, z.core.$strip>;
|
|
112
|
+
export type PytestResult = z.infer<typeof PytestResultSchema>;
|
|
113
|
+
/** Zod schema for structured uv install output with installed packages and count. */
|
|
114
|
+
export declare const UvInstallSchema: z.ZodObject<{
|
|
115
|
+
success: z.ZodBoolean;
|
|
116
|
+
installed: z.ZodArray<z.ZodObject<{
|
|
117
|
+
name: z.ZodString;
|
|
118
|
+
version: z.ZodString;
|
|
119
|
+
}, z.core.$strip>>;
|
|
120
|
+
total: z.ZodNumber;
|
|
121
|
+
duration: z.ZodNumber;
|
|
122
|
+
}, z.core.$strip>;
|
|
123
|
+
export type UvInstall = z.infer<typeof UvInstallSchema>;
|
|
124
|
+
/** Zod schema for structured uv run output with exit code and stdout/stderr. */
|
|
125
|
+
export declare const UvRunSchema: z.ZodObject<{
|
|
126
|
+
exitCode: z.ZodNumber;
|
|
127
|
+
stdout: z.ZodString;
|
|
128
|
+
stderr: z.ZodString;
|
|
129
|
+
success: z.ZodBoolean;
|
|
130
|
+
duration: z.ZodNumber;
|
|
131
|
+
}, z.core.$strip>;
|
|
132
|
+
export type UvRun = z.infer<typeof UvRunSchema>;
|
|
133
|
+
/** Zod schema for structured Black formatter output with file counts and reformat list. */
|
|
134
|
+
export declare const BlackResultSchema: z.ZodObject<{
|
|
135
|
+
filesChanged: z.ZodNumber;
|
|
136
|
+
filesUnchanged: z.ZodNumber;
|
|
137
|
+
filesChecked: z.ZodNumber;
|
|
138
|
+
success: z.ZodBoolean;
|
|
139
|
+
wouldReformat: z.ZodArray<z.ZodString>;
|
|
140
|
+
}, z.core.$strip>;
|
|
141
|
+
export type BlackResult = z.infer<typeof BlackResultSchema>;
|
|
258
142
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,oGAAoG;AACpG,eAAO,MAAM,gBAAgB;;;;;;;;iBAU3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,qGAAqG;AACrG,eAAO,MAAM,oBAAoB;;;;;;;;;;;iBAO/B,CAAC;AAEH,6GAA6G;AAC7G,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;iBAM3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,sGAAsG;AACtG,eAAO,MAAM,oBAAoB;;;;;;;;;iBAS/B,CAAC;AAEH,oGAAoG;AACpG,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;iBAI3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,wGAAwG;AACxG,eAAO,MAAM,kBAAkB;;;;;;iBAM7B,CAAC;AAEH,0FAA0F;AAC1F,eAAO,MAAM,oBAAoB;;;;;;;;;iBAG/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,iFAAiF;AACjF,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAC;AAEH,oGAAoG;AACpG,eAAO,MAAM,kBAAkB;;;;;;;;;;;;iBAS7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,qFAAqF;AACrF,eAAO,MAAM,eAAe;;;;;;;;iBAU1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,gFAAgF;AAChF,eAAO,MAAM,WAAW;;;;;;iBAMtB,CAAC;AAEH,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEhD,2FAA2F;AAC3F,eAAO,MAAM,iBAAiB;;;;;;iBAM5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|