flakelab 0.1.2 → 0.1.4

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.
@@ -3,13 +3,15 @@ import { isAbsolute, relative, resolve, sep } from "node:path";
3
3
  import { portableProjectPath } from "../artifacts/paths.js";
4
4
  import { nextDiagnosisPhase, readDiagnosisCheckpoint, } from "../diagnosis/checkpoint.js";
5
5
  import { addDiagnosisUsage, analysisObservation, createDiagnosisContext, emptyObservation, emptyPaths, restoreDiagnosisContext, saveDiagnosis, scanObservation, } from "../diagnosis/run-state.js";
6
- import { requestSolariProof } from "../diagnosis/solari-handoff.js";
6
+ import { buildDiscoveryBudget, requestSolariProof, } from "../diagnosis/solari-handoff.js";
7
7
  import { formatDiagnosisSummary } from "../diagnosis/summary.js";
8
+ import { discoverRepairSourceCandidates } from "../investigator/safe-source.js";
8
9
  import { redactText } from "../report/redaction.js";
9
10
  import { formatProviderBoundary } from "../ui/boundary.js";
10
11
  import { writeStderr, writeStdout } from "../ui/console.js";
11
12
  import { formatCount } from "../ui/format.js";
12
13
  import { stderrTheme, stdoutTheme } from "../ui/theme.js";
14
+ import { integerOption, positiveNumberOption, } from "./options.js";
13
15
  function shouldRunScan(target, report, wantsDiscovery) {
14
16
  if (!target) {
15
17
  return false;
@@ -296,17 +298,33 @@ async function continueDiagnosis(context) {
296
298
  }
297
299
  writeStdout(formatDiagnosisSummary(context.checkpoint, portableArtifactPath, stdoutTheme()));
298
300
  }
299
- async function offerSolariProof(target, values) {
301
+ function discoveryBudget(context) {
302
+ const { checkpoint, values } = context;
303
+ return buildDiscoveryBudget({
304
+ concurrency: integerOption(values.concurrency, "concurrency"),
305
+ configuredSeconds: positiveNumberOption(values["max-seconds"], "max-seconds"),
306
+ elapsedMilliseconds: checkpoint.observation.elapsedMilliseconds,
307
+ observedRuns: integerOption(values.runs, "runs"),
308
+ plannedTrials: checkpoint.recommendation.plannedTrials,
309
+ });
310
+ }
311
+ async function offerSolariProof(context) {
312
+ const { target, values } = context;
313
+ if (!target) {
314
+ return;
315
+ }
300
316
  if (values.repair) {
301
317
  return;
302
318
  }
303
- const sources = await requestSolariProof(target, values.source);
304
- if (!sources) {
319
+ const request = await requestSolariProof(values.source, discoveryBudget(context), {
320
+ discoverSources: async () => discoverRepairSourceCandidates(context.projectRoot, target),
321
+ });
322
+ if (!request) {
305
323
  return;
306
324
  }
307
325
  const { parseProveArguments } = await import("../proof/cli.js");
308
- const args = [target];
309
- for (const source of sources) {
326
+ const args = [target, "--max-seconds", String(request.maxSeconds)];
327
+ for (const source of request.sources) {
310
328
  args.push("--source", source);
311
329
  }
312
330
  if (values.open) {
@@ -344,9 +362,7 @@ export async function diagnose(target, values) {
344
362
  throw error;
345
363
  }
346
364
  await continueDiagnosis(context);
347
- if (target) {
348
- await offerSolariProof(target, values);
349
- }
365
+ await offerSolariProof(context);
350
366
  }
351
367
  export async function resumeDiagnosis(path) {
352
368
  const projectRoot = process.cwd();
@@ -1 +1 @@
1
- {"version":3,"file":"diagnose.js","sourceRoot":"","sources":["../../src/commands/diagnose.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnose.js","sourceRoot":"","sources":["../../src/commands/diagnose.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,28 @@
1
- type AskQuestion = (question: string) => Promise<string>;
1
+ type AskQuestion = (question: string, completions?: string[]) => Promise<string>;
2
+ type DiscoverSources = () => Promise<string[]>;
2
3
  interface SolariHandoffOptions {
3
4
  ask?: AskQuestion;
5
+ discoverSources?: DiscoverSources;
4
6
  environment?: NodeJS.ProcessEnv;
5
7
  inputIsTTY?: boolean;
6
8
  outputIsTTY?: boolean;
7
9
  }
8
- export declare function requestSolariProof(target: string, approvedSources: string[], options?: SolariHandoffOptions): Promise<string[] | null>;
10
+ export interface DiscoveryBudget {
11
+ configuredSeconds: number;
12
+ estimatedSeconds: number;
13
+ recommendedSeconds: number;
14
+ }
15
+ export interface SolariProofRequest {
16
+ maxSeconds: number;
17
+ sources: string[];
18
+ }
19
+ interface DiscoveryBudgetInput {
20
+ concurrency: number;
21
+ configuredSeconds: number;
22
+ elapsedMilliseconds: number;
23
+ observedRuns: number;
24
+ plannedTrials: number;
25
+ }
26
+ export declare function buildDiscoveryBudget(input: DiscoveryBudgetInput): DiscoveryBudget;
27
+ export declare function requestSolariProof(approvedSources: string[], budget: DiscoveryBudget, options?: SolariHandoffOptions): Promise<SolariProofRequest | null>;
9
28
  export {};
@@ -1,13 +1,32 @@
1
1
  import { createInterface } from "node:readline/promises";
2
+ import { formatSeconds } from "../ui/format.js";
2
3
  import { sanitizeLine } from "../ui/text.js";
4
+ export function buildDiscoveryBudget(input) {
5
+ const estimatedSeconds = Math.ceil(input.elapsedMilliseconds * input.plannedTrials
6
+ / input.observedRuns / input.concurrency / 1_000 / 60) * 60;
7
+ const recommendedSeconds = Math.ceil(estimatedSeconds * 1.2 / 60) * 60;
8
+ return {
9
+ configuredSeconds: input.configuredSeconds,
10
+ estimatedSeconds,
11
+ recommendedSeconds,
12
+ };
13
+ }
3
14
  function interactive(options) {
4
15
  const environment = options.environment ?? process.env;
5
16
  return (options.inputIsTTY ?? Boolean(process.stdin.isTTY))
6
17
  && (options.outputIsTTY ?? Boolean(process.stderr.isTTY))
7
18
  && !environment.CI;
8
19
  }
9
- async function askInTerminal(question) {
10
- const prompt = createInterface({ input: process.stdin, output: process.stderr });
20
+ async function askInTerminal(question, completions = []) {
21
+ const completer = (line) => {
22
+ const matches = completions.filter((candidate) => candidate.startsWith(line));
23
+ return [matches.length > 0 ? matches : completions, line];
24
+ };
25
+ const prompt = createInterface({
26
+ completer,
27
+ input: process.stdin,
28
+ output: process.stderr,
29
+ });
11
30
  try {
12
31
  return await prompt.question(question);
13
32
  }
@@ -19,7 +38,39 @@ function accepted(answer) {
19
38
  const normalized = answer.trim().toLowerCase();
20
39
  return normalized === "y" || normalized === "yes";
21
40
  }
22
- export async function requestSolariProof(target, approvedSources, options = {}) {
41
+ function acceptedByDefault(answer) {
42
+ return answer.trim() === "" || accepted(answer);
43
+ }
44
+ function candidateQuestion(candidates) {
45
+ const choices = candidates
46
+ .map((candidate, index) => ` ${index + 1}. ${sanitizeLine(candidate)}`)
47
+ .join("\n");
48
+ return `Suggested application sources:\n${choices}\n`
49
+ + "Select a number or type a path (Tab shows matches; Enter cancels): ";
50
+ }
51
+ function selectedSource(answer, candidates) {
52
+ const value = answer.trim();
53
+ if (!value) {
54
+ return null;
55
+ }
56
+ const selectedIndex = /^\d+$/u.test(value) ? Number(value) - 1 : -1;
57
+ return sanitizeLine(candidates[selectedIndex] ?? value);
58
+ }
59
+ async function requestApprovedSources(ask, discoverSources) {
60
+ const candidates = discoverSources ? await discoverSources() : [];
61
+ if (candidates.length === 1) {
62
+ const candidate = sanitizeLine(candidates[0]);
63
+ if (accepted(await ask(`Approve suggested application source ${candidate}? [y/N] `))) {
64
+ return [candidate];
65
+ }
66
+ }
67
+ const question = candidates.length > 0
68
+ ? candidateQuestion(candidates)
69
+ : "Application source to approve (type a path; Enter cancels): ";
70
+ const source = selectedSource(await ask(question, candidates), candidates);
71
+ return source ? [source] : null;
72
+ }
73
+ export async function requestSolariProof(approvedSources, budget, options = {}) {
23
74
  if (!interactive(options)) {
24
75
  return null;
25
76
  }
@@ -30,11 +81,23 @@ export async function requestSolariProof(target, approvedSources, options = {})
30
81
  if (!accepted(await ask("Use AI to investigate and generate the candidate? [y/N] "))) {
31
82
  return null;
32
83
  }
33
- if (approvedSources.length > 0) {
34
- return approvedSources;
84
+ let sources = approvedSources;
85
+ if (sources.length === 0) {
86
+ const selected = await requestApprovedSources(ask, options.discoverSources);
87
+ if (!selected) {
88
+ return null;
89
+ }
90
+ sources = selected;
91
+ }
92
+ let maxSeconds = budget.configuredSeconds;
93
+ if (budget.estimatedSeconds > budget.configuredSeconds) {
94
+ const question = `Discovery is estimated at ${formatSeconds(budget.estimatedSeconds)}, `
95
+ + `above the ${formatSeconds(budget.configuredSeconds)} limit. Raise it to `
96
+ + `${formatSeconds(budget.recommendedSeconds)}? [Y/n] `;
97
+ if (acceptedByDefault(await ask(question))) {
98
+ maxSeconds = budget.recommendedSeconds;
99
+ }
35
100
  }
36
- const safeTarget = sanitizeLine(target);
37
- const source = (await ask(`Source file to approve for candidate changes [${safeTarget}]: `)).trim();
38
- return [source || target];
101
+ return { maxSeconds, sources };
39
102
  }
40
103
  //# sourceMappingURL=solari-handoff.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"solari-handoff.js","sourceRoot":"","sources":["../../src/diagnosis/solari-handoff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAW5C,SAAS,WAAW,CAAC,OAA6B;IAChD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAA;IACtD,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;WACtD,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;WACtD,CAAC,WAAW,CAAC,EAAE,CAAA;AACtB,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,QAAgB;IAC3C,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAChF,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACxC,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,KAAK,EAAE,CAAA;IAChB,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,MAAc;IAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC9C,OAAO,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,KAAK,CAAA;AACnD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAc,EACd,eAAyB,EACzB,UAAgC,EAAE;IAElC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,aAAa,CAAA;IACxC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,6CAA6C,CAAC,CAAC,EAAE,CAAC;QACxE,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,0DAA0D,CAAC,CAAC,EAAE,CAAC;QACrF,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,eAAe,CAAA;IACxB,CAAC;IACD,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IACvC,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CACvB,iDAAiD,UAAU,KAAK,CACjE,CAAC,CAAC,IAAI,EAAE,CAAA;IACT,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,CAAA;AAC3B,CAAC"}
1
+ {"version":3,"file":"solari-handoff.js","sourceRoot":"","sources":["../../src/diagnosis/solari-handoff.ts"],"names":[],"mappings":"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"}
@@ -5,3 +5,4 @@ export interface SafeSource {
5
5
  export declare function readSafeTestSource(projectRoot: string, selector: string): Promise<SafeSource>;
6
6
  export declare function readSafeTestContext(projectRoot: string, selector: string): Promise<SafeSource[]>;
7
7
  export declare function readSafeRepairContext(projectRoot: string, selectedTest: string, approvedSourcePaths: string[]): Promise<SafeSource[]>;
8
+ export declare function discoverRepairSourceCandidates(projectRoot: string, selector: string): Promise<string[]>;
@@ -1,11 +1,13 @@
1
- import { readFile, stat } from "node:fs/promises";
1
+ import { readFile, readdir, stat } from "node:fs/promises";
2
2
  import { dirname, extname, relative, resolve } from "node:path";
3
3
  const MAX_SOURCE_BYTES = 64 * 1_024;
4
4
  const MAX_CONTEXT_FILES = 8;
5
5
  const MAX_APPROVED_SOURCE_FILES = MAX_CONTEXT_FILES - 1;
6
+ const MAX_DISCOVERY_TEST_FILES = 20;
6
7
  const ALLOWED_EXTENSIONS = new Set([".js", ".jsx", ".mjs", ".ts", ".tsx"]);
7
8
  const SECRET_ASSIGNMENT = /(?:api[_-]?key|authorization|password|secret|token)\s*[:=]\s*["'][^"']{8,}/iu;
8
9
  const LOCAL_IMPORT = /\bfrom\s+["'](\.[^"']+)["']/gu;
10
+ const TEST_FILE = /\.(?:spec|test)\.(?:js|jsx|mjs|ts|tsx)$/iu;
9
11
  function resolveSafeSource(projectRoot, selector) {
10
12
  const sourcePath = resolve(projectRoot, selector);
11
13
  const pathFromRoot = relative(projectRoot, sourcePath);
@@ -17,6 +19,14 @@ function resolveSafeSource(projectRoot, selector) {
17
19
  }
18
20
  return sourcePath;
19
21
  }
22
+ function resolveSafeProjectPath(projectRoot, selector) {
23
+ const selectedPath = resolve(projectRoot, selector);
24
+ const pathFromRoot = relative(projectRoot, selectedPath);
25
+ if (pathFromRoot.startsWith("..") || pathFromRoot.includes("node_modules")) {
26
+ throw new Error("Test selection must stay inside the project and outside dependencies");
27
+ }
28
+ return selectedPath;
29
+ }
20
30
  export async function readSafeTestSource(projectRoot, selector) {
21
31
  const sourcePath = resolveSafeSource(projectRoot, selector);
22
32
  const sourceStats = await stat(sourcePath);
@@ -85,4 +95,62 @@ export function readSafeRepairContext(projectRoot, selectedTest, approvedSourceP
85
95
  }
86
96
  return readSafeContext(projectRoot, [selectedTest, ...approvedSourcePaths]);
87
97
  }
98
+ function classifyDirectoryEntries(directory, entries) {
99
+ const contents = { directories: [], tests: [] };
100
+ for (const entry of entries) {
101
+ if (entry.name === "node_modules" || entry.name.startsWith(".")) {
102
+ continue;
103
+ }
104
+ const path = resolve(directory, entry.name);
105
+ if (entry.isDirectory()) {
106
+ contents.directories.push(path);
107
+ }
108
+ else if (entry.isFile() && TEST_FILE.test(entry.name)) {
109
+ contents.tests.push(path);
110
+ }
111
+ }
112
+ return contents;
113
+ }
114
+ async function directoryContents(directory) {
115
+ const entries = (await readdir(directory, { withFileTypes: true }))
116
+ .sort((left, right) => left.name.localeCompare(right.name));
117
+ return classifyDirectoryEntries(directory, entries);
118
+ }
119
+ async function testFilesUnder(directory) {
120
+ const pending = [directory];
121
+ const tests = [];
122
+ while (pending.length > 0 && tests.length < MAX_DISCOVERY_TEST_FILES) {
123
+ const current = pending.shift();
124
+ const contents = await directoryContents(current);
125
+ const available = MAX_DISCOVERY_TEST_FILES - tests.length;
126
+ pending.push(...contents.directories);
127
+ tests.push(...contents.tests.slice(0, available));
128
+ }
129
+ return tests;
130
+ }
131
+ async function selectedTestFiles(projectRoot, selector) {
132
+ const selectedPath = resolveSafeProjectPath(projectRoot, selector);
133
+ const details = await stat(selectedPath);
134
+ if (details.isFile()) {
135
+ return [resolveSafeSource(projectRoot, selectedPath)];
136
+ }
137
+ if (details.isDirectory()) {
138
+ return testFilesUnder(selectedPath);
139
+ }
140
+ return [];
141
+ }
142
+ export async function discoverRepairSourceCandidates(projectRoot, selector) {
143
+ const tests = await selectedTestFiles(projectRoot, selector);
144
+ const selectedTests = new Set(tests.map((path) => relative(projectRoot, path)));
145
+ const candidates = new Set();
146
+ for (const testPath of tests) {
147
+ const context = await readSafeContext(projectRoot, [testPath]);
148
+ for (const source of context) {
149
+ if (!selectedTests.has(source.path) && !TEST_FILE.test(source.path)) {
150
+ candidates.add(source.path.replaceAll("\\", "/"));
151
+ }
152
+ }
153
+ }
154
+ return [...candidates].sort((left, right) => left.localeCompare(right));
155
+ }
88
156
  //# sourceMappingURL=safe-source.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"safe-source.js","sourceRoot":"","sources":["../../src/investigator/safe-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"safe-source.js","sourceRoot":"","sources":["../../src/investigator/safe-source.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flakelab",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Find, reproduce, and prove fixes for flaky Playwright tests.",
5
5
  "type": "module",
6
6
  "license": "MIT",