codeloop-mcp-server 0.1.70 → 0.1.72
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/dist/auth/critical_floors.d.ts.map +1 -1
- package/dist/auth/critical_floors.js +8 -0
- package/dist/auth/critical_floors.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +36 -3
- package/dist/index.js.map +1 -1
- package/dist/runners/base.d.ts +3 -0
- package/dist/runners/base.d.ts.map +1 -1
- package/dist/runners/base.js +99 -6
- package/dist/runners/base.js.map +1 -1
- package/dist/runners/flutter.d.ts.map +1 -1
- package/dist/runners/flutter.js +10 -4
- package/dist/runners/flutter.js.map +1 -1
- package/dist/runners/flutter_cache.d.ts +4 -0
- package/dist/runners/flutter_cache.d.ts.map +1 -1
- package/dist/runners/flutter_cache.js +18 -1
- package/dist/runners/flutter_cache.js.map +1 -1
- package/dist/tools/verify.d.ts +67 -1
- package/dist/tools/verify.d.ts.map +1 -1
- package/dist/tools/verify.js +171 -5
- package/dist/tools/verify.js.map +1 -1
- package/package.json +1 -1
package/dist/runners/base.d.ts
CHANGED
|
@@ -15,6 +15,9 @@ export declare function checkToolAvailable(command: string): Promise<boolean>;
|
|
|
15
15
|
export declare function runCommand(cmd: string, args: string[], cwd: string, logPath?: string, extraEnv?: Record<string, string>, timeoutMs?: number, settle?: {
|
|
16
16
|
pattern: RegExp;
|
|
17
17
|
graceMs: number;
|
|
18
|
+
}, progressStall?: {
|
|
19
|
+
pattern: RegExp;
|
|
20
|
+
graceMs: number;
|
|
18
21
|
}): Promise<{
|
|
19
22
|
exit_code: number;
|
|
20
23
|
stdout: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/runners/base.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,YAAY,CAad;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQ1E;AA2CD,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAOjC,SAAS,CAAC,EAAE,MAAM,EAelB,MAAM,CAAC,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/runners/base.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,YAAY,CAad;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQ1E;AA2CD,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAOjC,SAAS,CAAC,EAAE,MAAM,EAelB,MAAM,CAAC,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAmB7C,aAAa,CAAC,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACnD,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAiXrF"}
|
package/dist/runners/base.js
CHANGED
|
@@ -91,7 +91,26 @@ timeoutMs,
|
|
|
91
91
|
// natural exit within the grace window is completely unaffected, so this
|
|
92
92
|
// never changes behaviour for well-behaved commands — it only rescues the
|
|
93
93
|
// leaked-resource hang.
|
|
94
|
-
settle
|
|
94
|
+
settle,
|
|
95
|
+
// Optional "progress-stall" watchdog for the case the `settle` watchdog CANNOT
|
|
96
|
+
// catch: a test suite that hangs PART-WAY THROUGH (before it ever prints its
|
|
97
|
+
// end-of-run marker) because ONE test isolate leaked an async resource and
|
|
98
|
+
// never exits — the rest of the suite can't advance. `settle` never arms (no
|
|
99
|
+
// marker) and the silence watchdog never trips either, because progress
|
|
100
|
+
// reporters (Flutter's compact reporter, mocha's spinner, …) keep RE-RENDERING
|
|
101
|
+
// a status line every second with an advancing elapsed clock — continuous
|
|
102
|
+
// output, zero real progress. This is the exact WedCheese hang: the compact
|
|
103
|
+
// line froze at `+24 -5: …` while the clock ticked 00:16 → 05:54, so only the
|
|
104
|
+
// 6-min hard cap eventually freed it. `progressStall.pattern` must contain a
|
|
105
|
+
// capture group that yields the run's PROGRESS SIGNATURE with the volatile
|
|
106
|
+
// clock stripped (e.g. the `+P -F ~S: desc` portion). We track that signature
|
|
107
|
+
// across chunks: each time it CHANGES we (re)arm a grace timer; while it stays
|
|
108
|
+
// frozen the timer keeps counting, and if it isn't reset within `graceMs` we
|
|
109
|
+
// force-close the tree (exit 1 + a PARTIAL-results note). Once the `settle`
|
|
110
|
+
// marker appears the run is logically complete, so the stall watchdog disables
|
|
111
|
+
// itself and hands off to `settle` — this is why legitimate end-of-run work
|
|
112
|
+
// with frozen counts (e.g. `--coverage` writing lcov) is never killed.
|
|
113
|
+
progressStall) {
|
|
95
114
|
const start = Date.now();
|
|
96
115
|
return new Promise((resolve) => {
|
|
97
116
|
// ── Windows PowerShell -Command quoting fix ─────────────────────
|
|
@@ -180,7 +199,7 @@ settle) {
|
|
|
180
199
|
// the group the SIGKILL only reaps the `/bin/sh -c` wrapper and the leaked
|
|
181
200
|
// grandchild survives. The default (untimed, no-settle) behaviour is
|
|
182
201
|
// byte-for-byte unchanged.
|
|
183
|
-
const useProcessGroup = (!!(timeoutMs && timeoutMs > 0) || !!settle) && !isWindows;
|
|
202
|
+
const useProcessGroup = (!!(timeoutMs && timeoutMs > 0) || !!settle || !!progressStall) && !isWindows;
|
|
184
203
|
let child;
|
|
185
204
|
if (isWindows && anyMultilineArg) {
|
|
186
205
|
child = spawn(resolvedCmd, resolvedArgs, {
|
|
@@ -217,8 +236,10 @@ settle) {
|
|
|
217
236
|
let timedOut = false;
|
|
218
237
|
let settled = false;
|
|
219
238
|
let settledEarly = false;
|
|
239
|
+
let stalled = false;
|
|
220
240
|
let timer = null;
|
|
221
241
|
let settleTimer = null;
|
|
242
|
+
let stallTimer = null;
|
|
222
243
|
let forceResolveTimer = null;
|
|
223
244
|
// Kill the whole process tree, not just the direct child. On POSIX the
|
|
224
245
|
// child is a group leader (detached, see useProcessGroup) so a negative
|
|
@@ -272,6 +293,8 @@ settle) {
|
|
|
272
293
|
clearTimeout(timer);
|
|
273
294
|
if (settleTimer)
|
|
274
295
|
clearTimeout(settleTimer);
|
|
296
|
+
if (stallTimer)
|
|
297
|
+
clearTimeout(stallTimer);
|
|
275
298
|
if (forceResolveTimer)
|
|
276
299
|
clearTimeout(forceResolveTimer);
|
|
277
300
|
const duration_ms = Date.now() - start;
|
|
@@ -287,13 +310,26 @@ settle) {
|
|
|
287
310
|
// was printed) but the process had to be force-closed because it leaked
|
|
288
311
|
// an async resource. The buffered output holds the true pass/fail, so we
|
|
289
312
|
// resolve exit_code 0 (NOT 124 / 1) and let the caller parse it.
|
|
290
|
-
|
|
313
|
+
// stalled => the command hung MID-RUN (no completion marker ever printed)
|
|
314
|
+
// because one isolate leaked a resource; results are PARTIAL, so we resolve
|
|
315
|
+
// a non-zero exit (1) — the caller parses whatever progress was captured
|
|
316
|
+
// and the suite is correctly treated as not-passed.
|
|
317
|
+
const effectiveCode = stalled ? 1 : settledEarly ? 0 : timedOut ? 124 : code ?? 1;
|
|
291
318
|
const settleNote = `[runCommand] command reported completion but did not exit within ` +
|
|
292
319
|
`${settle?.graceMs}ms — force-closed. A leaked async resource (an ` +
|
|
293
320
|
`undisposed Timer/Timer.periodic, an unclosed StreamController, or a ` +
|
|
294
321
|
`Firebase/Firestore listener) was keeping the process alive after the ` +
|
|
295
322
|
`work finished. Dispose it (e.g. in tearDown()) so the process exits ` +
|
|
296
323
|
`on its own.`;
|
|
324
|
+
const stallNote = `[runCommand] test runner made no progress for ${progressStall?.graceMs}ms ` +
|
|
325
|
+
`— the reporter kept updating (its elapsed clock advanced) but the ` +
|
|
326
|
+
`pass/fail counts froze, so a test isolate hung MID-RUN and was ` +
|
|
327
|
+
`force-closed. A leaked async resource (an undisposed Timer/Timer.periodic, ` +
|
|
328
|
+
`an unclosed StreamController, or a Firebase/Firestore listener) kept that ` +
|
|
329
|
+
`isolate's event loop alive after its test body finished, blocking the ` +
|
|
330
|
+
`rest of the suite. Results are PARTIAL. Dispose the resource in ` +
|
|
331
|
+
`tearDown(), or re-run with skip_tests:true to proceed past it.`;
|
|
332
|
+
const note = stalled ? stallNote : settledEarly ? settleNote : null;
|
|
297
333
|
if (logPath) {
|
|
298
334
|
try {
|
|
299
335
|
mkdirSync(dirname(logPath), { recursive: true });
|
|
@@ -302,7 +338,7 @@ settle) {
|
|
|
302
338
|
`duration_ms: ${duration_ms}\n\n` +
|
|
303
339
|
`--- stdout ---\n${stdout}\n` +
|
|
304
340
|
`--- stderr ---\n${stderr}\n` +
|
|
305
|
-
(
|
|
341
|
+
(note ? `\n--- note ---\n${note}\n` : ""));
|
|
306
342
|
}
|
|
307
343
|
catch { /* best-effort */ }
|
|
308
344
|
}
|
|
@@ -311,8 +347,8 @@ settle) {
|
|
|
311
347
|
stdout,
|
|
312
348
|
stderr: timedOut
|
|
313
349
|
? `${stderr}\n[runCommand] timed out after ${timeoutMs}ms — SIGKILLed`
|
|
314
|
-
:
|
|
315
|
-
? `${stderr}\n${
|
|
350
|
+
: note
|
|
351
|
+
? `${stderr}\n${note}`
|
|
316
352
|
: stderr,
|
|
317
353
|
duration_ms,
|
|
318
354
|
});
|
|
@@ -362,6 +398,63 @@ settle) {
|
|
|
362
398
|
child.stdout.on("data", onSettleData);
|
|
363
399
|
child.stderr.on("data", onSettleData);
|
|
364
400
|
}
|
|
401
|
+
// Progress-stall watchdog — catches the hang `settle` CANNOT: a suite that
|
|
402
|
+
// freezes MID-RUN (before any end-of-run marker) while its reporter keeps
|
|
403
|
+
// re-rendering a status line (advancing clock = continuous output, so the
|
|
404
|
+
// silence watchdog never trips). We extract the run's PROGRESS SIGNATURE
|
|
405
|
+
// (capture group 1, clock stripped) from each chunk; while it stays frozen
|
|
406
|
+
// the armed grace timer runs down and force-closes the tree. Any change in
|
|
407
|
+
// the signature (a test passed/failed, a new test started) RESETS the grace,
|
|
408
|
+
// so a legitimately slow single test only delays — never falsely kills. Once
|
|
409
|
+
// the `settle` marker appears the run is logically done, so we disable this
|
|
410
|
+
// watchdog and let `settle` own the post-completion grace (lcov dumps etc.).
|
|
411
|
+
if (progressStall) {
|
|
412
|
+
const stallRe = new RegExp(progressStall.pattern.source, progressStall.pattern.flags.includes("g")
|
|
413
|
+
? progressStall.pattern.flags
|
|
414
|
+
: progressStall.pattern.flags + "g");
|
|
415
|
+
let lastSig = null;
|
|
416
|
+
let stallDisabled = false;
|
|
417
|
+
const armStall = () => {
|
|
418
|
+
if (settled || stallDisabled)
|
|
419
|
+
return;
|
|
420
|
+
if (stallTimer)
|
|
421
|
+
clearTimeout(stallTimer);
|
|
422
|
+
stallTimer = setTimeout(() => {
|
|
423
|
+
if (settled)
|
|
424
|
+
return;
|
|
425
|
+
stalled = true;
|
|
426
|
+
killTree();
|
|
427
|
+
forceResolveTimer = setTimeout(() => finish(null), 1500);
|
|
428
|
+
}, progressStall.graceMs);
|
|
429
|
+
};
|
|
430
|
+
const onStallData = (chunk) => {
|
|
431
|
+
if (settled || stallDisabled)
|
|
432
|
+
return;
|
|
433
|
+
const text = chunk.toString("utf-8");
|
|
434
|
+
// End-of-run marker seen → run is logically complete; stop watching for
|
|
435
|
+
// a stall so end-of-run work with frozen counts isn't force-closed.
|
|
436
|
+
if (settle && settle.pattern.test(text)) {
|
|
437
|
+
stallDisabled = true;
|
|
438
|
+
if (stallTimer)
|
|
439
|
+
clearTimeout(stallTimer);
|
|
440
|
+
return;
|
|
441
|
+
}
|
|
442
|
+
let mm;
|
|
443
|
+
let last = null;
|
|
444
|
+
stallRe.lastIndex = 0;
|
|
445
|
+
while ((mm = stallRe.exec(text)) !== null)
|
|
446
|
+
last = mm[1] ?? mm[0];
|
|
447
|
+
if (last === null)
|
|
448
|
+
return; // no progress token in this chunk — keep counting
|
|
449
|
+
if (last !== lastSig) {
|
|
450
|
+
lastSig = last; // progress advanced → reset the stall grace
|
|
451
|
+
armStall();
|
|
452
|
+
}
|
|
453
|
+
// unchanged signature → do NOT reset; the armed timer counts toward graceMs
|
|
454
|
+
};
|
|
455
|
+
child.stdout.on("data", onStallData);
|
|
456
|
+
child.stderr.on("data", onStallData);
|
|
457
|
+
}
|
|
365
458
|
timer =
|
|
366
459
|
timeoutMs && timeoutMs > 0
|
|
367
460
|
? setTimeout(() => {
|
package/dist/runners/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/runners/base.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/runners/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flutter.d.ts","sourceRoot":"","sources":["../../src/runners/flutter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"flutter.d.ts","sourceRoot":"","sources":["../../src/runners/flutter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AA2C9C,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,CAAC,CA2CvB;AAED,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,CAAC,CAuDvB;AAED,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,CAAC,CAsGvB"}
|
package/dist/runners/flutter.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { runCommand, checkToolAvailable, makeSkippedResult } from "./base.js";
|
|
2
|
-
import { runFlutterAnalyzeOnce, runFlutterTestCoverageOnce, FLUTTER_TEST_SETTLE } from "./flutter_cache.js";
|
|
2
|
+
import { runFlutterAnalyzeOnce, runFlutterTestCoverageOnce, FLUTTER_TEST_SETTLE, FLUTTER_TEST_STALL, } from "./flutter_cache.js";
|
|
3
3
|
import { existsSync } from "fs";
|
|
4
4
|
import { join } from "path";
|
|
5
5
|
// Wall-clock watchdogs for the Flutter verify commands. Before this, all
|
|
@@ -99,12 +99,17 @@ export async function runFlutterTest(cwd, logPath) {
|
|
|
99
99
|
};
|
|
100
100
|
}
|
|
101
101
|
const { passed, failed, skipped } = parseFlutterTestOutput(result.stdout + result.stderr);
|
|
102
|
+
// Mid-run stall (a leaked isolate froze the suite before it finished): the
|
|
103
|
+
// parsed counts are PARTIAL, so force at least one failure — the suite did
|
|
104
|
+
// NOT pass and the required_tests_pass gate must not green-light it even if
|
|
105
|
+
// the captured prefix happened to show zero failures so far.
|
|
106
|
+
const stalledMidRun = /made no progress for \d+ms/.test(result.stderr);
|
|
102
107
|
return {
|
|
103
108
|
runner_name: "flutter_test",
|
|
104
109
|
available: true,
|
|
105
110
|
exit_code: result.exit_code,
|
|
106
111
|
passed,
|
|
107
|
-
failed,
|
|
112
|
+
failed: stalledMidRun ? Math.max(failed, 1) : failed,
|
|
108
113
|
skipped,
|
|
109
114
|
log_path: logPath,
|
|
110
115
|
duration_ms: result.duration_ms,
|
|
@@ -160,7 +165,7 @@ export async function runFlutterIntegrationTest(cwd, logPath) {
|
|
|
160
165
|
};
|
|
161
166
|
}
|
|
162
167
|
const args = ["test", "integration_test/", "--reporter=compact"];
|
|
163
|
-
const result = await runCommand("flutter", args, cwd, logPath, NONINTERACTIVE_ENV, INTEGRATION_TIMEOUT_MS, FLUTTER_TEST_SETTLE);
|
|
168
|
+
const result = await runCommand("flutter", args, cwd, logPath, NONINTERACTIVE_ENV, INTEGRATION_TIMEOUT_MS, FLUTTER_TEST_SETTLE, FLUTTER_TEST_STALL);
|
|
164
169
|
if (result.exit_code === 124) {
|
|
165
170
|
const note = timeoutNote("flutter test integration_test/", INTEGRATION_TIMEOUT_MS);
|
|
166
171
|
return {
|
|
@@ -177,12 +182,13 @@ export async function runFlutterIntegrationTest(cwd, logPath) {
|
|
|
177
182
|
};
|
|
178
183
|
}
|
|
179
184
|
const { passed, failed, skipped } = parseFlutterTestOutput(result.stdout + result.stderr);
|
|
185
|
+
const stalledMidRun = /made no progress for \d+ms/.test(result.stderr);
|
|
180
186
|
return {
|
|
181
187
|
runner_name: "flutter_integration_test",
|
|
182
188
|
available: true,
|
|
183
189
|
exit_code: result.exit_code,
|
|
184
190
|
passed,
|
|
185
|
-
failed,
|
|
191
|
+
failed: stalledMidRun ? Math.max(failed, 1) : failed,
|
|
186
192
|
skipped,
|
|
187
193
|
log_path: logPath,
|
|
188
194
|
duration_ms: result.duration_ms,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flutter.js","sourceRoot":"","sources":["../../src/runners/flutter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9E,OAAO,
|
|
1
|
+
{"version":3,"file":"flutter.js","sourceRoot":"","sources":["../../src/runners/flutter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9E,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,yEAAyE;AACzE,4EAA4E;AAC5E,uEAAuE;AACvE,0EAA0E;AAC1E,4EAA4E;AAC5E,uEAAuE;AACvE,uEAAuE;AACvE,0EAA0E;AAC1E,yEAAyE;AACzE,MAAM,kBAAkB,GAAG,OAAO,CAAC,CAAC,QAAQ;AAC5C,MAAM,sBAAsB,GAAG,OAAO,CAAC,CAAC,QAAQ;AAEhD,8EAA8E;AAC9E,8EAA8E;AAC9E,6BAA6B;AAC7B,MAAM,kBAAkB,GAA2B,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;AAElE,SAAS,WAAW,CAAC,GAAW,EAAE,SAAiB;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;IAC5C,OAAO,CACL,gBAAgB,GAAG,uBAAuB,IAAI,8BAA8B;QAC5E,wEAAwE;QACxE,4EAA4E;QAC5E,2EAA2E;QAC3E,yEAAyE;QACzE,wEAAwE;QACxE,0EAA0E;QAC1E,4EAA4E;QAC5E,2EAA2E;QAC3E,YAAY,CACb,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAW,EACX,OAAe;IAEf,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QAC3C,OAAO,iBAAiB,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAC3C,OAAO,iBAAiB,CAAC,iBAAiB,EAAE,2BAA2B,CAAC,CAAC;IAC3E,CAAC;IAED,2EAA2E;IAC3E,uEAAuE;IACvE,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAEzD,IAAI,MAAM,CAAC,SAAS,KAAK,GAAG,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,WAAW,CAAC,kCAAkC,EAAE,kBAAkB,CAAC,CAAC;QACjF,OAAO;YACL,WAAW,EAAE,iBAAiB;YAC9B,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,GAAG;YACd,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,OAAO;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,GAAG,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE;SACpC,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAExE,OAAO;QACL,WAAW,EAAE,iBAAiB;QAC9B,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAW,EACX,OAAe;IAEf,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QAC3C,OAAO,iBAAiB,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAC3C,OAAO,iBAAiB,CAAC,cAAc,EAAE,2BAA2B,CAAC,CAAC;IACxE,CAAC;IAED,0EAA0E;IAC1E,2EAA2E;IAC3E,uEAAuE;IACvE,gDAAgD;IAChD,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAE9D,IAAI,MAAM,CAAC,SAAS,KAAK,GAAG,EAAE,CAAC;QAC7B,oEAAoE;QACpE,wEAAwE;QACxE,MAAM,IAAI,GAAG,WAAW,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;QAC7D,OAAO;YACL,WAAW,EAAE,cAAc;YAC3B,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,GAAG;YACd,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,OAAO;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,GAAG,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE;SACpC,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,CACxD,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAC9B,CAAC;IAEF,2EAA2E;IAC3E,2EAA2E;IAC3E,4EAA4E;IAC5E,6DAA6D;IAC7D,MAAM,aAAa,GAAG,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEvE,OAAO;QACL,WAAW,EAAE,cAAc;QAC3B,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM;QACN,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;QACpD,OAAO;QACP,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,GAAW,EACX,OAAe;IAEf,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAElD,0EAA0E;IAC1E,0EAA0E;IAC1E,qEAAqE;IACrE,4EAA4E;IAC5E,0EAA0E;IAC1E,4EAA4E;IAC5E,0EAA0E;IAC1E,wEAAwE;IACxE,6EAA6E;IAC7E,sEAAsE;IACtE,iCAAiC;IACjC,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,iBAAiB,CACtB,0BAA0B,EAC1B,mJAAmJ,CACpJ,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAC3C,OAAO,iBAAiB,CAAC,0BAA0B,EAAE,2BAA2B,CAAC,CAAC;IACpF,CAAC;IAED,uEAAuE;IACvE,uEAAuE;IACvE,2EAA2E;IAC3E,0EAA0E;IAC1E,uEAAuE;IACvE,2DAA2D;IAC3D,MAAM,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,GAC7E,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAChB,MAAM,SAAS,GAAG,4BAA4B,CAAC;YAC7C,MAAM;YACN,OAAO,EAAE,mBAAmB,CAAC,GAAG,CAAC;YACjC,OAAO,EAAE,oBAAoB;SAC9B,CAAC,CAAC;QACH,OAAO;YACL,WAAW,EAAE,0BAA0B;YACvC,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,OAAO;YACjB,WAAW,EAAE,CAAC;YACd,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,SAAS;SAClB,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;IAEjE,MAAM,MAAM,GAAG,MAAM,UAAU,CAC7B,SAAS,EACT,IAAI,EACJ,GAAG,EACH,OAAO,EACP,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,CACnB,CAAC;IAEF,IAAI,MAAM,CAAC,SAAS,KAAK,GAAG,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,WAAW,CAAC,gCAAgC,EAAE,sBAAsB,CAAC,CAAC;QACnF,OAAO;YACL,WAAW,EAAE,0BAA0B;YACvC,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,GAAG;YACd,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,OAAO;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,GAAG,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE;SACpC,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,CACxD,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAC9B,CAAC;IAEF,MAAM,aAAa,GAAG,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEvE,OAAO;QACL,WAAW,EAAE,0BAA0B;QACvC,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM;QACN,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;QACpD,OAAO;QACP,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc;IAIxC,2CAA2C;IAC3C,IAAI,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACvC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAClC,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACjD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IAC5D,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc;IAK5C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,+DAA+D;IAC/D,qDAAqD;IACrD,MAAM,OAAO,GAAG,uCAAuC,CAAC;IACxD,IAAI,SAAS,GAA2B,IAAI,CAAC;IAC7C,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC3C,SAAS,GAAG,CAAC,CAAC;IAChB,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACrC,CAAC"}
|
|
@@ -34,6 +34,10 @@ export declare const FLUTTER_TEST_SETTLE: {
|
|
|
34
34
|
pattern: RegExp;
|
|
35
35
|
graceMs: number;
|
|
36
36
|
};
|
|
37
|
+
export declare const FLUTTER_TEST_STALL: {
|
|
38
|
+
pattern: RegExp;
|
|
39
|
+
graceMs: number;
|
|
40
|
+
};
|
|
37
41
|
/** Clear memoized Flutter results. MUST be called at the start of each verify run. */
|
|
38
42
|
export declare function resetFlutterRunCache(): void;
|
|
39
43
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flutter_cache.d.ts","sourceRoot":"","sources":["../../src/runners/flutter_cache.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,KAAK,SAAS,GAAG;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAkBF,eAAO,MAAM,mBAAmB;;;CAG/B,CAAC;AAUF,sFAAsF;AACtF,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAOD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAavF;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"flutter_cache.d.ts","sourceRoot":"","sources":["../../src/runners/flutter_cache.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,KAAK,SAAS,GAAG;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAkBF,eAAO,MAAM,mBAAmB;;;CAG/B,CAAC;AAeF,eAAO,MAAM,kBAAkB;;;CAG9B,CAAC;AAUF,sFAAsF;AACtF,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAOD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAavF;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAe5F"}
|
|
@@ -17,6 +17,23 @@ export const FLUTTER_TEST_SETTLE = {
|
|
|
17
17
|
pattern: /All tests passed!|Some tests failed\./,
|
|
18
18
|
graceMs: 30_000,
|
|
19
19
|
};
|
|
20
|
+
// Progress-stall for `flutter test`: catches the hang FLUTTER_TEST_SETTLE
|
|
21
|
+
// CANNOT. The WedCheese suite froze MID-RUN — one test isolate passed its
|
|
22
|
+
// assertions but leaked a Timer/StreamController/Firebase listener, so the
|
|
23
|
+
// isolate never exited and the WHOLE run stalled at `+24 -5: …` while the
|
|
24
|
+
// compact reporter's elapsed clock ticked on (00:16 → 05:54). No end-of-run
|
|
25
|
+
// marker ever prints, so the settle watchdog never arms; and the ticking clock
|
|
26
|
+
// is continuous output, so the silence watchdog never trips — only the 6-min
|
|
27
|
+
// hard cap freed it (a multi-minute "hang" to the user). The capture group is
|
|
28
|
+
// the compact line WITHOUT its leading `MM:SS ` clock — `+P -F ~S: desc`. While
|
|
29
|
+
// that signature is frozen the suite is making no real progress; if it doesn't
|
|
30
|
+
// change for graceMs we force-close. 90s is comfortably above between-file
|
|
31
|
+
// compile pauses and Flutter's default 30s per-test timeout, yet a fraction of
|
|
32
|
+
// the 6-min cap, so a true mid-run leak is recovered fast with PARTIAL results.
|
|
33
|
+
export const FLUTTER_TEST_STALL = {
|
|
34
|
+
pattern: /(\+\d+(?:\s+-\d+)?(?:\s+~\d+)?:[^\r\n]*)/,
|
|
35
|
+
graceMs: 90_000,
|
|
36
|
+
};
|
|
20
37
|
let cache = null;
|
|
21
38
|
/** Clear memoized Flutter results. MUST be called at the start of each verify run. */
|
|
22
39
|
export function resetFlutterRunCache() {
|
|
@@ -53,7 +70,7 @@ export function runFlutterAnalyzeOnce(cwd, logPath) {
|
|
|
53
70
|
export function runFlutterTestCoverageOnce(cwd, logPath) {
|
|
54
71
|
const c = ensure(cwd);
|
|
55
72
|
if (!c.testCoverage) {
|
|
56
|
-
c.testCoverage = runCommand("flutter", ["test", "--coverage", "--reporter=compact"], cwd, logPath, NONINTERACTIVE_ENV, TEST_COVERAGE_TIMEOUT_MS, FLUTTER_TEST_SETTLE);
|
|
73
|
+
c.testCoverage = runCommand("flutter", ["test", "--coverage", "--reporter=compact"], cwd, logPath, NONINTERACTIVE_ENV, TEST_COVERAGE_TIMEOUT_MS, FLUTTER_TEST_SETTLE, FLUTTER_TEST_STALL);
|
|
57
74
|
}
|
|
58
75
|
return c.testCoverage;
|
|
59
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flutter_cache.js","sourceRoot":"","sources":["../../src/runners/flutter_cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAoCvC,gFAAgF;AAChF,MAAM,kBAAkB,GAA2B,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;AAElE,4EAA4E;AAC5E,4EAA4E;AAC5E,6EAA6E;AAC7E,MAAM,kBAAkB,GAAG,OAAO,CAAC,CAAC,QAAQ;AAC5C,MAAM,wBAAwB,GAAG,OAAO,CAAC,CAAC,QAAQ;AAElD,gFAAgF;AAChF,4EAA4E;AAC5E,2EAA2E;AAC3E,6EAA6E;AAC7E,0EAA0E;AAC1E,2EAA2E;AAC3E,yEAAyE;AACzE,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO,EAAE,uCAAuC;IAChD,OAAO,EAAE,MAAM;CAChB,CAAC;AAQF,IAAI,KAAK,GAA2B,IAAI,CAAC;AAEzC,sFAAsF;AACtF,MAAM,UAAU,oBAAoB;IAClC,KAAK,GAAG,IAAI,CAAC;AACf,CAAC;AAED,SAAS,MAAM,CAAC,GAAW;IACzB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG;QAAE,KAAK,GAAG,EAAE,GAAG,EAAE,CAAC;IACjD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAW,EAAE,OAAgB;IACjE,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACf,CAAC,CAAC,OAAO,GAAG,UAAU,CACpB,SAAS,EACT,CAAC,SAAS,EAAE,kBAAkB,CAAC,EAC/B,GAAG,EACH,OAAO,EACP,kBAAkB,EAClB,kBAAkB,CACnB,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,CAAC,OAAO,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CAAC,GAAW,EAAE,OAAgB;IACtE,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;QACpB,CAAC,CAAC,YAAY,GAAG,UAAU,CACzB,SAAS,EACT,CAAC,MAAM,EAAE,YAAY,EAAE,oBAAoB,CAAC,EAC5C,GAAG,EACH,OAAO,EACP,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"flutter_cache.js","sourceRoot":"","sources":["../../src/runners/flutter_cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAoCvC,gFAAgF;AAChF,MAAM,kBAAkB,GAA2B,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;AAElE,4EAA4E;AAC5E,4EAA4E;AAC5E,6EAA6E;AAC7E,MAAM,kBAAkB,GAAG,OAAO,CAAC,CAAC,QAAQ;AAC5C,MAAM,wBAAwB,GAAG,OAAO,CAAC,CAAC,QAAQ;AAElD,gFAAgF;AAChF,4EAA4E;AAC5E,2EAA2E;AAC3E,6EAA6E;AAC7E,0EAA0E;AAC1E,2EAA2E;AAC3E,yEAAyE;AACzE,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO,EAAE,uCAAuC;IAChD,OAAO,EAAE,MAAM;CAChB,CAAC;AAEF,0EAA0E;AAC1E,0EAA0E;AAC1E,2EAA2E;AAC3E,0EAA0E;AAC1E,4EAA4E;AAC5E,+EAA+E;AAC/E,6EAA6E;AAC7E,8EAA8E;AAC9E,gFAAgF;AAChF,+EAA+E;AAC/E,2EAA2E;AAC3E,+EAA+E;AAC/E,gFAAgF;AAChF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,OAAO,EAAE,0CAA0C;IACnD,OAAO,EAAE,MAAM;CAChB,CAAC;AAQF,IAAI,KAAK,GAA2B,IAAI,CAAC;AAEzC,sFAAsF;AACtF,MAAM,UAAU,oBAAoB;IAClC,KAAK,GAAG,IAAI,CAAC;AACf,CAAC;AAED,SAAS,MAAM,CAAC,GAAW;IACzB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG;QAAE,KAAK,GAAG,EAAE,GAAG,EAAE,CAAC;IACjD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAW,EAAE,OAAgB;IACjE,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACf,CAAC,CAAC,OAAO,GAAG,UAAU,CACpB,SAAS,EACT,CAAC,SAAS,EAAE,kBAAkB,CAAC,EAC/B,GAAG,EACH,OAAO,EACP,kBAAkB,EAClB,kBAAkB,CACnB,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,CAAC,OAAO,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CAAC,GAAW,EAAE,OAAgB;IACtE,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;QACpB,CAAC,CAAC,YAAY,GAAG,UAAU,CACzB,SAAS,EACT,CAAC,MAAM,EAAE,YAAY,EAAE,oBAAoB,CAAC,EAC5C,GAAG,EACH,OAAO,EACP,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,CACnB,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,CAAC,YAAY,CAAC;AACxB,CAAC"}
|
package/dist/tools/verify.d.ts
CHANGED
|
@@ -28,7 +28,73 @@ export declare function detectPlatform(cwd: string): string;
|
|
|
28
28
|
* compile errors.
|
|
29
29
|
*/
|
|
30
30
|
export declare function detectPlatformStacks(cwd: string): string[];
|
|
31
|
-
|
|
31
|
+
/**
|
|
32
|
+
* Progress callback fired during a verify run so the MCP layer can stream
|
|
33
|
+
* `notifications/progress` to the client. Cursor (>= 1.7.39, the dev is on
|
|
34
|
+
* 3.6.x) renders the `message` on the tool-call card, so a long native build /
|
|
35
|
+
* test run no longer looks frozen — the user sees the current phase, elapsed
|
|
36
|
+
* time, and a rough ETA ticking even past the 3-minute mark. Best-effort:
|
|
37
|
+
* throwing from this callback never breaks verify.
|
|
38
|
+
*/
|
|
39
|
+
export type VerifyProgress = (update: {
|
|
40
|
+
phase: string;
|
|
41
|
+
phaseIndex: number;
|
|
42
|
+
elapsedMs: number;
|
|
43
|
+
estimatedTotalMs: number;
|
|
44
|
+
}) => void;
|
|
45
|
+
/**
|
|
46
|
+
* Rough wall-clock estimate (ms) for a full verify run, used ONLY to drive the
|
|
47
|
+
* progress bar's `total` and the "~Ns left" hint — never any control flow.
|
|
48
|
+
* Intentionally generous (native AOT builds dominate and vary wildly by
|
|
49
|
+
* machine) and always clamped in the MCP layer so the bar can't "complete"
|
|
50
|
+
* before the run actually returns.
|
|
51
|
+
*/
|
|
52
|
+
export declare function estimateVerifyMs(platform: string, scope: string, skipTests: boolean): number;
|
|
53
|
+
/**
|
|
54
|
+
* Decide whether it is SAFE to stream MCP `notifications/progress` to the
|
|
55
|
+
* connected client. Pure + exported for unit-testing the cross-client policy.
|
|
56
|
+
*
|
|
57
|
+
* - **Claude Code** (any client whose name contains "claude"): as of 2026 it
|
|
58
|
+
* does NOT render progress in its UI AND has a stdio-transport bug where
|
|
59
|
+
* emitting a progress notification tears the pipe down and respawns the MCP
|
|
60
|
+
* server (anthropics/claude-code #47765, #53617). Claude Code DOES send a
|
|
61
|
+
* `progressToken`, so naively honoring it would BREAK CodeLoop mid-run.
|
|
62
|
+
* → never stream (until upstream fixes land).
|
|
63
|
+
* - **Everyone else** (Cursor ≥ 1.7.39 renders it; VS Code / Windsurf / Cline /
|
|
64
|
+
* generic SDK clients are spec-compliant — they render it or harmlessly drop
|
|
65
|
+
* an unknown token): stream.
|
|
66
|
+
* - Override either way with `CODELOOP_PROGRESS=on|off` (handy if a future
|
|
67
|
+
* client misbehaves, or to force it on for a client we don't recognise).
|
|
68
|
+
*
|
|
69
|
+
* Note: even for allowed clients, runVerify never emits a terminal
|
|
70
|
+
* (`progress >= total`) notification and clears its heartbeat BEFORE returning,
|
|
71
|
+
* so no progress can race the tool response — the other half of the #47765
|
|
72
|
+
* unknown-token hazard.
|
|
73
|
+
*/
|
|
74
|
+
export declare function progressClientDecision(clientName: string | undefined, envValue: string | undefined): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Turn a {@link VerifyProgress} update into the `notifications/progress`
|
|
77
|
+
* payload Cursor renders on the tool-call card. Pure + exported so the
|
|
78
|
+
* monotonic-progress guard, ETA clamp, and human message are unit-testable
|
|
79
|
+
* without driving a full verify run.
|
|
80
|
+
*
|
|
81
|
+
* - `progress` MUST strictly increase (MCP spec). Elapsed-seconds is
|
|
82
|
+
* monotonic, but we still guard same-second phase boundaries against
|
|
83
|
+
* `prevProgress`.
|
|
84
|
+
* - `total` is clamped to at least `elapsed + 15s` so a machine that blows
|
|
85
|
+
* past the estimate keeps showing motion + an honest "still running" rather
|
|
86
|
+
* than a stuck 100% bar.
|
|
87
|
+
*/
|
|
88
|
+
export declare function formatVerifyProgress(u: {
|
|
89
|
+
phase: string;
|
|
90
|
+
elapsedMs: number;
|
|
91
|
+
estimatedTotalMs: number;
|
|
92
|
+
}, prevProgress: number): {
|
|
93
|
+
progress: number;
|
|
94
|
+
total: number;
|
|
95
|
+
message: string;
|
|
96
|
+
};
|
|
97
|
+
export declare function runVerify(input: VerifyInput, config: CodeLoopConfig, cwd?: string, onProgress?: VerifyProgress): Promise<VerifyOutput>;
|
|
32
98
|
/**
|
|
33
99
|
* Pick a single .sln (preferred) or .csproj target for `dotnet build` so we
|
|
34
100
|
* don't trigger MSB1011 ("Specify which project or solution file to use…")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/tools/verify.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAuCtF,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAyElD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAuC1D;AAkJD,wBAAsB,SAAS,CAC7B,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,cAAc,EACtB,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/tools/verify.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAuCtF,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAyElD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAuC1D;AAkJD;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,KAAK,IAAI,CAAC;AAEX;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,OAAO,GACjB,MAAM,CA0BR;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAOT;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,EACjE,YAAY,EAAE,MAAM,GACnB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAetD;AAED,wBAAsB,SAAS,CAC7B,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,cAAc,EACtB,GAAG,GAAE,MAAsB,EAC3B,UAAU,CAAC,EAAE,cAAc,GAC1B,OAAO,CAAC,YAAY,CAAC,CAiwBvB;AAgVD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,cAAc,GACtB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAoCzC"}
|