cbrowser 18.78.0 → 18.80.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 (235) hide show
  1. package/dist/analysis/accessibility-empathy.d.ts.map +1 -1
  2. package/dist/analysis/accessibility-empathy.js +395 -66
  3. package/dist/analysis/accessibility-empathy.js.map +1 -1
  4. package/dist/analysis/agent-ready-audit.d.ts.map +1 -1
  5. package/dist/analysis/agent-ready-audit.js +78 -0
  6. package/dist/analysis/agent-ready-audit.js.map +1 -1
  7. package/dist/analysis/page-understanding.d.ts +139 -1
  8. package/dist/analysis/page-understanding.d.ts.map +1 -1
  9. package/dist/analysis/page-understanding.js +179 -12
  10. package/dist/analysis/page-understanding.js.map +1 -1
  11. package/dist/artifact-store.d.ts +19 -5
  12. package/dist/artifact-store.d.ts.map +1 -1
  13. package/dist/artifact-store.js +41 -11
  14. package/dist/artifact-store.js.map +1 -1
  15. package/dist/browser.d.ts +9 -0
  16. package/dist/browser.d.ts.map +1 -1
  17. package/dist/browser.js +81 -5
  18. package/dist/browser.js.map +1 -1
  19. package/dist/cli.js +55 -10
  20. package/dist/cli.js.map +1 -1
  21. package/dist/cognitive/index.d.ts.map +1 -1
  22. package/dist/cognitive/index.js +3 -2
  23. package/dist/cognitive/index.js.map +1 -1
  24. package/dist/config.d.ts +57 -0
  25. package/dist/config.d.ts.map +1 -1
  26. package/dist/config.js +234 -7
  27. package/dist/config.js.map +1 -1
  28. package/dist/index.js +1 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/mcp-server-remote.d.ts.map +1 -1
  31. package/dist/mcp-server-remote.js +108 -4
  32. package/dist/mcp-server-remote.js.map +1 -1
  33. package/dist/mcp-server.d.ts.map +1 -1
  34. package/dist/mcp-server.js +62 -938
  35. package/dist/mcp-server.js.map +1 -1
  36. package/dist/mcp-tools/account-personas.d.ts +41 -0
  37. package/dist/mcp-tools/account-personas.d.ts.map +1 -0
  38. package/dist/mcp-tools/account-personas.js +98 -0
  39. package/dist/mcp-tools/account-personas.js.map +1 -0
  40. package/dist/mcp-tools/base/analysis-tools.d.ts.map +1 -1
  41. package/dist/mcp-tools/base/analysis-tools.js +12 -2
  42. package/dist/mcp-tools/base/analysis-tools.js.map +1 -1
  43. package/dist/mcp-tools/base/artifact-tools.d.ts +3 -0
  44. package/dist/mcp-tools/base/artifact-tools.d.ts.map +1 -0
  45. package/dist/mcp-tools/base/artifact-tools.js +78 -0
  46. package/dist/mcp-tools/base/artifact-tools.js.map +1 -0
  47. package/dist/mcp-tools/base/audit-tools.d.ts +11 -0
  48. package/dist/mcp-tools/base/audit-tools.d.ts.map +1 -1
  49. package/dist/mcp-tools/base/audit-tools.js +595 -340
  50. package/dist/mcp-tools/base/audit-tools.js.map +1 -1
  51. package/dist/mcp-tools/base/browser-management-tools.d.ts.map +1 -1
  52. package/dist/mcp-tools/base/browser-management-tools.js +18 -0
  53. package/dist/mcp-tools/base/browser-management-tools.js.map +1 -1
  54. package/dist/mcp-tools/base/bug-analysis-tools.d.ts.map +1 -1
  55. package/dist/mcp-tools/base/bug-analysis-tools.js +59 -3
  56. package/dist/mcp-tools/base/bug-analysis-tools.js.map +1 -1
  57. package/dist/mcp-tools/base/capture-tools.d.ts +37 -0
  58. package/dist/mcp-tools/base/capture-tools.d.ts.map +1 -1
  59. package/dist/mcp-tools/base/capture-tools.js +267 -6
  60. package/dist/mcp-tools/base/capture-tools.js.map +1 -1
  61. package/dist/mcp-tools/base/cognitive-tools.d.ts +12 -0
  62. package/dist/mcp-tools/base/cognitive-tools.d.ts.map +1 -1
  63. package/dist/mcp-tools/base/cognitive-tools.js +63 -15
  64. package/dist/mcp-tools/base/cognitive-tools.js.map +1 -1
  65. package/dist/mcp-tools/base/extraction-tools.d.ts.map +1 -1
  66. package/dist/mcp-tools/base/extraction-tools.js +33 -2
  67. package/dist/mcp-tools/base/extraction-tools.js.map +1 -1
  68. package/dist/mcp-tools/base/index.d.ts +2 -0
  69. package/dist/mcp-tools/base/index.d.ts.map +1 -1
  70. package/dist/mcp-tools/base/index.js +9 -0
  71. package/dist/mcp-tools/base/index.js.map +1 -1
  72. package/dist/mcp-tools/base/marketing-tools.js +3 -3
  73. package/dist/mcp-tools/base/marketing-tools.js.map +1 -1
  74. package/dist/mcp-tools/base/persona-comparison-tools.d.ts.map +1 -1
  75. package/dist/mcp-tools/base/persona-comparison-tools.js +529 -40
  76. package/dist/mcp-tools/base/persona-comparison-tools.js.map +1 -1
  77. package/dist/mcp-tools/base/site-knowledge-tools.d.ts.map +1 -1
  78. package/dist/mcp-tools/base/site-knowledge-tools.js +36 -3
  79. package/dist/mcp-tools/base/site-knowledge-tools.js.map +1 -1
  80. package/dist/mcp-tools/base/values-tools.d.ts +113 -0
  81. package/dist/mcp-tools/base/values-tools.d.ts.map +1 -1
  82. package/dist/mcp-tools/base/values-tools.js +868 -78
  83. package/dist/mcp-tools/base/values-tools.js.map +1 -1
  84. package/dist/mcp-tools/base/visual-testing-tools.d.ts.map +1 -1
  85. package/dist/mcp-tools/base/visual-testing-tools.js +130 -10
  86. package/dist/mcp-tools/base/visual-testing-tools.js.map +1 -1
  87. package/dist/mcp-tools/index.d.ts +3 -1
  88. package/dist/mcp-tools/index.d.ts.map +1 -1
  89. package/dist/mcp-tools/index.js +3 -28
  90. package/dist/mcp-tools/index.js.map +1 -1
  91. package/dist/mcp-tools/persona-creation-tools.d.ts.map +1 -1
  92. package/dist/mcp-tools/persona-creation-tools.js +363 -20
  93. package/dist/mcp-tools/persona-creation-tools.js.map +1 -1
  94. package/dist/mcp-tools/persona-lifecycle-tools.d.ts +3 -0
  95. package/dist/mcp-tools/persona-lifecycle-tools.d.ts.map +1 -0
  96. package/dist/mcp-tools/persona-lifecycle-tools.js +406 -0
  97. package/dist/mcp-tools/persona-lifecycle-tools.js.map +1 -0
  98. package/dist/mcp-tools/screenshot-utils.d.ts.map +1 -1
  99. package/dist/mcp-tools/screenshot-utils.js +56 -10
  100. package/dist/mcp-tools/screenshot-utils.js.map +1 -1
  101. package/dist/mcp-tools/tier-gate.js +2 -2
  102. package/dist/mcp-tools/tier-gate.js.map +1 -1
  103. package/dist/mcp-tools/tool-categories.d.ts.map +1 -1
  104. package/dist/mcp-tools/tool-categories.js +4 -1
  105. package/dist/mcp-tools/tool-categories.js.map +1 -1
  106. package/dist/mcp-tools/ui-resources.d.ts +167 -0
  107. package/dist/mcp-tools/ui-resources.d.ts.map +1 -0
  108. package/dist/mcp-tools/ui-resources.js +707 -0
  109. package/dist/mcp-tools/ui-resources.js.map +1 -0
  110. package/dist/mcp-tools/widget-kit.d.ts +299 -0
  111. package/dist/mcp-tools/widget-kit.d.ts.map +1 -0
  112. package/dist/mcp-tools/widget-kit.js +2034 -0
  113. package/dist/mcp-tools/widget-kit.js.map +1 -0
  114. package/dist/mcp-ui-resources.d.ts.map +1 -1
  115. package/dist/mcp-ui-resources.js +14 -4
  116. package/dist/mcp-ui-resources.js.map +1 -1
  117. package/dist/persona-questionnaire.d.ts +69 -1
  118. package/dist/persona-questionnaire.d.ts.map +1 -1
  119. package/dist/persona-questionnaire.js +177 -76
  120. package/dist/persona-questionnaire.js.map +1 -1
  121. package/dist/persona-scope.d.ts +20 -0
  122. package/dist/persona-scope.d.ts.map +1 -0
  123. package/dist/persona-scope.js +59 -0
  124. package/dist/persona-scope.js.map +1 -0
  125. package/dist/personas.d.ts +51 -17
  126. package/dist/personas.d.ts.map +1 -1
  127. package/dist/personas.js +947 -286
  128. package/dist/personas.js.map +1 -1
  129. package/dist/recording/capture-player.d.ts +68 -0
  130. package/dist/recording/capture-player.d.ts.map +1 -0
  131. package/dist/recording/capture-player.js +298 -0
  132. package/dist/recording/capture-player.js.map +1 -0
  133. package/dist/recording/engine.d.ts +52 -0
  134. package/dist/recording/engine.d.ts.map +1 -1
  135. package/dist/recording/engine.js +241 -3
  136. package/dist/recording/engine.js.map +1 -1
  137. package/dist/recording/inline-player.d.ts +39 -0
  138. package/dist/recording/inline-player.d.ts.map +1 -0
  139. package/dist/recording/inline-player.js +272 -0
  140. package/dist/recording/inline-player.js.map +1 -0
  141. package/dist/recording/saliency-overlay.d.ts +133 -0
  142. package/dist/recording/saliency-overlay.d.ts.map +1 -0
  143. package/dist/recording/saliency-overlay.js +360 -0
  144. package/dist/recording/saliency-overlay.js.map +1 -0
  145. package/dist/recording/types.d.ts +32 -0
  146. package/dist/recording/types.d.ts.map +1 -1
  147. package/dist/recording/types.js +46 -0
  148. package/dist/recording/types.js.map +1 -1
  149. package/dist/site-model/manager.d.ts +20 -0
  150. package/dist/site-model/manager.d.ts.map +1 -1
  151. package/dist/site-model/manager.js +52 -0
  152. package/dist/site-model/manager.js.map +1 -1
  153. package/dist/trait-reference.d.ts +26 -2
  154. package/dist/trait-reference.d.ts.map +1 -1
  155. package/dist/trait-reference.js +129 -19
  156. package/dist/trait-reference.js.map +1 -1
  157. package/dist/types.d.ts +105 -18
  158. package/dist/types.d.ts.map +1 -1
  159. package/dist/types.js.map +1 -1
  160. package/dist/url-resolution.d.ts +58 -0
  161. package/dist/url-resolution.d.ts.map +1 -0
  162. package/dist/url-resolution.js +143 -0
  163. package/dist/url-resolution.js.map +1 -0
  164. package/dist/values/big-five-inference.d.ts +121 -0
  165. package/dist/values/big-five-inference.d.ts.map +1 -0
  166. package/dist/values/big-five-inference.js +241 -0
  167. package/dist/values/big-five-inference.js.map +1 -0
  168. package/dist/values/big-five-values.d.ts +76 -0
  169. package/dist/values/big-five-values.d.ts.map +1 -0
  170. package/dist/values/big-five-values.js +152 -0
  171. package/dist/values/big-five-values.js.map +1 -0
  172. package/dist/values/index.d.ts +1 -1
  173. package/dist/values/index.d.ts.map +1 -1
  174. package/dist/values/index.js +1 -1
  175. package/dist/values/index.js.map +1 -1
  176. package/dist/values/persona-completeness.d.ts +91 -0
  177. package/dist/values/persona-completeness.d.ts.map +1 -0
  178. package/dist/values/persona-completeness.js +114 -0
  179. package/dist/values/persona-completeness.js.map +1 -0
  180. package/dist/values/persona-diff.d.ts +50 -0
  181. package/dist/values/persona-diff.d.ts.map +1 -0
  182. package/dist/values/persona-diff.js +126 -0
  183. package/dist/values/persona-diff.js.map +1 -0
  184. package/dist/values/persona-values.d.ts +16 -0
  185. package/dist/values/persona-values.d.ts.map +1 -1
  186. package/dist/values/persona-values.js +33 -0
  187. package/dist/values/persona-values.js.map +1 -1
  188. package/dist/values/schwartz-values.d.ts +9 -1
  189. package/dist/values/schwartz-values.d.ts.map +1 -1
  190. package/dist/values/schwartz-values.js +10 -2
  191. package/dist/values/schwartz-values.js.map +1 -1
  192. package/dist/values/value-mappings.d.ts +41 -2
  193. package/dist/values/value-mappings.d.ts.map +1 -1
  194. package/dist/values/value-mappings.js +65 -8
  195. package/dist/values/value-mappings.js.map +1 -1
  196. package/dist/visual/attention-quality.d.ts +27 -0
  197. package/dist/visual/attention-quality.d.ts.map +1 -1
  198. package/dist/visual/attention-quality.js +164 -2
  199. package/dist/visual/attention-quality.js.map +1 -1
  200. package/dist/visual/attention-transport.d.ts +41 -2
  201. package/dist/visual/attention-transport.d.ts.map +1 -1
  202. package/dist/visual/attention-transport.js +98 -26
  203. package/dist/visual/attention-transport.js.map +1 -1
  204. package/dist/visual/barrier-overlay-html.d.ts +10 -0
  205. package/dist/visual/barrier-overlay-html.d.ts.map +1 -1
  206. package/dist/visual/barrier-overlay-html.js.map +1 -1
  207. package/dist/visual/cognitive-models.d.ts +109 -13
  208. package/dist/visual/cognitive-models.d.ts.map +1 -1
  209. package/dist/visual/cognitive-models.js +166 -3
  210. package/dist/visual/cognitive-models.js.map +1 -1
  211. package/dist/visual/cognitive-transport-chain.d.ts +149 -5
  212. package/dist/visual/cognitive-transport-chain.d.ts.map +1 -1
  213. package/dist/visual/cognitive-transport-chain.js +558 -30
  214. package/dist/visual/cognitive-transport-chain.js.map +1 -1
  215. package/dist/visual/cognitive-transport.d.ts +45 -3
  216. package/dist/visual/cognitive-transport.d.ts.map +1 -1
  217. package/dist/visual/cognitive-transport.js +126 -12
  218. package/dist/visual/cognitive-transport.js.map +1 -1
  219. package/dist/visual/fixation-corpus.d.ts +52 -0
  220. package/dist/visual/fixation-corpus.d.ts.map +1 -1
  221. package/dist/visual/fixation-corpus.js +95 -0
  222. package/dist/visual/fixation-corpus.js.map +1 -1
  223. package/dist/visual/llm-relevance.d.ts +193 -0
  224. package/dist/visual/llm-relevance.d.ts.map +1 -0
  225. package/dist/visual/llm-relevance.js +480 -0
  226. package/dist/visual/llm-relevance.js.map +1 -0
  227. package/dist/visual/perceptual-transport.d.ts +60 -0
  228. package/dist/visual/perceptual-transport.d.ts.map +1 -1
  229. package/dist/visual/perceptual-transport.js +228 -19
  230. package/dist/visual/perceptual-transport.js.map +1 -1
  231. package/dist/visual/persona-context.d.ts +23 -0
  232. package/dist/visual/persona-context.d.ts.map +1 -0
  233. package/dist/visual/persona-context.js +44 -0
  234. package/dist/visual/persona-context.js.map +1 -0
  235. package/package.json +2 -1
@@ -13,6 +13,11 @@
13
13
  * @see https://github.com/alexandriashai/cbrowser/issues/158
14
14
  */
15
15
  import { computeWassersteinDistance } from './distance-metrics.js';
16
+ /**
17
+ * Asymptotic ceiling for a single susceptibility bucket's deduction. Buckets
18
+ * approach it and never reach it, so no two can max out onto the same value.
19
+ */
20
+ const BARRIER_DEDUCTION_CEILING = 30;
16
21
  // ── Persona Perceptual Profiles ──
17
22
  const PERCEPTUAL_PROFILES = {
18
23
  // Non-disabled baseline personas. These existed conceptually in the persona
@@ -161,6 +166,7 @@ const PERCEPTUAL_PROFILES = {
161
166
  color_only: 2.0, // May not distinguish subtle color differences
162
167
  missing_alt: 2.5, // Relies heavily on alt text
163
168
  missing_label: 2.0, // Relies on labels
169
+ audio_description: 1.5, // Sees the video, loses on-screen detail and text
164
170
  cognitive_load: 1.0,
165
171
  timing: 1.5, // Needs more time to scan magnified view
166
172
  hover_dependent: 1.0,
@@ -248,6 +254,53 @@ const PERCEPTUAL_PROFILES = {
248
254
  noiseTolerance: 0.8,
249
255
  },
250
256
  },
257
+ /**
258
+ * Navigating by audio, not by sight.
259
+ *
260
+ * Absent entirely before, so screen-reader-user fell through to
261
+ * DEFAULT_PROFILE and every barrier weighed a flat 1.0. That is not neutral:
262
+ * with no damping, full deductions applied and the persona scored 2 out of
263
+ * 100 -- worse than any recognised one -- because nothing was weighting the
264
+ * arithmetic, not because the page was worse for them.
265
+ *
266
+ * The weights invert the visual defaults. Touch-target size and contrast are
267
+ * close to irrelevant to someone who never sees the target; missing alt text
268
+ * and missing labels are the whole experience, since they are the only
269
+ * description of an image or control that exists.
270
+ */
271
+ 'screen-reader-user': {
272
+ persona: 'screen-reader-user',
273
+ category: 'vision',
274
+ barrierWeights: {
275
+ missing_alt: 3.0, // The image IS the alt text; without it there is nothing
276
+ missing_label: 3.0, // An unlabelled control is unusable, not just awkward
277
+ audio_description: 3.0, // The only route to a video's visual content
278
+ // Captions transcribe audio this persona can already hear. Near-zero is
279
+ // the honest weight; it read 1.0 while audio description had no key at
280
+ // all, so "add captions" ranked as their top media fix.
281
+ captions: 0.2,
282
+ hover_dependent: 2.5, // Hover has no keyboard or AT equivalent
283
+ timing: 2.0, // Re-reading by audio takes longer than by eye
284
+ form_complexity: 1.8,
285
+ cognitive_load: 1.2, // Linear audio traversal of a busy page is costly
286
+ low_contrast: 0.1, // Not perceived
287
+ color_only: 0.1, // Not perceived
288
+ touch_target: 0.1, // Not pointed at
289
+ },
290
+ visualFilter: {
291
+ contrastThreshold: 0,
292
+ blurRadius: 0,
293
+ colorAttenuation: [1, 1, 1],
294
+ noiseTolerance: 0.8,
295
+ motorCostMultiplier: 1.0,
296
+ // text-focused: the page reaches this persona as text in DOM order.
297
+ // The union has no 'sequential' member and adding one would change a type
298
+ // other code switches on, for a distinction this model does not yet act
299
+ // on -- text-focused is the closest true statement available.
300
+ attentionMode: 'text-focused',
301
+ processingSpeed: 1.0,
302
+ },
303
+ },
251
304
  'deaf-user': {
252
305
  persona: 'deaf-user',
253
306
  category: 'hearing',
@@ -258,6 +311,11 @@ const PERCEPTUAL_PROFILES = {
258
311
  color_only: 0.5,
259
312
  cognitive_load: 0.8,
260
313
  timing: 1.5, // Can't hear audio cues for time limits
314
+ // The criterion this persona exists to surface. Left unweighted it
315
+ // resolved to a neutral 1.0, so an audit run AS a deaf user rated
316
+ // missing captions no higher than anything else on the page.
317
+ captions: 3.0,
318
+ audio_description: 0.1, // Visual content is perceived directly
261
319
  missing_alt: 1.0,
262
320
  missing_label: 1.0,
263
321
  hover_dependent: 0.5,
@@ -285,6 +343,7 @@ const PERCEPTUAL_PROFILES = {
285
343
  color_only: 1.5,
286
344
  missing_alt: 1.5,
287
345
  missing_label: 2.0,
346
+ audio_description: 1.5,
288
347
  hover_dependent: 1.5,
289
348
  },
290
349
  visualFilter: {
@@ -342,6 +401,10 @@ export function getPerceptualProfile(personaName, accessibilityTraits) {
342
401
  if (name.includes('adhd') || name.includes('cognitive') || name.includes('dyslexic')) {
343
402
  return { ...PERCEPTUAL_PROFILES['cognitive-adhd'], persona: personaName };
344
403
  }
404
+ if (name.includes('screen-reader') || name.includes('screenreader')
405
+ || name.includes('nvda') || name.includes('jaws') || name.includes('voiceover')) {
406
+ return { ...PERCEPTUAL_PROFILES['screen-reader-user'], persona: personaName };
407
+ }
345
408
  if (name.includes('deaf') || name.includes('hearing')) {
346
409
  return { ...PERCEPTUAL_PROFILES['deaf-user'], persona: personaName };
347
410
  }
@@ -426,23 +489,35 @@ export function calculatePerceptualScore(barriers, frictionPoints, goalAchieved,
426
489
  const deductions = {};
427
490
  /** Per-barrier-type susceptibility weight actually applied for this persona. */
428
491
  const appliedWeights = {};
429
- // Group barriers by type
430
- const byType = new Map();
492
+ // Grouped by the susceptibility key that WEIGHTS them, not by the detector's
493
+ // type label.
494
+ //
495
+ // Grouping by type meant one weight for the whole bucket, and "sensory"
496
+ // holds barriers that could not be more different for the same person:
497
+ // missing alt text (3.0 for a screen-reader user), missing audio description
498
+ // (3.0), missing captions (0.2) and colour-only information (0.1). The
499
+ // type-level lookup resolved sensory to colour-only, so the two findings
500
+ // ranked #1 and #2 for that persona -- both critical, both weight 3.0 in the
501
+ // list -- were scored at 0.1 and deducted 4.2 points between them, while
502
+ // hover interaction at 2.5 dominated the score.
503
+ //
504
+ // That left two weighting systems in one payload: per-key weights driving
505
+ // severityForPersona and the ordering, per-type weights driving the
506
+ // arithmetic. They disagreed and the arithmetic used the coarser one.
507
+ // (2026-07-31)
508
+ const byKey = new Map();
431
509
  for (const b of barriers) {
432
- const existing = byType.get(b.type) || [];
510
+ const key = weightKeyFor(b.type, b.wcagCriteria) ?? b.type;
511
+ const existing = byKey.get(key) || [];
433
512
  existing.push(b);
434
- byType.set(b.type, existing);
513
+ byKey.set(key, existing);
435
514
  }
436
- // Map detector-emitted barrier type keys to profile weight keys
437
- const BARRIER_KEY_MAP = {
438
- 'contrast': 'low_contrast',
439
- 'sensory': 'color_only',
440
- 'motor_precision': 'hover_dependent',
441
- 'visual_clarity': 'low_contrast',
442
- };
443
515
  // Apply persona-weighted deductions
444
- for (const [type, typeBarriers] of byType) {
445
- const weightKey = BARRIER_KEY_MAP[type] || type;
516
+ for (const [weightKey, typeBarriers] of byKey) {
517
+ // The group key IS the susceptibility key, resolved by the same
518
+ // weightKeyFor the payload reports as personaWeightKey. Scoring and
519
+ // display therefore cannot disagree: there is one lookup, one table, one
520
+ // answer per barrier. (2026-07-31)
446
521
  const weight = profile.barrierWeights[weightKey] ?? 1.0;
447
522
  const critical = typeBarriers.filter(b => b.severity === 'critical').length;
448
523
  const major = typeBarriers.filter(b => b.severity === 'major').length;
@@ -453,10 +528,25 @@ export function calculatePerceptualScore(barriers, frictionPoints, goalAchieved,
453
528
  const minorBase = Math.min(8, minor > 0 ? 3 + Math.min(minor - 1, 3) * 1.5 : 0);
454
529
  // Apply persona weight — this is the key differentiator
455
530
  const weighted = (criticalBase + majorBase + minorBase) * weight;
456
- // Cap per-type deduction at 35 (even 3x multiplier shouldn't zero out from one type)
457
- const capped = Math.min(35, weighted);
531
+ // Saturating ceiling rather than a hard clip.
532
+ //
533
+ // Math.min(35, weighted) flattened everything above the cap onto the same
534
+ // number. Once deductions were grouped by susceptibility key instead of by
535
+ // type the buckets got much finer, and a single critical barrier at weight
536
+ // 3.0 raws to 45 -- so the clip bound constantly and unequal findings came
537
+ // out equal: one undescribed video (raw 45) and three hover-only controls
538
+ // (raw 62.5) both reported exactly -35.
539
+ //
540
+ // Lowering the clip makes that worse, not better: it binds more often. An
541
+ // exponential approach to the ceiling is strictly increasing, so two
542
+ // buckets are equal only when their raw values are equal. They can get
543
+ // close to the ceiling but never reach it and never collide there. The
544
+ // ceiling also drops 35 -> 30, because finer buckets mean more of them.
545
+ // (2026-07-31)
546
+ const capped = BARRIER_DEDUCTION_CEILING *
547
+ (1 - Math.exp(-weighted / BARRIER_DEDUCTION_CEILING));
458
548
  if (capped > 0) {
459
- deductions[type] = -Math.round(capped * 10) / 10;
549
+ deductions[weightKey] = -Math.round(capped * 10) / 10;
460
550
  // Barriers carry an affectedPersonas list naming a couple of exemplars,
461
551
  // which reads as exclusive next to a deduction charged to some other
462
552
  // persona. It is not a contradiction — susceptibility is applied here as a
@@ -464,7 +554,7 @@ export function calculatePerceptualScore(barriers, frictionPoints, goalAchieved,
464
554
  // motor-impairment-tremor's 3.0). Recording the weight makes the payload
465
555
  // explain its own arithmetic instead of looking self-contradictory.
466
556
  // (2026-07-28)
467
- appliedWeights[type] = weight;
557
+ appliedWeights[weightKey] = weight;
468
558
  score -= capped;
469
559
  }
470
560
  }
@@ -489,9 +579,19 @@ export function calculatePerceptualScore(barriers, frictionPoints, goalAchieved,
489
579
  // Goal penalty scaled by motor cost (harder to reach = harder to achieve)
490
580
  const goalDeduction = goalAchieved ? 0 : 15 * filter.motorCostMultiplier;
491
581
  score -= Math.min(25, goalDeduction);
492
- // Cognitive load penalty based on noise tolerance
582
+ // Persona susceptibility to visual noise, NOT a finding that the page
583
+ // overloaded anyone.
584
+ //
585
+ // Derived from the persona's own noiseTolerance and charged on every page,
586
+ // so it is non-zero for a sensitive persona even on a calm one. The separate
587
+ // `overloaded` flag is a page measurement from cognitive-transport.ts,
588
+ // computed against a threshold. The two disagreeing is expected and not a
589
+ // bug -- but the name said otherwise, and a -7 charge sitting beside
590
+ // "overloaded: false" reads as one of the two being broken.
493
591
  const cognitiveLoad = 1 - filter.noiseTolerance;
494
- const cognitiveOverloadPenalty = cognitiveLoad * 10; // Up to 10 point penalty
592
+ // Rounded at the source. Binary floating point turns 1 - 0.9 into
593
+ // 0.09999999999999998, and that reached a report a customer reads.
594
+ const cognitiveOverloadPenalty = Math.round(cognitiveLoad * 10 * 1000) / 1000;
495
595
  score -= cognitiveOverloadPenalty;
496
596
  // Information loss estimate from filter properties
497
597
  const channelLoss = 1 - (filter.colorAttenuation[0] + filter.colorAttenuation[1] + filter.colorAttenuation[2]) / 3;
@@ -675,4 +775,113 @@ export async function analyzePerceptualTransport(screenshotPath, personaName, at
675
775
  export function listPerceptualProfiles() {
676
776
  return Object.keys(PERCEPTUAL_PROFILES);
677
777
  }
778
+ const SEVERITY_LADDER = ["minor", "major", "critical"];
779
+ export function weightedSeverity(base, weight) {
780
+ const at = SEVERITY_LADDER.indexOf(base);
781
+ if (at < 0)
782
+ return { severity: "minor", shifted: 0 };
783
+ // Thresholds chosen against the real weight table, which clusters at 0.3-0.5
784
+ // for "not my problem", ~1.0 for baseline, and 2.5-3.0 for "this is the one
785
+ // that stops me". Two steps only at the top of that range, so escalation
786
+ // stays rare enough to mean something.
787
+ const shift = weight >= 2.5 ? 2 : weight >= 1.5 ? 1 : weight <= 0.5 ? -1 : 0;
788
+ const idx = Math.max(0, Math.min(SEVERITY_LADDER.length - 1, at + shift));
789
+ return { severity: SEVERITY_LADDER[idx], shifted: idx - at };
790
+ }
791
+ /**
792
+ * Resolve a barrier to the key its susceptibility weight is stored under.
793
+ *
794
+ * The two vocabularies do not match and looking up the raw type silently
795
+ * returned 1.0 for most barriers. Emitted types are sensory, cognitive_load,
796
+ * motor_precision, visual_clarity, visual, motor, touch_target and timing;
797
+ * weights are keyed color_only, missing_alt, low_contrast, touch_target,
798
+ * cognitive_load, timing, missing_label, hover_dependent, form_complexity.
799
+ * Only three overlap, so `sensory` -- the most common type -- always defaulted.
800
+ *
801
+ * That is how a deaf-user audit reported weight 1.0 on a colour-only barrier
802
+ * while the persona's own table says 0.5: the table was right and the lookup
803
+ * never reached it.
804
+ *
805
+ * WCAG criteria are consulted first because they identify the barrier far more
806
+ * precisely than the type does: both a missing alt and a colour-only link are
807
+ * "sensory", and they have opposite susceptibility profiles.
808
+ */
809
+ /**
810
+ * The single map from a detector-emitted barrier type to a profile weight key.
811
+ *
812
+ * Barrier types and susceptibility keys are different vocabularies, and this
813
+ * file used to hold two independent translations between them -- one used to
814
+ * SCORE, one used to DISPLAY the weight that was applied. They disagreed on
815
+ * motor_precision, so an audit reported a 0.1 weight beside a deduction
816
+ * computed at 2.5. Both paths read this now.
817
+ */
818
+ export const BARRIER_TYPE_TO_WEIGHT_KEY = {
819
+ contrast: "low_contrast",
820
+ visual_clarity: "low_contrast",
821
+ visual: "low_contrast",
822
+ sensory: "color_only",
823
+ motor_precision: "hover_dependent",
824
+ motor: "touch_target",
825
+ touch_target: "touch_target",
826
+ cognitive_load: "cognitive_load",
827
+ timing: "timing",
828
+ form_complexity: "form_complexity",
829
+ };
830
+ const WCAG_TO_WEIGHT_KEY = {
831
+ "1.4.1": "color_only",
832
+ "1.1.1": "missing_alt",
833
+ "1.4.3": "low_contrast",
834
+ "1.4.11": "low_contrast",
835
+ "2.5.8": "touch_target",
836
+ "2.5.5": "touch_target",
837
+ "1.2.1": "captions",
838
+ "1.2.2": "captions",
839
+ // Audio description is not captions, and collapsing them made the audit
840
+ // recommend the wrong remedy to the wrong person: captions carry a video's
841
+ // AUDIO to someone who cannot hear, audio description carries its VISUALS to
842
+ // someone who cannot see. Under one key a blind user's top media finding was
843
+ // "add captions" -- a fix that does nothing for them -- while the barrier
844
+ // they actually hit had no criterion of its own. (2026-07-31)
845
+ "1.2.3": "audio_description",
846
+ "1.2.5": "audio_description",
847
+ "2.2.1": "timing",
848
+ "2.2.2": "timing",
849
+ "3.3.2": "missing_label",
850
+ "1.3.1": "missing_label",
851
+ };
852
+ const TYPE_TO_WEIGHT_KEY = BARRIER_TYPE_TO_WEIGHT_KEY;
853
+ export function weightKeyFor(barrierType, wcagCriteria) {
854
+ for (const c of wcagCriteria ?? []) {
855
+ const k = WCAG_TO_WEIGHT_KEY[c];
856
+ if (k)
857
+ return k;
858
+ }
859
+ return TYPE_TO_WEIGHT_KEY[barrierType] ?? null;
860
+ }
861
+ /**
862
+ * Susceptibility weight for a barrier, and whether it was actually found.
863
+ *
864
+ * `defaulted` matters: an unmeasured 1.0 and a measured 1.0 mean different
865
+ * things, and presenting the first as the second is what made a deaf user look
866
+ * maximally susceptible to colour.
867
+ */
868
+ export function barrierWeightFor(personaName, barrierType, wcagCriteria) {
869
+ const key = weightKeyFor(barrierType, wcagCriteria);
870
+ try {
871
+ const profile = getPerceptualProfile(personaName);
872
+ // A profile that resolved to the generic default is not a configured
873
+ // weight, whatever value it holds. DEFAULT_PROFILE carries 1.0 for every
874
+ // key, so an unrecognised persona previously reported defaulted:false on
875
+ // five identical 1.0s -- the field asserted "explicitly configured" about
876
+ // numbers nobody had chosen for that persona.
877
+ const isGeneric = profile.persona === "default";
878
+ const w = key ? profile.barrierWeights?.[key] : undefined;
879
+ if (typeof w === "number" && !isGeneric)
880
+ return { weight: w, key, defaulted: false };
881
+ return { weight: typeof w === "number" ? w : 1.0, key, defaulted: true };
882
+ }
883
+ catch {
884
+ return { weight: 1.0, key, defaulted: true };
885
+ }
886
+ }
678
887
  //# sourceMappingURL=perceptual-transport.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"perceptual-transport.js","sourceRoot":"","sources":["../../src/visual/perceptual-transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"perceptual-transport.js","sourceRoot":"","sources":["../../src/visual/perceptual-transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,0BAA0B,EAA0B,MAAM,uBAAuB,CAAC;AAoD3F;;;GAGG;AACH,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAErC,oCAAoC;AAEpC,MAAM,mBAAmB,GAAsC;IAC7D,4EAA4E;IAC5E,kFAAkF;IAClF,yEAAyE;IACzE,0EAA0E;IAC1E,6EAA6E;IAC7E,0EAA0E;IAC1E,wCAAwC;IACxC,aAAa,EAAE;QACb,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE;YACd,cAAc,EAAE,GAAG,EAAM,wDAAwD;YACjF,eAAe,EAAE,GAAG,EAAK,mDAAmD;YAC5E,MAAM,EAAE,GAAG,EAAc,wCAAwC;YACjE,eAAe,EAAE,GAAG,EAAK,sCAAsC;YAC/D,aAAa,EAAE,GAAG,EAAO,2DAA2D;YACpF,qDAAqD;YACrD,YAAY,EAAE,GAAG,EAAQ,gEAAgE;YACzF,YAAY,EAAE,GAAG,EAAQ,kBAAkB;YAC3C,UAAU,EAAE,GAAG,EAAU,mBAAmB;YAC5C,WAAW,EAAE,GAAG,EAAS,8BAA8B;SACxD;QACD,YAAY,EAAE;YACZ,iBAAiB,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAChE,aAAa,EAAE,SAAS,EAAE,mBAAmB,EAAE,GAAG;YAClD,eAAe,EAAE,GAAG,EAAK,4CAA4C;YACrE,cAAc,EAAE,GAAG,EAAM,uCAAuC;SACjE;KACF;IAED,aAAa,EAAE;QACb,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE;YACd,YAAY,EAAE,GAAG,EAAQ,iDAAiD;YAC1E,eAAe,EAAE,GAAG,EAAK,uCAAuC;YAChE,cAAc,EAAE,GAAG;YACnB,eAAe,EAAE,GAAG,EAAK,qCAAqC;YAC9D,MAAM,EAAE,GAAG;YACX,YAAY,EAAE,GAAG,EAAQ,4CAA4C;YACrE,UAAU,EAAE,GAAG;YACf,WAAW,EAAE,GAAG;YAChB,aAAa,EAAE,GAAG;SACnB;QACD,YAAY,EAAE;YACZ,iBAAiB,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAChE,aAAa,EAAE,cAAc,EAAE,mBAAmB,EAAE,GAAG;YACvD,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG;SAC1C;KACF;IAED,gBAAgB,EAAE;QAChB,OAAO,EAAE,gBAAgB;QACzB,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE;YACd,MAAM,EAAE,GAAG,EAAc,8BAA8B;YACvD,cAAc,EAAE,GAAG,EAAM,6BAA6B;YACtD,eAAe,EAAE,GAAG,EAAK,uBAAuB;YAChD,eAAe,EAAE,GAAG;YACpB,YAAY,EAAE,GAAG;YACjB,YAAY,EAAE,GAAG;YACjB,UAAU,EAAE,GAAG;YACf,WAAW,EAAE,GAAG;YAChB,aAAa,EAAE,GAAG;SACnB;QACD,YAAY,EAAE;YACZ,iBAAiB,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAChE,aAAa,EAAE,SAAS,EAAE,mBAAmB,EAAE,GAAG;YAClD,eAAe,EAAE,GAAG,EAAK,oCAAoC;YAC7D,cAAc,EAAE,GAAG,EAAM,iCAAiC;SAC3D;KACF;IAED,YAAY,EAAE;QACZ,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE;YACd,uEAAuE;YACvE,cAAc,EAAE,GAAG;YACnB,eAAe,EAAE,GAAG;YACpB,MAAM,EAAE,GAAG;YACX,eAAe,EAAE,GAAG;YACpB,YAAY,EAAE,GAAG;YACjB,YAAY,EAAE,GAAG;YACjB,UAAU,EAAE,GAAG;YACf,WAAW,EAAE,GAAG;YAChB,aAAa,EAAE,GAAG;SACnB;QACD,YAAY,EAAE;YACZ,iBAAiB,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAChE,aAAa,EAAE,SAAS,EAAE,mBAAmB,EAAE,GAAG;YAClD,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG;SAC1C;KACF;IAED,cAAc,EAAE;QACd,OAAO,EAAE,cAAc;QACvB,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE;YACd,uFAAuF;YACvF,4EAA4E;YAC5E,MAAM,EAAE,GAAG;YACX,eAAe,EAAE,GAAG;YACpB,cAAc,EAAE,GAAG;YACnB,aAAa,EAAE,GAAG;YAClB,YAAY,EAAE,GAAG,EAAQ,oCAAoC;YAC7D,YAAY,EAAE,GAAG,EAAQ,wCAAwC;YACjE,eAAe,EAAE,GAAG;YACpB,UAAU,EAAE,GAAG;YACf,WAAW,EAAE,GAAG;SACjB;QACD,YAAY,EAAE;YACZ,iBAAiB,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC;YAC5E,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,GAAG;YACzD,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG;SAC1C;KACF;IAED,yBAAyB,EAAE;QACzB,OAAO,EAAE,yBAAyB;QAClC,QAAQ,EAAE,OAAO;QACjB,cAAc,EAAE;YACd,YAAY,EAAE,GAAG,EAAO,iDAAiD;YACzE,eAAe,EAAE,GAAG,EAAK,wBAAwB;YACjD,MAAM,EAAE,GAAG,EAAc,2CAA2C;YACpE,eAAe,EAAE,GAAG,EAAK,kCAAkC;YAC3D,cAAc,EAAE,GAAG,EAAM,6BAA6B;YACtD,YAAY,EAAE,GAAG,EAAQ,iBAAiB;YAC1C,UAAU,EAAE,GAAG,EAAU,sBAAsB;YAC/C,WAAW,EAAE,GAAG,EAAS,eAAe;YACxC,aAAa,EAAE,GAAG,EAAO,qCAAqC;SAC/D;QACD,YAAY,EAAE;YACZ,iBAAiB,EAAE,CAAC,EAAK,iBAAiB;YAC1C,UAAU,EAAE,CAAC;YACb,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3B,aAAa,EAAE,cAAc,EAAG,+CAA+C;YAC/E,mBAAmB,EAAE,GAAG,EAAQ,mCAAmC;YACnE,eAAe,EAAE,GAAG;YACpB,cAAc,EAAE,GAAG;SACpB;KACF;IAED,sBAAsB,EAAE;QACtB,OAAO,EAAE,sBAAsB;QAC/B,QAAQ,EAAE,QAAQ;QAClB,cAAc,EAAE;YACd,YAAY,EAAE,GAAG,EAAQ,2CAA2C;YACpE,YAAY,EAAE,GAAG,EAAQ,yDAAyD;YAClF,UAAU,EAAE,GAAG,EAAU,+CAA+C;YACxE,WAAW,EAAE,GAAG,EAAS,6BAA6B;YACtD,aAAa,EAAE,GAAG,EAAO,mBAAmB;YAC5C,iBAAiB,EAAE,GAAG,EAAG,kDAAkD;YAC3E,cAAc,EAAE,GAAG;YACnB,MAAM,EAAE,GAAG,EAAc,yCAAyC;YAClE,eAAe,EAAE,GAAG;YACpB,eAAe,EAAE,GAAG;SACrB;QACD,YAAY,EAAE;YACZ,iBAAiB,EAAE,GAAG,EAAI,2BAA2B;YACrD,UAAU,EAAE,GAAG,EAAW,iBAAiB;YAC3C,gBAAgB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAG,2BAA2B;YAC/D,aAAa,EAAE,gBAAgB,EAAM,yBAAyB;YAC9D,mBAAmB,EAAE,GAAG;YACxB,eAAe,EAAE,GAAG,EAAM,yBAAyB;YACnD,cAAc,EAAE,GAAG,EAAO,qBAAqB;SAChD;KACF;IAED,gBAAgB,EAAE;QAChB,OAAO,EAAE,gBAAgB;QACzB,QAAQ,EAAE,WAAW;QACrB,cAAc,EAAE;YACd,cAAc,EAAE,GAAG,EAAM,uCAAuC;YAChE,MAAM,EAAE,GAAG,EAAc,6BAA6B;YACtD,eAAe,EAAE,GAAG,EAAK,2BAA2B;YACpD,YAAY,EAAE,GAAG,EAAQ,gBAAgB;YACzC,YAAY,EAAE,GAAG,EAAQ,iBAAiB;YAC1C,UAAU,EAAE,GAAG;YACf,WAAW,EAAE,GAAG;YAChB,eAAe,EAAE,GAAG;YACpB,aAAa,EAAE,GAAG,EAAO,qCAAqC;SAC/D;QACD,YAAY,EAAE;YACZ,iBAAiB,EAAE,CAAC;YACpB,UAAU,EAAE,CAAC;YACb,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3B,aAAa,EAAE,kBAAkB,EAAG,iCAAiC;YACrE,mBAAmB,EAAE,GAAG;YACxB,eAAe,EAAE,GAAG,EAAK,2BAA2B;YACpD,cAAc,EAAE,GAAG,EAAM,0BAA0B;SACpD;KACF;IAED,eAAe,EAAE;QACf,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,WAAW;QACrB,cAAc,EAAE;YACd,cAAc,EAAE,GAAG,EAAM,kCAAkC;YAC3D,eAAe,EAAE,GAAG,EAAK,yBAAyB;YAClD,YAAY,EAAE,GAAG,EAAQ,iCAAiC;YAC1D,MAAM,EAAE,GAAG,EAAc,yBAAyB;YAClD,aAAa,EAAE,GAAG,EAAO,yBAAyB;YAClD,YAAY,EAAE,GAAG;YACjB,UAAU,EAAE,GAAG;YACf,WAAW,EAAE,GAAG;YAChB,eAAe,EAAE,GAAG;SACrB;QACD,YAAY,EAAE;YACZ,iBAAiB,EAAE,CAAC;YACpB,UAAU,EAAE,CAAC;YACb,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3B,aAAa,EAAE,cAAc,EAAG,uCAAuC;YACvE,mBAAmB,EAAE,GAAG;YACxB,eAAe,EAAE,GAAG,EAAK,4BAA4B;YACrD,cAAc,EAAE,GAAG;SACpB;KACF;IAED,0BAA0B,EAAE;QAC1B,OAAO,EAAE,0BAA0B;QACnC,QAAQ,EAAE,QAAQ;QAClB,cAAc,EAAE;YACd,UAAU,EAAE,GAAG,EAAU,yCAAyC;YAClE,YAAY,EAAE,GAAG,EAAQ,2BAA2B;YACpD,WAAW,EAAE,GAAG;YAChB,aAAa,EAAE,GAAG;YAClB,cAAc,EAAE,GAAG;YACnB,YAAY,EAAE,GAAG;YACjB,MAAM,EAAE,GAAG;YACX,eAAe,EAAE,GAAG;YACpB,eAAe,EAAE,GAAG;SACrB;QACD,YAAY,EAAE;YACZ,iBAAiB,EAAE,CAAC;YACpB,UAAU,EAAE,CAAC;YACb,gBAAgB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAG,kCAAkC;YACtE,aAAa,EAAE,SAAS;YACxB,mBAAmB,EAAE,GAAG;YACxB,eAAe,EAAE,GAAG;YACpB,cAAc,EAAE,GAAG;SACpB;KACF;IAED;;;;;;;;;;;;;OAaG;IACH,oBAAoB,EAAE;QACpB,OAAO,EAAE,oBAAoB;QAC7B,QAAQ,EAAE,QAAQ;QAClB,cAAc,EAAE;YACd,WAAW,EAAE,GAAG,EAAS,yDAAyD;YAClF,aAAa,EAAE,GAAG,EAAO,sDAAsD;YAC/E,iBAAiB,EAAE,GAAG,EAAG,6CAA6C;YACtE,wEAAwE;YACxE,uEAAuE;YACvE,wDAAwD;YACxD,QAAQ,EAAE,GAAG;YACb,eAAe,EAAE,GAAG,EAAK,yCAAyC;YAClE,MAAM,EAAE,GAAG,EAAc,+CAA+C;YACxE,eAAe,EAAE,GAAG;YACpB,cAAc,EAAE,GAAG,EAAM,kDAAkD;YAC3E,YAAY,EAAE,GAAG,EAAQ,gBAAgB;YACzC,UAAU,EAAE,GAAG,EAAU,gBAAgB;YACzC,YAAY,EAAE,GAAG,EAAQ,iBAAiB;SAC3C;QACD,YAAY,EAAE;YACZ,iBAAiB,EAAE,CAAC;YACpB,UAAU,EAAE,CAAC;YACb,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3B,cAAc,EAAE,GAAG;YACnB,mBAAmB,EAAE,GAAG;YACxB,oEAAoE;YACpE,0EAA0E;YAC1E,wEAAwE;YACxE,8DAA8D;YAC9D,aAAa,EAAE,cAAc;YAC7B,eAAe,EAAE,GAAG;SACrB;KACF;IAED,WAAW,EAAE;QACX,OAAO,EAAE,WAAW;QACpB,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE;YACd,yCAAyC;YACzC,YAAY,EAAE,GAAG;YACjB,YAAY,EAAE,GAAG;YACjB,UAAU,EAAE,GAAG;YACf,cAAc,EAAE,GAAG;YACnB,MAAM,EAAE,GAAG,EAAa,wCAAwC;YAChE,mEAAmE;YACnE,kEAAkE;YAClE,6DAA6D;YAC7D,QAAQ,EAAE,GAAG;YACb,iBAAiB,EAAE,GAAG,EAAG,uCAAuC;YAChE,WAAW,EAAE,GAAG;YAChB,aAAa,EAAE,GAAG;YAClB,eAAe,EAAE,GAAG;YACpB,eAAe,EAAE,GAAG;SACrB;QACD,YAAY,EAAE;YACZ,iBAAiB,EAAE,CAAC;YACpB,UAAU,EAAE,CAAC;YACb,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3B,aAAa,EAAE,SAAS;YACxB,mBAAmB,EAAE,GAAG;YACxB,eAAe,EAAE,GAAG;YACpB,cAAc,EAAE,GAAG;SACpB;KACF;IAED,oBAAoB,EAAE;QACpB,OAAO,EAAE,oBAAoB;QAC7B,QAAQ,EAAE,QAAQ;QAClB,cAAc,EAAE;YACd,YAAY,EAAE,GAAG,EAAO,oBAAoB;YAC5C,YAAY,EAAE,GAAG,EAAO,gCAAgC;YACxD,MAAM,EAAE,GAAG,EAAa,oBAAoB;YAC5C,eAAe,EAAE,GAAG,EAAI,oBAAoB;YAC5C,cAAc,EAAE,GAAG,EAAK,kBAAkB;YAC1C,UAAU,EAAE,GAAG;YACf,WAAW,EAAE,GAAG;YAChB,aAAa,EAAE,GAAG;YAClB,iBAAiB,EAAE,GAAG;YACtB,eAAe,EAAE,GAAG;SACrB;QACD,YAAY,EAAE;YACZ,iBAAiB,EAAE,GAAG;YACtB,UAAU,EAAE,GAAG;YACf,gBAAgB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAG,iBAAiB;YACrD,aAAa,EAAE,cAAc;YAC7B,mBAAmB,EAAE,GAAG;YACxB,eAAe,EAAE,GAAG;YACpB,cAAc,EAAE,GAAG;SACpB;KACF;CACF,CAAC;AAEF,uCAAuC;AACvC,MAAM,eAAe,GAAsB;IACzC,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,SAAS;IACnB,cAAc,EAAE;QACd,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG;QACzD,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG;QAC9C,aAAa,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG;KAC/D;IACD,YAAY,EAAE;QACZ,iBAAiB,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAChE,aAAa,EAAE,SAAS,EAAE,mBAAmB,EAAE,GAAG;QAClD,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG;KAC1C;CACF,CAAC;AAEF,mBAAmB;AAEnB;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,WAAmB,EACnB,mBAQC;IAED,kCAAkC;IAClC,IAAI,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,OAAO,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED,mDAAmD;IACnD,IAAI,mBAAmB,EAAE,CAAC;QACxB,OAAO,2BAA2B,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;IACvE,CAAC;IAED,sCAAsC;IACtC,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7G,sFAAsF;QACtF,OAAO,EAAE,GAAG,mBAAmB,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAChF,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACpF,OAAO,EAAE,GAAG,mBAAmB,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IACrF,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACrF,OAAO,EAAE,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAC5E,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;WAC5D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACpF,OAAO,EAAE,GAAG,mBAAmB,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAChF,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACtD,OAAO,EAAE,GAAG,mBAAmB,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IACvE,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACpF,OAAO,EAAE,GAAG,mBAAmB,CAAC,0BAA0B,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IACtF,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,SAAS,2BAA2B,CAClC,WAAmB,EACnB,MAA+B;IAE/B,MAAM,YAAY,GAAI,MAAM,CAAC,YAAuB,IAAI,GAAG,CAAC;IAC5D,MAAM,WAAW,GAAI,MAAM,CAAC,WAAsB,IAAI,GAAG,CAAC;IAC1D,MAAM,mBAAmB,GAAI,MAAM,CAAC,mBAA8B,IAAI,GAAG,CAAC;IAC1E,MAAM,eAAe,GAAI,MAAM,CAAC,eAA0B,IAAI,GAAG,CAAC;IAClE,MAAM,aAAa,GAAI,MAAM,CAAC,aAAwB,IAAI,GAAG,CAAC;IAC9D,MAAM,OAAO,GAAI,MAAM,CAAC,qBAAgC,IAAI,GAAG,CAAC;IAChE,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAElC,wCAAwC;IACxC,MAAM,QAAQ,GAAG,WAAW,GAAG,GAAG,IAAI,mBAAmB,GAAG,GAAG,CAAC;IAChE,MAAM,OAAO,GAAG,YAAY,GAAG,GAAG,IAAI,SAAS,CAAC;IAChD,MAAM,WAAW,GAAG,eAAe,GAAG,GAAG,IAAI,aAAa,GAAG,GAAG,CAAC;IACjE,MAAM,QAAQ,GACZ,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IAElF,gDAAgD;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB;IAC9E,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,sBAAsB;IAC7F,MAAM,QAAQ,GAAG,GAAG,GAAG,WAAW,GAAG,GAAG,CAAC,CAAC,yBAAyB;IACnE,MAAM,gBAAgB,GAA6B,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,mBAAmB;IAE5G,kCAAkC;IAClC,MAAM,mBAAmB,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,yBAAyB;IAEnG,6BAA6B;IAC7B,MAAM,aAAa,GACjB,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAC7B,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;YAClC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;gBAC1B,SAAS,CAAC;IAEZ,6CAA6C;IAC7C,MAAM,cAAc,GAA2B;QAC7C,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QAClD,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QAClC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QACxD,MAAM,EAAE,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QAC3D,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QAChC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QACjC,aAAa,EAAE,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QAC9C,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QACpC,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;KACzD,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,WAAW;QACpB,QAAQ;QACR,cAAc;QACd,YAAY,EAAE;YACZ,iBAAiB;YACjB,UAAU;YACV,gBAAgB;YAChB,aAAa;YACb,mBAAmB;YACnB,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC;YAC/C,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;SAC7D;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAA8F,EAC9F,cAAyC,EACzC,YAAqB,EACrB,WAAmB,EACnB,mBAA6C;IAiB7C,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,EAAE,mBAA0B,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IACpC,IAAI,KAAK,GAAG,GAAG,CAAC;IAChB,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,gFAAgF;IAChF,MAAM,cAAc,GAA2B,EAAE,CAAC;IAElD,6EAA6E;IAC7E,cAAc;IACd,EAAE;IACF,wEAAwE;IACxE,uEAAuE;IACvE,6EAA6E;IAC7E,uEAAuE;IACvE,yEAAyE;IACzE,6EAA6E;IAC7E,yEAAyE;IACzE,gDAAgD;IAChD,EAAE;IACF,0EAA0E;IAC1E,oEAAoE;IACpE,sEAAsE;IACtE,eAAe;IACf,MAAM,KAAK,GAAG,IAAI,GAAG,EAAuC,CAAC;IAC7D,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QAC3D,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACtC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAED,oCAAoC;IACpC,KAAK,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,KAAK,EAAE,CAAC;QAC9C,gEAAgE;QAChE,oEAAoE;QACpE,yEAAyE;QACzE,mCAAmC;QACnC,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC;QAExD,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;QAC5E,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;QACtE,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;QAEtE,2CAA2C;QAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhF,wDAAwD;QACxD,MAAM,QAAQ,GAAG,CAAC,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC;QACjE,8CAA8C;QAC9C,EAAE;QACF,0EAA0E;QAC1E,2EAA2E;QAC3E,2EAA2E;QAC3E,2EAA2E;QAC3E,0EAA0E;QAC1E,wCAAwC;QACxC,EAAE;QACF,0EAA0E;QAC1E,qEAAqE;QACrE,uEAAuE;QACvE,uEAAuE;QACvE,wEAAwE;QACxE,eAAe;QACf,MAAM,MAAM,GAAG,yBAAyB;YACtC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,yBAAyB,CAAC,CAAC,CAAC;QAExD,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;YACtD,wEAAwE;YACxE,qEAAqE;YACrE,2EAA2E;YAC3E,wEAAwE;YACxE,yEAAyE;YACzE,oEAAoE;YACpE,eAAe;YACf,cAAc,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;YACnC,KAAK,IAAI,MAAM,CAAC;QAClB,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,kDAAkD;IAClD,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;QAChC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC;YAClB,KAAK,MAAM;gBAAE,WAAW,IAAI,CAAC,CAAC;gBAAC,MAAM;YACrC,KAAK,QAAQ;gBAAE,WAAW,IAAI,CAAC,CAAC;gBAAC,MAAM;YACvC,KAAK,KAAK;gBAAE,WAAW,IAAI,CAAC,CAAC;gBAAC,MAAM;QACtC,CAAC;IACH,CAAC;IACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IAC7E,KAAK,IAAI,iBAAiB,CAAC;IAE3B,0EAA0E;IAC1E,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,mBAAmB,CAAC;IACzE,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;IAErC,sEAAsE;IACtE,qBAAqB;IACrB,EAAE;IACF,2EAA2E;IAC3E,6EAA6E;IAC7E,uEAAuE;IACvE,0EAA0E;IAC1E,qEAAqE;IACrE,4DAA4D;IAC5D,MAAM,aAAa,GAAG,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC;IAChD,kEAAkE;IAClE,mEAAmE;IACnE,MAAM,wBAAwB,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9E,KAAK,IAAI,wBAAwB,CAAC;IAElC,mDAAmD;IACnD,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACnH,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAEvD,yBAAyB;IACzB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,mBAAmB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAEpE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEtD,oBAAoB;IACpB,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;SAC7C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;SAC7B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;SACvD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,WAAW,GAAG;QAClB,aAAa,CAAC,CAAC,CAAC,gCAAgC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE;QACpE,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,MAAM,CAAC,eAAe,cAAc,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QAC5G,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,MAAM,CAAC,mBAAmB,cAAc,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QAC5G,wBAAwB,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB,MAAM,CAAC,cAAc,iBAAiB,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACtI,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;KACzF,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE7B,OAAO;QACL,KAAK;QACL,UAAU;QACV,eAAe;QACf,aAAa;QACb,SAAS;QACT,WAAW;QACX,cAAc;QACd,yEAAyE;QACzE,2EAA2E;QAC3E,oEAAoE;QACpE,4EAA4E;QAC5E,eAAe;QACf,iBAAiB;QACjB,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC;QAC1C,wBAAwB;KACzB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,cAAsB,EACtB,WAAmB,EACnB,aAAiF,EACjF,mBAA6C;IAE7C,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,EAAE,mBAA0B,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAEpC,sEAAsE;IACtE,MAAM,WAAW,GAAQ,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC;IAEjD,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IAE1D,6BAA6B;IAC7B,IAAI,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAE3D,gCAAgC;IAChC,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;QAC1B,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,gFAAgF;IAChF,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC;IACnD,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACrC,0CAA0C;QAC1C,8CAA8C;QAC9C,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;YACzB,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;YAC1C,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;YAC1C,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;IAED,0CAA0C;IAC1C,IAAI,MAAM,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACtE,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,qCAAqC;IACrC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,cAAc,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACnF,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAE1C,+CAA+C;IAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,uBAAuB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7E,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAE7E,6DAA6D;IAC7D,MAAM,eAAe,GAAG,MAAM,0BAA0B,CAAC,YAAY,EAAE,YAAY,EAAE;QACnF,WAAW,EAAE,UAAU;QACvB,cAAc,EAAE,EAAE;QAClB,SAAS,EAAE,GAAG,EAAE,qBAAqB;KACtC,CAAC,CAAC;IAEH,sBAAsB;IACtB,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC;QAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAC1C,IAAI,CAAC;QAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAE1C,yEAAyE;IACzE,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;IAC1C,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;IAClD,MAAM,gBAAgB,GAAG,eAAe,CAAC,OAAO,CAAC,gBAAgB,CAAC;IAElE,8DAA8D;IAC9D,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,gBAAgB,EAAE,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACnF,qEAAqE;IACrE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAChC,CAAC,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAC3F,CAAC;IAEF,wFAAwF;IACxF,MAAM,gBAAgB,GAAG,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC;IACpD,MAAM,cAAc,GAAG,CAAC,iBAAiB,GAAG,GAAG,GAAG,eAAe,GAAG,GAAG,CAAC,CAAC;IAEzE,mFAAmF;IACnF,4EAA4E;IAC5E,gFAAgF;IAChF,MAAM,WAAW,GAAG,aAAa,EAAE,OAAO,IAAI,GAAG,CAAC;IAClD,MAAM,iBAAiB,GAAG,aAAa,EAAE,aAAa,IAAI,GAAG,CAAC;IAC9D,MAAM,iBAAiB,GAAG,aAAa,EAAE,aAAa,IAAI,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,8BAA8B,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,YAAY,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAExM,oFAAoF;IACpF,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,uCAAuC;IAEpF,wEAAwE;IACxE,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAC7B,QAAQ,MAAM,CAAC,aAAa,EAAE,CAAC;QAC7B,KAAK,kBAAkB;YAAE,oBAAoB,GAAG,GAAG,CAAC;YAAC,MAAM;QAC3D,KAAK,cAAc;YAAE,oBAAoB,GAAG,GAAG,CAAC;YAAC,MAAM;QACvD,KAAK,gBAAgB;YAAE,oBAAoB,GAAG,GAAG,CAAC;YAAC,MAAM;QACzD,KAAK,cAAc;YAAE,oBAAoB,GAAG,GAAG,CAAC;YAAC,MAAM;QACvD,KAAK,SAAS;YAAE,oBAAoB,GAAG,IAAI,CAAC;YAAC,MAAM;IACrD,CAAC;IACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAClC,oBAAoB,GAAG,GAAG,GAAG,gBAAgB,GAAG,GAAG,GAAI,cAAc;QACrE,WAAW,GAAG,IAAI,GAAG,iBAAiB,GAAG,IAAI,CAAU,WAAW;KACnE,CAAC;IAEF,iEAAiE;IACjE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,mBAAmB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,iBAAiB,GAAG,GAAG,CAAC,CAAC,CAAC;IAExG,gFAAgF;IAChF,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAC9B,CAAC,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,IAAI,GAAG,gBAAgB,GAAG,IAAI,GAAI,cAAc;QAC9E,WAAW,GAAG,GAAG,GAAG,eAAe,GAAG,GAAG,GAAG,WAAW,GAAG,GAAG,CAAE,WAAW;KAC3E,CAAC;IAEF,6BAA6B;IAC7B,oFAAoF;IACpF,MAAM,kBAAkB,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,aAAa;IACzE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAC1D,GAAG;UACD,eAAe,GAAG,EAAE;UACpB,iBAAiB,GAAG,EAAE;UACtB,aAAa,GAAG,EAAE;UAClB,SAAS,GAAG,EAAE;UACd,kBAAkB,CACrB,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,OAAO,EAAE,WAAW;QACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,eAAe;QACf,iBAAiB;QACjB,SAAS;QACT,aAAa;QACb,eAAe;QACf,kBAAkB,EAAE,EAAE;QACtB,iBAAiB,EAAE,eAAe,CAAC,QAAQ;QAC3C,aAAa,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;KAC7C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC1C,CAAC;AAiBD,MAAM,eAAe,GAA2B,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AAE/E,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,MAAc;IAEd,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,IAA4B,CAAC,CAAC;IACjE,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACrD,6EAA6E;IAC7E,4EAA4E;IAC5E,yEAAyE;IACzE,uCAAuC;IACvC,MAAM,KAAK,GAAG,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;IAC1E,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAyB,EAAE,OAAO,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC;AACvF,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAA2B;IAChE,QAAQ,EAAE,cAAc;IACxB,cAAc,EAAE,cAAc;IAC9B,MAAM,EAAE,cAAc;IACtB,OAAO,EAAE,YAAY;IACrB,eAAe,EAAE,iBAAiB;IAClC,KAAK,EAAE,cAAc;IACrB,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,gBAAgB;IAChC,MAAM,EAAE,QAAQ;IAChB,eAAe,EAAE,iBAAiB;CACnC,CAAC;AAEF,MAAM,kBAAkB,GAA2B;IACjD,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,aAAa;IACtB,OAAO,EAAE,cAAc;IACvB,QAAQ,EAAE,cAAc;IACxB,OAAO,EAAE,cAAc;IACvB,OAAO,EAAE,cAAc;IACvB,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,UAAU;IACnB,wEAAwE;IACxE,2EAA2E;IAC3E,6EAA6E;IAC7E,6EAA6E;IAC7E,0EAA0E;IAC1E,8DAA8D;IAC9D,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,eAAe;IACxB,OAAO,EAAE,eAAe;CACzB,CAAC;AAEF,MAAM,kBAAkB,GAA2B,0BAA0B,CAAC;AAE9E,MAAM,UAAU,YAAY,CAAC,WAAmB,EAAE,YAAuB;IACvE,KAAK,MAAM,CAAC,IAAI,YAAY,IAAI,EAAE,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,kBAAkB,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;AACjD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,WAAmB,EACnB,WAAmB,EACnB,YAAuB;IAEvB,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IACpD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAClD,qEAAqE;QACrE,yEAAyE;QACzE,yEAAyE;QACzE,0EAA0E;QAC1E,8CAA8C;QAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC;QAChD,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACrF,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC/C,CAAC;AACH,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Resolve a persona name into the context the relevance judge reasons from.
3
+ *
4
+ * Shared because both call sites had the same bug independently: each passed
5
+ * only personaName, so the model received a bare string like "anxious-user"
6
+ * and inferred what that implied. The trait numbers are the entire reason this
7
+ * layer beats keyword matching -- without them it is an LLM guessing at a
8
+ * persona it was never shown.
9
+ *
10
+ * One function rather than two copies, so a fix to one cannot leave the other
11
+ * behind, which is exactly how they diverged in the first place.
12
+ */
13
+ export interface ResolvedPersonaContext {
14
+ personaDescription?: string;
15
+ traits?: Record<string, number>;
16
+ values?: Record<string, number>;
17
+ }
18
+ /**
19
+ * Never throws. An unresolvable persona yields an empty context and the judge
20
+ * falls back to reasoning from name and goal, which is what it did before.
21
+ */
22
+ export declare function resolvePersonaContext(name: string): Promise<ResolvedPersonaContext>;
23
+ //# sourceMappingURL=persona-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persona-context.d.ts","sourceRoot":"","sources":["../../src/visual/persona-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,sBAAsB;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAwBzF"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Resolve a persona name into the context the relevance judge reasons from.
3
+ *
4
+ * Shared because both call sites had the same bug independently: each passed
5
+ * only personaName, so the model received a bare string like "anxious-user"
6
+ * and inferred what that implied. The trait numbers are the entire reason this
7
+ * layer beats keyword matching -- without them it is an LLM guessing at a
8
+ * persona it was never shown.
9
+ *
10
+ * One function rather than two copies, so a fix to one cannot leave the other
11
+ * behind, which is exactly how they diverged in the first place.
12
+ */
13
+ /**
14
+ * Never throws. An unresolvable persona yields an empty context and the judge
15
+ * falls back to reasoning from name and goal, which is what it did before.
16
+ */
17
+ export async function resolvePersonaContext(name) {
18
+ try {
19
+ const { getAnyPersona, getCognitiveProfile } = await import("../personas.js");
20
+ const { resolveValuesForPersona } = await import("../values/index.js");
21
+ const resolved = getAnyPersona(name);
22
+ if (!resolved)
23
+ return {};
24
+ const profile = getCognitiveProfile(resolved);
25
+ const v = resolveValuesForPersona(resolved.name);
26
+ const description = resolved.description;
27
+ return {
28
+ ...(description ? { personaDescription: description } : {}),
29
+ ...(profile?.traits
30
+ ? { traits: profile.traits }
31
+ : {}),
32
+ ...(v ? { values: {
33
+ selfDirection: v.selfDirection, stimulation: v.stimulation,
34
+ hedonism: v.hedonism, achievement: v.achievement, power: v.power,
35
+ security: v.security, conformity: v.conformity, tradition: v.tradition,
36
+ benevolence: v.benevolence, universalism: v.universalism,
37
+ } } : {}),
38
+ };
39
+ }
40
+ catch {
41
+ return {};
42
+ }
43
+ }
44
+ //# sourceMappingURL=persona-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persona-context.js","sourceRoot":"","sources":["../../src/visual/persona-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAAY;IACtD,IAAI,CAAC;QACH,MAAM,EAAE,aAAa,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC9E,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAiB,CAAC,CAAC;QACvD,MAAM,CAAC,GAAG,uBAAuB,CAAE,QAA6B,CAAC,IAAI,CAAC,CAAC;QACvE,MAAM,WAAW,GAAI,QAAqC,CAAC,WAAW,CAAC;QACvE,OAAO;YACL,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,OAAO,EAAE,MAAM;gBACjB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAA2C,EAAE;gBACjE,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE;oBAChB,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1D,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK;oBAChE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY;iBACzD,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACV,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cbrowser",
3
- "version": "18.78.0",
3
+ "version": "18.80.0",
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",
@@ -131,6 +131,7 @@
131
131
  "dependencies": {
132
132
  "@anthropic-ai/sdk": "^0.32.1",
133
133
  "@mcp-ui/server": "^6.1.0",
134
+ "@modelcontextprotocol/ext-apps": "^1.7.5",
134
135
  "@modelcontextprotocol/sdk": "^1.25.3",
135
136
  "@types/express": "^5.0.6",
136
137
  "express": "^5.2.1",