@polishd/next 0.2.3-dev.3 → 0.2.3-dev.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/CHANGELOG.md +39 -23
  2. package/README.md +5 -7
  3. package/bin/init.mjs +1 -4
  4. package/dist/ai/actions.d.ts +7 -1
  5. package/dist/ai/actions.d.ts.map +1 -1
  6. package/dist/ai/actions.js +10 -0
  7. package/dist/ai/actions.js.map +1 -1
  8. package/dist/ai/fix.d.ts +14 -0
  9. package/dist/ai/fix.d.ts.map +1 -0
  10. package/dist/ai/fix.js +254 -0
  11. package/dist/ai/fix.js.map +1 -0
  12. package/dist/ai/issues.d.ts +12 -0
  13. package/dist/ai/issues.d.ts.map +1 -1
  14. package/dist/ai/issues.js +16 -2
  15. package/dist/ai/issues.js.map +1 -1
  16. package/dist/ai/types.d.ts +49 -0
  17. package/dist/ai/types.d.ts.map +1 -1
  18. package/dist/dashboard/index.d.ts.map +1 -1
  19. package/dist/dashboard/index.js +4 -2
  20. package/dist/dashboard/index.js.map +1 -1
  21. package/dist/dashboard/issue-list.d.ts +11 -0
  22. package/dist/dashboard/issue-list.d.ts.map +1 -0
  23. package/dist/dashboard/issue-list.js +159 -0
  24. package/dist/dashboard/issue-list.js.map +1 -0
  25. package/dist/dashboard/issues.d.ts +31 -2
  26. package/dist/dashboard/issues.d.ts.map +1 -1
  27. package/dist/dashboard/issues.js +4 -71
  28. package/dist/dashboard/issues.js.map +1 -1
  29. package/dist/dashboard/markdown-parse.d.ts +87 -0
  30. package/dist/dashboard/markdown-parse.d.ts.map +1 -0
  31. package/dist/dashboard/markdown-parse.js +244 -0
  32. package/dist/dashboard/markdown-parse.js.map +1 -0
  33. package/dist/dashboard/markdown.d.ts +5 -0
  34. package/dist/dashboard/markdown.d.ts.map +1 -0
  35. package/dist/dashboard/markdown.js +65 -0
  36. package/dist/dashboard/markdown.js.map +1 -0
  37. package/dist/dashboard/snapshot-actions.d.ts +5 -15
  38. package/dist/dashboard/snapshot-actions.d.ts.map +1 -1
  39. package/dist/dashboard/snapshot-actions.js +24 -64
  40. package/dist/dashboard/snapshot-actions.js.map +1 -1
  41. package/dist/dashboard/snapshots.d.ts.map +1 -1
  42. package/dist/dashboard/snapshots.js +8 -58
  43. package/dist/dashboard/snapshots.js.map +1 -1
  44. package/dist/dashboard.css +70 -18
  45. package/dist/server/snapshots.d.ts +6 -37
  46. package/dist/server/snapshots.d.ts.map +1 -1
  47. package/dist/server/snapshots.js +144 -271
  48. package/dist/server/snapshots.js.map +1 -1
  49. package/docs/SETUP.md +0 -10
  50. package/package.json +1 -1
@@ -10,7 +10,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
10
10
  * expands into a full-height lightbox.
11
11
  */
12
12
  import { useEffect, useState, useTransition } from "react";
13
- import { beginSnapshotCaptureAction, captureSnapshotRouteAction, finishSnapshotCaptureAction, getSnapshotImageAction, } from "./snapshot-actions";
13
+ import { captureSnapshotAction, getSnapshotImageAction } from "./snapshot-actions";
14
14
  import { border, card, labelCls, primaryBtn, relTime, RefreshIcon } from "./ui";
15
15
  const DEVICES = ["desktop", "phone"];
16
16
  const THEMES = ["light", "dark"];
@@ -53,7 +53,6 @@ export default function SnapshotsCard({ initial, captureIssue }) {
53
53
  const [error, setError] = useState(null);
54
54
  const [zoom, setZoom] = useState(null);
55
55
  const [pending, startCapture] = useTransition();
56
- const [progress, setProgress] = useState(null);
57
56
  const selected = snapshots.find((s) => s.id === selectedId) ?? snapshots[0] ?? null;
58
57
  // A site with no dark mode has its identical dark shots dropped at capture
59
58
  // time — hide the toggle rather than offering an empty view.
@@ -61,56 +60,13 @@ export default function SnapshotsCard({ initial, captureIssue }) {
61
60
  const capture = () => {
62
61
  setError(null);
63
62
  startCapture(async () => {
64
- // The capture is one action call per route, so no single request has to
65
- // outlive a serverless host's function time limit — and every await is
66
- // caught: a rejected action must land in the error box, never in the
67
- // error boundary (which would take the whole tab down).
68
- try {
69
- const begun = await beginSnapshotCaptureAction();
70
- if (!begun.ok) {
71
- setError(begun.message);
72
- return;
73
- }
74
- setProgress({ done: 0, total: begun.routes.length });
75
- const failed = [];
76
- let failure = null;
77
- for (const [i, route] of begun.routes.entries()) {
78
- try {
79
- const res = await captureSnapshotRouteAction(begun.id, route);
80
- if (!res.ok) {
81
- failed.push(route);
82
- failure = res.message;
83
- }
84
- }
85
- catch {
86
- failed.push(route);
87
- failure =
88
- "the request failed mid-shoot — usually a serverless function " +
89
- "time limit; the host's function logs will name the exact failure";
90
- }
91
- setProgress({ done: i + 1, total: begun.routes.length });
92
- }
93
- // Finish even when every route failed: it sweeps the capture's state
94
- // and reports "every page failed" — the per-route failure is more
95
- // specific, so it wins the error box when there is one.
96
- const fin = await finishSnapshotCaptureAction(begun.id);
97
- if (fin.ok) {
98
- setSnapshots((prev) => [fin.snapshot, ...prev]);
99
- setSelectedId(fin.snapshot.id);
100
- if (failed.length > 0) {
101
- setError(`${failed.length} of ${begun.routes.length} page${begun.routes.length === 1 ? "" : "s"} failed to capture (${failure}). The rest are in the snapshot.`);
102
- }
103
- }
104
- else {
105
- setError(failure ? `Capture failed: ${failure}.` : fin.message);
106
- }
63
+ const res = await captureSnapshotAction();
64
+ if (res.ok) {
65
+ setSnapshots((prev) => [res.snapshot, ...prev]);
66
+ setSelectedId(res.snapshot.id);
107
67
  }
108
- catch {
109
- setError("The capture failed before a result came back — your host's function " +
110
- "logs will name the exact failure.");
111
- }
112
- finally {
113
- setProgress(null);
68
+ else {
69
+ setError(res.message);
114
70
  }
115
71
  });
116
72
  };
@@ -125,13 +81,7 @@ export default function SnapshotsCard({ initial, captureIssue }) {
125
81
  // clicks group under these on the collecting side, so "does anyone shoot
126
82
  // a second snapshot?" is answerable. Inert for host apps.
127
83
  _jsxs("section", { "data-component": "design-snapshots", className: `mb-8 ${card} overflow-hidden`, children: [_jsxs("div", { className: `flex flex-wrap items-center justify-between gap-3 border-b ${border} px-4 py-3 sm:px-5`, children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: labelCls, children: "Site snapshots" }), selected && (_jsx("span", { className: "hidden rounded-full bg-[#1a1a1a] px-2 py-0.5 text-[10px] font-medium text-[#888] sm:inline", children: selected.origin }))] }), _jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [selected && (_jsxs(_Fragment, { children: [_jsx(TogglePills, { options: DEVICES, value: device, onChange: setDevice, component: "design-snapshot-device" }), !selected.noDarkMode && (_jsx(TogglePills, { options: THEMES, value: theme, onChange: setTheme, component: "design-snapshot-theme" })), snapshots.length > 1 && (_jsx("select", { "data-component": "design-snapshot-history", value: selected.id, onChange: (e) => setSelectedId(e.target.value), className: "rounded-md border border-[#2e2e2e] bg-[#111] px-2 py-1 text-[11px] text-[#aaa] focus:border-[#555] focus:outline-none", children: snapshots.map((s) => (_jsx("option", { value: s.id, children: relTime(s.capturedAt) }, s.id))) }))] })), _jsx("button", { type: "button", "data-component": "design-snapshot-capture", onClick: capture, disabled: pending || captureIssue !== null, title: captureIssue ??
128
- "Screenshot every scanned page — phone and desktop, light and dark", className: primaryBtn, children: _jsxs("span", { className: "flex items-center gap-1.5", children: [_jsx(RefreshIcon, { spinning: pending }), pending
129
- ? progress
130
- ? `Shooting page ${Math.min(progress.done + 1, progress.total)} of ${progress.total}…`
131
- : "Shooting pages…"
132
- : selected
133
- ? "Capture again"
134
- : "Capture snapshot"] }) })] })] }), _jsxs("div", { className: "px-4 py-4 sm:px-5 sm:py-5", children: [captureIssue && (_jsx("div", { className: "mb-3 rounded-md border border-amber-900/50 bg-amber-950/30 px-3 py-2 text-[12px] text-amber-400", children: captureIssue })), error && (_jsx("div", { className: "mb-3 rounded-md border border-red-900/50 bg-red-950/30 px-3 py-2 text-[12px] text-red-400", children: error })), pending && (_jsx("p", { className: "mb-3 text-[12px] text-[#888]", children: "Shooting every scanned page at two sizes in two themes, one page at a time \u2014 this can take a minute. Keep this tab open." })), !selected && !pending && (_jsx("p", { className: "text-[13px] leading-relaxed text-[#888]", children: "No snapshots yet. Capture one to see every page of the site as it renders right now \u2014 the \u201Cbefore\u201D to hold future design changes against." })), selected && (_jsxs(_Fragment, { children: [shots.length === 0 ? (_jsxs("p", { className: "text-[13px] text-[#888]", children: ["No ", device, "/", theme, " shots in this snapshot."] })) : (_jsx("div", { className: `grid gap-4 ${device === "phone"
84
+ "Screenshot every scanned page — phone and desktop, light and dark", className: primaryBtn, children: _jsxs("span", { className: "flex items-center gap-1.5", children: [_jsx(RefreshIcon, { spinning: pending }), pending ? "Shooting pages…" : selected ? "Capture again" : "Capture snapshot"] }) })] })] }), _jsxs("div", { className: "px-4 py-4 sm:px-5 sm:py-5", children: [captureIssue && (_jsx("div", { className: "mb-3 rounded-md border border-amber-900/50 bg-amber-950/30 px-3 py-2 text-[12px] text-amber-400", children: captureIssue })), error && (_jsx("div", { className: "mb-3 rounded-md border border-red-900/50 bg-red-950/30 px-3 py-2 text-[12px] text-red-400", children: error })), pending && (_jsx("p", { className: "mb-3 text-[12px] text-[#888]", children: "Shooting every scanned page at two sizes in two themes \u2014 this can take a minute. Keep this tab open." })), !selected && !pending && (_jsx("p", { className: "text-[13px] leading-relaxed text-[#888]", children: "No snapshots yet. Capture one to see every page of the site as it renders right now \u2014 the \u201Cbefore\u201D to hold future design changes against." })), selected && (_jsxs(_Fragment, { children: [shots.length === 0 ? (_jsxs("p", { className: "text-[13px] text-[#888]", children: ["No ", device, "/", theme, " shots in this snapshot."] })) : (_jsx("div", { className: `grid gap-4 ${device === "phone"
135
85
  ? "grid-cols-3 sm:grid-cols-5 lg:grid-cols-6"
136
86
  : "grid-cols-2 sm:grid-cols-3 lg:grid-cols-4"}`, children: shots.map((s) => (_jsx(ShotTile, { snapshotId: selected.id, shot: s, onZoom: (src, route) => setZoom({ src, route }) }, `${selected.id}|${s.file}`))) })), _jsxs("div", { className: "mt-3 flex flex-wrap items-center gap-x-3 gap-y-1 text-[11px] text-[#555]", children: [_jsxs("span", { children: ["Captured ", relTime(selected.capturedAt)] }), selected.noDarkMode && (_jsx("span", { className: "rounded-full bg-[#1a1a1a] px-2 py-0.5 text-[#777]", children: "Site renders identically in dark mode" })), skipped.length > 0 && (_jsxs("span", { className: "text-amber-400/80", children: [skipped.length, " page", skipped.length === 1 ? "" : "s", " skipped", skipped[0].skipped ? ` (${skipped[0].skipped})` : ""] })), selected.authWalled.length > 0 && (_jsxs("span", { className: "text-amber-400/80", children: ["behind login: ", selected.authWalled.slice(0, 3).join(", "), selected.authWalled.length > 3 ? ", …" : ""] }))] })] }))] }), zoom && (_jsx("div", { role: "dialog", "aria-label": `${zoom.route} screenshot`, onClick: () => setZoom(null), className: "fixed inset-0 z-50 flex cursor-zoom-out items-start justify-center overflow-y-auto bg-black/85 p-6", children: _jsx("img", { src: zoom.src, alt: `${zoom.route} full screenshot`, className: "w-full max-w-3xl rounded-md border border-[#333]" }) }))] }));
137
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"snapshots.js","sourceRoot":"","sources":["../../src/dashboard/snapshots.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshots.js","sourceRoot":"","sources":["../../src/dashboard/snapshots.tsx"],"names":[],"mappings":"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"}
@@ -93,6 +93,7 @@
93
93
  --color-purple-300: oklch(82.7% .119 306.383);
94
94
  --color-purple-400: oklch(71.4% .203 305.504);
95
95
  --color-purple-500: oklch(62.7% .265 303.9);
96
+ --color-purple-950: oklch(29.1% .149 302.717);
96
97
  --color-black: #000;
97
98
  --color-white: #fff;
98
99
  --spacing: .25rem;
@@ -401,6 +402,10 @@
401
402
  margin-inline: auto;
402
403
  }
403
404
 
405
+ .polishd-root.polishd-root .my-1 {
406
+ margin-block: var(--spacing);
407
+ }
408
+
404
409
  .polishd-root.polishd-root .mt-0\.5 {
405
410
  margin-top: calc(var(--spacing) * .5);
406
411
  }
@@ -657,10 +662,6 @@
657
662
  height: 1px;
658
663
  }
659
664
 
660
- .polishd-root.polishd-root .max-h-96 {
661
- max-height: calc(var(--spacing) * 96);
662
- }
663
-
664
665
  .polishd-root.polishd-root .max-h-\[80vh\] {
665
666
  max-height: 80vh;
666
667
  }
@@ -994,8 +995,12 @@
994
995
  resize: vertical;
995
996
  }
996
997
 
997
- .polishd-root.polishd-root .list-none {
998
- list-style-type: none;
998
+ .polishd-root.polishd-root .list-decimal {
999
+ list-style-type: decimal;
1000
+ }
1001
+
1002
+ .polishd-root.polishd-root .list-disc {
1003
+ list-style-type: disc;
999
1004
  }
1000
1005
 
1001
1006
  .polishd-root.polishd-root .grid-cols-1 {
@@ -1094,6 +1099,12 @@
1094
1099
  gap: 1px;
1095
1100
  }
1096
1101
 
1102
+ .polishd-root.polishd-root :where(.space-y-1 > :not(:last-child)) {
1103
+ --tw-space-y-reverse: 0;
1104
+ margin-block-start: calc(var(--spacing) * var(--tw-space-y-reverse));
1105
+ margin-block-end: calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)));
1106
+ }
1107
+
1097
1108
  .polishd-root.polishd-root :where(.space-y-1\.5 > :not(:last-child)) {
1098
1109
  --tw-space-y-reverse: 0;
1099
1110
  margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
@@ -1261,6 +1272,11 @@
1261
1272
  border-left-width: 1px;
1262
1273
  }
1263
1274
 
1275
+ .polishd-root.polishd-root .border-l-2 {
1276
+ border-left-style: var(--tw-border-style);
1277
+ border-left-width: 2px;
1278
+ }
1279
+
1264
1280
  .polishd-root.polishd-root .border-dashed {
1265
1281
  --tw-border-style: dashed;
1266
1282
  border-style: dashed;
@@ -1274,6 +1290,10 @@
1274
1290
  border-color: oklab(34.6182% -.0177443 -.0713795 / .6);
1275
1291
  }
1276
1292
 
1293
+ .polishd-root.polishd-root .border-\[\#1f1f1f\] {
1294
+ border-color: #1f1f1f;
1295
+ }
1296
+
1277
1297
  .polishd-root.polishd-root .border-\[\#2e2e2e\] {
1278
1298
  border-color: #2e2e2e;
1279
1299
  }
@@ -1560,6 +1580,10 @@
1560
1580
  background-color: var(--color-purple-500);
1561
1581
  }
1562
1582
 
1583
+ .polishd-root.polishd-root .bg-purple-950 {
1584
+ background-color: var(--color-purple-950);
1585
+ }
1586
+
1563
1587
  .polishd-root.polishd-root .bg-red-500 {
1564
1588
  background-color: var(--color-red-500);
1565
1589
  }
@@ -1740,6 +1764,10 @@
1740
1764
  padding-block: 1px;
1741
1765
  }
1742
1766
 
1767
+ .polishd-root.polishd-root .pt-1 {
1768
+ padding-top: var(--spacing);
1769
+ }
1770
+
1743
1771
  .polishd-root.polishd-root .pt-3 {
1744
1772
  padding-top: calc(var(--spacing) * 3);
1745
1773
  }
@@ -1820,6 +1848,10 @@
1820
1848
  padding-left: calc(var(--spacing) * 1.5);
1821
1849
  }
1822
1850
 
1851
+ .polishd-root.polishd-root .pl-3 {
1852
+ padding-left: calc(var(--spacing) * 3);
1853
+ }
1854
+
1823
1855
  .polishd-root.polishd-root .pl-4 {
1824
1856
  padding-left: calc(var(--spacing) * 4);
1825
1857
  }
@@ -1860,6 +1892,10 @@
1860
1892
  font-family: var(--font-sans);
1861
1893
  }
1862
1894
 
1895
+ .polishd-root.polishd-root .text-\[0\.92em\] {
1896
+ font-size: .92em;
1897
+ }
1898
+
1863
1899
  .polishd-root.polishd-root .text-\[8px\] {
1864
1900
  font-size: 8px;
1865
1901
  }
@@ -2160,6 +2196,10 @@
2160
2196
  color: #8a6a6a;
2161
2197
  }
2162
2198
 
2199
+ .polishd-root.polishd-root .text-\[\#8ab4f8\] {
2200
+ color: #8ab4f8;
2201
+ }
2202
+
2163
2203
  .polishd-root.polishd-root .text-\[\#444\] {
2164
2204
  color: #444;
2165
2205
  }
@@ -2442,14 +2482,6 @@
2442
2482
  transition-timing-function: var(--ease-out);
2443
2483
  }
2444
2484
 
2445
- .polishd-root.polishd-root .group-open\:hidden:is(:where(.group):is([open], :popover-open, :open) *) {
2446
- display: none;
2447
- }
2448
-
2449
- .polishd-root.polishd-root .group-open\:inline:is(:where(.group):is([open], :popover-open, :open) *) {
2450
- display: inline;
2451
- }
2452
-
2453
2485
  @media (hover: hover) {
2454
2486
  .polishd-root.polishd-root .group-hover\:scale-100:is(:where(.group):hover *) {
2455
2487
  --tw-scale-x: 100%;
@@ -2487,6 +2519,22 @@
2487
2519
  opacity: 1;
2488
2520
  }
2489
2521
 
2522
+ .polishd-root.polishd-root .marker\:text-\[\#555\] ::marker {
2523
+ color: #555;
2524
+ }
2525
+
2526
+ .polishd-root.polishd-root .marker\:text-\[\#555\]::marker {
2527
+ color: #555;
2528
+ }
2529
+
2530
+ .polishd-root.polishd-root .marker\:text-\[\#555\] ::-webkit-details-marker {
2531
+ color: #555;
2532
+ }
2533
+
2534
+ .polishd-root.polishd-root .marker\:text-\[\#555\]::-webkit-details-marker {
2535
+ color: #555;
2536
+ }
2537
+
2490
2538
  .polishd-root.polishd-root .placeholder\:text-\[\#555\]::placeholder {
2491
2539
  color: #555;
2492
2540
  }
@@ -2557,6 +2605,10 @@
2557
2605
  color: var(--color-white);
2558
2606
  }
2559
2607
 
2608
+ .polishd-root.polishd-root .hover\:underline:hover {
2609
+ text-decoration-line: underline;
2610
+ }
2611
+
2560
2612
  .polishd-root.polishd-root .hover\:opacity-90:hover {
2561
2613
  opacity: .9;
2562
2614
  }
@@ -2664,6 +2716,10 @@
2664
2716
  max-width: var(--container-md);
2665
2717
  }
2666
2718
 
2719
+ .polishd-root.polishd-root .sm\:max-w-xl {
2720
+ max-width: var(--container-xl);
2721
+ }
2722
+
2667
2723
  .polishd-root.polishd-root .sm\:grid-cols-2 {
2668
2724
  grid-template-columns: repeat(2, minmax(0, 1fr));
2669
2725
  }
@@ -2848,10 +2904,6 @@
2848
2904
  }
2849
2905
  }
2850
2906
 
2851
- .polishd-root.polishd-root .\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker {
2852
- display: none;
2853
- }
2854
-
2855
2907
  @property --tw-translate-x {
2856
2908
  syntax: "*";
2857
2909
  inherits: false;
@@ -49,7 +49,7 @@ export declare function listSnapshots(): Promise<PolishdSnapshot[]>;
49
49
  * are only ever fetched from the URL the index recorded at capture time.
50
50
  */
51
51
  export declare function readSnapshotImage(snapshotId: string, file: string): Promise<string | null>;
52
- export interface BeginSnapshotInput {
52
+ export interface CaptureSnapshotInput {
53
53
  /** The site to shoot, scheme included. */
54
54
  origin: string;
55
55
  /** Paths to shoot — discovery is skipped, these are shot exactly. */
@@ -57,21 +57,6 @@ export interface BeginSnapshotInput {
57
57
  /** Design-metrics fingerprint at capture time, for later pairing. */
58
58
  fingerprint: string | null;
59
59
  }
60
- export type BeginSnapshotResult = {
61
- ok: true;
62
- id: string;
63
- routes: string[];
64
- } | {
65
- ok: false;
66
- message: string;
67
- };
68
- export type CaptureRouteResult = {
69
- ok: true;
70
- shots: PolishdSnapshotShot[];
71
- } | {
72
- ok: false;
73
- message: string;
74
- };
75
60
  export type CaptureSnapshotResult = {
76
61
  ok: true;
77
62
  snapshot: PolishdSnapshot;
@@ -79,27 +64,6 @@ export type CaptureSnapshotResult = {
79
64
  ok: false;
80
65
  message: string;
81
66
  };
82
- /**
83
- * Start a capture: run the environment preflight, sweep any unfinished
84
- * predecessor's images, and park the plan in the store. The returned routes
85
- * are what the caller should then feed to `captureSnapshotRoute`, one call
86
- * each, before `finishSnapshot` records the run.
87
- */
88
- export declare function beginSnapshot(input: BeginSnapshotInput): Promise<BeginSnapshotResult>;
89
- /**
90
- * Shoot one route of the capture `beginSnapshot` started — both devices, both
91
- * themes — store its images, and append the results to the pending record.
92
- * Bounded work per call by design: this is the request that has to fit inside
93
- * a serverless host's function time limit.
94
- */
95
- export declare function captureSnapshotRoute(id: string, route: string): Promise<CaptureRouteResult>;
96
- /**
97
- * Close out the capture: record the accumulated shots in the snapshot index
98
- * and prune old snapshots past `MAX_SNAPSHOTS`, images included. Called once
99
- * every route has been attempted — routes whose calls failed outright are
100
- * simply absent from the snapshot.
101
- */
102
- export declare function finishSnapshot(id: string): Promise<CaptureSnapshotResult>;
103
67
  /**
104
68
  * A problem that will make the next capture fail, detectable from the
105
69
  * environment alone — or null when none is. Covers the two setup gaps a
@@ -111,4 +75,9 @@ export declare function finishSnapshot(id: string): Promise<CaptureSnapshotResul
111
75
  * the dashboard.
112
76
  */
113
77
  export declare function snapshotCaptureIssue(): Promise<string | null>;
78
+ /**
79
+ * Shoot the given routes and record the run in the snapshot index. Old
80
+ * snapshots past `MAX_SNAPSHOTS` are pruned, images included.
81
+ */
82
+ export declare function captureSnapshot(input: CaptureSnapshotInput): Promise<CaptureSnapshotResult>;
114
83
  //# sourceMappingURL=snapshots.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../../src/server/snapshots.ts"],"names":[],"mappings":"AAsCA,2EAA2E;AAC3E,MAAM,WAAW,mBAAmB;IAClC,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qEAAqE;AACrE,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,oEAAoE;IACpE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,iEAAiE;IACjE,UAAU,EAAE,OAAO,CAAC;CACrB;AAYD,8EAA8E;AAC9E,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAsCtC,iFAAiF;AACjF,wBAAsB,aAAa,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAEhE;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiBxB;AA4GD,MAAM,WAAW,kBAAkB;IACjC,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,qEAAqE;IACrE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GAC1C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnC,MAAM,MAAM,kBAAkB,GAC1B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,mBAAmB,EAAE,CAAA;CAAE,GAC1C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnC,MAAM,MAAM,qBAAqB,GAC7B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,eAAe,CAAA;CAAE,GACvC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AA4CnC;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAyC3F;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,kBAAkB,CAAC,CA6F7B;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA+C/E;AAwED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0CnE"}
1
+ {"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../../src/server/snapshots.ts"],"names":[],"mappings":"AA6BA,2EAA2E;AAC3E,MAAM,WAAW,mBAAmB;IAClC,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qEAAqE;AACrE,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,oEAAoE;IACpE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,iEAAiE;IACjE,UAAU,EAAE,OAAO,CAAC;CACrB;AAYD,8EAA8E;AAC9E,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAsCtC,iFAAiF;AACjF,wBAAsB,aAAa,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAEhE;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiBxB;AAwED,MAAM,WAAW,oBAAoB;IACnC,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,qEAAqE;IACrE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,MAAM,qBAAqB,GAC7B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,eAAe,CAAA;CAAE,GACvC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AA+DnC;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0CnE;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,qBAAqB,CAAC,CAkIhC"}