@molecule/api-ai-tools 1.9.1 → 1.9.3

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.
@@ -244,9 +244,24 @@ for (const one of found.slice(0, MAX_TRACES)) {
244
244
  if (sent) r.sent = sent
245
245
  if (got) r.got = got
246
246
  }
247
+ // The page shell's own requests (a service worker probe, a manifest, a font) are not the
248
+ // failing step's dependencies: a 404 on one, or no response at all, is not a cause and takes
249
+ // no row (xr-molecule-flash-m125 +29:33 — "GET /sw.js; GET /fonts/ionicons.woff" sent the
250
+ // model to write a caching service worker into the app).
251
+ const SHELL_TYPE = { font: 1, image: 1, stylesheet: 1, script: 1, manifest: 1 }
252
+ function shellPath(path) {
253
+ return /^\\/(?:sw|service-worker)\\.js(?:[?#]|$)|\\/manifest\\.webmanifest(?:[?#]|$)|\\/favicon[^/]*(?:[?#]|$)|\\/fonts?\\//.test(path) ||
254
+ /^\\/(?:assets|@vite|__mol)\\//.test(path)
255
+ }
256
+ function shellRequest(r) {
257
+ if (r.type === 'document') return false
258
+ return SHELL_TYPE[r.type] === 1 || shellPath(r.path)
259
+ }
247
260
  // A failed request: a 4xx/5xx, or no response at all WITH Playwright's error text (a refused
248
- // connection). No response and no text is an aborted/pending request, not a failure.
261
+ // connection). No response and no text is an aborted/pending request, not a failure. A 404 on
262
+ // the page shell is excepted, for the reason above.
249
263
  function failedRequest(r) {
264
+ if (shellRequest(r) && r.status === 404) return false
250
265
  return r.status >= 400 || (r.status <= 0 && typeof r.failure === 'string')
251
266
  }
252
267
  const failing = []
@@ -254,6 +269,8 @@ for (const one of found.slice(0, MAX_TRACES)) {
254
269
  const rest = []
255
270
  for (let i = 0; i < requests.length; i++) {
256
271
  const r = requests[i]
272
+ // An answered/aborted shell request is no evidence at all — do not spend a kept row on it.
273
+ if (shellRequest(r) && !failedRequest(r)) continue
257
274
  if (failedRequest(r)) failing.push(i)
258
275
  else if (r.type === 'fetch' || r.type === 'xhr' || r.type === 'document') api.push(i)
259
276
  else rest.push(i)
@@ -277,6 +294,7 @@ for (const one of found.slice(0, MAX_TRACES)) {
277
294
  failure: r.failure,
278
295
  sent: r.sent,
279
296
  got: r.got,
297
+ type: r.type || undefined,
280
298
  })
281
299
  }
282
300
  // The page's own actions, timed. before/after pair on the call id, and only the LIBRARY
@@ -365,6 +383,7 @@ export function parseTraceArtifacts(stdout) {
365
383
  ...(typeof r.failure === 'string' && r.failure ? { failure: r.failure } : {}),
366
384
  ...(typeof r.sent === 'string' && r.sent ? { sent: r.sent } : {}),
367
385
  ...(typeof r.got === 'string' && r.got ? { got: r.got } : {}),
386
+ ...(typeof r.type === 'string' && r.type ? { type: r.type } : {}),
368
387
  })),
369
388
  console: consoleMessages.map(String),
370
389
  actions: actions
@@ -442,15 +461,77 @@ function wrappedInData(text) {
442
461
  return /^\{\s*"data"\s*:/.test(text.trim());
443
462
  }
444
463
  }
445
- /** Whether a trace recorded a request the server actually failed: a 4xx/5xx, or a network error. */
446
- function failedRequest(request) {
464
+ /**
465
+ * A request the page made for its own shell rather than for the step under test: the PWA's
466
+ * service worker (`/sw.js` — the scaffold registers one there and a project without one answers
467
+ * 404), the manifest, a favicon, the fonts a stylesheet pulls, and Vite's/dev's own asset paths.
468
+ *
469
+ * These are not the failing step's dependencies, so neither a missing response nor a 404 on one is
470
+ * a cause. xr-molecule-flash-m125 (+29:33) was handed "no response recorded — still in flight when
471
+ * the test ended … GET /sw.js; GET /fonts/ionicons.woff" and answered it by writing a CACHING
472
+ * service worker into the app — in front of `/assets/*`, exactly what makes a redeployed fix
473
+ * invisible to the next proof run. The note is about the test's own API calls.
474
+ */
475
+ const STATIC_ASSET_PATH = /^\/(?:sw|service-worker)\.js(?:[?#]|$)|\/manifest\.webmanifest(?:[?#]|$)|\/favicon[^/]*(?:[?#]|$)|\/fonts?\//i;
476
+ /** The build/dev output paths the page shell loads (Vite's bundle, the platform's own files). */
477
+ const STATIC_ASSET_DIR = /^\/(?:assets|@vite|__mol)\//i;
478
+ /** The resource types a page loads for itself rather than for the step under test. */
479
+ const STATIC_ASSET_TYPES = new Set(['font', 'image', 'stylesheet', 'script', 'manifest']);
480
+ /** The path part of a request, for the static-asset test. */
481
+ function requestPath(request) {
482
+ const url = String(request.path ?? '');
483
+ try {
484
+ const parsed = new URL(url, 'http://trace.local');
485
+ return parsed.pathname;
486
+ }
487
+ catch (_error) {
488
+ // Not a URL this can parse: judge the text itself, up to any query or fragment.
489
+ return url.split(/[?#]/)[0] ?? url;
490
+ }
491
+ }
492
+ /**
493
+ * Whether a request is one of the page shell's, not the test's (`STATIC_ASSET_PATH`).
494
+ *
495
+ * The document itself is never incidental — a page that never loaded IS the failure — and a
496
+ * request whose type is the app's own API (`fetch`/`xhr`) is judged by its path alone.
497
+ *
498
+ * @param request - One request a trace recorded.
499
+ * @returns True when the request is incidental to the step under test.
500
+ */
501
+ export function isStaticAssetRequest(request) {
502
+ if (request.type === 'document')
503
+ return false;
504
+ if (request.type !== undefined && STATIC_ASSET_TYPES.has(request.type))
505
+ return true;
506
+ const path = requestPath(request);
507
+ return STATIC_ASSET_PATH.test(path) || STATIC_ASSET_DIR.test(path);
508
+ }
509
+ /**
510
+ * Whether a trace recorded a request the server actually failed: a 4xx/5xx, or a network error.
511
+ *
512
+ * A 404 on a static asset is excepted: `/sw.js` and `/fonts/*` 404 on an app that never shipped
513
+ * them, and naming one as a failure sent m125 into writing the caching worker it had asked about.
514
+ * A 5xx on an asset, or a network error, still counts — the server did fail.
515
+ *
516
+ * @param request - One request a trace recorded.
517
+ * @returns True when the request failed in a way the note should name.
518
+ */
519
+ export function failedRequest(request) {
520
+ if (isStaticAssetRequest(request) && request.status === 404)
521
+ return false;
447
522
  return request.status >= 400 || (request.status <= 0 && request.failure !== undefined);
448
523
  }
449
524
  /**
450
525
  * Whether a trace recorded NO response and no reason for it — a request that was aborted or still
451
- * in flight when the test ended. It is not evidence that the server failed (m112 +30:45).
526
+ * in flight when the test ended. It is not evidence that the server failed (m112 +30:45), and one
527
+ * the page shell made is not evidence about the step at all (m125 +29:33).
528
+ *
529
+ * @param request - One request a trace recorded.
530
+ * @returns True when the request is still in flight and worth naming.
452
531
  */
453
- function unansweredRequest(request) {
532
+ export function unansweredRequest(request) {
533
+ if (isStaticAssetRequest(request))
534
+ return false;
454
535
  return request.status <= 0 && request.failure === undefined;
455
536
  }
456
537
  /**
@@ -508,9 +589,16 @@ function repeatsEarlierFailure(item, earlier) {
508
589
  * not evidence (m112 +53:46): four of the note's five rows were traces of one `afterEach` line
509
590
  * whose every request was `-1`, so the favorite cause — repeated in all three walks — stayed
510
591
  * hidden in "… and 7 more traced failures".
592
+ *
593
+ * A request the page shell made (m125 +29:33: `/sw.js`, a font) is not evidence about the step
594
+ * either, answered or not.
595
+ *
596
+ * @param item - One traced failure.
597
+ * @returns True when the trace holds a request or console error worth a row.
511
598
  */
512
599
  function traceRowEvidence(item) {
513
- return item.console.length > 0 || item.requests.some((request) => !unansweredRequest(request));
600
+ return (item.console.length > 0 ||
601
+ item.requests.some((request) => !isStaticAssetRequest(request) && !unansweredRequest(request)));
514
602
  }
515
603
  /**
516
604
  * The note's row order: a row with a REAL failure first, then a row whose failure an earlier walk
@@ -525,6 +613,51 @@ function traceRowTier(item, earlier) {
525
613
  return 1;
526
614
  return 2;
527
615
  }
616
+ /** A browser-level transport failure Chromium and Firefox both record (`net::ERR_*`). */
617
+ const NETWORK_ERROR = /\bnet::ERR_[A-Z0-9_]+\b/;
618
+ /**
619
+ * Whether the trace's page never finished a navigation: its own `Frame.goto` has no end time.
620
+ *
621
+ * A page that never loaded is not a set of app failures: a `page.goto` timeout on a document that
622
+ * ended in a `net::ERR_*` is the one line that explains every test that timed out on it, and it is
623
+ * what m118's preview walk never saw (`net::ERR_CONTENT_DECODING_FAILED` on a gzipped HTML body).
624
+ *
625
+ * @param item - One traced failure.
626
+ * @returns True when the page's navigation started and never ended.
627
+ */
628
+ function navigationNeverFinished(item) {
629
+ return item.actions?.some((action) => /\.goto$/.test(action.api) && action.end === null) ?? false;
630
+ }
631
+ /**
632
+ * The `net::ERR_*` the traced pages recorded, with the request it hit — or null.
633
+ *
634
+ * The request's own `_failureText` is preferred (Playwright records the browser's error there);
635
+ * a console error is the fallback, because the browser logs the same failure as
636
+ * `Failed to load resource: net::ERR_…` and a page that timed out on its document has no request
637
+ * failure text at all.
638
+ *
639
+ * @param items - The traces the note is about.
640
+ * @returns The first transport failure, or null when the browser reported none.
641
+ */
642
+ function transportFailure(items) {
643
+ for (const item of items) {
644
+ const document = item.requests.find((request) => request.type === 'document');
645
+ const failed = item.requests.find((request) => request.failure !== undefined && NETWORK_ERROR.test(request.failure));
646
+ if (failed !== undefined) {
647
+ const error = NETWORK_ERROR.exec(failed.failure ?? '')?.[0] ?? failed.failure ?? '';
648
+ return { error, where: failed.path };
649
+ }
650
+ for (const line of item.console) {
651
+ const error = NETWORK_ERROR.exec(line)?.[0];
652
+ if (error !== undefined)
653
+ return {
654
+ error,
655
+ where: document?.path ?? item.requests[0]?.path ?? 'the page',
656
+ };
657
+ }
658
+ }
659
+ return null;
660
+ }
528
661
  /**
529
662
  * The note a failed suite run's result carries: what each failing test's page actually sent, and
530
663
  * what came back.
@@ -552,6 +685,10 @@ function traceRowTier(item, earlier) {
552
685
  * traces of one `afterEach` line whose every request was `-1`, and left the favorite cause — the
553
686
  * one failure that repeated in every walk — in its "… and N more".
554
687
  *
688
+ * A run whose every traced page never finished its navigation leads with the browser's own
689
+ * transport error (`net::ERR_CONTENT_DECODING_FAILED` and friends) and the document it hit: nothing
690
+ * rendered, so no row below is app evidence (xr-molecule-flash-m118 +37:09).
691
+ *
555
692
  * @param items - The traces {@link parseTraceArtifacts} read.
556
693
  * @param target - Where the run went — the deployed host, as the note names it.
557
694
  * @param earlierFailures - The failing `file:line`s earlier walks of this suite left, so a repeat
@@ -585,9 +722,12 @@ export function failureTraceNote(items, target, earlierFailures = []) {
585
722
  const anyFailed = traced.some((item) => item.requests.some(failedRequest));
586
723
  const rows = [];
587
724
  for (const [index, item] of traced.entries()) {
588
- const failed = item.requests.filter(failedRequest);
589
- const unanswered = item.requests.filter(unansweredRequest);
590
- const answered = item.requests.filter((request) => !failedRequest(request) && !unansweredRequest(request));
725
+ // The page shell's own requests take no row, in any bucket: an aborted `/sw.js` would
726
+ // otherwise be printed as an "answered" request with no response (m125 +29:33).
727
+ const requests = item.requests.filter((request) => !isStaticAssetRequest(request));
728
+ const failed = requests.filter(failedRequest);
729
+ const unanswered = requests.filter(unansweredRequest);
730
+ const answered = requests.filter((request) => !failedRequest(request) && !unansweredRequest(request));
591
731
  let room = MAX_TRACE_NOTE_REQUESTS;
592
732
  const parts = [];
593
733
  if (failed.length > 0) {
@@ -617,7 +757,26 @@ export function failureTraceNote(items, target, earlierFailures = []) {
617
757
  const more = distinct.size > traced.length
618
758
  ? `\n … and ${distinct.size - traced.length} more traced failures`
619
759
  : '';
620
- return (`The platform read the failing tests' own Playwright traces from the run against ${target} ` +
760
+ // A run whose pages never loaded has one cause, and it is not in the app: every traced failure is
761
+ // a `page.goto` that timed out on a document the browser could not load. The transport error is
762
+ // the first line the executor needs — m118 (+37:09) read 14 goto timeouts as app failures while
763
+ // the trace held `net::ERR_CONTENT_DECODING_FAILED` on every one.
764
+ const transport = candidates.length > 0 && candidates.every(navigationNeverFinished)
765
+ ? transportFailure(candidates)
766
+ : null;
767
+ const transportLead = transport === null
768
+ ? ''
769
+ : `Every failure this run traced is the same browser TRANSPORT failure: \`page.goto\` timed out ` +
770
+ `because the document at ${transport.where} ended \`${transport.error}\` — the page never ` +
771
+ `loaded, so none of these failures is the app's code or a selector. ` +
772
+ (transport.error === 'net::ERR_CONTENT_DECODING_FAILED'
773
+ ? 'A body whose gzip `content-encoding` no longer matches its bytes does this; a ' +
774
+ '`vite preview` over a build must be started with ' +
775
+ '`MOL_E2E_PREVIEW_PLUGIN=0 npx vite preview --port 4173 --strictPort`. '
776
+ : '') +
777
+ 'Fix the server before the app.\n\n';
778
+ return (transportLead +
779
+ `The platform read the failing tests' own Playwright traces from the run against ${target} ` +
621
780
  `(what each page sent and got: the requests that failed, the ones that got no response, and ` +
622
781
  `its last answered ones):\n` +
623
782
  `${rows.join('\n')}${more}\n` +
@@ -219,6 +219,12 @@ export interface SuiteFilterStrip {
219
219
  * caller that reports the run's exit code must then treat it as unknown
220
220
  * ({@link suiteRunPipedAfterRunner}).
221
221
  *
222
+ * A statement after the run's own pipeline (`; echo done`, `&& echo ok`) does not protect the
223
+ * filters before it: the filter is thrown away and the trailing statement is kept, so the log the
224
+ * run writes still holds every failure (xr-molecule-flash-m121 — a `| tail -5; echo done` kept its
225
+ * tail, and a 95-second walk's log held only the tally while the platform's own hold had handed
226
+ * that command back).
227
+ *
222
228
  * @param command - The shell command.
223
229
  * @returns The rewritten command and the stages dropped.
224
230
  */
@@ -820,34 +826,71 @@ export interface UniversalCause {
820
826
  /** The distinct spec files they live in, in the order the log named them. */
821
827
  files: string[];
822
828
  }
829
+ /**
830
+ * How many tests a connection-class cause must cover before the run is stopped even when they
831
+ * are all in one file — see {@link universalCause}.
832
+ */
833
+ export declare const CONNECTION_CAUSE_TESTS = 3;
834
+ /**
835
+ * How many test FILES a Playwright run's own command narrows it to, or null when it selects the
836
+ * whole suite (or its selection cannot be read).
837
+ *
838
+ * {@link universalCause}'s file threshold is written for a whole-suite run, which a narrowed run
839
+ * can never reach. xr-molecule-flash-m119 (+42:08) re-ran ONE spec file against a hand-started
840
+ * `vite preview` the browser could not reach, and every test in it failed `page.goto: Timeout` —
841
+ * but one file is below {@link UNIVERSAL_CAUSE_FILES}, so the wait sat out its entire 280 s
842
+ * budget on a run that had already measured all it could.
843
+ *
844
+ * The command is read through {@link commandSegments}, so a `playwright test` named as an
845
+ * argument is not a run. A {@link PLAYWRIGHT_VALUE_FLAGS} flag written without `=` takes the next
846
+ * word as its value, so a `--config app/e2e-suite.config.ts` is never counted as a spec file; a
847
+ * directory or a bare substring filter names files the command does not list, which answers null
848
+ * (the whole-suite threshold) rather than a count of the wrong files.
849
+ *
850
+ * @param command - The run's command.
851
+ * @returns The number of distinct test files it names, or null when it names none (the whole
852
+ * suite) or the selection cannot be told.
853
+ */
854
+ export declare function specFilesSelected(command: string): number | null;
823
855
  /**
824
856
  * Whether a repeating cause is failing the whole run — the one case where stopping it is the
825
857
  * right call.
826
858
  *
827
- * The test is: the cause accounts for every failure the log names, it has hit
828
- * {@link UNIVERSAL_CAUSE_FILES} spec files or more, and nothing has passed since its first
829
- * failure. An app that is not up, a 5xx on every request, or a selector that is missing on every
830
- * page all look like that, and every remaining test will fail the same way — so the run's
831
- * remaining minutes measure nothing. Anything less is NOT this: a cause that stops at one file,
832
- * or that leaves other tests passing, or that shares the run with failures of another shape,
833
- * leaves the run with something to say, and the run is the only thing that will say it. X1
834
- * flash-m83 (2026-10-16) stopped eight local runs at their first repeating cause over 14.5
835
- * minutes and never finished one; three of its deploys each fixed a single cause that a finished
836
- * run would have listed alongside the others.
859
+ * The test is: the cause accounts for every failure the log names, it has hit the spec-file
860
+ * threshold, and nothing has passed since its first failure. The threshold is
861
+ * {@link UNIVERSAL_CAUSE_FILES} for a whole-suite run but the number of files the command
862
+ * SELECTED for a narrowed one ({@link specFilesSelected}): a one-file run can never span three,
863
+ * and xr-molecule-flash-m119 (+42:08) waited out its whole budget on exactly that shape. An app
864
+ * that is not up, a 5xx on every request, or a selector that is missing on every page all look
865
+ * like that, and every remaining test will fail the same way — so the run's remaining minutes
866
+ * measure nothing. A CONNECTION-class cause ({@link CONNECTION_CAUSE}) needs no file span at all:
867
+ * three tests that could not reach the app, with nothing passing since, is the app-unreachable
868
+ * case however few files the run walks.
869
+ *
870
+ * Anything less is NOT this: a cause that stops at one file of a multi-file run, or that leaves
871
+ * other tests passing, or that shares the run with failures of another shape, leaves the run with
872
+ * something to say, and the run is the only thing that will say it. X1 flash-m83 (2026-10-16)
873
+ * stopped eight local runs at their first repeating cause over 14.5 minutes and never finished
874
+ * one; three of its deploys each fixed a single cause that a finished run would have listed
875
+ * alongside the others.
837
876
  *
838
877
  * @param log - The log so far.
839
878
  * @param found - The repeating cause {@link repeatingFailure} found in it.
879
+ * @param command - How the run was started, when the caller knows it: its spec-file selection
880
+ * scales the file threshold ({@link specFilesSelected}).
840
881
  * @returns The cause's count and files, or null when the run is not failing whole.
841
882
  */
842
- export declare function universalCause(log: string, found: RepeatingFailure): UniversalCause | null;
883
+ export declare function universalCause(log: string, found: RepeatingFailure, command?: string | null): UniversalCause | null;
843
884
  /**
844
885
  * The ONE finding that ends a wait early, and the only one a note may hand a stop command over
845
886
  * for: a PROVEN cause that is failing the whole run.
846
887
  *
847
888
  * Both halves are load-bearing, each of them learned from a run that lost minutes to the other.
848
889
  *
849
- * - **Failing the WHOLE run** is {@link universalCause}: every failure the log names, across
850
- * {@link UNIVERSAL_CAUSE_FILES} spec files or more, with nothing passing since the first — the
890
+ * - **Failing the WHOLE run** is {@link universalCause}: every failure the log names, across the
891
+ * spec-file threshold — {@link UNIVERSAL_CAUSE_FILES}, or the files a narrowed run's own
892
+ * command selects, or {@link CONNECTION_CAUSE_TESTS} tests of an app that never answered — with
893
+ * nothing passing since the first. That is the
851
894
  * dont-stop-runs rule. X1 flash-m83 (2026-10-16) stopped eight local runs at their first
852
895
  * repeating cause in 14.5 minutes and never finished one, and a run that still has other causes
853
896
  * left to name is the only thing that will name them.
@@ -921,6 +964,22 @@ export interface FailureCause {
921
964
  * (xr-molecule-flash-m110 +18:42 rewrote a CORS middleware for a 20 s connection timeout).
922
965
  */
923
966
  kind: RunFailureKind;
967
+ /**
968
+ * What the page itself showed at the moment of the failure, when the caller read it from
969
+ * Playwright's `error-context.md` (the alert / error list). The failure's own error line names
970
+ * the symptom — `waitForURL` timed out — and never what the page was saying: xr-molecule-flash-
971
+ * m122 +23:39 grouped eight `waitForURL` timeouts under one line while the page snapshots named
972
+ * the cause (`email can't be blank`, `username can't be blank` — the settings form submitted
973
+ * before its values had loaded). Attached to the cause so the fix needs no `cat` of the file.
974
+ */
975
+ pageShowed?: string[];
976
+ }
977
+ /** One failing test's page errors, as read from its `error-context.md`. */
978
+ export interface CausePageErrors {
979
+ /** The test's location as the log prints it (`settings.spec.ts:107`). */
980
+ where: string;
981
+ /** The alert / error items the page showed at the moment it failed. */
982
+ items: readonly string[];
924
983
  }
925
984
  /**
926
985
  * Every failure a run names, grouped by the cause behind it — one group per cause, with the
@@ -980,18 +1039,18 @@ export declare function failureCausesNote(log: string, excluded?: readonly strin
980
1039
  cwd?: string;
981
1040
  log?: string;
982
1041
  config?: string | null;
983
- }): string | null;
1042
+ }, pageErrors?: readonly CausePageErrors[]): string | null;
984
1043
  /**
985
1044
  * The command that re-runs the tests at `locations` the way the run IN FLIGHT ran them: the same
986
1045
  * invocation, in the same directory, narrowed to those tests — or null when the running command
987
1046
  * is not a Playwright run this can narrow.
988
1047
  *
989
1048
  * The `locations` are the paths the run's own log printed, which are relative to the directory
990
- * that run started in, so a re-run has to resolve them there: the command names that directory
991
- * unless it already changes into one of its own, because the executor's next command starts
992
- * wherever it starts. The returned command is for AFTER the run ends — it is a second run against
993
- * the same app and database, and that is exactly what is refused while the run walks
994
- * ({@link suiteRunInTheWay}).
1049
+ * that run started in, so the composer resolves them there ({@link scopedRerunCommand}): the
1050
+ * command names that directory unless it already changes into one of its own, because the
1051
+ * executor's next command starts wherever it starts. The returned command is for AFTER the run
1052
+ * ends — it is a second run against the same app and database, and that is exactly what is
1053
+ * refused while the run walks ({@link suiteRunInTheWay}).
995
1054
  *
996
1055
  * @param run - The run in flight: the command it was started with, as it was run, the directory
997
1056
  * that command ran in, and the config it loaded when the caller knows it.
@@ -1036,8 +1095,10 @@ export declare function rerunOfRunningSuite(run: {
1036
1095
  * @param found - What {@link repeatingFailure} found.
1037
1096
  * @param o - The run's facts: its `taskId`, its `log` path, `stop` — the shell command that
1038
1097
  * stops it, printed only for an {@link earlyReturnCause} — `universal`, what
1039
- * {@link universalCause} found (absent means the run is not failing whole), and `run`, how the
1040
- * run was started ({@link rerunOfRunningSuite}) when the caller knows it.
1098
+ * {@link universalCause} found (absent means the run is not failing whole), `run`, how the
1099
+ * run was started ({@link rerunOfRunningSuite}) when the caller knows it, and
1100
+ * `editsInvalidateRun`, true when the run measures the sandbox's own app (a local run, where an
1101
+ * edit now changes what the suite is testing and its result stops counting).
1041
1102
  * @returns The note.
1042
1103
  */
1043
1104
  export declare function repeatingFailureNote(found: RepeatingFailure, o: {
@@ -1049,6 +1110,7 @@ export declare function repeatingFailureNote(found: RepeatingFailure, o: {
1049
1110
  command: string;
1050
1111
  cwd?: string;
1051
1112
  };
1113
+ editsInvalidateRun?: boolean;
1052
1114
  }): string;
1053
1115
  /**
1054
1116
  * Attempt a whitespace-tolerant replacement when an exact `old_string` match
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../src/utilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../src/utilities.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAW3E;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAS5C;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAAI,GAAG,MAAM,KAAG,MAEE,CAAA;AAuGhD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAK/C;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAErD;AAKD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAsCzD;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGnD;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,MAAM,CAUpF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAElE;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWnE;AAuDD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,8BAA8B,0CAA0C,CAAA;AAErF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG;IAC3D,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB,CAuJA;AAsBD;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAK1D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAG/D;AAuJD,wEAAwE;AACxE,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,6FAA6F;IAC7F,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAkC3E;AAED,oFAAoF;AACpF,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,KAAK,EAAE,OAAO,CAAA;IACd;;;;;OAKG;IACH,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,yBAAyB,CAkBpF;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAalC;AA4BD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAuBlE;AAID;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAQrE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAOxE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAQpD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAU/D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGxD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACX,MAAM,CAKR;AAkCD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIvE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAU1E;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI9E;AAID,yCAAyC;AACzC,eAAO,MAAM,aAAa,QAAkB,CAAA;AAC5C,8CAA8C;AAC9C,eAAO,MAAM,cAAc,QAAmB,CAAA;AAC9C,kDAAkD;AAClD,eAAO,MAAM,eAAe,QAAa,CAAA;AACzC;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,KAAK,CAAA;AAE1C;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CA6BhG;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAY5E;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAA;AAEtC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,mBAAmB,QAAS,CAAA;AAEzC;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,OAAQ,CAAA;AAE/C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB,QAAmD,CAAA;AAErF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,QAAwB,CAAA;AAE3D;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,qBAAqB,QAAY,CAAA;AAE9C,qEAAqE;AACrE,eAAO,MAAM,sBAAsB,MAAM,CAAA;AAKzC,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAa,GAAG,MAAM,GAAG,IAAI,CAyC3E;AAED,0BAA0B;AAC1B,eAAO,MAAM,kBAAkB,KAAK,CAAA;AACpC,wBAAwB;AACxB,eAAO,MAAM,gBAAgB,MAAM,CAAA;AAEnC;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,mHAW/B,CAAA;AAEV;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAOnE;AAmFD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAiBjD;AAED,kEAAkE;AAClE,eAAO,MAAM,qBAAqB,KAAK,CAAA;AAEvC,qEAAqE;AACrE,eAAO,MAAM,kBAAkB,OAAO,CAAA;AAEtC;;;GAGG;AACH,eAAO,MAAM,uBAAuB,0KAC4G,CAAA;AAEhJ;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAM3E;AAED,gEAAgE;AAChE,eAAO,MAAM,0BAA0B,QAAS,CAAA;AAEhD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAGrE;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAA;AAEtC,0DAA0D;AAC1D,MAAM,WAAW,UAAU;IACzB,gGAAgG;IAChG,KAAK,EAAE,MAAM,CAAA;IACb,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAA;IACb,qFAAqF;IACrF,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB;AAED,0DAA0D;AAC1D,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAA;IACb,0FAA0F;IAC1F,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,sFAAsF;IACtF,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,sDAAsD;IACtD,KAAK,EAAE,UAAU,EAAE,CAAA;CACpB;AA2SD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CA+CrE;AAED,2FAA2F;AAC3F,eAAO,MAAM,wBAAwB,IAAI,CAAA;AAEzC;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,OAAO,CAAA;AAErC;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,QAA2B,CAAA;AAE5D;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,KAAK,CAAA;AAKvC,oFAAoF;AACpF,eAAO,MAAM,0BAA0B,IAAI,CAAA;AA8D3C;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAA;AAEtC,oFAAoF;AACpF,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,6EAA6E;IAC7E,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAA;AAuCvC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA2BhE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,gBAAgB,EACvB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GACtB,cAAc,GAAG,IAAI,CA4BvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,GAC3C,cAAc,GAAG,IAAI,CAGvB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAQ7F;AAED,2DAA2D;AAC3D,MAAM,WAAW,YAAY;IAC3B,gGAAgG;IAChG,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,yFAAyF;IACzF,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,kEAAkE;IAClE,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;;OAKG;IACH,IAAI,EAAE,cAAc,CAAA;IACpB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,2EAA2E;AAC3E,MAAM,WAAW,eAAe;IAC9B,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAA;IACb,uEAAuE;IACvE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,GAAE,SAAS,MAAM,EAAO,GAAG,YAAY,EAAE,CAE7F;AA0OD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,SAAS,MAAM,EAAO,EAChC,GAAG,CAAC,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAC7E,UAAU,GAAE,SAAS,eAAe,EAAO,GAC1C,MAAM,GAAG,IAAI,CAqGf;AAuGD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAC9D,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,QAAQ,GAAE,SAAS,MAAM,EAAO,GAC/B,MAAM,GAAG,IAAI,CAUf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,gBAAgB,EACvB,CAAC,EAAE;IACD,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;IACjC,GAAG,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACvC,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B,GACA,MAAM,CA2GR;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAsCf;AAED,qEAAqE;AACrE,eAAO,MAAM,eAAe,QAA0C,CAAA;AAEtE;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgB7D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB,GAAG,MAAM,GAAG,IAAI,CAKhB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAgBvC"}