cbrowser 18.24.0 → 18.25.1

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.
@@ -12,6 +12,7 @@ import { existsSync, readFileSync, writeFileSync, mkdirSync, unlinkSync } from "
12
12
  import { join } from "path";
13
13
  import { homedir } from "os";
14
14
  import { CBrowser } from "../browser.js";
15
+ import { computeCombinedDistance, computeSmartBaseline, compareAgainstSmartBaseline, computeTransportMap, } from "./distance-metrics.js";
15
16
  /**
16
17
  * Get the path to visual baselines storage
17
18
  */
@@ -150,6 +151,356 @@ export function deleteVisualBaseline(name) {
150
151
  saveVisualBaselines(filtered);
151
152
  return true;
152
153
  }
154
+ // ── Smart Baseline Storage ──
155
+ function getSmartBaselinesPath() {
156
+ const baseDir = process.env.CBROWSER_DATA_DIR || join(homedir(), ".cbrowser");
157
+ const dir = join(baseDir, "smart-baselines");
158
+ if (!existsSync(dir))
159
+ mkdirSync(dir, { recursive: true });
160
+ return dir;
161
+ }
162
+ function loadSmartBaselines() {
163
+ const indexPath = join(getSmartBaselinesPath(), "smart-baselines.json");
164
+ if (!existsSync(indexPath))
165
+ return [];
166
+ try {
167
+ const data = JSON.parse(readFileSync(indexPath, "utf-8"));
168
+ // Restore Float64Arrays from JSON
169
+ return (data.baselines || []).map((b) => ({
170
+ ...b,
171
+ barycenter: {
172
+ r: new Float64Array(b.barycenter.r),
173
+ g: new Float64Array(b.barycenter.g),
174
+ b: new Float64Array(b.barycenter.b),
175
+ },
176
+ }));
177
+ }
178
+ catch {
179
+ return [];
180
+ }
181
+ }
182
+ function saveSmartBaselines(baselines) {
183
+ const indexPath = join(getSmartBaselinesPath(), "smart-baselines.json");
184
+ // Convert Float64Arrays to regular arrays for JSON
185
+ const serializable = baselines.map(b => ({
186
+ ...b,
187
+ barycenter: {
188
+ r: Array.from(b.barycenter.r),
189
+ g: Array.from(b.barycenter.g),
190
+ b: Array.from(b.barycenter.b),
191
+ },
192
+ }));
193
+ writeFileSync(indexPath, JSON.stringify({ baselines: serializable, updated: new Date().toISOString() }, null, 2));
194
+ }
195
+ /**
196
+ * Capture a Smart Barycenter Baseline.
197
+ *
198
+ * Takes N screenshots of a URL with delays between captures,
199
+ * computes the Wasserstein barycenter (optimal consensus),
200
+ * rejects outlier captures, and selects the median reference image.
201
+ *
202
+ * The result is a baseline that represents the "typical" rendering —
203
+ * robust to timing variations, dynamic content, animation states,
204
+ * and other sources of non-deterministic rendering.
205
+ *
206
+ * @since v18.0.0
207
+ * @see https://github.com/alexandriashai/cbrowser/issues/158
208
+ */
209
+ export async function captureSmartBaseline(url, name, options = {}) {
210
+ const numCaptures = options.numCaptures || 5;
211
+ const captureDelay = options.captureDelay || 1500;
212
+ // Map generic device names to viewports if not a recognized DEVICE_PRESETS key
213
+ const GENERIC_VIEWPORTS = {
214
+ 'mobile': { width: 375, height: 667 },
215
+ 'tablet': { width: 768, height: 1024 },
216
+ 'desktop': { width: 1920, height: 1080 },
217
+ 'mobile-sm': { width: 320, height: 568 },
218
+ 'mobile-lg': { width: 414, height: 896 },
219
+ 'tablet-lg': { width: 1024, height: 1366 },
220
+ 'desktop-sm': { width: 1280, height: 800 },
221
+ 'desktop-lg': { width: 2560, height: 1440 },
222
+ };
223
+ let resolvedViewport = options.viewport;
224
+ let resolvedDevice = options.device;
225
+ if (options.device && GENERIC_VIEWPORTS[options.device]) {
226
+ resolvedViewport = GENERIC_VIEWPORTS[options.device];
227
+ resolvedDevice = undefined; // don't pass generic name as device preset
228
+ }
229
+ const browser = new CBrowser({
230
+ device: resolvedDevice,
231
+ viewportWidth: resolvedViewport?.width || 1920,
232
+ viewportHeight: resolvedViewport?.height || 1080,
233
+ });
234
+ const screenshotsPath = join(getSmartBaselinesPath(), "screenshots");
235
+ if (!existsSync(screenshotsPath))
236
+ mkdirSync(screenshotsPath, { recursive: true });
237
+ const capturePaths = [];
238
+ try {
239
+ await browser.launch();
240
+ await browser.navigate(url);
241
+ // Wait if specified
242
+ if (options.waitFor) {
243
+ if (typeof options.waitFor === "number") {
244
+ await new Promise(resolve => setTimeout(resolve, options.waitFor));
245
+ }
246
+ else {
247
+ const page = await browser.getPage();
248
+ await page.waitForSelector(options.waitFor, { timeout: 10000 }).catch(() => { });
249
+ }
250
+ }
251
+ const page = await browser.getPage();
252
+ // Capture N screenshots
253
+ for (let i = 0; i < numCaptures; i++) {
254
+ const id = `${name.toLowerCase().replace(/[^a-z0-9]+/g, "-")}-${Date.now()}-${i}`;
255
+ const capturePath = join(screenshotsPath, `${id}.png`);
256
+ if (options.selector) {
257
+ const element = page.locator(options.selector).first();
258
+ await element.screenshot({ path: capturePath });
259
+ }
260
+ else {
261
+ await page.screenshot({ path: capturePath, fullPage: false });
262
+ }
263
+ capturePaths.push(capturePath);
264
+ // Delay between captures (except last)
265
+ if (i < numCaptures - 1) {
266
+ await new Promise(resolve => setTimeout(resolve, captureDelay));
267
+ }
268
+ }
269
+ }
270
+ finally {
271
+ await browser.close();
272
+ }
273
+ // Compute smart baseline
274
+ const baseline = await computeSmartBaseline(capturePaths, name, url, {
275
+ downscale: 0.5,
276
+ outlierThreshold: options.outlierThreshold || 2.0,
277
+ });
278
+ // Save to index
279
+ const baselines = loadSmartBaselines();
280
+ const filtered = baselines.filter(b => b.name !== name);
281
+ filtered.push(baseline);
282
+ saveSmartBaselines(filtered);
283
+ return baseline;
284
+ }
285
+ /**
286
+ * List all smart baselines
287
+ */
288
+ export function listSmartBaselines() {
289
+ return loadSmartBaselines();
290
+ }
291
+ /**
292
+ * Get a smart baseline by name
293
+ */
294
+ export function getSmartBaseline(name) {
295
+ return loadSmartBaselines().find(b => b.name === name);
296
+ }
297
+ /**
298
+ * Delete a smart baseline and its screenshots
299
+ */
300
+ export function deleteSmartBaseline(name) {
301
+ const baselines = loadSmartBaselines();
302
+ const baseline = baselines.find(b => b.name === name);
303
+ if (!baseline)
304
+ return false;
305
+ // Delete capture files
306
+ for (const path of baseline.capturePaths) {
307
+ if (existsSync(path))
308
+ unlinkSync(path);
309
+ }
310
+ const filtered = baselines.filter(b => b.name !== name);
311
+ saveSmartBaselines(filtered);
312
+ return true;
313
+ }
314
+ export async function runSmartRegression(url, baselineName, options = {}) {
315
+ const baseline = getSmartBaseline(baselineName);
316
+ if (!baseline) {
317
+ return {
318
+ baselineName,
319
+ url,
320
+ passed: false,
321
+ analysis: {
322
+ overallStatus: "fail",
323
+ summary: `Smart baseline "${baselineName}" not found. Capture one first with captureSmartBaseline().`,
324
+ changes: [],
325
+ similarityScore: 0,
326
+ productionReady: false,
327
+ confidence: 1,
328
+ },
329
+ baselineScreenshot: "",
330
+ currentScreenshot: "",
331
+ timestamp: new Date().toISOString(),
332
+ };
333
+ }
334
+ // Capture current screenshot
335
+ const browser = new CBrowser({
336
+ viewportWidth: baseline.url ? 1920 : 1920,
337
+ viewportHeight: 1080,
338
+ });
339
+ const screenshotsPath = getVisualScreenshotsPath();
340
+ const currentPath = join(screenshotsPath, `current-${Date.now()}.png`);
341
+ try {
342
+ await browser.launch();
343
+ await browser.navigate(url);
344
+ await new Promise(resolve => setTimeout(resolve, 2000));
345
+ const page = await browser.getPage();
346
+ await page.screenshot({ path: currentPath, fullPage: false });
347
+ }
348
+ finally {
349
+ await browser.close();
350
+ }
351
+ // Compare against smart baseline
352
+ const result = await compareAgainstSmartBaseline(currentPath, baseline, options.wassersteinConfig);
353
+ // Use adaptive threshold from baseline (or override)
354
+ const threshold = options.threshold || baseline.adaptiveThreshold;
355
+ const passed = result.normalizedScore >= threshold;
356
+ const changes = [];
357
+ let overallStatus = "pass";
358
+ if (!passed) {
359
+ if (result.normalizedScore < threshold - 0.15) {
360
+ overallStatus = "fail";
361
+ changes.push({
362
+ type: "layout",
363
+ severity: "breaking",
364
+ region: { x: 0, y: 0, width: 1920, height: 1080 },
365
+ description: `Visual change exceeds smart baseline variance (score: ${result.normalizedScore.toFixed(3)}, threshold: ${threshold.toFixed(3)}, variance ratio: ${result.varianceRatio.toFixed(1)}σ)`,
366
+ reasoning: result.withinVariance
367
+ ? "Change is within observed render variance but below threshold"
368
+ : "Change exceeds the natural variance observed during baseline creation",
369
+ confidence: 0.92,
370
+ suggestion: "This appears to be a real visual change, not rendering noise",
371
+ });
372
+ }
373
+ else {
374
+ overallStatus = "warning";
375
+ changes.push({
376
+ type: "content",
377
+ severity: "warning",
378
+ region: { x: 0, y: 0, width: 1920, height: 1080 },
379
+ description: `Marginal visual change near smart baseline threshold (score: ${result.normalizedScore.toFixed(3)}, threshold: ${threshold.toFixed(3)})`,
380
+ reasoning: "Change is close to the boundary of expected variance",
381
+ confidence: 0.8,
382
+ suggestion: "May be a real change or an unusually noisy render — consider re-running",
383
+ });
384
+ }
385
+ }
386
+ const channelInfo = result.details.channelDistances
387
+ ? ` | R: ${result.details.channelDistances.r.toFixed(4)}, G: ${result.details.channelDistances.g.toFixed(4)}, B: ${result.details.channelDistances.b.toFixed(4)}`
388
+ : '';
389
+ return {
390
+ baselineName,
391
+ url,
392
+ passed,
393
+ analysis: {
394
+ overallStatus,
395
+ summary: passed
396
+ ? `Visual regression passed (score: ${result.normalizedScore.toFixed(3)} ≥ adaptive threshold: ${threshold.toFixed(3)}, within ${result.varianceRatio.toFixed(1)}σ of baseline variance)`
397
+ : `Visual regression ${overallStatus}: score ${result.normalizedScore.toFixed(3)} < threshold ${threshold.toFixed(3)}`,
398
+ changes,
399
+ similarityScore: result.normalizedScore,
400
+ productionReady: passed,
401
+ confidence: 0.92,
402
+ rawAnalysis: `Smart baseline comparison (${baseline.numCaptures} captures, ${baseline.numOutliers} outliers rejected, adaptive threshold ${threshold.toFixed(3)})${channelInfo} | ${result.details.computeTimeMs?.toFixed(0)}ms`,
403
+ },
404
+ baselineScreenshot: baseline.referencePath,
405
+ currentScreenshot: currentPath,
406
+ timestamp: new Date().toISOString(),
407
+ };
408
+ }
409
+ /**
410
+ * Generate a Visual Transport Map between two screenshots.
411
+ *
412
+ * Shows WHERE visual mass moved, not just THAT it changed.
413
+ * Produces:
414
+ * - A heatmap of change magnitude per grid cell
415
+ * - Flow arrows showing how content shifted
416
+ * - Hotspot regions with the most significant changes
417
+ * - An SVG overlay visualization
418
+ *
419
+ * Can be used standalone or after a regression test to visualize what changed.
420
+ *
421
+ * @since v18.0.0 (Phase 3)
422
+ * @see https://github.com/alexandriashai/cbrowser/issues/158
423
+ */
424
+ export async function generateTransportMap(baselinePath, currentPath, config) {
425
+ return computeTransportMap(baselinePath, currentPath, config);
426
+ }
427
+ /**
428
+ * Run visual regression with transport map visualization.
429
+ *
430
+ * Combines Phase 1 (Wasserstein distance) with Phase 3 (transport map)
431
+ * for a complete "what changed and where" analysis.
432
+ */
433
+ export async function runRegressionWithTransportMap(url, baselineName, options = {}) {
434
+ // Check for smart baseline first, fall back to regular
435
+ const smartBaseline = getSmartBaseline(baselineName);
436
+ const regularBaseline = getVisualBaseline(baselineName);
437
+ if (!smartBaseline && !regularBaseline) {
438
+ return {
439
+ baselineName,
440
+ url,
441
+ passed: false,
442
+ analysis: {
443
+ overallStatus: "fail",
444
+ summary: `Baseline "${baselineName}" not found.`,
445
+ changes: [],
446
+ similarityScore: 0,
447
+ productionReady: false,
448
+ confidence: 1,
449
+ },
450
+ baselineScreenshot: "",
451
+ currentScreenshot: "",
452
+ timestamp: new Date().toISOString(),
453
+ };
454
+ }
455
+ const baselineScreenshot = smartBaseline?.referencePath || regularBaseline.screenshotPath;
456
+ // Capture current screenshot
457
+ const browser = new CBrowser({ viewportWidth: 1920, viewportHeight: 1080 });
458
+ const screenshotsPath = getVisualScreenshotsPath();
459
+ const currentPath = join(screenshotsPath, `current-${Date.now()}.png`);
460
+ try {
461
+ await browser.launch();
462
+ await browser.navigate(url);
463
+ await new Promise(resolve => setTimeout(resolve, 2000));
464
+ const page = await browser.getPage();
465
+ await page.screenshot({ path: currentPath, fullPage: false });
466
+ }
467
+ finally {
468
+ await browser.close();
469
+ }
470
+ // Run Wasserstein analysis
471
+ const analysis = await performWassersteinAnalysis(baselineScreenshot, currentPath, options);
472
+ // Generate transport map
473
+ const transportMap = await computeTransportMap(baselineScreenshot, currentPath, options.transportMapConfig);
474
+ // Save SVG to disk
475
+ let transportMapSvgPath; // eslint-disable-line prefer-const
476
+ const baseDir = process.env.CBROWSER_DATA_DIR || join(homedir(), ".cbrowser");
477
+ const mapsDir = join(baseDir, "transport-maps");
478
+ if (!existsSync(mapsDir))
479
+ mkdirSync(mapsDir, { recursive: true });
480
+ transportMapSvgPath = join(mapsDir, `transport-map-${Date.now()}.svg`);
481
+ writeFileSync(transportMapSvgPath, transportMap.svg);
482
+ // Enhance analysis summary with transport map data
483
+ const hotspotSummary = transportMap.hotspots.length > 0
484
+ ? ` | Hotspots: ${transportMap.hotspots.map(h => h.description).join('; ')}`
485
+ : '';
486
+ const threshold = options.threshold || 0.85;
487
+ const passed = analysis.similarityScore >= threshold;
488
+ return {
489
+ baselineName,
490
+ url,
491
+ passed,
492
+ analysis: {
493
+ ...analysis,
494
+ summary: analysis.summary + hotspotSummary,
495
+ rawAnalysis: (analysis.rawAnalysis || '') + ` | Transport map: ${transportMap.flows.length} flows, ${transportMap.hotspots.length} hotspots, cost ${transportMap.totalCost.toFixed(4)}, ${transportMap.computeTimeMs.toFixed(0)}ms`,
496
+ },
497
+ baselineScreenshot,
498
+ currentScreenshot: currentPath,
499
+ timestamp: new Date().toISOString(),
500
+ transportMap,
501
+ transportMapSvgPath,
502
+ };
503
+ }
153
504
  /**
154
505
  * Analyze visual differences using AI
155
506
  */
@@ -225,9 +576,11 @@ Respond ONLY with the JSON, no other text.`;
225
576
  { type: "base64", media_type: "image/png", data: currentImage },
226
577
  ],
227
578
  }));
228
- // For now, perform a heuristic comparison since we can't easily call Claude with images
229
- // This can be enhanced when proper API integration is available
230
- const analysis = performHeuristicAnalysis(baselinePath, currentPath, options);
579
+ // Use Wasserstein-enhanced analysis (v18.0.0) with byte-diff fallback
580
+ const distanceMetric = options.distanceMetric || 'wasserstein';
581
+ const analysis = distanceMetric === 'wasserstein' || distanceMetric === 'combined'
582
+ ? await performWassersteinAnalysis(baselinePath, currentPath, options).catch(() => performHeuristicAnalysis(baselinePath, currentPath, options))
583
+ : performHeuristicAnalysis(baselinePath, currentPath, options);
231
584
  // Clean up
232
585
  if (existsSync(requestPath)) {
233
586
  unlinkSync(requestPath);
@@ -238,8 +591,13 @@ Respond ONLY with the JSON, no other text.`;
238
591
  catch (e) {
239
592
  console.debug(`[CBrowser] AI visual analysis failed, using heuristics: ${e.message}`);
240
593
  }
241
- // Fallback: Heuristic analysis based on file comparison
242
- return performHeuristicAnalysis(baselinePath, currentPath, options);
594
+ // Fallback: Use Wasserstein if available, byte-diff otherwise
595
+ try {
596
+ return await performWassersteinAnalysis(baselinePath, currentPath, options);
597
+ }
598
+ catch {
599
+ return performHeuristicAnalysis(baselinePath, currentPath, options);
600
+ }
243
601
  }
244
602
  /**
245
603
  * Perform heuristic visual analysis when AI is not available.
@@ -370,6 +728,106 @@ function performHeuristicAnalysis(baselinePath, currentPath, options = {}) {
370
728
  rawAnalysis: "Byte-level PNG comparison (AI analysis not available)",
371
729
  };
372
730
  }
731
+ /**
732
+ * Perform Wasserstein-enhanced visual analysis.
733
+ * Uses Sliced Wasserstein Distance for robust comparison that handles
734
+ * sub-pixel shifts, anti-aliasing, and font rendering differences.
735
+ *
736
+ * @since v18.0.0
737
+ * @see https://github.com/alexandriashai/cbrowser/issues/158
738
+ */
739
+ async function performWassersteinAnalysis(baselinePath, currentPath, options = {}) {
740
+ const result = await computeCombinedDistance(baselinePath, currentPath, { byteDiff: 0.2, wasserstein: 0.8 }, {
741
+ numProjections: 64,
742
+ compareMode: 'combined',
743
+ downscale: 0.5,
744
+ ignoreRegions: options.ignoreRegions,
745
+ ...options.wassersteinConfig,
746
+ });
747
+ const similarityScore = Math.round(result.normalizedScore * 100) / 100;
748
+ const changes = [];
749
+ let overallStatus = "pass";
750
+ if (similarityScore < 0.7) {
751
+ changes.push({
752
+ type: "layout",
753
+ severity: "breaking",
754
+ region: { x: 0, y: 0, width: 1920, height: 1080 },
755
+ description: `Significant visual differences detected (Wasserstein distance: ${result.distance.toFixed(4)})`,
756
+ reasoning: "Optimal transport analysis shows substantial redistribution of visual content",
757
+ confidence: 0.9,
758
+ suggestion: "Review the visual changes manually — layout or content has materially changed",
759
+ });
760
+ overallStatus = "fail";
761
+ }
762
+ else if (similarityScore < 0.85) {
763
+ changes.push({
764
+ type: "content",
765
+ severity: "warning",
766
+ region: { x: 0, y: 0, width: 1920, height: 1080 },
767
+ description: `Moderate visual differences detected (Wasserstein distance: ${result.distance.toFixed(4)})`,
768
+ reasoning: "Optimal transport analysis shows meaningful visual distribution change",
769
+ confidence: 0.85,
770
+ suggestion: "Review to confirm changes are expected",
771
+ });
772
+ overallStatus = "warning";
773
+ }
774
+ else if (similarityScore < 0.98) {
775
+ changes.push({
776
+ type: "style",
777
+ severity: "info",
778
+ region: { x: 0, y: 0, width: 1920, height: 1080 },
779
+ description: `Minor visual differences detected (Wasserstein distance: ${result.distance.toFixed(4)})`,
780
+ reasoning: "Sub-pixel or rendering engine differences — within normal variation",
781
+ confidence: 0.8,
782
+ });
783
+ }
784
+ // Sensitivity adjustments
785
+ if (options.sensitivity === "low" && overallStatus === "warning") {
786
+ overallStatus = "pass";
787
+ }
788
+ else if (options.sensitivity === "high" && changes.length === 0 && result.distance > 0.001) {
789
+ changes.push({
790
+ type: "style",
791
+ severity: "info",
792
+ region: { x: 0, y: 0, width: 1920, height: 1080 },
793
+ description: "Very minor visual change detected by Wasserstein analysis",
794
+ reasoning: "Slight distribution shift detected at high sensitivity",
795
+ confidence: 0.5,
796
+ });
797
+ overallStatus = "warning";
798
+ }
799
+ // Cross-browser: Wasserstein naturally handles font rendering differences
800
+ // much better than byte-diff, so thresholds are less aggressive
801
+ if (options.crossBrowser) {
802
+ if (overallStatus === "fail" && similarityScore >= 0.55) {
803
+ overallStatus = "warning";
804
+ if (changes.length > 0) {
805
+ changes[0].severity = "warning";
806
+ changes[0].reasoning = "Cross-browser rendering differences (Wasserstein is robust to font/anti-aliasing variation)";
807
+ }
808
+ }
809
+ if (overallStatus === "warning" && similarityScore >= 0.70) {
810
+ overallStatus = "pass";
811
+ if (changes.length > 0) {
812
+ changes[0].severity = "acceptable";
813
+ }
814
+ }
815
+ }
816
+ const channelInfo = result.details.channelDistances
817
+ ? ` | R: ${result.details.channelDistances.r.toFixed(4)}, G: ${result.details.channelDistances.g.toFixed(4)}, B: ${result.details.channelDistances.b.toFixed(4)}, Spatial: ${result.details.channelDistances.spatial.toFixed(4)}`
818
+ : '';
819
+ return {
820
+ overallStatus,
821
+ summary: changes.length === 0
822
+ ? `No significant visual changes detected (Wasserstein similarity: ${similarityScore})`
823
+ : `Found ${changes.length} visual change(s) with ${overallStatus} status`,
824
+ changes,
825
+ similarityScore,
826
+ productionReady: overallStatus !== "fail",
827
+ confidence: 0.9, // Higher than byte-diff (0.75) — Wasserstein is more robust
828
+ rawAnalysis: `Sliced Wasserstein Distance analysis (${result.details.numProjections} projections, ${result.details.computeTimeMs?.toFixed(0)}ms)${channelInfo}`,
829
+ };
830
+ }
373
831
  /**
374
832
  * Run visual regression test against a baseline
375
833
  */
@@ -1 +1 @@
1
- {"version":3,"file":"regression.js","sourceRoot":"","sources":["../../src/visual/regression.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"regression.js","sourceRoot":"","sources":["../../src/visual/regression.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cbrowser",
3
- "version": "18.24.0",
3
+ "version": "18.25.1",
4
4
  "type": "module",
5
5
  "description": "Cognitive browser automation that thinks like your users—and helps AI agents navigate too. Simulate real user cognition with abandonment detection, constitutional safety, chaos engineering, and UX friction discovery. Sites that pass CBrowser's cognitive tests are easier for both humans and AI agents to navigate.",
6
6
  "main": "dist/index.js",
@@ -129,6 +129,7 @@
129
129
  "jose": "^6.1.3",
130
130
  "mcp-guardian": "^2.2.1",
131
131
  "playwright": "^1.40.0",
132
+ "sharp": "^0.34.5",
132
133
  "zod": "^4.3.6"
133
134
  },
134
135
  "devDependencies": {