@lingxia/test 0.17.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/dist/clock.d.ts +30 -0
  2. package/dist/clock.d.ts.map +1 -0
  3. package/dist/clock.js +99 -0
  4. package/dist/clock.js.map +1 -0
  5. package/dist/coverage.d.ts +25 -0
  6. package/dist/coverage.d.ts.map +1 -0
  7. package/dist/coverage.js +92 -0
  8. package/dist/coverage.js.map +1 -0
  9. package/dist/deadline.d.ts +82 -0
  10. package/dist/deadline.d.ts.map +1 -0
  11. package/dist/deadline.js +184 -0
  12. package/dist/deadline.js.map +1 -0
  13. package/dist/dialogs.d.ts +28 -0
  14. package/dist/dialogs.d.ts.map +1 -0
  15. package/dist/dialogs.js +74 -0
  16. package/dist/dialogs.js.map +1 -0
  17. package/dist/equal.d.ts +28 -0
  18. package/dist/equal.d.ts.map +1 -0
  19. package/dist/equal.js +149 -0
  20. package/dist/equal.js.map +1 -0
  21. package/dist/errors.d.ts +8 -0
  22. package/dist/errors.d.ts.map +1 -0
  23. package/dist/errors.js +37 -0
  24. package/dist/errors.js.map +1 -0
  25. package/dist/expect.d.ts +35 -7
  26. package/dist/expect.d.ts.map +1 -1
  27. package/dist/expect.js +216 -68
  28. package/dist/expect.js.map +1 -1
  29. package/dist/fixture.d.ts +205 -40
  30. package/dist/fixture.d.ts.map +1 -1
  31. package/dist/fixture.js +1178 -156
  32. package/dist/fixture.js.map +1 -1
  33. package/dist/format.d.ts +2 -0
  34. package/dist/format.d.ts.map +1 -1
  35. package/dist/format.js +78 -0
  36. package/dist/format.js.map +1 -1
  37. package/dist/host-types.d.ts +65 -0
  38. package/dist/host-types.d.ts.map +1 -0
  39. package/dist/host-types.js +2 -0
  40. package/dist/host-types.js.map +1 -0
  41. package/dist/host.d.ts +20 -0
  42. package/dist/host.d.ts.map +1 -1
  43. package/dist/host.js +34 -2
  44. package/dist/host.js.map +1 -1
  45. package/dist/ids.d.ts +16 -0
  46. package/dist/ids.d.ts.map +1 -1
  47. package/dist/ids.js +38 -3
  48. package/dist/ids.js.map +1 -1
  49. package/dist/index.d.ts +5 -7
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +3 -5
  52. package/dist/index.js.map +1 -1
  53. package/dist/json-result.d.ts +3 -0
  54. package/dist/json-result.d.ts.map +1 -0
  55. package/dist/json-result.js +62 -0
  56. package/dist/json-result.js.map +1 -0
  57. package/dist/junit.d.ts +1 -1
  58. package/dist/junit.d.ts.map +1 -1
  59. package/dist/junit.js +40 -5
  60. package/dist/junit.js.map +1 -1
  61. package/dist/locator.d.ts +116 -7
  62. package/dist/locator.d.ts.map +1 -1
  63. package/dist/locator.js +444 -58
  64. package/dist/locator.js.map +1 -1
  65. package/dist/mock.d.ts +43 -0
  66. package/dist/mock.d.ts.map +1 -0
  67. package/dist/mock.js +162 -0
  68. package/dist/mock.js.map +1 -0
  69. package/dist/network.d.ts +68 -0
  70. package/dist/network.d.ts.map +1 -0
  71. package/dist/network.js +287 -0
  72. package/dist/network.js.map +1 -0
  73. package/dist/openapi.d.ts +127 -0
  74. package/dist/openapi.d.ts.map +1 -0
  75. package/dist/openapi.js +414 -0
  76. package/dist/openapi.js.map +1 -0
  77. package/dist/pending.d.ts +84 -0
  78. package/dist/pending.d.ts.map +1 -0
  79. package/dist/pending.js +311 -0
  80. package/dist/pending.js.map +1 -0
  81. package/dist/redact.d.ts +41 -0
  82. package/dist/redact.d.ts.map +1 -0
  83. package/dist/redact.js +168 -0
  84. package/dist/redact.js.map +1 -0
  85. package/dist/remote.d.ts +32 -0
  86. package/dist/remote.d.ts.map +1 -0
  87. package/dist/remote.js +117 -0
  88. package/dist/remote.js.map +1 -0
  89. package/dist/report-extras.d.ts +16 -0
  90. package/dist/report-extras.d.ts.map +1 -0
  91. package/dist/report-extras.js +125 -0
  92. package/dist/report-extras.js.map +1 -0
  93. package/dist/report-types.d.ts +428 -0
  94. package/dist/report-types.d.ts.map +1 -0
  95. package/dist/report-types.js +6 -0
  96. package/dist/report-types.js.map +1 -0
  97. package/dist/report.d.ts +15 -1
  98. package/dist/report.d.ts.map +1 -1
  99. package/dist/report.js +196 -19
  100. package/dist/report.js.map +1 -1
  101. package/dist/runner.d.ts +13 -0
  102. package/dist/runner.d.ts.map +1 -0
  103. package/dist/runner.js +11 -0
  104. package/dist/runner.js.map +1 -0
  105. package/dist/runtime.d.ts +55 -4
  106. package/dist/runtime.d.ts.map +1 -1
  107. package/dist/runtime.js +1500 -139
  108. package/dist/runtime.js.map +1 -1
  109. package/dist/schema.d.ts +29 -0
  110. package/dist/schema.d.ts.map +1 -0
  111. package/dist/schema.js +463 -0
  112. package/dist/schema.js.map +1 -0
  113. package/dist/spec-api.d.ts +10 -2
  114. package/dist/spec-api.d.ts.map +1 -1
  115. package/dist/tags.d.ts +26 -0
  116. package/dist/tags.d.ts.map +1 -0
  117. package/dist/tags.js +78 -0
  118. package/dist/tags.js.map +1 -0
  119. package/dist/types.d.ts +863 -168
  120. package/dist/types.d.ts.map +1 -1
  121. package/dist/version.d.ts +1 -1
  122. package/dist/version.js +1 -1
  123. package/package.json +18 -5
  124. package/schemas/lxdev.schema.json +50 -0
  125. package/schemas/mock-config.schema.json +21 -0
  126. package/schemas/scenario.schema.json +180 -0
package/dist/report.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { escapeHtml } from "./format.js";
2
2
  import { CAPABILITY_INDEX, LAYER_TITLE, PUBLIC_CAPABILITIES, isMeasured, } from "./inventory.js";
3
3
  import { PACKAGE_NAME, VERSION } from "./version.js";
4
+ import { EXTRA_STYLE, caseSearchTerms, renderCaseContract, renderCaseTags, renderContract, renderManifestCoverage, renderTagSummary, } from "./report-extras.js";
4
5
  /** A status the report groups, filters, and colours by. */
5
6
  const STATUS_ORDER = [
6
7
  "failed",
@@ -48,7 +49,7 @@ export function renderHtml(report) {
48
49
  ].join("");
49
50
  const flags = [
50
51
  report.partial ? flag("partial", "The run ended early; results below are incomplete.") : "",
51
- report.filtered ? flag("filtered", "A --grep or spec.only selection was in effect.") : "",
52
+ report.filtered ? flag("filtered", "A --grep, --tag, --id, --shard or spec.only selection was in effect.") : "",
52
53
  ].filter(Boolean).join("");
53
54
  return `<!DOCTYPE html>
54
55
  <html lang="en">
@@ -56,7 +57,7 @@ export function renderHtml(report) {
56
57
  <meta charset="utf-8">
57
58
  <meta name="viewport" content="width=device-width, initial-scale=1">
58
59
  <title>${escapeHtml(documentTitle)}</title>
59
- <style>${STYLE}</style>
60
+ <style>${STYLE}${EXTRA_STYLE}</style>
60
61
  </head>
61
62
  <body>
62
63
  <a class="skip-link" href="#results">Skip to results</a>
@@ -98,6 +99,9 @@ export function renderHtml(report) {
98
99
  </div>
99
100
  </div>
100
101
 
102
+ ${renderTagSummary(report.tag_summary)}
103
+ ${renderContract(report.openapi)}
104
+ ${renderManifestCoverage(report.coverage)}
101
105
  ${renderCoverage(report)}
102
106
  ${renderSlowest(report)}
103
107
 
@@ -447,7 +451,7 @@ function renderSlowest(report) {
447
451
  return "";
448
452
  const max = ranked[0].duration_ms || 1;
449
453
  const rows = ranked.map((item) => `<tr>
450
- <td><a href="#case-${escapeHtml(item.id)}">${escapeHtml(item.title)}</a></td>
454
+ <td><a href="#case-${escapeHtml(executionId(item))}">${escapeHtml(item.title)}${item.repeat === undefined ? "" : ` (repeat ${item.repeat})`}</a></td>
451
455
  <td class="num">${formatDuration(item.duration_ms)}</td>
452
456
  <td class="spark"><span style="width:${Math.max(2, Math.round((item.duration_ms / max) * 100))}%"></span></td>
453
457
  </tr>`).join("");
@@ -476,6 +480,7 @@ function renderSuite(suite) {
476
480
  </section>`;
477
481
  }
478
482
  function renderCase(item, suiteName) {
483
+ const repeatLabel = item.repeat === undefined ? "" : ` (repeat ${item.repeat})`;
479
484
  const assertions = flattenAssertions(item);
480
485
  const passedAsserts = assertions.filter((entry) => entry.passed).length;
481
486
  const failedAsserts = assertions.length - passedAsserts;
@@ -499,6 +504,7 @@ function renderCase(item, suiteName) {
499
504
  item.reason ?? "",
500
505
  item.error?.message ?? "",
501
506
  ...item.covers,
507
+ ...caseSearchTerms(item),
502
508
  ...assertions.map((entry) => `${entry.matcher} ${entry.expected} ${entry.actual}`),
503
509
  ].join(" ");
504
510
  const assertMeta = assertions.length > 0
@@ -506,19 +512,25 @@ function renderCase(item, suiteName) {
506
512
  : "";
507
513
  const open = isBroken(item.status) ? " open" : "";
508
514
  const where = item.file ? ` &middot; ${escapeHtml(item.file)}${item.line ? `:${item.line}` : ""}` : "";
509
- return `<details class="case ${tone(item.status)}" id="case-${escapeHtml(item.id)}"
515
+ return `<details class="case ${tone(item.status)}" id="case-${escapeHtml(executionId(item))}"
510
516
  data-status="${escapeHtml(item.status)}" data-search="${escapeHtml(search)}"${open}>
511
517
  <summary>
512
- <span class="badge ${tone(item.status)}">${escapeHtml(STATUS_LABEL[item.status] ?? item.status)}</span>
513
- <span class="case-title">${escapeHtml(item.title)}</span>
518
+ <span class="badge ${tone(item.status)}">${item.flaky ? "flaky" : escapeHtml(STATUS_LABEL[item.status] ?? item.status)}</span>
519
+ <span class="case-title">${escapeHtml(item.title + repeatLabel)}</span>
514
520
  <span class="case-time">${formatDuration(item.duration_ms)}</span>
515
521
  </summary>
516
522
  <div class="body">
517
523
  <p class="meta"><code>${escapeHtml(item.id)}</code>${where}${assertMeta}</p>
524
+ ${renderCaseTags(item)}
525
+ ${item.scenario ? `<p class="meta">Scenario: ${escapeHtml(item.scenario.label)}</p>` : ""}
526
+ ${item.network_summary ? `<p class="meta">Logic calls observed: ${item.network_summary.observed} (${item.network_summary.routed} routed, ${item.network_summary.real} real)${item.network_summary.limit_reached ? `; latest ${item.network_calls?.length ?? 0} shown` : ""}</p>` : ""}
518
527
  ${covers}
519
528
  ${reason}
520
529
  ${error}
521
- ${renderSteps(item.steps)}
530
+ ${renderCaseContract(item)}
531
+ ${renderTimeline(item)}
532
+ ${item.attempts && item.attempts.length > 1 ? `<details><summary>${item.attempts.length} attempts</summary>${item.attempts.map(attempt => `<section><h4>Attempt ${(attempt.attempt ?? 0) + 1}: ${escapeHtml(attempt.status)}</h4>${renderError(attempt)}${renderTimeline(attempt)}${renderSteps(attempt.steps, attempt)}${renderAttachments(attempt)}</section>`).join("")}</details>` : ""}
533
+ ${renderSteps(item.steps, item)}
522
534
  ${renderAssertions(item.assertions ?? [], "spec assertions")}
523
535
  ${empty}
524
536
  ${shots}
@@ -526,35 +538,105 @@ function renderCase(item, suiteName) {
526
538
  </div>
527
539
  </details>`;
528
540
  }
541
+ function executionId(item) {
542
+ return `${item.id}${item.repeat === undefined ? "" : `-repeat-${item.repeat}`}`;
543
+ }
544
+ /** `target · result · answered by` of one observed Logic call. */
545
+ function describeCall(call) {
546
+ const target = call.kind === "function" ? call.function ?? "" : `${call.method} ${call.url}`;
547
+ const result = call.kind === "function"
548
+ ? call.outcome ?? "pending"
549
+ : call.status === null ? call.error ?? "pending" : String(call.status);
550
+ return `<code>${escapeHtml(target)}</code> &middot; ${escapeHtml(result)} &middot; ${escapeHtml(call.answeredBy ?? call.source)}`;
551
+ }
552
+ function renderTimeline(item) {
553
+ const events = [];
554
+ const addAssertion = (entry) => {
555
+ if (entry.sequence === undefined)
556
+ return;
557
+ const label = [entry.message, entry.target, entry.matcher].filter(Boolean).map((part) => escapeHtml(part)).join(" &middot; ");
558
+ events.push({ sequence: entry.sequence, at_ms: entry.at_ms ?? 0,
559
+ html: `<span class="${entry.passed ? "pass" : "fail"}">${entry.passed ? "assert" : "assert failed"}</span> ${label} &middot; expected ${escapeHtml(entry.expected)}, actual ${escapeHtml(entry.actual)}${entry.difference ? ` &middot; ${escapeHtml(entry.difference)}` : ""}` });
560
+ };
561
+ const addAttachment = (entry) => {
562
+ if (entry.sequence === undefined)
563
+ return;
564
+ events.push({ sequence: entry.sequence, at_ms: entry.at_ms ?? 0,
565
+ html: `attached <a href="${escapeHtml(entry.path)}">${escapeHtml(entry.name)}</a>${attachmentContext(entry)}` });
566
+ };
567
+ const walk = (steps) => {
568
+ for (const step of steps) {
569
+ if (step.sequence !== undefined) {
570
+ events.push({ sequence: step.sequence, at_ms: step.at_ms ?? 0,
571
+ html: `${step.kind === "action" ? "action" : "step"} ${escapeHtml(step.path)}${step.detail ? ` &middot; ${escapeHtml(step.detail)}` : ""}${step.repeat && step.repeat > 1 ? ` &times;${step.repeat}` : ""}` });
572
+ }
573
+ walk(step.steps ?? []);
574
+ for (const assertion of step.assertions ?? [])
575
+ addAssertion(assertion);
576
+ for (const attachment of step.attachments ?? [])
577
+ addAttachment(attachment);
578
+ }
579
+ };
580
+ walk(item.steps);
581
+ for (const assertion of item.assertions ?? [])
582
+ addAssertion(assertion);
583
+ for (const attachment of item.attachments ?? [])
584
+ addAttachment(attachment);
585
+ const calls = item.network_calls ?? [];
586
+ for (const [index, call] of calls.entries()) {
587
+ // After every recorded event with the same start time.
588
+ events.push({ sequence: Number.MAX_SAFE_INTEGER - calls.length + index, at_ms: call.at_ms ?? 0,
589
+ html: `network ${describeCall(call)}${call.observed_during ? ` &middot; started during ${escapeHtml(call.observed_during)}` : ""}` });
590
+ }
591
+ if (events.length === 0)
592
+ return "";
593
+ events.sort((left, right) => left.at_ms - right.at_ms || left.sequence - right.sequence);
594
+ const rows = events.map((event) => `<li><code>+${event.at_ms}ms</code> ${event.html}</li>`).join("");
595
+ const notes = [
596
+ calls.length > 0 ? "Network calls are placed by request start time; &ldquo;started during&rdquo; is a time window, not proof the step caused the call." : "",
597
+ item.network_summary?.limit_reached ? `Only the latest ${calls.length} of ${item.network_summary.observed} network calls are shown.` : "",
598
+ item.trace_truncated ? "The action trace reached its record limit; later actions are omitted except failures." : "",
599
+ ].filter(Boolean).map((note) => `<p>${note}</p>`).join("");
600
+ return `<details class="panel trace"><summary>Timeline &middot; ${events.length} recorded events</summary><ol>${rows}</ol>${notes}</details>`;
601
+ }
529
602
  /**
530
603
  * An artifact the reader cannot open from the report is an artifact they will
531
604
  * not look at, so images inline and text/JSON preview in place. Everything
532
605
  * else names the path the CLI wrote it to.
533
606
  */
534
607
  function renderAttachments(item) {
535
- if (item.attachments.length === 0)
608
+ return renderAttachmentRefs(item.attachments, item);
609
+ }
610
+ function renderAttachmentRefs(attachments, item) {
611
+ if (attachments.length === 0)
536
612
  return "";
537
- const blocks = item.attachments.map((attachment) => {
613
+ const blocks = attachments.map((attachment) => {
538
614
  const inlined = inlineFromAttachments(attachment.name, item);
539
615
  // The path is relative to the report, so the link opens the real file
540
616
  // whenever the report is read from the directory the CLI wrote it to.
541
617
  const link = `<a class="path" href="${escapeHtml(attachment.path)}">${escapeHtml(attachment.path)}</a>`;
618
+ const context = attachmentContext(attachment);
542
619
  if (inlined?.dataUrl) {
543
620
  return `<figure class="shot">
544
621
  <img alt="${escapeHtml(attachment.name)}" src="${inlined.dataUrl}" loading="lazy">
545
- <figcaption>${escapeHtml(attachment.name)} &middot; ${link}</figcaption>
622
+ <figcaption>${escapeHtml(attachment.name)}${context} &middot; ${link}</figcaption>
546
623
  </figure>`;
547
624
  }
548
625
  if (inlined?.text !== undefined) {
549
626
  return `<details class="artifact">
550
- <summary>${escapeHtml(attachment.name)} ${link}</summary>
627
+ <summary>${escapeHtml(attachment.name)}${context} ${link}</summary>
551
628
  <pre>${escapeHtml(inlined.text)}</pre>
552
629
  </details>`;
553
630
  }
554
- return `<div class="artifact-path"><b>${escapeHtml(attachment.name)}</b> ${link}</div>`;
631
+ return `<div class="artifact-path"><b>${escapeHtml(attachment.name)}</b>${context} ${link}</div>`;
555
632
  });
556
633
  return `<div class="artifacts"><h4>artifacts</h4>${blocks.join("")}</div>`;
557
634
  }
635
+ function attachmentContext(attachment) {
636
+ if (attachment.purpose === "failure_evidence")
637
+ return " &middot; failure evidence for this attempt";
638
+ return attachment.step ? ` &middot; in step ${escapeHtml(attachment.step)}` : " &middot; attempt artifact";
639
+ }
558
640
  function renderError(item) {
559
641
  if (!item.error)
560
642
  return "";
@@ -565,18 +647,92 @@ function renderError(item) {
565
647
  <div class="side actual"><h4>actual</h4><pre>${escapeHtml(error.actual ?? "—")}</pre></div>
566
648
  </div>`
567
649
  : "";
650
+ const difference = error.difference ? `<p class="diff-hint">${escapeHtml(error.difference)}</p>` : "";
568
651
  const at = error.location ? `<p class="at">at ${escapeHtml(error.location)}</p>` : "";
569
652
  const inStep = error.step ? `<p class="at">in step <code>${escapeHtml(error.step)}</code></p>` : "";
653
+ const failed = failedAt(error);
570
654
  const stack = error.stack
571
655
  ? `<details class="stack"><summary>stack</summary><pre>${escapeHtml(error.stack)}</pre></details>`
572
656
  : "";
573
657
  return `<div class="failure">
574
658
  <h3>${escapeHtml(error.name)}${error.matcher ? ` &middot; <code>${escapeHtml(error.matcher)}</code>` : ""}</h3>
575
659
  <pre class="message">${escapeHtml(error.message)}</pre>
576
- ${compare}${at}${inStep}${stack}
660
+ ${error.phase ? `<p>Phase: ${escapeHtml(error.phase)}</p>` : ""}${failed ? `<p class="at">${escapeHtml(failed)}</p>` : ""}${compare}${difference}${at}${inStep}${stack}${renderScenario(error.scenario)}${renderNetwork(error.network)}
577
661
  </div>`;
578
662
  }
579
- function renderSteps(steps) {
663
+ /**
664
+ * The app's last Logic network calls before the failure: when each started
665
+ * relative to the first, what it asked, what came back and whether a route
666
+ * or the real network answered.
667
+ */
668
+ /** The scenario a failed spec had installed: each rule and its hits. */
669
+ export function renderScenario(scenario) {
670
+ if (!scenario)
671
+ return "";
672
+ const rows = scenario.rules.map((rule) => `<tr>
673
+ <td>rule ${rule.index}</td>
674
+ <td><code>${escapeHtml(rule.target)}</code></td>
675
+ <td class="${rule.hits === 0 ? "fail" : ""}">answered ${rule.hits}×</td>
676
+ </tr>`).join("");
677
+ return `<details class="network" open>
678
+ <summary>Scenario ${escapeHtml(scenario.label)} &middot; ${scenario.rules.length} rule${scenario.rules.length === 1 ? "" : "s"}</summary>
679
+ <table class="net"><tbody>${rows}</tbody></table>
680
+ </details>`;
681
+ }
682
+ export function renderNetwork(calls) {
683
+ if (!calls || calls.length === 0)
684
+ return "";
685
+ const first = calls[0].time;
686
+ const rows = calls.map((call) => {
687
+ const outcome = call.status !== null && call.status !== undefined
688
+ ? String(call.status)
689
+ : call.error ?? "pending";
690
+ const failed = call.error !== undefined || (typeof call.status === "number" && call.status >= 400);
691
+ const answeredBy = call.answeredBy ?? (call.source === "route" ? "route" : "network");
692
+ const title = call.noMatch ?? call.route?.pattern ?? "";
693
+ const source = call.source === "route"
694
+ ? `<span class="net-route" title="${escapeHtml(title)}">${escapeHtml(answeredBy)}</span>`
695
+ : `<span class="net-real" title="${escapeHtml(title)}">${escapeHtml(answeredBy)}</span>`;
696
+ const isFunction = call.kind === "function";
697
+ const outcomeText = isFunction ? call.outcome ?? outcome : outcome;
698
+ return `<tr>
699
+ <td class="net-time">+${Math.max(0, call.time - first)}ms</td>
700
+ <td><code>${isFunction ? "fn" : escapeHtml(call.method)}</code>${call.kind === "sse" ? " <span class=\"net-kind\">sse</span>" : ""}</td>
701
+ <td class="net-url">${escapeHtml(isFunction ? call.function ?? "" : call.url)}</td>
702
+ <td class="${failed ? "fail" : ""}">${escapeHtml(outcomeText)}</td>
703
+ <td class="net-time">${call.durationMs === null || call.durationMs === undefined ? "—" : `${call.durationMs}ms`}</td>
704
+ <td>${source}</td>
705
+ </tr>`;
706
+ }).join("");
707
+ return `<details class="network" open>
708
+ <summary>Logic network &middot; last ${calls.length} call${calls.length === 1 ? "" : "s"}</summary>
709
+ <table class="net"><thead><tr><th>at</th><th>method</th><th>url</th><th>result</th><th>took</th><th>answered by</th></tr></thead><tbody>${rows}</tbody></table>
710
+ </details>`;
711
+ }
712
+ /**
713
+ * One line naming the failed action, the page that was current and the code,
714
+ * e.g. `failed at page.click [data-testid=save] on page "devices" (#a1b2) — E_PAGE_NOT_ACTIVE`.
715
+ * `undefined` when the failure names neither an action nor a page.
716
+ */
717
+ export function failedAt(error) {
718
+ if (!error.failedAction && !error.page)
719
+ return undefined;
720
+ let line = error.failedAction ? `failed at ${error.failedAction}` : "failed";
721
+ if (error.page) {
722
+ if (error.page.name)
723
+ line += ` on page ${JSON.stringify(error.page.name)}`;
724
+ else
725
+ line += " on page";
726
+ if (error.page.instanceId)
727
+ line += ` (#${error.page.instanceId})`;
728
+ if (error.page.hidden)
729
+ line += `; ${error.page.hidden}`;
730
+ }
731
+ if (error.code)
732
+ line += ` — ${error.code}`;
733
+ return line;
734
+ }
735
+ function renderSteps(steps, item) {
580
736
  if (steps.length === 0)
581
737
  return "";
582
738
  const total = Math.max(1, ...steps.map((step) => step.duration_ms));
@@ -593,22 +749,31 @@ function renderSteps(steps) {
593
749
  return `<li class="step${action ? " action" : ""}">
594
750
  <div class="step-head">
595
751
  ${badge}${label}
596
- <span class="step-time">${step.duration_ms}ms</span>
752
+ <span class="step-time">${step.duration_unknown ? "duration unknown" : `${step.duration_ms}ms`}</span>
597
753
  <span class="step-bar"><span style="width:${width}%"></span></span>
598
754
  </div>
599
- ${err}${renderAssertions(step.assertions ?? [], "")}${renderSteps(step.steps ?? [])}
755
+ ${err}${renderAssertions(step.assertions ?? [], "")}${renderAttachmentRefs(step.attachments ?? [], item)}${renderObservedNetwork(step, item)}${renderSteps(step.steps ?? [], item)}
600
756
  </li>`;
601
757
  }).join("");
602
758
  return `<ul class="steps">${items}</ul>`;
603
759
  }
760
+ function renderObservedNetwork(step, item) {
761
+ if (step.kind === "action")
762
+ return "";
763
+ const calls = (item.network_calls ?? []).filter((call) => call.observed_during === step.path);
764
+ if (calls.length === 0)
765
+ return "";
766
+ const rows = calls.map((call) => `<li>${describeCall(call)}</li>`).join("");
767
+ return `<details class="network"><summary>${calls.length} network call${calls.length === 1 ? "" : "s"} started during this step</summary><ul>${rows}</ul><p>Time-window observation; this step is not proven to have caused the call.</p></details>`;
768
+ }
604
769
  function renderAssertions(assertions, caption) {
605
770
  if (assertions.length === 0)
606
771
  return "";
607
772
  const rows = assertions.map((entry) => `<tr class="${entry.passed ? "row-pass" : "row-fail"}">
608
773
  <td class="${entry.passed ? "pass" : "fail"}">${entry.passed ? "pass" : "fail"}</td>
609
- <td><code>${escapeHtml(entry.matcher)}</code></td>
774
+ <td><code>${escapeHtml(entry.matcher)}</code>${entry.target ? `<div>${escapeHtml(entry.target)}</div>` : ""}${entry.message ? `<div>${escapeHtml(entry.message)}</div>` : ""}${entry.location ? `<small>${escapeHtml(entry.location)}</small>` : ""}</td>
610
775
  <td>${escapeHtml(entry.expected)}</td>
611
- <td>${escapeHtml(entry.actual)}</td>
776
+ <td>${escapeHtml(entry.actual)}${entry.difference ? `<div class="diff-hint">${escapeHtml(entry.difference)}</div>` : ""}${entry.duration_ms === undefined ? "" : `<small>${entry.duration_ms}ms</small>`}</td>
612
777
  </tr>`).join("");
613
778
  return `<table class="assertions">
614
779
  ${caption ? `<caption>${escapeHtml(caption)}</caption>` : ""}
@@ -662,7 +827,8 @@ export function clearInline() {
662
827
  inlineStore.clear();
663
828
  }
664
829
  function inlineFromAttachments(name, item) {
665
- return inlineStore.get(item.id)?.get(name);
830
+ const prefix = `${encodeURIComponent(item.id)}${item.repeat === undefined ? "" : `/repeat-${item.repeat}`}`;
831
+ return inlineStore.get(`${prefix}/attempt-${item.attempt ?? 0}`)?.get(name) ?? inlineStore.get(item.id)?.get(name);
666
832
  }
667
833
  export function dataUrl(mimeType, base64) {
668
834
  return `data:${mimeType};base64,${base64}`;
@@ -854,6 +1020,17 @@ pre.message { background:var(--panel); border:1px solid var(--line); border-radi
854
1020
  .side.expected pre { border-left:3px solid var(--pass); }
855
1021
  .side.actual pre { border-left:3px solid var(--fail); }
856
1022
  .at { margin:8px 0 0; color:var(--muted); font-size:12px; font-family:var(--mono); }
1023
+ .network { margin-top:8px; }
1024
+ .network summary { cursor:pointer; color:var(--muted); font-size:12px; }
1025
+ .net { width:100%; border-collapse:collapse; margin-top:6px; font-size:12px; background:var(--panel);
1026
+ border:1px solid var(--line); border-radius:8px; }
1027
+ .net th, .net td { text-align:left; padding:4px 8px; border-bottom:1px solid var(--line); vertical-align:top; }
1028
+ .net th { font-weight:500; color:var(--muted); }
1029
+ .net-url { font-family:var(--mono); word-break:break-all; }
1030
+ .net-time { font-family:var(--mono); color:var(--muted); white-space:nowrap; }
1031
+ .net td.fail { color:var(--fail); }
1032
+ .net-route { color:var(--skip); font-weight:500; }
1033
+ .net-real, .net-kind { color:var(--muted); }
857
1034
  .stack { margin-top:8px; }
858
1035
  .stack summary { cursor:pointer; color:var(--muted); font-size:12px; }
859
1036
  .stack pre { margin-top:6px; background:var(--panel); border:1px solid var(--line); border-radius:8px; padding:10px 12px; max-height:280px; overflow:auto; }
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAQzC,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,UAAU,GAEX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAErD,2DAA2D;AAC3D,MAAM,YAAY,GAAiB;IACjC,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;CACV,CAAC;AAEF,MAAM,YAAY,GAA+B;IAC/C,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,WAAW;IACpB,KAAK,EAAE,eAAe;IACtB,KAAK,EAAE,iBAAiB;CACzB,CAAC;AAmCF,MAAM,UAAU,UAAU,CAAC,MAAkB;IAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAC1F,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAElC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,+DAA+D;IAC/D,MAAM,OAAO,GAAG,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;IAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;IACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;IACxD,8EAA8E;IAC9E,MAAM,WAAW,GAAG,CAAC,OAAO,IAAI,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC;SACvD,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,UAAU,CAAC;SACf,IAAI,CAAC,YAAY,CAAC,CAAC;IACtB,MAAM,aAAa,GACjB,GAAG,OAAO,IAAI,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC;IACtE,MAAM,KAAK,GAAG;QACZ,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAClG,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,EAAE,GAAG,YAAY,IAAI,OAAO,EAAE,CAAC;QAC5C,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;aACpB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,WAAW,CAAC;aAC5D,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;KAC3C,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEX,MAAM,KAAK,GAAG;QACZ,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,oDAAoD,CAAC,CAAC,CAAC,CAAC,EAAE;QAC3F,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,gDAAgD,CAAC,CAAC,CAAC,CAAC,EAAE;KAC1F,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE3B,OAAO;;;;;SAKA,UAAU,CAAC,aAAa,CAAC;SACzB,KAAK;;;;;wBAKU,OAAO,CAAC,IAAI;;;2BAGT,WAAW;kCACJ,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC;wBACnC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;2BACvB,KAAK;QACxB,KAAK,CAAC,CAAC,CAAC,sBAAsB,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE;;MAElD,WAAW,CAAC,MAAM,CAAC;;;;MAInB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,yBAAyB,CAAC;MAChE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC,gBAAgB,SAAS,CAAC;MAClF,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;MAChD,KAAK,CAAC,OAAO;QACb,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,UAAU,sCAAsC,CAAC;QACtJ,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,CAAC,YAAY,uBAAuB,CAAC;;;IAGrG,SAAS,CAAC,MAAM,CAAC;;;;;QAKb,UAAU,CAAC,KAAK,EAAE,OAAO,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;QAClD,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;SAC3D,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;SAC9G,IAAI,CAAC,EAAE,CAAC;;;;;;;;IAQb,cAAc,CAAC,MAAM,CAAC;IACtB,aAAa,CAAC,MAAM,CAAC;;;MAGnB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;;;;mBAKrC,UAAU,CAAC,YAAY,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC;;;UAGxD,MAAM;;QAER,CAAC;AACT,CAAC;AAED,wEAAwE;AACxE,yEAAyE;AACzE,wEAAwE;AAExE,SAAS,WAAW,CAAC,KAAmB;IACtC,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAiB,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC;QACnC,IAAI,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YAC5B,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,OAAO,CAAC,MAAkB,EAAE,MAAkB;IACrD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,QAAQ,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC;QACpC,KAAK,QAAQ,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC;QACpC,KAAK,SAAS,CAAC,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC;QACtC,KAAK,SAAS,CAAC,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC;QACtC,KAAK,OAAO,CAAC,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC;QAClC,KAAK,OAAO,CAAC,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC;QAClC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,MAAkB;IAUtC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACrC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC;QAC1B,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;QACjE,KAAK,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACvD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,OAAO;QACL,UAAU;QACV,gBAAgB;QAChB,KAAK;QACL,cAAc,EAAE,KAAK,CAAC,SAAS;QAC/B,UAAU,EAAE,KAAK,CAAC,KAAK;QACvB,UAAU,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM;QAC1E,YAAY,EAAE,MAAM,CAAC,IAAI;QACzB,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAmB;IACrC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACpE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,MAAkB;IACnC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;IAC7D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO;YACL,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,+CAA+C,MAAM,CAAC,MAAM,OAAO,MAAM,CAAC,KAAK,uBAAuB;YAC9G,IAAI,EAAE,WAAW;SAClB,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACf,OAAO;YACL,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,MAAM,KAAK,CAAC;gBAClB,CAAC,CAAC,mCAAmC;gBACrC,CAAC,CAAC,GAAG,MAAM,qCAAqC;YAClD,IAAI,EAAE,WAAW;SAClB,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC1F,CAAC;IACD,OAAO;QACL,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,CAAC;YACxB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,+BAA+B,MAAM,CAAC,OAAO,gBAAgB;YAC/E,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,6BAA6B;QACrD,IAAI,EAAE,WAAW;KAClB,CAAC;AACJ,CAAC;AAED,wEAAwE;AACxE,yEAAyE;AACzE,wEAAwE;AAExE,SAAS,IAAI,CAAC,GAAW,EAAE,KAAa;IACtC,OAAO,yBAAyB,UAAU,CAAC,GAAG,CAAC,OAAO,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC;AACnF,CAAC;AAED,SAAS,IAAI,CAAC,IAAY,EAAE,IAAY;IACtC,OAAO,6BAA6B,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AACrF,CAAC;AAED,SAAS,MAAM,CAAC,KAAa,EAAE,KAAa,EAAE,IAAY;IACxD,OAAO,2BAA2B,UAAU,CAAC,KAAK,CAAC,YAAY,UAAU,CAAC,KAAK,CAAC,eAAe,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC;AAClI,CAAC;AAED,SAAS,WAAW,CAAC,MAAkB;IACrC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;IAC5F,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACvC,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAChE,OAAO,6CAA6C,UAAU,CAAC,OAAO,CAAC;;;;4BAI7C,IAAI,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;;;uCAGtC,UAAU,CAAC,OAAO,CAAC;SACjD,CAAC;AACV,CAAC;AAED,SAAS,SAAS,CAAC,MAAkB;IACnC,MAAM,QAAQ,GAAG,YAAY;SAC1B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;SAC7D,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACtC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,QAAQ;SACnB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,KAAK,CAAC,KAAK;eACvE,UAAU,CAAC,GAAG,KAAK,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC;SAChF,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,2CAA2C,UAAU,CAC1D,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACnF,KAAK,KAAK,gCAAgC,KAAK,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,aAAa,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;AACtI,CAAC;AAED,SAAS,UAAU,CAAC,MAAc,EAAE,KAAa,EAAE,OAAgB,EAAE,SAAiB;IACpF,OAAO,qCAAqC,SAAS,kBAAkB,UAAU,CAAC,MAAM,CAAC,mBAAmB,OAAO,KAAK,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC;AACvJ,CAAC;AAED,wEAAwE;AACxE,yEAAyE;AACzE,wEAAwE;AAExE,SAAS,UAAU;IACjB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAC5F,CAAC;AAED,SAAS,aAAa,CAAC,MAAkB,EAAE,WAAoB;IAC7D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC7C,MAAM,KAAK,GAAG,CAAC,IAAY,EAAc,EAAE;QACzC,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,UAAU,EAAE,CAAC;YACrB,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,uEAAuE;IACvE,4EAA4E;IAC5E,wDAAwD;IACxD,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,MAAM,UAAU,IAAI,mBAAmB,EAAE,CAAC;YAC7C,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC;gBAAE,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,2EAA2E;QAC3E,mEAAmE;QACnE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC;QACxC,wEAAwE;QACxE,kEAAkE;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC1D,0EAA0E;YAC1E,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC;gBAAE,SAAS;YAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,yEAAyE;YACzE,6DAA6D;YAC7D,IAAI,SAAS,EAAE,CAAC;gBACd,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;gBACnB,SAAS;YACX,CAAC;YACD,6DAA6D;YAC7D,sEAAsE;YACtE,8DAA8D;YAC9D,IACE,QAAQ;gBACR,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;gBACtB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,EACtE,CAAC;gBACD,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;gBACzB,SAAS;YACX,CAAC;YACD,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,MAA+B;IAClD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC7C,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,KAAiC,EAAc,EAAE;QAC9E,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YAC3D,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9C,qEAAqE;QACrE,sEAAsE;QACtE,MAAM,KAAK,GAAG,UAAU;YACtB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC;YAC5C,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACjC,IAAI,KAAK,CAAC,SAAS;YAAE,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;QAC1C,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS;YAAE,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;IACvD,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED,SAAS,cAAc,CAAC,MAA+B,EAAE,KAAsB;IAK7E,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,UAAU,IAAI,mBAAmB,EAAE,CAAC;QAC7C,IAAI,UAAU,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,SAAS;QAC1E,KAAK,IAAI,CAAC,CAAC;QACX,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,IAAI,KAAK,CAAC,SAAS;YAAE,SAAS,IAAI,CAAC,CAAC;QACpC,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS;YAAE,KAAK,IAAI,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACrC,CAAC;AAED,SAAS,OAAO,CAAC,IAAY,EAAE,KAAa;IAC1C,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AAClE,CAAC;AAED,SAAS,cAAc,CAAC,MAAkB;IACxC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACvD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAW;SACtD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CACnC,KAAK,EACL,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,EAC/C,MAAM,EACN,OAAO,CACR,CAAC;SACD,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;IAClE,MAAM,OAAO,GAAG,OAAO;QACrB,CAAC,CAAC;gCAC0B,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,KAAK;SACrD,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,sBAAsB;QACvG,CAAC,CAAC;gCAC0B,MAAM,IAAI,QAAQ,CAAC,MAAM,wDAAwD,CAAC;IAChH,OAAO;eACM,OAAO;;;;;;;UAOZ,OAAO,CAAC,CAAC,CAAC,yEAAyE,CAAC,CAAC,CAAC,EAAE;;QAE1F,QAAQ;;aAEH,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAiC,EACjC,MAAoB,EACpB,MAA+B,EAC/B,OAAgB;IAEhB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,KAAK,KAAK,QAAQ;QAC7B,CAAC,CAAC,GAAG,IAAI,qCAAqC;QAC9C,CAAC,CAAC,OAAO;YACP,CAAC,CAAC,CAAC,GAAG,EAAE;gBACJ,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC7C,OAAO,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,uBAAuB,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,QAAQ,CAAC;YACxG,CAAC,CAAC,EAAE;YACN,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,IAAI,YAAY,CAAC;IACrF,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAChC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS;gBAC3B,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,KAAK,CAAC,KAAK;oBACX,CAAC,CAAC,aAAa;oBACf,CAAC,CAAC,KAAK,CAAC,WAAW;wBACjB,CAAC,CAAC,eAAe;wBACjB,CAAC,CAAC,KAAK,CAAC,QAAQ;4BACd,CAAC,CAAC,eAAe;4BACjB,CAAC,CAAC,YAAY,CAAC;YACvB,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,SAAS;gBAChD,CAAC,CAAC,eAAe,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,yCAAyC;gBAChF,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;oBACtB,CAAC,CAAC,cAAc,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACxC,CAAC,CAAC,2BAA2B,CAAC;YAClC,OAAO,sBAAsB,KAAK,YAAY,UAAU,CAAC,IAAI,CAAC;uBAC7C,UAAU,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;QAChG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACZ,OAAO;YACC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM;gCAClD,KAAK;WAC1B,CAAC;IACV,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO;qCAC4B,UAAU,CAAC,KAAK,CAAC,WAAW,IAAI;8BACvC,IAAI;aACrB,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,MAAkB;IACvC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK;SACxB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;SAC3C,KAAK,EAAE;SACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;SAC7C,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACf,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC,WAAW,IAAI,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;2BACT,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;wBACjD,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC;6CACX,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;UAC1F,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnB,OAAO;;;4DAGmD,IAAI;aACnD,CAAC;AACd,CAAC;AAED,wEAAwE;AACxE,yEAAyE;AACzE,wEAAwE;AAExE,SAAS,WAAW,CAAC,KAAY;IAC/B,MAAM,MAAM,GAAG,YAAY;SACxB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SACjG,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;SAClC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,KAAK,IAAI,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;SAC1H,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC9E,OAAO,sCAAsC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;;iCAEpC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;iCACtB,MAAM,sBAAsB,cAAc,CAAC,QAAQ,CAAC;;MAE/E,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;aACzD,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,IAAgB,EAAE,SAAiB;IACrD,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IACxE,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,GAAG,aAAa,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QACnC,CAAC,CAAC,uBAAuB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,qBAAqB,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ;QACjH,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACrF,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAC9D,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS;YACzB,CAAC,CAAC,8EAA8E;YAChF,CAAC,CAAC,+DAA+D;QACnE,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,MAAM,MAAM,GAAG;QACb,IAAI,CAAC,EAAE;QACP,IAAI,CAAC,KAAK;QACV,IAAI,CAAC,MAAM;QACX,SAAS;QACT,IAAI,CAAC,MAAM,IAAI,EAAE;QACjB,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE;QACzB,GAAG,IAAI,CAAC,MAAM;QACd,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;KACnF,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC;QACtC,CAAC,CAAC,aAAa,aAAa,aAAa,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,aAAa,CAAC,CAAC,CAAC,KAAK,aAAa,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;QACnI,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvG,OAAO,wBAAwB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;mBAChE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI;;2BAE3D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;iCACpE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;gCACvB,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC;;;8BAGlC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,KAAK,GAAG,UAAU;QACrE,MAAM;QACN,MAAM;QACN,KAAK;QACL,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;QACvB,gBAAgB,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE,iBAAiB,CAAC;QAC1D,KAAK;QACL,KAAK;QACL,KAAK;;aAEA,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,IAAgB;IACzC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QACjD,MAAM,OAAO,GAAG,qBAAqB,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7D,sEAAsE;QACtE,sEAAsE;QACtE,MAAM,IAAI,GAAG,yBAAyB,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QACxG,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,OAAO;oBACO,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,OAAO;sBAClD,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,IAAI;gBAClD,CAAC;QACb,CAAC;QACD,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO;mBACM,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI;eACvC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;iBACtB,CAAC;QACd,CAAC;QACD,OAAO,iCAAiC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC;IAC1F,CAAC,CAAC,CAAC;IACH,OAAO,4CAA4C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;AAC7E,CAAC;AAED,SAAS,WAAW,CAAC,IAAgB;IACnC,IAAI,CAAC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;QACxE,CAAC,CAAC;2DACqD,UAAU,CAAC,KAAK,CAAC,QAAQ,IAAI,GAAG,CAAC;uDACrC,UAAU,CAAC,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC;aACzE;QACT,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAoB,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACtF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,+BAA+B,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IACpG,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK;QACvB,CAAC,CAAC,uDAAuD,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB;QAClG,CAAC,CAAC,EAAE,CAAC;IACP,OAAO;UACC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;2BAClF,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;MAC9C,OAAO,GAAG,EAAE,GAAG,MAAM,GAAG,KAAK;SAC1B,CAAC;AACV,CAAC;AAED,SAAS,WAAW,CAAC,KAAmB;IACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,wBAAwB,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7F,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM;YAClB,CAAC,CAAC,6BAA6B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAChD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,gCAAgC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EACnF,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,gCAAgC,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9E,CAAC,CAAC,2BAA2B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QAC9D,MAAM,KAAK,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;YAC9C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,yBAAyB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACpF,OAAO,kBAAkB,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;;UAE1C,KAAK,GAAG,KAAK;kCACW,IAAI,CAAC,WAAW;oDACE,KAAK;;QAEjD,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;UAC/E,CAAC;IACT,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,qBAAqB,KAAK,OAAO,CAAC;AAC3C,CAAC;AAED,SAAS,gBAAgB,CAAC,UAA6B,EAAE,OAAe;IACtE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;mBAC1E,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;kBAClE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;YAC/B,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC;YAC1B,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;UAC1B,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnB,OAAO;MACH,OAAO,CAAC,CAAC,CAAC,YAAY,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;;aAEnD,IAAI;WACN,CAAC;AACZ,CAAC;AAED,wEAAwE;AACxE,yEAAyE;AACzE,wEAAwE;AAExE,SAAS,iBAAiB,CAAC,IAAgB;IACzC,MAAM,GAAG,GAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,CAAC,KAAmB,EAAE,EAAE;QACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACvB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,QAAQ,CAAC,MAAkB;IAClC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,OAAO,CAAC;AAC3E,CAAC;AAED,SAAS,IAAI,CAAC,MAA2B;IACvC,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,OAAO;QAAE,OAAO,MAAM,CAAC;IAC7D,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACxC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,IAAI,EAAE,GAAG,IAAI;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC;IAC5C,IAAI,EAAE,GAAG,KAAM;QAAE,OAAO,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,KAAM,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,CAAC,CAAC,EAAE,GAAG,KAAM,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACnE,OAAO,GAAG,OAAO,KAAK,OAAO,GAAG,CAAC;AACnC,CAAC;AASD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAgC,CAAC;AAE5D,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,IAAY,EAAE,OAAgB;IAC3E,IAAI,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACnB,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,WAAW,CAAC,KAAK,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY,EAAE,IAAgB;IAC3D,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,QAAgB,EAAE,MAAc;IACtD,OAAO,QAAQ,QAAQ,WAAW,MAAM,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,KAAmB;IAEnB,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACzG,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;YAAE,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;aAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;YAAE,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;aACjD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;aACnD,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO;YAAE,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;aAC/C,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO;YAAE,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;aAC/C,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,wEAAwE;AACxE,yEAAyE;AACzE,wEAAwE;AAExE,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoNb,CAAC;AAEF,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwFd,CAAC"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * `@lingxia/test/runner`: what runs specs and renders their results — lxdev
3
+ * drives it through the runtime's global controller, and this package's own
4
+ * tests import it. A suite rarely needs it: `rawAutomation()` for setup a
5
+ * run needs before any spec, `trackPublicSurface` for a conformance suite.
6
+ */
7
+ export { run, list, reset, rawAutomation, trackPublicSurface } from "./runtime.js";
8
+ export { renderJUnit } from "./junit.js";
9
+ export { PUBLIC_CAPABILITIES } from "./inventory.js";
10
+ export type { Capability, CapabilityLayer } from "./inventory.js";
11
+ export { VERSION, PACKAGE_NAME, DEFAULT_ACTION_TIMEOUT_MS, DEFAULT_SPEC_TIMEOUT_MS, } from "./version.js";
12
+ export type { LingxiaTestController } from "./host-types.js";
13
+ //# sourceMappingURL=runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EACL,OAAO,EACP,YAAY,EACZ,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/runner.js ADDED
@@ -0,0 +1,11 @@
1
+ /**
2
+ * `@lingxia/test/runner`: what runs specs and renders their results — lxdev
3
+ * drives it through the runtime's global controller, and this package's own
4
+ * tests import it. A suite rarely needs it: `rawAutomation()` for setup a
5
+ * run needs before any spec, `trackPublicSurface` for a conformance suite.
6
+ */
7
+ export { run, list, reset, rawAutomation, trackPublicSurface } from "./runtime.js";
8
+ export { renderJUnit } from "./junit.js";
9
+ export { PUBLIC_CAPABILITIES } from "./inventory.js";
10
+ export { VERSION, PACKAGE_NAME, DEFAULT_ACTION_TIMEOUT_MS, DEFAULT_SPEC_TIMEOUT_MS, } from "./version.js";
11
+ //# sourceMappingURL=runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EACL,OAAO,EACP,YAAY,EACZ,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,cAAc,CAAC"}
package/dist/runtime.d.ts CHANGED
@@ -1,21 +1,47 @@
1
1
  import { expect } from "./expect.js";
2
2
  import { type StackFrame } from "./ids.js";
3
3
  import type { SpecApi } from "./spec-api.js";
4
- import type { Fixture, ProtocolReport, SpecBody, SpecOptions } from "./types.js";
4
+ import type { Fixture, RejectExpected, SpecBody, SpecOptions, SpecStart } from "./types.js";
5
+ import type { CaseRecord, FailureRecord, ProtocolReport } from "./report-types.js";
6
+ import type { HostRunAutomation } from "@lingxia/types/automation";
5
7
  type Annotation = "default" | "skip" | "only" | "fixme" | "fail";
6
8
  interface RegisteredSpec {
7
9
  title: string;
8
10
  id?: string;
9
11
  covers: string[];
12
+ /** The spec's own tags; the file's `spec.configure` tags join at run start. */
13
+ tags: string[];
10
14
  timeout: number;
11
- fresh: boolean;
15
+ timeoutCleanup?: number;
16
+ start?: SpecStart;
17
+ restoreProfile: boolean;
18
+ /** `restoreProfile: { keep }`: storage key globs the rollback keeps. */
19
+ restoreKeep?: string[];
12
20
  app?: string;
13
21
  forensics: boolean;
14
22
  reason?: string;
23
+ /** Run inputs the spec needs; unmet, it is skipped. */
24
+ requires: {
25
+ args: string[];
26
+ openapi: boolean;
27
+ };
28
+ /**
29
+ * The options the spec was registered with. The fields above are settled
30
+ * from them and its file's `spec.configure()` defaults when the run starts
31
+ * (the file is only known then).
32
+ */
33
+ own: SpecOptions;
34
+ /** `spec.fail` only: the failure the body is expected to produce. */
35
+ expected?: RejectExpected;
15
36
  annotation: Annotation;
16
37
  body: SpecBody;
17
38
  frames: StackFrame[];
18
- indexInFile: number;
39
+ /**
40
+ * 1-based position among the specs of the same file that need a generated
41
+ * id (no `id`, no ASCII slug). Assigned when the run starts: the file is
42
+ * only known once the bundle's source map is installed.
43
+ */
44
+ indexInFile?: number;
19
45
  }
20
46
  /**
21
47
  * Measure this run against the whole public `lx` surface, not just the tags
@@ -26,8 +52,33 @@ interface RegisteredSpec {
26
52
  declare function trackPublicSurface(): void;
27
53
  declare const spec: SpecApi;
28
54
  declare function resolvedId(item: RegisteredSpec): string;
55
+ /**
56
+ * The untraced automation root of this run, with host authority. Specs drive
57
+ * the app through `t.app` / `t.automation`, which trace every call and stop
58
+ * with the spec; use this only where no fixture exists (a setup file that
59
+ * waits for the app before the first spec) or to reach the raw driver, e.g.
60
+ * `rawAutomation().lxapp().eval({ script })`.
61
+ */
62
+ export declare function rawAutomation(): HostRunAutomation;
63
+ /**
64
+ * The run budget lxdev asked for: a fixed `budgetMs`, or scaled to the
65
+ * planned executions — `max(budgetMinMs, planned × budgetPerSpecMs)`, capped
66
+ * at `budgetMaxMs`. `undefined` when lxdev sent neither (an older lxdev: the
67
+ * host's own deadline is the only budget).
68
+ */
69
+ export declare function runBudget(control: Record<string, string>, planned: number): {
70
+ ms: number;
71
+ auto: boolean;
72
+ } | undefined;
73
+ /** Seeded Fisher–Yates (mulberry32), so a printed seed reproduces the order. */
74
+ export declare function shuffleWithSeed<T>(items: readonly T[], seed: number): T[];
75
+ /** Run the selected specs. */
29
76
  declare function run(): Promise<ProtocolReport>;
77
+ /** `lxdev test --list`: the selected specs, in `listed`; nothing runs. */
78
+ declare function list(): Promise<ProtocolReport>;
79
+ /** `failures[]`: every failing case, flat, with what failed and where. */
80
+ export declare function failureRecords(cases: CaseRecord[]): FailureRecord[];
30
81
  declare function reset(): void;
31
- export { spec, expect, run, reset, resolvedId, trackPublicSurface };
82
+ export { spec, expect, run, list, reset, resolvedId, trackPublicSurface };
32
83
  export type { SpecOptions, SpecBody, Fixture };
33
84
  //# sourceMappingURL=runtime.d.ts.map