@mcptoolshop/venvkit 0.2.0 → 0.2.5

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 (69) hide show
  1. package/README.es.md +263 -0
  2. package/README.fr.md +263 -0
  3. package/README.hi.md +267 -0
  4. package/README.it.md +263 -0
  5. package/README.ja.md +263 -0
  6. package/README.md +17 -3
  7. package/README.pt-BR.md +263 -0
  8. package/README.zh.md +263 -0
  9. package/package.json +69 -58
  10. package/dist/doctorLite.d.ts +0 -75
  11. package/dist/doctorLite.d.ts.map +0 -1
  12. package/dist/doctorLite.js +0 -705
  13. package/dist/doctorLite.js.map +0 -1
  14. package/dist/doctorLite.test.d.ts +0 -2
  15. package/dist/doctorLite.test.d.ts.map +0 -1
  16. package/dist/doctorLite.test.js +0 -268
  17. package/dist/doctorLite.test.js.map +0 -1
  18. package/dist/index.d.ts +0 -6
  19. package/dist/index.d.ts.map +0 -1
  20. package/dist/index.js +0 -6
  21. package/dist/index.js.map +0 -1
  22. package/dist/integration.test.d.ts +0 -2
  23. package/dist/integration.test.d.ts.map +0 -1
  24. package/dist/integration.test.js +0 -245
  25. package/dist/integration.test.js.map +0 -1
  26. package/dist/mapRender.d.ts +0 -105
  27. package/dist/mapRender.d.ts.map +0 -1
  28. package/dist/mapRender.js +0 -718
  29. package/dist/mapRender.js.map +0 -1
  30. package/dist/mapRender.test.d.ts +0 -2
  31. package/dist/mapRender.test.d.ts.map +0 -1
  32. package/dist/mapRender.test.js +0 -571
  33. package/dist/mapRender.test.js.map +0 -1
  34. package/dist/map_cli.d.ts +0 -3
  35. package/dist/map_cli.d.ts.map +0 -1
  36. package/dist/map_cli.js +0 -278
  37. package/dist/map_cli.js.map +0 -1
  38. package/dist/map_cli.test.d.ts +0 -2
  39. package/dist/map_cli.test.d.ts.map +0 -1
  40. package/dist/map_cli.test.js +0 -276
  41. package/dist/map_cli.test.js.map +0 -1
  42. package/dist/runLog.d.ts +0 -71
  43. package/dist/runLog.d.ts.map +0 -1
  44. package/dist/runLog.js +0 -98
  45. package/dist/runLog.js.map +0 -1
  46. package/dist/runLog.test.d.ts +0 -2
  47. package/dist/runLog.test.d.ts.map +0 -1
  48. package/dist/runLog.test.js +0 -327
  49. package/dist/runLog.test.js.map +0 -1
  50. package/dist/scanEnvPaths.d.ts +0 -18
  51. package/dist/scanEnvPaths.d.ts.map +0 -1
  52. package/dist/scanEnvPaths.js +0 -174
  53. package/dist/scanEnvPaths.js.map +0 -1
  54. package/dist/scanEnvPaths.test.d.ts +0 -2
  55. package/dist/scanEnvPaths.test.d.ts.map +0 -1
  56. package/dist/scanEnvPaths.test.js +0 -250
  57. package/dist/scanEnvPaths.test.js.map +0 -1
  58. package/dist/taskCluster.d.ts +0 -62
  59. package/dist/taskCluster.d.ts.map +0 -1
  60. package/dist/taskCluster.js +0 -180
  61. package/dist/taskCluster.js.map +0 -1
  62. package/dist/taskCluster.test.d.ts +0 -2
  63. package/dist/taskCluster.test.d.ts.map +0 -1
  64. package/dist/taskCluster.test.js +0 -375
  65. package/dist/taskCluster.test.js.map +0 -1
  66. package/dist/vitest.config.d.ts +0 -3
  67. package/dist/vitest.config.d.ts.map +0 -1
  68. package/dist/vitest.config.js +0 -8
  69. package/dist/vitest.config.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"doctorLite.js","sourceRoot":"","sources":["../doctorLite.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=doctorLite.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"doctorLite.test.d.ts","sourceRoot":"","sources":["../doctorLite.test.ts"],"names":[],"mappings":""}
@@ -1,268 +0,0 @@
1
- // venvkit/doctorLite.test.ts
2
- // Unit tests for doctorLite using injectable runner for deterministic testing
3
- import { describe, it, expect, vi } from "vitest";
4
- import { doctorLite } from "./doctorLite.js";
5
- // Helper to create RunResult
6
- function ok(stdout, stderr = "") {
7
- return { ok: true, exitCode: 0, stdout, stderr, timedOut: false };
8
- }
9
- function fail(exitCode, stderr, stdout = "") {
10
- return { ok: false, exitCode, stdout, stderr, timedOut: false };
11
- }
12
- function timeout() {
13
- return { ok: false, exitCode: null, stdout: "", stderr: "", timedOut: true };
14
- }
15
- // Common canned responses
16
- const FACTS_HEALTHY_VENV = JSON.stringify({
17
- version: "3.11.5 (main, Aug 24 2023)",
18
- version_info: [3, 11, 5, "final", 0],
19
- executable: "C:\\repo\\.venv\\Scripts\\python.exe",
20
- prefix: "C:\\repo\\.venv",
21
- base_prefix: "C:\\Python311",
22
- bits: 64,
23
- machine: "AMD64",
24
- os: "windows",
25
- py_path: ["C:\\repo\\.venv\\Scripts", "C:\\repo\\.venv\\Lib\\site-packages"],
26
- enable_user_site: false,
27
- user_site: "C:\\Users\\test\\AppData\\Roaming\\Python\\Python311\\site-packages",
28
- });
29
- const FACTS_BASE_PYTHON = JSON.stringify({
30
- version: "3.11.5 (main, Aug 24 2023)",
31
- version_info: [3, 11, 5, "final", 0],
32
- executable: "C:\\Python311\\python.exe",
33
- prefix: "C:\\Python311",
34
- base_prefix: "C:\\Python311", // same as prefix = not a venv
35
- bits: 64,
36
- machine: "AMD64",
37
- os: "windows",
38
- py_path: ["C:\\Python311\\Lib\\site-packages"],
39
- enable_user_site: true,
40
- user_site: "C:\\Users\\test\\AppData\\Roaming\\Python\\Python311\\site-packages",
41
- });
42
- const FACTS_32BIT = JSON.stringify({
43
- version: "3.11.5 (main, Aug 24 2023)",
44
- version_info: [3, 11, 5, "final", 0],
45
- executable: "C:\\Python311-32\\python.exe",
46
- prefix: "C:\\Python311-32",
47
- base_prefix: "C:\\Python311-32",
48
- bits: 32,
49
- machine: "x86",
50
- os: "windows",
51
- py_path: [],
52
- enable_user_site: false,
53
- user_site: "",
54
- });
55
- const PIP_VERSION_OK = "pip 23.2.1 from C:\\repo\\.venv\\Lib\\site-packages\\pip (python 3.11)";
56
- const PIP_VERSION_MISMATCH = "pip 23.2.1 from C:\\repo\\.venv\\Lib\\site-packages\\pip (python 3.10)";
57
- const IMPORTS_ALL_OK = JSON.stringify({
58
- imports: [
59
- { module: "ssl", ok: true },
60
- { module: "ctypes", ok: true },
61
- { module: "sqlite3", ok: true },
62
- ],
63
- });
64
- const IMPORTS_SSL_FAIL = JSON.stringify({
65
- imports: [
66
- { module: "ssl", ok: false, err: "ImportError('DLL load failed')", tb: "..." },
67
- { module: "ctypes", ok: true },
68
- { module: "sqlite3", ok: true },
69
- ],
70
- });
71
- const IMPORTS_DLL_FAIL = JSON.stringify({
72
- imports: [
73
- { module: "ssl", ok: true },
74
- { module: "ctypes", ok: true },
75
- { module: "sqlite3", ok: true },
76
- { module: "torch", ok: false, err: "OSError('DLL load failed while importing torch')", tb: "..." },
77
- ],
78
- });
79
- const IMPORTS_ABI_MISMATCH = JSON.stringify({
80
- imports: [
81
- { module: "ssl", ok: true },
82
- { module: "ctypes", ok: true },
83
- { module: "sqlite3", ok: true },
84
- {
85
- module: "numpy",
86
- ok: false,
87
- err: "ImportError('mach-o file, but is an incompatible architecture')",
88
- tb: "...",
89
- },
90
- ],
91
- });
92
- // Helper to create a mock runner with specific responses
93
- function createMockRunner(overrides) {
94
- return vi.fn(async (cmd, args) => {
95
- const arg = args.join(" ");
96
- // Order matters - more specific checks first
97
- if (arg.includes("print('ok')"))
98
- return ok("ok\n");
99
- // pip --version
100
- if (arg.includes("-m pip --version") || (arg.includes("pip") && arg.includes("--version"))) {
101
- return overrides.pip ?? ok(PIP_VERSION_OK);
102
- }
103
- // pip check (strict mode)
104
- if (arg.includes("-m pip check") || (arg.includes("pip") && arg.includes("check"))) {
105
- return overrides.pipCheck ?? ok("");
106
- }
107
- // Import probe - check for importlib import
108
- if (arg.includes("importlib.import_module")) {
109
- return ok(overrides.imports ?? IMPORTS_ALL_OK);
110
- }
111
- // HTTPS probe - check for urllib
112
- if (arg.includes("urllib.request.urlopen")) {
113
- return ok(overrides.https ?? JSON.stringify({ ok: true, status: 200 }));
114
- }
115
- // Multi-version scan - check for importlib.metadata
116
- if (arg.includes("importlib.metadata") || arg.includes("md.distributions")) {
117
- return ok(overrides.multiVersion ?? JSON.stringify({ multi: {}, sys_path_top: [] }));
118
- }
119
- // Facts - this is the fallback for json.dumps (sys, platform, site)
120
- if (arg.includes("sys.version") || arg.includes("platform.machine")) {
121
- return ok(overrides.facts ?? FACTS_HEALTHY_VENV);
122
- }
123
- return fail(1, "unknown command: " + arg);
124
- });
125
- }
126
- describe("doctorLite", () => {
127
- describe("healthy environment", () => {
128
- it("returns good status for healthy venv (subprocess checks only)", async () => {
129
- // Note: This test uses a fake venv path, so pyvenv.cfg validation will fail.
130
- // We use a base python config (NOT_A_VENV) to skip pyvenv.cfg validation.
131
- // For full integration testing with real venvs, use a real path.
132
- const runner = createMockRunner({ facts: FACTS_BASE_PYTHON });
133
- const report = await doctorLite({ pythonPath: "C:\\Python311\\python.exe" }, runner);
134
- // Base python gets NOT_A_VENV (info, penalty 10) + USER_SITE_ENABLED (warn, penalty 10)
135
- // Score: 100 - 10 - 10 = 80, which is "warn" status
136
- expect(report.findings.filter((f) => f.severity === "bad")).toHaveLength(0);
137
- expect(report.score).toBeGreaterThanOrEqual(70);
138
- });
139
- it("healthy venv subprocess checks pass (ignoring pyvenv.cfg)", async () => {
140
- const runner = createMockRunner({});
141
- const report = await doctorLite({ pythonPath: "C:\\repo\\.venv\\Scripts\\python.exe" }, runner);
142
- // Since the venv path doesn't exist, pyvenv.cfg validation fails (penalty 25).
143
- // But all subprocess-based checks pass - no bad findings from subprocess probes.
144
- const subprocessFindings = report.findings.filter((f) => f.code !== "PYVENV_CFG_INVALID");
145
- expect(subprocessFindings.filter((f) => f.severity === "bad")).toHaveLength(0);
146
- expect(subprocessFindings.filter((f) => f.severity === "warn")).toHaveLength(0);
147
- });
148
- });
149
- describe("python execution failures", () => {
150
- it("detects missing python executable", async () => {
151
- const runner = vi.fn(async () => fail(1, "spawn ENOENT"));
152
- const report = await doctorLite({ pythonPath: "/nonexistent/python" }, runner);
153
- expect(report.status).toBe("bad");
154
- expect(report.score).toBe(0);
155
- expect(report.findings.some((f) => f.code === "PYTHON_EXEC_MISSING")).toBe(true);
156
- });
157
- it("detects timeout", async () => {
158
- const runner = vi.fn(async () => timeout());
159
- const report = await doctorLite({ pythonPath: "/slow/python" }, runner);
160
- expect(report.status).toBe("bad");
161
- expect(report.findings.some((f) => f.code === "PYTHON_EXEC_MISSING")).toBe(true);
162
- expect(report.findings[0]?.evidence?.timedOut).toBe(true);
163
- });
164
- });
165
- describe("venv detection", () => {
166
- it("detects non-venv interpreter", async () => {
167
- const runner = createMockRunner({ facts: FACTS_BASE_PYTHON });
168
- const report = await doctorLite({ pythonPath: "C:\\Python311\\python.exe" }, runner);
169
- expect(report.findings.some((f) => f.code === "NOT_A_VENV")).toBe(true);
170
- // NOT_A_VENV is info severity, so status might still be good
171
- expect(report.findings.find((f) => f.code === "NOT_A_VENV")?.severity).toBe("info");
172
- });
173
- });
174
- describe("architecture checks", () => {
175
- it("detects arch mismatch when 64-bit required but 32-bit found", async () => {
176
- const runner = createMockRunner({ facts: FACTS_32BIT });
177
- const report = await doctorLite({ pythonPath: "C:\\Python311-32\\python.exe", requireX64: true }, runner);
178
- expect(report.status).toBe("bad");
179
- expect(report.score).toBeLessThanOrEqual(15); // clamped for ARCH_MISMATCH
180
- expect(report.findings.some((f) => f.code === "ARCH_MISMATCH")).toBe(true);
181
- });
182
- it("does not flag arch when requireX64 is false", async () => {
183
- const runner = createMockRunner({ facts: FACTS_32BIT });
184
- const report = await doctorLite({ pythonPath: "C:\\Python311-32\\python.exe", requireX64: false }, runner);
185
- expect(report.findings.some((f) => f.code === "ARCH_MISMATCH")).toBe(false);
186
- });
187
- });
188
- describe("pip checks", () => {
189
- it("detects pip missing", async () => {
190
- const runner = createMockRunner({ pip: fail(1, "No module named pip") });
191
- const report = await doctorLite({ pythonPath: "C:\\repo\\.venv\\Scripts\\python.exe" }, runner);
192
- expect(report.findings.some((f) => f.code === "PIP_MISSING")).toBe(true);
193
- });
194
- it("detects pip version mismatch", async () => {
195
- const runner = createMockRunner({ pip: ok(PIP_VERSION_MISMATCH) });
196
- const report = await doctorLite({ pythonPath: "C:\\repo\\.venv\\Scripts\\python.exe" }, runner);
197
- expect(report.findings.some((f) => f.code === "PIP_POINTS_TO_OTHER_PYTHON")).toBe(true);
198
- });
199
- });
200
- describe("import failures", () => {
201
- it("detects SSL broken", async () => {
202
- const runner = createMockRunner({ imports: IMPORTS_SSL_FAIL });
203
- const report = await doctorLite({ pythonPath: "C:\\repo\\.venv\\Scripts\\python.exe" }, runner);
204
- expect(report.findings.some((f) => f.code === "SSL_BROKEN")).toBe(true);
205
- });
206
- it("detects DLL load failure", async () => {
207
- const runner = createMockRunner({ imports: IMPORTS_DLL_FAIL });
208
- const report = await doctorLite({ pythonPath: "C:\\repo\\.venv\\Scripts\\python.exe", requiredModules: ["torch"] }, runner);
209
- expect(report.status).toBe("bad");
210
- expect(report.score).toBeLessThanOrEqual(25); // clamped for DLL_LOAD_FAIL
211
- expect(report.findings.some((f) => f.code === "DLL_LOAD_FAIL")).toBe(true);
212
- });
213
- it("detects ABI mismatch (macOS ARM)", async () => {
214
- const runner = createMockRunner({ imports: IMPORTS_ABI_MISMATCH });
215
- const report = await doctorLite({ pythonPath: "C:\\repo\\.venv\\Scripts\\python.exe", requiredModules: ["numpy"] }, runner);
216
- expect(report.status).toBe("bad");
217
- expect(report.score).toBeLessThanOrEqual(25); // clamped for ABI_MISMATCH
218
- expect(report.findings.some((f) => f.code === "ABI_MISMATCH")).toBe(true);
219
- });
220
- });
221
- describe("HTTPS probe", () => {
222
- it("detects cert verification failure", async () => {
223
- const runner = createMockRunner({
224
- https: JSON.stringify({
225
- ok: false,
226
- err: "SSLError('certificate_verify_failed')",
227
- tb: "...",
228
- }),
229
- });
230
- const report = await doctorLite({ pythonPath: "C:\\repo\\.venv\\Scripts\\python.exe", httpsProbe: true }, runner);
231
- expect(report.findings.some((f) => f.code === "CERT_STORE_FAIL")).toBe(true);
232
- const finding = report.findings.find((f) => f.code === "CERT_STORE_FAIL");
233
- expect(finding?.evidence?.certish).toBe(true);
234
- });
235
- it("detects network failure (non-cert)", async () => {
236
- const runner = createMockRunner({
237
- https: JSON.stringify({
238
- ok: false,
239
- err: "URLError('getaddrinfo failed')",
240
- tb: "...",
241
- }),
242
- });
243
- const report = await doctorLite({ pythonPath: "C:\\repo\\.venv\\Scripts\\python.exe", httpsProbe: true }, runner);
244
- expect(report.findings.some((f) => f.code === "CERT_STORE_FAIL")).toBe(true);
245
- const finding = report.findings.find((f) => f.code === "CERT_STORE_FAIL");
246
- expect(finding?.evidence?.certish).toBe(false);
247
- expect(finding?.why).toContain("Network/TLS");
248
- });
249
- });
250
- describe("scoring", () => {
251
- it("clamps score for hard failures", async () => {
252
- const runner = createMockRunner({ facts: FACTS_32BIT });
253
- const report = await doctorLite({ pythonPath: "C:\\Python311-32\\python.exe", requireX64: true }, runner);
254
- // ARCH_MISMATCH penalty is 80, but score is clamped to max 15
255
- expect(report.score).toBeLessThanOrEqual(15);
256
- });
257
- it("accumulates penalties correctly", async () => {
258
- const runner = createMockRunner({
259
- facts: FACTS_BASE_PYTHON, // NOT_A_VENV (10) + USER_SITE_ENABLED (10)
260
- pip: fail(1, "missing"), // PIP_MISSING (25)
261
- });
262
- const report = await doctorLite({ pythonPath: "C:\\Python311\\python.exe" }, runner);
263
- // 100 - 10 (NOT_A_VENV) - 10 (USER_SITE_ENABLED) - 25 (PIP_MISSING) = 55
264
- expect(report.score).toBe(55);
265
- });
266
- });
267
- });
268
- //# sourceMappingURL=doctorLite.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"doctorLite.test.js","sourceRoot":"","sources":["../doctorLite.test.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts DELETED
@@ -1,6 +0,0 @@
1
- export * from "./doctorLite.js";
2
- export * from "./mapRender.js";
3
- export * from "./scanEnvPaths.js";
4
- export * from "./runLog.js";
5
- export * from "./taskCluster.js";
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC"}
package/dist/index.js DELETED
@@ -1,6 +0,0 @@
1
- export * from "./doctorLite.js";
2
- export * from "./mapRender.js";
3
- export * from "./scanEnvPaths.js";
4
- export * from "./runLog.js";
5
- export * from "./taskCluster.js";
6
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=integration.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"integration.test.d.ts","sourceRoot":"","sources":["../integration.test.ts"],"names":[],"mappings":""}
@@ -1,245 +0,0 @@
1
- // integration.test.ts
2
- // End-to-end integration tests for venvkit workflow
3
- import { describe, it, expect, beforeEach, afterEach } from "vitest";
4
- import * as fs from "node:fs/promises";
5
- import * as path from "node:path";
6
- import * as os from "node:os";
7
- import { scanEnvPaths } from "./scanEnvPaths.js";
8
- import { mapRender } from "./mapRender.js";
9
- import { appendRunLog, readRunLog, summarizeRuns } from "./runLog.js";
10
- import { clusterRuns, summarizeClusters } from "./taskCluster.js";
11
- describe("integration", () => {
12
- let tempDir;
13
- beforeEach(async () => {
14
- tempDir = await fs.mkdtemp(path.join(os.tmpdir(), "venvkit-integration-"));
15
- });
16
- afterEach(async () => {
17
- await fs.rm(tempDir, { recursive: true, force: true });
18
- });
19
- // Helper to create a mock venv structure
20
- async function createMockVenv(venvPath) {
21
- await fs.mkdir(venvPath, { recursive: true });
22
- await fs.writeFile(path.join(venvPath, "pyvenv.cfg"), "home = C:\\Python311\nversion = 3.11.5\n");
23
- const binDir = os.platform() === "win32" ? "Scripts" : "bin";
24
- const pyExe = os.platform() === "win32" ? "python.exe" : "python";
25
- await fs.mkdir(path.join(venvPath, binDir), { recursive: true });
26
- await fs.writeFile(path.join(venvPath, binDir, pyExe), "fake python");
27
- return path.join(venvPath, binDir, pyExe);
28
- }
29
- // Helper to create mock doctor report
30
- function makeReport(pythonPath, opts = {}) {
31
- return {
32
- pythonPath,
33
- ranAt: new Date().toISOString(),
34
- status: opts.status ?? "good",
35
- score: opts.score ?? 100,
36
- summary: "Test report",
37
- facts: {
38
- version: "3.11.5 (main)",
39
- version_info: [3, 11, 5],
40
- executable: pythonPath,
41
- prefix: pythonPath.replace(/[/\\](Scripts|bin)[/\\]python(\.exe)?$/, ""),
42
- base_prefix: opts.basePrefix ?? "C:\\Python311",
43
- bits: 64,
44
- machine: "AMD64",
45
- os: "windows",
46
- py_path: [],
47
- enable_user_site: false,
48
- user_site: "",
49
- },
50
- findings: opts.findings ?? [],
51
- };
52
- }
53
- // Helper to create run event
54
- function makeRunEvent(overrides = {}) {
55
- return {
56
- version: "1.0",
57
- runId: `run_${Math.random().toString(36).slice(2, 10)}`,
58
- at: overrides.at ?? new Date().toISOString(),
59
- cwd: tempDir,
60
- task: overrides.task ?? {
61
- name: overrides.taskName ?? "pytest",
62
- command: "pytest tests/",
63
- args: ["tests/"],
64
- requirements: {
65
- packages: ["pytest"],
66
- tags: ["test"],
67
- },
68
- },
69
- selected: overrides.selected ?? {
70
- pythonPath: overrides.pythonPath ?? "C:\\repo\\.venv\\Scripts\\python.exe",
71
- score: 95,
72
- status: "good",
73
- },
74
- outcome: overrides.outcome ?? {
75
- ok: overrides.ok ?? true,
76
- exitCode: overrides.ok === false ? 1 : 0,
77
- durationMs: 1500,
78
- errorClass: overrides.ok === false ? (overrides.errorClass ?? "RUNTIME_ERROR") : undefined,
79
- },
80
- doctor: overrides.doctor,
81
- };
82
- }
83
- describe("scan and doctor workflow", () => {
84
- it("scans for venvs and creates doctor reports", async () => {
85
- // Step 1: Create venvs
86
- const py1 = await createMockVenv(path.join(tempDir, "project1", ".venv"));
87
- const py2 = await createMockVenv(path.join(tempDir, "project2", ".venv"));
88
- // Step 2: Scan for venvs
89
- const scanResult = await scanEnvPaths({
90
- roots: [tempDir],
91
- maxDepth: 3,
92
- includeUserHomeCache: false,
93
- });
94
- // Should find our mock venvs
95
- expect(scanResult.meta.foundVenvs).toBeGreaterThanOrEqual(2);
96
- // Step 3: Create mock doctor reports (in real usage, would run doctorLite)
97
- const reports = [
98
- makeReport(py1, { status: "good", score: 100 }),
99
- makeReport(py2, { status: "warn", score: 70 }),
100
- ];
101
- // Step 4: Render graph
102
- const renderResult = mapRender(reports, [], { format: "both" });
103
- expect(renderResult.graph.summary.envCount).toBe(2);
104
- expect(renderResult.graph.summary.healthy).toBe(1);
105
- expect(renderResult.graph.summary.warning).toBe(1);
106
- expect(renderResult.mermaid).toContain("graph TD");
107
- });
108
- });
109
- describe("task clustering workflow", () => {
110
- it("logs tasks, clusters them, and generates insights", async () => {
111
- const logPath = path.join(tempDir, "runs.jsonl");
112
- // Step 1: Log multiple task runs
113
- const events = [
114
- makeRunEvent({ taskName: "pytest", ok: true }),
115
- makeRunEvent({ taskName: "pytest", ok: true }),
116
- makeRunEvent({ taskName: "pytest", ok: false, errorClass: "IMPORT_ERROR" }),
117
- makeRunEvent({ taskName: "lint", ok: true }),
118
- makeRunEvent({ taskName: "lint", ok: true }),
119
- makeRunEvent({ taskName: "build", ok: false, errorClass: "SSL_BROKEN" }),
120
- ];
121
- for (const evt of events) {
122
- await appendRunLog(logPath, evt);
123
- }
124
- // Step 2: Read run log
125
- const runs = await readRunLog(logPath);
126
- expect(runs).toHaveLength(6);
127
- // Step 3: Cluster runs
128
- const clusters = clusterRuns(runs);
129
- expect(clusters.length).toBe(3); // pytest, lint, build
130
- const pytestCluster = clusters.find((c) => c.sig.name === "pytest");
131
- expect(pytestCluster?.runs).toBe(3);
132
- expect(pytestCluster?.ok).toBe(2);
133
- expect(pytestCluster?.fail).toBe(1);
134
- // Step 4: Get summary
135
- const summary = summarizeClusters(clusters);
136
- expect(summary.totalTasks).toBe(3);
137
- expect(summary.totalRuns).toBe(6);
138
- expect(summary.totalOk).toBe(4);
139
- expect(summary.totalFail).toBe(2);
140
- });
141
- });
142
- describe("full graph rendering workflow", () => {
143
- it("combines doctor reports and task runs into unified graph", async () => {
144
- const logPath = path.join(tempDir, "runs.jsonl");
145
- // Step 1: Create mock envs and doctor reports
146
- const py1 = "C:\\project1\\.venv\\Scripts\\python.exe";
147
- const py2 = "C:\\project2\\.venv\\Scripts\\python.exe";
148
- const reports = [
149
- makeReport(py1, { status: "good", score: 95, basePrefix: "C:\\Python311" }),
150
- makeReport(py2, { status: "bad", score: 30, basePrefix: "C:\\Python311", findings: [
151
- { code: "SSL_BROKEN", severity: "bad", penalty: 40, what: "ssl", why: "why", fix: [] },
152
- ] }),
153
- ];
154
- // Step 2: Log task runs against these envs
155
- const events = [
156
- makeRunEvent({ taskName: "pytest", pythonPath: py1, ok: true }),
157
- makeRunEvent({ taskName: "pytest", pythonPath: py1, ok: true }),
158
- makeRunEvent({ taskName: "pytest", pythonPath: py2, ok: false, errorClass: "SSL_BROKEN" }),
159
- makeRunEvent({ taskName: "pytest", pythonPath: py2, ok: false, errorClass: "SSL_BROKEN" }),
160
- ];
161
- for (const evt of events) {
162
- await appendRunLog(logPath, evt);
163
- }
164
- const runs = await readRunLog(logPath);
165
- // Step 3: Render combined graph
166
- const result = mapRender(reports, runs, {
167
- format: "both",
168
- taskMode: "clustered",
169
- includeHotEdgeLabels: true,
170
- });
171
- // Verify graph structure
172
- expect(result.graph.summary.envCount).toBe(2);
173
- expect(result.graph.summary.taskCount).toBe(1); // 1 clustered pytest task
174
- // Verify insights
175
- expect(result.insights.length).toBeGreaterThan(0);
176
- // Verify mermaid output
177
- expect(result.mermaid).toContain("graph TD");
178
- expect(result.mermaid).toContain("pytest");
179
- });
180
- });
181
- describe("workflow with logging", () => {
182
- it("tracks task execution lifecycle through logging", async () => {
183
- const logPath = path.join(tempDir, "lifecycle.jsonl");
184
- // Simulate a development session with multiple task runs
185
- // Session 1: Initial development
186
- const session1Events = [
187
- makeRunEvent({ taskName: "lint", ok: true, at: "2024-01-01T10:00:00Z" }),
188
- makeRunEvent({ taskName: "test", ok: true, at: "2024-01-01T10:01:00Z" }),
189
- makeRunEvent({ taskName: "build", ok: true, at: "2024-01-01T10:02:00Z" }),
190
- ];
191
- for (const evt of session1Events) {
192
- await appendRunLog(logPath, evt);
193
- }
194
- // Session 2: Bug introduced
195
- const session2Events = [
196
- makeRunEvent({ taskName: "lint", ok: true, at: "2024-01-02T10:00:00Z" }),
197
- makeRunEvent({ taskName: "test", ok: false, errorClass: "RUNTIME_ERROR", at: "2024-01-02T10:01:00Z" }),
198
- makeRunEvent({ taskName: "build", ok: false, errorClass: "BUILD_FAIL", at: "2024-01-02T10:02:00Z" }),
199
- ];
200
- for (const evt of session2Events) {
201
- await appendRunLog(logPath, evt);
202
- }
203
- // Read all logs
204
- const runs = await readRunLog(logPath);
205
- expect(runs).toHaveLength(6);
206
- // Summarize
207
- const summary = summarizeRuns(runs);
208
- expect(summary.total).toBe(6);
209
- expect(summary.passed).toBe(4);
210
- expect(summary.failed).toBe(2);
211
- // Task-level summary
212
- expect(summary.byTask.get("lint")).toEqual({ passed: 2, failed: 0 });
213
- expect(summary.byTask.get("test")).toEqual({ passed: 1, failed: 1 });
214
- expect(summary.byTask.get("build")).toEqual({ passed: 1, failed: 1 });
215
- });
216
- });
217
- describe("CLI integration", () => {
218
- it("produces all expected output files", async () => {
219
- // This test verifies the expected output structure from CLI
220
- // without actually running the CLI (which would require real Python envs)
221
- const outDir = path.join(tempDir, "output");
222
- await fs.mkdir(outDir, { recursive: true });
223
- // Create mock outputs as CLI would
224
- const reports = [makeReport("C:\\project\\.venv\\Scripts\\python.exe")];
225
- const result = mapRender(reports, [], { format: "both" });
226
- // Write outputs as CLI would
227
- await fs.writeFile(path.join(outDir, "venv-map.json"), JSON.stringify(result.graph, null, 2));
228
- await fs.writeFile(path.join(outDir, "venv-map.mmd"), result.mermaid ?? "");
229
- await fs.writeFile(path.join(outDir, "reports.json"), JSON.stringify(reports, null, 2));
230
- await fs.writeFile(path.join(outDir, "insights.json"), JSON.stringify(result.insights, null, 2));
231
- // Verify all files exist
232
- const files = await fs.readdir(outDir);
233
- expect(files).toContain("venv-map.json");
234
- expect(files).toContain("venv-map.mmd");
235
- expect(files).toContain("reports.json");
236
- expect(files).toContain("insights.json");
237
- // Verify JSON is valid
238
- const graphJson = JSON.parse(await fs.readFile(path.join(outDir, "venv-map.json"), "utf8"));
239
- expect(graphJson.summary).toBeDefined();
240
- expect(graphJson.nodes).toBeDefined();
241
- expect(graphJson.edges).toBeDefined();
242
- });
243
- });
244
- });
245
- //# sourceMappingURL=integration.test.js.map