@polishd/next 0.2.3-dev.5 → 0.2.3-dev.6

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 (84) hide show
  1. package/CHANGELOG.md +79 -14
  2. package/README.md +5 -0
  3. package/dist/ai/actions.d.ts +13 -1
  4. package/dist/ai/actions.d.ts.map +1 -1
  5. package/dist/ai/actions.js +20 -1
  6. package/dist/ai/actions.js.map +1 -1
  7. package/dist/ai/design.d.ts +5 -1
  8. package/dist/ai/design.d.ts.map +1 -1
  9. package/dist/ai/design.js +21 -4
  10. package/dist/ai/design.js.map +1 -1
  11. package/dist/ai/fix.d.ts +14 -0
  12. package/dist/ai/fix.d.ts.map +1 -0
  13. package/dist/ai/fix.js +254 -0
  14. package/dist/ai/fix.js.map +1 -0
  15. package/dist/ai/guard.d.ts.map +1 -1
  16. package/dist/ai/guard.js +8 -32
  17. package/dist/ai/guard.js.map +1 -1
  18. package/dist/ai/issues.d.ts +29 -6
  19. package/dist/ai/issues.d.ts.map +1 -1
  20. package/dist/ai/issues.js +113 -40
  21. package/dist/ai/issues.js.map +1 -1
  22. package/dist/ai/types.d.ts +52 -0
  23. package/dist/ai/types.d.ts.map +1 -1
  24. package/dist/dashboard/design-review-card.d.ts +3 -1
  25. package/dist/dashboard/design-review-card.d.ts.map +1 -1
  26. package/dist/dashboard/design-review-card.js +14 -6
  27. package/dist/dashboard/design-review-card.js.map +1 -1
  28. package/dist/dashboard/design.d.ts.map +1 -1
  29. package/dist/dashboard/design.js +75 -17
  30. package/dist/dashboard/design.js.map +1 -1
  31. package/dist/dashboard/file-bug-button.d.ts +14 -0
  32. package/dist/dashboard/file-bug-button.d.ts.map +1 -0
  33. package/dist/dashboard/file-bug-button.js +37 -0
  34. package/dist/dashboard/file-bug-button.js.map +1 -0
  35. package/dist/dashboard/index.d.ts.map +1 -1
  36. package/dist/dashboard/index.js +4 -2
  37. package/dist/dashboard/index.js.map +1 -1
  38. package/dist/dashboard/issue-list.d.ts +11 -0
  39. package/dist/dashboard/issue-list.d.ts.map +1 -0
  40. package/dist/dashboard/issue-list.js +159 -0
  41. package/dist/dashboard/issue-list.js.map +1 -0
  42. package/dist/dashboard/issues.d.ts +31 -2
  43. package/dist/dashboard/issues.d.ts.map +1 -1
  44. package/dist/dashboard/issues.js +4 -71
  45. package/dist/dashboard/issues.js.map +1 -1
  46. package/dist/dashboard/markdown-parse.d.ts +87 -0
  47. package/dist/dashboard/markdown-parse.d.ts.map +1 -0
  48. package/dist/dashboard/markdown-parse.js +244 -0
  49. package/dist/dashboard/markdown-parse.js.map +1 -0
  50. package/dist/dashboard/markdown.d.ts +5 -0
  51. package/dist/dashboard/markdown.d.ts.map +1 -0
  52. package/dist/dashboard/markdown.js +65 -0
  53. package/dist/dashboard/markdown.js.map +1 -0
  54. package/dist/dashboard/snapshot-actions.d.ts.map +1 -1
  55. package/dist/dashboard/snapshot-actions.js +22 -54
  56. package/dist/dashboard/snapshot-actions.js.map +1 -1
  57. package/dist/dashboard/snapshots.d.ts.map +1 -1
  58. package/dist/dashboard/snapshots.js +7 -20
  59. package/dist/dashboard/snapshots.js.map +1 -1
  60. package/dist/dashboard/summary.d.ts.map +1 -1
  61. package/dist/dashboard/summary.js +8 -36
  62. package/dist/dashboard/summary.js.map +1 -1
  63. package/dist/dashboard/ui.d.ts +1 -0
  64. package/dist/dashboard/ui.d.ts.map +1 -1
  65. package/dist/dashboard/ui.js +1 -0
  66. package/dist/dashboard/ui.js.map +1 -1
  67. package/dist/dashboard/value-preview.d.ts +47 -0
  68. package/dist/dashboard/value-preview.d.ts.map +1 -0
  69. package/dist/dashboard/value-preview.js +138 -0
  70. package/dist/dashboard/value-preview.js.map +1 -0
  71. package/dist/dashboard.css +234 -62
  72. package/dist/server/snapshots.d.ts +32 -4
  73. package/dist/server/snapshots.d.ts.map +1 -1
  74. package/dist/server/snapshots.js +146 -24
  75. package/dist/server/snapshots.js.map +1 -1
  76. package/dist/server/value-previews.d.ts +47 -0
  77. package/dist/server/value-previews.d.ts.map +1 -0
  78. package/dist/server/value-previews.js +313 -0
  79. package/dist/server/value-previews.js.map +1 -0
  80. package/dist/shared/design-values.d.ts +71 -0
  81. package/dist/shared/design-values.d.ts.map +1 -0
  82. package/dist/shared/design-values.js +98 -0
  83. package/dist/shared/design-values.js.map +1 -0
  84. package/package.json +1 -1
@@ -0,0 +1,244 @@
1
+ /**
2
+ * Polishd — a small GitHub-flavored-markdown parser (pure, no dependencies).
3
+ *
4
+ * The Issues tab shows issue bodies that are real markdown: polishd writes
5
+ * them (`issueBody` in `src/ai/issues.ts` emits headings, bold, code, link
6
+ * lists, blockquotes) and humans edit them on GitHub afterwards. Rendering
7
+ * that as a raw `<pre>` wastes the structure — but the package's rule is zero
8
+ * runtime dependencies, so `react-markdown` and friends are off the table.
9
+ *
10
+ * This module is the answer: a bounded, hand-written parser for the subset of
11
+ * GFM that actually appears in issues — headings, paragraphs, fenced code,
12
+ * blockquotes, ordered/unordered/task lists (nested), tables, rules, and the
13
+ * inline set (bold, italic, strikethrough, code, links, images, autolinks).
14
+ * One GitHub-ism matters: inside a paragraph a single newline is a hard
15
+ * break, the way issue comments render. Anything the parser doesn't
16
+ * recognize degrades to plain paragraph text — never a crash, never dropped
17
+ * content.
18
+ *
19
+ * Parsing is kept apart from rendering (`markdown.tsx`) so the grammar can be
20
+ * pinned down by plain node:test files with no React in sight.
21
+ */
22
+ /**
23
+ * Ordered by precedence for ties at the same index: code spans protect their
24
+ * contents from everything else, images must beat links (shared `[` syntax),
25
+ * and `**strong**` must beat `*em*`.
26
+ */
27
+ const INLINE_RULES = [
28
+ { re: /`([^`\n]+)`/, make: (m) => ({ kind: "code", text: m[1] }) },
29
+ {
30
+ re: /!\[([^\]]*)\]\(([^)\s]+)(?:\s+"[^"]*")?\)/,
31
+ make: (m) => ({ kind: "image", alt: m[1], src: m[2] }),
32
+ },
33
+ {
34
+ re: /\[([^\]]+)\]\(([^)\s]+)(?:\s+"[^"]*")?\)/,
35
+ make: (m) => ({ kind: "link", href: m[2], children: parseInline(m[1]) }),
36
+ },
37
+ {
38
+ re: /\*\*((?:[^*\n]|\*(?!\*))+)\*\*/,
39
+ make: (m) => ({ kind: "strong", children: parseInline(m[1]) }),
40
+ },
41
+ {
42
+ re: /__((?:[^_\n]|_(?!_))+)__/,
43
+ make: (m) => ({ kind: "strong", children: parseInline(m[1]) }),
44
+ },
45
+ { re: /\*([^*\n]+)\*/, make: (m) => ({ kind: "em", children: parseInline(m[1]) }) },
46
+ {
47
+ re: /(?<![A-Za-z0-9_])_([^_\n]+)_(?![A-Za-z0-9_])/,
48
+ make: (m) => ({ kind: "em", children: parseInline(m[1]) }),
49
+ },
50
+ { re: /~~([^~\n]+)~~/, make: (m) => ({ kind: "del", children: parseInline(m[1]) }) },
51
+ {
52
+ re: /https?:\/\/[^\s<>]*[^\s<>.,;:!?)'"`]/,
53
+ make: (m) => ({ kind: "link", href: m[0], children: [{ kind: "text", text: m[0] }] }),
54
+ },
55
+ ];
56
+ /** Plain text, with each newline becoming a hard break (GitHub issue style). */
57
+ function pushText(out, text) {
58
+ if (!text)
59
+ return;
60
+ const parts = text.split("\n");
61
+ parts.forEach((part, i) => {
62
+ if (i > 0)
63
+ out.push({ kind: "break" });
64
+ if (part)
65
+ out.push({ kind: "text", text: part });
66
+ });
67
+ }
68
+ /** Parse one run of inline markdown into a token list. */
69
+ export function parseInline(text) {
70
+ const out = [];
71
+ let rest = text;
72
+ while (rest.length > 0) {
73
+ let best = null;
74
+ for (const rule of INLINE_RULES) {
75
+ const m = rule.re.exec(rest);
76
+ if (m && (best === null || m.index < best.index)) {
77
+ best = { index: m.index, length: m[0].length, node: rule.make(m) };
78
+ }
79
+ }
80
+ if (!best) {
81
+ pushText(out, rest);
82
+ break;
83
+ }
84
+ pushText(out, rest.slice(0, best.index));
85
+ out.push(best.node);
86
+ rest = rest.slice(best.index + best.length);
87
+ }
88
+ return out;
89
+ }
90
+ // ── Block parsing ────────────────────────────────────────────────────────────
91
+ const HEADING_RE = /^(#{1,6})\s+(.*?)\s*#*\s*$/;
92
+ const RULE_RE = /^ {0,3}(?:-{3,}|\*{3,}|_{3,})\s*$/;
93
+ const FENCE_RE = /^ {0,3}(```|~~~)\s*(\S*)\s*$/;
94
+ const QUOTE_RE = /^ {0,3}>\s?(.*)$/;
95
+ const LIST_RE = /^(\s*)(?:([-*+])|(\d{1,9})[.)])\s+(.*)$/;
96
+ /** The `| --- | :--: |` row that promotes the line above it to a table header. */
97
+ const TABLE_SEP_RE = /^\s*\|?[\s:|-]*-[\s:|-]*\|?\s*$/;
98
+ function isBlank(line) {
99
+ return line.trim().length === 0;
100
+ }
101
+ /** Does this line begin a block of its own, ending any open paragraph? */
102
+ function startsBlock(line) {
103
+ return (HEADING_RE.test(line) ||
104
+ RULE_RE.test(line) ||
105
+ FENCE_RE.test(line) ||
106
+ QUOTE_RE.test(line) ||
107
+ LIST_RE.test(line));
108
+ }
109
+ /** `| a | b |` → ["a", "b"]. Outer pipes optional, cells trimmed. */
110
+ function splitCells(line) {
111
+ let t = line.trim();
112
+ if (t.startsWith("|"))
113
+ t = t.slice(1);
114
+ if (t.endsWith("|"))
115
+ t = t.slice(0, -1);
116
+ return t.split("|").map((c) => c.trim());
117
+ }
118
+ /** Fold rows into (possibly nested) items — deeper indent means a sublist. */
119
+ function buildList(rows, pos, level) {
120
+ const ordered = rows[pos.i].ordered;
121
+ const items = [];
122
+ while (pos.i < rows.length) {
123
+ const row = rows[pos.i];
124
+ if (row.indent < level)
125
+ break;
126
+ if (row.indent > level) {
127
+ const sub = buildList(rows, pos, row.indent);
128
+ if (items.length > 0)
129
+ items[items.length - 1].sub = sub;
130
+ else
131
+ items.push({ children: [], sub });
132
+ continue;
133
+ }
134
+ pos.i += 1;
135
+ let text = row.text;
136
+ let checked;
137
+ const task = text.match(/^\[([ xX])\]\s+(.*)$/);
138
+ if (task) {
139
+ checked = task[1] !== " ";
140
+ text = task[2];
141
+ }
142
+ items.push({ checked, children: parseInline(text) });
143
+ }
144
+ return { ordered, items };
145
+ }
146
+ /** Parse a whole markdown document into blocks. */
147
+ export function parseMarkdown(md) {
148
+ const lines = md.replace(/\r\n?/g, "\n").split("\n");
149
+ const blocks = [];
150
+ let i = 0;
151
+ while (i < lines.length) {
152
+ const line = lines[i];
153
+ if (isBlank(line)) {
154
+ i += 1;
155
+ continue;
156
+ }
157
+ // Fenced code — verbatim until the closing fence (or the end of input).
158
+ const fence = line.match(FENCE_RE);
159
+ if (fence) {
160
+ const marker = fence[1];
161
+ const body = [];
162
+ i += 1;
163
+ while (i < lines.length && !lines[i].trim().startsWith(marker)) {
164
+ body.push(lines[i]);
165
+ i += 1;
166
+ }
167
+ i += 1; // past the closing fence, harmless at end of input
168
+ blocks.push({ kind: "codeBlock", lang: fence[2], text: body.join("\n") });
169
+ continue;
170
+ }
171
+ const heading = line.match(HEADING_RE);
172
+ if (heading) {
173
+ blocks.push({
174
+ kind: "heading",
175
+ level: heading[1].length,
176
+ children: parseInline(heading[2]),
177
+ });
178
+ i += 1;
179
+ continue;
180
+ }
181
+ if (RULE_RE.test(line)) {
182
+ blocks.push({ kind: "rule" });
183
+ i += 1;
184
+ continue;
185
+ }
186
+ // Blockquote — strip the markers and parse the inside as its own document.
187
+ if (QUOTE_RE.test(line)) {
188
+ const inner = [];
189
+ while (i < lines.length && QUOTE_RE.test(lines[i])) {
190
+ inner.push(lines[i].match(QUOTE_RE)[1]);
191
+ i += 1;
192
+ }
193
+ blocks.push({ kind: "quote", children: parseMarkdown(inner.join("\n")) });
194
+ continue;
195
+ }
196
+ // Table — a pipe row whose next line is the `---|---` separator.
197
+ if (line.includes("|") && i + 1 < lines.length && TABLE_SEP_RE.test(lines[i + 1]) && lines[i + 1].includes("|")) {
198
+ const header = splitCells(line).map(parseInline);
199
+ i += 2;
200
+ const rows = [];
201
+ while (i < lines.length && lines[i].includes("|") && !isBlank(lines[i])) {
202
+ rows.push(splitCells(lines[i]).map(parseInline));
203
+ i += 1;
204
+ }
205
+ blocks.push({ kind: "table", header, rows });
206
+ continue;
207
+ }
208
+ // List — collect the run of list lines (plus indented continuations),
209
+ // then fold it into a tree by indent.
210
+ if (LIST_RE.test(line)) {
211
+ const rows = [];
212
+ while (i < lines.length) {
213
+ const m = lines[i].match(LIST_RE);
214
+ if (m) {
215
+ rows.push({ indent: m[1].length, ordered: m[3] !== undefined, text: m[4] });
216
+ i += 1;
217
+ continue;
218
+ }
219
+ // A deeper-indented plain line continues the previous item's text.
220
+ if (rows.length > 0 && /^\s{2,}\S/.test(lines[i])) {
221
+ rows[rows.length - 1].text += `\n${lines[i].trim()}`;
222
+ i += 1;
223
+ continue;
224
+ }
225
+ break;
226
+ }
227
+ blocks.push({ kind: "list", list: buildList(rows, { i: 0 }, rows[0].indent) });
228
+ continue;
229
+ }
230
+ // Paragraph — everything up to a blank line or the start of another block.
231
+ const para = [line];
232
+ i += 1;
233
+ while (i < lines.length && !isBlank(lines[i]) && !startsBlock(lines[i])) {
234
+ // A `---|---` line would turn the next line into a table header, not us.
235
+ if (lines[i].includes("|") && i + 1 < lines.length && TABLE_SEP_RE.test(lines[i + 1]))
236
+ break;
237
+ para.push(lines[i]);
238
+ i += 1;
239
+ }
240
+ blocks.push({ kind: "paragraph", children: parseInline(para.join("\n")) });
241
+ }
242
+ return blocks;
243
+ }
244
+ //# sourceMappingURL=markdown-parse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown-parse.js","sourceRoot":"","sources":["../../src/dashboard/markdown-parse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /** GitHub-flavored markdown → dashboard-styled elements. */
2
+ export declare function Markdown({ text }: {
3
+ text: string;
4
+ }): import("react").JSX.Element;
5
+ //# sourceMappingURL=markdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/dashboard/markdown.tsx"],"names":[],"mappings":"AA4LA,4DAA4D;AAC5D,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,+BAMlD"}
@@ -0,0 +1,65 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { parseMarkdown, } from "./markdown-parse";
3
+ const codeSpan = "rounded bg-[#1a1a1a] px-1 py-0.5 font-mono text-[0.92em] text-[#ddd]";
4
+ function renderInline(nodes) {
5
+ return nodes.map((node, i) => {
6
+ switch (node.kind) {
7
+ case "text":
8
+ return node.text;
9
+ case "break":
10
+ return _jsx("br", {}, i);
11
+ case "code":
12
+ return (_jsx("code", { className: codeSpan, children: node.text }, i));
13
+ case "strong":
14
+ return (_jsx("strong", { className: "font-semibold text-[#ddd]", children: renderInline(node.children) }, i));
15
+ case "em":
16
+ return _jsx("em", { children: renderInline(node.children) }, i);
17
+ case "del":
18
+ return (_jsx("del", { className: "text-[#777]", children: renderInline(node.children) }, i));
19
+ case "link":
20
+ return (_jsx("a", { href: node.href, target: "_blank", rel: "noreferrer noopener", className: "break-words text-[#8ab4f8] hover:underline", children: renderInline(node.children) }, i));
21
+ case "image":
22
+ return (
23
+ // Plain <img>, not next/image — screenshots live on arbitrary hosts
24
+ // the consumer's image config knows nothing about.
25
+ _jsx("img", { src: node.src, alt: node.alt, loading: "lazy", className: "my-1 max-w-full rounded-md border border-[#2e2e2e]" }, i));
26
+ }
27
+ });
28
+ }
29
+ function List({ list }) {
30
+ const Tag = list.ordered ? "ol" : "ul";
31
+ return (_jsx(Tag, { className: `space-y-1 pl-5 ${list.ordered ? "list-decimal" : "list-disc"} marker:text-[#555]`, children: list.items.map((item, i) => (_jsxs("li", { children: [item.checked !== undefined && (_jsx("span", { "aria-hidden": true, className: `mr-1.5 font-mono ${item.checked ? "text-emerald-500" : "text-[#555]"}`, children: item.checked ? "☑" : "☐" })), renderInline(item.children), item.sub && (_jsx("div", { className: "mt-1", children: _jsx(List, { list: item.sub }) }))] }, i))) }));
32
+ }
33
+ const HEADING_CLS = {
34
+ 1: "text-[15px] font-semibold text-white",
35
+ 2: "text-[14px] font-semibold text-white",
36
+ 3: "text-[13px] font-semibold text-[#ddd]",
37
+ 4: "text-[12px] font-semibold text-[#ddd]",
38
+ 5: "text-[12px] font-medium text-[#ccc]",
39
+ 6: "text-[11px] font-medium uppercase tracking-[0.08em] text-[#888]",
40
+ };
41
+ function renderBlock(block, key) {
42
+ switch (block.kind) {
43
+ case "heading": {
44
+ const Tag = `h${Math.min(block.level + 2, 6)}`;
45
+ return (_jsx(Tag, { className: `pt-1 ${HEADING_CLS[block.level]}`, children: renderInline(block.children) }, key));
46
+ }
47
+ case "paragraph":
48
+ return _jsx("p", { children: renderInline(block.children) }, key);
49
+ case "codeBlock":
50
+ return (_jsx("pre", { className: "overflow-x-auto rounded-md border border-[#2e2e2e] bg-[#111] px-3 py-2.5 font-mono text-[11px] leading-relaxed text-[#aaa]", children: _jsx("code", { children: block.text }) }, key));
51
+ case "quote":
52
+ return (_jsx("blockquote", { className: "space-y-2 border-l-2 border-[#2e2e2e] pl-3 text-[#888]", children: block.children.map(renderBlock) }, key));
53
+ case "list":
54
+ return _jsx(List, { list: block.list }, key);
55
+ case "rule":
56
+ return _jsx("hr", { className: "border-t border-[#2e2e2e]" }, key);
57
+ case "table":
58
+ return (_jsx("div", { className: "overflow-x-auto", children: _jsxs("table", { className: "w-full text-left text-[12px]", children: [_jsx("thead", { children: _jsx("tr", { children: block.header.map((cell, i) => (_jsx("th", { className: "border-b border-[#2e2e2e] py-1.5 pr-4 font-medium text-[#ddd]", children: renderInline(cell) }, i))) }) }), _jsx("tbody", { children: block.rows.map((row, r) => (_jsx("tr", { children: row.map((cell, c) => (_jsx("td", { className: "border-b border-[#1f1f1f] py-1.5 pr-4", children: renderInline(cell) }, c))) }, r))) })] }) }, key));
59
+ }
60
+ }
61
+ /** GitHub-flavored markdown → dashboard-styled elements. */
62
+ export function Markdown({ text }) {
63
+ return (_jsx("div", { className: "space-y-2.5 break-words text-[13px] leading-relaxed text-[#aaa]", children: parseMarkdown(text).map(renderBlock) }));
64
+ }
65
+ //# sourceMappingURL=markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/dashboard/markdown.tsx"],"names":[],"mappings":";AAiBA,OAAO,EACL,aAAa,GAId,MAAM,kBAAkB,CAAC;AAE1B,MAAM,QAAQ,GACZ,sEAAsE,CAAC;AAEzE,SAAS,YAAY,CAAC,KAAiB;IACrC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAC3B,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,IAAI,CAAC;YACnB,KAAK,OAAO;gBACV,OAAO,eAAS,CAAC,CAAI,CAAC;YACxB,KAAK,MAAM;gBACT,OAAO,CACL,eAAc,SAAS,EAAE,QAAQ,YAC9B,IAAI,CAAC,IAAI,IADD,CAAC,CAEL,CACR,CAAC;YACJ,KAAK,QAAQ;gBACX,OAAO,CACL,iBAAgB,SAAS,EAAC,2BAA2B,YAClD,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IADjB,CAAC,CAEL,CACV,CAAC;YACJ,KAAK,IAAI;gBACP,OAAO,uBAAa,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAA/B,CAAC,CAAoC,CAAC;YACxD,KAAK,KAAK;gBACR,OAAO,CACL,cAAa,SAAS,EAAC,aAAa,YACjC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IADpB,CAAC,CAEL,CACP,CAAC;YACJ,KAAK,MAAM;gBACT,OAAO,CACL,YAEE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAC,4CAA4C,YAErD,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IANvB,CAAC,CAOJ,CACL,CAAC;YACJ,KAAK,OAAO;gBACV,OAAO;gBACL,oEAAoE;gBACpE,mDAAmD;gBACnD,cAEE,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,OAAO,EAAC,MAAM,EACd,SAAS,EAAC,oDAAoD,IAJzD,CAAC,CAKN,CACH,CAAC;QACN,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,IAAI,CAAC,EAAE,IAAI,EAAoB;IACtC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACvC,OAAO,CACL,KAAC,GAAG,IACF,SAAS,EAAE,kBACT,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAClC,qBAAqB,YAEpB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAC3B,yBACG,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,CAC7B,oCAEE,SAAS,EAAE,oBAAoB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,aAAa,EAAE,YAEjF,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GACpB,CACR,EACA,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC3B,IAAI,CAAC,GAAG,IAAI,CACX,cAAK,SAAS,EAAC,MAAM,YACnB,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,CAAC,GAAG,GAAI,GACpB,CACP,KAdM,CAAC,CAeL,CACN,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED,MAAM,WAAW,GAA2B;IAC1C,CAAC,EAAE,sCAAsC;IACzC,CAAC,EAAE,sCAAsC;IACzC,CAAC,EAAE,uCAAuC;IAC1C,CAAC,EAAE,uCAAuC;IAC1C,CAAC,EAAE,qCAAqC;IACxC,CAAC,EAAE,iEAAiE;CACrE,CAAC;AAEF,SAAS,WAAW,CAAC,KAAc,EAAE,GAAW;IAC9C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,EAAU,CAAC;YACvD,OAAO,CACL,KAAC,GAAG,IAAW,SAAS,EAAE,QAAQ,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,YACzD,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,IADrB,GAAG,CAEP,CACP,CAAC;QACJ,CAAC;QACD,KAAK,WAAW;YACd,OAAO,sBAAc,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAlC,GAAG,CAAoC,CAAC;QACzD,KAAK,WAAW;YACd,OAAO,CACL,cAEE,SAAS,EAAC,4HAA4H,YAEtI,yBAAO,KAAK,CAAC,IAAI,GAAQ,IAHpB,GAAG,CAIJ,CACP,CAAC;QACJ,KAAK,OAAO;YACV,OAAO,CACL,qBAEE,SAAS,EAAC,wDAAwD,YAEjE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,IAH3B,GAAG,CAIG,CACd,CAAC;QACJ,KAAK,MAAM;YACT,OAAO,KAAC,IAAI,IAAW,IAAI,EAAE,KAAK,CAAC,IAAI,IAArB,GAAG,CAAsB,CAAC;QAC9C,KAAK,MAAM;YACT,OAAO,aAAc,SAAS,EAAC,2BAA2B,IAA1C,GAAG,CAA0C,CAAC;QAChE,KAAK,OAAO;YACV,OAAO,CACL,cAAe,SAAS,EAAC,iBAAiB,YACxC,iBAAO,SAAS,EAAC,8BAA8B,aAC7C,0BACE,uBACG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAC7B,aAEE,SAAS,EAAC,+DAA+D,YAExE,YAAY,CAAC,IAAI,CAAC,IAHd,CAAC,CAIH,CACN,CAAC,GACC,GACC,EACR,0BACG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAC1B,uBACG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACpB,aAAY,SAAS,EAAC,uCAAuC,YAC1D,YAAY,CAAC,IAAI,CAAC,IADZ,CAAC,CAEL,CACN,CAAC,IALK,CAAC,CAML,CACN,CAAC,GACI,IACF,IAzBA,GAAG,CA0BP,CACP,CAAC;IACN,CAAC;AACH,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,QAAQ,CAAC,EAAE,IAAI,EAAoB;IACjD,OAAO,CACL,cAAK,SAAS,EAAC,iEAAiE,YAC7E,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,GACjC,CACP,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-actions.d.ts","sourceRoot":"","sources":["../../src/dashboard/snapshot-actions.ts"],"names":[],"mappings":"AAuBA,OAAO,EAML,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AA2C7B;;;;;;;;;;GAUG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAoD/E;AAED,8EAA8E;AAC9E,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,kBAAkB,CAAC,CAa7B;AAED,qEAAqE;AACrE,wBAAsB,2BAA2B,CAC/C,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,qBAAqB,CAAC,CAahC;AAED,MAAM,MAAM,mBAAmB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,CAAC;AAEhF,8EAA8E;AAC9E,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,mBAAmB,CAAC,CAI9B"}
1
+ {"version":3,"file":"snapshot-actions.d.ts","sourceRoot":"","sources":["../../src/dashboard/snapshot-actions.ts"],"names":[],"mappings":"AAwBA,OAAO,EAML,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAoB7B;;;;;;;;;;GAUG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,mBAAmB,CAAC,CA+C/E;AAED,8EAA8E;AAC9E,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,kBAAkB,CAAC,CAY7B;AAED,qEAAqE;AACrE,wBAAsB,2BAA2B,CAC/C,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,qBAAqB,CAAC,CAYhC;AAED,MAAM,MAAM,mBAAmB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,CAAC;AAEhF,8EAA8E;AAC9E,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,mBAAmB,CAAC,CAI9B"}
@@ -19,6 +19,7 @@ import { requirePolishdAuth } from "../ai/guard";
19
19
  import { resolveSettings } from "../ai/settings";
20
20
  import { isDashboardPath, resolveDashboardRoute } from "../config";
21
21
  import { getDesignData } from "../server/design";
22
+ import { designPreviewTargets } from "../shared/design-values";
22
23
  import { MAX_SNAPSHOT_ROUTES, beginSnapshot, captureSnapshotRoute, finishSnapshot, readSnapshotImage, } from "../server/snapshots";
23
24
  /**
24
25
  * The origin to shoot. `POLISHD_SITE_ORIGIN` wins when set (proxies, tunnels,
@@ -38,27 +39,6 @@ async function resolveSiteOrigin() {
38
39
  (host.startsWith("localhost") || host.startsWith("127.") ? "http" : "https");
39
40
  return `${proto}://${host}`;
40
41
  }
41
- /**
42
- * A denial, phrased for the error box. The capture actions return this rather
43
- * than letting `PolishdUnauthorizedError` propagate: a thrown error reaches
44
- * the dashboard as an opaque digest, while the capture UI renders a returned
45
- * message. The denial itself is unchanged — no work happens.
46
- */
47
- const DENIED = {
48
- ok: false,
49
- message: "This dashboard session isn't authorized to capture. Reload the dashboard " +
50
- "— if it asks you to unlock again, do so — then retry.",
51
- };
52
- /** True when the caller may proceed; false is a denial. */
53
- async function authorized() {
54
- try {
55
- await requirePolishdAuth();
56
- return true;
57
- }
58
- catch {
59
- return false;
60
- }
61
- }
62
42
  /**
63
43
  * Capture is chunked into one action call per route — begin, then one
64
44
  * `captureSnapshotRouteAction` per returned route, then finish — so no single
@@ -71,8 +51,7 @@ async function authorized() {
71
51
  * an opaque digest, while a returned message renders in the card.
72
52
  */
73
53
  export async function beginSnapshotCaptureAction() {
74
- if (!(await authorized()))
75
- return DENIED;
54
+ await requirePolishdAuth();
76
55
  try {
77
56
  const origin = await resolveSiteOrigin();
78
57
  if (!origin) {
@@ -82,35 +61,28 @@ export async function beginSnapshotCaptureAction() {
82
61
  "to the origin the site is reachable at.",
83
62
  };
84
63
  }
85
- // The scanned-page list and the fingerprint are both nice-to-haves from
86
- // the design data; a database hiccup here must not sink the capture, so
87
- // they degrade to shooting the root with no fingerprint.
88
- let routes = ["/"];
64
+ const data = await getDesignData();
65
+ const dashboardRoute = resolveDashboardRoute();
66
+ // Shoot what visitors have actually rendered, never the dashboard itself
67
+ // (nor the telemetry pseudo-paths the collector namespaces under /~polishd).
68
+ const scanned = data.pages
69
+ .map((p) => p.path)
70
+ .filter((p) => p.startsWith("/") && !p.startsWith("/~") && !isDashboardPath(p, dashboardRoute));
71
+ const routes = (scanned.length > 0 ? scanned : ["/"]).slice(0, MAX_SNAPSHOT_ROUTES);
72
+ // Stamp the snapshot with the same metrics fingerprint the AI review caches
73
+ // under, so "taken before/after this round of changes" is a hash comparison.
89
74
  let fingerprint = null;
90
- try {
91
- const data = await getDesignData();
92
- const dashboardRoute = resolveDashboardRoute();
93
- // Shoot what visitors have actually rendered, never the dashboard itself
94
- // (nor the telemetry pseudo-paths the collector namespaces under /~polishd).
95
- const scanned = data.pages
96
- .map((p) => p.path)
97
- .filter((p) => p.startsWith("/") && !p.startsWith("/~") && !isDashboardPath(p, dashboardRoute));
98
- routes = (scanned.length > 0 ? scanned : ["/"]).slice(0, MAX_SNAPSHOT_ROUTES);
99
- // Stamp the snapshot with the same metrics fingerprint the AI review
100
- // caches under, so "taken before/after this round of changes" is a hash
101
- // comparison.
102
- if (data.ready && data.pages.length > 0) {
103
- const { settings } = await resolveSettings();
104
- fingerprint = fingerprintDigest(buildDesignDigest(data, settings.context));
105
- }
106
- }
107
- catch (err) {
108
- console.error("[polishd] snapshot route planning failed, shooting / only:", err);
75
+ if (data.ready && data.pages.length > 0) {
76
+ const { settings } = await resolveSettings();
77
+ fingerprint = fingerprintDigest(buildDesignDigest(data, settings.context));
109
78
  }
110
- return await beginSnapshot({ origin, routes, fingerprint });
79
+ // The one-off and off-grid values flagged right now get pictured in place,
80
+ // so hovering one on the Design tab shows the element that carries it.
81
+ const shot = new Set(routes);
82
+ const targets = designPreviewTargets(data).filter((t) => t.pages.some((p) => shot.has(p)));
83
+ return await beginSnapshot({ origin, routes, fingerprint, targets });
111
84
  }
112
85
  catch (err) {
113
- console.error("[polishd] beginSnapshotCaptureAction failed:", err);
114
86
  return {
115
87
  ok: false,
116
88
  message: `Snapshot capture failed unexpectedly: ${err instanceof Error ? err.message : "unknown error"}`,
@@ -119,13 +91,11 @@ export async function beginSnapshotCaptureAction() {
119
91
  }
120
92
  /** Shoot one route of the capture in progress — both devices, both themes. */
121
93
  export async function captureSnapshotRouteAction(id, route) {
122
- if (!(await authorized()))
123
- return DENIED;
94
+ await requirePolishdAuth();
124
95
  try {
125
96
  return await captureSnapshotRoute(id, route);
126
97
  }
127
98
  catch (err) {
128
- console.error("[polishd] captureSnapshotRouteAction failed:", err);
129
99
  return {
130
100
  ok: false,
131
101
  message: `Screenshot capture failed unexpectedly: ${err instanceof Error ? err.message : "unknown error"}`,
@@ -134,13 +104,11 @@ export async function captureSnapshotRouteAction(id, route) {
134
104
  }
135
105
  /** Record the accumulated shots as a snapshot and prune old ones. */
136
106
  export async function finishSnapshotCaptureAction(id) {
137
- if (!(await authorized()))
138
- return DENIED;
107
+ await requirePolishdAuth();
139
108
  try {
140
109
  return await finishSnapshot(id);
141
110
  }
142
111
  catch (err) {
143
- console.error("[polishd] finishSnapshotCaptureAction failed:", err);
144
112
  return {
145
113
  ok: false,
146
114
  message: `The snapshot couldn't be recorded: ${err instanceof Error ? err.message : "unknown error"}`,
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-actions.js","sourceRoot":"","sources":["../../src/dashboard/snapshot-actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot-actions.js","sourceRoot":"","sources":["../../src/dashboard/snapshot-actions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../../src/dashboard/snapshots.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAuB,MAAM,qBAAqB,CAAC;AAwGhF,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B;;;;;OAKG;IACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,kBAAkB,+BAyQlF"}
1
+ {"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../../src/dashboard/snapshots.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAuB,MAAM,qBAAqB,CAAC;AAwGhF,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B;;;;;OAKG;IACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,kBAAkB,+BA2PlF"}
@@ -58,20 +58,6 @@ export default function SnapshotsCard({ initial, captureIssue }) {
58
58
  // A site with no dark mode has its identical dark shots dropped at capture
59
59
  // time — hide the toggle rather than offering an empty view.
60
60
  const effectiveTheme = selected?.noDarkMode ? "light" : theme;
61
- // What a rejected action call can tell us, phrased for the error box. In
62
- // production Next masks a thrown server error to a generic message plus a
63
- // digest — the digest is the correlation id to grep the host's function
64
- // logs for, so it is worth surfacing. A transport-level death (the function
65
- // killed at its time limit, a network drop) has no digest and keeps its
66
- // fetch-layer message.
67
- const describeRejection = (err) => {
68
- console.error("[polishd] capture action rejected:", err);
69
- if (err instanceof Error) {
70
- const digest = err.digest;
71
- return `${err.message}${digest ? ` [digest ${digest}]` : ""}`;
72
- }
73
- return String(err);
74
- };
75
61
  const capture = () => {
76
62
  setError(null);
77
63
  startCapture(async () => {
@@ -96,9 +82,11 @@ export default function SnapshotsCard({ initial, captureIssue }) {
96
82
  failure = res.message;
97
83
  }
98
84
  }
99
- catch (err) {
85
+ catch {
100
86
  failed.push(route);
101
- failure = `the request died mid-shoot: ${describeRejection(err)}`;
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";
102
90
  }
103
91
  setProgress({ done: i + 1, total: begun.routes.length });
104
92
  }
@@ -117,10 +105,9 @@ export default function SnapshotsCard({ initial, captureIssue }) {
117
105
  setError(failure ? `Capture failed: ${failure}.` : fin.message);
118
106
  }
119
107
  }
120
- catch (err) {
121
- setError(`The capture request itself failed: ${describeRejection(err)}. ` +
122
- "The same error is in the browser console, and your host's function " +
123
- "logs have the server side of it.");
108
+ catch {
109
+ setError("The capture failed before a result came back — your host's function " +
110
+ "logs will name the exact failure.");
124
111
  }
125
112
  finally {
126
113
  setProgress(null);
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/dashboard/summary.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EACV,uBAAuB,EAGvB,qBAAqB,EACrB,cAAc,EACf,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,eAAe,EAAE,uBAAuB,CAAC;IACzC,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC7C,6EAA6E;IAC7E,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,qEAAqE;IACrE,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,cAAc,EACd,eAAe,EACf,YAAY,EACZ,cAAc,EACd,WAAW,EACX,eAAe,GAChB,EAAE,gBAAgB,+BA2HlB"}
1
+ {"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/dashboard/summary.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EACV,uBAAuB,EAGvB,qBAAqB,EACrB,cAAc,EACf,MAAM,aAAa,CAAC;AAcrB,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,eAAe,EAAE,uBAAuB,CAAC;IACzC,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC7C,6EAA6E;IAC7E,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,qEAAqE;IACrE,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,cAAc,EACd,eAAe,EACf,YAAY,EACZ,cAAc,EACd,WAAW,EACX,eAAe,GAChB,EAAE,gBAAgB,+BA2HlB"}