browser-debug-mcp-bridge 1.11.1 → 1.13.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 (33) hide show
  1. package/README.md +4 -2
  2. package/apps/mcp-server/dist/db/automation-repository.js +9 -4
  3. package/apps/mcp-server/dist/db/automation-repository.js.map +1 -1
  4. package/apps/mcp-server/dist/db/migrations.js +300 -1
  5. package/apps/mcp-server/dist/db/migrations.js.map +1 -1
  6. package/apps/mcp-server/dist/db/schema.js +226 -2
  7. package/apps/mcp-server/dist/db/schema.js.map +1 -1
  8. package/apps/mcp-server/dist/lighthouse-report.js +1001 -0
  9. package/apps/mcp-server/dist/lighthouse-report.js.map +1 -0
  10. package/apps/mcp-server/dist/main.js +249 -1
  11. package/apps/mcp-server/dist/main.js.map +1 -1
  12. package/apps/mcp-server/dist/mcp/server.js +3705 -311
  13. package/apps/mcp-server/dist/mcp/server.js.map +1 -1
  14. package/apps/mcp-server/dist/mcp/target-resolution.js +390 -0
  15. package/apps/mcp-server/dist/mcp/target-resolution.js.map +1 -0
  16. package/apps/mcp-server/dist/mcp/tool-loop-guard.js +655 -0
  17. package/apps/mcp-server/dist/mcp/tool-loop-guard.js.map +1 -0
  18. package/apps/mcp-server/dist/mock-store.js +408 -0
  19. package/apps/mcp-server/dist/mock-store.js.map +1 -0
  20. package/apps/mcp-server/dist/override-audit-contract.js +58 -0
  21. package/apps/mcp-server/dist/override-audit-contract.js.map +1 -1
  22. package/apps/mcp-server/dist/override-audit.js +100 -4
  23. package/apps/mcp-server/dist/override-audit.js.map +1 -1
  24. package/apps/mcp-server/dist/override-poc.js +4 -4
  25. package/apps/mcp-server/dist/override-poc.js.map +1 -1
  26. package/apps/mcp-server/dist/override-profile-generator.js +3 -9
  27. package/apps/mcp-server/dist/override-profile-generator.js.map +1 -1
  28. package/apps/mcp-server/dist/ssr-mock.js +480 -0
  29. package/apps/mcp-server/dist/ssr-mock.js.map +1 -0
  30. package/apps/mcp-server/dist/websocket/messages.js +5 -0
  31. package/apps/mcp-server/dist/websocket/messages.js.map +1 -1
  32. package/apps/mcp-server/package.json +5 -0
  33. package/package.json +9 -4
@@ -0,0 +1,480 @@
1
+ import { existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync } from 'fs';
2
+ import { basename, extname, join, resolve } from 'path';
3
+ const DEFAULT_SCAN_FILE_LIMIT = 500;
4
+ const DEFAULT_ENV_FILENAMES = [
5
+ '.env.local',
6
+ '.env.development.local',
7
+ '.env.development',
8
+ '.env',
9
+ ];
10
+ const SOURCE_FILE_EXTENSIONS = new Set([
11
+ '.ts',
12
+ '.tsx',
13
+ '.js',
14
+ '.jsx',
15
+ '.mjs',
16
+ '.cjs',
17
+ '.mts',
18
+ '.cts',
19
+ '.json',
20
+ '.env',
21
+ ]);
22
+ const EXCLUDED_DIRS = new Set([
23
+ '.git',
24
+ '.next',
25
+ '.nx',
26
+ 'coverage',
27
+ 'dist',
28
+ 'node_modules',
29
+ 'tmp',
30
+ ]);
31
+ const ENV_USAGE_PATTERN = /\b(?:process\.env|import\.meta\.env)\.([A-Z][A-Z0-9_]+)\b/g;
32
+ const GENERIC_ENV_NAME_PATTERN = /\b([A-Z][A-Z0-9_]*(?:API|BASE|BACKEND|ENDPOINT|SERVER|URL)[A-Z0-9_]*)\b/g;
33
+ const CLIENT_HINT_PATTERN = /\b(?:axios\.create|fetch\(|ky\.create|got\.extend|createClient|createApiClient|graphql)\b/;
34
+ const BDMCP_ORIGINAL_PREFIX = '# BDMCP_MOCK_ORIGINAL';
35
+ const BDMCP_ADDED_START_PREFIX = '# BDMCP_MOCK_ADDED_START';
36
+ const BDMCP_ADDED_END_PREFIX = '# BDMCP_MOCK_ADDED_END';
37
+ function normalizeOptionalString(value) {
38
+ return typeof value === 'string' && value.trim().length > 0 ? value.trim() : undefined;
39
+ }
40
+ function normalizeUrlHost(value) {
41
+ if (!value) {
42
+ return undefined;
43
+ }
44
+ try {
45
+ return new URL(value).origin;
46
+ }
47
+ catch {
48
+ return undefined;
49
+ }
50
+ }
51
+ function toPosixPath(value) {
52
+ return value.replace(/\\/g, '/');
53
+ }
54
+ function shouldScanFile(filename) {
55
+ if (filename === '.env.local' || filename === '.env.development.local' || filename === '.env.development' || filename === '.env') {
56
+ return true;
57
+ }
58
+ return SOURCE_FILE_EXTENSIONS.has(extname(filename).toLowerCase());
59
+ }
60
+ function listProjectFiles(projectRoot, maxFiles) {
61
+ const files = [];
62
+ const queue = [resolve(projectRoot)];
63
+ while (queue.length > 0 && files.length < maxFiles) {
64
+ const current = queue.shift();
65
+ if (!current || !existsSync(current)) {
66
+ continue;
67
+ }
68
+ const entries = readdirSync(current, { withFileTypes: true });
69
+ for (const entry of entries) {
70
+ if (files.length >= maxFiles) {
71
+ break;
72
+ }
73
+ const fullPath = join(current, entry.name);
74
+ if (entry.isDirectory()) {
75
+ if (!EXCLUDED_DIRS.has(entry.name)) {
76
+ queue.push(fullPath);
77
+ }
78
+ continue;
79
+ }
80
+ if (entry.isFile() && shouldScanFile(entry.name)) {
81
+ files.push(fullPath);
82
+ }
83
+ }
84
+ }
85
+ return files;
86
+ }
87
+ function readTextFile(path) {
88
+ try {
89
+ return readFileSync(path, 'utf8');
90
+ }
91
+ catch {
92
+ return undefined;
93
+ }
94
+ }
95
+ function pushCandidate(candidates, candidate) {
96
+ candidates.push(candidate);
97
+ }
98
+ function resolvePreferredEnvFile(projectRoot, explicitEnvFilePath) {
99
+ if (explicitEnvFilePath) {
100
+ const resolved = resolve(projectRoot, explicitEnvFilePath);
101
+ return { path: resolved, createdFile: !existsSync(resolved) };
102
+ }
103
+ for (const filename of DEFAULT_ENV_FILENAMES) {
104
+ const candidate = resolve(projectRoot, filename);
105
+ if (existsSync(candidate)) {
106
+ return { path: candidate, createdFile: false };
107
+ }
108
+ }
109
+ return { path: resolve(projectRoot, '.env.local'), createdFile: true };
110
+ }
111
+ function buildExcerpt(line) {
112
+ return line.trim().slice(0, 240);
113
+ }
114
+ function collectEnvVarMatches(line) {
115
+ const matches = new Set();
116
+ for (const pattern of [ENV_USAGE_PATTERN, GENERIC_ENV_NAME_PATTERN]) {
117
+ pattern.lastIndex = 0;
118
+ let match;
119
+ while ((match = pattern.exec(line)) !== null) {
120
+ if (typeof match[1] === 'string' && match[1].includes('_')) {
121
+ matches.add(match[1]);
122
+ }
123
+ }
124
+ }
125
+ return Array.from(matches);
126
+ }
127
+ function choosePreferredEnvVar(candidates) {
128
+ const counts = new Map();
129
+ for (const candidate of candidates) {
130
+ if (!candidate.envVarName) {
131
+ continue;
132
+ }
133
+ const score = candidate.confidence === 'high' ? 3 : candidate.confidence === 'medium' ? 2 : 1;
134
+ counts.set(candidate.envVarName, (counts.get(candidate.envVarName) ?? 0) + score);
135
+ }
136
+ return Array.from(counts.entries())
137
+ .sort((left, right) => right[1] - left[1] || left[0].localeCompare(right[0]))[0]?.[0];
138
+ }
139
+ function classifyDiscovery(candidates) {
140
+ if (candidates.some((candidate) => candidate.kind === 'env-var' && candidate.confidence === 'high')) {
141
+ return 'mockable-env';
142
+ }
143
+ if (candidates.some((candidate) => candidate.kind === 'central-client' && candidate.confidence !== 'low')) {
144
+ return 'mockable-central-client';
145
+ }
146
+ if (candidates.some((candidate) => candidate.kind === 'source-config' || candidate.kind === 'env-file')) {
147
+ return 'possibly-mockable';
148
+ }
149
+ return 'not-mockable';
150
+ }
151
+ function buildDiscoveryNextActions(classification, preferredEnvVarName) {
152
+ switch (classification) {
153
+ case 'mockable-env':
154
+ return [{
155
+ code: 'APPLY_SSR_MOCK_CONFIG',
156
+ message: preferredEnvVarName
157
+ ? `Apply a temporary mock base URL through ${preferredEnvVarName}.`
158
+ : 'Apply a temporary mock base URL through the discovered env var.',
159
+ }];
160
+ case 'mockable-central-client':
161
+ return [{
162
+ code: 'REVIEW_CLIENT_WRAPPER',
163
+ message: 'Confirm the central SSR client base URL is env-driven before patching a local env file.',
164
+ }];
165
+ case 'possibly-mockable':
166
+ return [{
167
+ code: 'CONFIRM_ENV_OR_CLIENT',
168
+ message: 'Inspect the discovered source config paths and choose the intended env var or client wrapper.',
169
+ }];
170
+ case 'not-mockable':
171
+ return [{
172
+ code: 'SOURCE_CHANGES_REQUIRED',
173
+ message: 'No configurable SSR base path was found; SSR mocking needs an env-driven base URL or a central request client.',
174
+ }];
175
+ }
176
+ }
177
+ export function discoverSsrMockability(options) {
178
+ const projectRoot = resolve(options.projectRoot);
179
+ const targetUrl = normalizeOptionalString(options.targetUrl);
180
+ const apiHost = normalizeOptionalString(options.apiHost) ?? normalizeUrlHost(targetUrl);
181
+ const maxFiles = typeof options.maxFiles === 'number' && Number.isFinite(options.maxFiles)
182
+ ? Math.max(50, Math.floor(options.maxFiles))
183
+ : DEFAULT_SCAN_FILE_LIMIT;
184
+ const files = listProjectFiles(projectRoot, maxFiles);
185
+ const candidates = [];
186
+ const envFilePaths = new Set();
187
+ const centralClientPaths = new Set();
188
+ const hardcodedCallPaths = new Set();
189
+ for (const filePath of files) {
190
+ const content = readTextFile(filePath);
191
+ if (content === undefined) {
192
+ continue;
193
+ }
194
+ const relativePath = toPosixPath(filePath.slice(projectRoot.length + 1));
195
+ const lines = content.split(/\r?\n/u);
196
+ const isEnvFile = basename(filePath).startsWith('.env');
197
+ for (let index = 0; index < lines.length; index += 1) {
198
+ const line = lines[index] ?? '';
199
+ const lineNo = index + 1;
200
+ const excerpt = buildExcerpt(line);
201
+ const envVars = collectEnvVarMatches(line);
202
+ if (isEnvFile) {
203
+ const envMatch = /^\s*([A-Z][A-Z0-9_]*)\s*=\s*(.+?)\s*$/u.exec(line);
204
+ if (envMatch && apiHost && envMatch[2].includes(apiHost)) {
205
+ envFilePaths.add(relativePath);
206
+ pushCandidate(candidates, {
207
+ kind: 'env-file',
208
+ path: relativePath,
209
+ line: lineNo,
210
+ excerpt,
211
+ envVarName: envMatch[1],
212
+ matchedUrl: envMatch[2],
213
+ confidence: 'high',
214
+ reason: 'Env file already defines a target API host value.',
215
+ });
216
+ }
217
+ }
218
+ const hasTargetUrl = targetUrl ? line.includes(targetUrl) : false;
219
+ const hasApiHost = apiHost ? line.includes(apiHost) : false;
220
+ const envDriven = envVars.length > 0;
221
+ const clientHint = CLIENT_HINT_PATTERN.test(line);
222
+ if ((hasTargetUrl || hasApiHost) && envDriven) {
223
+ pushCandidate(candidates, {
224
+ kind: 'env-var',
225
+ path: relativePath,
226
+ line: lineNo,
227
+ excerpt,
228
+ envVarName: envVars[0],
229
+ matchedUrl: hasTargetUrl ? targetUrl : apiHost,
230
+ confidence: 'high',
231
+ reason: 'SSR request path appears to be driven by an env var.',
232
+ });
233
+ }
234
+ else if (envDriven && clientHint) {
235
+ centralClientPaths.add(relativePath);
236
+ pushCandidate(candidates, {
237
+ kind: 'central-client',
238
+ path: relativePath,
239
+ line: lineNo,
240
+ excerpt,
241
+ envVarName: envVars[0],
242
+ confidence: 'medium',
243
+ reason: 'Central request client uses an env var and is a likely SSR mock injection point.',
244
+ });
245
+ }
246
+ else if ((hasTargetUrl || hasApiHost) && !envDriven) {
247
+ hardcodedCallPaths.add(relativePath);
248
+ pushCandidate(candidates, {
249
+ kind: 'hardcoded-call',
250
+ path: relativePath,
251
+ line: lineNo,
252
+ excerpt,
253
+ matchedUrl: hasTargetUrl ? targetUrl : apiHost,
254
+ confidence: 'low',
255
+ reason: 'Request appears hardcoded in source; not safely mockable through env patching.',
256
+ });
257
+ }
258
+ else if (envDriven && /(?:baseUrl|baseURL|apiUrl|apiURL|endpoint)/u.test(line)) {
259
+ pushCandidate(candidates, {
260
+ kind: 'source-config',
261
+ path: relativePath,
262
+ line: lineNo,
263
+ excerpt,
264
+ envVarName: envVars[0],
265
+ confidence: 'medium',
266
+ reason: 'Source configuration references an env-driven base URL or endpoint.',
267
+ });
268
+ }
269
+ }
270
+ }
271
+ const classification = classifyDiscovery(candidates);
272
+ const preferredEnvVarName = choosePreferredEnvVar(candidates);
273
+ const preferredEnvFilePath = envFilePaths.size > 0
274
+ ? resolve(projectRoot, Array.from(envFilePaths).sort()[0] ?? '.env.local')
275
+ : resolvePreferredEnvFile(projectRoot).path;
276
+ return {
277
+ projectRoot,
278
+ targetUrl,
279
+ apiHost,
280
+ classification,
281
+ mockable: classification === 'mockable-env' || classification === 'mockable-central-client',
282
+ envVarCandidates: Array.from(new Set(candidates.map((candidate) => candidate.envVarName).filter((value) => typeof value === 'string'))).sort(),
283
+ preferredEnvVarName,
284
+ preferredEnvFilePath,
285
+ centralClientPaths: Array.from(centralClientPaths).sort(),
286
+ hardcodedCallPaths: Array.from(hardcodedCallPaths).sort(),
287
+ scannedFileCount: files.length,
288
+ candidates: candidates.sort((left, right) => {
289
+ const leftScore = left.confidence === 'high' ? 0 : left.confidence === 'medium' ? 1 : 2;
290
+ const rightScore = right.confidence === 'high' ? 0 : right.confidence === 'medium' ? 1 : 2;
291
+ return leftScore - rightScore || left.path.localeCompare(right.path) || left.line - right.line;
292
+ }),
293
+ nextActions: buildDiscoveryNextActions(classification, preferredEnvVarName),
294
+ };
295
+ }
296
+ function ensureMockBaseUrl(value) {
297
+ try {
298
+ const parsed = new URL(value);
299
+ if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
300
+ throw new Error();
301
+ }
302
+ return parsed.toString().replace(/\/$/, '');
303
+ }
304
+ catch {
305
+ throw new Error('mockBaseUrl must be a valid absolute http(s) URL');
306
+ }
307
+ }
308
+ function createRollbackId(value) {
309
+ return normalizeOptionalString(value) ?? `ssr-mock-${Date.now()}`;
310
+ }
311
+ function ensureEnvFileDirectory(path) {
312
+ mkdirSync(resolve(path, '..'), { recursive: true });
313
+ }
314
+ function splitLinesWithEnding(content) {
315
+ const matches = content.match(/[^\n]*\n|[^\n]+$/gu);
316
+ return matches ?? [];
317
+ }
318
+ function findCurrentEnvAssignment(lines, envVarName) {
319
+ const pattern = new RegExp(`^\\s*${envVarName.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}\\s*=`, 'u');
320
+ return lines.findIndex((line) => pattern.test(line));
321
+ }
322
+ export function applySsrMockConfig(options) {
323
+ const projectRoot = resolve(options.projectRoot);
324
+ const envVarName = normalizeOptionalString(options.envVarName);
325
+ if (!envVarName) {
326
+ throw new Error('envVarName is required');
327
+ }
328
+ const mockBaseUrl = ensureMockBaseUrl(options.mockBaseUrl);
329
+ const rollbackId = createRollbackId(options.rollbackId);
330
+ const { path: envFilePath, createdFile } = resolvePreferredEnvFile(projectRoot, options.envFilePath);
331
+ const existing = readTextFile(envFilePath) ?? '';
332
+ const lines = splitLinesWithEnding(existing);
333
+ const alreadyManagedIndex = lines.findIndex((line) => line.startsWith(`${BDMCP_ORIGINAL_PREFIX} ${rollbackId} ${envVarName}=`));
334
+ if (alreadyManagedIndex >= 0) {
335
+ const currentIndex = findCurrentEnvAssignment(lines, envVarName);
336
+ if (currentIndex >= 0 && lines[currentIndex]?.trim() === `${envVarName}=${mockBaseUrl}`) {
337
+ return {
338
+ envFilePath,
339
+ envVarName,
340
+ mockBaseUrl,
341
+ rollbackId,
342
+ changed: false,
343
+ createdFile,
344
+ mode: 'already-applied',
345
+ rollback: {
346
+ type: 'already-applied',
347
+ envFilePath,
348
+ envVarName,
349
+ rollbackId,
350
+ },
351
+ };
352
+ }
353
+ }
354
+ const assignmentIndex = findCurrentEnvAssignment(lines, envVarName);
355
+ let originalValue;
356
+ let mode;
357
+ let rollback;
358
+ if (assignmentIndex >= 0) {
359
+ const currentLine = lines[assignmentIndex] ?? '';
360
+ const normalized = currentLine.replace(/\r?\n$/u, '');
361
+ const equalsIndex = normalized.indexOf('=');
362
+ originalValue = equalsIndex >= 0 ? normalized.slice(equalsIndex + 1) : '';
363
+ lines.splice(assignmentIndex, 1, `${BDMCP_ORIGINAL_PREFIX} ${rollbackId} ${envVarName}=${originalValue}\n`, `${envVarName}=${mockBaseUrl}\n`);
364
+ mode = 'replaced-existing-value';
365
+ rollback = {
366
+ type: 'restore-commented-value',
367
+ envFilePath,
368
+ envVarName,
369
+ rollbackId,
370
+ };
371
+ }
372
+ else {
373
+ if (lines.length > 0 && !lines[lines.length - 1]?.endsWith('\n')) {
374
+ lines[lines.length - 1] = `${lines[lines.length - 1]}\n`;
375
+ }
376
+ lines.push(`${BDMCP_ADDED_START_PREFIX} ${rollbackId} ${envVarName}\n`, `${envVarName}=${mockBaseUrl}\n`, `${BDMCP_ADDED_END_PREFIX} ${rollbackId} ${envVarName}\n`);
377
+ mode = 'added-new-value';
378
+ rollback = {
379
+ type: 'remove-added-block',
380
+ envFilePath,
381
+ envVarName,
382
+ rollbackId,
383
+ };
384
+ }
385
+ ensureEnvFileDirectory(envFilePath);
386
+ writeFileSync(envFilePath, lines.join(''), 'utf8');
387
+ return {
388
+ envFilePath,
389
+ envVarName,
390
+ mockBaseUrl,
391
+ rollbackId,
392
+ changed: true,
393
+ createdFile,
394
+ mode,
395
+ originalValue,
396
+ rollback,
397
+ };
398
+ }
399
+ export function removeSsrMockConfig(options) {
400
+ const envFilePath = resolve(options.envFilePath);
401
+ const envVarName = normalizeOptionalString(options.envVarName);
402
+ if (!envVarName) {
403
+ throw new Error('envVarName is required');
404
+ }
405
+ const content = readTextFile(envFilePath);
406
+ if (content === undefined) {
407
+ return {
408
+ envFilePath,
409
+ envVarName,
410
+ rollbackId: normalizeOptionalString(options.rollbackId),
411
+ restored: false,
412
+ mode: 'not-found',
413
+ };
414
+ }
415
+ const rollbackId = normalizeOptionalString(options.rollbackId);
416
+ const lines = splitLinesWithEnding(content);
417
+ for (let index = 0; index < lines.length; index += 1) {
418
+ const line = lines[index] ?? '';
419
+ const expectedPrefix = rollbackId
420
+ ? `${BDMCP_ORIGINAL_PREFIX} ${rollbackId} ${envVarName}=`
421
+ : `${BDMCP_ORIGINAL_PREFIX} `;
422
+ if (!line.startsWith(expectedPrefix) || (rollbackId === undefined && !line.includes(` ${envVarName}=`))) {
423
+ continue;
424
+ }
425
+ const match = /^# BDMCP_MOCK_ORIGINAL\s+(\S+)\s+([A-Z][A-Z0-9_]*)=(.*)\n?$/u.exec(line);
426
+ if (!match || match[2] !== envVarName) {
427
+ continue;
428
+ }
429
+ const managedRollbackId = match[1];
430
+ const originalValue = match[3];
431
+ if (index + 1 < lines.length && (lines[index + 1] ?? '').startsWith(`${envVarName}=`)) {
432
+ lines.splice(index, 2, `${envVarName}=${originalValue}\n`);
433
+ writeFileSync(envFilePath, lines.join(''), 'utf8');
434
+ return {
435
+ envFilePath,
436
+ envVarName,
437
+ rollbackId: managedRollbackId,
438
+ restored: true,
439
+ mode: 'restored-commented-value',
440
+ };
441
+ }
442
+ }
443
+ for (let index = 0; index < lines.length; index += 1) {
444
+ const line = lines[index] ?? '';
445
+ const expectedPrefix = rollbackId
446
+ ? `${BDMCP_ADDED_START_PREFIX} ${rollbackId} ${envVarName}`
447
+ : `${BDMCP_ADDED_START_PREFIX} `;
448
+ if (!line.startsWith(expectedPrefix) || (rollbackId === undefined && !line.includes(` ${envVarName}`))) {
449
+ continue;
450
+ }
451
+ const match = /^# BDMCP_MOCK_ADDED_START\s+(\S+)\s+([A-Z][A-Z0-9_]*)\n?$/u.exec(line);
452
+ if (!match || match[2] !== envVarName) {
453
+ continue;
454
+ }
455
+ const managedRollbackId = match[1];
456
+ const endIndex = lines.findIndex((candidate, candidateIndex) => {
457
+ return candidateIndex > index
458
+ && candidate.startsWith(`${BDMCP_ADDED_END_PREFIX} ${managedRollbackId} ${envVarName}`);
459
+ });
460
+ if (endIndex > index) {
461
+ lines.splice(index, endIndex - index + 1);
462
+ writeFileSync(envFilePath, lines.join(''), 'utf8');
463
+ return {
464
+ envFilePath,
465
+ envVarName,
466
+ rollbackId: managedRollbackId,
467
+ restored: true,
468
+ mode: 'removed-added-block',
469
+ };
470
+ }
471
+ }
472
+ return {
473
+ envFilePath,
474
+ envVarName,
475
+ rollbackId,
476
+ restored: false,
477
+ mode: 'not-found',
478
+ };
479
+ }
480
+ //# sourceMappingURL=ssr-mock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssr-mock.js","sourceRoot":"","sources":["../src/ssr-mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAiFxD,MAAM,uBAAuB,GAAG,GAAG,CAAC;AACpC,MAAM,qBAAqB,GAAG;IAC5B,YAAY;IACZ,wBAAwB;IACxB,kBAAkB;IAClB,MAAM;CACE,CAAC;AACX,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;CACP,CAAC,CAAC;AACH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,MAAM;IACN,OAAO;IACP,KAAK;IACL,UAAU;IACV,MAAM;IACN,cAAc;IACd,KAAK;CACN,CAAC,CAAC;AACH,MAAM,iBAAiB,GAAG,4DAA4D,CAAC;AACvF,MAAM,wBAAwB,GAAG,0EAA0E,CAAC;AAC5G,MAAM,mBAAmB,GAAG,2FAA2F,CAAC;AACxH,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AACtD,MAAM,wBAAwB,GAAG,0BAA0B,CAAC;AAC5D,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AAExD,SAAS,uBAAuB,CAAC,KAAc;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACzF,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAyB;IACjD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB;IACtC,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,wBAAwB,IAAI,QAAQ,KAAK,kBAAkB,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACjI,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,gBAAgB,CAAC,WAAmB,EAAE,QAAgB;IAC7D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IAErC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;QACnD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM;YACR,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,CAAC;gBACD,SAAS;YACX,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,UAAqC,EAAE,SAAkC;IAC9F,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,uBAAuB,CAAC,WAAmB,EAAE,mBAA4B;IAChF,IAAI,mBAAmB,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAC3D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;IAChE,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,qBAAqB,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACjD,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QACjD,CAAC;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AACzE,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY;IACxC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,OAAO,IAAI,CAAC,iBAAiB,EAAE,wBAAwB,CAAC,EAAE,CAAC;QACpE,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;QACtB,IAAI,KAA6B,CAAC;QAClC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC7C,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,qBAAqB,CAAC,UAAqC;IAClE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;YAC1B,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9F,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IACpF,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;SAChC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAqC;IAC9D,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,UAAU,KAAK,MAAM,CAAC,EAAE,CAAC;QACpG,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,gBAAgB,IAAI,SAAS,CAAC,UAAU,KAAK,KAAK,CAAC,EAAE,CAAC;QAC1G,OAAO,yBAAyB,CAAC;IACnC,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,eAAe,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,CAAC;QACxG,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,yBAAyB,CAAC,cAA4C,EAAE,mBAA4B;IAC3G,QAAQ,cAAc,EAAE,CAAC;QACvB,KAAK,cAAc;YACjB,OAAO,CAAC;oBACN,IAAI,EAAE,uBAAuB;oBAC7B,OAAO,EAAE,mBAAmB;wBAC1B,CAAC,CAAC,2CAA2C,mBAAmB,GAAG;wBACnE,CAAC,CAAC,iEAAiE;iBACtE,CAAC,CAAC;QACL,KAAK,yBAAyB;YAC5B,OAAO,CAAC;oBACN,IAAI,EAAE,uBAAuB;oBAC7B,OAAO,EAAE,yFAAyF;iBACnG,CAAC,CAAC;QACL,KAAK,mBAAmB;YACtB,OAAO,CAAC;oBACN,IAAI,EAAE,uBAAuB;oBAC7B,OAAO,EAAE,+FAA+F;iBACzG,CAAC,CAAC;QACL,KAAK,cAAc;YACjB,OAAO,CAAC;oBACN,IAAI,EAAE,yBAAyB;oBAC/B,OAAO,EAAE,gHAAgH;iBAC1H,CAAC,CAAC;IACP,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAsC;IAC3E,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACxF,MAAM,QAAQ,GAAG,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;QACxF,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC,CAAC,uBAAuB,CAAC;IAC5B,MAAM,KAAK,GAAG,gBAAgB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACtD,MAAM,UAAU,GAA8B,EAAE,CAAC;IACjD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC7C,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE7C,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,SAAS;QACX,CAAC;QACD,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAExD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC;YACzB,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAE3C,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,QAAQ,GAAG,wCAAwC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrE,IAAI,QAAQ,IAAI,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBACzD,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;oBAC/B,aAAa,CAAC,UAAU,EAAE;wBACxB,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,MAAM;wBACZ,OAAO;wBACP,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;wBACvB,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;wBACvB,UAAU,EAAE,MAAM;wBAClB,MAAM,EAAE,mDAAmD;qBAC5D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAClE,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC5D,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YACrC,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAElD,IAAI,CAAC,YAAY,IAAI,UAAU,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC9C,aAAa,CAAC,UAAU,EAAE;oBACxB,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,MAAM;oBACZ,OAAO;oBACP,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;oBACtB,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;oBAC9C,UAAU,EAAE,MAAM;oBAClB,MAAM,EAAE,sDAAsD;iBAC/D,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACrC,aAAa,CAAC,UAAU,EAAE;oBACxB,IAAI,EAAE,gBAAgB;oBACtB,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,MAAM;oBACZ,OAAO;oBACP,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;oBACtB,UAAU,EAAE,QAAQ;oBACpB,MAAM,EAAE,kFAAkF;iBAC3F,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,CAAC,YAAY,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACtD,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACrC,aAAa,CAAC,UAAU,EAAE;oBACxB,IAAI,EAAE,gBAAgB;oBACtB,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,MAAM;oBACZ,OAAO;oBACP,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;oBAC9C,UAAU,EAAE,KAAK;oBACjB,MAAM,EAAE,gFAAgF;iBACzF,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,SAAS,IAAI,6CAA6C,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjF,aAAa,CAAC,UAAU,EAAE;oBACxB,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,MAAM;oBACZ,OAAO;oBACP,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;oBACtB,UAAU,EAAE,QAAQ;oBACpB,MAAM,EAAE,qEAAqE;iBAC9E,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACrD,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC9D,MAAM,oBAAoB,GAAG,YAAY,CAAC,IAAI,GAAG,CAAC;QAChD,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC;QAC1E,CAAC,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;IAE9C,OAAO;QACL,WAAW;QACX,SAAS;QACT,OAAO;QACP,cAAc;QACd,QAAQ,EAAE,cAAc,KAAK,cAAc,IAAI,cAAc,KAAK,yBAAyB;QAC3F,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;QAC/J,mBAAmB;QACnB,oBAAoB;QACpB,kBAAkB,EAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE;QACzD,kBAAkB,EAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE;QACzD,gBAAgB,EAAE,KAAK,CAAC,MAAM;QAC9B,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxF,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3F,OAAO,SAAS,GAAG,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACjG,CAAC,CAAC;QACF,WAAW,EAAE,yBAAyB,CAAC,cAAc,EAAE,mBAAmB,CAAC;KAC5E,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,EAAE,CAAC;QACpB,CAAC;QACD,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,uBAAuB,CAAC,KAAK,CAAC,IAAI,YAAY,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;AACpE,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY;IAC1C,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAe;IAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACpD,OAAO,OAAO,IAAI,EAAE,CAAC;AACvB,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAe,EAAE,UAAkB;IACnE,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,QAAQ,UAAU,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAClG,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAkC;IACnE,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACxD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,uBAAuB,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACrG,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IACjD,MAAM,KAAK,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,mBAAmB,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,qBAAqB,IAAI,UAAU,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC;IAEhI,IAAI,mBAAmB,IAAI,CAAC,EAAE,CAAC;QAC7B,MAAM,YAAY,GAAG,wBAAwB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACjE,IAAI,YAAY,IAAI,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,UAAU,IAAI,WAAW,EAAE,EAAE,CAAC;YACxF,OAAO;gBACL,WAAW;gBACX,UAAU;gBACV,WAAW;gBACX,UAAU;gBACV,OAAO,EAAE,KAAK;gBACd,WAAW;gBACX,IAAI,EAAE,iBAAiB;gBACvB,QAAQ,EAAE;oBACR,IAAI,EAAE,iBAAiB;oBACvB,WAAW;oBACX,UAAU;oBACV,UAAU;iBACX;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GAAG,wBAAwB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACpE,IAAI,aAAiC,CAAC;IACtC,IAAI,IAAsC,CAAC;IAC3C,IAAI,QAA8C,CAAC;IAEnD,IAAI,eAAe,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5C,aAAa,GAAG,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,KAAK,CAAC,MAAM,CACV,eAAe,EACf,CAAC,EACD,GAAG,qBAAqB,IAAI,UAAU,IAAI,UAAU,IAAI,aAAa,IAAI,EACzE,GAAG,UAAU,IAAI,WAAW,IAAI,CACjC,CAAC;QACF,IAAI,GAAG,yBAAyB,CAAC;QACjC,QAAQ,GAAG;YACT,IAAI,EAAE,yBAAyB;YAC/B,WAAW;YACX,UAAU;YACV,UAAU;SACX,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACjE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC;QAC3D,CAAC;QACD,KAAK,CAAC,IAAI,CACR,GAAG,wBAAwB,IAAI,UAAU,IAAI,UAAU,IAAI,EAC3D,GAAG,UAAU,IAAI,WAAW,IAAI,EAChC,GAAG,sBAAsB,IAAI,UAAU,IAAI,UAAU,IAAI,CAC1D,CAAC;QACF,IAAI,GAAG,iBAAiB,CAAC;QACzB,QAAQ,GAAG;YACT,IAAI,EAAE,oBAAoB;YAC1B,WAAW;YACX,UAAU;YACV,UAAU;SACX,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,WAAW,CAAC,CAAC;IACpC,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAEnD,OAAO;QACL,WAAW;QACX,UAAU;QACV,WAAW;QACX,UAAU;QACV,OAAO,EAAE,IAAI;QACb,WAAW;QACX,IAAI;QACJ,aAAa;QACb,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAmC;IACrE,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAC1C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO;YACL,WAAW;YACX,UAAU;YACV,UAAU,EAAE,uBAAuB,CAAC,OAAO,CAAC,UAAU,CAAC;YACvD,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,WAAW;SAClB,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAE5C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAChC,MAAM,cAAc,GAAG,UAAU;YAC/B,CAAC,CAAC,GAAG,qBAAqB,IAAI,UAAU,IAAI,UAAU,GAAG;YACzD,CAAC,CAAC,GAAG,qBAAqB,GAAG,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;YACxG,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,8DAA8D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxF,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;YACtC,SAAS;QACX,CAAC;QAED,MAAM,iBAAiB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC;YACtF,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,UAAU,IAAI,aAAa,IAAI,CAAC,CAAC;YAC3D,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;YACnD,OAAO;gBACL,WAAW;gBACX,UAAU;gBACV,UAAU,EAAE,iBAAiB;gBAC7B,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,0BAA0B;aACjC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAChC,MAAM,cAAc,GAAG,UAAU;YAC/B,CAAC,CAAC,GAAG,wBAAwB,IAAI,UAAU,IAAI,UAAU,EAAE;YAC3D,CAAC,CAAC,GAAG,wBAAwB,GAAG,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC;YACvG,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,4DAA4D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtF,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;YACtC,SAAS;QACX,CAAC;QACD,MAAM,iBAAiB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE;YAC7D,OAAO,cAAc,GAAG,KAAK;mBACxB,SAAS,CAAC,UAAU,CAAC,GAAG,sBAAsB,IAAI,iBAAiB,IAAI,UAAU,EAAE,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;QACH,IAAI,QAAQ,GAAG,KAAK,EAAE,CAAC;YACrB,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;YAC1C,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;YACnD,OAAO;gBACL,WAAW;gBACX,UAAU;gBACV,UAAU,EAAE,iBAAiB;gBAC7B,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,qBAAqB;aAC5B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,WAAW;QACX,UAAU;QACV,UAAU;QACV,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,WAAW;KAClB,CAAC;AACJ,CAAC"}
@@ -41,6 +41,11 @@ export const CaptureCommandSchema = z.enum([
41
41
  'CAPTURE_PAGE_STATE',
42
42
  'CAPTURE_UI_SNAPSHOT',
43
43
  'CAPTURE_GET_LIVE_CONSOLE_LOGS',
44
+ 'CAPTURE_WAIT_FOR_NAVIGATION_LIFECYCLE',
45
+ 'CAPTURE_WAIT_FOR_DIALOG',
46
+ 'CAPTURE_WAIT_FOR_STABLE_LAYOUT',
47
+ 'CAPTURE_WAIT_FOR_DOWNLOAD',
48
+ 'CAPTURE_WAIT_FOR_POPUP',
44
49
  'CAPTURE_OVERRIDE_OBSERVE_ASSETS',
45
50
  'CAPTURE_OVERRIDE_RESPONSE_BODY',
46
51
  'CAPTURE_OVERRIDE_POC_GET_STATUS',
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/websocket/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/websocket/messages.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,9 @@
2
2
  "name": "mcp-server",
3
3
  "version": "1.0.0",
4
4
  "type": "module",
5
+ "engines": {
6
+ "node": ">=22.19"
7
+ },
5
8
  "scripts": {
6
9
  "build": "tsc -p tsconfig.app.json",
7
10
  "serve": "tsx src/main.ts",
@@ -15,8 +18,10 @@
15
18
  "@types/ws": "^8.18.1",
16
19
  "better-sqlite3": "^12.6.2",
17
20
  "cheerio": "^1.2.0",
21
+ "chrome-launcher": "1.2.1",
18
22
  "fastify": "^5.7.4",
19
23
  "jszip": "^3.10.1",
24
+ "lighthouse": "13.3.0",
20
25
  "ws": "^8.19.0"
21
26
  },
22
27
  "devDependencies": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "browser-debug-mcp-bridge",
3
- "version": "1.11.1",
3
+ "version": "1.13.0",
4
4
  "description": "Chrome Extension + Node.js MCP server for browser debugging",
5
5
  "private": false,
6
6
  "publishConfig": {
@@ -64,11 +64,11 @@
64
64
  "license": "ISC",
65
65
  "packageManager": "pnpm@10.28.2",
66
66
  "engines": {
67
- "node": ">=20"
67
+ "node": ">=22.19"
68
68
  },
69
69
  "devDependencies": {
70
- "@docusaurus/core": "^3.9.2",
71
- "@docusaurus/preset-classic": "^3.9.2",
70
+ "@docusaurus/core": "^3.10.1",
71
+ "@docusaurus/preset-classic": "^3.10.1",
72
72
  "@easyops-cn/docusaurus-search-local": "^0.55.1",
73
73
  "@mdx-js/react": "^3.1.1",
74
74
  "@nx/js": "22.5.3",
@@ -106,5 +106,10 @@
106
106
  "tsx": "^4.21.0",
107
107
  "ws": "^8.19.0",
108
108
  "zod": "^4.3.6"
109
+ },
110
+ "pnpm": {
111
+ "overrides": {
112
+ "baseline-browser-mapping": "2.10.31"
113
+ }
109
114
  }
110
115
  }