cbrowser 20.0.2 → 20.0.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.
Files changed (30) hide show
  1. package/dist/analysis/accessibility-empathy.d.ts.map +1 -1
  2. package/dist/analysis/accessibility-empathy.js +15 -16
  3. package/dist/analysis/accessibility-empathy.js.map +1 -1
  4. package/dist/help-format.d.ts.map +1 -1
  5. package/dist/help-format.js +4 -0
  6. package/dist/help-format.js.map +1 -1
  7. package/dist/mcp-tools/base/audit-tools.d.ts.map +1 -1
  8. package/dist/mcp-tools/base/audit-tools.js +7 -8
  9. package/dist/mcp-tools/base/audit-tools.js.map +1 -1
  10. package/dist/mcp-tools/base/gif-tools.d.ts.map +1 -1
  11. package/dist/mcp-tools/base/gif-tools.js +11 -17
  12. package/dist/mcp-tools/base/gif-tools.js.map +1 -1
  13. package/dist/mcp-tools/base/persona-comparison-tools.d.ts.map +1 -1
  14. package/dist/mcp-tools/base/persona-comparison-tools.js +18 -16
  15. package/dist/mcp-tools/base/persona-comparison-tools.js.map +1 -1
  16. package/dist/mcp-tools/base/visual-testing-tools.d.ts +8 -0
  17. package/dist/mcp-tools/base/visual-testing-tools.d.ts.map +1 -1
  18. package/dist/mcp-tools/base/visual-testing-tools.js +26 -17
  19. package/dist/mcp-tools/base/visual-testing-tools.js.map +1 -1
  20. package/dist/temp-files.d.ts +45 -0
  21. package/dist/temp-files.d.ts.map +1 -0
  22. package/dist/temp-files.js +70 -0
  23. package/dist/temp-files.js.map +1 -0
  24. package/dist/visual/cross-browser.d.ts.map +1 -1
  25. package/dist/visual/cross-browser.js +12 -3
  26. package/dist/visual/cross-browser.js.map +1 -1
  27. package/dist/visual/perceptual-transport.d.ts.map +1 -1
  28. package/dist/visual/perceptual-transport.js +19 -23
  29. package/dist/visual/perceptual-transport.js.map +1 -1
  30. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"accessibility-empathy.d.ts","sourceRoot":"","sources":["../../src/analysis/accessibility-empathy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoCH,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EAEnB,oBAAoB,EAEpB,4BAA4B,EAK7B,MAAM,aAAa,CAAC;AA8OrB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS;IAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,4BAA4B,CAAA;CAAE,EAChH,QAAQ,EAAE,CAAC,EAAE,EACb,UAAU,EAAE,GAAG,GAAG,IAAI,GAAG,KAAK,GAC7B;IAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAAC,UAAU,EAAE,KAAK,CAAC,CAAC,GAAG;QAAE,eAAe,EAAE,IAAI,CAAC;QAAC,kBAAkB,EAAE,GAAG,GAAG,IAAI,GAAG,KAAK,CAAA;KAAE,CAAC,CAAA;CAAE,CAmB3G;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS;IAAE,IAAI,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,EACnH,QAAQ,EAAE,CAAC,EAAE,EACb,QAAQ,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAWhC;AA4iFD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAuG3E;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CA2UjF;AAsBD,0EAA0E;AAC1E,wBAAgB,mBAAmB,CAAC,CAAC,EAAE;IAAE,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAGhF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,GAAG,MAAM,CAE9E;AAmKD;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAmB,CAAC;AAE/E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,KAAK,CAAC;IAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,EAC7E,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,EAChC,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,EACnC,SAAS,EAAE,GAAG,GAAG,IAAI,GAAG,KAAK,GAC5B,MAAM,EAAE,CAkBV;AAED,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CAmY7B"}
1
+ {"version":3,"file":"accessibility-empathy.d.ts","sourceRoot":"","sources":["../../src/analysis/accessibility-empathy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoCH,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EAEnB,oBAAoB,EAEpB,4BAA4B,EAK7B,MAAM,aAAa,CAAC;AA+OrB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS;IAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,4BAA4B,CAAA;CAAE,EAChH,QAAQ,EAAE,CAAC,EAAE,EACb,UAAU,EAAE,GAAG,GAAG,IAAI,GAAG,KAAK,GAC7B;IAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAAC,UAAU,EAAE,KAAK,CAAC,CAAC,GAAG;QAAE,eAAe,EAAE,IAAI,CAAC;QAAC,kBAAkB,EAAE,GAAG,GAAG,IAAI,GAAG,KAAK,CAAA;KAAE,CAAC,CAAA;CAAE,CAmB3G;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS;IAAE,IAAI,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,EACnH,QAAQ,EAAE,CAAC,EAAE,EACb,QAAQ,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAWhC;AA4iFD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAuG3E;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CA2UjF;AAsBD,0EAA0E;AAC1E,wBAAgB,mBAAmB,CAAC,CAAC,EAAE;IAAE,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAGhF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,GAAG,MAAM,CAE9E;AAmKD;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAmB,CAAC;AAE/E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,KAAK,CAAC;IAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,EAC7E,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,EAChC,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,EACnC,SAAS,EAAE,GAAG,GAAG,IAAI,GAAG,KAAK,GAC5B,MAAM,EAAE,CAkBV;AAED,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CAqY7B"}
@@ -14,6 +14,7 @@ import { buildOTCognitiveProfile, estimateCognitiveLoad, extractPageMetrics, } f
14
14
  import { bridgeCapacityTraits } from "../visual/cognitive-models.js";
15
15
  import { analyzeAttention, } from "../visual/attention-transport.js";
16
16
  import { getEmotionVisualizationStyles, generateEmotionVisualizationSection, } from "../utils.js";
17
+ import { makeTempDir } from "../temp-files.js";
17
18
  // ============================================================================
18
19
  // WCAG Mapping
19
20
  // ============================================================================
@@ -3379,11 +3380,12 @@ export async function runEmpathyAudit(url, options) {
3379
3380
  const result = await simulateAccessibilityJourney(page, url, goal, resolvedPersona, auditScope, maxSteps, maxTime, wcagLevel);
3380
3381
  // v18.28.0: Run attention analysis FIRST so we can pass page-specific data to perceptual transport
3381
3382
  let attentionData;
3383
+ // This call's own temp dir, not a clock-named file in the shared one:
3384
+ // concurrent audits read each other's screenshots (src/temp-files.ts).
3385
+ let attnTemp;
3382
3386
  try {
3383
- const { join: joinAttn } = await import("path");
3384
- const { tmpdir: tmpdirAttn } = await import("os");
3385
- const { unlinkSync: ulAttn } = await import("fs");
3386
- const attnScreenshot = joinAttn(tmpdirAttn(), `empathy-attn-${Date.now()}.png`);
3387
+ attnTemp = await makeTempDir("empathy-attn");
3388
+ const attnScreenshot = attnTemp.file("page.png");
3387
3389
  await page.screenshot({ path: attnScreenshot, fullPage: false });
3388
3390
  const attnAnalysis = await analyzeAttention(attnScreenshot, personaName, 16);
3389
3391
  attentionData = {
@@ -3410,21 +3412,19 @@ export async function runEmpathyAudit(url, options) {
3410
3412
  computeTimeMs: Math.round(attnAnalysis.computeTimeMs),
3411
3413
  gridCellPx: 16,
3412
3414
  };
3413
- try {
3414
- ulAttn(attnScreenshot);
3415
- }
3416
- catch { }
3417
3415
  }
3418
3416
  catch (e) {
3419
3417
  console.debug(`[empathy_audit] Attention analysis failed: ${e.message}`);
3420
3418
  }
3419
+ finally {
3420
+ await attnTemp?.remove();
3421
+ }
3421
3422
  // v18.26.0: Screenshot-based perceptual transport analysis
3422
3423
  // Now receives attention data for page-specific differentiation
3424
+ let shotTemp;
3423
3425
  try {
3424
- const { join } = await import("path");
3425
- const { tmpdir } = await import("os");
3426
- const { unlinkSync } = await import("fs");
3427
- const screenshotPath = join(tmpdir(), `empathy-screenshot-${Date.now()}.png`);
3426
+ shotTemp = await makeTempDir("empathy-screenshot");
3427
+ const screenshotPath = shotTemp.file("page.png");
3428
3428
  await page.screenshot({ path: screenshotPath, fullPage: false });
3429
3429
  const perceptualAnalysis = await analyzePerceptualTransport(screenshotPath, personaName, attentionData, resolvedPersona.accessibilityTraits);
3430
3430
  // Attach perceptual metrics to the result
@@ -3464,15 +3464,14 @@ export async function runEmpathyAudit(url, options) {
3464
3464
  `perceptual ${perceptualAnalysis.perceptualScore} x 0.3. ` +
3465
3465
  `The deductions above explain the barrier-only score, not the headline.`;
3466
3466
  }
3467
- try {
3468
- unlinkSync(screenshotPath);
3469
- }
3470
- catch { }
3471
3467
  }
3472
3468
  catch (e) {
3473
3469
  // Perceptual analysis is optional — don't fail the audit if it errors
3474
3470
  console.debug(`[empathy_audit] Perceptual transport analysis failed: ${e.message}`);
3475
3471
  }
3472
+ finally {
3473
+ await shotTemp?.remove();
3474
+ }
3476
3475
  // v18.27.0: Cognitive load estimation via optimal transport
3477
3476
  try {
3478
3477
  const pageMetrics = await extractPageMetrics(page);