multiclone 0.0.0-stage → 0.2.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 (240) hide show
  1. package/README.md +78 -2
  2. package/agents/section-builder.md +37 -0
  3. package/commands/multiclone.md +15 -0
  4. package/dist/adapters/cli.js +129 -0
  5. package/dist/adapters/cli.js.map +1 -0
  6. package/dist/adapters/cliArgs.js +63 -0
  7. package/dist/adapters/cliArgs.js.map +1 -0
  8. package/dist/adapters/mcp.js +83 -0
  9. package/dist/adapters/mcp.js.map +1 -0
  10. package/dist/analyze/analyze.js +85 -0
  11. package/dist/analyze/analyze.js.map +1 -0
  12. package/dist/analyze/animations.js +340 -0
  13. package/dist/analyze/animations.js.map +1 -0
  14. package/dist/analyze/ast.js +182 -0
  15. package/dist/analyze/ast.js.map +1 -0
  16. package/dist/analyze/chunks.js +160 -0
  17. package/dist/analyze/chunks.js.map +1 -0
  18. package/dist/analyze/jobs/code.js +117 -0
  19. package/dist/analyze/jobs/code.js.map +1 -0
  20. package/dist/analyze/jobs/sections.js +356 -0
  21. package/dist/analyze/jobs/sections.js.map +1 -0
  22. package/dist/analyze/pretty.js +20 -0
  23. package/dist/analyze/pretty.js.map +1 -0
  24. package/dist/analyze/report.js +101 -0
  25. package/dist/analyze/report.js.map +1 -0
  26. package/dist/analyze/worker.js +71 -0
  27. package/dist/analyze/worker.js.map +1 -0
  28. package/dist/capture/capture.js +340 -0
  29. package/dist/capture/capture.js.map +1 -0
  30. package/dist/capture/collectors/a11y.js +92 -0
  31. package/dist/capture/collectors/a11y.js.map +1 -0
  32. package/dist/capture/collectors/animations.js +113 -0
  33. package/dist/capture/collectors/animations.js.map +1 -0
  34. package/dist/capture/collectors/breakpoints.js +31 -0
  35. package/dist/capture/collectors/breakpoints.js.map +1 -0
  36. package/dist/capture/collectors/consent.js +39 -0
  37. package/dist/capture/collectors/consent.js.map +1 -0
  38. package/dist/capture/collectors/coverage.js +121 -0
  39. package/dist/capture/collectors/coverage.js.map +1 -0
  40. package/dist/capture/collectors/dom.js +16 -0
  41. package/dist/capture/collectors/dom.js.map +1 -0
  42. package/dist/capture/collectors/fonts.js +154 -0
  43. package/dist/capture/collectors/fonts.js.map +1 -0
  44. package/dist/capture/collectors/frames.js +93 -0
  45. package/dist/capture/collectors/frames.js.map +1 -0
  46. package/dist/capture/collectors/index.js +61 -0
  47. package/dist/capture/collectors/index.js.map +1 -0
  48. package/dist/capture/collectors/interactions.js +207 -0
  49. package/dist/capture/collectors/interactions.js.map +1 -0
  50. package/dist/capture/collectors/intro.js +84 -0
  51. package/dist/capture/collectors/intro.js.map +1 -0
  52. package/dist/capture/collectors/listeners.js +84 -0
  53. package/dist/capture/collectors/listeners.js.map +1 -0
  54. package/dist/capture/collectors/motion.js +91 -0
  55. package/dist/capture/collectors/motion.js.map +1 -0
  56. package/dist/capture/collectors/network.js +288 -0
  57. package/dist/capture/collectors/network.js.map +1 -0
  58. package/dist/capture/collectors/probes.js +34 -0
  59. package/dist/capture/collectors/probes.js.map +1 -0
  60. package/dist/capture/collectors/runtime.js +38 -0
  61. package/dist/capture/collectors/runtime.js.map +1 -0
  62. package/dist/capture/collectors/scripts.js +98 -0
  63. package/dist/capture/collectors/scripts.js.map +1 -0
  64. package/dist/capture/collectors/sections.js +17 -0
  65. package/dist/capture/collectors/sections.js.map +1 -0
  66. package/dist/capture/collectors/shots.js +58 -0
  67. package/dist/capture/collectors/shots.js.map +1 -0
  68. package/dist/capture/collectors/snapshot.js +47 -0
  69. package/dist/capture/collectors/snapshot.js.map +1 -0
  70. package/dist/capture/collectors/sourcemaps.js +153 -0
  71. package/dist/capture/collectors/sourcemaps.js.map +1 -0
  72. package/dist/capture/collectors/storage.js +72 -0
  73. package/dist/capture/collectors/storage.js.map +1 -0
  74. package/dist/capture/context.js +40 -0
  75. package/dist/capture/context.js.map +1 -0
  76. package/dist/capture/hooks/candidates.js +104 -0
  77. package/dist/capture/hooks/candidates.js.map +1 -0
  78. package/dist/capture/hooks/consent.js +82 -0
  79. package/dist/capture/hooks/consent.js.map +1 -0
  80. package/dist/capture/hooks/recorders.js +507 -0
  81. package/dist/capture/hooks/recorders.js.map +1 -0
  82. package/dist/capture/hooks/sections.js +62 -0
  83. package/dist/capture/hooks/sections.js.map +1 -0
  84. package/dist/capture/hooks/styles.js +86 -0
  85. package/dist/capture/hooks/styles.js.map +1 -0
  86. package/dist/capture/probes.js +491 -0
  87. package/dist/capture/probes.js.map +1 -0
  88. package/dist/capture/report.js +115 -0
  89. package/dist/capture/report.js.map +1 -0
  90. package/dist/compare/compare.js +391 -0
  91. package/dist/compare/compare.js.map +1 -0
  92. package/dist/compare/image.js +105 -0
  93. package/dist/compare/image.js.map +1 -0
  94. package/dist/compare/probes.js +129 -0
  95. package/dist/compare/probes.js.map +1 -0
  96. package/dist/compare/report.js +99 -0
  97. package/dist/compare/report.js.map +1 -0
  98. package/dist/compare/session.js +139 -0
  99. package/dist/compare/session.js.map +1 -0
  100. package/dist/compare/shoot.js +62 -0
  101. package/dist/compare/shoot.js.map +1 -0
  102. package/dist/contracts/catalog.js +29 -0
  103. package/dist/contracts/catalog.js.map +1 -0
  104. package/dist/contracts/context.js +19 -0
  105. package/dist/contracts/context.js.map +1 -0
  106. package/dist/contracts/fields.js +16 -0
  107. package/dist/contracts/fields.js.map +1 -0
  108. package/dist/contracts/tools/analyze.js +38 -0
  109. package/dist/contracts/tools/analyze.js.map +1 -0
  110. package/dist/contracts/tools/capture.js +87 -0
  111. package/dist/contracts/tools/capture.js.map +1 -0
  112. package/dist/contracts/tools/compare.js +142 -0
  113. package/dist/contracts/tools/compare.js.map +1 -0
  114. package/dist/contracts/tools/doctor.js +23 -0
  115. package/dist/contracts/tools/doctor.js.map +1 -0
  116. package/dist/contracts/tools/inspect.js +41 -0
  117. package/dist/contracts/tools/inspect.js.map +1 -0
  118. package/dist/contracts/tools/method.js +60 -0
  119. package/dist/contracts/tools/method.js.map +1 -0
  120. package/dist/contracts/tools/mirror.js +53 -0
  121. package/dist/contracts/tools/mirror.js.map +1 -0
  122. package/dist/contracts/tools/project.js +61 -0
  123. package/dist/contracts/tools/project.js.map +1 -0
  124. package/dist/contracts/tools/session.js +195 -0
  125. package/dist/contracts/tools/session.js.map +1 -0
  126. package/dist/contracts/types.js +20 -0
  127. package/dist/contracts/types.js.map +1 -0
  128. package/dist/core/cdp.js +146 -0
  129. package/dist/core/cdp.js.map +1 -0
  130. package/dist/core/chrome.js +185 -0
  131. package/dist/core/chrome.js.map +1 -0
  132. package/dist/core/files.js +31 -0
  133. package/dist/core/files.js.map +1 -0
  134. package/dist/core/inpage.js +24 -0
  135. package/dist/core/inpage.js.map +1 -0
  136. package/dist/core/log.js +10 -0
  137. package/dist/core/log.js.map +1 -0
  138. package/dist/core/page.js +269 -0
  139. package/dist/core/page.js.map +1 -0
  140. package/dist/doctor.js +37 -0
  141. package/dist/doctor.js.map +1 -0
  142. package/dist/domain/breakpoints.js +47 -0
  143. package/dist/domain/breakpoints.js.map +1 -0
  144. package/dist/domain/budget.js +38 -0
  145. package/dist/domain/budget.js.map +1 -0
  146. package/dist/domain/compare.js +138 -0
  147. package/dist/domain/compare.js.map +1 -0
  148. package/dist/domain/coverage.js +96 -0
  149. package/dist/domain/coverage.js.map +1 -0
  150. package/dist/domain/motion.js +142 -0
  151. package/dist/domain/motion.js.map +1 -0
  152. package/dist/domain/paths.js +55 -0
  153. package/dist/domain/paths.js.map +1 -0
  154. package/dist/domain/result.js +38 -0
  155. package/dist/domain/result.js.map +1 -0
  156. package/dist/domain/routes.js +160 -0
  157. package/dist/domain/routes.js.map +1 -0
  158. package/dist/domain/sections.js +94 -0
  159. package/dist/domain/sections.js.map +1 -0
  160. package/dist/domain/snapshot.js +268 -0
  161. package/dist/domain/snapshot.js.map +1 -0
  162. package/dist/domain/sourcemap.js +95 -0
  163. package/dist/domain/sourcemap.js.map +1 -0
  164. package/dist/domain/stack.js +342 -0
  165. package/dist/domain/stack.js.map +1 -0
  166. package/dist/domain/tokens.js +183 -0
  167. package/dist/domain/tokens.js.map +1 -0
  168. package/dist/domain/types.js +2 -0
  169. package/dist/domain/types.js.map +1 -0
  170. package/dist/domain/viewports.js +45 -0
  171. package/dist/domain/viewports.js.map +1 -0
  172. package/dist/mirror/rewrite.js +56 -0
  173. package/dist/mirror/rewrite.js.map +1 -0
  174. package/dist/mirror/server.js +191 -0
  175. package/dist/mirror/server.js.map +1 -0
  176. package/dist/mirror/store.js +86 -0
  177. package/dist/mirror/store.js.map +1 -0
  178. package/dist/project/assets.js +69 -0
  179. package/dist/project/assets.js.map +1 -0
  180. package/dist/project/draft.js +860 -0
  181. package/dist/project/draft.js.map +1 -0
  182. package/dist/project/method.js +154 -0
  183. package/dist/project/method.js.map +1 -0
  184. package/dist/project/scaffold.js +142 -0
  185. package/dist/project/scaffold.js.map +1 -0
  186. package/dist/session/discover.js +53 -0
  187. package/dist/session/discover.js.map +1 -0
  188. package/dist/session/proc.js +113 -0
  189. package/dist/session/proc.js.map +1 -0
  190. package/dist/session/progress.js +83 -0
  191. package/dist/session/progress.js.map +1 -0
  192. package/dist/session/session.js +450 -0
  193. package/dist/session/session.js.map +1 -0
  194. package/dist/session/state.js +47 -0
  195. package/dist/session/state.js.map +1 -0
  196. package/dist/store/inspect.js +212 -0
  197. package/dist/store/inspect.js.map +1 -0
  198. package/dist/store/run.js +112 -0
  199. package/dist/store/run.js.map +1 -0
  200. package/dist/store/summary.js +69 -0
  201. package/dist/store/summary.js.map +1 -0
  202. package/dist/version.js +2 -0
  203. package/dist/version.js.map +1 -0
  204. package/install.sh +29 -0
  205. package/package.json +67 -4
  206. package/skills/multiclone/SKILL.md +123 -0
  207. package/skills/multiclone/references/capture-format.md +73 -0
  208. package/skills/multiclone/references/fidelity.md +54 -0
  209. package/skills/multiclone/references/quality.md +47 -0
  210. package/skills/multiclone/references/stacks.md +156 -0
  211. package/templates/react-vite/.prettierignore +5 -0
  212. package/templates/react-vite/.prettierrc.json +6 -0
  213. package/templates/react-vite/eslint.config.js +38 -0
  214. package/templates/react-vite/gitignore +4 -0
  215. package/templates/react-vite/index.html +12 -0
  216. package/templates/react-vite/package.json +36 -0
  217. package/templates/react-vite/src/app/App.tsx +15 -0
  218. package/templates/react-vite/src/app/Page.tsx +11 -0
  219. package/templates/react-vite/src/app/routes.ts +7 -0
  220. package/templates/react-vite/src/components/README.md +7 -0
  221. package/templates/react-vite/src/content/README.md +2 -0
  222. package/templates/react-vite/src/hooks/useActiveSection.ts +37 -0
  223. package/templates/react-vite/src/hooks/useInView.ts +45 -0
  224. package/templates/react-vite/src/hooks/useMediaQuery.ts +15 -0
  225. package/templates/react-vite/src/lib/cn.ts +4 -0
  226. package/templates/react-vite/src/lib/math.ts +21 -0
  227. package/templates/react-vite/src/lib/mc.ts +13 -0
  228. package/templates/react-vite/src/lib/media.ts +4 -0
  229. package/templates/react-vite/src/main.tsx +13 -0
  230. package/templates/react-vite/src/providers/SmoothScroll.tsx +24 -0
  231. package/templates/react-vite/src/styles/base.css +42 -0
  232. package/templates/react-vite/src/styles/draft.css +1 -0
  233. package/templates/react-vite/src/styles/fonts.css +1 -0
  234. package/templates/react-vite/src/styles/index.css +4 -0
  235. package/templates/react-vite/src/styles/tokens.css +3 -0
  236. package/templates/react-vite/src/vite-env.d.ts +1 -0
  237. package/templates/react-vite/tsconfig.app.json +29 -0
  238. package/templates/react-vite/tsconfig.json +4 -0
  239. package/templates/react-vite/tsconfig.node.json +19 -0
  240. package/templates/react-vite/vite.config.ts +37 -0
@@ -0,0 +1,268 @@
1
+ import { stablePathOf } from './paths.js';
2
+ /** The computed styles DOMSnapshot.captureSnapshot reports for every laid-out node. */
3
+ export const SNAPSHOT_STYLES = [
4
+ 'display',
5
+ 'position',
6
+ 'top',
7
+ 'right',
8
+ 'bottom',
9
+ 'left',
10
+ 'z-index',
11
+ 'float',
12
+ 'box-sizing',
13
+ 'width',
14
+ 'height',
15
+ 'min-width',
16
+ 'max-width',
17
+ 'min-height',
18
+ 'max-height',
19
+ 'margin-top',
20
+ 'margin-right',
21
+ 'margin-bottom',
22
+ 'margin-left',
23
+ 'padding-top',
24
+ 'padding-right',
25
+ 'padding-bottom',
26
+ 'padding-left',
27
+ 'border-top-width',
28
+ 'border-right-width',
29
+ 'border-bottom-width',
30
+ 'border-left-width',
31
+ 'border-top-style',
32
+ 'border-top-color',
33
+ 'border-right-color',
34
+ 'border-bottom-color',
35
+ 'border-left-color',
36
+ 'border-top-left-radius',
37
+ 'border-top-right-radius',
38
+ 'border-bottom-right-radius',
39
+ 'border-bottom-left-radius',
40
+ 'flex-direction',
41
+ 'flex-wrap',
42
+ 'flex-grow',
43
+ 'flex-shrink',
44
+ 'flex-basis',
45
+ 'justify-content',
46
+ 'align-items',
47
+ 'align-self',
48
+ 'align-content',
49
+ 'order',
50
+ 'gap',
51
+ 'row-gap',
52
+ 'column-gap',
53
+ 'grid-template-columns',
54
+ 'grid-template-rows',
55
+ 'grid-template-areas',
56
+ 'grid-column',
57
+ 'grid-row',
58
+ 'grid-auto-flow',
59
+ 'place-items',
60
+ 'aspect-ratio',
61
+ 'object-fit',
62
+ 'object-position',
63
+ 'font-family',
64
+ 'font-size',
65
+ 'font-weight',
66
+ 'font-style',
67
+ 'font-stretch',
68
+ 'font-variation-settings',
69
+ 'font-feature-settings',
70
+ 'line-height',
71
+ 'letter-spacing',
72
+ 'word-spacing',
73
+ 'text-align',
74
+ 'text-transform',
75
+ 'text-decoration-line',
76
+ 'text-indent',
77
+ 'text-overflow',
78
+ 'text-shadow',
79
+ 'white-space',
80
+ 'word-break',
81
+ 'color',
82
+ 'opacity',
83
+ 'visibility',
84
+ 'background-color',
85
+ 'background-image',
86
+ 'background-size',
87
+ 'background-position',
88
+ 'background-repeat',
89
+ 'background-clip',
90
+ 'box-shadow',
91
+ 'outline',
92
+ 'transform',
93
+ 'transform-origin',
94
+ 'transform-style',
95
+ 'perspective',
96
+ 'translate',
97
+ 'rotate',
98
+ 'scale',
99
+ 'filter',
100
+ 'backdrop-filter',
101
+ 'clip-path',
102
+ 'mask-image',
103
+ 'mix-blend-mode',
104
+ 'isolation',
105
+ 'overflow-x',
106
+ 'overflow-y',
107
+ 'cursor',
108
+ 'pointer-events',
109
+ 'transition',
110
+ 'animation-name',
111
+ 'animation-duration',
112
+ 'animation-timing-function',
113
+ 'will-change',
114
+ 'content',
115
+ 'list-style-type',
116
+ 'inset',
117
+ ];
118
+ const KEEP_ATTRS = /^(id|class|href|src|srcset|alt|role|aria-[\w-]+|data-[\w-]+|type|name|title|style|poster|width|height|viewBox|d|fill|stroke|loading|rel|target|placeholder|for|tabindex|open|autoplay|muted|loop|playsinline|controls|value|disabled|checked|lang|dir|datetime|colspan|rowspan|cx|cy|r|rx|ry|x|y|x1|x2|y1|y2|points|transform|offset|opacity|preserveAspectRatio|gradientUnits|gradientTransform|xlink:href|stroke-width|stroke-linecap|stroke-linejoin|stroke-dasharray|stroke-dashoffset|stroke-opacity|fill-rule|fill-opacity|clip-rule|clip-path|mask|stop-color|stop-opacity)$/;
119
+ const MAX_ATTR = 2000;
120
+ /** Folds the column-oriented CDP snapshot into per-node records with stable paths. */
121
+ export function compactSnapshot(raw) {
122
+ const str = (index) => index === undefined || index < 0 ? '' : (raw.strings[index] ?? '');
123
+ const documents = raw.documents.map((doc) => {
124
+ const n = doc.nodes;
125
+ const count = n.nodeName?.length ?? 0;
126
+ const parents = n.parentIndex ?? [];
127
+ const rare = (data) => new Map((data?.index ?? []).map((node, k) => [node, str(data?.value[k])]));
128
+ const shadow = rare(n.shadowRootType);
129
+ const pseudo = rare(n.pseudoType);
130
+ const sources = rare(n.currentSourceURL);
131
+ const frameDocs = new Map((n.contentDocumentIndex?.index ?? []).map((node, k) => [
132
+ node,
133
+ n.contentDocumentIndex?.value[k] ?? -1,
134
+ ]));
135
+ const clickable = new Set(n.isClickable?.index ?? []);
136
+ const layout = new Map();
137
+ doc.layout.nodeIndex.forEach((node, k) => layout.set(node, k));
138
+ const children = new Map();
139
+ const attrsOf = (index) => {
140
+ const list = n.attributes?.[index] ?? [];
141
+ const out = {};
142
+ for (let k = 0; k + 1 < list.length; k += 2) {
143
+ const key = str(list[k]);
144
+ if (KEEP_ATTRS.test(key))
145
+ out[key] = str(list[k + 1]).slice(0, MAX_ATTR);
146
+ }
147
+ return out;
148
+ };
149
+ const attrCache = new Map();
150
+ const attrs = (index) => {
151
+ let cached = attrCache.get(index);
152
+ if (!cached) {
153
+ cached = attrsOf(index);
154
+ attrCache.set(index, cached);
155
+ }
156
+ return cached;
157
+ };
158
+ for (let index = 0; index < count; index++) {
159
+ const parent = parents[index] ?? -1;
160
+ if (parent < 0)
161
+ continue;
162
+ const list = children.get(parent) ?? [];
163
+ list.push(index);
164
+ children.set(parent, list);
165
+ }
166
+ const type = (index) => n.nodeType?.[index] ?? 0;
167
+ const isElement = (index) => type(index) === 1 && !pseudo.has(index);
168
+ const idCounts = new Map();
169
+ for (let index = 0; index < count; index++) {
170
+ const id = isElement(index) ? attrs(index).id : undefined;
171
+ if (id)
172
+ idCounts.set(id, (idCounts.get(id) ?? 0) + 1);
173
+ }
174
+ const parentElement = (index) => {
175
+ const parent = parents[index] ?? -1;
176
+ return parent >= 0 && isElement(parent) ? parent : null;
177
+ };
178
+ const access = {
179
+ parent: parentElement,
180
+ shadowHost: (index) => {
181
+ const parent = parents[index] ?? -1;
182
+ if (parent < 0 || type(parent) !== 11)
183
+ return null;
184
+ const host = parents[parent] ?? -1;
185
+ return host >= 0 ? host : null;
186
+ },
187
+ tag: (index) => str(n.nodeName?.[index]),
188
+ id: (index) => attrs(index).id ?? null,
189
+ siblings: (index) => (children.get(parents[index] ?? -1) ?? [index]).filter(isElement),
190
+ uniqueId: (_index, id) => idCounts.get(id) === 1,
191
+ };
192
+ const nodes = [];
193
+ for (let index = 0; index < count; index++) {
194
+ const t = type(index);
195
+ if (t === 8 || t === 10)
196
+ continue;
197
+ const name = str(n.nodeName?.[index]);
198
+ const layoutIndex = layout.get(index);
199
+ const record = { i: index, p: parents[index] ?? -1, t, name };
200
+ const backend = n.backendNodeId?.[index];
201
+ if (backend !== undefined)
202
+ record.backendId = backend;
203
+ if (isElement(index)) {
204
+ record.path = stablePathOf(index, access);
205
+ const a = attrs(index);
206
+ if (Object.keys(a).length)
207
+ record.attrs = a;
208
+ }
209
+ if (t === 3) {
210
+ const text = str(n.nodeValue?.[index]).trim();
211
+ if (!text)
212
+ continue;
213
+ record.text = text.slice(0, 4000);
214
+ }
215
+ const pseudoType = pseudo.get(index);
216
+ if (pseudoType)
217
+ record.pseudo = pseudoType;
218
+ const shadowType = shadow.get(index);
219
+ if (shadowType)
220
+ record.shadow = shadowType;
221
+ const frameDoc = frameDocs.get(index);
222
+ if (frameDoc !== undefined && frameDoc >= 0)
223
+ record.frameDoc = frameDoc;
224
+ if (clickable.has(index))
225
+ record.clickable = true;
226
+ const src = sources.get(index);
227
+ if (src)
228
+ record.src = src;
229
+ if (layoutIndex !== undefined) {
230
+ const bounds = doc.layout.bounds[layoutIndex] ?? [];
231
+ record.box = [
232
+ Math.round(bounds[0] ?? 0),
233
+ Math.round(bounds[1] ?? 0),
234
+ Math.round(bounds[2] ?? 0),
235
+ Math.round(bounds[3] ?? 0),
236
+ ];
237
+ const styles = doc.layout.styles[layoutIndex];
238
+ if (styles?.length)
239
+ record.s = styles;
240
+ const paint = doc.layout.paintOrders?.[layoutIndex];
241
+ if (paint !== undefined)
242
+ record.paint = paint;
243
+ const bg = str(doc.layout.blendedBackgroundColors?.[layoutIndex]);
244
+ if (bg)
245
+ record.bg = bg;
246
+ }
247
+ nodes.push(record);
248
+ }
249
+ return {
250
+ url: str(doc.documentURL),
251
+ frameId: str(doc.frameId),
252
+ contentHeight: Math.round(doc.contentHeight ?? 0),
253
+ nodes,
254
+ };
255
+ });
256
+ return { styleNames: [...SNAPSHOT_STYLES], strings: raw.strings, documents };
257
+ }
258
+ /** Resolves a node's style indices into a property → value record. */
259
+ export function nodeStyles(snapshot, node) {
260
+ const out = {};
261
+ node.s?.forEach((value, k) => {
262
+ const name = snapshot.styleNames[k];
263
+ if (name !== undefined && value >= 0)
264
+ out[name] = snapshot.strings[value] ?? '';
265
+ });
266
+ return out;
267
+ }
268
+ //# sourceMappingURL=snapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/domain/snapshot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ import { FlattenMap, sourceContentFor, } from '@jridgewell/trace-mapping';
2
+ /** Finds a source map reference: scriptParsed value, then SourceMap header, then trailing comment. */
3
+ export function findSourceMapUrl(input) {
4
+ if (input.fromDebugger)
5
+ return input.fromDebugger;
6
+ const header = input.headers?.sourcemap ?? input.headers?.['x-sourcemap'];
7
+ if (header)
8
+ return header;
9
+ const tail = input.source?.slice(-4000) ?? '';
10
+ const pattern = input.css
11
+ ? /\/\*\s*[#@]\s*sourceMappingURL\s*=\s*(\S+?)\s*\*\/\s*$/
12
+ : /\/\/\s*[#@]\s*sourceMappingURL\s*=\s*(\S+)\s*$/;
13
+ const match = pattern.exec(tail.trimEnd());
14
+ return match?.[1] ?? null;
15
+ }
16
+ /** Resolves a map reference against its script URL; null for unusable references. */
17
+ export function resolveMapUrl(reference, scriptUrl) {
18
+ if (reference.startsWith('data:'))
19
+ return reference;
20
+ try {
21
+ const resolved = new URL(reference, scriptUrl || undefined);
22
+ return resolved.protocol === 'http:' || resolved.protocol === 'https:'
23
+ ? resolved.toString()
24
+ : null;
25
+ }
26
+ catch {
27
+ return null;
28
+ }
29
+ }
30
+ /** Decodes a `data:application/json;base64,…` (or percent-encoded) source map. */
31
+ export function decodeDataUrl(url) {
32
+ const match = /^data:([^,]*?),(.*)$/s.exec(url);
33
+ if (!match)
34
+ return null;
35
+ const meta = match[1] ?? '';
36
+ const payload = match[2] ?? '';
37
+ try {
38
+ return meta.endsWith(';base64')
39
+ ? Buffer.from(payload, 'base64').toString('utf8')
40
+ : decodeURIComponent(payload);
41
+ }
42
+ catch {
43
+ return null;
44
+ }
45
+ }
46
+ /** Turns `webpack://app/./src/Hero.tsx?abc` into a safe relative path like `app/src/Hero.tsx`. */
47
+ export function normalizeSourcePath(source) {
48
+ let path = source.replace(/^[a-z][a-z0-9+.-]*:\/{0,3}/i, '');
49
+ path = path.split(/[?#]/)[0] ?? '';
50
+ const parts = [];
51
+ for (const segment of path.split(/[\\/]+/)) {
52
+ if (!segment || segment === '.' || segment === '..')
53
+ continue;
54
+ parts.push(segment.replace(/[^\w.@+-]/g, '_').slice(0, 120));
55
+ }
56
+ return parts.join('/') || 'unnamed';
57
+ }
58
+ export const isVendorSource = (path) => /(^|\/)(node_modules|\.pnpm|\.yarn|bower_components)\//.test(path) ||
59
+ /^(webpack|vite)\/(runtime|bootstrap)/.test(path);
60
+ /** Parses a regular or indexed source map and returns every embedded original source. */
61
+ export function extractSources(text, mapUrl) {
62
+ let json;
63
+ try {
64
+ json = JSON.parse(text.replace(/^\)\]\}'[^\n]*\n/, ''));
65
+ }
66
+ catch {
67
+ return { ok: false, reason: 'not JSON' };
68
+ }
69
+ if (typeof json !== 'object' || json === null || json.version !== 3) {
70
+ return { ok: false, reason: 'not a version 3 source map' };
71
+ }
72
+ try {
73
+ const map = FlattenMap(json, mapUrl);
74
+ const sources = [];
75
+ let withoutContent = 0;
76
+ const seen = new Set();
77
+ for (const source of map.sources) {
78
+ if (source === null || seen.has(source))
79
+ continue;
80
+ seen.add(source);
81
+ const content = sourceContentFor(map, source);
82
+ if (content === null) {
83
+ withoutContent++;
84
+ continue;
85
+ }
86
+ const path = normalizeSourcePath(source);
87
+ sources.push({ source, path, content, vendor: isVendorSource(path) });
88
+ }
89
+ return { ok: true, sources, withoutContent };
90
+ }
91
+ catch (error) {
92
+ return { ok: false, reason: error instanceof Error ? error.message : String(error) };
93
+ }
94
+ }
95
+ //# sourceMappingURL=sourcemap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sourcemap.js","sourceRoot":"","sources":["../../src/domain/sourcemap.ts"],"names":[],"mappings":"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"}