design-brain-memory 0.9.1 → 0.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agentBrowser.d.ts +1 -0
- package/dist/agentBrowser.js +30 -12
- package/dist/agentBrowser.js.map +1 -1
- package/dist/cli.js +1 -1
- package/dist/extractFromUrl.js +251 -596
- package/dist/extractFromUrl.js.map +1 -1
- package/dist/scanRenderer.js +2 -2
- package/package.json +1 -1
package/dist/agentBrowser.d.ts
CHANGED
package/dist/agentBrowser.js
CHANGED
|
@@ -49,8 +49,10 @@ function parseJsonFromOutput(stdout) {
|
|
|
49
49
|
}
|
|
50
50
|
throw new Error(`Failed to parse Agent Browser JSON response. Output:\n${stdout}`);
|
|
51
51
|
}
|
|
52
|
+
const DEFAULT_TIMEOUT_MS = 60_000;
|
|
52
53
|
export async function runAgentBrowserJson(args, options = {}) {
|
|
53
54
|
const runner = resolveRunner();
|
|
55
|
+
const timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
54
56
|
const finalArgs = [
|
|
55
57
|
...runner.prefixArgs,
|
|
56
58
|
...(options.session ? ['--session', options.session] : []),
|
|
@@ -59,6 +61,8 @@ export async function runAgentBrowserJson(args, options = {}) {
|
|
|
59
61
|
...args,
|
|
60
62
|
];
|
|
61
63
|
return new Promise((resolve, reject) => {
|
|
64
|
+
let settled = false;
|
|
65
|
+
let timer;
|
|
62
66
|
const child = spawn(runner.command, finalArgs, {
|
|
63
67
|
cwd: options.cwd,
|
|
64
68
|
env: {
|
|
@@ -70,6 +74,18 @@ export async function runAgentBrowserJson(args, options = {}) {
|
|
|
70
74
|
});
|
|
71
75
|
let stdout = '';
|
|
72
76
|
let stderr = '';
|
|
77
|
+
function settle(fn) {
|
|
78
|
+
if (settled)
|
|
79
|
+
return;
|
|
80
|
+
settled = true;
|
|
81
|
+
if (timer)
|
|
82
|
+
clearTimeout(timer);
|
|
83
|
+
fn();
|
|
84
|
+
}
|
|
85
|
+
timer = setTimeout(() => {
|
|
86
|
+
child.kill('SIGKILL');
|
|
87
|
+
settle(() => reject(new Error(`agent-browser timed out after ${timeoutMs}ms: ${args.join(' ')}`)));
|
|
88
|
+
}, timeoutMs);
|
|
73
89
|
child.stdout.on('data', (chunk) => {
|
|
74
90
|
stdout += chunk.toString();
|
|
75
91
|
});
|
|
@@ -77,20 +93,22 @@ export async function runAgentBrowserJson(args, options = {}) {
|
|
|
77
93
|
stderr += chunk.toString();
|
|
78
94
|
});
|
|
79
95
|
child.on('error', (error) => {
|
|
80
|
-
reject(error);
|
|
96
|
+
settle(() => reject(error));
|
|
81
97
|
});
|
|
82
98
|
child.on('close', (code) => {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
99
|
+
settle(() => {
|
|
100
|
+
if (code !== 0) {
|
|
101
|
+
reject(new Error(`agent-browser command failed (${code}): ${stderr || stdout}`));
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
try {
|
|
105
|
+
resolve(parseJsonFromOutput(stdout));
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
const details = stderr ? `${error.message}\n${stderr}` : error.message;
|
|
109
|
+
reject(new Error(details));
|
|
110
|
+
}
|
|
111
|
+
});
|
|
94
112
|
});
|
|
95
113
|
});
|
|
96
114
|
}
|
package/dist/agentBrowser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentBrowser.js","sourceRoot":"","sources":["../src/agentBrowser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAatD,IAAI,YAAY,GAAwB,IAAI,CAAC;AAE7C,SAAS,UAAU,CAAC,OAAe,EAAE,IAAc;IACjD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE;QACtC,KAAK,EAAE,QAAQ;QACf,GAAG,EAAE;YACH,GAAG,OAAO,CAAC,GAAG;YACd,0BAA0B,EAAE,OAAO;YACnC,0BAA0B,EAAE,OAAO;SACpC;KACF,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,aAAa;IACpB,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC;IAC3D,IAAI,OAAO,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QAClD,YAAY,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QACpD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,UAAU,CAAC,eAAe,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QAC/C,YAAY,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QAC5D,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,YAAY,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,CAAC;IAC1E,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc;IACzC,MAAM,KAAK,GAAG,MAAM;SACjB,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAErC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA6B,CAAC;YAC5D,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBACxC,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB;QACnB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,yDAAyD,MAAM,EAAE,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAc,EACd,
|
|
1
|
+
{"version":3,"file":"agentBrowser.js","sourceRoot":"","sources":["../src/agentBrowser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAatD,IAAI,YAAY,GAAwB,IAAI,CAAC;AAE7C,SAAS,UAAU,CAAC,OAAe,EAAE,IAAc;IACjD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE;QACtC,KAAK,EAAE,QAAQ;QACf,GAAG,EAAE;YACH,GAAG,OAAO,CAAC,GAAG;YACd,0BAA0B,EAAE,OAAO;YACnC,0BAA0B,EAAE,OAAO;SACpC;KACF,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,aAAa;IACpB,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC;IAC3D,IAAI,OAAO,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QAClD,YAAY,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QACpD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,UAAU,CAAC,eAAe,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QAC/C,YAAY,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QAC5D,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,YAAY,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,CAAC;IAC1E,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc;IACzC,MAAM,KAAK,GAAG,MAAM;SACjB,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAErC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA6B,CAAC;YAC5D,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBACxC,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB;QACnB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,yDAAyD,MAAM,EAAE,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAc,EACd,UAAoF,EAAE;IAEtF,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC;IAC1D,MAAM,SAAS,GAAG;QAChB,GAAG,MAAM,CAAC,UAAU;QACpB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,QAAQ;QACR,GAAG,IAAI;KACR,CAAC;IAEF,OAAO,IAAI,OAAO,CAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC/D,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,KAAgD,CAAC;QAErD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE;YAC7C,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,GAAG,EAAE;gBACH,GAAG,OAAO,CAAC,GAAG;gBACd,0BAA0B,EAAE,OAAO;gBACnC,0BAA0B,EAAE,OAAO;aACpC;YACD,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,SAAS,MAAM,CAAC,EAAc;YAC5B,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,KAAK;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YAC/B,EAAE,EAAE,CAAC;QACP,CAAC;QAED,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACtB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAC3B,iCAAiC,SAAS,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAClE,CAAC,CAAC,CAAC;QACN,CAAC,EAAE,SAAS,CAAC,CAAC;QAEd,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE;YACjD,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE;YACjD,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,MAAM,CAAC,GAAG,EAAE;gBACV,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,KAAK,CAAC,iCAAiC,IAAI,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC;oBACjF,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC;oBACH,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAI,KAAe,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC,CAAC,CAAE,KAAe,CAAC,OAAO,CAAC;oBAC7F,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -61,7 +61,7 @@ async function main() {
|
|
|
61
61
|
program
|
|
62
62
|
.name('design-brain-memory')
|
|
63
63
|
.description('Relational markdown design memory powered by Agent Browser CLI')
|
|
64
|
-
.version('0.9.
|
|
64
|
+
.version('0.9.3')
|
|
65
65
|
.option('-y, --yes', 'Skip interactive prompts');
|
|
66
66
|
/* ─── scan (default command) ─── */
|
|
67
67
|
program
|
package/dist/extractFromUrl.js
CHANGED
|
@@ -7,518 +7,313 @@ const DEFAULT_VIEWPORTS = [
|
|
|
7
7
|
{ label: 'tablet', width: 1024, height: 1366 },
|
|
8
8
|
{ label: 'mobile', width: 390, height: 844 },
|
|
9
9
|
];
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const maxStateStyles = 260;
|
|
26
|
-
|
|
27
|
-
function normalizeWhitespace(text) {
|
|
28
|
-
return (text || '').replace(/\s+/g, ' ').trim();
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
function pushColor(value, sample) {
|
|
32
|
-
if (!value || value === 'transparent' || value === 'rgba(0, 0, 0, 0)') {
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const parsed = parseCssColor(value);
|
|
37
|
-
if (!parsed) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
const key = parsed.toUpperCase();
|
|
42
|
-
const entry = colorMap.get(key) || { hex: key, count: 0, samples: [] };
|
|
43
|
-
entry.count += 1;
|
|
44
|
-
if (sample && entry.samples.length < 5 && !entry.samples.includes(sample)) {
|
|
45
|
-
entry.samples.push(sample);
|
|
10
|
+
// ---------------------------------------------------------------------------
|
|
11
|
+
// UNIFIED_SCRIPT: single eval that extracts design tokens, scrolls the page
|
|
12
|
+
// to trigger lazy-loaded animations, observes animations, and returns
|
|
13
|
+
// everything in one shot. This replaces 3 separate scripts + a scroll loop
|
|
14
|
+
// that used to spawn 40-70 child processes.
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
const UNIFIED_SCRIPT = String.raw `(async () => {
|
|
17
|
+
/* ── Shared helpers ── */
|
|
18
|
+
function buildSelector(el) {
|
|
19
|
+
if (!el || !el.tagName) return 'unknown';
|
|
20
|
+
var tag = el.tagName.toLowerCase();
|
|
21
|
+
if (el.id) return tag + '#' + el.id;
|
|
22
|
+
if (typeof el.className === 'string' && el.className.trim()) {
|
|
23
|
+
var firstClass = el.className.trim().split(/\s+/).slice(0, 2).join('.');
|
|
24
|
+
if (firstClass) return tag + '.' + firstClass;
|
|
46
25
|
}
|
|
47
|
-
|
|
26
|
+
return tag;
|
|
48
27
|
}
|
|
49
28
|
|
|
50
29
|
function parseCssColor(input) {
|
|
51
|
-
if (!input)
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
const value = input.toString().trim().toLowerCase();
|
|
56
|
-
|
|
30
|
+
if (!input) return null;
|
|
31
|
+
var value = input.toString().trim().toLowerCase();
|
|
57
32
|
if (value.startsWith('#')) {
|
|
58
|
-
if (value.length === 4)
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
if (value.length === 7) {
|
|
62
|
-
return value;
|
|
63
|
-
}
|
|
33
|
+
if (value.length === 4) return '#' + value[1]+value[1]+value[2]+value[2]+value[3]+value[3];
|
|
34
|
+
if (value.length === 7) return value;
|
|
64
35
|
return null;
|
|
65
36
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
if ([r, g, b].some((n) => Number.isNaN(n))) {
|
|
74
|
-
return null;
|
|
75
|
-
}
|
|
76
|
-
const toHex = (n) => Math.max(0, Math.min(255, n)).toString(16).padStart(2, '0');
|
|
77
|
-
return '#' + toHex(r) + toHex(g) + toHex(b);
|
|
37
|
+
var m = value.match(/rgba?\(([^)]+)\)/);
|
|
38
|
+
if (m) {
|
|
39
|
+
var parts = m[1].split(',').map(function(p){return p.trim();});
|
|
40
|
+
var r = Number(parts[0]), g = Number(parts[1]), b = Number(parts[2]);
|
|
41
|
+
if ([r,g,b].some(isNaN)) return null;
|
|
42
|
+
var h = function(n){return Math.max(0,Math.min(255,n)).toString(16).padStart(2,'0');};
|
|
43
|
+
return '#'+h(r)+h(g)+h(b);
|
|
78
44
|
}
|
|
79
|
-
|
|
80
45
|
return null;
|
|
81
46
|
}
|
|
82
47
|
|
|
83
|
-
function
|
|
84
|
-
|
|
85
|
-
if (el.id) {
|
|
86
|
-
return tag + '#' + el.id;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
if (typeof el.className === 'string' && el.className.trim()) {
|
|
90
|
-
const firstClass = el.className.trim().split(/\s+/).slice(0, 2).join('.');
|
|
91
|
-
if (firstClass) {
|
|
92
|
-
return tag + '.' + firstClass;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
return tag;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
function addTypography(style) {
|
|
100
|
-
const key = [style.fontFamily, style.fontSize, style.fontWeight, style.lineHeight].join('|');
|
|
101
|
-
const existing = typographyMap.get(key) || {
|
|
102
|
-
fontFamily: style.fontFamily,
|
|
103
|
-
fontSize: style.fontSize,
|
|
104
|
-
fontWeight: style.fontWeight,
|
|
105
|
-
lineHeight: style.lineHeight,
|
|
106
|
-
count: 0,
|
|
107
|
-
};
|
|
108
|
-
existing.count += 1;
|
|
109
|
-
typographyMap.set(key, existing);
|
|
48
|
+
function normalizeWhitespace(text) {
|
|
49
|
+
return (text || '').replace(/\s+/g, ' ').trim();
|
|
110
50
|
}
|
|
111
51
|
|
|
112
|
-
function
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
if (
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
return true;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
return selector.startsWith('section.') || selector.startsWith('div.card');
|
|
52
|
+
function inferComponentKind(el) {
|
|
53
|
+
var tag = el.tagName.toLowerCase();
|
|
54
|
+
var cn = typeof el.className === 'string' ? el.className.toLowerCase() : '';
|
|
55
|
+
if (tag === 'button' || cn.includes('btn')) return 'button';
|
|
56
|
+
if (tag === 'a') return 'link';
|
|
57
|
+
if (tag === 'input' || tag === 'textarea' || tag === 'select') return 'form-control';
|
|
58
|
+
if (tag === 'nav' || cn.includes('nav')) return 'navigation';
|
|
59
|
+
if (cn.includes('card')) return 'card';
|
|
60
|
+
if (tag === 'header') return 'header';
|
|
61
|
+
if (tag === 'footer') return 'footer';
|
|
62
|
+
if (cn.includes('hero')) return 'hero';
|
|
63
|
+
return tag;
|
|
128
64
|
}
|
|
129
65
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
try {
|
|
136
|
-
rules = sheet.cssRules;
|
|
137
|
-
} catch {
|
|
138
|
-
continue;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
if (!rules) {
|
|
142
|
-
continue;
|
|
143
|
-
}
|
|
66
|
+
/* ═══════════════════════════════════════════════
|
|
67
|
+
PHASE 1: Design token extraction
|
|
68
|
+
═══════════════════════════════════════════════ */
|
|
69
|
+
var maxNodes = 2000;
|
|
70
|
+
var nodes = Array.from(document.querySelectorAll('body *')).slice(0, maxNodes);
|
|
144
71
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
72
|
+
var colorMap = new Map();
|
|
73
|
+
var typographyMap = new Map();
|
|
74
|
+
var componentList = [];
|
|
75
|
+
var motionList = [];
|
|
76
|
+
var layoutList = [];
|
|
77
|
+
var variableMap = {};
|
|
78
|
+
var stateStyleList = [];
|
|
151
79
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
continue;
|
|
155
|
-
}
|
|
80
|
+
var componentTags = new Set(['button','a','input','select','textarea','nav','header','footer','form']);
|
|
81
|
+
var maxComponents = 220, maxMotion = 220, maxStateStyles = 260, maxRulesPerSheet = 5000;
|
|
156
82
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
continue;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
const cleanSelector = selectorText.split(stateKind).join('').trim();
|
|
170
|
-
stateStyleList.push({
|
|
171
|
-
selector: cleanSelector || selectorText,
|
|
172
|
-
state: stateKind.slice(1),
|
|
173
|
-
declarations,
|
|
174
|
-
});
|
|
175
|
-
|
|
176
|
-
if (stateStyleList.length >= maxStateStyles) {
|
|
177
|
-
return;
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
}
|
|
83
|
+
function pushColor(value, sample) {
|
|
84
|
+
if (!value || value === 'transparent' || value === 'rgba(0, 0, 0, 0)') return;
|
|
85
|
+
var parsed = parseCssColor(value);
|
|
86
|
+
if (!parsed) return;
|
|
87
|
+
var key = parsed.toUpperCase();
|
|
88
|
+
var entry = colorMap.get(key) || { hex: key, count: 0, samples: [] };
|
|
89
|
+
entry.count += 1;
|
|
90
|
+
if (sample && entry.samples.length < 5 && !entry.samples.includes(sample)) entry.samples.push(sample);
|
|
91
|
+
colorMap.set(key, entry);
|
|
182
92
|
}
|
|
183
93
|
|
|
184
|
-
nodes.forEach((el)
|
|
185
|
-
|
|
94
|
+
nodes.forEach(function(el) {
|
|
95
|
+
var style = window.getComputedStyle(el);
|
|
96
|
+
if (style.display === 'none' || style.visibility === 'hidden' || Number(style.opacity) === 0) return;
|
|
186
97
|
|
|
187
|
-
|
|
188
|
-
return;
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
const selector = buildSelector(el);
|
|
98
|
+
var selector = buildSelector(el);
|
|
192
99
|
pushColor(style.color, selector + ':color');
|
|
193
100
|
pushColor(style.backgroundColor, selector + ':background');
|
|
101
|
+
if (style.borderColor && style.borderColor !== 'rgba(0, 0, 0, 0)') pushColor(style.borderColor, selector + ':border');
|
|
194
102
|
|
|
195
|
-
if (
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
if (hasText) {
|
|
201
|
-
addTypography(style);
|
|
103
|
+
if (normalizeWhitespace(el.textContent || '').length > 0) {
|
|
104
|
+
var tKey = [style.fontFamily, style.fontSize, style.fontWeight, style.lineHeight].join('|');
|
|
105
|
+
var existing = typographyMap.get(tKey) || { fontFamily: style.fontFamily, fontSize: style.fontSize, fontWeight: style.fontWeight, lineHeight: style.lineHeight, count: 0 };
|
|
106
|
+
existing.count += 1;
|
|
107
|
+
typographyMap.set(tKey, existing);
|
|
202
108
|
}
|
|
203
109
|
|
|
204
|
-
|
|
110
|
+
var tag = el.tagName.toLowerCase();
|
|
111
|
+
var cn = typeof el.className === 'string' ? el.className.toLowerCase() : '';
|
|
112
|
+
var isComponent = componentTags.has(tag) || cn.includes('btn') || cn.includes('button') || cn.includes('card') || cn.includes('hero') || el.getAttribute('role') === 'button' || el.getAttribute('role') === 'navigation' || selector.startsWith('section.') || selector.startsWith('div.card');
|
|
113
|
+
if (isComponent && componentList.length < maxComponents) {
|
|
205
114
|
componentList.push({
|
|
206
|
-
kind: inferComponentKind(el),
|
|
207
|
-
tag: el.tagName.toLowerCase(),
|
|
208
|
-
selector,
|
|
115
|
+
kind: inferComponentKind(el), tag: tag, selector: selector,
|
|
209
116
|
text: normalizeWhitespace(el.textContent || '').slice(0, 90),
|
|
210
117
|
className: typeof el.className === 'string' ? normalizeWhitespace(el.className) : '',
|
|
211
|
-
styles: {
|
|
212
|
-
color: style.color,
|
|
213
|
-
backgroundColor: style.backgroundColor,
|
|
214
|
-
borderRadius: style.borderRadius,
|
|
215
|
-
border: style.border,
|
|
216
|
-
padding: style.padding,
|
|
217
|
-
margin: style.margin,
|
|
218
|
-
fontSize: style.fontSize,
|
|
219
|
-
fontWeight: style.fontWeight,
|
|
220
|
-
boxShadow: style.boxShadow,
|
|
221
|
-
},
|
|
118
|
+
styles: { color: style.color, backgroundColor: style.backgroundColor, borderRadius: style.borderRadius, border: style.border, padding: style.padding, margin: style.margin, fontSize: style.fontSize, fontWeight: style.fontWeight, boxShadow: style.boxShadow },
|
|
222
119
|
});
|
|
223
120
|
}
|
|
224
121
|
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
122
|
+
var hasTransition = style.transitionDuration && style.transitionDuration !== '0s';
|
|
123
|
+
var hasAnimation = style.animationName && style.animationName !== 'none';
|
|
124
|
+
var hasTransform = style.transform && style.transform !== 'none';
|
|
229
125
|
if ((hasTransition || hasAnimation || hasTransform) && motionList.length < maxMotion) {
|
|
230
|
-
motionList.push({
|
|
231
|
-
selector,
|
|
232
|
-
transition: style.transition,
|
|
233
|
-
animation: style.animation,
|
|
234
|
-
transform: style.transform,
|
|
235
|
-
});
|
|
126
|
+
motionList.push({ selector: selector, transition: style.transition, animation: style.animation, transform: style.transform });
|
|
236
127
|
}
|
|
237
128
|
});
|
|
238
129
|
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
layoutSelectors.forEach((el) => {
|
|
242
|
-
layoutList.push({
|
|
243
|
-
tag: el.tagName.toLowerCase(),
|
|
244
|
-
selector: buildSelector(el),
|
|
245
|
-
role: el.getAttribute('role') || '',
|
|
246
|
-
children: el.children.length,
|
|
247
|
-
});
|
|
130
|
+
Array.from(document.querySelectorAll('header, nav, main, section, article, aside, footer')).slice(0, 160).forEach(function(el) {
|
|
131
|
+
layoutList.push({ tag: el.tagName.toLowerCase(), selector: buildSelector(el), role: el.getAttribute('role') || '', children: el.children.length });
|
|
248
132
|
});
|
|
249
133
|
|
|
250
|
-
[document.documentElement, document.body].forEach((root)
|
|
251
|
-
if (!root)
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
if (!propertyName.startsWith('--')) {
|
|
258
|
-
continue;
|
|
259
|
-
}
|
|
260
|
-
const value = style.getPropertyValue(propertyName).trim();
|
|
261
|
-
if (value) {
|
|
262
|
-
variableMap[propertyName] = value;
|
|
263
|
-
}
|
|
134
|
+
[document.documentElement, document.body].forEach(function(root) {
|
|
135
|
+
if (!root) return;
|
|
136
|
+
var style = window.getComputedStyle(root);
|
|
137
|
+
for (var prop of style) {
|
|
138
|
+
if (!prop.startsWith('--')) continue;
|
|
139
|
+
var val = style.getPropertyValue(prop).trim();
|
|
140
|
+
if (val) variableMap[prop] = val;
|
|
264
141
|
}
|
|
265
142
|
});
|
|
266
143
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
144
|
+
// Pseudo-state styles from stylesheets
|
|
145
|
+
try {
|
|
146
|
+
var stateKinds = [':hover', ':focus', ':active'];
|
|
147
|
+
for (var sheet of Array.from(document.styleSheets)) {
|
|
148
|
+
var rules;
|
|
149
|
+
try { rules = sheet.cssRules; } catch(e) { continue; }
|
|
150
|
+
if (!rules) continue;
|
|
151
|
+
var rc = Math.min(rules.length, maxRulesPerSheet);
|
|
152
|
+
for (var ri = 0; ri < rc; ri++) {
|
|
153
|
+
var rule = rules[ri];
|
|
154
|
+
var st = 'selectorText' in rule ? String(rule.selectorText || '') : '';
|
|
155
|
+
var rs = 'style' in rule ? rule.style : undefined;
|
|
156
|
+
if (!st || !rs) continue;
|
|
157
|
+
for (var sk of stateKinds) {
|
|
158
|
+
if (!st.includes(sk)) continue;
|
|
159
|
+
var decl = {};
|
|
160
|
+
for (var dp of ['color','background-color','border-color','box-shadow','transform','transition','opacity']) {
|
|
161
|
+
var dv = rs.getPropertyValue(dp);
|
|
162
|
+
if (dv) decl[dp] = dv;
|
|
163
|
+
}
|
|
164
|
+
if (Object.keys(decl).length === 0) continue;
|
|
165
|
+
stateStyleList.push({ selector: st.split(sk).join('').trim() || st, state: sk.slice(1), declarations: decl });
|
|
166
|
+
if (stateStyleList.length >= maxStateStyles) break;
|
|
167
|
+
}
|
|
168
|
+
if (stateStyleList.length >= maxStateStyles) break;
|
|
169
|
+
}
|
|
170
|
+
if (stateStyleList.length >= maxStateStyles) break;
|
|
293
171
|
}
|
|
294
|
-
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
addPseudoStateStyles();
|
|
298
|
-
|
|
299
|
-
const colors = Array.from(colorMap.values()).sort((a, b) => b.count - a.count).slice(0, 70);
|
|
300
|
-
const typography = Array.from(typographyMap.values()).sort((a, b) => b.count - a.count).slice(0, 90);
|
|
172
|
+
} catch(e) {}
|
|
301
173
|
|
|
302
|
-
|
|
174
|
+
var designTokens = {
|
|
303
175
|
pageTitle: document.title,
|
|
304
176
|
pageUrl: window.location.href,
|
|
305
|
-
viewport: {
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
},
|
|
309
|
-
colors,
|
|
310
|
-
typography,
|
|
177
|
+
viewport: { width: window.innerWidth, height: window.innerHeight },
|
|
178
|
+
colors: Array.from(colorMap.values()).sort(function(a,b){return b.count-a.count;}).slice(0, 70),
|
|
179
|
+
typography: Array.from(typographyMap.values()).sort(function(a,b){return b.count-a.count;}).slice(0, 90),
|
|
311
180
|
components: componentList,
|
|
312
181
|
motion: motionList,
|
|
313
182
|
layout: layoutList,
|
|
314
183
|
cssVariables: variableMap,
|
|
315
184
|
stateStyles: stateStyleList,
|
|
316
185
|
};
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
186
|
+
|
|
187
|
+
/* ═══════════════════════════════════════════════
|
|
188
|
+
PHASE 2: Scroll through the page (in-browser)
|
|
189
|
+
Triggers lazy-loaded GSAP, ScrollTrigger, etc.
|
|
190
|
+
═══════════════════════════════════════════════ */
|
|
191
|
+
try {
|
|
192
|
+
var height = Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
|
|
193
|
+
var vh = window.innerHeight;
|
|
194
|
+
var scrollSteps = Math.min(Math.ceil(height / vh), 12);
|
|
195
|
+
var stepSize = Math.ceil(height / scrollSteps);
|
|
196
|
+
for (var si = 1; si <= scrollSteps; si++) {
|
|
197
|
+
window.scrollTo({ top: si * stepSize, behavior: 'instant' });
|
|
198
|
+
await new Promise(function(r) { setTimeout(r, 150); });
|
|
199
|
+
}
|
|
200
|
+
window.scrollTo({ top: 0, behavior: 'instant' });
|
|
201
|
+
await new Promise(function(r) { setTimeout(r, 800); });
|
|
202
|
+
} catch(e) {}
|
|
203
|
+
|
|
204
|
+
/* ═══════════════════════════════════════════════
|
|
205
|
+
PHASE 3: Animation observation (post-scroll)
|
|
206
|
+
═══════════════════════════════════════════════ */
|
|
207
|
+
var animResult = {
|
|
331
208
|
libraries: [],
|
|
332
209
|
webAnimations: [],
|
|
333
210
|
gsapTweens: [],
|
|
334
211
|
lottiePlayers: [],
|
|
335
|
-
scrollBindings: {
|
|
336
|
-
hasScrollTrigger: false,
|
|
337
|
-
hasIntersectionObserver: false,
|
|
338
|
-
scrollTriggers: [],
|
|
339
|
-
hasScrollSnap: false,
|
|
340
|
-
hasScrollTimeline: false,
|
|
341
|
-
},
|
|
212
|
+
scrollBindings: { hasScrollTrigger: false, hasIntersectionObserver: false, scrollTriggers: [], hasScrollSnap: false, hasScrollTimeline: false },
|
|
342
213
|
};
|
|
214
|
+
var maxAnims = 200;
|
|
343
215
|
|
|
344
|
-
function buildSelector(el) {
|
|
345
|
-
if (!el || !el.tagName) return 'unknown';
|
|
346
|
-
const tag = el.tagName.toLowerCase();
|
|
347
|
-
if (el.id) return tag + '#' + el.id;
|
|
348
|
-
if (typeof el.className === 'string' && el.className.trim()) {
|
|
349
|
-
const firstClass = el.className.trim().split(/\s+/).slice(0, 2).join('.');
|
|
350
|
-
if (firstClass) return tag + '.' + firstClass;
|
|
351
|
-
}
|
|
352
|
-
return tag;
|
|
353
|
-
}
|
|
354
|
-
|
|
355
|
-
/* Layer 1: Library Detection */
|
|
356
216
|
try {
|
|
357
|
-
if (typeof gsap !== 'undefined') {
|
|
358
|
-
|
|
359
|
-
}
|
|
360
|
-
if (
|
|
361
|
-
|
|
362
|
-
result.scrollBindings.hasScrollTrigger = true;
|
|
363
|
-
}
|
|
364
|
-
if (typeof lottie !== 'undefined' || typeof bodymovin !== 'undefined') {
|
|
365
|
-
result.libraries.push({ name: 'lottie', version: 'detected' });
|
|
366
|
-
}
|
|
367
|
-
if (document.querySelector('lottie-player, dotlottie-player')) {
|
|
368
|
-
if (!result.libraries.some(function(l) { return l.name === 'lottie'; })) {
|
|
369
|
-
result.libraries.push({ name: 'lottie', version: 'web-component' });
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
if (document.querySelector('[data-framer-name], [data-framer-component-type]')) {
|
|
373
|
-
result.libraries.push({ name: 'framer-motion', version: 'detected' });
|
|
374
|
-
}
|
|
217
|
+
if (typeof gsap !== 'undefined') animResult.libraries.push({ name: 'gsap', version: typeof gsap.version === 'string' ? gsap.version : 'unknown' });
|
|
218
|
+
if (typeof ScrollTrigger !== 'undefined') { animResult.libraries.push({ name: 'scrolltrigger', version: 'detected' }); animResult.scrollBindings.hasScrollTrigger = true; }
|
|
219
|
+
if (typeof lottie !== 'undefined' || typeof bodymovin !== 'undefined') animResult.libraries.push({ name: 'lottie', version: 'detected' });
|
|
220
|
+
if (document.querySelector('lottie-player, dotlottie-player') && !animResult.libraries.some(function(l){return l.name==='lottie';})) animResult.libraries.push({ name: 'lottie', version: 'web-component' });
|
|
221
|
+
if (document.querySelector('[data-framer-name], [data-framer-component-type]')) animResult.libraries.push({ name: 'framer-motion', version: 'detected' });
|
|
375
222
|
} catch(e) {}
|
|
376
223
|
|
|
377
|
-
/* Layer 2: Web Animations API */
|
|
378
224
|
try {
|
|
379
|
-
var
|
|
380
|
-
for (var ai = 0; ai < Math.min(
|
|
381
|
-
var anim =
|
|
225
|
+
var anims = document.getAnimations();
|
|
226
|
+
for (var ai = 0; ai < Math.min(anims.length, maxAnims); ai++) {
|
|
227
|
+
var anim = anims[ai];
|
|
382
228
|
var effect = anim.effect;
|
|
383
229
|
if (!effect || !effect.target) continue;
|
|
384
|
-
|
|
385
|
-
var
|
|
386
|
-
var
|
|
387
|
-
|
|
388
|
-
var
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
var timelineType = 'document';
|
|
395
|
-
try {
|
|
396
|
-
if (anim.timeline && anim.timeline.constructor) {
|
|
397
|
-
var tlName = anim.timeline.constructor.name;
|
|
398
|
-
if (tlName === 'ScrollTimeline') timelineType = 'scroll';
|
|
399
|
-
else if (tlName === 'ViewTimeline') timelineType = 'view';
|
|
400
|
-
}
|
|
401
|
-
} catch(e) {}
|
|
402
|
-
|
|
403
|
-
if (timelineType !== 'document') {
|
|
404
|
-
result.scrollBindings.hasScrollTimeline = true;
|
|
405
|
-
}
|
|
406
|
-
|
|
407
|
-
result.webAnimations.push({
|
|
408
|
-
selector: selector,
|
|
409
|
-
playState: anim.playState,
|
|
410
|
-
animationName: anim.animationName || anim.id || '',
|
|
411
|
-
keyframes: keyframes.map(function(kf) {
|
|
230
|
+
var sel = buildSelector(effect.target);
|
|
231
|
+
var kfs = []; try { kfs = effect.getKeyframes(); } catch(e) {}
|
|
232
|
+
var ct = {}; try { ct = effect.getComputedTiming(); } catch(e) {}
|
|
233
|
+
var tlt = 'document';
|
|
234
|
+
try { if (anim.timeline && anim.timeline.constructor) { var tn = anim.timeline.constructor.name; if (tn === 'ScrollTimeline') tlt = 'scroll'; else if (tn === 'ViewTimeline') tlt = 'view'; } } catch(e) {}
|
|
235
|
+
if (tlt !== 'document') animResult.scrollBindings.hasScrollTimeline = true;
|
|
236
|
+
animResult.webAnimations.push({
|
|
237
|
+
selector: sel, playState: anim.playState, animationName: anim.animationName || anim.id || '',
|
|
238
|
+
keyframes: kfs.map(function(kf) {
|
|
412
239
|
var props = {};
|
|
413
|
-
for (var k in kf) {
|
|
414
|
-
|
|
415
|
-
props[k] = String(kf[k]);
|
|
416
|
-
}
|
|
417
|
-
}
|
|
418
|
-
return {
|
|
419
|
-
offset: kf.computedOffset != null ? kf.computedOffset : (kf.offset || 0),
|
|
420
|
-
properties: props,
|
|
421
|
-
easing: kf.easing || 'linear',
|
|
422
|
-
};
|
|
240
|
+
for (var k in kf) { if (k !== 'offset' && k !== 'computedOffset' && k !== 'easing' && k !== 'composite') props[k] = String(kf[k]); }
|
|
241
|
+
return { offset: kf.computedOffset != null ? kf.computedOffset : (kf.offset || 0), properties: props, easing: kf.easing || 'linear' };
|
|
423
242
|
}),
|
|
424
|
-
timing: {
|
|
425
|
-
|
|
426
|
-
delay: computedTiming.delay || 0,
|
|
427
|
-
easing: computedTiming.easing || 'linear',
|
|
428
|
-
iterations: computedTiming.iterations != null ? computedTiming.iterations : 1,
|
|
429
|
-
direction: computedTiming.direction || 'normal',
|
|
430
|
-
fillMode: computedTiming.fill || 'none',
|
|
431
|
-
},
|
|
432
|
-
timelineType: timelineType,
|
|
243
|
+
timing: { duration: typeof ct.duration === 'number' ? ct.duration : 0, delay: ct.delay || 0, easing: ct.easing || 'linear', iterations: ct.iterations != null ? ct.iterations : 1, direction: ct.direction || 'normal', fillMode: ct.fill || 'none' },
|
|
244
|
+
timelineType: tlt,
|
|
433
245
|
});
|
|
434
246
|
}
|
|
435
247
|
} catch(e) {}
|
|
436
248
|
|
|
437
|
-
/* Layer 3: GSAP Introspection */
|
|
438
249
|
try {
|
|
439
250
|
if (typeof gsap !== 'undefined' && gsap.globalTimeline) {
|
|
440
251
|
var children = gsap.globalTimeline.getChildren(true, true, false);
|
|
441
|
-
for (var gi = 0; gi < Math.min(children.length,
|
|
442
|
-
var
|
|
443
|
-
var targets =
|
|
252
|
+
for (var gi = 0; gi < Math.min(children.length, maxAnims); gi++) {
|
|
253
|
+
var tw = children[gi];
|
|
254
|
+
var targets = tw.targets ? tw.targets() : [];
|
|
444
255
|
if (targets.length === 0) continue;
|
|
445
|
-
|
|
446
|
-
var gsSelector = buildSelector(targets[0]);
|
|
447
256
|
var vars = {};
|
|
448
|
-
if (
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
}
|
|
455
|
-
}
|
|
456
|
-
|
|
457
|
-
result.gsapTweens.push({
|
|
458
|
-
selector: gsSelector,
|
|
459
|
-
duration: typeof tween.duration === 'function' ? tween.duration() : 0,
|
|
460
|
-
delay: typeof tween.delay === 'function' ? tween.delay() : 0,
|
|
461
|
-
ease: tween.vars && tween.vars.ease ? tween.vars.ease : 'power1.out',
|
|
257
|
+
if (tw.vars) { for (var vk in tw.vars) { var vv = tw.vars[vk]; if (typeof vv === 'number' || typeof vv === 'string') vars[vk] = vv; } }
|
|
258
|
+
animResult.gsapTweens.push({
|
|
259
|
+
selector: buildSelector(targets[0]),
|
|
260
|
+
duration: typeof tw.duration === 'function' ? tw.duration() : 0,
|
|
261
|
+
delay: typeof tw.delay === 'function' ? tw.delay() : 0,
|
|
262
|
+
ease: tw.vars && tw.vars.ease ? tw.vars.ease : 'power1.out',
|
|
462
263
|
vars: vars,
|
|
463
|
-
startTime: typeof
|
|
264
|
+
startTime: typeof tw.startTime === 'function' ? tw.startTime() : 0,
|
|
464
265
|
});
|
|
465
266
|
}
|
|
466
267
|
}
|
|
467
268
|
} catch(e) {}
|
|
468
269
|
|
|
469
|
-
/* Layer 4: Lottie Extraction */
|
|
470
270
|
try {
|
|
471
|
-
var
|
|
472
|
-
if (
|
|
473
|
-
var
|
|
474
|
-
for (var li = 0; li < Math.min(
|
|
475
|
-
var la =
|
|
476
|
-
|
|
477
|
-
result.lottiePlayers.push({
|
|
478
|
-
selector: container ? buildSelector(container) : 'lottie-unknown',
|
|
479
|
-
frameRate: la.frameRate || (la.animationData && la.animationData.fr) || 0,
|
|
480
|
-
totalFrames: la.totalFrames || (la.animationData && la.animationData.op) || 0,
|
|
481
|
-
duration: typeof la.getDuration === 'function' ? la.getDuration(false) : 0,
|
|
482
|
-
});
|
|
271
|
+
var lr = (typeof lottie !== 'undefined') ? lottie : ((typeof bodymovin !== 'undefined') ? bodymovin : null);
|
|
272
|
+
if (lr && typeof lr.getRegisteredAnimations === 'function') {
|
|
273
|
+
var regs = lr.getRegisteredAnimations();
|
|
274
|
+
for (var li = 0; li < Math.min(regs.length, 20); li++) {
|
|
275
|
+
var la = regs[li]; var c = la.wrapper || la.container;
|
|
276
|
+
animResult.lottiePlayers.push({ selector: c ? buildSelector(c) : 'lottie-unknown', frameRate: la.frameRate || (la.animationData && la.animationData.fr) || 0, totalFrames: la.totalFrames || (la.animationData && la.animationData.op) || 0, duration: typeof la.getDuration === 'function' ? la.getDuration(false) : 0 });
|
|
483
277
|
}
|
|
484
278
|
}
|
|
485
|
-
|
|
486
|
-
var
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
if (!result.lottiePlayers.some(function(l) { return l.selector === pSelector; })) {
|
|
490
|
-
result.lottiePlayers.push({ selector: pSelector, frameRate: 0, totalFrames: 0, duration: 0 });
|
|
491
|
-
}
|
|
279
|
+
var ps = document.querySelectorAll('lottie-player, dotlottie-player');
|
|
280
|
+
for (var pi = 0; pi < Math.min(ps.length, 20); pi++) {
|
|
281
|
+
var pSel = buildSelector(ps[pi]);
|
|
282
|
+
if (!animResult.lottiePlayers.some(function(l){return l.selector === pSel;})) animResult.lottiePlayers.push({ selector: pSel, frameRate: 0, totalFrames: 0, duration: 0 });
|
|
492
283
|
}
|
|
493
284
|
} catch(e) {}
|
|
494
285
|
|
|
495
|
-
/* Layer 5: Passive Scroll Detection */
|
|
496
286
|
try {
|
|
497
287
|
if (typeof ScrollTrigger !== 'undefined' && typeof ScrollTrigger.getAll === 'function') {
|
|
498
|
-
var
|
|
499
|
-
for (var
|
|
500
|
-
var
|
|
501
|
-
|
|
502
|
-
triggerSelector: st.trigger ? buildSelector(st.trigger) : '',
|
|
503
|
-
isActive: !!st.isActive,
|
|
504
|
-
});
|
|
288
|
+
var trigs = ScrollTrigger.getAll();
|
|
289
|
+
for (var ti = 0; ti < Math.min(trigs.length, 50); ti++) {
|
|
290
|
+
var tr = trigs[ti];
|
|
291
|
+
animResult.scrollBindings.scrollTriggers.push({ triggerSelector: tr.trigger ? buildSelector(tr.trigger) : '', isActive: !!tr.isActive });
|
|
505
292
|
}
|
|
506
293
|
}
|
|
507
294
|
} catch(e) {}
|
|
508
295
|
|
|
509
296
|
try {
|
|
510
|
-
var
|
|
511
|
-
if (
|
|
512
|
-
result.scrollBindings.hasScrollSnap = true;
|
|
513
|
-
}
|
|
297
|
+
var snap = window.getComputedStyle(document.documentElement).scrollSnapType;
|
|
298
|
+
if (snap && snap !== 'none') animResult.scrollBindings.hasScrollSnap = true;
|
|
514
299
|
} catch(e) {}
|
|
515
300
|
|
|
516
|
-
|
|
517
|
-
|
|
301
|
+
/* ═══════════════════════════════════════════════
|
|
302
|
+
PHASE 4: Page summary (for journey context)
|
|
303
|
+
═══════════════════════════════════════════════ */
|
|
304
|
+
var h1 = ''; try { h1 = (document.querySelector('h1') || {}).textContent || ''; h1 = h1.trim(); } catch(e) {}
|
|
305
|
+
var navCount = 0; try { navCount = document.querySelectorAll('nav a, header a').length; } catch(e) {}
|
|
306
|
+
var ctaCount = 0; try { ctaCount = document.querySelectorAll('button, a[role="button"], .btn, .button').length; } catch(e) {}
|
|
307
|
+
|
|
308
|
+
return {
|
|
309
|
+
designTokens: designTokens,
|
|
310
|
+
animations: animResult,
|
|
311
|
+
pageSummary: { title: document.title, url: window.location.href, summary: [h1, 'nav-links:' + navCount, 'ctas:' + ctaCount].filter(Boolean).join(' | ') },
|
|
312
|
+
};
|
|
313
|
+
})()`;
|
|
518
314
|
function convertObserverResult(raw) {
|
|
519
315
|
const tokens = [];
|
|
520
316
|
const libraryNames = new Set(raw.libraries.map((l) => l.name));
|
|
521
|
-
// Convert Web Animations API results
|
|
522
317
|
for (const wa of raw.webAnimations) {
|
|
523
318
|
const intent = classifyMotionIntent(wa.keyframes);
|
|
524
319
|
let library = 'css';
|
|
@@ -547,7 +342,6 @@ function convertObserverResult(raw) {
|
|
|
547
342
|
scrollTimelineAxis: 'block',
|
|
548
343
|
};
|
|
549
344
|
}
|
|
550
|
-
// Detect physics from keyframes
|
|
551
345
|
const allProps = new Set();
|
|
552
346
|
for (const kf of wa.keyframes) {
|
|
553
347
|
for (const prop of Object.keys(kf.properties))
|
|
@@ -565,7 +359,6 @@ function convertObserverResult(raw) {
|
|
|
565
359
|
}
|
|
566
360
|
tokens.push(token);
|
|
567
361
|
}
|
|
568
|
-
// Convert GSAP tweens
|
|
569
362
|
for (const tween of raw.gsapTweens) {
|
|
570
363
|
const token = {
|
|
571
364
|
selector: tween.selector,
|
|
@@ -615,7 +408,6 @@ function convertObserverResult(raw) {
|
|
|
615
408
|
}
|
|
616
409
|
tokens.push(token);
|
|
617
410
|
}
|
|
618
|
-
// Convert Lottie players
|
|
619
411
|
for (const lp of raw.lottiePlayers) {
|
|
620
412
|
tokens.push({
|
|
621
413
|
selector: lp.selector,
|
|
@@ -723,59 +515,6 @@ function mergeAnalysis(all) {
|
|
|
723
515
|
stateStyles: [...stateMap.values()].slice(0, 300),
|
|
724
516
|
};
|
|
725
517
|
}
|
|
726
|
-
function parseStylesFromGetStyles(data) {
|
|
727
|
-
const payload = data;
|
|
728
|
-
const first = payload.elements?.[0];
|
|
729
|
-
const styles = first?.styles ?? {};
|
|
730
|
-
const out = {};
|
|
731
|
-
for (const [key, value] of Object.entries(styles)) {
|
|
732
|
-
if (typeof value === 'string' && value.trim()) {
|
|
733
|
-
out[key] = value;
|
|
734
|
-
}
|
|
735
|
-
}
|
|
736
|
-
return out;
|
|
737
|
-
}
|
|
738
|
-
async function collectInteractiveStateStyles(params) {
|
|
739
|
-
const states = [];
|
|
740
|
-
const snapshot = await runAgentBrowserJson(['snapshot', '-i', '-d', '2'], {
|
|
741
|
-
session: params.sessionName,
|
|
742
|
-
cwd: params.workingDir,
|
|
743
|
-
});
|
|
744
|
-
const refs = (snapshot.data.refs ?? {});
|
|
745
|
-
const refIds = Object.keys(refs).slice(0, 8);
|
|
746
|
-
for (const refId of refIds) {
|
|
747
|
-
const ref = `@${refId}`;
|
|
748
|
-
await runAgentBrowserJson(['hover', ref], {
|
|
749
|
-
session: params.sessionName,
|
|
750
|
-
cwd: params.workingDir,
|
|
751
|
-
}).catch(() => undefined);
|
|
752
|
-
const hoverStyles = await runAgentBrowserJson(['get', 'styles', ref], {
|
|
753
|
-
session: params.sessionName,
|
|
754
|
-
cwd: params.workingDir,
|
|
755
|
-
}).catch(() => undefined);
|
|
756
|
-
if (hoverStyles?.success) {
|
|
757
|
-
const declarations = parseStylesFromGetStyles(hoverStyles.data);
|
|
758
|
-
if (Object.keys(declarations).length > 0) {
|
|
759
|
-
states.push({ selector: ref, state: 'hover', declarations });
|
|
760
|
-
}
|
|
761
|
-
}
|
|
762
|
-
await runAgentBrowserJson(['focus', ref], {
|
|
763
|
-
session: params.sessionName,
|
|
764
|
-
cwd: params.workingDir,
|
|
765
|
-
}).catch(() => undefined);
|
|
766
|
-
const focusStyles = await runAgentBrowserJson(['get', 'styles', ref], {
|
|
767
|
-
session: params.sessionName,
|
|
768
|
-
cwd: params.workingDir,
|
|
769
|
-
}).catch(() => undefined);
|
|
770
|
-
if (focusStyles?.success) {
|
|
771
|
-
const declarations = parseStylesFromGetStyles(focusStyles.data);
|
|
772
|
-
if (Object.keys(declarations).length > 0) {
|
|
773
|
-
states.push({ selector: ref, state: 'focus', declarations });
|
|
774
|
-
}
|
|
775
|
-
}
|
|
776
|
-
}
|
|
777
|
-
return states;
|
|
778
|
-
}
|
|
779
518
|
function toResponsiveSnapshot(label, analysis) {
|
|
780
519
|
return {
|
|
781
520
|
label,
|
|
@@ -787,153 +526,69 @@ function toResponsiveSnapshot(label, analysis) {
|
|
|
787
526
|
typographyCount: analysis.typography.length,
|
|
788
527
|
};
|
|
789
528
|
}
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
}
|
|
797
|
-
async function collectJourney(params) {
|
|
798
|
-
const steps = [];
|
|
799
|
-
if (params.maxSteps <= 0) {
|
|
800
|
-
return steps;
|
|
801
|
-
}
|
|
802
|
-
const snapshot = await runAgentBrowserJson(['snapshot', '-i', '-d', '2'], {
|
|
803
|
-
session: params.sessionName,
|
|
804
|
-
cwd: params.workingDir,
|
|
805
|
-
});
|
|
806
|
-
const refs = (snapshot.data.refs ?? {});
|
|
807
|
-
const clickable = Object.entries(refs)
|
|
808
|
-
.filter(([, value]) => ['link', 'button', 'menuitem', 'tab'].includes(String(value?.role ?? '')))
|
|
809
|
-
.slice(0, params.maxSteps);
|
|
810
|
-
for (let i = 0; i < clickable.length; i += 1) {
|
|
811
|
-
const [refId] = clickable[i];
|
|
812
|
-
const ref = `@${refId}`;
|
|
813
|
-
const fromUrl = await getCurrentUrl(params);
|
|
814
|
-
const clickResult = await runAgentBrowserJson(['click', ref], {
|
|
815
|
-
session: params.sessionName,
|
|
816
|
-
cwd: params.workingDir,
|
|
817
|
-
}).catch(() => undefined);
|
|
818
|
-
if (!clickResult?.success) {
|
|
819
|
-
continue;
|
|
820
|
-
}
|
|
821
|
-
await runAgentBrowserJson(['wait', '1200'], {
|
|
822
|
-
session: params.sessionName,
|
|
823
|
-
cwd: params.workingDir,
|
|
824
|
-
}).catch(() => undefined);
|
|
825
|
-
const summaryResult = await runAgentBrowserJson(['eval', PAGE_SUMMARY_SCRIPT], {
|
|
826
|
-
session: params.sessionName,
|
|
827
|
-
cwd: params.workingDir,
|
|
828
|
-
}).catch(() => undefined);
|
|
829
|
-
const summaryData = summaryResult?.data.result ?? {};
|
|
830
|
-
const toUrl = summaryData.url ?? (await getCurrentUrl(params));
|
|
831
|
-
if (toUrl && fromUrl && toUrl !== fromUrl) {
|
|
832
|
-
steps.push({
|
|
833
|
-
step: i + 1,
|
|
834
|
-
action: `click ${ref}`,
|
|
835
|
-
fromUrl,
|
|
836
|
-
toUrl,
|
|
837
|
-
title: summaryData.title,
|
|
838
|
-
summary: summaryData.summary,
|
|
839
|
-
});
|
|
840
|
-
await runAgentBrowserJson(['back'], {
|
|
841
|
-
session: params.sessionName,
|
|
842
|
-
cwd: params.workingDir,
|
|
843
|
-
}).catch(() => undefined);
|
|
844
|
-
await runAgentBrowserJson(['wait', '900'], {
|
|
845
|
-
session: params.sessionName,
|
|
846
|
-
cwd: params.workingDir,
|
|
847
|
-
}).catch(() => undefined);
|
|
848
|
-
}
|
|
849
|
-
}
|
|
850
|
-
return steps;
|
|
851
|
-
}
|
|
529
|
+
// ---------------------------------------------------------------------------
|
|
530
|
+
// captureDesignFromUrl — the main entry point.
|
|
531
|
+
//
|
|
532
|
+
// Old version: 70-90 child process spawns per URL.
|
|
533
|
+
// New version: ~7 spawns: open, wait, set viewport, eval, snapshot, screenshot, close.
|
|
534
|
+
// ---------------------------------------------------------------------------
|
|
852
535
|
export async function captureDesignFromUrl(params) {
|
|
853
|
-
const { url, sessionName, screenshotPath, workingDir,
|
|
536
|
+
const { url, sessionName, screenshotPath, workingDir, responsiveViewports = DEFAULT_VIEWPORTS, } = params;
|
|
854
537
|
await fs.ensureDir(path.dirname(screenshotPath));
|
|
538
|
+
// 1. Open the URL
|
|
855
539
|
await runAgentBrowserJson(['open', url], { session: sessionName, cwd: workingDir });
|
|
540
|
+
// 2. Wait for page to fully load (networkidle = no requests for 500ms).
|
|
541
|
+
// Falls back gracefully if the site has persistent connections (analytics, chat, etc.)
|
|
542
|
+
await runAgentBrowserJson(['wait', '--load', 'networkidle'], {
|
|
543
|
+
session: sessionName,
|
|
544
|
+
cwd: workingDir,
|
|
545
|
+
timeoutMs: 30_000,
|
|
546
|
+
}).catch(() => { });
|
|
856
547
|
try {
|
|
857
548
|
const captures = [];
|
|
858
549
|
const responsiveSnapshots = [];
|
|
550
|
+
let animationTokens = [];
|
|
551
|
+
// 3. For each viewport: set size → run unified extraction (tokens + scroll + animations)
|
|
859
552
|
for (const viewport of responsiveViewports) {
|
|
860
|
-
await runAgentBrowserJson(['set', 'viewport', String(viewport.width), String(viewport.height)], {
|
|
553
|
+
await runAgentBrowserJson(['set', 'viewport', String(viewport.width), String(viewport.height)], { session: sessionName, cwd: workingDir });
|
|
554
|
+
const result = await runAgentBrowserJson(['eval', UNIFIED_SCRIPT], {
|
|
861
555
|
session: sessionName,
|
|
862
556
|
cwd: workingDir,
|
|
557
|
+
timeoutMs: 45_000,
|
|
863
558
|
});
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
cwd: workingDir,
|
|
867
|
-
});
|
|
868
|
-
const extraction = await runAgentBrowserJson(['eval', EXTRACTION_SCRIPT], {
|
|
869
|
-
session: sessionName,
|
|
870
|
-
cwd: workingDir,
|
|
871
|
-
});
|
|
872
|
-
if (!extraction.success) {
|
|
873
|
-
throw new Error(`Extraction failed: ${extraction.error ?? 'Unknown error'}`);
|
|
559
|
+
if (!result.success) {
|
|
560
|
+
throw new Error(`Extraction failed: ${result.error ?? 'Unknown error'}`);
|
|
874
561
|
}
|
|
875
|
-
const
|
|
562
|
+
const unified = result.data.result;
|
|
563
|
+
if (!unified) {
|
|
564
|
+
throw new Error('Extraction returned empty result');
|
|
565
|
+
}
|
|
566
|
+
const normalized = normalizeResult(unified.designTokens);
|
|
876
567
|
captures.push(normalized);
|
|
877
568
|
responsiveSnapshots.push(toResponsiveSnapshot(viewport.label, normalized));
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
], { session: sessionName, cwd: workingDir });
|
|
888
|
-
const { height = 5000, vh = 800 } = pageInfo.data.result ?? {};
|
|
889
|
-
const scrollSteps = Math.min(Math.ceil(height / vh), 15);
|
|
890
|
-
const stepSize = Math.ceil(height / scrollSteps);
|
|
891
|
-
for (let i = 1; i <= scrollSteps; i++) {
|
|
892
|
-
await runAgentBrowserJson(['eval', `window.scrollTo({top:${i * stepSize},behavior:"instant"});true`], { session: sessionName, cwd: workingDir });
|
|
893
|
-
await runAgentBrowserJson(['wait', '200'], { session: sessionName, cwd: workingDir });
|
|
894
|
-
}
|
|
895
|
-
await runAgentBrowserJson(['eval', 'window.scrollTo({top:0,behavior:"instant"});true'], { session: sessionName, cwd: workingDir });
|
|
896
|
-
await runAgentBrowserJson(['wait', '1500'], { session: sessionName, cwd: workingDir });
|
|
897
|
-
}
|
|
898
|
-
catch {
|
|
899
|
-
// Scroll is best-effort; continue to animation capture
|
|
900
|
-
}
|
|
901
|
-
// Run animation observer script (once, at desktop viewport)
|
|
902
|
-
let animationTokens = [];
|
|
903
|
-
try {
|
|
904
|
-
const animResult = await runAgentBrowserJson(['eval', ANIMATION_OBSERVER_SCRIPT], {
|
|
905
|
-
session: sessionName,
|
|
906
|
-
cwd: workingDir,
|
|
907
|
-
});
|
|
908
|
-
if (animResult.success && animResult.data.result) {
|
|
909
|
-
const rawAnimData = animResult.data.result;
|
|
910
|
-
animationTokens = convertObserverResult(rawAnimData);
|
|
911
|
-
animationTokens = detectAnimationGroups(animationTokens);
|
|
569
|
+
// Only process animations from the first (desktop) viewport
|
|
570
|
+
if (animationTokens.length === 0 && unified.animations) {
|
|
571
|
+
try {
|
|
572
|
+
animationTokens = convertObserverResult(unified.animations);
|
|
573
|
+
animationTokens = detectAnimationGroups(animationTokens);
|
|
574
|
+
}
|
|
575
|
+
catch {
|
|
576
|
+
// Animation conversion is best-effort
|
|
577
|
+
}
|
|
912
578
|
}
|
|
913
579
|
}
|
|
914
|
-
|
|
915
|
-
// Animation capture is best-effort; don't fail the whole extraction
|
|
916
|
-
}
|
|
580
|
+
// 4. Get accessibility snapshot
|
|
917
581
|
const snapshotResult = await runAgentBrowserJson(['snapshot', '-c', '-d', '3'], {
|
|
918
582
|
session: sessionName,
|
|
919
583
|
cwd: workingDir,
|
|
920
584
|
});
|
|
921
|
-
|
|
922
|
-
sessionName,
|
|
923
|
-
workingDir,
|
|
924
|
-
});
|
|
925
|
-
const journey = await collectJourney({
|
|
926
|
-
sessionName,
|
|
927
|
-
workingDir,
|
|
928
|
-
maxSteps: journeySteps,
|
|
929
|
-
});
|
|
585
|
+
// 5. Take full-page screenshot
|
|
930
586
|
await runAgentBrowserJson(['screenshot', screenshotPath, '--full'], {
|
|
931
587
|
session: sessionName,
|
|
932
588
|
cwd: workingDir,
|
|
933
589
|
});
|
|
590
|
+
// 6. Merge results
|
|
934
591
|
const merged = mergeAnalysis(captures);
|
|
935
|
-
const stateStyles = [...(merged.stateStyles ?? []), ...interactiveStates].slice(0, 400);
|
|
936
|
-
// Merge: prefer new AnimationTokens, fall back to legacy MotionTokens
|
|
937
592
|
const mergedMotion = [
|
|
938
593
|
...animationTokens,
|
|
939
594
|
...merged.motion.filter((legacyToken) => !animationTokens.some((at) => at.selector === legacyToken.selector)),
|
|
@@ -943,12 +598,12 @@ export async function captureDesignFromUrl(params) {
|
|
|
943
598
|
motion: mergedMotion,
|
|
944
599
|
accessibilitySnapshot: snapshotResult.data.snapshot ?? undefined,
|
|
945
600
|
responsiveSnapshots,
|
|
946
|
-
stateStyles,
|
|
947
|
-
journey,
|
|
601
|
+
stateStyles: merged.stateStyles ?? [],
|
|
948
602
|
};
|
|
949
603
|
}
|
|
950
604
|
finally {
|
|
951
|
-
|
|
605
|
+
// 7. Always close the browser session
|
|
606
|
+
await runAgentBrowserJson(['close'], { session: sessionName, cwd: workingDir }).catch(() => { });
|
|
952
607
|
}
|
|
953
608
|
}
|
|
954
609
|
//# sourceMappingURL=extractFromUrl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractFromUrl.js","sourceRoot":"","sources":["../src/extractFromUrl.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"extractFromUrl.js","sourceRoot":"","sources":["../src/extractFromUrl.ts"],"names":[],"mappings":"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"}
|
package/dist/scanRenderer.js
CHANGED
|
@@ -64,8 +64,8 @@ export function renderScanResults(result) {
|
|
|
64
64
|
// Header box
|
|
65
65
|
console.log(topBorder());
|
|
66
66
|
console.log(emptyBoxLine());
|
|
67
|
-
const title = `${BOLD}${CYAN}design-brain${RESET} v0.9.
|
|
68
|
-
console.log(boxLine(title, 'design-brain v0.9.
|
|
67
|
+
const title = `${BOLD}${CYAN}design-brain${RESET} v0.9.3`;
|
|
68
|
+
console.log(boxLine(title, 'design-brain v0.9.3'.length));
|
|
69
69
|
const subtitle = `${DIM}Relational design memory${RESET}`;
|
|
70
70
|
console.log(boxLine(subtitle, 'Relational design memory'.length));
|
|
71
71
|
console.log(emptyBoxLine());
|